From 401662cb4be172747bf243271e5ddadbc7607ca7 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 17 Dec 1994 00:40:24 +0000 Subject: [PATCH] (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_. --- lisp/progmodes/c-mode.el | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lisp/progmodes/c-mode.el b/lisp/progmodes/c-mode.el index 114bec7d480..bbd077fd232 100644 --- a/lisp/progmodes/c-mode.el +++ b/lisp/progmodes/c-mode.el @@ -630,13 +630,15 @@ Return the amount the indentation changed by." (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 @@ return the indentation of the text that would follow this star." (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 @@ If within a string or comment, move by sentences instead of statements." ;; 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) -- 2.39.5