Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-12-12 | Support EEP37 named funs in emacs erlang-mode | Steve Vinoski | |
Change emacs erlang-mode to recognize EEP37 named funs so they're indented properly. Specifically, modify erlang-partial-parse to allow for an optional Erlang variable name to appear between the "fun" keyword and the opening parenthesis of its argument list. | |||
2013-12-12 | Test named funs | Anthony Ramine | |
2013-12-12 | EEP 37: Funs with names | Anthony Ramine | |
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> = '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. | |||
2013-12-10 | Merge tag 'OTP_R16B03' | Magnus Lidén | |
The R16B03 release Conflicts: lib/sasl/vsn.mk | |||
2013-12-09 | Prepare releaseOTP_R16B03 | Erlang/OTP | |
2013-12-02 | Merge branch 'maint' | Henrik Nord | |
2013-12-02 | Silence warnings about socklen_t pointers sign in erl_memory | Anthony Ramine | |
erl_memory.c:947:7: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] &saddr_size) != 0) ^~~~~~~~~~~ /usr/include/sys/socket.h:616:74: note: passing argument to parameter here int getsockname(int, struct sockaddr * __restrict, socklen_t * __restrict) ^ erl_memory.c:2613:57: warning: passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign] sock = accept(lsock, (struct sockaddr *) &oth_addr, &oth_addr_len); ^~~~~~~~~~~~~ /usr/include/sys/socket.h:610:69: note: passing argument to parameter here int accept(int, struct sockaddr * __restrict, socklen_t * __restrict) ^ | |||
2013-12-02 | Silence warnings about different buffer types in erl_memory | Anthony Ramine | |
erl_memory.c:861:19: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, "%*" USGND_INT_MAX_FSTR " ", fw, mi->size); ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:863:16: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:869:16: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, "%*" USGND_INT_MAX_FSTR " ", fw, mi->no); ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:871:20: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:878:16: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:900:19: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, "%*" USGND_INT_MAX_FSTR " ", fw, mi->max_ever_size); ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:902:16: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, "%*s %*s ", fw, "", fw, ""); ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:904:16: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, "%*" USGND_INT_MAX_FSTR " ", fw, mi->max_ever_no); ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:906:20: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, "%*s %*s ", fw, "", fw, ""); ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:909:16: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] *p += sprintf(*p, "%*s %*s %*s ", fw, "", fw, "", fw, ""); ^~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:986:25: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] area.size = sprintf(area.ptr, format, carg); ^~~~~~~~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1103:25: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] area.size = sprintf(area.ptr, ^~~~~~~~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1109:23: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] area.size += sprintf(area.ptr + area.size, ^~~~~~~~~~~~~~~~~~~~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1120:26: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] area.size += sprintf(area.ptr + area.size, ^~~~~~~~~~~~~~~~~~~~ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1190:18: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] p += sprintf(p, "> %-*s", EM_TIME_FIELD_WIDTH - 2, "Maximum:"); ^ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1223:18: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] p += sprintf(p, "\n"); ^ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1227:15: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] p += sprintf(p, "%s", stop_str); ^ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1230:15: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] p += sprintf(p, exit_str, state->info.exit_status); ^ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1236:18: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] p += sprintf(p, format, tsz, bw); ^ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1286:18: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] p += sprintf(p, "%*" USGND_INT_32_FSTR " ", EM_TIME_FIELD_WIDTH - 1, secs); ^ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:1311:18: warning: passing 'usgnd_int_8 *' (aka 'unsigned char *') to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign] p += sprintf(p, "\n"); ^ /usr/include/secure/_stdio.h:49:28: note: expanded from macro 'sprintf' __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__) ^ erl_memory.c:2231:32: warning: passing 'char *' to parameter of type 'usgnd_int_8 *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign] size = write_header(state, state->output.header, 1); ^~~~~~~~~~~~~~~~~~~~ erl_memory.c:736:44: note: passing argument to parameter 'ptr' here write_header(em_state *state, usgnd_int_8 *ptr, int trunc) ^ | |||
2013-10-31 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-10-30 | tools: Fix compile_beam_opts testcase | Fredrik Gustafsson | |
2013-10-30 | Take compiler options from beam in cover:compile_beam | Péter Gömöri | |
Similarly to cover compiling from source (in this case some user specified compiler options are allowed) when cover compiling from existing beam take a filtered list of compiler options from the beamfile. This way e.g. export_all can be preserved. See use case in eb02beb1c3 | |||
2013-10-25 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-10-25 | Merge branch 'puzza007/emacs_iodata_nonempty_string_builtin_types/OTP-11394' ↵ | Fredrik Gustafsson | |
into maint * puzza007/emacs_iodata_nonempty_string_builtin_types/OTP-11394: Add iodata, nonempty_string to built-in type highlighting for emacs | |||
2013-10-22 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-10-22 | tools: Add Erlang-specific compilation error regexp for erlang-eunit | Fredrik Gustafsson | |
This defvar was removed in a87a9699735b0a25f99397fba9576f5756da54d3 which made eunit fail on running tests in emacs. | |||
2013-10-14 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-10-14 | Merge branch 'fenollp/treewide_remove_unexpected_0xff/OTP-11323' into maint | Fredrik Gustafsson | |
* fenollp/treewide_remove_unexpected_0xff/OTP-11323: Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters. | |||
2013-10-10 | Add iodata, nonempty_string to built-in type highlighting for emacs | Paul Oliver | |
These built-in types were missing from emacs highlighting | |||
2013-09-17 | Merge tag 'OTP_R16B02' | Magnus Lidén | |
The R16B02 release Conflicts: lib/sasl/vsn.mk | |||
2013-09-16 | Prepare releaseOTP_R16B02 | Erlang/OTP | |
2013-09-12 | Remove ^L characters hidden randomly in the code. Not those used in text ↵ | Pierre Fenoll | |
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters. | |||
2013-09-06 | Change encoding of troublesome notes.xml files to utf-8 | Björn Gustavsson | |
Most notes.xml files will be updated in every release and cause the kind of the problems described in the previous commit. | |||
2013-08-28 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-08-27 | tools: | Fredrik Gustafsson | |
In Emacs it is possible to remotely edit a file, by opening for example /ssh:somehost.com:/path/to/file.erl. In Emacs, the feature that makes this possible, is called TRAMP. When compiling such a file, by typing C-c C-k, an inferior Erlang shell is opened on the remote host, but the compilation expression that was evaluated in the remote Erlang shell was: c("/ssh:somehost.com:/path/to/file", [...]). which resulted in a "no such file or directory" error. This commit changes the compilation expression into: c("/path/to/file", [...]). for files opened remotely via TRAMP. The file name is adjusted similarly when compiling .yrl and .xrl files. In a buffer opened remotely, the Elisp function buffer-file-name returns the full path with TRAMP syntax. In this example it would be "/ssh:somehost.com:/path/to/file.erl". A new function, erlang-local-buffer-file-name, has been introduced, which peels off the TRAMP syntax on remotely opened files, while for locally opened files, it just calls buffer-file-name. | |||
2013-08-19 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-08-19 | Merge branch 'mh/line-initial-commas/OTP-11242' into maint | Fredrik Gustafsson | |
* mh/line-initial-commas/OTP-11242: Inside parentheses, line-initial commas align with the open parenthesis | |||
2013-07-09 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-07-01 | Remove trailing spaces in Emacs templates | Roberto Aloi | |
2013-06-18 | Inside parentheses, line-initial commas align with the open parenthesis | Magnus Henoch | |
For example: [ one , two , three ] This does not affect coding styles that don't put commas at the beginning of lines. | |||
2013-06-18 | Merge tag 'OTP_R16B01' | Björn-Egil Dahlberg | |
The R16B01 release Conflicts: lib/sasl/vsn.mk | |||
2013-06-17 | Prepare releaseOTP_R16B01 | Erlang/OTP | |
2013-06-12 | Merge branch 'maint' | Björn-Egil Dahlberg | |
2013-06-12 | Update copyright years | Björn-Egil Dahlberg | |
2013-06-05 | Merge branch 'maint' | Björn-Egil Dahlberg | |
2013-06-05 | Merge branch 'egil/increase-eprof-usability/OTP-11144' into maint | Björn-Egil Dahlberg | |
* egil/increase-eprof-usability/OTP-11144: tools: Document new eprof options tools: Add options to eprof tools: Add testcase to eprof_SUITE tools: Refactor away ?line macro in eprof_SUITE | |||
2013-06-05 | Merge branch 'maint' | Fredrik Gustafsson | |
2013-06-04 | tools: Added gather_gc_info_result to bifs | Fredrik Gustafsson | |
2013-05-03 | tools: Document new eprof options | Björn-Egil Dahlberg | |
2013-05-03 | tools: Add options to eprof | Björn-Egil Dahlberg | |
The option set_on_spawn can now be opted out. | |||
2013-05-03 | tools: Add testcase to eprof_SUITE | Björn-Egil Dahlberg | |
Test disabling of set_on_spawn | |||
2013-05-03 | tools: Refactor away ?line macro in eprof_SUITE | Björn-Egil Dahlberg | |
2013-04-19 | Convert XML files to UTF-8 | Hans Bolinder | |
2013-04-19 | Convert XML files to UTF-8, where needed | Hans Bolinder | |
2013-04-19 | Remove the "coding: utf-8" comment from all Erlang source files | Hans Bolinder | |
2013-04-15 | Merge branch 'lh/demonitor-flush/OTP-11039' into maint | Fredrik Gustafsson | |
* lh/demonitor-flush/OTP-11039: Use erlang:demonitor(Ref, [flush]) where applicable | |||
2013-04-10 | Merge branch 'mar/cover-fix/OTP-11028' into maint | Fredrik Gustafsson | |
* mar/cover-fix/OTP-11028: Delete ets tables when stopped fix a race condition when there're several applications in apps directory | |||
2013-04-09 | Delete ets tables when stopped | Fredrik Gustafsson | |
2013-04-08 | Remove unused Postscript files | Hans Bolinder | |
2013-04-05 | Use erlang:demonitor(Ref, [flush]) where applicable | Loïc Hoguin | |
2013-04-04 | fix a race condition when there're several applications in apps directory | Manuel Rubio | |