Age | Commit message (Collapse) | Author |
|
* raimo/kernel/gen_statem-progress/OTP-14114:
Make code_change/4 optional
Implement fallback for terminate/3
Clarify code_change and callback mode change
Stop pampering with stacktraces
Clean up timer handling
Remove event timer optimization
Clean up timer handling
Reduce number of loop variables hence code mass
Optimize by using async cancel_timer
Bugfix: callback mode not cached after code change
Implement repeat_state and repeat_state_and_data
Correct type checking function for action {next_event,,}
Change arity of type to init_result/1
|
|
|
|
|
|
* 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
|
|
- 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
|
|
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
* erlang/pr/1006:
Use define-derived-mode to define erlang-mode
|
|
* raimo/new-gen-state-machine/OTP-13065: (52 commits)
Add section on state filtering
Promote gen_statem over gen_fsm
Modify code_change/4 to return CallbackMode
Use ?NAME macro in examples
Introduce Fred Herbert suggested additions
Introduce corrections from Fred Hebert and Ingela
Use .png pictures instead of .gif
Write Design Principles chapter
Fix missing short forms for event timeout
Do more intricate Fred Hebert doc changes
Change Caller -> From as suggested by Fred Hebert
Do documentation improvements from Fred Hebert
Fix broken documenation reference
Rename state_timeout -> event_timeout
Fix most of the system docs and emacs mode
Change code_change/4 to {ok,State,Data}
Fixup sharpened test suite
Sharpen test suite
Remove the remove_event action and all alike
Relax caller() type check and cleanup
...
Conflicts:
lib/stdlib/src/gen.erl
lib/stdlib/src/gen_event.erl
lib/stdlib/src/gen_fsm.erl
lib/stdlib/src/gen_server.erl
lib/stdlib/test/error_logger_forwarder.erl
|
|
Remove some things that define-derived-mode does for us.
Also, derive erlang-mode from prog-mode, so that a user that has added
customizations meant for all programming language major modes will
enjoy those in Erlang mode as well.
|
|
|
|
|
|
|
|
|
|
In the Emacs Erlang mode, typing "->" will usually automatically add a
newline, which is usually what you want when writing a function, but
not when writing a type spec. Therefore, there is a check for not
adding the newline when the current line starts with -spec or -type.
This change adds -callback to that check, since it is usually written
the same way as type specs.
|
|
|
|
|
|
|
|
Fix "Unbalanced parentheses" error when indenting particular map
constructs. Add new test cases for this fix.
To prevent infinite looping when the programmer mistakenly enters
incorrect syntax, detect cases where erlang-partial-parse fails to
advance when called within a loop, and raise an "Illegal syntax"
error.
|
|
|
|
The tag completion code was changed in GNU Emacs 23.1 in a way that
broke erlang.el tag completion. This commit fix that for Emacs 23.1 and
later.
Add progress report while building completion table.
Add completion of module_info/0 for all modules.
Add lib/tools/emacs/*.elc to .gitignore.
|
|
* siri/sup-spec-maps/OTP-11043:
Update emacs skeleton for supervisor to use maps
Update dialyzer test with maps in supervisor properties
Add documentation of maps in supervisor flags and child specs
Add test of maps in supervisor flags and child specs
New function supervisor:get_childspec/2
Allow maps for supervisor flags and child specs
Rebase supervisor
Add more tests of supervisor
|
|
The example in the skeleton now uses maps instead of the old tuple
format for supservisor flags and child specifications.
|
|
OTP-12283
* davidw/add-spec-skel:
Removed extra space following paren
First attempt at adding a skel for -spec's
|
|
|
|
|
|
New skel adds a -spec for the function after point.
|