diff options
| author | Dan Nicolaescu <dann@ics.uci.edu> | 2007-10-25 23:25:08 +0000 |
|---|---|---|
| committer | Dan Nicolaescu <dann@ics.uci.edu> | 2007-10-25 23:25:08 +0000 |
| commit | 0bde6a03c6a9da54e14df5958dde1ac0876679e8 (patch) | |
| tree | c2a76a828fa0f4751e9d98ca0387f682b8e4a7cf /lisp/add-log.el | |
| parent | 5aec60dfd742218b6fca9199cd3d4f0540e02e35 (diff) | |
| download | emacs-0bde6a03c6a9da54e14df5958dde1ac0876679e8.tar.gz | |
* emulation/edt-mapper.el (edt-emacs-variant): Replace the only
use with the definition. Remove.
* add-log.el (change-log-start-entry-re): New defconst.
(change-log-sortable-date-at): Use it.
(change-log-beginning-of-defun, change-log-end-of-defun): New
functions.
(change-log-mode): Use them for beginning-of-defun-function and
end-of-defun-function.
* erc-ibuffer.el (erc-modified-channels-alist): Pacify
byte-compiler.
Diffstat (limited to 'lisp/add-log.el')
| -rw-r--r-- | lisp/add-log.el | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/lisp/add-log.el b/lisp/add-log.el index 5ec49861906..3ca1b613955 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el @@ -763,6 +763,10 @@ Runs `change-log-mode-hook'. '(change-log-font-lock-keywords t nil nil backward-paragraph)) (set (make-local-variable 'isearch-buffers-next-buffer-function) 'change-log-next-buffer) + (set (make-local-variable 'beginning-of-defun-function) + 'change-log-beginning-of-defun) + (set (make-local-variable 'end-of-defun-function) + 'change-log-end-of-defun) (isearch-buffers-minor-mode)) (defun change-log-next-buffer (&optional buffer wrap) @@ -1095,11 +1099,13 @@ Has a preference of looking backwards." (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." (require 'timezone) - (if (looking-at "^\\sw.........[0-9:+ ]*") + (if (looking-at change-log-start-entry-re) (let ((date (match-string-no-properties 0))) (if date (if (string-match "\\(....\\)-\\(..\\)-\\(..\\)\\s-+" date) @@ -1186,6 +1192,32 @@ old-style time formats for entries are supported." (goto-char (point-max))) (insert-buffer-substring other-buf start))))))) +(defun change-log-beginning-of-defun () + (re-search-backward change-log-start-entry-re nil 'move)) + +(defun change-log-end-of-defun () + ;; Look back and if there is no entry there it means we are before + ;; the first ChangeLog entry, so go forward until finding one. + (unless (save-excursion (re-search-backward change-log-start-entry-re nil t)) + (re-search-forward change-log-start-entry-re nil t)) + + ;; In case we are at the end of log entry going forward a line will + ;; make us find the next entry when searching. If we are inside of + ;; an entry going forward a line will still keep the point inside + ;; the same entry. + (forward-line 1) + + ;; In case we are at the beginning of an entry, move past it. + (when (looking-at change-log-start-entry-re) + (goto-char (match-end 0)) + (forward-line 1)) + + ;; Search for the start of the next log entry. Go to the end of the + ;; buffer if we could not find a next entry. + (when (re-search-forward change-log-start-entry-re nil 'move) + (goto-char (match-beginning 0)) + (forward-line -1))) + (provide 'add-log) ;; arch-tag: 81eee6fc-088f-4372-a37f-80ad9620e762 |
