aboutsummaryrefslogtreecommitdiffstats
path: root/system
AgeCommit message (Collapse)Author
2016-05-11Merge branch 'raimo/polish-gen_statem/OTP-13065'Raimo Niskanen
* raimo/polish-gen_statem/OTP-13065: Reword 'dispatch' into 'branch depending'
2016-05-11Reword 'dispatch' into 'branch depending'Raimo Niskanen
2016-05-09Merge branch 'raimo/polish-gen_statem/OTP-13065'Raimo Niskanen
* raimo/polish-gen_statem/OTP-13065: Fix all seealso and other minor changes Editorial update
2016-05-09Fix all seealso and other minor changesRaimo Niskanen
2016-05-09Merge branch 'xsipewe_gen_statem1' of https://github.com/xsipewe/otp into ↵Raimo Niskanen
raimo/polish-gen_statem/OTP-13065 Conflicts: lib/stdlib/doc/src/gen_statem.xml
2016-05-09Merge branch 'bjorn/stdlib/warning-and-error/OTP-13476'Björn Gustavsson
* bjorn/stdlib/warning-and-error/OTP-13476: Add documentation epp: Add the -error and -warning directives epp: Refactor expansion of header path
2016-05-06Editorial updatexsipewe
2016-05-04Merge branch 'bjorn/fix-on_load/OTP-12593'Björn Gustavsson
* bjorn/fix-on_load/OTP-12593: Update documentation regarding improvements Correctly handle multiple load attempts when on_load is pending Avoid deadlock when an on_load function makes an external call to the module itself code_server: Eliminate unnecessary Tag in handle_call/3 Reimplement -on_load() Refactor erts_finish_loading() and insert_new_code() code_SUITE: Make on_load_binary/1 clearer by using merl
2016-05-04Update documentation regarding improvementsBjörn Gustavsson
2016-05-04Merge branch 'raimo/polish-gen_statem/OTP-13065'Raimo Niskanen
* raimo/polish-gen_statem/OTP-13065: Fix documentation Clean up terminate functions Fix callback mode after code change not used Restructure loop_* to clarify S handling
2016-05-04Fix documentationRaimo Niskanen
2016-05-04Add documentationBjörn Gustavsson
2016-04-28doc: Correct shorthand typoBjörn-Egil Dahlberg
2016-04-28erl_parse: Add parsing for new map type syntaxMagnus Lång
erl_types typesets mandatory keys with :=, and uses "..." as a shorthand for "any() => any()". Add these to erl_parse so that all representable types can be written in type-specs.
2016-04-27Fix hibernation subtletyRaimo Niskanen
2016-04-25Merge branch 'raimo/new-gen-state-machine/OTP-13065'Raimo Niskanen
* raimo/new-gen-state-machine/OTP-13065: (52 commits) Add section on state filtering Promote gen_statem over gen_fsm Modify code_change/4 to return CallbackMode Use ?NAME macro in examples Introduce Fred Herbert suggested additions Introduce corrections from Fred Hebert and Ingela Use .png pictures instead of .gif Write Design Principles chapter Fix missing short forms for event timeout Do more intricate Fred Hebert doc changes Change Caller -> From as suggested by Fred Hebert Do documentation improvements from Fred Hebert Fix broken documenation reference Rename state_timeout -> event_timeout Fix most of the system docs and emacs mode Change code_change/4 to {ok,State,Data} Fixup sharpened test suite Sharpen test suite Remove the remove_event action and all alike Relax caller() type check and cleanup ... Conflicts: lib/stdlib/src/gen.erl lib/stdlib/src/gen_event.erl lib/stdlib/src/gen_fsm.erl lib/stdlib/src/gen_server.erl lib/stdlib/test/error_logger_forwarder.erl
2016-04-25Add section on state filteringRaimo Niskanen
Misc documentation fixes.
2016-04-22Promote gen_statem over gen_fsmRaimo Niskanen
2016-04-21Modify code_change/4 to return CallbackModeRaimo Niskanen
Also move check of non-atom states in callback mode state_functions to where the state function is called. This gives homogenous diagnostics for state functions, code_change/4 and system_replace_state StateFun. Irregularities pointed out by James Fish.
2016-04-19Use ?NAME macro in examplesRaimo Niskanen
2016-04-19Introduce Fred Herbert suggested additionsRaimo Niskanen
2016-04-18Introduce corrections from Fred Hebert and IngelaRaimo Niskanen
2016-04-18Use .png pictures instead of .gifRaimo Niskanen
2016-04-15Write Design Principles chapterRaimo Niskanen
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-07Merge branch 'derek121/mention_intellij_plugin/PR-970'Henrik Nord
* derek121/mention_intellij_plugin/PR-970: Add mention of IntelliJ plugin
2016-04-07Merge branch 'derek121/supervisor_docs/PR-974'Henrik Nord
* derek121/supervisor_docs/PR-974: Fix small supervisor docs grammar issue
2016-04-07Merge branch 'minostro/maint/PR-986'Henrik Nord
* minostro/maint/PR-986: Fix typo in funs programming examples document
2016-04-06Add mention of IntelliJ pluginDerek Brown
Eclipse plugin was mentioned, but not for IntelliJ.
2016-04-01Add documentation about -specs for callbacksStavros Aronis
2016-03-15update copyright-yearHenrik Nord
2016-03-14Fix typo in funs programming examples documentMilton Inostroza
2016-03-04erts: Use 'bit string' in The Abstract Format documentHans Bolinder
2016-03-03Fix most of the system docs and emacs modeRaimo Niskanen
2016-03-01Generalize bit string comprehensionsBjörn Gustavsson
The expression in a bit string comprehension is limited to a literal bit string expression. That is, the following code is legal: << <<X>> || X <- List >> but not this code: << foo(X) || X <- List >> The limitation is annoying. For one thing, tools that transform the abstract format must be careful not to produce code such as: << begin %% Some instrumentation code. <<X>> end || X <- List >> One reason for the limitation could be that we'll get reduce/reduce conflicts if we try to allow an arbitrary expression in a bit string comprehension: binary_comprehension -> '<<' expr '||' lc_exprs '>>' : {bc,?anno('$1'),'$2','$4'}. Unfortunately, there does not seem to be an easy way to work around that problem. The best we can do is to allow 'expr_max' expressions (as in the binary syntax): binary_comprehension -> '<<' expr_max '||' lc_exprs '>>' : {bc,?anno('$1'),'$2','$4'}. That will work, but functions calls must be enclosed in parentheses: << (foo(X)) || X <- List >>
2016-02-21Fix small supervisor docs grammar issueDerek Brown
2016-02-17Implement ?FUNCTION_NAME and ?FUNCTION_ARITY macrosBjörn Gustavsson
For a long time, users have asked for one or more macros that would return the name and arity of the current function. We could define a single ?FUNCTION macro that would return a {Name,Arity} tuple. However, to access just the name or just the arity for the function, element/2 must be used. That would limit its usefulness, because element/2 is not allowed in all contexts. Therefore, it seems that we will need two macros. ?FUNCTION_NAME that expands to the name of the current function and ?FUNCTION_ARITY that expands to arity of the current function. Converting the function name to a string can be done like this: f() -> atom_to_list(?FUNCTION_NAME) ++ "/" ++ integer_to_list(?FUNCTION_ARITY). f/0 will return "f/0". The BEAM compiler will evaluate the entire expression at compile-time, so there will not be any run-time penalty for the function calls. The implementation is non-trivial because the preprocessor is run before the parser. One way to implement the macros would be to replace them with some placeholder and then let the parser or possibly a later pass replace the placeholder with correct value. That could potentially slow down the compiler and cause incompatibilities for parse transforms. Another way is to let the preprocessor do the whole job. That means that the preprocessor will have to scan the function head to find out the name and arity. The scanning of the function head can be delayed until the first occurrence of a ?FUNCTION_NAME or ?FUNCTION_ARITY. I have chosen the second way because it seems less likely to cause weird compatibility problems.
2016-01-26Delete a couple of leftover chars in Dialyzer docLuca Favatella
2016-01-20doc: Update a refman exampleHans Bolinder
2015-12-15doc: Remove 'is_subtype' from Types and Function SpecificationsHans Bolinder
It is harder to remove is_subtype from the parser since the abstract format does not separate is_subtype from the '::' syntax.
2015-12-07doc: Fix some minor issues in Types and Function SpecificationsHans Bolinder
2015-11-11Merge branch 'legoscia/patch-2' into maintHenrik Nord
* legoscia/patch-2: Remove mention of erlang:fault
2015-11-03Merge branch 'essen/weird-strncmp-len' into maintHenrik Nord
* essen/weird-strncmp-len: Fix weird strncmp length in erl_interface example OTP-13081
2015-10-27Fix weird strncmp length in erl_interface exampleLoïc Hoguin
2015-10-27Remove mention of erlang:faultMagnus Henoch
erlang:fault no longer exists, so don't mention it in the reference manual. Also fix minor markup issue in following paragraph.
2015-10-27Merge branch 'gomoripeti/bindoc_fix' into maintHenrik Nord
* gomoripeti/bindoc_fix: Very minor fixes to binary handling documentation
2015-09-30Merge branch 'entropiae/patch-1' into maintHenrik Nord
* entropiae/patch-1: Fixed typo in otp design principles OTP-13017
2015-09-25Fixed typo in otp design principlesRiccardo
2015-09-14[typo] perspektive -> perspectiveJosh Adams
2015-09-09Very minor fixes to binary handling documentationPéter Gömöri
- at appending when allocating new binary object its size will be double (the old size + size of data to be appended) not just double the old size - correct some unused byte counts