Commit Graph
8229 Commits
Author SHA1 Message Date
José Valim a211223810 Keep struct fields ordered in types
Closes https://github.com/elixir-lang/ex_doc/issues/1016
2019-06-11 13:50:07 +02:00
José Valim 7a3d6ec928 Remove timestamps from release, closes #9127 2019-06-11 10:48:30 +02:00
José Valim 9b2e7892ca Do not crash formatter on false positive sigils, closes #9123
Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
2019-06-10 11:19:09 +02:00
José Valim 36c2787fc6 Immediately shutdown the lexical tracker
Otherwise we may have a race condition if the code
is passing __ENV__ to an eval function which may keep
the lexical tracker if it is alive by the time it is
checked.
2019-06-07 12:02:41 +02:00
José Valim c953de0036 Enforce atom keys for config 2019-06-04 15:21:39 +02:00
Tobiasz Małecki ebe23614f7 Remove redundant "a" from Inspect.Opts moduledoc (#9114) 2019-06-04 12:00:44 +02:00
José Valim d8d6ab48c8 Prepare v1.9 for release 2019-06-03 17:36:28 +02:00
José Valim e1b68261b3 Raise on recursive macros (#9111)
Closes #9101.
2019-06-03 17:34:15 +02:00
Fernando Tapia Rico 462dc57156 Clarify syntax for custom Module attributes (#9109) 2019-06-03 12:59:26 +02:00
José Valim 4428e56ba2 Clarify inspect docs and link to printable boolean functions, closes #9108 2019-06-02 18:03:45 +02:00
Chulki Lee 9f03c38d24 Use SPDX full name of Apache License 2.0 (#9104)
https://spdx.org/licenses/Apache-2.0.html

- Full name: Apache License 2.0
- Short identifier: Apache-2.0
2019-05-31 21:58:54 +02:00
José Valim ce41a70b2e Update registered process lists, closes #9103 2019-05-31 19:24:17 +02:00
José Valim 4ab1d5a6f2 Review CHANGELOG and docs for upcoming RC (#9100) 2019-05-31 09:19:40 +02:00
José Valim 78ce6793e3 Store relative file in module definition (#9099)
Prior to this patch, we would always compute the relative
path to the current working directory (CWD), but this meant
consolidated protocols would always get a full path since
they are always outside of their current working directory.
We address this by also storing the relative path in the
definition.

Closes #9095
2019-05-31 09:01:02 +02:00
José Valim 7e1d1650b3 Support unary functions in String.replace/4 (#9073)
We also deprecate the :insert_replaced option since the
anonymous functions is strictly superior.

Closes #9023.
2019-05-30 11:09:27 +02:00
Aleksei Matiushkin bb0e8a8850 Inspect.Opts.custom_options (#9096) 2019-05-30 10:10:48 +02:00
Ryan Bigg 679f978e35 Add 'a' to {invalid_clauses, Name} error (#9090) 2019-05-29 07:42:00 +02:00
Eksperimental d4f8d419e4 Use https instead of http when servers are redirecting (#9094)
The servers are automatically redirecting from http:// to https://
2019-05-29 07:37:54 +02:00
José Valim b8b7e5af01 Start elixir and load config provider app holder 2019-05-28 16:01:54 +02:00
Fernando Tapia Rico a6e7b8a4fd Remove duplicated typespec on t:GenServer.server/0 (#9085)
`{:via, module, term}` is covered by the type `name`
2019-05-27 16:14:10 +02:00
Qqwy / Wiebe-Marten cddb455495 Improve documentation of GenServer.server() type. (#9082) 2019-05-27 15:56:34 +02:00
Qqwy / Wiebe-Marten ecda40872f Improves module documentation of DynamicSupervisor (#9080)
Fixes #9075
2019-05-27 11:56:23 +02:00
Eksperimental c99eb7a7b4 Fix grammar mistake in Compatibility page (#9077) 2019-05-27 08:17:03 +02:00
José Valim dd17800b86 Do not expand ~ when not followed by a path separator 2019-05-27 00:16:39 +02:00
Eksperimental 064c8ce56d Fix casing in Unicode Syntax (#9074) 2019-05-27 00:02:30 +02:00
Tobiasz Małecki 34ce5a5c08 Fix typo in Config.Provider moduledoc (#9070) 2019-05-24 19:09:24 +02:00
Andrea Leopardi 291d4ad7cc Add guards to the Stream module (#9069)
Before we hadn't added guards to functions in the Stream module
because the error message for invoking a function with the wrong
number of arguments was better than the FunctionClauseError. Now
that FunctionClauseErrors are better and display the failed
clauses and everything, having guards in Stream functions means
that we can fail fast in many cases instead of waiting to fail
until the stream is realized.
2019-05-24 16:20:38 +02:00
Eksperimental daf47ddbc8 Remove Dialyzer errors in Application module (#9062)
We were getting the "Type specification ... is a supertype of the success typing" error.
2019-05-24 15:30:12 +02:00
José Valim bf7ace56c9 Add a note about the scope of the syntax reference
Closes #9067.
2019-05-22 19:28:55 +02:00
Fernando Tapia Rico 2490cc8e6a Add possible Windows errors to File.cd!/1 tests 2019-05-21 18:47:32 +02:00
Fernando Tapia Rico 030e0c7b53 Do not explicitly recompile regexes, fallback to binary matching
Regexes used to be precompiled to binary values during code
compilation. These binary values may be incompatible with
different operating systems and OTP releases. That's why
an explicit `Regex.recompile/1` or `Regex.recompile!/1` was
required.

Regexes now fallback to binary matching if the precompiled
binary is not compatible with the runtime version.
2019-05-21 10:41:19 +02:00
Daniil Fedotov 145b7019ae Make regexes fall back to binary matching on incompatible runtime version (#9040)
Regexes are precompiled to binary values during code compilation.
These binary values may be incompatible between different PCRE versions
and OS endianness. This makes code less portable to achieve slight
performance improvement.

PCRE version and endianness are parts of Regex structure and may be
checked in runtime.

This commit adds this check and makes regex execution fall back 
to binary matching if versions are incompatible.

This slightly reduces performance (around 5% for simple regexes) for
compatible versions because there is an additional version read.
Also for incompatible versions it's as fast as binary matching.
2019-05-21 09:34:55 +02:00
Eksperimental 1e6d4a8ea7 Fix overlapping domains in Dialyzer (#9046) 2019-05-19 15:20:41 +02:00
kw7oe f44adfbeb0 Improve heredoc error message (#9048) 2019-05-19 10:10:11 +02:00
José Valim 2d1fe10e3d Update CHANGELOG 2019-05-18 22:17:19 +02:00
Andrea Leopardi 39c6eb64fe Mention default return in List.keyfind/4 docs
[ci skip]
2019-05-18 19:02:46 +02:00
Aleksei Magusev 7bdffe148f Remove unnecessary is_reference/1 check 2019-05-17 02:06:07 +02:00
José Valim 10fd316439 Delegate Erlang/OTP version check to Elixir 2019-05-15 17:23:26 +02:00
mguimas d63a7a46a7 Support default value when reading inexistent module attribute (#9041)
The private function Module.put_attribute/4 has been renamed to
Module.__put_attribute__/4 for consistency.
2019-05-15 09:28:35 +02:00
Eksperimental c8e700bec1 Improve List.duplicate/2 (#9044) 2019-05-15 09:17:10 +02:00
Eksperimental 341a2d1da8 Improve List.flatten/1,2 (#9045) 2019-05-15 09:16:31 +02:00
Eksperimental 30ab4ad968 Revert #8777 (#9042)
Revert "Remove Integer.to_string/1 and Integer.to_charlist/1 (#8777)"

This reverts commit 2622fd6b0a.
2019-05-15 09:15:55 +02:00
Eksperimental 3038401b09 Improve List.delete/2 (#9043) 2019-05-15 09:14:38 +02:00
José Valim 161f5f9a3b Add Erlang/OTP 22 compatible versions 2019-05-14 14:50:44 +02:00
José Valim 921738899b Escape Unicode chars in String, closes #9039 2019-05-11 09:23:48 +02:00
Victor Rodrigues 7e6bac3450 Do not allow defmodule with special atoms (#9032)
Fixes #9030
2019-05-10 20:47:36 +02:00
José Valim 0229358f88 Ensure third element in location tuple is either nil or an integer 2019-05-09 10:59:13 +02:00
José Valim 81e5a57d51 Nest all terminator metadata under :end key 2019-05-09 10:28:18 +02:00
José Valim dc154f5db7 Allow developers to choose between sname and name in releases (#9024)
We default to --sname which provides safer security defaults.
2019-05-08 11:14:28 +02:00
José Valim 7cd6ce4a32 Also provide nice error message on null bytes 2019-05-06 16:37:54 +02:00