diff options
| author | Dmitry Gutov | 2013-12-01 06:13:50 +0200 |
|---|---|---|
| committer | Dmitry Gutov | 2013-12-01 06:13:50 +0200 |
| commit | 52789f7fb3f25cfbc6397bed8912a88698c9f8f1 (patch) | |
| tree | 2cb22c71e533d65d8c6ab7d0431d1ce571478bf5 | |
| parent | 2e6710c39621ab7dd18b33517699b3daa3dfbb26 (diff) | |
| download | emacs-52789f7fb3f25cfbc6397bed8912a88698c9f8f1.tar.gz emacs-52789f7fb3f25cfbc6397bed8912a88698c9f8f1.zip | |
Apply the initial log-edit tweaks discussed at emacs-devel
* .dir-locals.el: (log-edit-move): Add the "Author: " header.
* lisp/vc/log-edit.el (log-edit-mode-map): Add binding for
`log-edit-beginning-of-line'.
(log-edit-setup-add-author): New user option.
(log-edit-beginning-of-line): New command.
(log-edit): Move major mode call above the contents setup so that
the local variable values are already applied.
(log-edit): Only insert "Author: " when
`log-edit-setup-add-author' is non-nil.
(log-edit): When SETUP is non-nil, position point after ": "
instead of point-min.
| -rw-r--r-- | .dir-locals.el | 3 | ||||
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/ChangeLog | 13 | ||||
| -rw-r--r-- | lisp/vc/log-edit.el | 33 |
4 files changed, 47 insertions, 6 deletions
diff --git a/.dir-locals.el b/.dir-locals.el index 5bee88267c8..203343f0842 100644 --- a/.dir-locals.el +++ b/.dir-locals.el | |||
| @@ -7,7 +7,8 @@ | |||
| 7 | ;; See admin/notes/bugtracker. | 7 | ;; See admin/notes/bugtracker. |
| 8 | (log-edit-mode . ((log-edit-rewrite-fixes | 8 | (log-edit-mode . ((log-edit-rewrite-fixes |
| 9 | "[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1") | 9 | "[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1") |
| 10 | (log-edit-font-lock-gnu-style . t))) | 10 | (log-edit-font-lock-gnu-style . t) |
| 11 | (log-edit-setup-add-author . t))) | ||
| 11 | (change-log-mode . ((add-log-time-zone-rule . t) | 12 | (change-log-mode . ((add-log-time-zone-rule . t) |
| 12 | (fill-column . 74) | 13 | (fill-column . 74) |
| 13 | (bug-reference-url-format . "http://debbugs.gnu.org/%s") | 14 | (bug-reference-url-format . "http://debbugs.gnu.org/%s") |
| @@ -1,3 +1,7 @@ | |||
| 1 | 2013-12-01 Dmitry Gutov <dgutov@yandex.ru> | ||
| 2 | |||
| 3 | * .dir-locals.el: (log-edit-move): Add the "Author: " header. | ||
| 4 | |||
| 1 | 2013-11-30 Dani Moncayo <dmoncayo@gmail.com> | 5 | 2013-11-30 Dani Moncayo <dmoncayo@gmail.com> |
| 2 | 6 | ||
| 3 | * build-aux/msys-to-w32 (w32pathlist): Do not translate paths | 7 | * build-aux/msys-to-w32 (w32pathlist): Do not translate paths |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5c6c40bc515..79b46f0f3f4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2013-12-01 Dmitry Gutov <dgutov@yandex.ru> | ||
| 2 | |||
| 3 | * vc/log-edit.el (log-edit-mode-map): Add binding for | ||
| 4 | `log-edit-beginning-of-line'. | ||
| 5 | (log-edit-setup-add-author): New user option. | ||
| 6 | (log-edit-beginning-of-line): New command. | ||
| 7 | (log-edit): Move major mode call above the contents setup so that | ||
| 8 | the local variable values are already applied. | ||
| 9 | (log-edit): Only insert "Author: " when | ||
| 10 | `log-edit-setup-add-author' is non-nil. | ||
| 11 | (log-edit): When SETUP is non-nil, position point after ": " | ||
| 12 | instead of point-min. | ||
| 13 | |||
| 1 | 2013-12-01 Glenn Morris <rgm@gnu.org> | 14 | 2013-12-01 Glenn Morris <rgm@gnu.org> |
| 2 | 15 | ||
| 3 | * startup.el (command-line): Warn if ~/emacs.d is in load-path. | 16 | * startup.el (command-line): Warn if ~/emacs.d is in load-path. |
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index dfc7eee81a6..ecec69489dc 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | (require 'add-log) ; for all the ChangeLog goodies | 32 | (require 'add-log) ; for all the ChangeLog goodies |
| 33 | (require 'pcvs-util) | 33 | (require 'pcvs-util) |
| 34 | (require 'ring) | 34 | (require 'ring) |
| 35 | (require 'message) | ||
| 35 | 36 | ||
| 36 | ;;;; | 37 | ;;;; |
| 37 | ;;;; Global Variables | 38 | ;;;; Global Variables |
| @@ -55,6 +56,7 @@ | |||
| 55 | ("\C-c\C-a" . log-edit-insert-changelog) | 56 | ("\C-c\C-a" . log-edit-insert-changelog) |
| 56 | ("\C-c\C-d" . log-edit-show-diff) | 57 | ("\C-c\C-d" . log-edit-show-diff) |
| 57 | ("\C-c\C-f" . log-edit-show-files) | 58 | ("\C-c\C-f" . log-edit-show-files) |
| 59 | ("\C-a" . log-edit-beginning-of-line) | ||
| 58 | ("\M-n" . log-edit-next-comment) | 60 | ("\M-n" . log-edit-next-comment) |
| 59 | ("\M-p" . log-edit-previous-comment) | 61 | ("\M-p" . log-edit-previous-comment) |
| 60 | ("\M-r" . log-edit-comment-search-backward) | 62 | ("\M-r" . log-edit-comment-search-backward) |
| @@ -116,6 +118,13 @@ If SETUP is 'force, this variable has no effect." | |||
| 116 | :group 'log-edit | 118 | :group 'log-edit |
| 117 | :type 'boolean) | 119 | :type 'boolean) |
| 118 | 120 | ||
| 121 | (defcustom log-edit-setup-add-author nil | ||
| 122 | "Non-nil means `log-edit' should add the `Author:' header when | ||
| 123 | its SETUP argument is non-nil." | ||
| 124 | :group 'log-edit | ||
| 125 | :type 'boolean | ||
| 126 | :safe 'booleanp) | ||
| 127 | |||
| 119 | (defcustom log-edit-hook '(log-edit-insert-cvs-template | 128 | (defcustom log-edit-hook '(log-edit-insert-cvs-template |
| 120 | log-edit-show-files | 129 | log-edit-show-files |
| 121 | log-edit-insert-changelog) | 130 | log-edit-insert-changelog) |
| @@ -427,13 +436,15 @@ done. Otherwise, it uses the current buffer." | |||
| 427 | (if buffer (pop-to-buffer buffer)) | 436 | (if buffer (pop-to-buffer buffer)) |
| 428 | (when (and log-edit-setup-invert (not (eq setup 'force))) | 437 | (when (and log-edit-setup-invert (not (eq setup 'force))) |
| 429 | (setq setup (not setup))) | 438 | (setq setup (not setup))) |
| 430 | (when setup | ||
| 431 | (erase-buffer) | ||
| 432 | (insert "Summary: \nAuthor: ") | ||
| 433 | (save-excursion (insert "\n\n"))) | ||
| 434 | (if mode | 439 | (if mode |
| 435 | (funcall mode) | 440 | (funcall mode) |
| 436 | (log-edit-mode)) | 441 | (log-edit-mode)) |
| 442 | (when setup | ||
| 443 | (erase-buffer) | ||
| 444 | (insert "Summary: ") | ||
| 445 | (when log-edit-setup-add-author | ||
| 446 | (insert "\nAuthor: ")) | ||
| 447 | (insert "\n\n")) | ||
| 437 | (set (make-local-variable 'log-edit-callback) callback) | 448 | (set (make-local-variable 'log-edit-callback) callback) |
| 438 | (if (listp params) | 449 | (if (listp params) |
| 439 | (dolist (crt params) | 450 | (dolist (crt params) |
| @@ -445,7 +456,10 @@ done. Otherwise, it uses the current buffer." | |||
| 445 | (if buffer (set (make-local-variable 'log-edit-parent-buffer) parent)) | 456 | (if buffer (set (make-local-variable 'log-edit-parent-buffer) parent)) |
| 446 | (set (make-local-variable 'log-edit-initial-files) (log-edit-files)) | 457 | (set (make-local-variable 'log-edit-initial-files) (log-edit-files)) |
| 447 | (when setup (run-hooks 'log-edit-hook)) | 458 | (when setup (run-hooks 'log-edit-hook)) |
| 448 | (goto-char (point-min)) (push-mark (point-max)) | 459 | (if setup |
| 460 | (message-position-point) | ||
| 461 | (goto-char (point-min))) | ||
| 462 | (push-mark (point-max)) | ||
| 449 | (message "%s" (substitute-command-keys | 463 | (message "%s" (substitute-command-keys |
| 450 | "Press \\[log-edit-done] when you are done editing.")))) | 464 | "Press \\[log-edit-done] when you are done editing.")))) |
| 451 | 465 | ||
| @@ -574,6 +588,15 @@ If you want to abort the commit, simply delete the buffer." | |||
| 574 | (shrink-window-if-larger-than-buffer) | 588 | (shrink-window-if-larger-than-buffer) |
| 575 | (selected-window))))) | 589 | (selected-window))))) |
| 576 | 590 | ||
| 591 | (defun log-edit-beginning-of-line (&optional n) | ||
| 592 | "Move point to beginning of header value or to beginning of line. | ||
| 593 | |||
| 594 | It works the same as `message-beginning-of-line', but it uses a | ||
| 595 | different header separator appropriate for `log-edit-mode'." | ||
| 596 | (interactive "p") | ||
| 597 | (let ((mail-header-separator "")) | ||
| 598 | (message-beginning-of-line n))) | ||
| 599 | |||
| 577 | (defun log-edit-empty-buffer-p () | 600 | (defun log-edit-empty-buffer-p () |
| 578 | "Return non-nil if the buffer is \"empty\"." | 601 | "Return non-nil if the buffer is \"empty\"." |
| 579 | (or (= (point-min) (point-max)) | 602 | (or (= (point-min) (point-max)) |