Commit Graph
4564 Commits
Author SHA1 Message Date
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