Commit Graph
8242 Commits
Author SHA1 Message Date
José Valim 74d33cba0c Remove unused import_fa metadata 2019-06-13 19:57:31 +02:00
José Valim 22dbddd3e8 Add a metadata type 2019-06-13 19:26:14 +02:00
José Valim 8564cb84b1 Add an introduction to the Macro module 2019-06-13 19:22:18 +02:00
Andrea Leopardi 603faa4396 Improve some documentation in Config.Provider
[ci skip]
2019-06-13 09:50:39 +02:00
Hassan Shaikley 54c1f280a4 Update keyword.ex docs (#9136)
Use the correct "shorthand" instead of short-hand.
2019-06-13 09:10:16 +02:00
Kip Cole 23a68035be Add inspect/2 callback to Calendar (#9128)
This commit introduces an optional callback `inspect/2`
that allows custom calendars to define a implementation 
for the `Inspect` protocol for `Time`,  `Date`,  
`DateTime`, and `NaiveDateTime`.
2019-06-12 16:25:03 +02:00
José Valim 6f3e1e021a build_info revision is at leasts 7 bytes 2019-06-11 13:50:36 +02:00
José Valim 78f5e9730b Keep struct fields ordered in types
Closes https://github.com/elixir-lang/ex_doc/issues/1016
2019-06-11 13:49:32 +02:00
José Valim d9ba93cee3 Remove timestamps from release, closes #9127 2019-06-11 10:48:06 +02:00
Wojtek Mach 504553a448 Add DateTime.now!/2 (#9125) 2019-06-10 14:59:44 +02:00
Wojtek Mach 26e10fefee Add DateTime.shift_zone!/3 (#9126) 2019-06-10 14:58:49 +02:00
José Valim 63a70cb19f Do not crash formatter on false positive sigils, closes #9123 2019-06-10 11:19:00 +02:00
José Valim a369190f42 Improve undefined struct messages 2019-06-10 11:19:00 +02:00
José Valim 495148e27b 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:01:53 +02:00
Joris Kok 2366f85df0 Update Enum.find/2 docs to include success example first (#9116) 2019-06-06 18:15:46 +02:00
José Valim 98e60a8425 Add v1.10-ready deprecations 2019-06-04 17:28:08 +02:00
José Valim 1891b64ee0 Enforce atom keys for config 2019-06-04 15:21:49 +02:00
Fernando Tapia Rico c0c5a486f9 Use :timer.tc/1 to measure time diff in tests (#9113) 2019-06-04 11:44:44 +02:00
Tobiasz Małecki 280f39dbd1 Remove redundant "a" from Inspect.Opts moduledoc (#9114) 2019-06-03 23:05:32 +02:00
José Valim b98c5acfe0 Start v1.10 2019-06-03 17:39:43 +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