emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/add-log.el


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/add-log.el
Date: Sun, 23 Oct 2005 13:58:46 -0400

Index: emacs/lisp/add-log.el
diff -c emacs/lisp/add-log.el:1.169 emacs/lisp/add-log.el:1.170
*** emacs/lisp/add-log.el:1.169 Sat Aug  6 22:13:41 2005
--- emacs/lisp/add-log.el       Sun Oct 23 17:58:45 2005
***************
*** 826,856 ****
                 ;; If the desired position is within the defun we found,
                 ;; find the function name.
                 (when (< location (point))
                   (backward-sexp 1)
!                  (let (beg tem)
! 
                     (forward-line -1)
-                    ;; Skip back over typedefs of arglist.
                     (while (and (not (bobp))
!                                (looking-at "[ \t\n]"))
                       (forward-line -1))
!                    ;; See if this is using the DEFUN macro used in Emacs,
!                    ;; or the DEFUN macro used by the C library:
!                    (if (condition-case nil
!                            (and (save-excursion
!                                   (end-of-line)
!                                   (while (= (preceding-char) ?\\)
!                                     (end-of-line 2))
!                                   (backward-sexp 1)
!                                   (beginning-of-line)
!                                   (setq tem (point))
!                                   (looking-at "DEFUN\\b"))
!                                 (>= location tem))
!                          (error nil))
                           ;; DEFUN ("file-name-directory", 
Ffile_name_directory, Sfile_name_directory, ...) ==> Ffile_name_directory
                           ;; DEFUN(POSIX::STREAM-LOCK, stream lockp &key BLOCK 
SHARED START LENGTH) ==> POSIX::STREAM-LOCK
                         (progn
-                          (goto-char tem)
                           (down-list 1)
                           (when (= (char-after (point)) ?\")
                               (forward-sexp 1)
--- 826,853 ----
                 ;; If the desired position is within the defun we found,
                 ;; find the function name.
                 (when (< location (point))
+                  ;; Move back over function body.
                   (backward-sexp 1)
!                  (let (beg)
!                    ;; Skip back over typedefs and arglist.
!                    ;; Stop at the function definition itself
!                    ;; or at the line that follows end of function doc string.
                     (forward-line -1)
                     (while (and (not (bobp))
!                                (looking-at "[ \t\n]")
!                                (not (looking-back "[*]/)\n" (- (point) 4))))
                       (forward-line -1))
!                    ;; If we found a doc string, this must be the DEFUN macro
!                    ;; used in Emacs.  Move back to the DEFUN line.
!                    (when (looking-back "[*]/)\n" (- (point) 4))
!                      (backward-sexp 1)
!                      (beginning-of-line))
!                    ;; Is this a DEFUN construct?  And is LOCATION in it?
!                    (if (and (looking-at "DEFUN\\b")
!                             (>= location (point)))
                           ;; DEFUN ("file-name-directory", 
Ffile_name_directory, Sfile_name_directory, ...) ==> Ffile_name_directory
                           ;; DEFUN(POSIX::STREAM-LOCK, stream lockp &key BLOCK 
SHARED START LENGTH) ==> POSIX::STREAM-LOCK
                         (progn
                           (down-list 1)
                           (when (= (char-after (point)) ?\")
                               (forward-sexp 1)
***************
*** 863,868 ****
--- 860,866 ----
                                     (skip-syntax-backward " ")
                                   (point))))
                       (if (looking-at "^[+-]")
+                          ;; C++.
                           (change-log-get-method-definition)
                         ;; Ordinary C function syntax.
                         (setq beg (point))




reply via email to

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