Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make sure records use the dsetelement optimisationmm/records | Michał Muskała | 2018-12-07 | 2 | -55/+72 |
| | | | | | | Closes #8059 Additionally some more refactorings of the Record module | ||||
* | Improve the documentation of Range (#8464) | Xavier Noria | 2018-12-05 | 1 | -2/+6 |
| | | | [ci skip] | ||||
* | Add week_of_year/3 (#8460) | José Valim | 2018-12-04 | 4 | -3/+171 |
| | |||||
* | Improve error message in multiline iex doctest (#8462) | Emil Lynegaard | 2018-12-04 | 2 | -4/+13 |
| | | | | | The previous indentation error message was of no help in cases where a doctest had a `iex>` command with multiline expressions. | ||||
* | Add Calendar callbacks and Calendar.ISO implementations | Kip Cole | 2018-12-04 | 5 | -6/+257 |
| | | | | | | | | | * day_of_year/3 * quarter_of_year/3 * year_of_era/1 * day_of_era/3 Signed-off-by: José Valim <jose.valim@plataformatec.com.br> | ||||
* | Update GitHub issue template with mailing list link (#8451) | Arturo Herrero | 2018-12-02 | 1 | -2/+2 |
| | |||||
* | Make sure DateTime.truncate returns DateTime when passed map (#8448) | Lau Taarnskov | 2018-12-02 | 2 | -2/+83 |
| | | | With tests for Calendar.datetime maps being passed to DateTime functions. | ||||
* | Add '@doc since: 1.8.0' to IEx.Helpers.port/1,2 (#8447) | Fernando Tapia Rico | 2018-12-02 | 1 | -0/+2 |
| | | | [ci skip] | ||||
* | IEx port/1,2 helpers (#8439) | Cory Schmitt | 2018-12-01 | 2 | -0/+53 |
| | | | | | | * iex port helper * updated for consistency | ||||
* | Add Calendar.datetime type and allow it in DateTime functions (#8444) | Lau Taarnskov | 2018-12-01 | 2 | -28/+47 |
| | | | | | Instead of requiring a DateTime struct, allow a map containing at least those fields. In the same way Calendar.naive_datetime is used in NaiveDateTime (and Calendar.time/Time, Calendar.date/Date). | ||||
* | Consider :only from deps in compile.app (#8441) | José Valim | 2018-12-01 | 2 | -5/+30 |
| | | | | Closes #8225. | ||||
* | Improve documentation of Enum.reduce_while/3 (#8446) | Xavier Noria | 2018-12-01 | 1 | -3/+10 |
| | |||||
* | Avoid warnings on mix/tasks/new_test.exs | José Valim | 2018-11-30 | 1 | -4/+3 |
| | |||||
* | Disable tracer after use | José Valim | 2018-11-30 | 1 | -0/+2 |
| | |||||
* | Break Mix deps tests into groups | José Valim | 2018-11-30 | 1 | -298/+301 |
| | |||||
* | Change type to link to Elixir docs (#8436) | Devon Estes | 2018-11-29 | 1 | -1/+1 |
| | | | | Since we have an Elixir type for `Supervisor.child_spec()`, it's better to link to that instead of the Erlang type docs. | ||||
* | Remove outdated comment in NaiveDateTime | José Valim | 2018-11-28 | 1 | -2/+0 |
| | |||||
* | Remove :console backend from app env in Mix tests (#8432) | Fernando Tapia Rico | 2018-11-27 | 1 | -0/+2 |
| | | | | | Backends added or removed dynamically via Logger.add_backend/2 or Logger.remove_backend/2 are not persisted. Backends must be removed from the application environment explicitly. | ||||
* | Eliminate warning for an unused variable (#8431) | Björn Gustavsson | 2018-11-27 | 1 | -1/+1 |
| | | | | | Fix a warning that has started to occur because of a recent bug fix in Erlang/OTP (using fun M:F/A could suppress warnings for unused variables). | ||||
* | Add special fn case to signature_to_binary (#8429) | Hans | 2018-11-27 | 2 | -0/+11 |
| | |||||
* | Fix a typo in the Mix.Task.Deps module docs (#8430) | Pierre Allix | 2018-11-26 | 1 | -1/+1 |
| | | | [ci skip] | ||||
* | No longer persist dynamically added logger backends (#8424) | José Valim | 2018-11-26 | 4 | -24/+9 |
| | | | | | | | | | | | Otherwise it is impossible to dynamically remove them, which partially defeats the point of adding them dynamically in the first place. Therefore this commit moves the whole dynamic backend management to the user. Closes #8213 | ||||
* | Fix link to fn/1 special form in Kernel docs (#8427) | Eksperimental | 2018-11-26 | 1 | -2/+1 |
| | |||||
* | Raise when passing invalid compiler flags to Elixir, closes #7839 | José Valim | 2018-11-26 | 1 | -12/+23 |
| | |||||
* | Update Supervisor calls in Registry docs (#8423) | Adam Rutkowski | 2018-11-26 | 1 | -2/+2 |
| | |||||
* | Update supervised Task docs (#8422) | Adam Rutkowski | 2018-11-26 | 1 | -4/+4 |
| | |||||
* | Preserve user's choice on operators, closes #8417 | José Valim | 2018-11-25 | 3 | -23/+58 |
| | |||||
* | Consistently use eol? in the formatter | José Valim | 2018-11-25 | 1 | -10/+10 |
| | |||||
* | Remove unnecessary try block in GenServer.reply (#8420) | yunsong | 2018-11-25 | 1 | -6/+2 |
| | |||||
* | Use --module value when setting up filenames in mix new (#8419) | Kevin Bader | 2018-11-24 | 2 | -3/+14 |
| | | | | | | | | | | | | | | The module name was used in the templates, but the app name was used for the file names. Now the module name is used for both. For example: ```bash mkdir foo cd foo mix new . --module Bar ``` ...creates a `Bar` module as expected, but the module's filename is `lib/foo.ex`. This, of course, should be `lib/bar.ex` instead. The reason for the wrong filename is that the code currently uses the (inferred) app name when creating the file, which in this case is `foo`. | ||||
* | Update File.Stat typespec (#8418) | Thiago Santos | 2018-11-24 | 1 | -2/+17 |
| | |||||
* | Streamline EEx.Engine docs | José Valim | 2018-11-21 | 1 | -63/+56 |
| | |||||
* | Optimize EEx template rendering (#8413) | José Valim | 2018-11-21 | 1 | -20/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following template: one <%= arg1 %> two <% var2 = String.duplicate(arg2, 1) %> three <%= var2 %> four <% var3 = String.duplicate(arg3, 1) %> five <%= var3 %> six Before this patch, it would compile to: ( tmp1 = ( tmp2 = ( tmp1 = ( tmp2 = ( tmp1 = "" <> "one\n" tmp1 <> String.Chars.to_string(arg1) ) <> "\ntwo\n" var2 = String.duplicate(arg2, 1) tmp2 ) <> "\nthree\n" tmp1 <> String.Chars.to_string(var2) ) <> "\nfour\n" var3 = String.duplicate(arg3, 1) tmp2 ) <> "\nfive\n" tmp1 <> String.Chars.to_string(var3) ) <> "\nsix\n" The issue with this approach is that it emits binary append instructions, frequently copying binaries. This commit changes it to extract all of the dynamic contents out, as originally suggested by @tmbb: tmp0 = String.Chars.to_string(arg1) var2 = String.duplicate(arg2, 1) tmp1 = String.Chars.to_string(var2) var3 = String.duplicate(arg3, 1) tmp2 = String.Chars.to_string(var3) <<"one\n", tmp0::binary, "\ntwo\n", "\nthree\n", tmp1::binary, "\nfour\n", "\nfive\n", tmp2::binary, "\nsix\n">> Which leads to code that compiles faster and also run faster as there are less instructions. | ||||
* | Add missing spaces in error message (#8412) | Lars Wikman | 2018-11-21 | 1 | -2/+2 |
| | |||||
* | improve String moduledoc discussion about splitting a string with a pattern ↵ | Kim Shrier | 2018-11-21 | 1 | -2/+2 |
| | | | | (#8411) | ||||
* | Improve error message on DateTime.add/4 (#8410) | Fernando Tapia Rico | 2018-11-20 | 1 | -1/+1 |
| | |||||
* | Improve syntax on DateTime | José Valim | 2018-11-20 | 1 | -16/+10 |
| | |||||
* | Do not use same name twice | José Valim | 2018-11-20 | 1 | -1/+1 |
| | |||||
* | Compile charlist interpolation more efficiently | Michał Muskała | 2018-11-20 | 3 | -9/+55 |
| | | | | | | | | Today charlist interpolation is quivalent to calling `String.to_charlist` on the equivalent string interpolation. It can be more efficient by leveraging chardata support in the `:unicode` module and encoding as a list of literal binaries and results of `Kernel.to_string` calls for the interpolated segments. | ||||
* | Add List.to_charlist | Michał Muskała | 2018-11-20 | 1 | -0/+52 |
| | |||||
* | Always inspect MapSet content as regular lists (#8409) | Michał Muskała | 2018-11-20 | 2 | -0/+5 |
| | |||||
* | Add DateTime.add function (#8402) | Lau Taarnskov | 2018-11-20 | 4 | -14/+131 |
| | |||||
* | Fix direct `Logger.log` call in case of compile_time_purge_matching logger ↵ | Ivan Mironov | 2018-11-20 | 2 | -6/+16 |
| | | | | option (#8391) | ||||
* | Improve error message for `BadFunctionError` (#8408) | Devon Estes | 2018-11-20 | 2 | -0/+30 |
| | | | | | This way if the term is a function that couldn't be found because it's referencing an anonymous function from a previous version of a given module, it says as much instead of saying it expected a function. | ||||
* | Mention Erlang/OTP 21 no longer blocks on GenServer.cast/2 doc (#8407) | Jens Fischer | 2018-11-20 | 1 | -5/+7 |
| | |||||
* | Use proper calendar types (#8403) | Fernando Tapia Rico | 2018-11-18 | 1 | -4/+4 |
| | |||||
* | Use "time zone" instead of "timezone" (#8404) | Fernando Tapia Rico | 2018-11-18 | 3 | -5/+5 |
| | | | [ci skip] | ||||
* | Introduce IEx.Server.run/1 (#8395) | José Valim | 2018-11-17 | 11 | -149/+390 |
| | | | | | | | | | | Since now there may be multiple servers running, we also introduced IEx.Broker to negociate pry requests across multiple sessions. Shell sessions though are tracked separately from the remaining ones, as we delegate the shell control to Erlang's user_drv. | ||||
* | Wrap httpc read in a task to timeout (#8394) | Nikola Jichev | 2018-11-17 | 6 | -3/+55 |
| | |||||
* | Add missing ExUnit improvement to CHANGELOG (#8397) | Devon Estes | 2018-11-16 | 1 | -0/+1 |
| |