From: Alan Mackenzie Date: Sun, 9 Sep 2012 01:56:38 +0000 (+0800) Subject: Backport: AWK Mode: make auto-newline work when there's "==" in the X-Git-Tag: emacs-24.2.90~269^2~3^2~14 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=48e8c8aad6a03b6b20a781b29da8d3e445ab2af7;p=emacs.git Backport: AWK Mode: make auto-newline work when there's "==" in the pattern. Fixes: debbugs:12188 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2a735ef26fd..34e391a8c57 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 Joel Bion (tiny change) * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz. (Bug#12382) diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el index daa2e455c28..364263879ee 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 65e28c11e21..59d288ec1c3 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el @@ -9551,12 +9551,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)