diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2003-06-16 15:16:59 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2003-06-16 15:16:59 +0000 |
commit | b1496f900364c06682d787baeb5dae260cf493a2 (patch) | |
tree | d6acb518aa095d6e7544898d6d6e8e4f579875c5 /lisp/add-log.el | |
parent | b1bb669cda01452b3d93f20b5ab4b0aef5fa3e32 (diff) | |
download | emacs-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.el | 39 |
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 |