summaryrefslogtreecommitdiff
path: root/lisp/add-log.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2003-06-16 15:16:59 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2003-06-16 15:16:59 +0000
commitb1496f900364c06682d787baeb5dae260cf493a2 (patch)
treed6acb518aa095d6e7544898d6d6e8e4f579875c5 /lisp/add-log.el
parentb1bb669cda01452b3d93f20b5ab4b0aef5fa3e32 (diff)
downloademacs-b1496f900364c06682d787baeb5dae260cf493a2.tar.gz
(add-log-edit-prev-comment, add-log-edit-next-comment): New commands.
(change-log-mode-map): Bind them. (smerge-resolve-function): Declare to quieten the byte-compiler. (change-log-mode): Add the keymap to the docstring.
Diffstat (limited to 'lisp/add-log.el')
-rw-r--r--lisp/add-log.el39
1 files changed, 36 insertions, 3 deletions
diff --git a/lisp/add-log.el b/lisp/add-log.el
index a4ae8ad11b9..32eb5e8e403 100644
--- a/lisp/add-log.el
+++ b/lisp/add-log.el
@@ -1,6 +1,7 @@
;;; add-log.el --- change log maintenance commands for Emacs
-;; Copyright (C) 1985, 86, 88, 93, 94, 97, 98, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 86, 88, 93, 94, 97, 98, 2000, 2003
+;; Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: tools
@@ -248,7 +249,11 @@ Note: The search is conducted only within 10%, at the beginning of the file."
2 'change-log-acknowledgement-face))
"Additional expressions to highlight in Change Log mode.")
-(defvar change-log-mode-map (make-sparse-keymap)
+(defvar change-log-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map [?\C-c ?\C-p] 'add-log-edit-prev-comment)
+ (define-key map [?\C-c ?\C-n] 'add-log-edit-next-comment)
+ map)
"Keymap for Change Log major mode.")
(defvar change-log-time-zone-rule nil
@@ -289,6 +294,31 @@ If nil, use local time.")
"$CHANGE_LOG$.TXT"
"ChangeLog")))
+(defun add-log-edit-prev-comment (arg)
+ "Cycle backward through Log-Edit mode comment history.
+With a numeric prefix ARG, go back ARG comments."
+ (interactive "*p")
+ (save-restriction
+ (narrow-to-region (point)
+ (if (memq last-command '(add-log-edit-prev-comment
+ add-log-edit-next-comment))
+ (mark) (point)))
+ (when (fboundp 'log-edit-previous-comment)
+ (log-edit-previous-comment arg)
+ (indent-region (point-min) (point-max))
+ (goto-char (point-min))
+ (unless (save-restriction (widen) (bolp))
+ (delete-region (point) (progn (skip-chars-forward " \t\n") (point))))
+ (set-mark (point-min))
+ (goto-char (point-max))
+ (delete-region (point) (progn (skip-chars-backward " \t\n") (point))))))
+
+(defun add-log-edit-next-comment (arg)
+ "Cycle forward through Log-Edit mode comment history.
+With a numeric prefix ARG, go back ARG comments."
+ (interactive "*p")
+ (add-log-edit-prev-comment (- arg)))
+
;;;###autoload
(defun prompt-for-change-log-name ()
"Prompt for a change log name."
@@ -611,13 +641,16 @@ the change log file in another window."
(if (> pos (point)) (goto-char pos))))
+(defvar smerge-resolve-function)
+
;;;###autoload
(define-derived-mode change-log-mode text-mode "Change Log"
"Major mode for editing change logs; like Indented Text Mode.
Prevents numeric backups and sets `left-margin' to 8 and `fill-column' to 74.
New log entries are usually made with \\[add-change-log-entry] or \\[add-change-log-entry-other-window].
Each entry behaves as a paragraph, and the entries for one day as a page.
-Runs `change-log-mode-hook'."
+Runs `change-log-mode-hook'.
+\\{change-log-mode-map}"
(setq left-margin 8
fill-column 74
indent-tabs-mode t