Commit Graph
4340 Commits
Author SHA1 Message Date
José Valim 42eacb8a67 mix format 2022-09-30 18:54:34 +02:00
José Valim 87aeda3c59 Properly handle list output of :unicode_util.gc/1, closes #12160 2022-09-30 18:48:47 +02:00
José Valim b7dd72f567 Improve error message for invalid % { syntax 2022-09-27 18:56:29 +02:00
Wojtek Mach 009b885672 Add ExUnit.DocTest.doctest_file/2 (#12150) 2022-09-27 18:00:16 +02:00
José Valim 9aca91ce06 Improve error message for too many arguments in access 2022-09-27 17:51:23 +02:00
José Valim 4a660784e5 Add Range.split/2 2022-09-25 10:09:24 +02:00
José Valim 29ed6925b3 Warn for nested calls without parens inside keywords 2022-09-24 16:50:07 +02:00
Simon Prévost b7083180a6 Add complete list of time units on DateTime.add/3 argument error (#12152) 2022-09-23 17:24:39 +02:00
José Valim e5458b02f1 Fix signature order in type checkings messages, closes #11744 2022-09-23 13:38:13 +02:00
José Valim 8fc61e0ebd Do not recursively traverse vars to simplify checker, closes #12149 2022-09-23 13:38:13 +02:00
José Valim 47e05c4d76 Remove head blocking on Task.yield_many/2
`yield_many/2` would previously block waiting for
the reply from the first task, then the second task,
and so on.

However, if the first task was slow, it means the
message inbox would grow quickly, only to be processed
later.

This commit makes it so messages are consumed as they
arrive. This yields better performance but uses more
memory as all results have to be accumulated first.
Then, finally, there is one last pass on the data to
associate results to tasks. Given this additional pass,
we now also support killing or ignoring tasks directly
from Task.yield_many/2.
2022-09-23 13:38:13 +02:00
José Valim fb97f39fc9 Handle :port :undefined on URI.new 2022-09-15 19:40:04 +02:00
José Valim 00e2ed694d Add :close_stdin to System.shell/2
It defaults to false as that was the behaviour
in past Elixir versions.

Closes #12135.
2022-09-15 00:09:15 +02:00
José Valim 3ee1e83eef Remove parser ambiguity within stepped ranges 2022-09-10 00:32:13 +02:00
José Valim e60e59d9ce Fix race in dynamic supervisor suite 2022-09-09 21:10:47 +02:00
José Valim fbb0420b08 Do not delete enforce_keys on defstruct, closes #12126 2022-09-09 09:24:46 +02:00
José Valim 7a3638c7c1 Consistently use normalize prefix for AST changing options 2022-09-07 15:55:37 +02:00
José Valim c8fdbe89b7 Do not process binary modifiers as variables during type checking, closes #12121 2022-09-07 15:45:10 +02:00
Michael Adkins 4dd730267a Add commas to bare usage of "however" where appropriate (#12119) 2022-09-06 20:29:01 +02:00
José Valim 904072081a Raise on missing struct for module conflict, closes #12113 2022-09-04 16:01:37 +02:00
sabiwara 239ae0877a Handle syntax_colors in quoted_to_algebra and dbg (#12106) 2022-09-04 15:10:22 +02:00
Chris Miller 2bfa617acd Add Map.split_with/2, MapSet.split_with/2 and Keyword.split_with/2 (#11482) 2022-09-02 23:59:21 +02:00
Andrea Leopardi 01ded3880b Don't raise on overflowing floats in Float.parse/1 (#12099)
When floats are expressed in scientific notation,
:erlang.binary_to_float/1 can raise an ArgumentError if the e exponent
is too big. For example, "1.0e400". Because of this, we rescue the
ArgumentError and return an error.
2022-08-27 11:43:42 +02:00
José Valim 7a8e5f1d05 Fix module attribute with empty list in Macro.to_string, closes #12097 2022-08-26 08:56:20 +02:00
Andrea Leopardi 2370810002 Raise when using Macro.dbg/3 in guards or matches (#12094) 2022-08-24 08:47:53 +02:00
José Valim 937cece227 Improve error message 2022-08-22 11:27:49 +02:00
José Valim b9e1d7cfbe Fix heisentest 2022-08-19 12:49:37 +02:00
José Valim 4ce0376e76 Only consume DOWN messages dedicated to the parallel compiler, closes #12087 2022-08-19 09:49:03 +02:00
bbhoss c3db766c76 Add support for automatic shutdown to Supervisor (#12077)
* Prevent auto_shutdown from being used with DynamicSupervisor

* Prevent auto_shutdown from being used with PartitionSupervisor
2022-08-16 23:44:48 +02:00
José Valim 5290c01316 Do not set step to nil in ranges
Closes #12076
2022-08-15 10:07:19 +02:00
José Valim 2ad1515818 Fix loop while unifying type variables, closes #11658 2022-08-13 11:46:42 +02:00
sabiwara 8908334041 Inspect charlists as ~c sigils (#12074) 2022-08-13 09:08:17 +02:00
José Valim 32dd0b5c95 Expand pipelines on right-hand side of |>, closes #12070 2022-08-12 17:21:27 +02:00
Wojtek Mach d7715921c4 URI.append_query/2: Handle trailing ampersand (#12069) 2022-08-12 16:13:51 +02:00
sabiwara 29bf449f3f Evaluate formating charlists as ~c sigils (#12064) 2022-08-10 06:47:00 +02:00
sabiwara 7dc718b292 Replace inner AST for bitstring modifiers (#12055) 2022-08-06 09:28:07 +02:00
José Valim 61d63bfd6f Raise specific error for missing env 2022-08-04 19:23:57 +02:00
sabiwara b3e962afaa Fixing edge cases in Enum.slide/3 (#12052)
* Fix bug in Enum.slide/3: empty lists

* Fix edge case in Enum.slide/3
2022-08-04 16:34:18 +02:00
sabiwara a509098969 Fix infinite loop in Enum.take/2 (#12048) 2022-08-04 09:10:03 +02:00
sabiwara 19ffa87995 Fix bugs in binary_slice/2 (#12045) 2022-08-03 13:42:54 +02:00
sabiwara bdf3f05533 Fix bug: Enum.slice selecting extra element (#12043) 2022-08-02 18:27:36 +02:00
sabiwara 1b107bc805 Fix bug in Enum.slice with step>1 (#12042) 2022-08-02 15:59:40 +02:00
sabiwara 5eb5a93587 Fix bug in Enum.drop/2 (#12040) 2022-08-02 10:47:25 +02:00
Łukasz Samson 7ebea3b246 Emit consistent position meta on fn capture traces (#12033) 2022-08-02 09:44:12 +02:00
José Valim 0aa42d483b Allow key-deletions and atom keys in System.put_env/1 2022-07-30 18:21:59 +02:00
José Valim 74e88f754f Remove deprecated option test 2022-07-28 12:08:32 +02:00
José Valim e030a77d71 Do not lead body inference in cond, closes #12024 2022-07-28 12:07:57 +02:00
Andrea LeopardiandJosé Valim 65829ef4e8 Add Process.alias/0,1 and Process.unalias/1 (#12020)
We can have these now that Elixir requires Erlang/OTP 24+.

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-07-28 09:53:37 +02:00
Andrea Leopardi 322545358b Use :sets v2 under the hood in MapSet (#12018)
We can do this now that Elixir requires OTP 24+, since the new :sets
API is also built on top of maps.
2022-07-28 09:30:24 +02:00
José Valim 76a683f41c Add deprecations 2022-07-27 17:18:53 +02:00