elixir-plug/plug 2369
A specification and conveniences for composable modules between web applications
An opinionated Elixir style guide
lexhide/xandra 244
Fast, simple, and robust Cassandra driver for Elixir.
lexmag/msgpax 224
High-performance and comprehensive MessagePack implementation for Elixir / msgpack.org[Elixir]
High-performance and reliable InfluxDB writer for Elixir
A read-only and immutable MIME type module for Elixir
An OAuth 1.0 for Elixir
lexmag/dicon 37
Simple release deliverer for Elixir
Tiny library to convert from "encoded" maps to Elixir structs.
Basic Access Authentication in Plug applications
push eventelixir-lang/elixir
commit sha 8fca53ad314501e193a4ab21ec2191a0f37600ce
Ensure deprecated macros emit warnings
push time in 4 hours
push eventelixir-lang/elixir
commit sha dac03b17c214689f940864de37c2286bed87d336
Ensure deprecated macros emit warnings
push time in 4 hours
Pull request review commenterlang/otp
ssl: Fix signature algorithm selection for ECDSA
get_cert_params(Cert) -> _ -> undefined end,- {SignAlgo, Param, PublicKeyAlgo, RSAKeySize}.+ Curve = get_ec_curve(TBSCert#'OTPTBSCertificate'.subjectPublicKeyInfo),+ {SignAlgo, Param, PublicKeyAlgo, RSAKeySize, Curve}.++get_ec_curve(#'OTPSubjectPublicKeyInfo'{+ algorithm = #'PublicKeyAlgorithm'{+ algorithm = {1,2,840,10045,2,1},
Done.
comment created time in 6 hours
pull request commentelixir-lang/elixir
Fix normalization of partial keyword list elements
:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:
comment created time in 7 hours
push eventelixir-lang/elixir
commit sha fb7179ff713c7fc9444307eb563c289a03505c1c
Fix normalization of partial keyword list elements (#11084)
push time in 7 hours
PR merged elixir-lang/elixir
The Elixir.Normalizer lets us feed any arbitrary AST to the formatter, but if the user provides a list, and an element is a 2-tuple that is not one of the last elements, and the first element is a wrapped atom with format: :keyword metadata, then the formatter will happily print it as a keyword list element, despite it being invalid syntax, for example:
iex> opts = [literal_encoder: &{:ok, {:__block__, &2, [&1]}}]
iex> {_, _, [[tuple]]} = Code.string_to_quoted("[a: b]", opts)
iex> Macro.to_string([tuple, :not_a_tuple, tuple])
"[a: b, :not_a_tuple, a: b]"
With this PR we would get the expected output:
iex> Macro.to_string([tuple, :not_a_tuple, tuple])
"[{:a, b}, :not_a_tuple, a: b]"
pr closed time in 7 hours
PR opened elixir-lang/elixir
The Elixir.Normalizer lets us feed any arbitrary AST to the formatter, but if the user provides a list, and an element is a 2-tuple that is not one of the last elements, and the first element is a wrapped atom with format: :keyword metadata, then the formatter will happily print it as a keyword list element, despite it being invalid syntax, for example:
iex> opts = [literal_encoder: &{:ok, {:__block__, &2, [&1]}}]
iex> {_, _, [[tuple]]} = Code.string_to_quoted("[a: b]", opts)
iex> Macro.to_string([tuple, :not_a_tuple, tuple])
"[a: b, :not_a_tuple, a: b]"
With this PR we would get the expected output:
iex> Macro.to_string([tuple, :not_a_tuple, tuple])
"[{:a, b}, :not_a_tuple, a: b]"
pr created time in 7 hours
startedlexmag/statix
started time in 7 hours
pull request commentelixir-ecto/postgrex
Fix invalid type error after failover
Maybe the same change should be done for the streaming of a prepared query?
I will review this soon but I just want to say the answer to this question is yes. :)
ok will do :)
comment created time in 8 hours
issue openederlang/otp
Cannot Call WX Copy Constructor
Describe the bug
It's impossible to call this copy constructor. The reason is that the color constructor above it matches a four element tuple (for {r, g, b, a}) and a wx_ref is also a four element tuple. Possible solutions might be to put record pattern matches above colors or to have color pattern matching check that at least their first element is a number.
To Reproduce
1> wx:new().
{wx_ref,0,wx,[]}
2> T = wxTextAttr:new().
{wx_ref,35,wxTextAttr,[]}
3> wxTextAttr:new(T).
** exception error: {{badarg,"colText"},{wxTextAttr,new,2}}
in function wxe_util:rec/1 (wxe_util.erl, line 110)
Expected behavior
It should not crash. It should return a reference to a new wxTextAttr instance.
Affected versions
OTP 24
created time in 8 hours
pull request commentelixir-ecto/postgrex
Fix invalid type error after failover
Maybe the same change should be done for the streaming of a prepared query?
I will review this soon but I just want to say the answer to this question is yes. :)
comment created time in 8 hours
PR opened elixir-ecto/postgrex
This PR fixes https://github.com/elixir-ecto/postgrex/issues/550
The change to recv_parse_describe ensures that in case the Protocol & Query's types differ, the Query gets a new ref (to trigger an update to the Ecto cache) and gets the Protocol's types (both of these are done in describe_result/4).
Todo:
- [ ] Maybe the same change should be done for the streaming of a prepared query?
pr created time in 10 hours
pull request commenterlang/otp
observer: add button to trace all processes and ports
Makes sense. I pushed a change for that.
comment created time in 11 hours
PR opened phoenixframework/phoenix
This is a complementation of https://github.com/phoenixframework/phoenix/pull/4337.
Things done:
- Removed the Node.js version requirement from the installation guide
- Added instead the "engines" field with node >=14.x to the
package.json
pr created time in 11 hours
Pull request review commenterlang/otp
epp: Fix inconsistent handling of undefined pre-defined macros
scan_ifdef(Toks, IfDef, From, St) -> wait_req_skip(St, [ifdef]). scan_ifndef([{'(',_Alp},{atom,_Am,M},{')',_Arp},{dot,_Ad}], _IfnD, From, St) ->- case St#epp.macs of- #{M:=_Def} ->+ case is_macro_defined(M, St) of+ true -> skip_toks(From, St, [ifndef]);- _ ->+ false -> scan_toks(From, St#epp{istk=[ifndef|St#epp.istk]}) end; scan_ifndef([{'(',_Alp},{var,_Am,M},{')',_Arp},{dot,_Ad}], _IfnD, From, St) ->- case St#epp.macs of- #{M:=_Def} ->+ case is_macro_defined(M, St) of+ true -> skip_toks(From, St, [ifndef]);- _ ->+ false -> scan_toks(From, St#epp{istk=[ifndef|St#epp.istk]}) end; scan_ifndef(Toks, IfnDef, From, St) -> T = find_mismatch(['(',var_or_atom,')',dot], Toks, IfnDef), epp_reply(From, {error,{loc(T),epp,{bad,ifndef}}}), wait_req_skip(St, [ifndef]). +is_macro_defined(Name, #epp{macs=Macs}) ->+ case Macs of+ #{Name := undefined} -> false;
Good, so this can be resolved.
comment created time in 11 hours
issue commenterlang/otp
process waits spawn_opt/5 more than 4 hours
So far I was not able to reproduce this issue.
I think it may be explained by the fact that voluntarily I can break connection between nodes only in a predictable and conventional way. My user rights in the environment where I observed this situation are limited: I'm not able to kill docker container neither with erl process (my application) nor with istio (networking).
I tried to reproduce the issue just by killing erl process on one of cluster nodes from inside the docker container shell, but this is handled correctly, and I observed only expected behavior.
comment created time in 11 hours
pull request commentelixir-ecto/postgrex
:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:
comment created time in 12 hours
push eventelixir-ecto/postgrex
commit sha 17e25445a06e73e9016b19695c1bb3ab4991166a
Require elixir v11+ (#554)
push time in 12 hours
PR merged elixir-ecto/postgrex
Since https://github.com/elixir-ecto/postgrex/pull/547, Postgrex requires elixir v11 or superior.
pr closed time in 12 hours
PR opened elixir-ecto/postgrex
Since https://github.com/elixir-ecto/postgrex/pull/547, Postgrex requires elixir v11 or superior.
pr created time in 12 hours
Pull request review commenterlang/otp
epp: Fix inconsistent handling of undefined pre-defined macros
scan_ifdef(Toks, IfDef, From, St) -> wait_req_skip(St, [ifdef]). scan_ifndef([{'(',_Alp},{atom,_Am,M},{')',_Arp},{dot,_Ad}], _IfnD, From, St) ->- case St#epp.macs of- #{M:=_Def} ->+ case is_macro_defined(M, St) of+ true -> skip_toks(From, St, [ifndef]);- _ ->+ false -> scan_toks(From, St#epp{istk=[ifndef|St#epp.istk]}) end; scan_ifndef([{'(',_Alp},{var,_Am,M},{')',_Arp},{dot,_Ad}], _IfnD, From, St) ->- case St#epp.macs of- #{M:=_Def} ->+ case is_macro_defined(M, St) of+ true -> skip_toks(From, St, [ifndef]);- _ ->+ false -> scan_toks(From, St#epp{istk=[ifndef|St#epp.istk]}) end; scan_ifndef(Toks, IfnDef, From, St) -> T = find_mismatch(['(',var_or_atom,')',dot], Toks, IfnDef), epp_reply(From, {error,{loc(T),epp,{bad,ifndef}}}), wait_req_skip(St, [ifndef]). +is_macro_defined(Name, #epp{macs=Macs}) ->+ case Macs of+ #{Name := undefined} -> false;
It's my understanding that defined macros are bound to {none,[Expr]} in that map, so there should be no issue.
comment created time in 12 hours
Pull request review commenterlang/otp
epp: Fix inconsistent handling of undefined pre-defined macros
scan_ifdef(Toks, IfDef, From, St) -> wait_req_skip(St, [ifdef]). scan_ifndef([{'(',_Alp},{atom,_Am,M},{')',_Arp},{dot,_Ad}], _IfnD, From, St) ->- case St#epp.macs of- #{M:=_Def} ->+ case is_macro_defined(M, St) of+ true -> skip_toks(From, St, [ifndef]);- _ ->+ false -> scan_toks(From, St#epp{istk=[ifndef|St#epp.istk]}) end; scan_ifndef([{'(',_Alp},{var,_Am,M},{')',_Arp},{dot,_Ad}], _IfnD, From, St) ->- case St#epp.macs of- #{M:=_Def} ->+ case is_macro_defined(M, St) of+ true -> skip_toks(From, St, [ifndef]);- _ ->+ false -> scan_toks(From, St#epp{istk=[ifndef|St#epp.istk]}) end; scan_ifndef(Toks, IfnDef, From, St) -> T = find_mismatch(['(',var_or_atom,')',dot], Toks, IfnDef), epp_reply(From, {error,{loc(T),epp,{bad,ifndef}}}), wait_req_skip(St, [ifndef]). +is_macro_defined(Name, #epp{macs=Macs}) ->+ case Macs of+ #{Name := undefined} -> false;
No, the value for your dummy macro would be represented as [{atom,Anno,undefined}], which is different from undefined used to mark a pre-defined macro currently without a value.
comment created time in 12 hours
push eventelixir-lang/ex_doc
commit sha 563f79ceb07754743d664adb38b6c09ce754b370
Add ExDoc.Language.autolink_doc/2 and autolink_spec/2 callbacks
commit sha 985f2eaf5e027cd71173c03b8192175d53856e42
Prepare for autolinking Erlang docs
commit sha 9df725bee8eb714a79efa7d5548f3f5664bb3cd2
walk -> walk_doc
commit sha 544b2b20c42db837b80349cbe91e646ffb39820e
Start moving code back to Autolink
commit sha 08399bf273c5005b681b04b3df2f299abd20f5e2
Initial support for autolinking Erlang docs
push time in 12 hours
PR opened erlang/otp
Clean up the help text that the emulator prints when an invalid option is given.
The following errors were fixed:
-
The description of
-asmdumpwas removed, and the description of the option under its new name-JDdumpwas added. -
Added description of
-JPperf. -
Added a few missing newlines.
I also made the following changes to make the style more consistent between descriptions:
-
All descriptions now start with a verb with its initial letter in lowercase. (For example, "suggested stack size..." was changed to "suggest stack size...".)
-
A comma before an independent clause such "valid range is..." was changed to semicolon.
-
The period at the end of each description was removed.
-
The clause "see the erl(1) documentation for more info" was removed as it sort of applies to every description. References to other manual pages (such as to erts_alloc(3) were kept).
For easy of reading I did the following changes:
-
Added spaces around
|in list of alternative. For example, "default|legacy" was changed to "default | legacy". -
Inserted blank lines between group of options with a new initial letter.
pr created time in 12 hours
push eventelixir-lang/ex_doc
commit sha 711afe6717fe7480c49bab4794eabf6fcfddfd10
Initial support for autolinking Erlang docs
push time in 13 hours
push eventelixir-lang/ex_doc
commit sha 07603c1421632fcc1d1f646d71d018261b91ac59
Initial support for autolinking Erlang docs
push time in 13 hours