Age | Commit message (Collapse) | Author |
|
* mh/escript-erlang-mode:
Associate files using interpreter "escript" with Erlang mode
|
|
* cb/emacs-eunit-run-current-test:
Add Emacs EUnit utility feature: run current test function.
|
|
* mh/fix-record-indentation:
Fix indentation of records with line breaks inside lists
|
|
* mh/inferior-erlang-cmd-uniq:
inferior-erlang: specify command to run, uniquify buffer names
|
|
* mh/erlang-mode-imenu-arity:
Let imenu distinguish functions by arity
|
|
* mh/erlang-mode-map-init:
Set erlang-mode-map when loading erlang.el
|
|
|
|
|
|
|
|
|
|
OTP-8574: Option to allow invalid row OIDs.
OTP-8594: Make snmp forward compatible with new crypto.
OTP-8595: snmpc fails to compile BITS with "holes".
OTP-8646: Agent-info lookup raise condition.
OTP-8648: MIB server cache auto-gc chenged to on by default.
|
|
Create and assign the erlang-mode keymap to erlang-mode-map once
erlang.el is loaded, not the first time it is used. This way of doing
it follows the Emacs Lisp convention described at
http://www.gnu.org/software/emacs/manual/html_node/elisp/Tips-for-Defining.html
and also makes it easier for users to customize the keymap.
Remove the now unneeded functions erlang-keymap-init and
erlang-mode-commands.
Also move the definition of inferior-erlang-use-cmm, so it is
available when defining erlang-mode-map.
|
|
* bg/wx_objects:
wx_objects: Fix calls to unexported gen_server:print_event/3
OTP-8638 bg/wx_objects
|
|
* fm/file-operations:
Update preloaded modules
Add file:advise/4 - a wrapper to the POSIX syscall posix_fadvise
Add file:datasync/1 for syncing file contents only
sys.h: Correct the get_int64() macro
OTP-8637 fm/file-operations
The functions file:advise/4 and file:datasync/1 have been added. (Thanks to
Filipe David Manana.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In code copied (and modified) from the gen_server module, there
are references to the gen_server:print_event/3 function, which is
not exported.
We could export print_event/3 from the gen_server, but in that
case we must promise to keep the function and keep it compatible
in the future. Since the function is small and wx_object already
contains a lot of code copied from gen_server, let's copy the
code for print_event/3 too.
(Thanks to Kostis Sagonas. This old bug was exposed by a patch
by Kostis that replaced "tuple funs" with real funs.)
|
|
* bg/compiler-cover-and-clean:
v3_life: Remove clause that cannot match in match_fail/3
v3_life tests: Cover exception handling code in v3_life:function/1
beam_type: Remove redundant clause
v3_core tests: Cover make_bool_switch_guard/5
v3_core tests: Cover handling of pattern aliases
v3_core: Remove a clause in is_simple/1 that cannot match
v3_core: Remove unused support for generating compilation errors
Remove stray support for the put_literal/2 instruction
Remove stray support for the bs_bits_to_bytes2/2 instruction
Remove the bs_bits_to_bytes/3 instruction
Cover handling of 'math' BIFs
beam_bool: Remove a clause in live_regs/1 that cannot match
beam_bool: Cover handling of bs_context_to_binary in initialized_regs/2
beam_bool: Remove a clause in initialized_regs/2 that cannot match
beam_block: Remove a clause that will never be executed
erts: Stop supporting non-literal empty tuples
compile: Remove code that is only executed on Solaris
Do not cover-analyze core_scan
core_SUITE_data: Don't ignore *.core files in this directory
OTP-8636 bg/compiler-cover-and-clean
|
|
* sv/format_status_error_info:
Add support for the format_status callback to gen_event
Extend format_status for gen_server/gen_fsm termination error logging
OTP-8630 sv/format_status_error_info
When a gen_server, gen_fsm process, or gen_event terminates abnormally,
sometimes the text representation of the process state can occupy many
lines of the error log, depending on the definition of the state term. A
mechanism to trim out parts of the state from the log has been added (using
a format_status/2 callback). See the documentation.
|
|
Signed-off-by: Tuncer Ayaz <[email protected]>
|
|
Make the function names used by M-x imenu contain the function arity
as well as the name. This makes it possible to jump to all functions
of the same name, as opposed to only the one that is defined first.
For example, in the following module there is now a way to jump
directly to foo/1:
-module(foo).
foo() ->
ok.
bar() ->
error.
foo(A) ->
{ok, A}.
|
|
* jn/ic-docs-without-java:
Permit building and installing documentation without Java
|
|
|
|
Useful for informing the Operating System about the access pattern
for a file's data, so that it can adapt the caching strategy to
maximize disk IO performance.
|
|
file:datasync/1 invokes the POSIX system call "int fdatasync(int fd)".
This system call is similar to "fsync" but, unlike fsync, it does not
update the metadata associated with the file (like the access time for
example). It's used by many DBMSs (MySQL and SQLite of example) to
increase disk IO performance, as it avoids disk seeks and disk write
operations compared to fsync.
More details on it at:
http://linux.die.net/man/2/fdatasync
An example, from the MySQL source:
http://bazaar.launchpad.net/~mysql/mysql-server/mysql-5.1-telco-6.1/annotate/head%3A/mysys/my_sync.c#L61
This new function just calls fsync on systems not implementing fdatasync.
|
|
The get_int64() macro has never been used (it was probably added
for completeness at the same time that put_int64() was added),
but it was not actually used and therefore it does not actually
work.
|
|
The clause that attempts to match a #k_literal{} where
the value is an atom cannot possibly match, since single
atoms are always encoded as #k_atom{}.
|
|
|
|
The clause does not server any useful purpose, since it does the
same as the default clause at the end.
|
|
|
|
|
|
The is_simple/1 function does not need to handle #c_binary{},
since it will never be called with a #c_binary{} argument.
|
|
The state record #core{} has a "es" field that can be used for
causing a compilation error. Since incorrect programs have been
rejected much earlier by erl_lint, no errors were actually stored
in the "es" fields. Therefore, get rid of the "es" field and
the support for generating a compilation error in the v3_core
module.
|
|
put_literal/2 was an experimental instruction added in R11 to
support literals, but before the R12 release support for literals
was implemented for all instruction, making the put_literal/2
instruction redundant. Although the beam_disasm module supports
dissambley of instructions in older releases, there is
no reason to have it support experimental instructions.
|
|
bs_bits_to_bytes2/2 was an experimental instruction added in R11,
but was removed in R12. Although the beam_disasm and beam_validator
modules do support instructions in older releases, there is
no reason to have them support experimental instructions.
|
|
The last compiler to generate code that uses the bs_bits_to_bytes/3
instruction was the R11 compiler. Since we don't support loading
R11 *.beam files in R14, removing the remaining support for the
instruction.
|
|
Extend float_SUITE to cover the handling of all BIFs in
the 'math' module. This change will increase test coverage
of erl_bifs and erl_type.
|
|
live_regs/1 folds over a list of tuples, so a clause matching
an element being an empty list can never match.
If the list for some unfathomable reason would contain an empty
list, there will be an internal compiler error and no *.beam file
will be created. Thus this change is safe.
|
|
Add a test case (derived from dets_v9:scan_skip/8), to cover the
clause in initialized_regs/2 that handles bs_context_to_binary.
|
|
When scanning a reversed instruction sequence for a function,
it is impossible to reach the end of the list, because each function
must have a fun_info/4 instruction followed by a label/1 instruction
at the beginning, and there is a clause that will handle those
instructions.
If for some unfathomable reason the end of the list would be
reached, with this change there will be an internal compiler error
and no *.beam file will be created. Thus this change is safe.
|
|
Since the introduction of literals in R12B, empty tuples
are literals. Thus the put_tuple/2 instruction is always
followed by at least one put/1 instruction. Therefore
the alloc_may_pass/1 function in beam_block no longer needs
a clause for for "put_tuple", because the clause for "put"
will always be reached first (since the instruction stream
is scanned in reverse execution order).
Note that if the compiler would generate a "put_tuple 0 Dst"
instruction for some unfathomable reason, we should still be
because the run-time system will now refuse to load a module
containing such an instruction.
|
|
Since R12B, empty tuples are literals. Thus the compiler will no
longer generate the instruction:
put_tuple 0 Destination
for creating an empty tuple. It is now time to stop supporting
that instruction in the run-time system.
While we are at it, correct a typo.
|
|
On Solaris only, the 'time' option would include the process
size for the Erlang virtual machine in its output. Since few
compiler developers use Solaris nowadays, remove the code.
|
|
Compiling from *.core files is not a supported feature, and writing
test cases to improve the coverage of core_scan will not help
us to find more bugs in the compiler.
|