Commit Graph
8293 Commits
Author SHA1 Message Date
Alexey Nikitin 6c1894de6b Adds &Kernel.identity/1 (#9182) 2019-07-12 19:11:53 +02:00
Fernando Tapia Rico 3366cebc7d Minor improvements in the documentation for <<>>/1 (#9217)
[ci skip]
2019-07-12 17:11:29 +02:00
Eksperimental f2dd45025f Add missing arity to reference to URI.encode_www_form/1 (#9213) 2019-07-11 09:47:39 +02:00
Eksperimental 9a78cbf96b Improve docs in URI (#9215) 2019-07-11 09:47:22 +02:00
Sven Gehring a6cc1cc881 Fix formatter removing nested parens in call on call (#9211) 2019-07-10 20:18:57 +02:00
José Valim 0934eb6317 Only run tests if epmd is available, closes #9167 2019-07-10 19:14:48 +02:00
Fernando Tapia Rico 83bf61401b Remove duplicated entry in Module.ParallelChecker.all_exports() (#9209)
`{{:__info__, 1}, :def}` is always stored in the ETS table.
2019-07-10 11:33:22 +02:00
Eric Meadows-Jönsson eb33048dd0 Use Code.compiler_options[:no_warn_undefined] (#9207)
Closes #9192.
2019-07-09 22:22:39 +02:00
Eric Meadows-Jönsson f418ed247c Add ExCk chunk (#9203) 2019-07-09 21:23:38 +02:00
Fernando Tapia Rico e7a6e690b7 Use :used instead of nil to express attr use (#9206) 2019-07-09 18:04:49 +02:00
Allen Madsen f2c63bf030 Add Module.has_attribute?/2 (#9200) 2019-07-09 17:21:04 +02:00
José Valim 460f3a59c5 Add since metadata to string_to_quoted options 2019-07-09 15:47:35 +02:00
Timmo Verlaan 6fb04246d7 Optimize binary pattern matching in Integer.parse (#9201)
Matching with is_binary once is a slight performance gain, only
noticeable on long numbers. It also makes the FunctionClauseError more
clear: `** (FunctionClauseError) no function clause matching in
Integer.parse/2` vs `** (FunctionClauseError) no function clause
matching in Integer.count_digits/2`
2019-07-07 14:07:30 +02:00
Andrew Summers 2e90f20723 Fix Keyword moduledoc typo (#9197) 2019-07-05 23:54:28 +02:00
Fernando Tapia Rico 38281616e4 Correct grammar in Atom docs 2019-07-05 12:28:41 +02:00
José Valim bffb79e553 Update to Unicode 12.1 2019-07-05 11:04:08 +02:00
José Valim 0e6b8732ba Improve docs for built-in data types 2019-07-05 11:04:08 +02:00
Fernando Tapia Rico d3ce882a77 Fix doctest in Code (#9194) 2019-07-05 09:34:19 +02:00
Fernando Tapia Rico b31cb34a7b Do not emit undefined warnings in old Erlang/OTP versions (#9193) 2019-07-05 09:16:52 +02:00
José Valim 7e4d381078 Improve docs for built-in data types 2019-07-05 09:07:43 +02:00
José Valim 810340e2fd Line is not always available 2019-07-04 21:15:53 +02:00
José Valim 076dece778 Avoid unicode codepoint computation for lower bytes 2019-07-04 09:38:55 +02:00
Eric Meadows-Jönsson f88676db9b Move deprecation check to group pass (#9176) 2019-07-03 09:56:35 +02:00
Javier Pollak 6dc1e136e1 Improve zombie termination script (#9178)
* Remove useless kill in zombie termination script

* Forward exit code in zombie termination script
2019-06-28 18:29:49 +02:00
André Albuquerque c1dba7abfa Fix typo in docs about registered callbacks order (#9175) 2019-06-28 16:12:31 +02:00
Fernando Tapia Rico fa7f2e218d Fix typo in Port docs (#9174) 2019-06-28 11:30:52 +02:00
Eric Meadows-Jönsson 9b6ec7bae7 Move unreachable function check from xref to group pass (#9168) 2019-06-28 10:25:49 +02:00
José Valim 47d017be67 Improve zombie termination script
The previous version would not terminate if
the program being invoked terminated. The
new version addresses this at the cost of
starting a background process for stdin
reading.

Closes #9171.
2019-06-28 09:17:33 +02:00
Hassan Shaikley 2b958c015c Example added for Agent.update/4 (#9172) 2019-06-27 23:21:22 +02:00
José Valim 82b8c81004 Make sure locals tracker can be stopped 2019-06-27 10:12:15 +02:00
José Valim 7c8f18c148 Remove trailing whitespace 2019-06-27 08:42:01 +02:00
Hassan Shaikley 4470c39ac7 Example added for Agent.cast/4 (#9169) 2019-06-27 08:33:48 +02:00
Jan Hruban e621e9744b Unify code path in String.split (#9165)
* Remove extraneous guard from String.split

This clause makes sense for `pattern` satisfying any of the types
defined in the spec, that is `binary`, `[binary]` and `:binary.cp()`.
Furthermore the guard for `pattern` is not specified in any of the other
clauses.

Additionally, the `or` in the guard seemed a bit out of place, as this
clause (and all others) needs the `string` to be binary to work.

So let's keep just the guard to check the type of the `string` and let
the `:binary.split/3' handle the types of the `pattern`.

* Unify code path in String.split

When calling `String.split` with options `parts` and/or `trim`
explicitly set to default values, different code path was taken in
comparison to when no options were given. The alternate code path has
some performance penalties as shown below, so it's better that the
"simple" case is handled always the same way.

  iex(1)> lines = for _ <- 1..1_000_000, do: "a,b"

  iex(2)> :timer.tc(fn -> Enum.each(lines, &String.split(&1, ",")) end)
  {2254104, :ok}

  iex(3)> :timer.tc(fn -> Enum.each(lines, &String.split(&1, ",", trim: false)) end)
  {61426180, :ok}
2019-06-26 07:48:48 +02:00
Nathan Long 3c9ff7b1ae More details about the :native time unit, from the Erlang docs (#9157)
[ci skip]
2019-06-24 23:13:07 +02:00
Chris Wögi f1c4436dda Fix typo in Config docs (#9156) 2019-06-24 10:50:22 +02:00
Julius Putra Tanu Setiaji 7691ae9d30 Fix typespec of Macro.Env.t (#9155) 2019-06-24 07:14:58 +02:00
José Valim 4c839cae7e Clarify the relationship with config/releases.exs, closes #9153 2019-06-21 18:59:25 +02:00
José Valim 6c30171053 Do not pass Meta to Erlang AST, closes #9152 2019-06-21 16:57:36 +02:00
José Valim f38895cebb Add literal encoder option to Code.string_to_quoted 2019-06-19 00:04:08 +02:00
Eric Meadows-Jönsson 8a743c1ea9 Move module writing from mix to compiler (#9149) 2019-06-18 16:35:58 +02:00
José Valim 776225f4e1 Add end of expression token information
This also renames pairing_metadata to token_metadata,
as it mostly contains information about related tokens
and not necessarily pairs.
2019-06-18 00:25:22 +02:00
José Valim faefb0b882 Exposing pairing metadata (#9146)
This introduces five new metadata nodes:

  * `do` - contains metadata about do location in a function call with
    `do/end` blocks
  * `end` - contains metadata about end location in a function call with
    `do/end` blocks
  * `closing` - contains metadata about the closing pair, such as a `}`
    in a tuple or in a map, or such as the closing `)` in a function call
    with parens
  * `eol` - is set to true when the opening pair, such as `{` or `(`, are
    followed by the end of the line
  * `delimiter` - contains the opening for sigils (such as `"{"`, `"/"`,
    etc)
2019-06-17 16:38:52 +02:00
José Valim e2c78e8ba9 Rename :end metadata to less ambiguous :closing 2019-06-16 00:01:48 +02:00
Xavier Noria 21bca0ac24 Tweaks to the docs of protocols (#9145) 2019-06-15 19:44:16 +02:00
Hassan Shaikley c88bb83e42 Add example for Agent.cast/2 (#9142) 2019-06-15 12:03:51 +02:00
Tobiasz Małecki 4b75891326 Fix typos in Macro docs (#9141) 2019-06-14 21:53:38 +02:00
Jonatan Männchen 13b5e53efa Document AST metadata (#9140) 2019-06-14 19:49:16 +02:00
José Valim 19ba37364a Postpone deprecation start_child/terminate_child for simple_one_for_one
Otherwise there are just too many warnings. However,
since we still emit a warning for :simple_one_for_one,
we give users enough feedback for them to migrate.
2019-06-14 07:57:32 +02:00
José Valim 171d78e27d Add missing @doc since annotation 2019-06-14 07:57:32 +02:00
Eksperimental abf0793fb3 Place Version.Requirement module under Basic Types in docs.exs (#9139) 2019-06-14 07:57:23 +02:00