Mercurial > emacs
diff lisp/add-log.el @ 83395:b31326248cf6
Merged from miles@gnu.org--gnu-2005 (patch 142-148, 615-628)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-615
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-616
Add lisp/mh-e/.arch-inventory
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-617
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-618
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-619
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-620
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-621
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-622
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-623
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-624
Update from CVS: lisp/smerge-mode.el: Add 'tools' to file keywords.
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-625
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-626
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-627
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-628
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-142
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-143
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-144
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-145
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-146
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-147
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-148
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-435
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Tue, 01 Nov 2005 06:23:08 +0000 |
parents | 1e2706559fdf |
children | 4b89f1c6c558 |
line wrap: on
line diff
--- a/lisp/add-log.el Sat Oct 29 11:50:12 2005 +0000 +++ b/lisp/add-log.el Tue Nov 01 06:23:08 2005 +0000 @@ -826,31 +826,28 @@ ;; 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 tem) - + (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) - ;; Skip back over typedefs of arglist. (while (and (not (bobp)) - (looking-at "[ \t\n]")) + (looking-at "[ \t\n]") + (not (looking-back "[*]/)\n" (- (point) 4)))) (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)) + ;; 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 - (goto-char tem) (down-list 1) (when (= (char-after (point)) ?\") (forward-sexp 1) @@ -863,6 +860,7 @@ (skip-syntax-backward " ") (point)))) (if (looking-at "^[+-]") + ;; C++. (change-log-get-method-definition) ;; Ordinary C function syntax. (setq beg (point))