From 5cff3cc1d9409b67f857c2c47c66fe4433255b89 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 25 Feb 1995 07:49:39 +0000 Subject: [PATCH] (c++-backward-to-noncomment): Don't loop forever if first line of buffer starts with ` #'. --- lisp/progmodes/cplus-md.el | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lisp/progmodes/cplus-md.el b/lisp/progmodes/cplus-md.el index fd7f224969e..c88e299f7df 100644 --- a/lisp/progmodes/cplus-md.el +++ b/lisp/progmodes/cplus-md.el @@ -586,12 +586,16 @@ Returns nil if line starts inside a string, t if in a comment." ((and (search-backward "//" (max (c++-point-bol) lim) 'move) (not (c++-within-string-p (point) opoint)))) - (t (beginning-of-line) - (skip-chars-forward " \t") - (if (looking-at "#") - (setq stop (<= (point) lim)) - (setq stop t) - (goto-char opoint))))))) + ;; No comment to be found. + ;; If there's a # command on this line, + ;; move back to it. + (t (beginning-of-line) + (skip-chars-forward " \t") + ;; But don't get fooled if we are already before the #. + (if (and (looking-at "#") (< (point) opoint)) + (setq stop (<= (point) lim)) + (setq stop t) + (goto-char opoint))))))) (defun indent-c++-exp () "Indent each line of the C++ grouping following point." -- 2.39.5