From: Richard M. Stallman Date: Sat, 27 Jan 2007 19:53:25 +0000 (+0000) Subject: add-log-current-defun): Skip the semicolon ``;'' for X-Git-Tag: emacs-pretest-22.0.94~591 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9b469b61cadb15629a29a6cde5ed1889a12637d2;p=emacs.git add-log-current-defun): Skip the semicolon ``;'' for enum/union/struct/class definition. Revert change to call `forward-sexp' multiple times. --- diff --git a/lisp/add-log.el b/lisp/add-log.el index 748abefd400..08ce78d371d 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el @@ -828,6 +828,10 @@ Has a preference of looking backwards." ;; here is the position after the final }. (backward-sexp 1) (forward-sexp 1) + ;; Skip the semicolon ``;'' for + ;; enum/union/struct/class definition. + (if (= (char-after (point)) ?\;) + (forward-char 1)) (setq previous-defun-end (point))) (save-excursion @@ -921,19 +925,9 @@ Has a preference of looking backwards." ;; Include certain keywords if they ;; precede the name. (setq middle (point)) - ;; Single (forward-sexp -1) invocation is - ;; not enough for C++ member function defined - ;; as part of nested class and/or namespace - ;; like: - ;; - ;; void - ;; foo::bar::baz::bazz () - ;; { ... - ;; - ;; Here we have to move the point to - ;; the beginning of foo, not bazz. - (while (not (looking-back "\\(^\\|[ \t]\\)")) - (forward-sexp -1)) + ;; We tried calling `forward-sexp' in a loop + ;; but it causes inconsistency for C names. + (forward-sexp -1) ;; Is this C++ method? (when (and (< 2 middle) (string= (buffer-substring (- middle 2)