summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make sure records use the dsetelement optimisationmm/recordsMichał Muskała2018-12-072-55/+72
| | | | | | Closes #8059 Additionally some more refactorings of the Record module
* Improve the documentation of Range (#8464)Xavier Noria2018-12-051-2/+6
| | | [ci skip]
* Add week_of_year/3 (#8460)José Valim2018-12-044-3/+171
|
* Improve error message in multiline iex doctest (#8462)Emil Lynegaard2018-12-042-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 implementationsKip Cole2018-12-045-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 Herrero2018-12-021-2/+2
|
* Make sure DateTime.truncate returns DateTime when passed map (#8448)Lau Taarnskov2018-12-022-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 Rico2018-12-021-0/+2
| | | [ci skip]
* IEx port/1,2 helpers (#8439)Cory Schmitt2018-12-012-0/+53
| | | | | | * iex port helper * updated for consistency
* Add Calendar.datetime type and allow it in DateTime functions (#8444)Lau Taarnskov2018-12-012-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é Valim2018-12-012-5/+30
| | | | Closes #8225.
* Improve documentation of Enum.reduce_while/3 (#8446)Xavier Noria2018-12-011-3/+10
|
* Avoid warnings on mix/tasks/new_test.exsJosé Valim2018-11-301-4/+3
|
* Disable tracer after useJosé Valim2018-11-301-0/+2
|
* Break Mix deps tests into groupsJosé Valim2018-11-301-298/+301
|
* Change type to link to Elixir docs (#8436)Devon Estes2018-11-291-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 NaiveDateTimeJosé Valim2018-11-281-2/+0
|
* Remove :console backend from app env in Mix tests (#8432)Fernando Tapia Rico2018-11-271-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 Gustavsson2018-11-271-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)Hans2018-11-272-0/+11
|
* Fix a typo in the Mix.Task.Deps module docs (#8430)Pierre Allix2018-11-261-1/+1
| | | [ci skip]
* No longer persist dynamically added logger backends (#8424)José Valim2018-11-264-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)Eksperimental2018-11-261-2/+1
|
* Raise when passing invalid compiler flags to Elixir, closes #7839José Valim2018-11-261-12/+23
|
* Update Supervisor calls in Registry docs (#8423)Adam Rutkowski2018-11-261-2/+2
|
* Update supervised Task docs (#8422)Adam Rutkowski2018-11-261-4/+4
|
* Preserve user's choice on operators, closes #8417José Valim2018-11-253-23/+58
|
* Consistently use eol? in the formatterJosé Valim2018-11-251-10/+10
|
* Remove unnecessary try block in GenServer.reply (#8420)yunsong2018-11-251-6/+2
|
* Use --module value when setting up filenames in mix new (#8419)Kevin Bader2018-11-242-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 Santos2018-11-241-2/+17
|
* Streamline EEx.Engine docsJosé Valim2018-11-211-63/+56
|
* Optimize EEx template rendering (#8413)José Valim2018-11-211-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 Wikman2018-11-211-2/+2
|
* improve String moduledoc discussion about splitting a string with a pattern ↵Kim Shrier2018-11-211-2/+2
| | | | (#8411)
* Improve error message on DateTime.add/4 (#8410)Fernando Tapia Rico2018-11-201-1/+1
|
* Improve syntax on DateTimeJosé Valim2018-11-201-16/+10
|
* Do not use same name twiceJosé Valim2018-11-201-1/+1
|
* Compile charlist interpolation more efficientlyMichał Muskała2018-11-203-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_charlistMichał Muskała2018-11-201-0/+52
|
* Always inspect MapSet content as regular lists (#8409)Michał Muskała2018-11-202-0/+5
|
* Add DateTime.add function (#8402)Lau Taarnskov2018-11-204-14/+131
|
* Fix direct `Logger.log` call in case of compile_time_purge_matching logger ↵Ivan Mironov2018-11-202-6/+16
| | | | option (#8391)
* Improve error message for `BadFunctionError` (#8408)Devon Estes2018-11-202-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 Fischer2018-11-201-5/+7
|
* Use proper calendar types (#8403)Fernando Tapia Rico2018-11-181-4/+4
|
* Use "time zone" instead of "timezone" (#8404)Fernando Tapia Rico2018-11-183-5/+5
| | | [ci skip]
* Introduce IEx.Server.run/1 (#8395)José Valim2018-11-1711-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 Jichev2018-11-176-3/+55
|
* Add missing ExUnit improvement to CHANGELOG (#8397)Devon Estes2018-11-161-0/+1
|