aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2013-12-01 06:13:50 +0200
committerDmitry Gutov2013-12-01 06:13:50 +0200
commit52789f7fb3f25cfbc6397bed8912a88698c9f8f1 (patch)
tree2cb22c71e533d65d8c6ab7d0431d1ce571478bf5
parent2e6710c39621ab7dd18b33517699b3daa3dfbb26 (diff)
downloademacs-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.el3
-rw-r--r--ChangeLog4
-rw-r--r--lisp/ChangeLog13
-rw-r--r--lisp/vc/log-edit.el33
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")
diff --git a/ChangeLog b/ChangeLog
index 33f9f6bca15..e231616043c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
12013-12-01 Dmitry Gutov <dgutov@yandex.ru>
2
3 * .dir-locals.el: (log-edit-move): Add the "Author: " header.
4
12013-11-30 Dani Moncayo <dmoncayo@gmail.com> 52013-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 @@
12013-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
12013-12-01 Glenn Morris <rgm@gnu.org> 142013-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
123its 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
594It works the same as `message-beginning-of-line', but it uses a
595different 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))