From ace2989a842a84483702cbef6284fe7a8300e18a Mon Sep 17 00:00:00 2001 From: Alan Mackenzie Date: Sat, 8 Sep 2012 20:00:13 +0000 Subject: [PATCH] AWK Mode: make auto-newline work when there's "==" in the pattern. cc-cmds.el (c-point-syntax): Handle virtual semicolons correctly. cc-engine.el (c-guess-basic-syntax CASE 5A.3): Test more rigorously for "=" token. --- lisp/ChangeLog | 8 ++++++++ lisp/progmodes/cc-cmds.el | 17 ++++++++++------- lisp/progmodes/cc-engine.el | 4 ++-- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 10458236c30..ea69865c79f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2012-09-08 Alan Mackenzie + + AWK Mode: make auto-newline work when there's "==" in the pattern. + * progmodes/cc-cmds.el (c-point-syntax): Handle virtual semicolons + correctly. + * progmodes/cc-engine.el (c-guess-basic-syntax CASE 5A.3): Test + more rigorously for "=" token. + 2012-09-08 Dmitry Gutov * progmodes/ruby-mode.el (ruby-match-expression-expansion): Only diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el index 7cd0a0b0ae2..eec6873dc19 100644 --- a/lisp/progmodes/cc-cmds.el +++ b/lisp/progmodes/cc-cmds.el @@ -493,13 +493,16 @@ inside a literal or a macro, nothing special happens." (insert-char ?\n 1) ;; In AWK (etc.) or in a macro, make sure this CR hasn't changed ;; the syntax. (There might already be an escaped NL there.) - (when (or (c-at-vsemi-p (1- (point))) - (let ((pt (point))) - (save-excursion - (backward-char) - (and (c-beginning-of-macro) - (progn (c-end-of-macro) - (< (point) pt)))))) + (when (or + (save-excursion + (c-skip-ws-backward (c-point 'bopl)) + (c-at-vsemi-p)) + (let ((pt (point))) + (save-excursion + (backward-char) + (and (c-beginning-of-macro) + (progn (c-end-of-macro) + (< (point) pt)))))) (backward-char) (insert-char ?\\ 1) (forward-char)) diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index 142ec4cdd66..9188ab2fbfd 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -9579,12 +9579,12 @@ comment at the start of cc-engine.el for more info." (setq tmpsymbol nil) (while (and (> (point) placeholder) (zerop (c-backward-token-2 1 t)) - (/= (char-after) ?=)) + (not (looking-at "=\\([^=]\\|$\\)"))) (and c-opt-inexpr-brace-list-key (not tmpsymbol) (looking-at c-opt-inexpr-brace-list-key) (setq tmpsymbol 'topmost-intro-cont))) - (eq (char-after) ?=)) + (looking-at "=\\([^=]\\|$\\)")) (looking-at c-brace-list-key)) (save-excursion (while (and (< (point) indent-point) -- 2.11.4.GIT