diff options
author | Erlang/OTP <[email protected]> | 2010-05-26 10:24:39 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-05-26 10:24:39 +0000 |
commit | b942d8304be96255a66d73bf031ddc90e7ad3d16 (patch) | |
tree | 53e880487133a15ea64b368a3bb976f9c16f9bfe /lib/tools/emacs | |
parent | 3e628f610908672e15c1e9b2ba210cee63a9f46f (diff) | |
parent | 1f32cb47e3d6f8f93228f6d42a91fc483e03b57f (diff) | |
download | otp-b942d8304be96255a66d73bf031ddc90e7ad3d16.tar.gz otp-b942d8304be96255a66d73bf031ddc90e7ad3d16.tar.bz2 otp-b942d8304be96255a66d73bf031ddc90e7ad3d16.zip |
Merge branch 'mh/fix-record-indentation' into dev
* mh/fix-record-indentation:
Fix indentation of records with line breaks inside lists
Diffstat (limited to 'lib/tools/emacs')
-rw-r--r-- | lib/tools/emacs/erlang.el | 14 | ||||
-rw-r--r-- | lib/tools/emacs/test.erl.indented | 5 | ||||
-rw-r--r-- | lib/tools/emacs/test.erl.orig | 5 |
3 files changed, 20 insertions, 4 deletions
diff --git a/lib/tools/emacs/erlang.el b/lib/tools/emacs/erlang.el index b6ab0e1a5b..c31f76025e 100644 --- a/lib/tools/emacs/erlang.el +++ b/lib/tools/emacs/erlang.el @@ -2925,10 +2925,16 @@ This assumes that the preceding expression is either simple (skip-chars-backward " \t") ;; Needed to match the colon in "'foo':'bar'". (if (not (memq (preceding-char) '(?# ?:))) - col - (backward-char 1) - (forward-sexp -1) - (current-column))))) + col + ;; Special hack to handle: (note line break) + ;; [#myrecord{ + ;; foo = foo}] + (or + (ignore-errors + (backward-char 1) + (forward-sexp -1) + (current-column)) + col))))) (defun erlang-indent-parenthesis (stack-position) (let ((previous (erlang-indent-find-preceding-expr))) diff --git a/lib/tools/emacs/test.erl.indented b/lib/tools/emacs/test.erl.indented index d0ea4c29cf..1dc976d8dc 100644 --- a/lib/tools/emacs/test.erl.indented +++ b/lib/tools/emacs/test.erl.indented @@ -588,3 +588,8 @@ indent_comprehensions() -> true = (X rem 2) >>, ok. + +%% This causes an error in earlier erlang-mode versions. +foo() -> + [#foo{ + foo = foo}]. diff --git a/lib/tools/emacs/test.erl.orig b/lib/tools/emacs/test.erl.orig index 70e97a2e91..feb9e4e5a1 100644 --- a/lib/tools/emacs/test.erl.orig +++ b/lib/tools/emacs/test.erl.orig @@ -588,3 +588,8 @@ Binary2 = << <<X:8>> || <<X:32,_:32>> <= <<0:512>>, true = (X rem 2) >>, ok. + +%% This causes an error in earlier erlang-mode versions. +foo() -> +[#foo{ +foo = foo}]. |