aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2013-04-04Merge branch 'sv/stdlib/sys-get-state/OTP-11013' into maintFredrik Gustafsson
* sv/stdlib/sys-get-state/OTP-11013: Removed ?line macro add sys:get_state/1,2 and sys:replace_state/2,3 update sys:get_status/2,3 documentation for gen_event
2013-04-04Changed handshake from to_erl to run_erl, on behalf of shell searchFredrik Gustafsson
2013-04-03Removed ?line macroFredrik Gustafsson
2013-04-02add sys:get_state/1,2 and sys:replace_state/2,3Steve Vinoski
At Erlang Factory 2013 there was discussion during one of the talks about the sys:get_status functions and how useful they were for debugging. Geoff Cant mentioned it would be very useful if the sys module also provided functions to use while debugging to get just the state of a process and also to be able to replace the state of a process, and many others in the audience appeared to agree. The sys:get_state/1,2 functions return the state of a gen_server, gen_fsm, or gen_event process. The return value varies depending on the process type: process state for a gen_server, state name and state data for a gen_fsm, and handler module, handler id, and handler state for each handler registered in a gen_event process. The sys:replace_state/2,3 functions allow the state of a gen_server, gen_fsm, or gen_event process to be replaced with a new state. These functions take a function argument that updates or replaces the process state; using a function to change the state eliminates the race condition of first reading the state via sys:get_state/1 or sys:get_state/2, using its return value to create a new state, and then replacing the old state with the new state, since during that time the process might have received other calls or messages that could have changed its state. * For a gen_server process, the state replacement function takes the process state as an argument and returns a new state. * For a gen_fsm process, the state replacement function gets a tuple of {StateName, StateData} and returns a similar tuple that specifies a new state name, new state data, or both. * For a gen_event process, the state replacement function is called for each registered event handler. It gets a tuple {Module, Id, HandlerState} and returns a similar tuple that specifies the same Module and Id values but may specify a different value for HandlerState. If the state replacement function crashes or results in an error, the original state of a gen_server or gen_fsm process is maintained; if such a crash occurs for a gen_event process, the original state of the event handler for which the state replacement function was called is maintained, but the states of other event handlers of the same gen_event process may still be updated if no errors or crashes occur while replacing their states. Add documentation for sys:get_state/1,2 and sys:replace_state/2,3. The documentation explicitly notes that the functions are intended for use during debugging. Add new tests for these functions to gen_server_SUITE, gen_fsm_SUITE, and gen_event_SUITE.
2013-03-29update sys:get_status/2,3 documentation for gen_eventSteve Vinoski
Modify the documentation for the sys:get_status/2,3 functions to reflect that they also work on gen_event processes, and add a cross reference for gen_event:format_status/2 to go along with the existing cross references for gen_server and gen_fsm.
2013-03-29Document erl_parse:abstract/2Hans Bolinder
A bug has been fixed: when given the option {encoding,utf8} a list of floating point numbers (in the correct interval) was mistakenly returned as a string.
2013-03-28Fix a bug in the Erlang scannerHans Bolinder
The scanner did not crash when a floating point number was encountered in the input string.
2013-03-26Merge branch 'dgud/testcase_fixes' into maintDan Gudmundsson
* dgud/testcase_fixes: Fix timers mnesia: Decrease test times Add debug printouts wx: Fix failing testcases stdlib: Ignore symlink tests on windows
2013-03-19Let escript recognize an encoding comment on the second lineHans Bolinder
The manual says that an Emacs directive can be placed on the second line. With this patch that directive is also recognized when selecting encoding of the script.
2013-03-18Fix a test case bugHans Bolinder
shell_SUITE: Calling i() did not work because if there are more than 100 processes c:i() will go into pager mode, asking for input.
2013-03-18Fix a test case bugHans Bolinder
io_proto_SUITE: node names containing some '-' did not work.
2013-03-18Remove ?line from dets_SUITE.erlHans Bolinder
2013-03-18Adjust dets.erl to cope with an evil test caseHans Bolinder
The test case deletes a Dets process while it is repairing a file. Another client waiting for the Dets process to reply then kicks in and repairs the file. Apparently the temporary file was still open, resulting in an eacces error on Windows.
2013-03-13Merge branch 'mh/supervisor-doc/OTP-10938' into maintFredrik Gustafsson
* mh/supervisor-doc/OTP-10938: Delete obsolete note about simple-one-for-one supervisor
2013-03-12Merge branch 'sverk/test-cuddling' into maintSverker Eriksson
* sverk/test-cuddling: stdlib: Remove race in ets_SUITE:delete_large_tab stdlib: Remove race in ets_SUITE:delete_large_named_table
2013-03-08Delete obsolete note about simple-one-for-one supervisorMagnus Henoch
Since commit 47759479146ca11ad81eca0bb3236b265e20601d, simple-one-for-one supervisors _do_ kill their children explicitly on shutdown. That commit also removed this note, but it seems like the merge commit 45b4d5309e0686cc5fa28506de76f75b598bbd95 incorrectly reinstated it.
2013-02-27Update version numbers for R16B01 developmentBjörn-Egil Dahlberg
2013-02-26stdlib: Remove race in ets_SUITE:delete_large_tabSverker Eriksson
2013-02-26stdlib: Remove race in ets_SUITE:delete_large_named_tableSverker Eriksson
2013-02-26stdlib: Ignore symlink tests on windowsDan Gudmundsson
Symlinks only partially works on windows 7, ignore those tests on windows machines for now
2013-02-25Prepare releaseOTP_R16BErlang/OTP
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22Correct text according to document reviewsPatrik Nyblom
2013-02-22Adapt the Unicode chapter of STDLIB users guide to R16Patrik Nyblom
Also extended it with more examples, summaries and other stuff.
2013-02-22[stdlib] Let the shell turn off echo while skipping lineHans Bolinder
The I/O-server group.erl echoed the skipped line.
2013-02-22Merge branch 'hb/file_name_type/OTP-10852'Patrik Nyblom
* hb/file_name_type/OTP-10852: Introduce new type file:name_all()
2013-02-22Merge branch 'pan/unicode_printable_ranges'Patrik Nyblom
* pan/unicode_printable_ranges: Adapt stdlib tests to ~tp detecting latin1 binaries Update primary bootstrap Make wx debugger use +pc flag when applicable Correct misspelled comments and space at lin ends Make ~tp output latin1 binaries as strings if possible Leave the +pc handling to io and io_lib_pretty Remove newly introduced warning in erlexec.c Make shell_SUITE:otp_10302 use +pc unicode when needed Fix io_proto_SUITE to handle the new io_lib_pretty:print Add testcase for +pc and io:printable_range/0 Make printing of UTF-8 in binaries behave like lists. Document +pc flag and io:printable_range/0 Add usage of and spec for io:printable_range/0 Add +pc {latin1|unicode} switch and io:printable_range/0 Fix some Unicode issues OTP-18084
2013-02-22Merge branch 'bjorn/unicode-doc/OTP-10852'Björn Gustavsson
* bjorn/unicode-doc/OTP-10852: file: Document list_dir_all/1 and read_link_all/1 file: Remove note about Unicode handling being experimental filelib: Update documentation
2013-02-21Merge branch 'lukas/stdlib/binary_typespec'Lukas Larsson
* lukas/stdlib/binary_typespec: bin_to_list can also take a negative len
2013-02-21bin_to_list can also take a negative lenLukas Larsson
2013-02-21Introduce new type file:name_all()Hans Bolinder
2013-02-20Merge branch 'hb/stdlib/unicode_corrections/OTP-10820'Hans Bolinder
* hb/stdlib/unicode_corrections/OTP-10820: Use ~ts for filenames
2013-02-19Merge branch 'lukas/stdlib/binary_typespec'Lukas Larsson
* lukas/stdlib/binary_typespec: Updated to fit spec of -type part()
2013-02-19Use ~ts for filenamesHans Bolinder
2013-02-19Adapt stdlib tests to ~tp detecting latin1 binariesPatrik Nyblom
2013-02-18Merge branch 'sverk/ets-test-failures'Sverker Eriksson
* sverk/ets-test-failures: stdlib: Try fix fluctuating test cases in ets_SUITE
2013-02-18Correct misspelled comments and space at lin endsPatrik Nyblom
2013-02-18Make ~tp output latin1 binaries as strings if possiblePatrik Nyblom
2013-02-18Leave the +pc handling to io and io_lib_prettyPatrik Nyblom
This makes the shell output binaries and list as intended by the +pc setting.
2013-02-18Merge branch 'hb/stdlib/unicode_corrections/OTP-10820' into ↵Patrik Nyblom
pan/unicode_printable_ranges * hb/stdlib/unicode_corrections/OTP-10820: Fix some Unicode issues Conflicts: lib/stdlib/test/shell_SUITE.erl
2013-02-18Make shell_SUITE:otp_10302 use +pc unicode when neededPatrik Nyblom
2013-02-18Fix io_proto_SUITE to handle the new io_lib_pretty:printPatrik Nyblom
2013-02-18Add testcase for +pc and io:printable_range/0Patrik Nyblom
Also fixed otp_10302 to test both on a node with +pc unicode and a node with +pc latin1.
2013-02-18Make printing of UTF-8 in binaries behave like lists.Patrik Nyblom
This means that only UTF-8 characters in binaries that conform to the printable_range are printed as <<"..."/utf8>> in io_lib_pretty.
2013-02-18Document +pc flag and io:printable_range/0Patrik Nyblom
2013-02-18Add usage of and spec for io:printable_range/0Patrik Nyblom
This makes both io:format("~tp", ...) and the shell honor the +pc setting and also reverts the shell to the old behaviour of only interpreting latin1 strings as "strings" by default. +pc unicode turns on the R16A behaviour. Doing io:format("~tp~n", [[1024,1025]]). will show you the difference when starting with +pc unicode.
2013-02-18Fix some Unicode issuesHans Bolinder
Also let the Erlang shell use the new function io:printable_range().
2013-02-18Updated to fit spec of -type part()Lukas Larsson
2013-02-15[stdlib] Add documentation of ~tpHans Bolinder
A short description of how ~tp works now.
2013-02-15[stdlib] Correct handling of Unicode filenamesHans Bolinder