Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
* leoliu/tools/fix_edoc_mode:
Fix font-locking for @deprecated in erlang-edoc-mode
|
|
|
|
The option makes it possible to customize the indention of
if/case/recieve patterns.
Before the change, the indentation of 'if' patterns is 3 steps and
'case' patterns is 4 steps. It cannot be changed alone. Some people
prefer other styles, for example, zero indentation.
case a of
true ->
do_something();
false ->
do_something_else()
end.
This patch just adds an option `erlang-icr-indent'. Its default value is
`nil' which means keeping the legacy behavior. When non-nil, the
pattens of if/case/receive are indented according to
`erlang-icr-indent'. "(setq erlang-icr-indent 0)" will keep
if/case/receive at the same column of the sub-clauses.
Change-Id: I10c32e42dbf69cbe187f55223b9aa7824853e493
|
|
* leoliu/tools/emacs-erldoc/PR-1197/OTP-14018:
New commands to ease looking up OTP documentation
|
|
* roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998:
handle send_to_non_existing_process trace event in fprof
|
|
- erldoc-browse: open the manual entry for an MFA in the browser
- erldoc-apropos: list MFAs containing a substring
- erldoc-browse-topic: open user guides in the browser
|
|
* dgud/tools/emacs/prefer-space/ERL-1200:
Fix whitespace setting in test files
Fix all whitespace-related issues in erlang.el
|
|
Continuation of the previous commit on test files, which gave
whitespace diffs for tabs vs spaces depending on personal settings.
And we want to encourage space instead of tabs.
|
|
* raimo/gen_statem-improvements/OTP-13929:
Fix race condition in cancel_timer/1
Use parameterized types
Implement state timeouts
Improve docs and types
Change state entry events into state enter calls
Improve docs
Improve docs
Implement state entry events
Implement call/3 dirty_timeout
|
|
fprof did not handle this trace event. Sending to a non existing
process should not be much different from sending to an existing
process, so duplicate that logic.
|
|
|
|
Having a consistent whitespace usage in the source makes it easier for
future contributors to send patches. This commit does the following:
* Replace tabs with spaces
* Kill trailing whitespace
* Disable indent-tabs-mode for erlang.el to prevent tabs from creeping
in
|
|
* dgud/tools/emacs/edoc-support/PR-1195/OTP-13945:
New file erlang-edoc.el to support EDoc in erlang-mode
|
|
- EDoc markup font-locking and tag completion
- EDoc comment indentation
|
|
* dgud/emacs/do-not-require-final-newline/PR-1130:
erlang-mode: do not configure require-final-newline
|
|
|
|
|
|
Fix some older errors as well.
|
|
|
|
The syntax was limited to atoms, strings and 2-tuples. This covers most
compile options but not for example {d,Macro,Value}.
Add support for N-tuples and lists.
Add a related unit test case.
|
|
Lambda advice cannot easily be updated.
|
|
Completion in erlang shell buffer only works in Emacs 25.
Minor cleanup of completion stuff.
Add test-case for completion at point.
Avoid inf-loop in erlang-end-of-clause when buffer starts with
whitespace.
|
|
* bjorn/fix-make/OTP-13855:
make, ct_make: Handle warning attributes in source files
|
|
* raimo/gen_statem-callback_mode/OTP-13752:
ssl: Upgrade suite testing skipped if stdlib upgrade is required
Fix version numbers and dependencies
Conflicts:
lib/ssl/src/ssl.appup.src
lib/ssl/vsn.mk
|
|
epp learned to handle the -warning() directive in 14d72f02, but
make and ct_make were not updated to expect a {warning,_} return
value from epp:parse_erl_form/1.
|
|
'rickard/new-purge-strategy/OTP-13833' into maint
* rickard/fun-purge-bug/OTP-13809:
Fix purge of code
Reclaim literal area after purge has completed
Separate literal area from code
Conflicts:
erts/doc/src/erlang.xml
erts/emulator/beam/beam_bif_load.c
erts/emulator/beam/erl_init.c
erts/preloaded/ebin/init.beam
|
|
Ensure that we cannot get any dangling pointers into code that
has been purged. This is done by a two phase purge. At first
phase all fun entries pointing into the code to purge are marked
for purge. All processes trying to call these funs will be suspended
and by this we avoid getting new direct references into the code.
When all processes has been checked, these processes are resumed.
The new purge strategy now also completely ignore the existence of
indirect references to the code (funs). If such exist, they will
cause bad fun exceptions to the caller, but will not prevent a
soft purge or cause a kill of a process having such live references
during a hard purge. This since it is impossible to give any
guarantees that no processes in the system have such indirect
references. Even when the system is completely clean from such
references, new ones can appear via distribution and/or disk.
|
|
|
|
* raimo/gen_statem-callback_mode/OTP-13752:
Include trap_exit in server skeletons
Improve sys debug
Handle exceptions in init/1 and callback_mode/0
Clarify error values
Doc fixes
Rewrite SSH for gen_statem M:callback_mode/0
Rewrite SSL for gen_statem M:callback_mode/0
Rewrite Tools for gen_statem M:callback_mode/0
Rewrite gen_statem docs for M:callback_mode/0
Rewrite gen_statem TCs for M:callback_mode/0
Rewrite gen_statem for M:callback_mode/0
|
|
|
|
|
|
|
|
|
|
Erlang source files do not require a final newline. Thus,
require-final-newline is a personal setting and should not be configured
in the major mode. Setting it here will also negatively impact helpers
like ethan-wspace.
|
|
|
|
|
|
The bug when introduced in OTP-19.0.
Optimize adding multiple modules to an Xref server
|
|
|
|
Adapt tag completion for changes in Emacs 25.
Stop storing module:tag entries in the completion table for definitions
in hrl-files. These entries make no sense since hrl-files are not
modules.
Add test-case for tag completion in erlang-test.el.
Ensure prog-mode is defined for the sake of Emacs 23 and XEmacs.
|
|
Extracting data from debug info in BEAM files is parallelized.
The speed-up is not outstanding. If memory is not an issue, adding
`{spawn_opt, [{min_heap_size, <large number>}]}' to the option list of
xref:start/2 can make a (small) difference.
Reading of modules from a directory is parallelized. Attempts to
parallelize all modules when adding a release have been rejected since
the gain showed to be small compared to the increased complexity of
the code.
Using a process for coordinating the reading has not been attempted.
|
|
This reverts commit e020f75c10410a6943cd055bfa072a2641eab7da.
|
|
|
|
Add current module to non external functions calls.
Also improves finding record and macro definitions.
|
|
The right order is defined by find-tag-tag-order which is a list of
predicate functions. Tags matched by the first function shall be
visited first. After that tags matched by the seconds function shall be
visited and so on.
Previous behavior was to visit tags that match any of the functions in
the order they appear in the TAGS file.
Reported by Dan Gudmundsson.
|
|
* dgud/tools/emacs-xref/PR-1051:
Add xref support in erlang.el
Conflicts:
lib/tools/emacs/erlang.el
|
|
In GNU Emacs 25 xref will be introduced. It is a framework for cross
referencing commands, in particular commands for finding definitions.
It does not replace etags. It rather resides on top of it and
provides user-friendly commands. The idea is that the user commands
should be the same regardless of what back-end does the actual finding
of definitions.
Add to the xref commands awareness of the module:tag syntax in a
similar way that is already done for the old etags commands.
Xref completion support is not included in this commit.
Remove all compilation warnings for GNU Emacs 24.5 and current 25
(4ffec91).
Remove XEmacs incompatibility in
erlang-font-lock-exported-function-name-face.
Add file erlang-test.el with a single unit test.
Add TAGS to .gitignore.
|
|
Inside type specs, line-initial commas shall align with open curly
braces. This also applies to record definitions with type specs for
the fields.
For example:
-type foo() :: { a :: integer()
, b :: integer()
}.
For type specs for functions, the commas shall align with the opening
parenthese. So do a closing parenthese when put on a new line.
For example:
-spec foo( X :: integer()
, Y :: integer()
) -> integer().
This does not affect coding styles that don't put commas at the
beginning of lines.
|