Mercurial > emacs
changeset 10182:b80150d748d1
(indent-c-exp): Don't be fooled by else_ or while_.
(c-indent-line): Likewise.
(c-backward-to-start-of-if): Don't be fooled by if_ or else_.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 17 Dec 1994 00:40:24 +0000 |
parents | 7a0412e09bdb |
children | 7e28ad5e1042 |
files | lisp/progmodes/c-mode.el |
diffstat | 1 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/c-mode.el Sat Dec 17 00:03:59 1994 +0000 +++ b/lisp/progmodes/c-mode.el Sat Dec 17 00:40:24 1994 +0000 @@ -630,13 +630,15 @@ (setq indent (save-excursion (c-backward-to-start-of-if) (current-indentation)))) - ((looking-at "}[ \t]*else") + ((and (looking-at "}[ \t]*else\\b") + (not (looking-at "}[ \t]*else\\s_"))) (setq indent (save-excursion (forward-char) (backward-sexp) (c-backward-to-start-of-if) (current-indentation)))) ((and (looking-at "while\\b") + (not (looking-at "while\\s_")) (save-excursion (c-backward-to-start-of-do))) ;; This is a `while' that ends a do-while. @@ -933,9 +935,11 @@ (case-fold-search nil)) (while (and (not (bobp)) (not (zerop if-level))) (backward-sexp 1) - (cond ((looking-at "else\\b") + (cond ((and (looking-at "else\\b") + (not (looking-at "else\\s_"))) (setq if-level (1+ if-level))) - ((looking-at "if\\b") + ((and (looking-at "if\\b") + (not (looking-at "if\\s_"))) (setq if-level (1- if-level))) ((< (point) limit) (setq if-level 0) @@ -1189,9 +1193,11 @@ ;; Find last non-comment character before this line (save-excursion (setq this-point (point)) - (setq at-else (looking-at "else\\W")) + (setq at-else (and (looking-at "else\\b") + (not (looking-at "else\\s_")))) (setq at-brace (= (following-char) ?{)) - (setq at-while (looking-at "while\\b")) + (setq at-while (and (looking-at "while\\b") + (not (looking-at "while\\s_")))) (if (= (following-char) ?}) (setq this-indent (car indent-stack)) (c-backward-to-noncomment opoint)