From 818628634b2c8e871fa3cf524c6659b0bea05c14 Mon Sep 17 00:00:00 2001 From: Steve Vinoski Date: Sat, 1 Mar 2014 14:08:02 -0500 Subject: match erlang keywords more carefully Use word boundaries in some regex matching to avoid recognizing words that begin with keywords as keywords themselves, for example avoid recognizing a function named catcher as the catch keyword. Add a regression test for this problem. --- lib/tools/emacs/test.erl.indented | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib/tools/emacs/test.erl.indented') diff --git a/lib/tools/emacs/test.erl.indented b/lib/tools/emacs/test.erl.indented index 0dc1b47f0d..1c1086ca58 100644 --- a/lib/tools/emacs/test.erl.indented +++ b/lib/tools/emacs/test.erl.indented @@ -749,3 +749,14 @@ commas_first() -> %% this used to result in a scan-sexp error [{ }]. + +%% this used to result in 2x the correct indentation within the function +%% body, due to the function name being mistaken for a keyword +catcher(N) -> + try generate_exception(N) of + Val -> {N, normal, Val} + catch + throw:X -> {N, caught, thrown, X}; + exit:X -> {N, caught, exited, X}; + error:X -> {N, caught, error, X} + end. -- cgit v1.2.3