summaryrefslogtreecommitdiff
path: root/system
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Fix release_docs for GNU make 4.3Dmitri Vereshchagin2023-02-161-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently release_man_spec for system/doc/top fails on GNU make 4.3 make[3]: Entering directory '/home/dav/.kerl/builds/26.0-rc1-master/otp_src_git/system/doc/top' make[3]: *** No rule to make target '/home/dav/erlang/26.0-rc1-master/doc/docbuild\', needed by 'release_man_spec'. Stop. Due to breaking change done in GNU make sp variable is empty in qs and sq calls (note a '\' after 'docbuild'). Previously appending using '+=' to an empty variable would result in a value starting with a space. Since 4.3 the initial space is only added if the variable already contains some value. <https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html>
* | | | | | Merge branch 'anders/make-4.3/OTP-18468'Anders Svensson2023-02-211-1/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * anders/make-4.3/OTP-18468: Revert "Fix GNU make 4.3 incompatibility"
| * | | | | | Revert "Fix GNU make 4.3 incompatibility"Anders Svensson2023-02-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix in commit 15a48d75 was plain wrong, setting sp to a string containing quote characters, causing release with a path containing a space to fail. Revert and let PR 6879 do it right instead. This reverts commit 15a48d75426fa11ada0280448d87f4cf05bae225.
* | | | | | | Merge pull request #6894 from bjorng/bjorn/doc/ref-manual-changesBjörn Gustavsson2023-02-2113-156/+181
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Reference Manual: Use the change tag for clarity
| * | | | | | | Reference Manual: Use the change tag for clarityBjörn Gustavsson2023-02-2013-156/+181
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | While at it, fix a few other minor issues.
* | | | | | | Merge branch 'anders/make-4.3/OTP-18468'Anders Svensson2023-02-201-3/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| / / / / / | |/ / / / / | | | | | | * anders/make-4.3/OTP-18468: Fix GNU make 4.3 incompatibility
| * | | | | Fix GNU make 4.3 incompatibilityAnders Svensson2023-02-161-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GNU make documents the incompatibility below in 4.3, which commmit cd645af2 stepped on when using += to set variable sp to a single space. * WARNING: Backward-incompatibility! Previously appending using '+=' to an empty variable would result in a value starting with a space. Now the initial space is only added if the variable already contains some value. Similarly, appending an empty string does not add a trailing space. https://lists.gnu.org/archive/html/info-gnu/2020-01/msg00004.html There's no need for += since the value can be set directly. The missing space caused make release_docs to fail: make[3]: *** No rule to make target '/home/anders/release/26.0-rc1/doc/temporary/index.html /home/anders/release/26.0-rc1/doc/temporary/applications.html /home/anders/release/26.0-rc1/doc/temporary/erlresolvelinks.js /home/anders/release/26.0-rc1/doc/temporary/man_index.html\', needed by 'html'. Stop.
* | | | | | Merge pull request #6860 from fhunleth/fh-remove-hipe-docBjörn Gustavsson2023-02-151-3/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Remove HiPE note about module MD5 checksum
| * | | | | Remove HiPE note about module MD5 checksumFrank Hunleth2023-02-151-3/+1
| | |_|/ / | |/| | |
* | | | | Revert "Prepare release"Henrik Nord2023-02-151-1/+1
| |/ / / |/| | | | | | | | | | | This reverts commit 587341d994f91af5b30483ee9434e932e3d7b802.
* | | | Prepare releaseErlang/OTP2023-02-141-1/+1
| | | |
* | | | Update copyright yearErlang/OTP2023-02-1419-19/+19
| | | |
* | | | Merge pull request #6853 from KennethL/KennethL-update_index_htmlKenneth Lundin2023-02-131-44/+23
|\ \ \ \ | | | | | | | | | | Update index html
| * | | | Make the text more up to date and more future proof by linking to erlang.orgKenneth Lundin2023-02-101-15/+8
| | | | |
| * | | | Update index.html.srcKenneth Lundin2023-02-101-6/+6
| | | | | | | | | | | | | | | change all http: to https:
| * | | | Update index.html.srcKenneth Lundin2023-02-071-13/+2
| | | | |
| * | | | Update index.html.srcKenneth Lundin2023-02-071-1/+1
| | | | |
| * | | | Update index.html.srcKenneth Lundin2023-01-301-10/+10
| | | | |
| * | | | Update index.html.srcKenneth Lundin2023-01-271-9/+6
| | | | |
* | | | | Add info about unique pids/ports in efficiency guideRickard Green2023-02-101-0/+20
| | | | |
* | | | | Merge branch 'maint'Rickard Green2023-02-101-1/+6
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | * maint: Add info about async_dist in reference manual
| * | | | Add info about async_dist in reference manualRickard Green2023-02-101-1/+6
| | | | |
* | | | | Revert "Merge pull request #6693 from josevalim/jv-remove-archive-overlay"John Högberg2023-02-101-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fca5947492613f576ae82ebcd8d3242fdb262854, reversing changes made to c0cc1fe4885a1b7c7d74a52e49c9a68784efbb20.
* | | | | Revert "Merge pull request #6777 from josevalim/jv-scheduled-cpc"John Högberg2023-02-091-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e5e21c3964488d6dfa6551d6673bc757781980a6, reversing changes made to 6f3e1a7d5158ea8feca430377ef5cb4061b454ab.
* | | | | Merge pull request #6693 from josevalim/jv-remove-archive-overlayFredrik Frantzen2023-02-081-0/+13
|\ \ \ \ \ | |_|_|/ / |/| | | | Remove archives fallback in code path OTP-18436
| * | | | Added a late note that this feature is scheduled for removal in OTP-26frazze-jobb2023-02-081-0/+13
| | |/ / | |/| |
* | | | Merge pull request #6727 from bjorng/bjorn/map-comprehensions/EEP-58/OTP-18413Björn Gustavsson2023-02-061-84/+135
|\ \ \ \ | | | | | | | | | | Implement map comprehensions (EEP-58)
| * | | | Update the documentation for comprehensionsBjörn Gustavsson2023-02-031-84/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sections for List Comprehensions and Bit String Comprehensions have been combined to a single Comprehensions section, which now cover all three types of comprehensions and generators.
* | | | | Document -code_path_choice is scheduled for removal in OTP 27José Valim2023-02-031-0/+12
|/ / / /
* | | | Deprecate file:pid2name/1Björn Gustavsson2023-01-271-0/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | The `file:pid2name/1` function is limited in that it does not work for files opened in `raw` mode or for files opened on a remote file server. The implementation also adds overhead for each open and close operation because an ETS table must be updated. Therefore, deprecate the `file:pid2name/1` now, and schedule it for removal in Erlang/OTP 27.
* | | system: 'maybe' doesn't need a runtime flag in OTP 26John Högberg2023-01-091-2/+1
| | |
* | | Merge branch 'maint'John Högberg2023-01-091-4/+5
|\ \ \ | |/ / | | | | | | | | | * maint: system: Clarify documentation for enabling 'maybe'
| * | system: Clarify documentation for enabling 'maybe'John Högberg2023-01-021-4/+5
| | |
* | | Merge branch 'maint'Rickard Green2023-01-021-1/+1
|\ \ \ | |/ / | | | | | | | | | * maint: fix typo
| * | fix typoAlexandre Fruchaud2023-01-011-1/+1
| | |
* | | Doc typo fix: minimized instead of mimimizedMichal Jurek2022-12-301-1/+1
| | |
* | | Merge pull request #6567 from bjorng/bjorn/min-max-bifs/GH-6544/OTP-18367Björn Gustavsson2022-12-191-0/+9
|\ \ \ | | | | | | | | Allow max/2 and min/2 to be used in guards
| * | | Allow max/2 and min/2 to be used in guardsBjörn Gustavsson2022-12-161-0/+9
| | | | | | | | | | | | | | | | Closes #6544
* | | | Correct some details in the operator tableBjörn Gustavsson2022-12-151-18/+46
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change "priority" to the standard terminology "precedence". * Document the changed precedence of the `catch` operator. * Mention the restrictions of `?=` in a note after the operand table. * Mark the non-associative binary operators as such in the operand table.
* | | Merge branch 'maint' into masterHenrik Nord2022-12-141-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | * maint: Updated OTP version Prepare release Update copyright year
| * | Update copyright yearErlang/OTP2022-12-121-1/+1
| | |
* | | Merge pull request #6415 from ↵Björn Gustavsson2022-12-131-12/+126
|\ \ \ | | | | | | | | | | | | | | | | bjorng/bjorn/compiler/parallel-match/GH-6348/OTP-18297 Lift restrictions for matching of binaries and maps
| * | | Lift restrictions for matching of binaries and mapsBjörn Gustavsson2022-12-131-12/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There has always been an implementation limitation for matching of binaries (for technical reasons). For example: foo(Bin) -> <<A:8>> = <<X:4,Y:4>> = Bin, {A,X,Y}. This would fail to compile with the following message: t.erl:5:5: binary patterns cannot be matched in parallel using '=' % 5| <<A:8>> = <<X:4,Y:4>> = Bin, % | ^ This commit lifts this restriction, making the example legal. A restriction for map matching is also lifted, but before we can describe that, we'll need a digression to talk about the `=` operator. The `=` operator can be used for two similar but slightly differently purposes. When used in a pattern in a clause, for example in a function head, both the left-hand and right-hand side operands must be patterns: Pattern1 = Pattern2 For example: bar(#{a := A} = #{b := B}) -> {A, B}. The following example will not compile because the right-hand side is not a pattern but an expression: wrong(#{a := A} = #{b => B}) -> {A, B}. t.erl:4:23: illegal pattern % 4| wrong(#{a := A} = #{b => B}) -> {A, B}. % | ^ Used in this context, the `=` operator does not imply that the two patterns are matched in any particular order. Attempting to use a variable matched out on the left-hand side on the right-hand side, or vice versa, will fail: also_wrong1(#{B := A} = #{b := B}) -> {A,B}. also_wrong2(#{a := A} = #{A := B}) -> {A,B}. t.erl:6:15: variable 'B' is unbound % 6| also_wrong1(#{B := A} = #{b := B}) -> {A,B}. % | ^ t.erl:7:27: variable 'A' is unbound % 7| also_wrong2(#{a := A} = #{A := B}) -> {A,B}. % | ^ The other way to use `=` is in a function body. Used in this way, the right-hand side must be an expression: Pattern = Expression For example: foobar(Value) -> #{a := A} = #{a => Value}, A. Used in this context, the right-hand side of `=` must **not** be a pattern: illegal_foobar(Value) -> #{a := A} = #{a := Value}, A. t.erl:18:21: only association operators '=>' are allowed in map construction % 18| #{a := A} = #{a := Value}, % | ^ When used in a body context, the value of the `=` operator is the value of its right-hand side operand. When multiple `=` operators are combined, they are evaluted from right to left. That means that any number of patterns can be matched at once: Pattern1 = Pattern2 = ... = PatternN = Expr which is equivalent to: Var = Expr PatternN = Var . . . Pattern2 = Var Pattern1 = Var Given that there is a well-defined evaluation order from right to left, one would expect that the following example would be legal: baz(M) -> #{K := V} = #{k := K} = M, V. It is not. In Erlang/OTP 25 or earlier, the compilation fails with the following message: t.erl:28:7: variable 'K' is unbound % 28| #{K := V} = #{k := K} = M, % | ^ That restriction is now lifted, making the example legal. Closes #6348 Closes #6444 Closes #6467
* | | | Merge branch 'maint'Rickard Green2022-12-091-1/+1
|\ \ \ \ | |/ / / |/| / / | |/ / | | | * maint: Typo. use "as follows" instead of "a follows"
| * | Typo. use "as follows" instead of "a follows"C Jaswanth kumar reddy2022-12-071-1/+1
| | | | | | | | | In the "List Operations" section, write "The procedure is as follows" instead of "The procedure is a follows".
| * | Fix typo in code snippet for supervisor exampleKlas Segeljakt2022-11-211-1/+1
| | | | | | | | | `cg3` should be `ch3`
* | | Reject invalid use of caret notationBjörn Gustavsson2022-11-241-26/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is documented that `$\^X` is the code point (ASCII code) for Control X, where X is an uppercase or lowercase letter. It turns out that it works for **all** characters: 1> $\^@. 0 2> $\^_. 31 3> $\^Γ. 19 4> $\*. 42 5> $\^😀. 0 6> $\^?. 31 Some of those are reasonable. `^@` and `^_` are allowed in Emacs and most other tools that support the caret notation. It is reasonable to allow `^?`, but the value of it should be 127 (Delete) as in all other tools. Allowing arbitrary letters and symbols does not make sense. Therefore, this commit modifies the rules for the caret notation to allow all characters in the range `16#40` through `16#4F` as well as lowercase `a` through `z`. That is, the following characters are allowed: `@`, `A`-`Z`, `[`, `\`, `]`, `^`, `_`, and `a`-`z`. That makes it possible to express all control codes from 0 through 31. Also allowed is `?`, but the value of it will now be 127 instead of 31. That is a potential incompatibility, but only for users who used it despite it being undocumented. Closes #6477
* | | Merge branch 'maint'Lukas Larsson2022-10-121-0/+8
|\ \ \ | |/ /
| * | documentation: fix XML linter errorKiko Fernandez-Reyes2022-10-121-3/+2
| | |
| * | docs: add note about anonymous type variablesKiko Fernandez-Reyes2022-10-111-0/+9
| | |