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,v


From: Dan Nicolaescu
Subject: [Emacs-diffs] Changes to emacs/lisp/add-log.el,v
Date: Sun, 27 Jan 2008 19:52:49 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Dan Nicolaescu <dann>   08/01/27 19:52:48

Index: add-log.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/add-log.el,v
retrieving revision 1.204
retrieving revision 1.205
diff -u -b -r1.204 -r1.205
--- add-log.el  27 Jan 2008 19:48:44 -0000      1.204
+++ add-log.el  27 Jan 2008 19:52:46 -0000      1.205
@@ -241,6 +241,7 @@
 (put 'change-log-acknowledgement-face 'face-alias 'change-log-acknowledgement)
 
 (defconst change-log-file-names-re "^\\( +\\|\t\\)\\* \\([^ ,:([\n]+\\)")
+(defconst change-log-start-entry-re "^\\sw.........[0-9:+ ]*")
 
 (defvar change-log-font-lock-keywords
   `(;;
@@ -294,8 +295,30 @@
   (save-excursion
     (goto-char where)
     (beginning-of-line 1)
-    (re-search-forward change-log-file-names-re)
-    (match-string 2)))
+    (if (looking-at change-log-start-entry-re)
+       ;; We are at the start of an entry, search forward for a file
+       ;; name.
+       (progn
+         (re-search-forward change-log-file-names-re nil t)
+         (match-string 2))
+      (if (looking-at change-log-file-names-re)
+         ;; We found a file name.
+         (match-string 2)
+       ;; Look backwards for either a file name or the log entry start.
+       (if (re-search-backward
+            (concat "\\(" change-log-start-entry-re 
+                    "\\)\\|\\("
+                    change-log-file-names-re "\\)") nil t)
+           (if (match-beginning 1)
+               ;; We got the start of the entry, look forward for a
+               ;; file name.
+               (progn
+                 (re-search-forward change-log-file-names-re nil t)
+                 (match-string 2))
+             (match-string 4))
+         ;; We must be before any file name, look forward.
+         (re-search-forward change-log-file-names-re nil t)
+         (match-string 2))))))
 
 (defun change-log-find-file ()
   "Visit the file for the change under point."
@@ -303,7 +326,7 @@
   (let ((file (change-log-search-file-name (point))))
     (if (and file (file-exists-p file))
        (find-file file)
-      (message "No such file or directory: ~s" file))))
+      (message "No such file or directory: %s" file))))
 
 (defvar change-log-mode-map
   (let ((map (make-sparse-keymap)))
@@ -1120,8 +1143,6 @@
          (change-log-get-method-definition-1 ""))
        (concat change-log-get-method-definition-md "]"))))))
 
-(defconst change-log-start-entry-re "^\\sw.........[0-9:+ ]*")
-
 (defun change-log-sortable-date-at ()
   "Return date of log entry in a consistent form for sorting.
 Point is assumed to be at the start of the entry."




reply via email to

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