From michael.santos@REDACTED Sat Nov 3 15:49:56 2012
From: michael.santos@REDACTED (Michael Santos)
Date: Sat, 3 Nov 2012 10:49:56 -0400
Subject: [erlang-patches] [PATCH] epmd: support IPv6 node registration
In-Reply-To: <20120807231358.GA30451@ioctl>
References: <20120807231358.GA30451@ioctl>
Message-ID: <20121103144956.GF29060@ioctl>
On Tue, Aug 07, 2012 at 07:13:58PM -0400, Michael Santos wrote:
> Allow IPv6 nodes to register with and query epmd. On systems with
> IPv6 support:
>
> * epmd listens on the IPv4 and IPv6 ANY or loopback sockets
>
> * the epmd cli client connects to epmd using the IPv6 loopback
>
> * distributed nodes started with "-proto_dist inet6_tcp" will register
> with epmd over IPv6
ping! (or should that be ICMP6_ECHO_REQUEST ...)
> ---
> erts/doc/src/epmd.xml | 2 +-
> erts/doc/src/erl.xml | 22 +++++
> erts/epmd/src/epmd.c | 6 +-
> erts/epmd/src/epmd_cli.c | 11 ++-
> erts/epmd/src/epmd_int.h | 37 ++++----
> erts/epmd/src/epmd_srv.c | 184 +++++++++++++++++++++++++------------
> erts/epmd/test/epmd_SUITE.erl | 33 ++++++-
> lib/kernel/src/erl_epmd.erl | 18 ++--
> lib/kernel/src/inet6_tcp_dist.erl | 2 +-
> 9 files changed, 222 insertions(+), 93 deletions(-)
From n.oxyde@REDACTED Sat Nov 3 19:02:56 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Sat, 3 Nov 2012 19:02:56 +0100
Subject: [erlang-patches] Promote compiler option 'inline_list_funcs'
Message-ID:
The compiler option inline_list_funcs has been present in Erlang/OTP
since at least release R9B0. It enables the inlining of the most used
list manipulation functions of the stdlib's lists module.
This couple of commits fix some wrong warnings triggered by the option
if the result of the inlined function is not actually used and mention
it in the documentation.
https://github.com/nox/otp/compare/promote-inline_list_funcs
https://github.com/nox/otp/compare/promote-inline_list_funcs.patch
Regards,
The following changes since commit d5733bc3e34449affde2594d85b905c8ab440d42:
Merge branch 'egil/ensure-erl_crash.dump/OTP-10422' into maint
(2012-10-24 14:20:26 +0200)
are available in the git repository at:
https://github.com/nox/otp promote-inline_list_funcs
for you to fetch changes up to 6ac8429cbe1072af6d615f668523237a2d040ed0:
Document compiler option 'inline_list_funcs' (2012-11-03 18:55:07 +0100)
----------------------------------------------------------------
Anthony Ramine (2):
Silence some wrong warnings triggered by inline_list_funcs
Document compiler option 'inline_list_funcs'
lib/compiler/doc/src/compile.xml | 26 ++++++++++++++++++++++++++
lib/compiler/src/sys_core_fold.erl | 20 ++++++++++++++------
2 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/lib/compiler/doc/src/compile.xml b/lib/compiler/doc/src/compile.xml
index 27d750f..e9375d6 100644
--- a/lib/compiler/doc/src/compile.xml
+++ b/lib/compiler/doc/src/compile.xml
@@ -816,6 +816,32 @@ pi() -> 3.1416.
+ Inlining of list functions
+
The compiler can also inline a variety of list manipulation functions
+ from the stdlib's lists module.
+
+
This feature must be explicitely enabled with a compiler option or a
+ -compile() attribute in the source module.
+
+
To enable inlining of list functions, use the inline_list_funcs
+ option.
Parse transformations are used when a programmer wants to use
diff --git a/lib/compiler/src/sys_core_fold.erl
b/lib/compiler/src/sys_core_fold.erl
index 18fba79..17397be 100644
--- a/lib/compiler/src/sys_core_fold.erl
+++ b/lib/compiler/src/sys_core_fold.erl
@@ -756,6 +756,7 @@ call_1(#c_call{anno=Anno}, lists, map, [Arg1,Arg2], Sub) ->
op=F,
args=[X]},
body=#c_cons{hd=H,
+ anno=[compiler_generated],
tl=#c_apply{anno=Anno,
op=Loop,
args=[Xs]}}}},
@@ -780,7 +781,7 @@ call_1(#c_call{anno=Anno}, lists, flatmap,
[Arg1,Arg2], Sub) ->
C1 = #c_clause{pats=[#c_cons{hd=X, tl=Xs}], guard=#c_literal{val=true},
body=#c_let{vars=[H],
arg=#c_apply{anno=Anno, op=F, args=[X]},
- body=#c_call{anno=Anno,
+ body=#c_call{anno=[compiler_generated|Anno],
module=#c_literal{val=erlang},
name=#c_literal{val='++'},
args=[H,
@@ -807,7 +808,7 @@ call_1(#c_call{anno=Anno}, lists, filter,
[Arg1,Arg2], Sub) ->
B = #c_var{name='B'},
Err1 = #c_tuple{es=[#c_literal{val='case_clause'}, X]},
CC1 = #c_clause{pats=[#c_literal{val=true}], guard=#c_literal{val=true},
- body=#c_cons{hd=X, tl=Xs}},
+ body=#c_cons{anno=[compiler_generated], hd=X, tl=Xs}},
CC2 = #c_clause{pats=[#c_literal{val=false}], guard=#c_literal{val=true},
body=Xs},
CC3 = #c_clause{pats=[X], guard=#c_literal{val=true},
@@ -901,7 +902,10 @@ call_1(#c_call{anno=Anno}, lists, mapfoldl,
[Arg1,Arg2,Arg3], Sub) ->
op=Loop,
args=[Xs, Avar]},
#c_tuple{es=[Xs, Avar]},
- #c_tuple{es=[#c_cons{hd=X, tl=Xs}, Avar]})
+ #c_tuple{anno=[compiler_generated],
+ es=[#c_cons{anno=[compiler_generated],
+ hd=X, tl=Xs},
+ Avar]})
%%% Multiple-value version
%%% #c_let{vars=[Xs,A],
%%% %% The tuple here will be optimised
@@ -912,7 +916,8 @@ call_1(#c_call{anno=Anno}, lists, mapfoldl,
[Arg1,Arg2,Arg3], Sub) ->
)},
C2 = #c_clause{pats=[#c_literal{val=[]}], guard=#c_literal{val=true},
%%% Tuple passing version
- body=#c_tuple{es=[#c_literal{val=[]}, Avar]}},
+ body=#c_tuple{anno=[compiler_generated],
+ es=[#c_literal{val=[]}, Avar]}},
%%% Multiple-value version
%%% body=#c_values{es=[#c_literal{val=[]}, A]}},
Err = #c_tuple{es=[#c_literal{val='function_clause'}, Xs]},
@@ -955,7 +960,9 @@ call_1(#c_call{anno=Anno}, lists, mapfoldr,
[Arg1,Arg2,Arg3], Sub) ->
#c_tuple{es=[Xs, Avar]},
Match(#c_apply{anno=Anno, op=F, args=[X, Avar]},
#c_tuple{es=[X, Avar]},
- #c_tuple{es=[#c_cons{hd=X, tl=Xs}, Avar]}))
+ #c_tuple{anno=[compiler_generated],
+ es=[#c_cons{anno=[compiler_generated],
+ hd=X, tl=Xs}, Avar]}))
%%% Multiple-value version
%%% body=#c_let{vars=[Xs,A],
%%% %% The tuple will be optimised away
@@ -967,7 +974,8 @@ call_1(#c_call{anno=Anno}, lists, mapfoldr,
[Arg1,Arg2,Arg3], Sub) ->
},
C2 = #c_clause{pats=[#c_literal{val=[]}], guard=#c_literal{val=true},
%%% Tuple passing version
- body=#c_tuple{es=[#c_literal{val=[]}, Avar]}},
+ body=#c_tuple{anno=[compiler_generated],
+ es=[#c_literal{val=[]}, Avar]}},
%%% Multiple-value version
%%% body=#c_values{es=[#c_literal{val=[]}, A]}},
Err = #c_tuple{es=[#c_literal{val='function_clause'}, Xs]},
--
Anthony Ramine
From n.oxyde@REDACTED Sat Nov 3 19:35:33 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Sat, 3 Nov 2012 19:35:33 +0100
Subject: [erlang-patches] Promote compiler option 'inline_list_funcs'
In-Reply-To:
References:
Message-ID:
I've fixed a small typo, the HEAD commit is now
d790aefafa81afbf14d210629d1f178e457337c5.
Regards,
On Sat, Nov 3, 2012 at 7:02 PM, Anthony Ramine wrote:
> The compiler option inline_list_funcs has been present in Erlang/OTP
> since at least release R9B0. It enables the inlining of the most used
> list manipulation functions of the stdlib's lists module.
>
> This couple of commits fix some wrong warnings triggered by the option
> if the result of the inlined function is not actually used and mention
> it in the documentation.
>
> https://github.com/nox/otp/compare/promote-inline_list_funcs
> https://github.com/nox/otp/compare/promote-inline_list_funcs.patch
>
> Regards,
>
>
> The following changes since commit d5733bc3e34449affde2594d85b905c8ab440d42:
>
> Merge branch 'egil/ensure-erl_crash.dump/OTP-10422' into maint
> (2012-10-24 14:20:26 +0200)
>
> are available in the git repository at:
>
> https://github.com/nox/otp promote-inline_list_funcs
>
> for you to fetch changes up to 6ac8429cbe1072af6d615f668523237a2d040ed0:
>
> Document compiler option 'inline_list_funcs' (2012-11-03 18:55:07 +0100)
>
> ----------------------------------------------------------------
> Anthony Ramine (2):
> Silence some wrong warnings triggered by inline_list_funcs
> Document compiler option 'inline_list_funcs'
>
> lib/compiler/doc/src/compile.xml | 26 ++++++++++++++++++++++++++
> lib/compiler/src/sys_core_fold.erl | 20 ++++++++++++++------
> 2 files changed, 40 insertions(+), 6 deletions(-)
From tjarvstrand@REDACTED Sun Nov 4 15:54:18 2012
From: tjarvstrand@REDACTED (=?ISO-8859-1?Q?Thomas_J=E4rvstrand?=)
Date: Sun, 4 Nov 2012 15:54:18 +0100
Subject: [erlang-patches] Additional error-handling file:path_open/3
Message-ID:
Hi!
file:path_open/3 currently doesn't handle eisdir or enotdir return values
from file:open/2. Suppose we want to do path_open(["dir1", "dir2"],
"sub/file") and dir2/sub/file is the actual path of the file that we are
looking for. The effect of not handling these error cases is that the call
will fail if dir1 happens to contain either a regular file called sub
(file:open/2 returns enotdir) or a directory sub that in turn contains a
directory file (file:open/2 return eisdir).
This patch handles these extra error cases in file:path_open/3
Repo:
git fetch git@REDACTED:tjarvstrand/otp.git
additional-error-cases-in-path_open
Comparison:
https://github.com/tjarvstrand/otp/compare/additional-error-cases-in-path_open
https://github.com/tjarvstrand/otp/compare/additional-error-cases-in-path_open.patch
Regards
Thomas J?rvstrand
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Tue Nov 6 10:09:37 2012
From: henrik@REDACTED (Henrik Nord)
Date: Tue, 6 Nov 2012 10:09:37 +0100
Subject: [erlang-patches] [PATCH] epmd: support IPv6 node registration
In-Reply-To: <20121103144956.GF29060@ioctl>
References: <20120807231358.GA30451@ioctl> <20121103144956.GF29060@ioctl>
Message-ID: <5098D3D1.8050903@erlang.org>
Thank you, I have added this patch to 'master-pu'
On 11/03/2012 03:49 PM, Michael Santos wrote:
> On Tue, Aug 07, 2012 at 07:13:58PM -0400, Michael Santos wrote:
>> Allow IPv6 nodes to register with and query epmd. On systems with
>> IPv6 support:
>>
>> * epmd listens on the IPv4 and IPv6 ANY or loopback sockets
>>
>> * the epmd cli client connects to epmd using the IPv6 loopback
>>
>> * distributed nodes started with "-proto_dist inet6_tcp" will register
>> with epmd over IPv6
> ping! (or should that be ICMP6_ECHO_REQUEST ...)
>
>> ---
>> erts/doc/src/epmd.xml | 2 +-
>> erts/doc/src/erl.xml | 22 +++++
>> erts/epmd/src/epmd.c | 6 +-
>> erts/epmd/src/epmd_cli.c | 11 ++-
>> erts/epmd/src/epmd_int.h | 37 ++++----
>> erts/epmd/src/epmd_srv.c | 184 +++++++++++++++++++++++++------------
>> erts/epmd/test/epmd_SUITE.erl | 33 ++++++-
>> lib/kernel/src/erl_epmd.erl | 18 ++--
>> lib/kernel/src/inet6_tcp_dist.erl | 2 +-
>> 9 files changed, 222 insertions(+), 93 deletions(-)
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
From lemenkov@REDACTED Tue Nov 6 10:25:37 2012
From: lemenkov@REDACTED (Peter Lemenkov)
Date: Tue, 6 Nov 2012 12:25:37 +0300
Subject: [erlang-patches] [PATCH] epmd: support IPv6 node registration
In-Reply-To: <20120807231358.GA30451@ioctl>
References: <20120807231358.GA30451@ioctl>
Message-ID:
Hello All.
2012/8/8 Michael Santos :
> Allow IPv6 nodes to register with and query epmd. On systems with
> IPv6 support:
Just FYI - some time ago I wrote a simple yet fully functional drop-in
replacement for the server part of epmd:
* https://github.com/lemenkov/erlpmd
It also supports listening on a IPv6 addresses. So far it works quite
well and can be used for various testing purposes.
--
With best regards, Peter Lemenkov.
From henrik@REDACTED Tue Nov 6 15:18:42 2012
From: henrik@REDACTED (Henrik Nord)
Date: Tue, 6 Nov 2012 15:18:42 +0100
Subject: [erlang-patches] [PATCH] epmd: support IPv6 node registration
In-Reply-To: <20121103144956.GF29060@ioctl>
References: <20120807231358.GA30451@ioctl> <20121103144956.GF29060@ioctl>
Message-ID: <50991C42.9040302@erlang.org>
Does not compile under windows,
epmd_cli.c(145) : error C2037: left of 'sin6_family' specifies undefined struct/union 'sockaddr_in6'
epmd_cli.c(145) : error C2037: left of 'sin6_addr' specifies undefined struct/union 'sockaddr_in6'
epmd_cli.c(145) : error C2065: 'in6addr_loopback' : undeclared identifier
epmd_cli.c(145) : error C2037: left of 'sin6_port' specifies undefined struct/union 'sockaddr_in6'
epmd_cli.c(146) : error C2027: use of undefined type 'sockaddr_in6'
epmd_cli.c(146) : see declaration of 'sockaddr_in6'
On 11/03/2012 03:49 PM, Michael Santos wrote:
> On Tue, Aug 07, 2012 at 07:13:58PM -0400, Michael Santos wrote:
>> Allow IPv6 nodes to register with and query epmd. On systems with
>> IPv6 support:
>>
>> * epmd listens on the IPv4 and IPv6 ANY or loopback sockets
>>
>> * the epmd cli client connects to epmd using the IPv6 loopback
>>
>> * distributed nodes started with "-proto_dist inet6_tcp" will register
>> with epmd over IPv6
> ping! (or should that be ICMP6_ECHO_REQUEST ...)
>
>> ---
>> erts/doc/src/epmd.xml | 2 +-
>> erts/doc/src/erl.xml | 22 +++++
>> erts/epmd/src/epmd.c | 6 +-
>> erts/epmd/src/epmd_cli.c | 11 ++-
>> erts/epmd/src/epmd_int.h | 37 ++++----
>> erts/epmd/src/epmd_srv.c | 184 +++++++++++++++++++++++++------------
>> erts/epmd/test/epmd_SUITE.erl | 33 ++++++-
>> lib/kernel/src/erl_epmd.erl | 18 ++--
>> lib/kernel/src/inet6_tcp_dist.erl | 2 +-
>> 9 files changed, 222 insertions(+), 93 deletions(-)
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
From michael.santos@REDACTED Tue Nov 6 15:41:00 2012
From: michael.santos@REDACTED (Michael Santos)
Date: Tue, 6 Nov 2012 09:41:00 -0500
Subject: [erlang-patches] [PATCH] epmd: support IPv6 node registration
In-Reply-To: <50991C42.9040302@erlang.org>
References: <20120807231358.GA30451@ioctl> <20121103144956.GF29060@ioctl>
<50991C42.9040302@erlang.org>
Message-ID: <20121106144100.GA30360@ioctl>
On Tue, Nov 06, 2012 at 03:18:42PM +0100, Henrik Nord wrote:
> Does not compile under windows,
>
>
> epmd_cli.c(145) : error C2037: left of 'sin6_family' specifies undefined struct/union 'sockaddr_in6'
> epmd_cli.c(145) : error C2037: left of 'sin6_addr' specifies undefined struct/union 'sockaddr_in6'
> epmd_cli.c(145) : error C2065: 'in6addr_loopback' : undeclared identifier
> epmd_cli.c(145) : error C2037: left of 'sin6_port' specifies undefined struct/union 'sockaddr_in6'
> epmd_cli.c(146) : error C2027: use of undefined type 'sockaddr_in6'
> epmd_cli.c(146) : see declaration of 'sockaddr_in6'
Seems Windows defines sockaddr_in6 in ws2tcpip.h. Something like this
should get the compile working a bit further:
diff --git a/erts/epmd/src/epmd_int.h b/erts/epmd/src/epmd_int.h
index 14d05c3..ae7cbcb 100644
--- a/erts/epmd/src/epmd_int.h
+++ b/erts/epmd/src/epmd_int.h
@@ -49,6 +49,7 @@
# ifndef WINDOWS_H_INCLUDES_WINSOCK2_H
# include
# endif
+# include
# include
# include
#endif
I'll regenerate the patch. Sorry for the problem! No windows systems to
test with here.
> On 11/03/2012 03:49 PM, Michael Santos wrote:
> >On Tue, Aug 07, 2012 at 07:13:58PM -0400, Michael Santos wrote:
> >>Allow IPv6 nodes to register with and query epmd. On systems with
> >>IPv6 support:
> >>
> >>* epmd listens on the IPv4 and IPv6 ANY or loopback sockets
> >>
> >>* the epmd cli client connects to epmd using the IPv6 loopback
> >>
> >>* distributed nodes started with "-proto_dist inet6_tcp" will register
> >> with epmd over IPv6
> >ping! (or should that be ICMP6_ECHO_REQUEST ...)
> >
> >>---
> >> erts/doc/src/epmd.xml | 2 +-
> >> erts/doc/src/erl.xml | 22 +++++
> >> erts/epmd/src/epmd.c | 6 +-
> >> erts/epmd/src/epmd_cli.c | 11 ++-
> >> erts/epmd/src/epmd_int.h | 37 ++++----
> >> erts/epmd/src/epmd_srv.c | 184 +++++++++++++++++++++++++------------
> >> erts/epmd/test/epmd_SUITE.erl | 33 ++++++-
> >> lib/kernel/src/erl_epmd.erl | 18 ++--
> >> lib/kernel/src/inet6_tcp_dist.erl | 2 +-
> >> 9 files changed, 222 insertions(+), 93 deletions(-)
> >_______________________________________________
> >erlang-patches mailing list
> >erlang-patches@REDACTED
> >http://erlang.org/mailman/listinfo/erlang-patches
>
> --
> /Henrik Nord Erlang/OTP
>
From tjarvstrand@REDACTED Tue Nov 6 19:50:27 2012
From: tjarvstrand@REDACTED (=?ISO-8859-1?Q?Thomas_J=E4rvstrand?=)
Date: Tue, 6 Nov 2012 19:50:27 +0100
Subject: [erlang-patches] Tweaking regexp in erlang-font-lock-keywords-vars
Message-ID:
Hi!
Currently font-lock fontification in erlang-mode fails for the first erlang
variable in the fontification region if the region to fontify starts on the
same position as the variable. This is because the current regexp requires
at least one character (any character except #) to be present before the
actual variable names starts. This patch tweaks the regexp slightly to
allow either a start-of-word or a non-# at the head of the variable-name.
The use case is that I'm trying to accomplish syntax highlighting in the
erlang-shell inside Emacs and the problem I encountered was that in the
following example only Bar would be highlighted as a variable.
1> Foo = Bar.
>
Repo:
git fetch git@REDACTED:tjarvstrand/otp.git erlang-font-lock-keyword-vars
Comparison:
https://github.com/tjarvstrand/otp/compare/erlang-font-lock-keyword-vars
https://github.com/tjarvstrand/otp/compare/erlang-font-lock-keyword-vars.patch
Regards
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From tjarvstrand@REDACTED Tue Nov 6 23:51:18 2012
From: tjarvstrand@REDACTED (=?ISO-8859-1?Q?Thomas_J=E4rvstrand?=)
Date: Tue, 6 Nov 2012 23:51:18 +0100
Subject: [erlang-patches] Tweaking regexp in
erlang-font-lock-keywords-vars
In-Reply-To:
References:
Message-ID:
Please disregard this patch, it does not work as intended. Sorry for the
noise.
Thomas
2012/11/6 Thomas J?rvstrand
> Hi!
>
> Currently font-lock fontification in erlang-mode fails for the first
> erlang variable in the fontification region if the region to fontify starts
> on the same position as the variable. This is because the current regexp
> requires at least one character (any character except #) to be present
> before the actual variable names starts. This patch tweaks the regexp
> slightly to allow either a start-of-word or a non-# at the head of the
> variable-name.
>
> The use case is that I'm trying to accomplish syntax highlighting in the
> erlang-shell inside Emacs and the problem I encountered was that in the
> following example only Bar would be highlighted as a variable.
>
> 1> Foo = Bar.
>>
>
> Repo:
> git fetch git@REDACTED:tjarvstrand/otp.git erlang-font-lock-keyword-vars
>
> Comparison:
> https://github.com/tjarvstrand/otp/compare/erlang-font-lock-keyword-vars
>
> https://github.com/tjarvstrand/otp/compare/erlang-font-lock-keyword-vars.patch
>
> Regards
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From michael.santos@REDACTED Wed Nov 7 01:24:17 2012
From: michael.santos@REDACTED (Michael Santos)
Date: Tue, 6 Nov 2012 19:24:17 -0500
Subject: [erlang-patches] [PATCH] epmd: support IPv6 node registration
Message-ID: <20121107002417.GA7235@ioctl>
Allow IPv6 nodes to register with and query epmd. On systems with
IPv6 support:
* epmd listens on the IPv4 and IPv6 ANY or loopback sockets
* the epmd cli client connects to epmd using the IPv6 loopback
* distributed nodes started with "-proto_dist inet6_tcp" will register
with epmd over IPv6
---
erts/doc/src/epmd.xml | 2 +-
erts/doc/src/erl.xml | 22 +++++
erts/epmd/src/epmd.c | 6 +-
erts/epmd/src/epmd_cli.c | 11 ++-
erts/epmd/src/epmd_int.h | 38 ++++----
erts/epmd/src/epmd_srv.c | 184 +++++++++++++++++++++++++------------
erts/epmd/test/epmd_SUITE.erl | 33 ++++++-
lib/kernel/src/erl_epmd.erl | 18 ++--
lib/kernel/src/inet6_tcp_dist.erl | 2 +-
9 files changed, 223 insertions(+), 93 deletions(-)
diff --git a/erts/doc/src/epmd.xml b/erts/doc/src/epmd.xml
index 3e70054..3c9313e 100644
--- a/erts/doc/src/epmd.xml
+++ b/erts/doc/src/epmd.xml
@@ -36,7 +36,7 @@
Erlang Port Mapper Daemon
-
+
Starts the port mapper daemon
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml
index 6221a23..09dc81e 100644
--- a/erts/doc/src/erl.xml
+++ b/erts/doc/src/erl.xml
@@ -381,6 +381,28 @@
similar to . See
code(3).
Parse transformations are used when a programmer wants to use
> diff --git a/lib/compiler/src/sys_core_fold.erl
> b/lib/compiler/src/sys_core_fold.erl
> index 18fba79..17397be 100644
> --- a/lib/compiler/src/sys_core_fold.erl
> +++ b/lib/compiler/src/sys_core_fold.erl
> @@ -756,6 +756,7 @@ call_1(#c_call{anno=Anno}, lists, map, [Arg1,Arg2], Sub) ->
> op=F,
> args=[X]},
> body=#c_cons{hd=H,
> + anno=[compiler_generated],
> tl=#c_apply{anno=Anno,
> op=Loop,
> args=[Xs]}}}},
> @@ -780,7 +781,7 @@ call_1(#c_call{anno=Anno}, lists, flatmap,
> [Arg1,Arg2], Sub) ->
> C1 = #c_clause{pats=[#c_cons{hd=X, tl=Xs}], guard=#c_literal{val=true},
> body=#c_let{vars=[H],
> arg=#c_apply{anno=Anno, op=F, args=[X]},
> - body=#c_call{anno=Anno,
> + body=#c_call{anno=[compiler_generated|Anno],
> module=#c_literal{val=erlang},
> name=#c_literal{val='++'},
> args=[H,
> @@ -807,7 +808,7 @@ call_1(#c_call{anno=Anno}, lists, filter,
> [Arg1,Arg2], Sub) ->
> B = #c_var{name='B'},
> Err1 = #c_tuple{es=[#c_literal{val='case_clause'}, X]},
> CC1 = #c_clause{pats=[#c_literal{val=true}], guard=#c_literal{val=true},
> - body=#c_cons{hd=X, tl=Xs}},
> + body=#c_cons{anno=[compiler_generated], hd=X, tl=Xs}},
> CC2 = #c_clause{pats=[#c_literal{val=false}], guard=#c_literal{val=true},
> body=Xs},
> CC3 = #c_clause{pats=[X], guard=#c_literal{val=true},
> @@ -901,7 +902,10 @@ call_1(#c_call{anno=Anno}, lists, mapfoldl,
> [Arg1,Arg2,Arg3], Sub) ->
> op=Loop,
> args=[Xs, Avar]},
> #c_tuple{es=[Xs, Avar]},
> - #c_tuple{es=[#c_cons{hd=X, tl=Xs}, Avar]})
> + #c_tuple{anno=[compiler_generated],
> + es=[#c_cons{anno=[compiler_generated],
> + hd=X, tl=Xs},
> + Avar]})
> %%% Multiple-value version
> %%% #c_let{vars=[Xs,A],
> %%% %% The tuple here will be optimised
> @@ -912,7 +916,8 @@ call_1(#c_call{anno=Anno}, lists, mapfoldl,
> [Arg1,Arg2,Arg3], Sub) ->
> )},
> C2 = #c_clause{pats=[#c_literal{val=[]}], guard=#c_literal{val=true},
> %%% Tuple passing version
> - body=#c_tuple{es=[#c_literal{val=[]}, Avar]}},
> + body=#c_tuple{anno=[compiler_generated],
> + es=[#c_literal{val=[]}, Avar]}},
> %%% Multiple-value version
> %%% body=#c_values{es=[#c_literal{val=[]}, A]}},
> Err = #c_tuple{es=[#c_literal{val='function_clause'}, Xs]},
> @@ -955,7 +960,9 @@ call_1(#c_call{anno=Anno}, lists, mapfoldr,
> [Arg1,Arg2,Arg3], Sub) ->
> #c_tuple{es=[Xs, Avar]},
> Match(#c_apply{anno=Anno, op=F, args=[X, Avar]},
> #c_tuple{es=[X, Avar]},
> - #c_tuple{es=[#c_cons{hd=X, tl=Xs}, Avar]}))
> + #c_tuple{anno=[compiler_generated],
> + es=[#c_cons{anno=[compiler_generated],
> + hd=X, tl=Xs}, Avar]}))
> %%% Multiple-value version
> %%% body=#c_let{vars=[Xs,A],
> %%% %% The tuple will be optimised away
> @@ -967,7 +974,8 @@ call_1(#c_call{anno=Anno}, lists, mapfoldr,
> [Arg1,Arg2,Arg3], Sub) ->
> },
> C2 = #c_clause{pats=[#c_literal{val=[]}], guard=#c_literal{val=true},
> %%% Tuple passing version
> - body=#c_tuple{es=[#c_literal{val=[]}, Avar]}},
> + body=#c_tuple{anno=[compiler_generated],
> + es=[#c_literal{val=[]}, Avar]}},
> %%% Multiple-value version
> %%% body=#c_values{es=[#c_literal{val=[]}, A]}},
> Err = #c_tuple{es=[#c_literal{val='function_clause'}, Xs]},
>
--
/Henrik Nord Erlang/OTP
From henrik@REDACTED Wed Nov 7 13:45:19 2012
From: henrik@REDACTED (Henrik Nord)
Date: Wed, 7 Nov 2012 13:45:19 +0100
Subject: [erlang-patches] Debugger settings
In-Reply-To:
References:
Message-ID: <509A57DF.8060006@erlang.org>
I have added your patch to 'master-pu'
Thank you for your contribution!
On 11/07/2012 09:48 AM, H?kan Mattsson wrote:
> The wxFileDialog behaves a bit different in Ubuntu 12.10.
> In the Debugger this caused the settings to be stored in
> $HOME instead of $HOME/.erlang_tools/debugger (or
> whatever the user has entered). This has been fixed.
>
> git fetch git://github.com/hawk/otp.git hawk/debugger_settings_dialog
>
> or viewed here
>
> https://github.com/hawk/otp/compare/hawk/debugger_settings_dialog
> https://github.com/hawk/otp/compare/hawk/debugger_settings_dialog.patch
>
> /H?kan
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
From aleksandr.vin@REDACTED Thu Nov 8 11:11:14 2012
From: aleksandr.vin@REDACTED (Aleksandr Vinokurov)
Date: Thu, 8 Nov 2012 14:11:14 +0400
Subject: [erlang-patches] Deep list argument error under Windows in os:cmd/1
Message-ID:
Because of leeway in implementing os:cmd/1 under different OS there is
a difference in results when calling it with deep list
argument. os:cmd/1 specifies io_lib:chars() type for its argument and
io_lib functions can produce deep lists inspite of io_lib:chars()
result type specification. This commit flattens the argument for
erlang:open_port/2 (which is used under Windows) and expands the
os_SUITE to regress the bug.
git fetch git://github.com/aleksandr-vin/otp.git maint-fix-os-cmd-win
or viewed here:
https://github.com/aleksandr-vin/otp/compare/maint-fix-os-cmd-winhttps://github.com/aleksandr-vin/otp/compare/maint-fix-os-cmd-win.patch
--
Aleksandr Vinokurov
+7 (921) 982-21-43
@aleksandrvin
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From gomoripeti@REDACTED Thu Nov 8 14:26:10 2012
From: gomoripeti@REDACTED (=?ISO-8859-1?Q?Peti_G=F6m=F6ri?=)
Date: Thu, 8 Nov 2012 14:26:10 +0100
Subject: [erlang-patches] Fix Table Viewer refresh crash
Message-ID:
Hi,
This minor patch handles the case when observer Table Viewer wants to
refresh an ets table which no more exists.
thanks
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-Table-Viewer-refresh-crash-on-no-more-existing-e.patch
Type: application/octet-stream
Size: 866 bytes
Desc: not available
URL:
From mc@REDACTED Thu Nov 8 22:11:28 2012
From: mc@REDACTED (Pedram Nimreezi)
Date: Thu, 8 Nov 2012 16:11:28 -0500
Subject: [erlang-patches] test
Message-ID:
test
--
/* Sincerely
--------------------------------------------------------------
Pedram Nimreezi - Chief Technology Officer */
// The hardest part of design ? is keeping features out. - Donald Norman
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From mc@REDACTED Fri Nov 9 00:55:09 2012
From: mc@REDACTED (Pedram Nimreezi)
Date: Thu, 8 Nov 2012 18:55:09 -0500
Subject: [erlang-patches] test
Message-ID:
test
--
/* Sincerely
--------------------------------------------------------------
Pedram Nimreezi - Chief Technology Officer */
// The hardest part of design ? is keeping features out. - Donald Norman
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From n.oxyde@REDACTED Sat Nov 10 16:28:30 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Sat, 10 Nov 2012 16:28:30 +0100
Subject: [erlang-patches] Return end locations in erl_scan
Message-ID:
Hi,
This branch adds a new option "end" to erl_scan. If set, it tracks and
returns end locations of each scanned token in their attributes as
`{'end', {EndLine, EndCol}}`.
https://github.com/nox/otp/compare/scan-end-locations
https://github.com/nox/otp/compare/scan-end-locations.patch
git fetch https://github.com/nox/otp scan-end-locations
Regards,
--
Anthony Ramine
From n.oxyde@REDACTED Sat Nov 10 16:35:40 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Sat, 10 Nov 2012 16:35:40 +0100
Subject: [erlang-patches] Optimize handling of local fun variables in
v3_kernel
Message-ID:
Hi,
This branch removes the so-called "reverse etha-conversion" from v3_kernel and
replaces it by a proper call to the make_fun internal BIF without the need of a
redundant lambda function every time the local fun variable is referenced.
There may be some test suites related to this in lib/compiler/test/
but I couldn't
find one; feel free to point me to them if any.
https://github.com/nox/otp/compare/rm-reverse-eta-conversion
https://github.com/nox/otp/compare/rm-reverse-eta-conversion.patch
git fetch https://github.com/nox/otp/ rm-reverse-eta-conversion
Regards,
--
Anthony Ramine
From mc@REDACTED Wed Nov 14 14:49:24 2012
From: mc@REDACTED (Pedram Nimreezi)
Date: Wed, 14 Nov 2012 08:49:24 -0500
Subject: [erlang-patches] Support ANSI in the console
Message-ID:
The ttsl driver strips ANSI escape sequences from the console.
This commit addresses that and allows for them to be supported.
https://github.com/DeadZen/otp/compare/maint...ansi-console
https://github.com/DeadZen/otp/compare/maint...ansi-console.patch
git fetch git://github.com/DeadZen/otp.git ansi-console
Supplemental Note...
This has been tested, used and abused for nearly a year, and should
apply cleanly to the last few major versions
Initially the patch was simply:
--- a/erts/emulator/drivers/unix/ttsl_drv.c 2011-05-24 07:16:43.000000000 -0400
+++ b/erts/emulator/drivers/unix/ttsl_drv.c 2011-12-10 14:24:23.000000000 -0500
@@ -912,6 +912,15 @@ static int insert_buf(byte *s, int n)
lbuf[lpos++] = (CONTROL_TAG | ((Uint32) ch));
ch = 0;
} while (lpos % 8);
+ } else if (ch == '\e') {
+ write_buf(lbuf + buffpos, lpos - buffpos);
+ outc('\e');
+
+ if (llen > lpos) {
+ memcpy(lbuf, lbuf + lpos, llen - lpos);
+ }
+ llen -= lpos;
+ lpos = buffpos = 0;
Recently I've compared various approaches, however, and decided to
push my patch and findings...
For instance I've compared this change to allowing for the ''\e"
control character 27 to these locations:
https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L901
https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L599
https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L609
but believe, the "console display control characters" section and the
smallest possible change would be here:
https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L915
I have thoroughly tested, including using a forked copy of the lager
application at high speed for extended durations here:
git fetch git://github.com/DeadZen/lager.git colors
For this patch I've reduced the affected lines to the smallest degree
I believe possible. Thank you.
--
/* Sincerely
--------------------------------------------------------------
Pedram Nimreezi - Chief Technology Officer */
// The hardest part of design ? is keeping features out. - Donald Norman
From n.oxyde@REDACTED Wed Nov 14 17:42:07 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Wed, 14 Nov 2012 17:42:07 +0100
Subject: [erlang-patches] EEP37: Funs with names
Message-ID:
This patch implements EEP37: Funs with names
This adds optional names to fun expressions. A named fun expression
is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse.
If a fun expression has a name, it must be present and be the same in
every of its clauses. The function name shadows the environment of the
expression shadowing the environment and it is shadowed by the
environment of the clauses' arguments. An unused function name triggers
a warning unless it is prefixed by _, just as every variable.
Variable _ is allowed as a function name.
It is not an error to put a named function in a record field default
value.
When transforming to Core Erlang, the named fun Fun is changed into
the following expression:
letrec 'Fun'/Arity =
fun (Args) ->
let = 'Fun'/Arity
in Case
in 'Fun'/Arity
where Args is the list of arguments of 'Fun'/Arity and Case the
Core Erlang expression corresponding to the clauses of Fun.
This transformation allows us to entirely skip any k_var to k_local
transformation in the fun's clauses bodies.
https://github.com/nox/otp/compare/erlang:master...eep37
https://github.com/nox/otp/compare/erlang:master...eep37.patch
git fetch https://github.com/nox/otp eep37
Regards,
--
Anthony Ramine
From jbothma@REDACTED Wed Nov 14 18:18:40 2012
From: jbothma@REDACTED (JD Bothma)
Date: Wed, 14 Nov 2012 18:18:40 +0100
Subject: [erlang-patches] Documentation of the 'ram' mode in the 'file'
module
Message-ID:
Here's basic documentation of the ram mode in the file module: https://github.com/jbothma/otp/tree/file-ram-opt-doc
I don't know if the fact that it's a port driver should be mentioned.
I thought I'd see if this is sufficient or at least along the right path before I go too far. Generally I think it's intuitive which functions can be used with the ram mode (e.g. make_symlink wouldn't make sense). I don't know if the modes supported (or otherwise) with the ram mode should be listed explicitly.
This is RE: http://erlang.org/pipermail/erlang-questions/2012-November/070586.html
Regards,
JD
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From n.oxyde@REDACTED Thu Nov 15 13:04:59 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Thu, 15 Nov 2012 13:04:59 +0100
Subject: [erlang-patches] EEP37: Funs with names
In-Reply-To:
References:
Message-ID:
Sorry for the double post, I thought it was erlang-eeps@ and not eeps@REDACTED
Le 14 nov. 2012 ? 17:42, Anthony Ramine a ?crit :
> This patch implements EEP37: Funs with names
>
> This adds optional names to fun expressions. A named fun expression
> is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse.
>
> If a fun expression has a name, it must be present and be the same in
> every of its clauses. The function name shadows the environment of the
> expression shadowing the environment and it is shadowed by the
> environment of the clauses' arguments. An unused function name triggers
> a warning unless it is prefixed by _, just as every variable.
> Variable _ is allowed as a function name.
>
> It is not an error to put a named function in a record field default
> value.
>
> When transforming to Core Erlang, the named fun Fun is changed into
> the following expression:
>
> letrec 'Fun'/Arity =
> fun (Args) ->
> let = 'Fun'/Arity
> in Case
> in 'Fun'/Arity
>
> where Args is the list of arguments of 'Fun'/Arity and Case the
> Core Erlang expression corresponding to the clauses of Fun.
>
> This transformation allows us to entirely skip any k_var to k_local
> transformation in the fun's clauses bodies.
>
> https://github.com/nox/otp/compare/erlang:master...eep37
> https://github.com/nox/otp/compare/erlang:master...eep37.patch
>
> git fetch https://github.com/nox/otp eep37
>
> Regards,
>
> --
> Anthony Ramine
>
From henrik@REDACTED Thu Nov 15 13:16:29 2012
From: henrik@REDACTED (Henrik Nord)
Date: Thu, 15 Nov 2012 13:16:29 +0100
Subject: [erlang-patches] Documentation of the 'ram' mode in the 'file'
module
In-Reply-To:
References:
Message-ID: <50A4DD1D.6030104@erlang.org>
I have added your patch to 'master-pu'
Please see https://github.com/erlang/otp/wiki/Submitting-patches
It always helps if you add these links to your patch submissions.
git fetch git://github.com/mygithub/otp.git my-cool-updates
https://github.com/mygithub/otp/compare/my-cool-updates
https://github.com/mygithub/otp/compare/my-cool-updates.patch
Other than that, Thank you for your contribution!
On 2012-11-14 18:18, JD Bothma wrote:
> Here's basic documentation of the ram mode in the file module:
> https://github.com/jbothma/otp/tree/file-ram-opt-doc
>
> I don't know if the fact that it's a port driver should be mentioned.
>
> I thought I'd see if this is sufficient or at least along the right
> path before I go too far. Generally I think it's intuitive which
> functions can be used with the ram mode (e.g. make_symlink wouldn't
> make sense). I don't know if the modes supported (or otherwise) with
> the ram mode should be listed explicitly.
>
> This is RE:
> http://erlang.org/pipermail/erlang-questions/2012-November/070586.html
>
> Regards,
> JD
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Thu Nov 15 13:20:54 2012
From: henrik@REDACTED (Henrik Nord)
Date: Thu, 15 Nov 2012 13:20:54 +0100
Subject: [erlang-patches] Support ANSI in the console
In-Reply-To:
References:
Message-ID: <50A4DE26.30402@erlang.org>
Thank you for your contribution, I have added the patch to 'master-pu'
On 2012-11-14 14:49, Pedram Nimreezi wrote:
> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L901
> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L599
> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L609
--
/Henrik Nord Erlang/OTP
From henrik@REDACTED Thu Nov 15 15:22:33 2012
From: henrik@REDACTED (Henrik Nord)
Date: Thu, 15 Nov 2012 15:22:33 +0100
Subject: [erlang-patches] EEP37: Funs with names
In-Reply-To:
References:
Message-ID: <50A4FAA9.1070706@erlang.org>
I will add this patch to 'master-pu'.
Thank you for your contribution!
On 2012-11-14 17:42, Anthony Ramine wrote:
> This patch implements EEP37: Funs with names
>
> This adds optional names to fun expressions. A named fun expression
> is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse.
>
> If a fun expression has a name, it must be present and be the same in
> every of its clauses. The function name shadows the environment of the
> expression shadowing the environment and it is shadowed by the
> environment of the clauses' arguments. An unused function name triggers
> a warning unless it is prefixed by _, just as every variable.
> Variable _ is allowed as a function name.
>
> It is not an error to put a named function in a record field default
> value.
>
> When transforming to Core Erlang, the named fun Fun is changed into
> the following expression:
>
> letrec 'Fun'/Arity =
> fun (Args) ->
> let = 'Fun'/Arity
> in Case
> in 'Fun'/Arity
>
> where Args is the list of arguments of 'Fun'/Arity and Case the
> Core Erlang expression corresponding to the clauses of Fun.
>
> This transformation allows us to entirely skip any k_var to k_local
> transformation in the fun's clauses bodies.
>
> https://github.com/nox/otp/compare/erlang:master...eep37
> https://github.com/nox/otp/compare/erlang:master...eep37.patch
>
> git fetch https://github.com/nox/otp eep37
>
> Regards,
>
--
/Henrik Nord Erlang/OTP
From n.oxyde@REDACTED Thu Nov 15 17:29:01 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Thu, 15 Nov 2012 17:29:01 +0100
Subject: [erlang-patches] Optimize handling of local fun variables in
v3_kernel
In-Reply-To:
References:
Message-ID: <9757CB06-32DF-468D-96A4-B52C0B98ADE2@gmail.com>
Hi,
I've added a commit to the branch (6eebc6c), it allows
the compiler to substitute local functions' names now that
v3_kernel doesn't create a lambda for every one of them it
encounters.
This optimizes a lot my implementation of EEP37.
Regards,
Le 10 nov. 2012 ? 16:35, Anthony Ramine a ?crit :
> Hi,
>
> This branch removes the so-called "reverse etha-conversion" from v3_kernel and
> replaces it by a proper call to the make_fun internal BIF without the need of a
> redundant lambda function every time the local fun variable is referenced.
>
> There may be some test suites related to this in lib/compiler/test/
> but I couldn't
> find one; feel free to point me to them if any.
>
> https://github.com/nox/otp/compare/rm-reverse-eta-conversion
> https://github.com/nox/otp/compare/rm-reverse-eta-conversion.patch
>
> git fetch https://github.com/nox/otp/ rm-reverse-eta-conversion
--
Anthony Ramine
From robert.virding@REDACTED Fri Nov 16 01:44:23 2012
From: robert.virding@REDACTED (Robert Virding)
Date: Fri, 16 Nov 2012 00:44:23 -0000 (GMT)
Subject: [erlang-patches] Optimize handling of local fun variables
in v3_kernel
In-Reply-To: <9757CB06-32DF-468D-96A4-B52C0B98ADE2@gmail.com>
Message-ID: <34a5f050-d6c4-42f7-82a0-9720d95c371e@knuth>
There seems to be an awful lot in this patch which has nothing to do with what the patch is about, most of it in fact. Is there a rebase missing or something here?
Robert
----- Original Message -----
> From: "Anthony Ramine"
> To: "erlang-patches"
> Sent: Thursday, 15 November, 2012 5:29:01 PM
> Subject: Re: [erlang-patches] Optimize handling of local fun variables in v3_kernel
>
> Hi,
>
> I've added a commit to the branch (6eebc6c), it allows
> the compiler to substitute local functions' names now that
> v3_kernel doesn't create a lambda for every one of them it
> encounters.
>
> This optimizes a lot my implementation of EEP37.
>
> Regards,
>
> Le 10 nov. 2012 ? 16:35, Anthony Ramine a ?crit :
>
> > Hi,
> >
> > This branch removes the so-called "reverse etha-conversion" from
> > v3_kernel and
> > replaces it by a proper call to the make_fun internal BIF without
> > the need of a
> > redundant lambda function every time the local fun variable is
> > referenced.
> >
> > There may be some test suites related to this in lib/compiler/test/
> > but I couldn't
> > find one; feel free to point me to them if any.
> >
> > https://github.com/nox/otp/compare/rm-reverse-eta-conversion
> > https://github.com/nox/otp/compare/rm-reverse-eta-conversion.patch
> >
> > git fetch https://github.com/nox/otp/ rm-reverse-eta-conversion
>
> --
> Anthony Ramine
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
>
From yamt@REDACTED Fri Nov 16 03:30:21 2012
From: yamt@REDACTED (YAMAMOTO Takashi)
Date: Fri, 16 Nov 2012 02:30:21 +0000 (UTC)
Subject: [erlang-patches] use a proper way to pull ssize_t definition
Message-ID: <20121116023021.F0E5714A1B4@mail.netbsd.org>
hi,
this change is necessary at least on netbsd.
i noticed this when building erlang-lz4.
https://github.com/yamt/otp/compare/erlang:master...ssize_t
https://github.com/yamt/otp/compare/erlang:master...ssize_t.patch
git fetch https://github.com/yamt/otp ssize_t
YAMAMOTO Takashi
From n.oxyde@REDACTED Fri Nov 16 10:24:54 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Fri, 16 Nov 2012 10:24:54 +0100
Subject: [erlang-patches] Optimize handling of local fun variables in
v3_kernel
In-Reply-To: <34a5f050-d6c4-42f7-82a0-9720d95c371e@knuth>
References: <34a5f050-d6c4-42f7-82a0-9720d95c371e@knuth>
Message-ID: <6732C8A6-8F18-4EC5-B48E-D0632643ADE3@gmail.com>
Hi Robert,
Sorry I couldn't send this patch earlier because I was behind a damn firewall that blocks outgoing SMTP.
As I have rebased my branch against master earlier,
the compare links should be:
https://github.com/nox/otp/compare/erlang:master...rm-reverse-eta-conversion
https://github.com/nox/otp/compare/erlang:master...rm-reverse-eta-conversion.patch
I've come to realize there is a bug in the second commit which I'll try to fix today: if a variable that is bound to a local name function is in a guard, the propagation of its value will make beam_validator errors out with {invalid_store,{yy,0}}.
You shouldn't bother looking at the second commit until I fix this.
Regards,
--
Anthony Ramine
Le 16 nov. 2012 ? 01:44, Robert Virding a ?crit :
> There seems to be an awful lot in this patch which has nothing to do with what the patch is about, most of it in fact. Is there a rebase missing or something here?
>
> Robert
From n.oxyde@REDACTED Fri Nov 16 18:26:36 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Fri, 16 Nov 2012 18:26:36 +0100
Subject: [erlang-patches] Optimize handling of local fun variables in
v3_kernel
In-Reply-To: <56DB6882-09AC-4F03-9736-492162253FA3@gmail.com>
References: <34a5f050-d6c4-42f7-82a0-9720d95c371e@knuth>
<6732C8A6-8F18-4EC5-B48E-D0632643ADE3@gmail.com>
<56DB6882-09AC-4F03-9736-492162253FA3@gmail.com>
Message-ID: <944A444D-C5B0-45B1-8FB0-DA1CB5FA04C6@gmail.com>
Err, forgot to include the mailing-list. Sorry.
You can now look at it there shouldn't be any bug.
--
Anthony Ramine
Le 16 nov. 2012 ? 18:23, Anthony Ramine a ?crit :
> The commit is amended and the bug is fixed, variables which values
> are local function names are substituted everywhere but in guards.
>
> --
> Anthony Ramine
>
> Le 16 nov. 2012 ? 10:24, Anthony Ramine a ?crit :
>
>> Hi Robert,
>>
>> Sorry I couldn't send this patch earlier because I was behind a damn firewall that blocks outgoing SMTP.
>>
>> As I have rebased my branch against master earlier,
>> the compare links should be:
>> https://github.com/nox/otp/compare/erlang:master...rm-reverse-eta-conversion
>> https://github.com/nox/otp/compare/erlang:master...rm-reverse-eta-conversion.patch
>>
>> I've come to realize there is a bug in the second commit which I'll try to fix today: if a variable that is bound to a local name function is in a guard, the propagation of its value will make beam_validator errors out with {invalid_store,{yy,0}}.
>>
>> You shouldn't bother looking at the second commit until I fix this.
>>
>> Le 16 nov. 2012 ? 01:44, Robert Virding a ?crit :
>>
>>> There seems to be an awful lot in this patch which has nothing to do with what the patch is about, most of it in fact. Is there a rebase missing or something here?
From antik@REDACTED Sat Nov 17 10:30:53 2012
From: antik@REDACTED (Ivan Dubovik)
Date: Sat, 17 Nov 2012 11:30:53 +0200
Subject: [erlang-patches] SNMP performance optimization
Message-ID:
Hi.
I have a lot of agents:
ets:i().
id name type size mem owner
----------------------------------------------------------------------------
...
snmpm_agent_table snmpm_agent_table set 42932 2287790 snmpm_config
Was:
fprof:analyse().
...
{[{{snmpm_server,agent_data,2}, 513,11826.813, 4.607},
{undefined, 0, 0.446, 0.000}],
{ {snmpm_config,agent_info,2}, 513,11827.259, 4.607}, %
[{{ets,match_object,2}, 513,11822.196,11524.680},
{{ets,select_trap,1}, 0, 0.446, 0.373},
{{snmpm_server,agent_data_item,2}, 1, 0.010, 0.008}]}.
...
Now:
{[{{snmpm_server,agent_data,2}, 906, 20.413, 6.341}],
{ {snmpm_server,agent_data_item,2}, 906, 20.413, 6.341}, %
[{{snmpm_config,agent_info,2}, 906, 14.072, 7.743}]}.
git fetch git://github.com/IvanDubovik/otp.git snmp_optimization
https://github.com/IvanDubovik/otp/compare/snmp_optimization
https://github.com/IvanDubovik/otp/compare/snmp_optimization.patch
From aschultz@REDACTED Sun Nov 18 12:30:14 2012
From: aschultz@REDACTED (Andreas Schultz)
Date: Sun, 18 Nov 2012 12:30:14 +0100 (CET)
Subject: [erlang-patches] TLS 1.2 hash fixes
In-Reply-To: <599380706.174395.1353237771373.JavaMail.root@tpip.net>
Message-ID: <1038051640.174409.1353238214895.JavaMail.root@tpip.net>
Hi Henrik,
Mail to henrik@REDACTED got reject, but I guess the patches ML should
be ok for this.
I have rebased both branches ssl-sha224-fixes and tls-psk-srp-suites.
I moved the patch that enables the required hashes for the psk and
srp TLS 1.2 ciphers to the proper branch. The ssl-sha224-fixes branch
now only contains the bit that advertises sha224 for TLS 1.2 handshakes.
https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes
https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes.patch
https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites
https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch
Regards
Andreas
----- Original Message -----
> Hi
>
> Can you also rebase this on current master.
>
> as/tls-psk-srp-suites
>
> Thank you
> On 2012-10-29 11:20, Henrik Nord wrote:
> > Then I suggest you move that commit to the branch introducing those
> > ciphers.
> >
> > And keep this branch as a advertise sha224 support branch
> >
> > /Henrik
> >
> > On 10/28/2012 04:25 PM, Andreas Schultz wrote:
> >> Hi,
> >>
> >> Please disregard my last mail. The SRP and PSK patches introduce
> >> TLS
> >> 1.2 ciphers
> >> that do default to sha384, so the extended hash_size method is
> >> required should the
> >> SPR and PSK ciphers be accepted.
> >>
> >> Andreas
> >>
> >> ----- Original Message -----
> >>> Hi,
> >>>
> >>> Here is an update to the sha224 ssl branch:
> >>> https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes
> >>>
> >>> Tree is correctly based on master now.
> >>>
> >>> I have dropped the hash_size changes. After reviewing the call
> >>> patch
> >>> for hash_size, it became apparent that the original comment is
> >>> correct.
> >>> I am absolutely sure that I did hit hash_size with a stronger
> >>> hash,
> >>> but
> >>> I am unable to reproduce it. So it is probably better to leave
> >>> that
> >>> alone.
> >>>
> >>> The other change still applies.
> >>>
> >>> Andreas
> >>>
> >>> ----- Original Message -----
> >>>> First and foremost:
> >>>> You should not base any branches on a ' pu' branch, as they will
> >>>> frequently be rebuilt from scratch on top of the current
> >>>> development
> >>>> branch.
> >>>> Base branches upon 'master' or 'maint' depending on where we are
> >>>> in
> >>>> the release cycle and if it is a feature or a bug etc.
> >>>> More information here:
> >>>> https://github.com/erlang/otp/wiki/Submitting-patches
> >>>>
> >>>> Secondly: Thank you for your contribution, I have rebased your
> >>>> branch
> >>>> upon 'master' and included it in 'master-pu'
> >>>>
> >>>> If this are to be included in master, you will most likely have
> >>>> to
> >>>> add this in the documentation, and in the test.
> >>>>
> >>>>
> >>>>
> >>>> On 10/18/2012 07:24 PM, Andreas Schultz wrote:
> >>>>
> >>>>
> >>>>
> >>>> Hi,
> >>>>
> >>>> Here are two changes to improve TLS 1.2 higher strength sha
> >>>> hashes.
> >>>>
> >>>> There is this comment in ssl_cipher:
> >>>>
> >>>> %% Currently no supported cipher suites defaults to sha384 or
> >>>> sha512
> >>>> %% so these clauses are not needed at the moment.
> >>>>
> >>>> I'm afraid that this is wrong. With TLS 1.2 the actual hash
> >>>> being
> >>>> used
> >>>> can be negotiated and is not longer fixed to the one specified
> >>>> in
> >>>> the
> >>>> cipher suite. So it is possible to end up with a stronger cipher
> >>>> even
> >>>> when we don't default to one.
> >>>>
> >>>> The other change adds sha224 to list of support and announced
> >>>> ciphers.
> >>>> It might not be as good as sha256, but should still be stronger
> >>>> that
> >>>> sha1.
> >>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes
> >>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch
> >>>>
> >>>> Both changes should apply cleanly on master and master-pu.
> >>>>
> >>>> Andreas
> >>>>
> >>>> --
> >>>> /Henrik Nord Erlang/OTP
> >>>>
> >>>> First and foremost:
> >>>> You should *not* base any branches on a '|pu'| branch, as they
> >>>> will
> >>>> frequently be rebuilt from scratch on top of the current
> >>>> development
> >>>> branch.
> >>>> Base branches upon 'master' or 'maint' depending on where we are
> >>>> in
> >>>> the
> >>>> release cycle and if it is a feature or a bug etc.
> >>>> More information here:
> >>>> https://github.com/erlang/otp/wiki/Submitting-patches
> >>>>
> >>>> Secondly: Thank you for your contribution, I have rebased your
> >>>> branch
> >>>> upon 'master' and included it in 'master-pu'
> >>>>
> >>>> If this are to be included in master, you will most likely have
> >>>> to
> >>>> add
> >>>> this in the documentation, and in the test.
> >>>>
> >>>>
> >>>>
> >>>> On 10/18/2012 07:24 PM, Andreas Schultz wrote:
> >>>>> Hi,
> >>>>>
> >>>>> Here are two changes to improve TLS 1.2 higher strength sha
> >>>>> hashes.
> >>>>>
> >>>>> There is this comment in ssl_cipher:
> >>>>>
> >>>>> %% Currently no supported cipher suites defaults to sha384 or
> >>>>> sha512
> >>>>> %% so these clauses are not needed at the moment.
> >>>>>
> >>>>> I'm afraid that this is wrong. With TLS 1.2 the actual hash
> >>>>> being
> >>>>> used
> >>>>> can be negotiated and is not longer fixed to the one specified
> >>>>> in
> >>>>> the
> >>>>> cipher suite. So it is possible to end up with a stronger
> >>>>> cipher
> >>>>> even
> >>>>> when we don't default to one.
> >>>>>
> >>>>> The other change adds sha224 to list of support and announced
> >>>>> ciphers.
> >>>>> It might not be as good as sha256, but should still be stronger
> >>>>> that
> >>>>> sha1.
> >>>>>
> >>>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes
> >>>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch
> >>>>>
> >>>>>
> >>>>> Both changes should apply cleanly on master and master-pu.
> >>>>>
> >>>>> Andreas
> >>>> --
> >>>> /Henrik Nord Erlang/OTP
> >>>>
> >>>>
> >>> --
> >>> --
> >>> Dipl. Inform.
> >>> Andreas Schultz
> >>>
> >>> email: as@REDACTED
> >>> phone: +49-391-819099-224
> >>> mobil: +49-170-2226073
> >>>
> >>> ------------------ managed broadband access ------------------
> >>>
> >>> Travelping GmbH phone: +49-391-8190990
> >>> Roentgenstr. 13 fax: +49-391-819099299
> >>> D-39108 Magdeburg email: info@REDACTED
> >>> GERMANY web: http://www.travelping.com
> >>>
> >>> Company Registration: HRB21276 Handelsregistergericht Chemnitz
> >>> Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780
> >>> --------------------------------------------------------------
> >>> _______________________________________________
> >>> erlang-patches mailing list
> >>> erlang-patches@REDACTED
> >>> http://erlang.org/mailman/listinfo/erlang-patches
> >>>
> >
>
> --
> /Henrik Nord Erlang/OTP
>
>
--
--
Dipl. Inform.
Andreas Schultz
email: as@REDACTED
phone: +49-391-819099-224
mobil: +49-170-2226073
------------------ managed broadband access ------------------
Travelping GmbH phone: +49-391-8190990
Roentgenstr. 13 fax: +49-391-819099299
D-39108 Magdeburg email: info@REDACTED
GERMANY web: http://www.travelping.com
Company Registration: HRB21276 Handelsregistergericht Chemnitz
Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780
--------------------------------------------------------------
From henrik@REDACTED Wed Nov 21 10:27:24 2012
From: henrik@REDACTED (Henrik Nord)
Date: Wed, 21 Nov 2012 10:27:24 +0100
Subject: [erlang-patches] TLS 1.2 hash fixes
In-Reply-To: <1038051640.174409.1353238214895.JavaMail.root@tpip.net>
References: <1038051640.174409.1353238214895.JavaMail.root@tpip.net>
Message-ID: <50AC9E7C.6000605@erlang.org>
On 2012-11-18 12:30, Andreas Schultz wrote:
> Hi Henrik,
>
> Mail to henrik@REDACTED got reject, but I guess the patches ML should
> be ok for this.
>
> I have rebased both branches ssl-sha224-fixes and tls-psk-srp-suites.
>
> I moved the patch that enables the required hashes for the psk and
> srp TLS 1.2 ciphers to the proper branch. The ssl-sha224-fixes branch
> now only contains the bit that advertises sha224 for TLS 1.2 handshakes.
Nice!
Thank you
>
>
> https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes
> https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes.patch
>
> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites
> https://github.com/RoadRunnr/otp/compare/master...tls-psk-srp-suites.patch
>
> Regards
> Andreas
>
> ----- Original Message -----
>> Hi
>>
>> Can you also rebase this on current master.
>>
>> as/tls-psk-srp-suites
>>
>> Thank you
>> On 2012-10-29 11:20, Henrik Nord wrote:
>>> Then I suggest you move that commit to the branch introducing those
>>> ciphers.
>>>
>>> And keep this branch as a advertise sha224 support branch
>>>
>>> /Henrik
>>>
>>> On 10/28/2012 04:25 PM, Andreas Schultz wrote:
>>>> Hi,
>>>>
>>>> Please disregard my last mail. The SRP and PSK patches introduce
>>>> TLS
>>>> 1.2 ciphers
>>>> that do default to sha384, so the extended hash_size method is
>>>> required should the
>>>> SPR and PSK ciphers be accepted.
>>>>
>>>> Andreas
>>>>
>>>> ----- Original Message -----
>>>>> Hi,
>>>>>
>>>>> Here is an update to the sha224 ssl branch:
>>>>> https://github.com/RoadRunnr/otp/compare/master...ssl-sha224-fixes
>>>>>
>>>>> Tree is correctly based on master now.
>>>>>
>>>>> I have dropped the hash_size changes. After reviewing the call
>>>>> patch
>>>>> for hash_size, it became apparent that the original comment is
>>>>> correct.
>>>>> I am absolutely sure that I did hit hash_size with a stronger
>>>>> hash,
>>>>> but
>>>>> I am unable to reproduce it. So it is probably better to leave
>>>>> that
>>>>> alone.
>>>>>
>>>>> The other change still applies.
>>>>>
>>>>> Andreas
>>>>>
>>>>> ----- Original Message -----
>>>>>> First and foremost:
>>>>>> You should not base any branches on a ' pu' branch, as they will
>>>>>> frequently be rebuilt from scratch on top of the current
>>>>>> development
>>>>>> branch.
>>>>>> Base branches upon 'master' or 'maint' depending on where we are
>>>>>> in
>>>>>> the release cycle and if it is a feature or a bug etc.
>>>>>> More information here:
>>>>>> https://github.com/erlang/otp/wiki/Submitting-patches
>>>>>>
>>>>>> Secondly: Thank you for your contribution, I have rebased your
>>>>>> branch
>>>>>> upon 'master' and included it in 'master-pu'
>>>>>>
>>>>>> If this are to be included in master, you will most likely have
>>>>>> to
>>>>>> add this in the documentation, and in the test.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 10/18/2012 07:24 PM, Andreas Schultz wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Here are two changes to improve TLS 1.2 higher strength sha
>>>>>> hashes.
>>>>>>
>>>>>> There is this comment in ssl_cipher:
>>>>>>
>>>>>> %% Currently no supported cipher suites defaults to sha384 or
>>>>>> sha512
>>>>>> %% so these clauses are not needed at the moment.
>>>>>>
>>>>>> I'm afraid that this is wrong. With TLS 1.2 the actual hash
>>>>>> being
>>>>>> used
>>>>>> can be negotiated and is not longer fixed to the one specified
>>>>>> in
>>>>>> the
>>>>>> cipher suite. So it is possible to end up with a stronger cipher
>>>>>> even
>>>>>> when we don't default to one.
>>>>>>
>>>>>> The other change adds sha224 to list of support and announced
>>>>>> ciphers.
>>>>>> It might not be as good as sha256, but should still be stronger
>>>>>> that
>>>>>> sha1.
>>>>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes
>>>>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch
>>>>>>
>>>>>> Both changes should apply cleanly on master and master-pu.
>>>>>>
>>>>>> Andreas
>>>>>>
>>>>>> --
>>>>>> /Henrik Nord Erlang/OTP
>>>>>>
>>>>>> First and foremost:
>>>>>> You should *not* base any branches on a '|pu'| branch, as they
>>>>>> will
>>>>>> frequently be rebuilt from scratch on top of the current
>>>>>> development
>>>>>> branch.
>>>>>> Base branches upon 'master' or 'maint' depending on where we are
>>>>>> in
>>>>>> the
>>>>>> release cycle and if it is a feature or a bug etc.
>>>>>> More information here:
>>>>>> https://github.com/erlang/otp/wiki/Submitting-patches
>>>>>>
>>>>>> Secondly: Thank you for your contribution, I have rebased your
>>>>>> branch
>>>>>> upon 'master' and included it in 'master-pu'
>>>>>>
>>>>>> If this are to be included in master, you will most likely have
>>>>>> to
>>>>>> add
>>>>>> this in the documentation, and in the test.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 10/18/2012 07:24 PM, Andreas Schultz wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> Here are two changes to improve TLS 1.2 higher strength sha
>>>>>>> hashes.
>>>>>>>
>>>>>>> There is this comment in ssl_cipher:
>>>>>>>
>>>>>>> %% Currently no supported cipher suites defaults to sha384 or
>>>>>>> sha512
>>>>>>> %% so these clauses are not needed at the moment.
>>>>>>>
>>>>>>> I'm afraid that this is wrong. With TLS 1.2 the actual hash
>>>>>>> being
>>>>>>> used
>>>>>>> can be negotiated and is not longer fixed to the one specified
>>>>>>> in
>>>>>>> the
>>>>>>> cipher suite. So it is possible to end up with a stronger
>>>>>>> cipher
>>>>>>> even
>>>>>>> when we don't default to one.
>>>>>>>
>>>>>>> The other change adds sha224 to list of support and announced
>>>>>>> ciphers.
>>>>>>> It might not be as good as sha256, but should still be stronger
>>>>>>> that
>>>>>>> sha1.
>>>>>>>
>>>>>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes
>>>>>>> https://github.com/RoadRunnr/otp/compare/master-pu...ssl-sha224-fixes.patch
>>>>>>>
>>>>>>>
>>>>>>> Both changes should apply cleanly on master and master-pu.
>>>>>>>
>>>>>>> Andreas
>>>>>> --
>>>>>> /Henrik Nord Erlang/OTP
>>>>>>
>>>>>>
>>>>> --
>>>>> --
>>>>> Dipl. Inform.
>>>>> Andreas Schultz
>>>>>
>>>>> email: as@REDACTED
>>>>> phone: +49-391-819099-224
>>>>> mobil: +49-170-2226073
>>>>>
>>>>> ------------------ managed broadband access ------------------
>>>>>
>>>>> Travelping GmbH phone: +49-391-8190990
>>>>> Roentgenstr. 13 fax: +49-391-819099299
>>>>> D-39108 Magdeburg email: info@REDACTED
>>>>> GERMANY web: http://www.travelping.com
>>>>>
>>>>> Company Registration: HRB21276 Handelsregistergericht Chemnitz
>>>>> Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780
>>>>> --------------------------------------------------------------
>>>>> _______________________________________________
>>>>> erlang-patches mailing list
>>>>> erlang-patches@REDACTED
>>>>> http://erlang.org/mailman/listinfo/erlang-patches
>>>>>
>> --
>> /Henrik Nord Erlang/OTP
>>
>>
--
/Henrik Nord Erlang/OTP
From henrik@REDACTED Wed Nov 21 14:40:39 2012
From: henrik@REDACTED (Henrik Nord)
Date: Wed, 21 Nov 2012 14:40:39 +0100
Subject: [erlang-patches] autoconf: if GCC is used,
treat -Wreturn-type as error
In-Reply-To:
References:
Message-ID: <50ACD9D7.2050703@erlang.org>
currently in "master-pu"
On 2012-10-11 19:21, Tuncer Ayaz wrote:
> https://github.com/tuncer/otp/compare/maint...werror-return-type
> https://github.com/tuncer/otp/compare/maint...werror-return-type.patch
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
From n.oxyde@REDACTED Wed Nov 21 15:36:10 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Wed, 21 Nov 2012 15:36:10 +0100
Subject: [erlang-patches] EEP37: Funs with names
In-Reply-To: <50A4FAA9.1070706@erlang.org>
References:
<50A4FAA9.1070706@erlang.org>
Message-ID: <466D4B3A-8B3C-4AA7-9A2B-B85EA5EA2A90@gmail.com>
Hi,
I had forgotten to update the abstract format documentation, named_fun is
now mentioned in absform.xml in the doc commit.
Please refetch,
--
Anthony Ramine
Le 15 nov. 2012 ? 15:22, Henrik Nord a ?crit :
> I will add this patch to 'master-pu'.
>
> Thank you for your contribution!
>
>
> On 2012-11-14 17:42, Anthony Ramine wrote:
>> This patch implements EEP37: Funs with names
>>
>> This adds optional names to fun expressions. A named fun expression
>> is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse.
>>
>> If a fun expression has a name, it must be present and be the same in
>> every of its clauses. The function name shadows the environment of the
>> expression shadowing the environment and it is shadowed by the
>> environment of the clauses' arguments. An unused function name triggers
>> a warning unless it is prefixed by _, just as every variable.
>> Variable _ is allowed as a function name.
>>
>> It is not an error to put a named function in a record field default
>> value.
>>
>> When transforming to Core Erlang, the named fun Fun is changed into
>> the following expression:
>>
>> letrec 'Fun'/Arity =
>> fun (Args) ->
>> let = 'Fun'/Arity
>> in Case
>> in 'Fun'/Arity
>>
>> where Args is the list of arguments of 'Fun'/Arity and Case the
>> Core Erlang expression corresponding to the clauses of Fun.
>>
>> This transformation allows us to entirely skip any k_var to k_local
>> transformation in the fun's clauses bodies.
>>
>> https://github.com/nox/otp/compare/erlang:master...eep37
>> https://github.com/nox/otp/compare/erlang:master...eep37.patch
>>
>> git fetch https://github.com/nox/otp eep37
>>
>> Regards,
>>
>
> --
> /Henrik Nord Erlang/OTP
>
From yrashk@REDACTED Wed Nov 21 19:01:23 2012
From: yrashk@REDACTED (Yurii Rashkovskii)
Date: Wed, 21 Nov 2012 10:01:23 -0800
Subject: [erlang-patches] Support ANSI in the console
In-Reply-To: <50A4DE26.30402@erlang.org>
References:
<50A4DE26.30402@erlang.org>
Message-ID:
Forgive me if I am missing something, but did this patch somehow not make
it to master-pu?
https://github.com/erlang/otp/blob/master-pu/erts/emulator/drivers/unix/ttsl_drv.c#L915
(pu doesn't have it either
https://github.com/erlang/otp/blob/pu/erts/emulator/drivers/unix/ttsl_drv.c#L915
)
Is it intentional or is it an omission?
On Thu, Nov 15, 2012 at 4:20 AM, Henrik Nord wrote:
> Thank you for your contribution, I have added the patch to 'master-pu'
>
>
>
> On 2012-11-14 14:49, Pedram Nimreezi wrote:
>
>> https://github.com/DeadZen/**otp/blob/**d3e3d51dbb21f0fdb125becacb80e3**
>> 4d0565fff7/erts/emulator/**drivers/unix/ttsl_drv.c#L901
>> https://github.com/DeadZen/**otp/blob/**d3e3d51dbb21f0fdb125becacb80e3**
>> 4d0565fff7/erts/emulator/**drivers/unix/ttsl_drv.c#L599
>> https://github.com/DeadZen/**otp/blob/**d3e3d51dbb21f0fdb125becacb80e3**
>> 4d0565fff7/erts/emulator/**drivers/unix/ttsl_drv.c#L609
>>
>
> --
> /Henrik Nord Erlang/OTP
>
>
> ______________________________**_________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/**listinfo/erlang-patches
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From aleksandr.vin@REDACTED Thu Nov 22 09:02:47 2012
From: aleksandr.vin@REDACTED (Aleksandr Vinokurov)
Date: Thu, 22 Nov 2012 12:02:47 +0400
Subject: [erlang-patches] Deep list argument error under Windows in
os:cmd/1
In-Reply-To:
References:
Message-ID:
Hi all,
Maybe I'm doing smth. wrong -- why there is no reply to my patch?
WBR,
Aleksandr Vinokurov
On 8 November 2012 14:11, Aleksandr Vinokurov wrote:
> Because of leeway in implementing os:cmd/1 under different OS there is
> a difference in results when calling it with deep list
> argument. os:cmd/1 specifies io_lib:chars() type for its argument and
> io_lib functions can produce deep lists inspite of io_lib:chars()
> result type specification. This commit flattens the argument for
> erlang:open_port/2 (which is used under Windows) and expands the
> os_SUITE to regress the bug.
>
> git fetch git://github.com/aleksandr-vin/otp.git maint-fix-os-cmd-win
>
> or viewed here:
>
> https://github.com/aleksandr-vin/otp/compare/maint-fix-os-cmd-winhttps://github.com/aleksandr-vin/otp/compare/maint-fix-os-cmd-win.patch
>
> --
> Aleksandr Vinokurov
> +7 (921) 982-21-43
> @aleksandrvin
>
>
--
????????? ?????????
+7 (921) 982-21-43
@aleksandrvin
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Thu Nov 22 09:55:01 2012
From: henrik@REDACTED (Henrik Nord)
Date: Thu, 22 Nov 2012 09:55:01 +0100
Subject: [erlang-patches] Deep list argument error under Windows in
os:cmd/1
In-Reply-To:
References:
Message-ID: <50ADE865.7030402@erlang.org>
Hi
Sorry for the delay, I have now added your patch to master-pu, and
rebased it on master.
Thank you for your contribution!
On 2012-11-08 11:11, Aleksandr Vinokurov wrote:
> Because of leeway in implementing os:cmd/1 under different OS there is
> a difference in results when calling it with deep list
> argument. os:cmd/1 specifies io_lib:chars() type for its argument and
> io_lib functions can produce deep lists inspite of io_lib:chars()
> result type specification. This commit flattens the argument for
> erlang:open_port/2 (which is used under Windows) and expands the
> os_SUITE to regress the bug.
> git fetch git://github.com/aleksandr-vin/otp.git maint-fix-os-cmd-win
> or viewed here:
> https://github.com/aleksandr-vin/otp/compare/maint-fix-os-cmd-win
> https://github.com/aleksandr-vin/otp/compare/maint-fix-os-cmd-win.patch
> --
> Aleksandr Vinokurov
> +7 (921) 982-21-43
> @aleksandrvin
>
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Thu Nov 22 10:07:48 2012
From: henrik@REDACTED (Henrik Nord)
Date: Thu, 22 Nov 2012 10:07:48 +0100
Subject: [erlang-patches] Support ANSI in the console
In-Reply-To:
References:
<50A4DE26.30402@erlang.org>
Message-ID: <50ADEB64.6060601@erlang.org>
No its in there, it was just removed temporary from the push
On 2012-11-21 19:01, Yurii Rashkovskii wrote:
> Forgive me if I am missing something, but did this patch somehow not
> make it to master-pu?
>
> https://github.com/erlang/otp/blob/master-pu/erts/emulator/drivers/unix/ttsl_drv.c#L915
>
> (pu doesn't have it either
> https://github.com/erlang/otp/blob/pu/erts/emulator/drivers/unix/ttsl_drv.c#L915)
>
> Is it intentional or is it an omission?
>
>
> On Thu, Nov 15, 2012 at 4:20 AM, Henrik Nord > wrote:
>
> Thank you for your contribution, I have added the patch to
> 'master-pu'
>
>
>
> On 2012-11-14 14:49, Pedram Nimreezi wrote:
>
> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L901
> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L599
> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L609
>
>
> --
> /Henrik Nord Erlang/OTP
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
>
>
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From yrashk@REDACTED Thu Nov 22 10:11:22 2012
From: yrashk@REDACTED (Yurii Rashkovskii)
Date: Thu, 22 Nov 2012 01:11:22 -0800
Subject: [erlang-patches] Support ANSI in the console
In-Reply-To: <50ADEB64.6060601@erlang.org>
References:
<50A4DE26.30402@erlang.org>
<50ADEB64.6060601@erlang.org>
Message-ID:
Is there any *reliable* way to track what's in pu/master-pu?
On Thu, Nov 22, 2012 at 1:07 AM, Henrik Nord wrote:
> No its in there, it was just removed temporary from the push
>
>
>
> On 2012-11-21 19:01, Yurii Rashkovskii wrote:
>
> Forgive me if I am missing something, but did this patch somehow not make
> it to master-pu?
>
>
> https://github.com/erlang/otp/blob/master-pu/erts/emulator/drivers/unix/ttsl_drv.c#L915
>
> (pu doesn't have it either
> https://github.com/erlang/otp/blob/pu/erts/emulator/drivers/unix/ttsl_drv.c#L915
> )
>
> Is it intentional or is it an omission?
>
>
> On Thu, Nov 15, 2012 at 4:20 AM, Henrik Nord wrote:
>
>> Thank you for your contribution, I have added the patch to 'master-pu'
>>
>>
>>
>> On 2012-11-14 14:49, Pedram Nimreezi wrote:
>>
>>>
>>> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L901
>>>
>>> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L599
>>>
>>> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L609
>>>
>>
>> --
>> /Henrik Nord Erlang/OTP
>>
>>
>> _______________________________________________
>> erlang-patches mailing list
>> erlang-patches@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-patches
>>
>
>
> --
> /Henrik Nord Erlang/OTP
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Thu Nov 22 10:15:00 2012
From: henrik@REDACTED (Henrik Nord)
Date: Thu, 22 Nov 2012 10:15:00 +0100
Subject: [erlang-patches] Support ANSI in the console
In-Reply-To:
References:
<50A4DE26.30402@erlang.org>
<50ADEB64.6060601@erlang.org>
Message-ID: <50ADED14.6030404@erlang.org>
This mailing list + github is the only way atm.
We are considering letting a view of our daily build result page show up
to the public via erlang.org
That would increase transparency and possible decrease the turnaround
time for patches as the authors themselves could check the test results
of their patches.
On 2012-11-22 10:11, Yurii Rashkovskii wrote:
> Is there any *reliable* way to track what's in pu/master-pu?
>
>
> On Thu, Nov 22, 2012 at 1:07 AM, Henrik Nord > wrote:
>
> No its in there, it was just removed temporary from the push
>
>
>
> On 2012-11-21 19:01, Yurii Rashkovskii wrote:
>> Forgive me if I am missing something, but did this patch somehow
>> not make it to master-pu?
>>
>> https://github.com/erlang/otp/blob/master-pu/erts/emulator/drivers/unix/ttsl_drv.c#L915
>>
>> (pu doesn't have it either
>> https://github.com/erlang/otp/blob/pu/erts/emulator/drivers/unix/ttsl_drv.c#L915)
>>
>> Is it intentional or is it an omission?
>>
>>
>> On Thu, Nov 15, 2012 at 4:20 AM, Henrik Nord > > wrote:
>>
>> Thank you for your contribution, I have added the patch to
>> 'master-pu'
>>
>>
>>
>> On 2012-11-14 14:49, Pedram Nimreezi wrote:
>>
>> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L901
>> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L599
>> https://github.com/DeadZen/otp/blob/d3e3d51dbb21f0fdb125becacb80e34d0565fff7/erts/emulator/drivers/unix/ttsl_drv.c#L609
>>
>>
>> --
>> /Henrik Nord Erlang/OTP
>>
>>
>> _______________________________________________
>> erlang-patches mailing list
>> erlang-patches@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-patches
>>
>>
>
> --
> /Henrik Nord Erlang/OTP
>
>
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Thu Nov 22 11:08:28 2012
From: henrik@REDACTED (Henrik Nord)
Date: Thu, 22 Nov 2012 11:08:28 +0100
Subject: [erlang-patches] Fix Table Viewer refresh crash
In-Reply-To:
References:
Message-ID: <50ADF99C.5070109@erlang.org>
Thank you for your contribution, patch added to 'master-pu'
On 2012-11-08 14:26, Peti G?m?ri wrote:
> Hi,
>
> This minor patch handles the case when observer Table Viewer wants to
> refresh an ets table which no more exists.
>
> thanks
> Peter
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Mon Nov 26 10:46:25 2012
From: henrik@REDACTED (Henrik Nord)
Date: Mon, 26 Nov 2012 10:46:25 +0100
Subject: [erlang-patches] ASN.1 Patch moving num_bits to compile-time
In-Reply-To:
References:
Message-ID: <50B33A71.6050208@erlang.org>
Thanks for the patch and for pointing out that numbits can be resolved
in compile time. We will whoever not include this patch since we are
working with a major rewrite and optimization of the per and uper
backends and will address this and other opportunities for optimization
in a different way, but with the same principle of moving calculations
to compile time as much as possible.
Thank you for your contribution!
On 09/24/2012 06:05 PM, Jeremy Heater wrote:
> Hello,
>
> Here is a proposed patch that moves asn1rt_uper_bin:num_bits/1 from
> the runtime to the compile-time (from asn1rt_uper_bin to
> asn1ct_gen_per and asn1ct_constructed_per)./
> /The bit number information is added to the SizeConstraint and
> ValueRange constraints when possible, and as another parameter in
> getchoice/3 and set_choice/3 (now getchoice/4 and set_choice/4 for the
> uper encoding).
>
> git fetch git://github.com/Kwisatx/otp.git
> move_num_bits_call_to_compilation
>
> https://github.com/Kwisatx/otp/compare/maint...move_num_bits_call_to_compilation
> https://github.com/Kwisatx/otp/compare/maint...move_num_bits_call_to_compilation.patch
>
> I tested the patch with an example written to call heavily on the
> num_bits function and got encouraging results (time measured with
> timer:tc to encode was 5 to 15% faster, and to decode was 3 to 4 times
> faster with the patch).
>
> Best regards,
> Jeremy Heater.
>
> PS: here's the ASN.1 grammar I used to test:
>
> NumBitsBench DEFINITIONS AUTOMATIC TAGS ::= BEGIN
> TestType ::= SEQUENCE {
> a SEQUENCE (SIZE (1..1000)) OF INTEGER(0..1000),
> b SEQUENCE (SIZE (1..100000)) OF INTEGER(0..100000),
> c SEQUENCE (SIZE (1..10000000)) OF INTEGER(0..10000000),
> d SEQUENCE (SIZE (1..1000000000)) OF INTEGER(0..1000000000),
> e SEQUENCE (SIZE (1..100000000000)) OF INTEGER(0..100000000000)
> } END/
> /
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Mon Nov 26 10:50:29 2012
From: henrik@REDACTED (Henrik Nord)
Date: Mon, 26 Nov 2012 10:50:29 +0100
Subject: [erlang-patches] ODBC extended error information
In-Reply-To: <31E741CCEAAEA641930B48274B5C9840324E329E@SVLITMX02.shoretel.com>
References: ,
<5072C95E.1020806@erlang.org>
<31E741CCEAAEA641930B48274B5C9840324E329E@SVLITMX02.shoretel.com>
Message-ID: <50B33B65.8090009@erlang.org>
Thank you!
I will run this and see.
On 11/26/2012 03:40 AM, Bernie Duggan wrote:
> Hi Henrik,
> My colleague Franko has done the hard work of getting the test cases up and running, and writing up a test for this. You can re-fetch it from my repo:
>
> git fetch git://github.com/bernardd/otp.git odbc_extended_errors
>
> Please let us know if that's sufficient or whether there's more specific cases you'd like to see tested.
>
> Cheers,
>
> Bernard
>
> ________________________________________
> From: Henrik Nord [henrik@REDACTED]
> Sent: Monday, 8 October 2012 11:38 PM
> To: Bernie Duggan
> Cc: erlang-patches@REDACTED
> Subject: Re: [erlang-patches] ODBC extended error information
>
> Hi!
>
> We would like some tests for this.
> Maby a test to check the extended error handling some operation with a
> expected error and some without, and then check for the correct type of
> return value, instead of a hard match for the returned value
>
> Below follows instructions as how to get the odbc SUIT up and running.
>
> Thank you for your contribution!
>
> On 07/25/2012 09:44 AM, Bernie Duggan wrote:
>> I did my best to figure out how to add some tests for this change, but
>> from talking to a couple of other people I'm not alone in having
>> difficulty even getting the ODBC suite running:) Following the
>> instructions on the github wiki page just gives me a
>> port_program_executable_not_found error. I'm happy to try harder to
>> add some tests if someone can give me a hand with this.
> The odbc test suite is not as straight forward as other test suits to
> run as it depends
> on so many third part products. In odbc_test.hrl there is a macro
> defined that
> will determine which backed database should be used (you may need to
> change it to suite your circumstances).
> Also you need to set up an SQL-data base and an .odbc-ini file for the user
> running the test suit. Ex:
> -------------------
> [Postgres]
> Driver=/usr/lib/psqlodbc.so
> Description=Postgres driver
> ServerName=server1
> Database=odbctest
> Port=5432
> LogonID=odbctest
> Password=gurka
>
> [MySQL]
> Driver = /opt/local/lib/libmyodbc5.so Description=MYSQL driver
> Server= server2
> Database=odbctest
> Port=3306
> -----------------------
>
> And in the callback-file sqlserver.erl/postgres.erl/mysql.erl/oracle.erl
> you may have to alter the connection-string returned by the funtion
> connection_string/0.
> If you want some other backed you will have to make your own
> callback-module.
>
> --
> /Henrik Nord Erlang/OTP
>
>
> ________________________________
>
> This e-mail and any attachments are confidential. If it is not intended for you, please notify the sender, and please erase and ignore the contents.
--
/Henrik Nord Erlang/OTP
From dch@REDACTED Tue Nov 27 14:40:31 2012
From: dch@REDACTED (Dave Cottlehuber)
Date: Tue, 27 Nov 2012 14:40:31 +0100
Subject: [erlang-patches] escript does not parse supplied vm args on Windows
Message-ID:
On Windows, the vmargs are not passed through from the 2nd or 3rd
line of the escript file if the shebang syntax is not the unix shell
style. Which it often isn't, as you'd expect.
On unix, this produces the expected output of init-debug before requesting beer:
## ./icanhaz
#!/usr/bin/env escript
%% -*- erlang -*-
%%! -init_debug -smp enable
main(_) -> io:format("I CAN HAZ BEER?~n", []).
On Windows, only the BEER is requested:
## icanhaz.cmd
@echo off & setlocal & path=%~dp0;%path%; & escript.exe
"%~dpn0.cmd" %* & goto :eof
%% -*- erlang -*-
%%! -init_debug -smp enable
main(_) -> io:format("I CAN HAZ BEER?~n", []).
NB: the somewhat cryptic sequence above tells a windows .cmd script to
suppress printing the batch file commands as they are processed, so
this @ would be a very common approach on windows. The path juggling
inside allows you distribute an escript with a NIF-based DLL alongside
in the same directory and have it "just work" without altering the
system or shell path.
Here's a small patch, accepting that the @ format is common on windows
https://gist.github.com/4189389ecd2bf1ca8163
diff --git i/erts/etc/common/escript.c w/erts/etc/common/escript.c
index 9e80ec6..dcb1c85 100644
--- i/erts/etc/common/escript.c
+++ w/erts/etc/common/escript.c
@@ -264,7 +264,8 @@ append_shebang_args(char* scriptname)
static char linebuf[LINEBUFSZ];
char* ptr = fgets(linebuf, LINEBUFSZ, fd);
- if (ptr != NULL && linebuf[0] == '#' && linebuf[1] == '!') {
+ /* Acceptable Shebang syntax is #/ for unix or @ for windows */
+ if (ptr != NULL && ((linebuf[0] == '#' && linebuf[1] == '!') ||
linebuf[0] == '@')) {
/* Try to find args on second or third line */
ptr = fgets(linebuf, LINEBUFSZ, fd);
if (ptr != NULL && linebuf[0] == '%' && linebuf[1] == '%' &&
linebuf[2] == '!') {
NBB: the whitespace in escript.c is inconsistent. The patch reflects this.
NBBB: This yak was brought to you fully shaved whilst trying to
understand why `-detached` wasn't working in escript on Windows.
A+
Dave
From henrik@REDACTED Tue Nov 27 15:42:48 2012
From: henrik@REDACTED (Henrik Nord)
Date: Tue, 27 Nov 2012 15:42:48 +0100
Subject: [erlang-patches] odbc:auto_commit/{2,3}
In-Reply-To: <5090D18A.2010006@gmail.com>
References: <50855ACE.2090700@gmail.com> <5088D883.30308@gmail.com>
<508F9F3C.3020604@erlang.org> <5090D18A.2010006@gmail.com>
Message-ID: <50B4D168.1030109@erlang.org>
Still failing
**** User 2012-11-27 03:02:58.465 **** odbc_query_SUITE:auto_commit
failed on line 1483 Reason: {badmatch,{ok,1}}
**** User 2012-11-27 07:02:53.526 **** odbc_query_SUITE:auto_commit
failed on line 1483 Reason: {badmatch,{ok,1}}
On 10/31/2012 08:21 AM, Martynas Pumputis wrote:
> Hi again,
>
> It seems that the problem is with odbc-mysql driver: when there are
> two simultaneous connections (auto_commit=off) and one commits a
> transaction, then the other one won't see any changes introduced by
> the transaction. But this is out of scope problem.
>
> Anyway, I've fixed the test case, so, please, re-merge it:
>
> git fetch git://github.com/brb/otp.git odbc_autocommit
>
> https://github.com/brb/otp/compare/odbc_autocommit
> https://github.com/brb/otp/compare/odbc_autocommit.patch
>
> Thanks,
> Martynas
>
> On 10/30/2012 11:34 AM, Henrik Nord wrote:
>> Hi You have introduced a few test case fails.
>>
>> odbc_query_SUITE:auto_commit failed on line 1483
>> Reason: {badmatch,{ok,1}}
>>
>> Solaris 2.10 and linux 32 bit, skipped on 64
>>
>> ----------------------------------------------------------------
>>
>>
>> ODBCINI = false
>>
>> **** User 2012-10-30 04:53:24.303 ****
>> odbc_connect_SUITE:control_process_dies failed on line 296 Reason:
>> {badmatch,{connected,<0.309.0>}}
>>
>> Drop table: "test_serverAtelendur" {error,
>> "[MySQL][ODBC 5.1
>> Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table
>> 'test_serverAtelendur' SQLSTATE IS: 42S02"}
>>
>>
>>
>> This is on Linux 32 bit, skipped on 64
>>
>> ----------------------------------------------------------------
>>
>> ODBCINI = false
>>
>> **** User 2012-10-30 04:53:24.222 **** odbc_connect_SUITE:port_dies
>> failed on line 286 Reason: {badmatch,{status,waiting}}
>>
>> Drop table: "test_serverAtelendur" {error,
>> "[MySQL][ODBC 5.1
>> Driver][mysqld-5.1.41-3ubuntu12.10]Unknown table
>> 'test_serverAtelendur' SQLSTATE IS: 42S02"}
>>
>>
>> same Linux as before 32 bit, skipped on 64
>>
>>
>> On 10/25/2012 08:13 AM, Martynas Pumputis wrote:
>>> Hello,
>>>
>>> I'm sending my patch:
>>>
>>> git fetch git://github.com/brb/otp.git odbc_autocommit
>>>
>>> https://github.com/brb/otp/compare/odbc_autocommit
>>> https://github.com/brb/otp/compare/odbc_autocommit.patch
>>>
>>> Best,
>>> Martynas
>>>
>>>
>>> _______________________________________________
>>> erlang-patches mailing list
>>> erlang-patches@REDACTED
>>> http://erlang.org/mailman/listinfo/erlang-patches
>>
>> --
>> /Henrik Nord Erlang/OTP
>>
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From hm@REDACTED Wed Nov 28 09:57:55 2012
From: hm@REDACTED (=?ISO-8859-1?Q?H=E5kan_Mattsson?=)
Date: Wed, 28 Nov 2012 09:57:55 +0100
Subject: [erlang-patches] escript does not parse supplied vm args on
Windows
In-Reply-To:
References:
Message-ID:
If you want to extend the escript syntax it does not suffice to
just fix escript.c. Besides documentation and test suites, you
need to fix ALL code that is dependent of the escript syntax,
such as the functions escript:create/2 and escript:extract/2.
/H?kan
On Tue, Nov 27, 2012 at 2:40 PM, Dave Cottlehuber wrote:
> On Windows, the vmargs are not passed through from the 2nd or 3rd
> line of the escript file if the shebang syntax is not the unix shell
> style. Which it often isn't, as you'd expect.
>
> On unix, this produces the expected output of init-debug before requesting beer:
>
> ## ./icanhaz
>
> #!/usr/bin/env escript
> %% -*- erlang -*-
> %%! -init_debug -smp enable
> main(_) -> io:format("I CAN HAZ BEER?~n", []).
>
> On Windows, only the BEER is requested:
>
> ## icanhaz.cmd
>
> @echo off & setlocal & path=%~dp0;%path%; & escript.exe
> "%~dpn0.cmd" %* & goto :eof
> %% -*- erlang -*-
> %%! -init_debug -smp enable
> main(_) -> io:format("I CAN HAZ BEER?~n", []).
>
> NB: the somewhat cryptic sequence above tells a windows .cmd script to
> suppress printing the batch file commands as they are processed, so
> this @ would be a very common approach on windows. The path juggling
> inside allows you distribute an escript with a NIF-based DLL alongside
> in the same directory and have it "just work" without altering the
> system or shell path.
>
> Here's a small patch, accepting that the @ format is common on windows
> https://gist.github.com/4189389ecd2bf1ca8163
>
> diff --git i/erts/etc/common/escript.c w/erts/etc/common/escript.c
> index 9e80ec6..dcb1c85 100644
> --- i/erts/etc/common/escript.c
> +++ w/erts/etc/common/escript.c
> @@ -264,7 +264,8 @@ append_shebang_args(char* scriptname)
> static char linebuf[LINEBUFSZ];
> char* ptr = fgets(linebuf, LINEBUFSZ, fd);
>
> - if (ptr != NULL && linebuf[0] == '#' && linebuf[1] == '!') {
> + /* Acceptable Shebang syntax is #/ for unix or @ for windows */
> + if (ptr != NULL && ((linebuf[0] == '#' && linebuf[1] == '!') ||
> linebuf[0] == '@')) {
> /* Try to find args on second or third line */
> ptr = fgets(linebuf, LINEBUFSZ, fd);
> if (ptr != NULL && linebuf[0] == '%' && linebuf[1] == '%' &&
> linebuf[2] == '!') {
>
> NBB: the whitespace in escript.c is inconsistent. The patch reflects this.
>
> NBBB: This yak was brought to you fully shaved whilst trying to
> understand why `-detached` wasn't working in escript on Windows.
>
> A+
> Dave
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
From dch@REDACTED Wed Nov 28 13:13:55 2012
From: dch@REDACTED (Dave Cottlehuber)
Date: Wed, 28 Nov 2012 13:13:55 +0100
Subject: [erlang-patches] escript does not parse supplied vm args on
Windows
In-Reply-To:
References:
Message-ID:
On 28 November 2012 09:57, H?kan Mattsson wrote:
> If you want to extend the escript syntax it does not suffice to
> just fix escript.c. Besides documentation and test suites, you
> need to fix ALL code that is dependent of the escript syntax,
> such as the functions escript:create/2 and escript:extract/2.
>
> /H?kan
Hi H?kan
I'm not extending escript syntax, just ensuring that the functionality
of parsing vm args is consistent across platforms as implied in the
documentation. In fact the code is much more constrained, and the vm
args will only be read if the first line matches /^#!/. Clearly
Windows will not accept a script that has #! as the first line, it's
not valid syntax.
The documentation has been amended as you suggest,
https://gist.github.com/4189389ecd2bf1ca8163 thanks for the prompting.
I don't think escript:create and extract need to be altered in this
case.
A+
Dave
From jose.valim@REDACTED Wed Nov 28 14:11:21 2012
From: jose.valim@REDACTED (=?ISO-8859-1?Q?Jos=E9_Valim?=)
Date: Wed, 28 Nov 2012 14:11:21 +0100
Subject: [erlang-patches] Bug fixes for cover
Message-ID:
Hello,
I am sending a couple bug fixes for cover.
I have broken those fixes into three granular commits.
The commit messages contains the rationale behind them.
One of the commits changes cover to get the source from
"Module:module_info(compile)" if the current heuristic that
traverses directories fails. In my opinion, we could rely
solely on the source information and remove the heuristic
completely but I have kept the current heuristic as the first
mechanism in order to minimize the impact of the changes.
As such, I would appreciate if those changes could be merged
into maint. :)
git fetch git://github.com/josevalim/otp.git cover-patches
https://github.com/josevalim/otp/compare/cover-patches
https://github.com/josevalim/otp/compare/cover-patches.patch
Thank you,
*Jos? Valim*
www.plataformatec.com.br
Skype: jv.ptec
Founder and Lead Developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Wed Nov 28 15:05:43 2012
From: henrik@REDACTED (Henrik Nord)
Date: Wed, 28 Nov 2012 15:05:43 +0100
Subject: [erlang-patches] Bug fixes for cover
In-Reply-To:
References:
Message-ID: <50B61A37.9000705@erlang.org>
Thank you for your contribution, I have added this to 'master-pu'
On 11/28/2012 02:11 PM, Jos? Valim wrote:
> into maint. :)
>
> git fetch git://github.com/josevalim/otp.git
> cover-patches
>
> https://github.com/josevalim/otp/compare/cover-patches
> https://github.com/josevalim/otp/compare/cover-patches.patch
>
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From n.oxyde@REDACTED Wed Nov 28 15:39:59 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Wed, 28 Nov 2012 15:39:59 +0100
Subject: [erlang-patches] Implement ./otp_build configure
--enable-silent-rules
Message-ID: <22B4C91F-13C6-4899-9DD9-8A1566146848@gmail.com>
Hi,
I got bored of the too verbose output of the build process, so I added automake's silent rules to Erlang/OTP.
Here is an example of output produced with silent rules: https://gist.github.com/4160201
I may have missed some build tools' invocations as I can only compile Erlang on my Mac.
https://github.com/nox/otp/compare/erlang:master...enable-silent-rules
https://github.com/nox/otp/compare/erlang:master...enable-silent-rules.patch
git fetch https://github.com/nox/otp enable-silent-rules
Regards,
--
Anthony Ramine
From tuncer.ayaz@REDACTED Wed Nov 28 15:59:52 2012
From: tuncer.ayaz@REDACTED (Tuncer Ayaz)
Date: Wed, 28 Nov 2012 15:59:52 +0100
Subject: [erlang-patches] Implement ./otp_build configure
--enable-silent-rules
In-Reply-To: <22B4C91F-13C6-4899-9DD9-8A1566146848@gmail.com>
References: <22B4C91F-13C6-4899-9DD9-8A1566146848@gmail.com>
Message-ID:
On Wed, Nov 28, 2012 at 3:39 PM, Anthony Ramine wrote:
> Hi,
>
> I got bored of the too verbose output of the build process, so I added
> automake's silent rules to Erlang/OTP.
>
> Here is an example of output produced with silent rules:
> https://gist.github.com/4160201
>
> I may have missed some build tools' invocations as I can only compile
> Erlang on my Mac.
>
> https://github.com/nox/otp/compare/erlang:master...enable-silent-rules
> https://github.com/nox/otp/compare/erlang:master...enable-silent-rules.patch
>
> git fetch https://github.com/nox/otp enable-silent-rules
Nice patch, but I would prefer to make the default be silent.
From n.oxyde@REDACTED Wed Nov 28 16:05:40 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Wed, 28 Nov 2012 16:05:40 +0100
Subject: [erlang-patches] Implement ./otp_build configure
--enable-silent-rules
In-Reply-To:
References: <22B4C91F-13C6-4899-9DD9-8A1566146848@gmail.com>
Message-ID: <24FF56D5-A4DD-48DA-A16F-A497264016B7@gmail.com>
My (and automake's) rationale about making it non-default is that if people compile Erlang/OTP just to use Erlang the language and the build fails because of a compile error, we will have to tell them to post again with a new verbose build log.
IMO, this feature should be used only by people who recompile often.
--
Anthony Ramine
Le 28 nov. 2012 ? 15:59, Tuncer Ayaz a ?crit :
> On Wed, Nov 28, 2012 at 3:39 PM, Anthony Ramine wrote:
>> Hi,
>>
>> I got bored of the too verbose output of the build process, so I added
>> automake's silent rules to Erlang/OTP.
>>
>> Here is an example of output produced with silent rules:
>> https://gist.github.com/4160201
>>
>> I may have missed some build tools' invocations as I can only compile
>> Erlang on my Mac.
>>
>> https://github.com/nox/otp/compare/erlang:master...enable-silent-rules
>> https://github.com/nox/otp/compare/erlang:master...enable-silent-rules.patch
>>
>> git fetch https://github.com/nox/otp enable-silent-rules
>
> Nice patch, but I would prefer to make the default be silent.
From freza@REDACTED Wed Nov 28 17:31:24 2012
From: freza@REDACTED (Jachym Holecek)
Date: Wed, 28 Nov 2012 11:31:24 -0500
Subject: [erlang-patches] Implement ./otp_build configure
--enable-silent-rules
In-Reply-To:
References: <22B4C91F-13C6-4899-9DD9-8A1566146848@gmail.com>
Message-ID: <20121128163124.GA29480@circlewave.net>
# Tuncer Ayaz 2012-11-28:
> On Wed, Nov 28, 2012 at 3:39 PM, Anthony Ramine wrote:
> > I got bored of the too verbose output of the build process,
The output isn't there to amuse you but to give you information for
troubleshooting in case things go wrong. ;-)
> > so I added automake's silent rules to Erlang/OTP.
I never understood the point of a build process generating incomplete
progress report. Either I wan't all the details (almost always) or
just the final outcome -- something you can do without any patching:
$ if ! make > /tmp/build.log 2>&1 ;then echo "BUILD FAILED!!!" ; fi
> > Here is an example of output produced with silent rules:
> > https://gist.github.com/4160201
> >
> > I may have missed some build tools' invocations as I can only compile
> > Erlang on my Mac.
> >
> > https://github.com/nox/otp/compare/erlang:master...enable-silent-rules
> > https://github.com/nox/otp/compare/erlang:master...enable-silent-rules.patch
> >
> > git fetch https://github.com/nox/otp enable-silent-rules
>
> Nice patch, but I would prefer to make the default be silent.
That's actively harmful -- a build failing on you with useless output
is already bad enough, having to re-run the build is annoying on its
own, having to additionally figure out the option that will give you
useful output is almost insulting.
Maybe it's just me...
BR,
-- Jachym
From essen@REDACTED Wed Nov 28 20:06:39 2012
From: essen@REDACTED (=?ISO-8859-1?Q?Lo=EFc_Hoguin?=)
Date: Wed, 28 Nov 2012 20:06:39 +0100
Subject: [erlang-patches] Reclaim the 'query' keyword
Message-ID: <50B660BF.6060507@ninenines.eu>
Hello,
I want to reclaim the 'query' word for everyone to use. This word is
much too important to keep it reserved forever. Use includes anything
you can query, from databases to web services to hardware.
Since I was at it I also removed most of what remains from Mnemosyne.
What's left is the :- operator, and its associated rules. I didn't want
to remove these because they do relate to the Prolog origins of the
language and this was a too big decision for me to take.
I tested most of the suites but since I wasn't able to run the test
suite entirely because Mnesia was timeouting all the time, I may have
forgotten something.
So please:
git fetch git://github.com/essen/otp.git forget-mnemosyne
https://github.com/essen/otp/compare/erlang:master...forget-mnemosyne
https://github.com/essen/otp/compare/erlang:master...forget-mnemosyne.patch
And keep me informed!
--
Lo?c Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu
From tuncer.ayaz@REDACTED Wed Nov 28 23:29:36 2012
From: tuncer.ayaz@REDACTED (Tuncer Ayaz)
Date: Wed, 28 Nov 2012 23:29:36 +0100
Subject: [erlang-patches] Implement ./otp_build configure
--enable-silent-rules
In-Reply-To: <20121128163124.GA29480@circlewave.net>
References: <22B4C91F-13C6-4899-9DD9-8A1566146848@gmail.com>
<20121128163124.GA29480@circlewave.net>
Message-ID:
On Wed, Nov 28, 2012 at 5:31 PM, Jachym Holecek wrote:
> # Tuncer Ayaz 2012-11-28:
> > On Wed, Nov 28, 2012 at 3:39 PM, Anthony Ramine wrote:
> > > I got bored of the too verbose output of the build process,
>
> The output isn't there to amuse you but to give you information for
> troubleshooting in case things go wrong. ;-)
>
> > > so I added automake's silent rules to Erlang/OTP.
>
> I never understood the point of a build process generating
> incomplete progress report. Either I wan't all the details (almost
> always) or just the final outcome -- something you can do without
> any patching:
>
> $ if ! make > /tmp/build.log 2>&1 ;then echo "BUILD FAILED!!!" ; fi
>
> > > Here is an example of output produced with silent rules:
> > > https://gist.github.com/4160201
> > >
> > > I may have missed some build tools' invocations as I can only
> > > compile Erlang on my Mac.
> > >
> > > git fetch https://github.com/nox/otp enable-silent-rules
> >
> > Nice patch, but I would prefer to make the default be silent.
>
> That's actively harmful -- a build failing on you with useless
> output is already bad enough, having to re-run the build is annoying
> on its own, having to additionally figure out the option that will
> give you useful output is almost insulting.
>
> Maybe it's just me...
Anthony's patch doesn't silence the build as it seems to me you are
thinking it does, does it? The patch reduces the various
cc, ld, erlc calls to
CC foo/bar/baz
by not printing the complete command. You do of course still get
errors and warnings in both modes. If the build fails, you can also
make it print the complete failed command.
The same 'silencing' mechanism is used by many mainstream projects and
enabled by default.
From kino@REDACTED Thu Nov 29 08:22:23 2012
From: kino@REDACTED (satoshi kinoshita)
Date: Thu, 29 Nov 2012 16:22:23 +0900
Subject: [erlang-patches] (no subject)
Message-ID:
I found antoher 64bit related bug in odbcserver.c.
It affects only param_query for stored-procedure
with OUT parameter of SQL_C_SLONG type.
---Patch--------------------------------------------------
git fetch git://github.com/kinogmt/otp.git odbc64
https://github.com/kinogmt/otp/compare/maint...odbc64
https://github.com/kinogmt/otp/compare/maint...odbc64.patch
-----------------------------------------------------------
Thanks,
Kinoshtia
From n.oxyde@REDACTED Thu Nov 29 10:49:43 2012
From: n.oxyde@REDACTED (Anthony Ramine)
Date: Thu, 29 Nov 2012 10:49:43 +0100
Subject: [erlang-patches] Implement ./otp_build configure
--enable-silent-rules
In-Reply-To: <20121128163124.GA29480@circlewave.net>
References: <22B4C91F-13C6-4899-9DD9-8A1566146848@gmail.com>
<20121128163124.GA29480@circlewave.net>
Message-ID:
Le 28 nov. 2012 ? 17:31, Jachym Holecek a ?crit :
> # Tuncer Ayaz 2012-11-28:
>> On Wed, Nov 28, 2012 at 3:39 PM, Anthony Ramine wrote:
>>> I got bored of the too verbose output of the build process,
>
> The output isn't there to amuse you but to give you information for
> troubleshooting in case things go wrong. ;-)
I never said I did this patch to have a fancy output or to be amused by it.
In my quest to EEP20: Split the atoms [1], I need to update a lot of files without ever messing with the Makefiles nor adding any file to the build process or even to the Git repository. Should I be bothered by obscure GCC flags that don't concern me while doing so? Should I not be able to view the various warnings caused by my changes with just a glance? I could use GCC's -Werror but what should I do about warnings that are independent of my tinkering?
>>> so I added automake's silent rules to Erlang/OTP.
>
> I never understood the point of a build process generating incomplete
> progress report. Either I wan't all the details (almost always) or
> just the final outcome -- something you can do without any patching:
>
> $ if ! make > /tmp/build.log 2>&1 ;then echo "BUILD FAILED!!!" ; fi
I could just do make "2>&1 | tee make.log" but it is still a pain to find the relevant warnings in the produced make.log file.
>>> Here is an example of output produced with silent rules:
>>> https://gist.github.com/4160201
>>>
>>> I may have missed some build tools' invocations as I can only compile
>>> Erlang on my Mac.
>>>
>>> https://github.com/nox/otp/compare/erlang:master...enable-silent-rules
>>> https://github.com/nox/otp/compare/erlang:master...enable-silent-rules.patch
>>>
>>> git fetch https://github.com/nox/otp enable-silent-rules
>>
>> Nice patch, but I would prefer to make the default be silent.
>
> That's actively harmful -- a build failing on you with useless output
> is already bad enough, having to re-run the build is annoying on its
> own, having to additionally figure out the option that will give you
> useful output is almost insulting.
I'm with you on letting it non-default; I sometimes yell at rebar for this very reason when I want to see its erlc invocations.
[1] You can follow my progress on this on https://github.com/nox/otp/compare/erlang:master...eep20
--
Anthony Ramine
From henrik@REDACTED Fri Nov 30 10:29:13 2012
From: henrik@REDACTED (Henrik Nord)
Date: Fri, 30 Nov 2012 10:29:13 +0100
Subject: [erlang-patches] Optimize handling of local fun variables in
v3_kernel
In-Reply-To:
References:
Message-ID: <50B87C69.1030406@erlang.org>
in master-pu
On 11/10/2012 04:35 PM, Anthony Ramine wrote:
> Hi,
>
> This branch removes the so-called "reverse etha-conversion" from v3_kernel and
> replaces it by a proper call to the make_fun internal BIF without the need of a
> redundant lambda function every time the local fun variable is referenced.
>
> There may be some test suites related to this in lib/compiler/test/
> but I couldn't
> find one; feel free to point me to them if any.
>
> https://github.com/nox/otp/compare/rm-reverse-eta-conversion
> https://github.com/nox/otp/compare/rm-reverse-eta-conversion.patch
>
> git fetch https://github.com/nox/otp/ rm-reverse-eta-conversion
>
> Regards,
>
--
/Henrik Nord Erlang/OTP
From aronisstav@REDACTED Fri Nov 30 10:48:37 2012
From: aronisstav@REDACTED (Stavros Aronis)
Date: Fri, 30 Nov 2012 10:48:37 +0100
Subject: [erlang-patches] Dialyzer's record field type warnings
Message-ID:
Sometimes Dialyzer would report violations of the expected types in some
record fields when this was not guaranteed to be the case. This patch fixes
this problem.
git fetch git://github.com/aronisstav/otp.git dialyzer-record-pattern
Regards,
Stavros
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
From henrik@REDACTED Fri Nov 30 12:48:17 2012
From: henrik@REDACTED (Henrik Nord)
Date: Fri, 30 Nov 2012 12:48:17 +0100
Subject: [erlang-patches] Dialyzer's record field type warnings
In-Reply-To:
References:
Message-ID: <50B89D01.7070005@erlang.org>
great, thanks!
On 11/30/2012 10:48 AM, Stavros Aronis wrote:
> Sometimes Dialyzer would report violations of the expected types in
> some record fields when this was not guaranteed to be the case. This
> patch fixes this problem.
>
> git fetch git://github.com/aronisstav/otp.git
> dialyzer-record-pattern
>
> Regards,
>
> Stavros
>
>
> _______________________________________________
> erlang-patches mailing list
> erlang-patches@REDACTED
> http://erlang.org/mailman/listinfo/erlang-patches
--
/Henrik Nord Erlang/OTP
-------------- next part --------------
An HTML attachment was scrubbed...
URL: