emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/cc-cmds.el,v


From: Alan Mackenzie
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/cc-cmds.el,v
Date: Mon, 13 Oct 2008 18:34:06 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Alan Mackenzie <acmacm> 08/10/13 18:34:06

Index: cc-cmds.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/progmodes/cc-cmds.el,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- cc-cmds.el  7 Oct 2008 13:14:17 -0000       1.73
+++ cc-cmds.el  13 Oct 2008 18:34:05 -0000      1.74
@@ -3096,9 +3096,10 @@
                    (c-parsing-error nil)
                    ;; shut up any echo msgs on indiv lines
                    (c-echo-syntactic-information-p nil)
-                   (macro-start
+                   (ml-macro-start     ; Start pos of multi-line macro.
                     (and (c-save-buffer-state ()
                            (save-excursion (c-beginning-of-macro)))
+                         (eq (char-before (c-point 'eol)) ?\\)
                          start))
                    (c-fix-backslashes nil)
                    syntax)
@@ -3113,24 +3114,28 @@
                        (c-progress-update)
                        ;; skip empty lines
                        (unless (or (looking-at "\\s *$")
-                                   (and macro-start (looking-at "\\s *\\\\$")))
+                                   (and ml-macro-start (looking-at "\\s 
*\\\\$")))
                          ;; Get syntax and indent.
                          (c-save-buffer-state nil
                            (setq syntax (c-guess-basic-syntax)))
                          (c-indent-line syntax t t))
 
-                       (if (assq 'cpp-macro syntax) ; New macro?
-                           (setq macro-start (point))
-                         (when (and macro-start ; End of old macro?
-                                    c-auto-align-backslashes
+                       (if ml-macro-start
+                           ;; End of current multi-line macro?
+                           (when (and c-auto-align-backslashes
                                     (not (eq (char-before (c-point 'eol)) 
?\\)))
                            ;; Fixup macro backslashes.
-                           (c-backslash-region macro-start (c-point 'bonl) nil)
-                           (setq macro-start nil)))
+                             (c-backslash-region ml-macro-start (c-point 
'bonl) nil)
+                             (setq ml-macro-start nil))
+                         ;; New multi-line macro?
+                         (if (and (assq 'cpp-macro syntax)
+                                  (eq (char-before (c-point 'eol)) ?\\))
+                           (setq ml-macro-start (point))))
+
                        (forward-line))
 
-                     (if (and macro-start c-auto-align-backslashes)
-                         (c-backslash-region macro-start (c-point 'bopl) nil 
t)))
+                     (if (and ml-macro-start c-auto-align-backslashes)
+                         (c-backslash-region ml-macro-start (c-point 'bopl) 
nil t)))
                  (set-marker endmark nil)
                  (c-progress-fini 'c-indent-region))
                (c-echo-parsing-error quiet))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]