Commit Graph
8563 Commits
Author SHA1 Message Date
José Valim 3b3c15b979 Do not add no_warn_undefined to CInf chunk 2019-12-09 10:33:35 +01:00
Eric Meadows-Jönsson 9394612a3d Remove signatures from checker chunk (#9634) 2019-12-07 18:09:50 +01:00
José Valim ba619b1c3e Add Application.compile_env/3 (#9628)
Mix stores the compile_env in each applications' .app file.

Releases and Mix tasks were also changed to validate against
the runtime configuration against any stored `compile_env`.
In case of mismatches, an error is raised during boot.
2019-12-06 17:23:01 +01:00
Eric Meadows-Jönsson 40799f2688 Preserve slashes in URIs without authority (#9632)
Old behavior:

    to_string(URI.parse("file:///path")) == "file:/path"

New behavior:

    to_string(URI.parse("file:///path")) == "file:///path"
2019-12-06 16:34:13 +01:00
Jan Hruban e1b14cad05 Close with correct accumulator in Stream.resource/3 (#9627)
In the optimized case with a single-element list returned from the
`next_fun`, call the stream function chain in a separate try/catch
block. If it errors out, call the `after_fun` with the new accumulator
returned from `next_fun`.

Previously the `after_fun` was called with the old accumulator in such
case.
2019-12-06 14:44:25 +01:00
José Valim 0a33059a10 Use .exs extension in config reader input 2019-12-04 16:40:51 +01:00
José Valim d2ac69eafa Ensure children are trapping exits before terminating 2019-12-04 12:33:01 +01:00
José Valim 917ad8ff2e Fix race conditions in impl test 2019-12-04 12:24:24 +01:00
José Valim 46fa678f42 Refactor elixir_config and mix compilers for upcoming changes 2019-12-04 11:59:51 +01:00
José Valim 60733b8d7c Print all undefined functions as warnings and then raise (#9623)
Sometimes one undefined function warning can hide others.
For example, in a function call like this:

    foo(bar 1, 2)

The user may be expecting it to be called as:

    foo(bar(1), 2)

But Elixir compiles it to:

    foo(bar(1, 2))

In this case, the warning would be one of "undefined
function foo/1" or "undefined function bar/2", but they
are only "half truths". By showing all undefined function
warnings, we improve errors like above and it allows
users to see all undefined calls at once, when it would
otherwise require them to compile the code multiple times.
2019-12-03 10:33:59 +01:00
Eksperimental b82ad0a512 Allows heading separator in IO.ANSI.Docs to not to have spaces around "|" (#9616)
This is supported by GFM (GitHub Flavored Markdown).
2019-12-03 10:01:02 +01:00
José Valim 6c0e49f0b7 Add examples to ambiguous op error message 2019-12-02 10:27:28 +01:00
Brandon Zylstra 949450e9ba Grammar suggestions for syntax reference (#9622) 2019-12-02 10:03:35 +01:00
Eksperimental 1faf678709 Fix table format in Base module (#9614) 2019-12-01 09:11:53 +01:00
Eksperimental 7312b40458 Fix bug when last two columns are empty in IO.ANSI.Docs (#9615)
When this happened, the last "|" became the content of the second to
last column.

This happened for example with the table in the Base module

    ## Base 64 (URL and filename safe) alphabet
    ...
    12 | M | 29 | d | 46 | u | 63    | _
    13 | N | 30 | e | 47 | v | |     |
    14 | O | 31 | f | 48 | w | (pad) | =
    15 | P | 32 | g | 49 | x | |     |
    16 | Q | 33 | h | 50 | y | |     |
2019-12-01 09:10:45 +01:00
Eksperimental 9d87fe434e Replace usage of "etc." (#9569) 2019-11-29 08:22:18 +01:00
Josh Price 9938ff428d Replace exsplus with exrop as the OTP 20 default pseudorandom algorithm (#9609) 2019-11-28 18:32:15 +01:00
Samuel Pordeus 2ed9f6e006 Fix typo on test name (#9611) 2019-11-28 18:03:05 +01:00
José Valim 7bc73a3d18 Use infinity timeout in internal services 2019-11-27 11:17:09 +01:00
José Valim 54ea2b8715 Add deprecation notice to System.get_pid 2019-11-24 15:42:03 +01:00
Andrea Leopardi 3e0799ac22 Improve documentation for Config.Provider (#9595) 2019-11-24 10:48:42 +01:00
Yoshihiro Tanaka ba18c3a0dd Add missing unreserved character to URI document (#9591)
According to RFC 3986, section 2.3, add missing unreserved character.
The implementation already includes it.
2019-11-24 00:14:17 +01:00
José Valim 14fde590a8 Raise if a non-absolute path is given with host or authority (#9589) 2019-11-23 20:46:23 +01:00
Eksperimental c137ed5ad3 Use URI.parse/1 instead of building %URI{} manually whenever possible (#9590) 2019-11-23 19:11:53 +01:00
José Valim a94911881d Expose an API for returning paths and streamline deprecations 2019-11-22 19:08:35 +01:00
José Valim f6ef422f4c No need to cache home 2019-11-22 19:08:35 +01:00
Eksperimental 2121cbd086 Replace usage of "e.g." (#9571) 2019-11-22 11:26:23 +01:00
José Valim 808500786c Make generated app message consistent when building source, closes #9583 2019-11-22 11:25:01 +01:00
José Valim 5d773d9978 Fix race condition on dynamic supervisor test, closes #9574 2019-11-21 18:15:49 +01:00
José Valim 806b9c4cf6 Sleep after sending restart command 2019-11-20 21:10:19 +01:00
Piotr Szmielew 9dc8d21a41 Add second example for Stream.resource/3 (#9564) 2019-11-20 14:04:31 +01:00
Eksperimental cf4272d22c Style mention to operating systems (#9562)
Use:
- macOS, instead of MacOS X;
- Windows 7, instead of Win7
- Unix, instead of UNIX
- Unix-like operating system or Unix-like system, instead of just Unix
2019-11-19 16:54:07 +01:00
Eksperimental a4a2a6e2c1 [ci skip] Copyedit deprecations table (#9554) 2019-11-19 16:53:01 +01:00
José Valim aa7f19718c Return {:error, :unavalable} for ensure_compiled in a deadlock (#9543) 2019-11-19 09:12:40 +01:00
Eksperimental b468c456ae Explicitly mention that def and defmacro define public functions/macros (#9556) 2019-11-19 09:11:16 +01:00
Eksperimental b0d4288174 Use titlecase in Elixir, Erlang, EEx, Unicode, and Dialyzer (#9557) 2019-11-19 09:10:29 +01:00
Eksperimental 98daa2def1 Use argument instead of arg in error messages (#9561) 2019-11-19 09:09:10 +01:00
Eksperimental 3cd953a49d Example in defmodule shows the return value as mentioned in the bulleted list (#9555) 2019-11-19 09:08:14 +01:00
Eksperimental 2d6df90b37 Refer properly to Erlang datetime tuple in the docs (#9560)
[ci skip]
2019-11-19 13:21:07 +05:30
Eksperimental 6fb8efc648 Use "operating system" instead of OS (#9547) 2019-11-18 09:21:52 +01:00
José Valim ac4548f7cc Deprecate Code.ensure_compiled?/1
There are many implications behind using Code.ensure_compiled?/1,
so we do not want to hide it behind a simple boolean check.
Instead use `Code.ensure_compiled/1` which is clearer about intent
and on return values.
2019-11-17 18:47:31 +01:00
Josh Price 5d57c91174 Make the number of attempted function clauses in FunctionClauseError more obvious (#9544) 2019-11-17 15:19:05 +01:00
Eksperimental f40638d294 Introduce t:Calendar.ISO.microsecond/0 and fix t:Calendar.microsecond/0 (#9541)
The reasoning is that the `0..999_999` and `0..6` values only applied
to the Calendar.ISO calendar, and that could be restrictive for other
types of calendars. As discussed in
https://github.com/elixir-lang/elixir/pull/9493#pullrequestreview-312050446
2019-11-17 09:16:23 +01:00
Eksperimental 552b34a382 Add new types to Calendar.ISO (#9512) 2019-11-16 11:02:38 +01:00
Eksperimental 2e6c9c028f Fix bug in Calendar.ISO.day_of_era/3 typespec (#9539)
Additionally, it introduces t:Calendar.day_of_era/0.
2019-11-16 11:01:55 +01:00
Eksperimental 0170bc8266 Improve Bitwise docs (#9538) 2019-11-16 11:01:24 +01:00
Eksperimental 123275eb92 Add specs for Bitwise (#9537) 2019-11-16 10:49:14 +01:00
José Valim 51801f769a Remove outdated TODO 2019-11-16 10:46:43 +01:00
José Valim 8ffb10309c Support profiling via elixirc 2019-11-16 02:57:42 +01:00
José Valim 2b05b8dcf3 Use version metadata in Erlang pass 2019-11-16 02:45:55 +01:00