José Valim
14f3a1e372
Deprecate single quotes as charlists
2023-10-29 13:30:03 +01:00
José Valim
fe8b31eef8
Introduce deprecations scheduled for v1.17
2023-10-29 13:07:04 +01:00
José Valim
bb1f1af113
Trim trailing whitespace on heredocs with \r\n
2023-10-29 08:51:48 +01:00
José Valim
dc79914182
Add :limit option to Task.yield_many/2
2023-10-26 23:19:21 +02:00
José Valim
08cc3015b5
Add a test to stab as not an operator
2023-10-26 00:29:50 +02:00
José Valim
08f315016f
Add @nifs attributes
2023-10-25 23:53:24 +02:00
Aziz Köksal
af9c0aaeb6
Change the word "duplicated" to "duplicate" ( #13008 )
2023-10-24 20:11:48 +02:00
José Valim
c35d002dc2
Fix column information in tests
2023-10-24 00:36:24 +02:00
José Valim
09946ee776
Include column information on definition metadata
...
Closes #13029 .
2023-10-23 20:12:20 +02:00
Dino
d332f262e7
Fix IEx doc printing for headings with newline characters ( #13018 )
...
Update `IEx.introspection.print_doc/5` to trasverse the list of headings
and split each heading into multiple headings, in case the heading has
any newline characters (`\n`). This fixes an issue where using the `h`
macro with some functions ended up with a broken output for the function
signature, as the padding done by `IO.ANSI.Docs.print_headings/2` does
not take into consideration the fact the the headings can contain
newline characters, and thus end up in multiple lines.
2023-10-20 07:01:38 +02:00
José Valim
69255ecbc8
Do not leak alias from Elixir root and simplify defmodule implementation
2023-10-17 11:09:21 +02:00
Jean Klingler
ec4dafae0c
Fix overriding with Elixir. prefixed defmodule ( #13011 )
...
Closes #12456 .
2023-10-17 10:53:10 +02:00
Jean Klingler
8a0961c9dc
Fix known callbacks suggestions ( #13007 )
2023-10-15 21:11:23 +09:00
Jean Klingler
88ade1d312
Fix warnings on conflicting callbacks ( #13006 )
...
* Improve imprecise message
* Remove false positive warnings on conflicting behaviours
2023-10-15 20:10:46 +09:00
José Valim
44d3faad45
No longer track module as context inside after_compile
2023-10-11 15:53:41 +02:00
Jean Klingler
320477cf5e
Add local_handler to erl_eval ( #12998 )
2023-10-08 21:59:46 +09:00
Vinícius Müller
47d706734c
Add error span for unknown local call
2023-10-07 18:12:15 +02:00
José Valim
a4c700b23b
Unify caret position in diagnostics
...
Closes #12995 .
2023-10-07 17:23:20 +02:00
José Valim
b710c8822c
Delegate escape characters to regex
2023-10-06 14:43:58 +02:00
José Valim
1bbcf67366
Keep File.stream! options as last argument
2023-10-04 17:08:06 +02:00
José Valim
3ed3bf9108
Deprecate ~R/.../ in favor of ~r/.../
2023-09-30 11:14:41 +02:00
Vinícius Müller
9a74a73a00
Normalize hint labels ( #12958 )
2023-09-23 18:59:08 +02:00
Vinícius Müller
af915cfc20
Uncomment assertions ( #12960 )
2023-09-23 17:24:36 +02:00
Jean Klingler
6ee16616c0
Fix OTP 26.1 warning in tests ( #12954 )
2023-09-23 18:15:09 +09:00
Jean Klingler
55fbc528f9
Always rewrite signed numbers during expansion ( #12955 )
2023-09-23 18:08:52 +09:00
Jean Klingler
9c0fa3cfef
Warn when matching on 0.0 and generate erl AST for +/-0.0 ( #12949 )
2023-09-23 00:27:44 +09:00
Vinícius Müller
f632fc648e
Set parser_options[:columns] to true by default ( #12941 )
2023-09-18 09:42:17 +02:00
José Valim
5225b33bab
Add interpolation token metadata
2023-09-17 22:46:26 +02:00
José Valim
cb9de080e5
Strip column information on quote
2023-09-17 22:25:33 +02:00
Vinícius Müller
10077bdb5e
Add span to unused/undefined variable diagnostics ( #12940 )
2023-09-16 20:11:26 +02:00
Vinícius Müller
f1594048a5
Unicode support for mismatched delimiter errors ( #12935 )
2023-09-16 10:59:59 +02:00
Vinícius Müller
3111a5b78a
Improve mismatched delimiter message ( #12928 )
2023-09-15 18:31:48 +02:00
José Valim
646577af50
Add opening_delimiter to token missing error
2023-09-15 18:18:09 +02:00
José Valim
9a3d1a0321
Include open_delimiter in TokenMissingError
2023-09-15 18:18:09 +02:00
José Valim
08e02cff84
Do not loop when invalid block is given to formatter, closes #12922
2023-09-13 09:49:56 +02:00
José Valim
c6250bc57b
Trace functions before they are inlined, closes #12925
2023-09-13 09:38:28 +02:00
Vinícius Müller
0349240827
Add MistmatchedDelimiterError ( #12918 )
2023-09-12 12:18:51 +02:00
Jean Klingler
8f9265b7f3
Fix formatter for :* in bitstring modifiers ( #12923 )
2023-09-12 04:02:23 +09:00
José Valim
bdf66e7d6e
Revert "Add Access.at/2 ( #12906 )"
...
This reverts commit ce79c2c83d .
See #10158 .
2023-09-04 10:50:23 +02:00
Vinícius Müller
ce79c2c83d
Add Access.at/2 ( #12906 )
2023-09-03 21:33:02 +02:00
Vinícius Müller
7e9006988d
Add span field to diagnostics ( #12843 )
2023-09-03 21:14:51 +02:00
Jhan S. Álvarez
92052fbe5a
Fix regex inspect for escaped hash ( #12902 )
2023-08-31 09:35:01 +02:00
José Valim
eb97ac6a2c
Add Code module to test PLT
2023-08-30 17:04:14 +02:00
José Valim
8dfc35383d
Use Code.ensure_compiled/1 when loading protocol implementations
2023-08-30 15:25:13 +02:00
José Valim
22dcba75d2
Introduce Kernel.ParallelCompiler.pmap/2 ( #12899 )
2023-08-30 14:59:48 +02:00
José Valim
bd454e286d
Ensure dbg module is a compile-time dependency
...
Related to #12892 .
2023-08-28 13:30:46 +02:00
Zach Allaun
b50c5eb031
Fix Code.Fragment.surround_context/2 for submodules of non-aliases ( #12890 )
2023-08-24 20:55:42 +02:00
sabiwara
03ef7a1059
Always pass stracktrace when necessary
2023-08-23 12:05:52 +02:00
Dave Lucia
44cce79e00
Improve UndefinedFunctionError for unqualified module ( #12859 )
...
This PR builds off of #12839 , handling the case where a developer
forgets to alias a module, resulting in UndefinedFunctionError.
Imagine we have the following modules in our Elixir program.
```elixir
def MyAppWeb.Context.Event do
def foo, do: :bar
end
```
If the developer attempts to reference this module, but forgets to type
the alias, they will now get module suggestions like.
```elixir
** (UndefinedFunctionError) function Event.foo/0 is undefined (module Event is not available). Did you mean:
* MyAppWeb.Context.Event.foo/0
Event.foo()
iex:2: (file)
```
2023-08-15 11:12:34 +02:00
José Valim
e0d04e1ffe
Warn on nullary remote calls, related to #9510
2023-08-15 10:30:57 +02:00