Commit Graph
15767 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 26dba62c07 Remove :caller_module from Mix.Tasks.Xref.calls/0
The way the information was computed was innacurate and
it would cause spurious entries in calls, leading to many
false positives. This information cannot be tracked
efficciently without slowing down the compiler, so the
caller_module has to be removed.
2019-07-10 19:32:02 +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 c966088145 Update CHANGELOG 2019-07-09 16:59:08 +02:00
José Valim 460f3a59c5 Add since metadata to string_to_quoted options 2019-07-09 15:47:35 +02:00
Andrea Leopardi e077123c43 Improve the documentation for Logger (#9205) 2019-07-09 13:39:26 +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
Andrew Summers 46e4539ced Add mix deps.unlock --check-unused flag (#9185) 2019-07-04 22:25:20 +02:00
José Valim 810340e2fd Line is not always available 2019-07-04 21:15:53 +02:00
Derek Kraan 3490a146be MIX_BUILD_PATH specifies only the build_path prefix
Fixes #9188.
2019-07-04 14:40:22 +02:00
José Valim 6e3c9c3f4e Clarify env var docs 2019-07-04 14:39:35 +02:00
José Valim 86739c56a6 Improve docs for releases
Closes #9187.
2019-07-04 09:38:55 +02:00
José Valim 076dece778 Avoid unicode codepoint computation for lower bytes 2019-07-04 09:38:55 +02:00
Allen Madsen 6f7ce49aa8 Add describe and module attributes (#9181) 2019-07-03 20:38:19 +02:00
Eric Meadows-Jönsson f88676db9b Move deprecation check to group pass (#9176) 2019-07-03 09:56:35 +02:00
José Valim 9ff1133c39 Run the formatter 2019-07-02 21:35:14 +02:00
José Valim 8e7c458e8f Support included applications, closes #9163 2019-07-02 21:20:41 +02:00
Andrea Leopardi 6b0372afe1 Add test for @describetag outside of describe block (#9180) 2019-06-30 23:28:57 +02:00
Andrea Leopardi 14b00b1a0b Slightly improve docs for ExUnit.Case
[ci skip]
2019-06-30 19:55:52 +02:00
Andrea Leopardi 2e0ca9d1c8 Minor improvements in the "mix release" docs
[ci skip]
2019-06-30 19:34:55 +02:00
Allen Madsen c33af3aa39 Raise for @describetag defined before use ExUnit.Case (#9179) 2019-06-30 19:33:19 +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
José Valim 1586801de9 Add catch all for bad supervisor names
Otherwise if a different supervisor implementation,
such as a `ConsumerSupervisor` in GenStage, pass a
different name by accident, logging would fail.

Closes #8126.
2019-06-26 14:32:17 +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 de Graaf 620f7f6877 Use default_release option when name is not given (#9158) 2019-06-24 22:06:44 +02:00