Commit Graph
2436 Commits
Author SHA1 Message Date
José Valim 097eee9d5f Add Macro.Env.expand_import/5 and Macro.Env.expand_require/6 (#13421) 2024-03-21 10:51:10 +01:00
Jean Klingler 3da9af2150 Only infer size in pinned variable when needed (#13423) 2024-03-20 18:59:21 +09:00
José Valim b8f069d08e Fix parsing of ambiguous operators followed by containers
Closes #13402.
2024-03-09 11:17:06 +01:00
Tiago Moraes f9a139b7f8 Check exports on compile time context modules (#13400) 2024-03-08 18:47:23 +01:00
José Valim b3710dea97 Always start IEx shell via -user
There is some uncertainty as to wether it will be possible
to start an IEx shell dynamically from a -noshell environment.

Therefore, this PR simplifies the shell booting to still
rely on -user, as it did earlier than Erlang/OTP 26.
2024-02-29 14:48:54 +01:00
José Valim d120affb11 Emit defmodule tracing event 2024-02-26 18:28:40 +01:00
Jean Klingler 3c55db78f0 Use Erlang's implementation of jaro distance, fix bugs (#13369)
* Use Erlang's implementation of jaro distance, fix bugs

* Remove conditional compilation
2024-02-26 19:25:31 +09:00
José Valim 80af632a7e Wrap (a -> b) into literals instead of plain lists, closes #13358 2024-02-24 22:48:05 +01:00
José Valim 129c5beef8 Decouple require expansion from alias 2024-02-24 21:19:46 +01:00
José Valim dab3d22993 Deprecate escaping closing delimiter in uppercase sigils
This aligns our uppercase sigils with Erlang/OTP 27.
2024-02-24 20:05:10 +01:00
José Valim 514615d034 Apply end of expression more consistently, closes #13355 2024-02-18 11:25:19 +01:00
José Valim 38a571b73a Purge modules asynchronously (#13350) 2024-02-15 20:33:31 +01:00
José Valim 04e2724591 Do not purge compiler modules during compilation, only after (#13346)
The compiler freezing is mostly caused by a bug upstream,
but it may be speed up compilation to avoid purging as
we compile, as purging blocks the code server.

A potential downside is higher memory usage during
compilation.

Closes #13264.
2024-02-15 12:48:53 +01:00
José Valim a2676855fd Remove unused Args argument 2024-02-11 23:36:40 +01:00
José Valim 9973a2eded Remove typespec from default requires 2024-02-08 15:43:20 +01:00
José Valim 6655d40376 Streamline and document the parser 2024-02-07 15:06:48 +01:00
José Valim d68c8d6cdd Unify handling of .. and ... 2024-02-07 12:26:39 +01:00
José Valim d244eaf8be Remove end_of_expression from ->, closes #13318 2024-02-06 13:46:46 +01:00
José Valim fd4e6b530c Fix column marker for maps 2024-02-05 15:13:31 +01:00
Mitchell Hanberg eb1499ac29 Include from_brackets metadata in all cases (#13317) 2024-02-05 09:40:16 +01:00
José Valim 00d2be5af7 Fix error message 'a guards', closes #13296 2024-01-30 20:07:38 +01:00
Jean Klingler 0b95ca45c2 Translate with/1 as a closure (#13299)
* Translate with/1 as a closure

* Emit leaner code on with var <-
2024-01-30 21:26:39 +09:00
José Valim 55cd5a4a22 Revert "Do not escape \ in uppercase sigils, closes #8989"
This reverts commit 51d23cbba8
due to a regression.

Closes #13262.
2024-01-17 23:28:21 +01:00
José Valim e4a71032d5 Always log errors at the end 2024-01-17 23:14:20 +01:00
Artem Solomatin 53f45a93b6 Specify guide links for incorrect guards message (#13247) 2024-01-12 22:38:47 +01:00
José Valim 19bdfd0444 Improve misplaced operator | message 2024-01-12 20:14:27 +01:00
Jean Klingler 8cde231bbd behaviour -> behavior when not about OTP behaviours (#13240) 2024-01-09 15:25:14 +09:00
José Valim 3ae8475e41 Add bitmask types to descr (#13230)
The bitmap represents all non-divisible types.
Currently it implements all types in our system,
but atoms, lists, tuples, maps, and functions
will be given more precise types later on.

Dynamic has not been yet implemented nor
optimizations for term.
2024-01-07 19:30:48 +01:00
José Valim 748722dc0d Trim down current typed module implementation (#13226) 2024-01-06 11:33:26 +01:00
José Valim fa088a4358 Do not hardcode newlines 2024-01-04 13:01:52 +01:00
José Valim 926560350b Extract snippet in elixir_errors to simplify exception handling 2023-12-21 21:14:44 +01:00
José Valim 7f3d62108b Consider column in snippets, closes #13199 2023-12-21 19:26:06 +01:00
José Valim 3a52c2d729 Add source field to diagnostics 2023-12-21 17:05:47 +01:00
José Valim 71039d97d3 Do not warn unused imports twice, closes #13178 2023-12-14 17:18:13 +01:00
José Valim 4d712b25ea Normalize token missing and mismatched delimiter exceptions
Closes #13183.
Closes #13185.
Closes #13186.
Closes #13187.
2023-12-14 17:02:15 +01:00
Vinícius Müller 02b0876154 Improve diagnostics for unclosed heredocs (#13182) 2023-12-14 09:24:43 +01:00
José Valim aabe46536e Disable compiler optimizations only in module body 2023-12-10 03:23:45 +11:00
Vinícius Müller 1d978bf73c Improve unclosed delimiter messages (#13123) 2023-12-04 12:46:15 +01:00
José Valim e258ccc279 Remove warning on non-ambiguous nullary remote call 2023-11-22 08:54:39 +08:00
Jean Klingler 856da799a3 Auto infer size of matched variable in bitstrings (#13106) 2023-11-15 20:50:10 +09:00
José Valim dfba5db6c0 Consider start line in MismatchedDelimiterError 2023-11-13 12:28:39 +01:00
José Valim 51d23cbba8 Do not escape \ in uppercase sigils, closes #8989 2023-11-13 11:53:44 +01:00
José Valim 665a459a59 Handle nil values in IO.warn 2023-11-10 12:53:34 +01:00
José Valim 1b6fb26dfb Let's not deprecate ...foo as the API may be useful
for the type system in the future.

This reverts commit f97d8585e8.
2023-11-10 12:36:04 +01:00
José Valim c4fa754dde Add :emit_warnings to Code.string_to_quoted 2023-11-06 16:30:46 +01:00
José Valim 8ae45c1c6b Fix case clause error on tokenizer 2023-11-06 13:28:53 +01:00
José Valim 8d7975bc0b s/parens/parentheses 2023-11-01 12:42:47 +01:00
José Valim f437e8695b Require Erlang/OTP 25+ (#13045) 2023-10-30 23:55:36 +01:00
José Valim 2f43c8cc47 Warn on map.field() and mod.function 2023-10-30 21:43:27 +01:00
George Guimarães eb20bdd716 Fix some typos (#13043) 2023-10-30 17:48:47 +01:00