Mercurial > emacs
diff lisp/log-edit.el @ 89909:68c22ea6027c
Sync to HEAD
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 16 Apr 2004 12:51:06 +0000 |
parents | 375f2633d815 |
children | d8411455de48 |
line wrap: on
line diff
--- a/lisp/log-edit.el Thu Apr 15 01:08:34 2004 +0000 +++ b/lisp/log-edit.el Fri Apr 16 12:51:06 2004 +0000 @@ -1,6 +1,6 @@ ;;; log-edit.el --- Major mode for editing CVS commit messages -;; Copyright (C) 1999,2000,2003 Free Software Foundation, Inc. +;; Copyright (C) 1999,2000,2003,2004 Free Software Foundation, Inc. ;; Author: Stefan Monnier <monnier@cs.yale.edu> ;; Keywords: pcl-cvs cvs commit log @@ -299,6 +299,11 @@ ;;; Actual code ;;; +(defvar log-edit-font-lock-keywords + '(("\\`\\(Summary:\\)\\(.*\\)" + (1 font-lock-keyword-face) + (2 font-lock-function-name-face)))) + ;;;###autoload (defun log-edit (callback &optional setup listfun buffer &rest ignore) "Setup a buffer to enter a log message. @@ -337,6 +342,8 @@ commands (under C-x v for VC, for example). \\{log-edit-mode-map}" + (set (make-local-variable 'font-lock-defaults) + '(log-edit-font-lock-keywords t)) (make-local-variable 'log-edit-comment-ring-index)) (defun log-edit-hide-buf (&optional buf where) @@ -564,12 +571,21 @@ (save-excursion (let ((changelog-file-name (let ((default-directory - (file-name-directory (expand-file-name file)))) - ;; `find-change-log' uses `change-log-default-name' if set - ;; and sets it before exiting, so we need to work around - ;; that memoizing which is undesired here - (setq change-log-default-name nil) - (find-change-log)))) + (file-name-directory (expand-file-name file))) + (visiting-buffer (find-buffer-visiting file))) + ;; If there is a buffer visiting FILE, and it has a local + ;; value for `change-log-default-name', use that. + (if (and visiting-buffer + (local-variable-p 'change-log-default-name + visiting-buffer)) + (save-excursion + (set-buffer visiting-buffer) + change-log-default-name) + ;; `find-change-log' uses `change-log-default-name' if set + ;; and sets it before exiting, so we need to work around + ;; that memoizing which is undesired here + (setq change-log-default-name nil) + (find-change-log))))) (set-buffer (find-file-noselect changelog-file-name)) (unless (eq major-mode 'change-log-mode) (change-log-mode)) (goto-char (point-min)) @@ -630,4 +646,5 @@ (provide 'log-edit) +;;; arch-tag: 8089b39c-983b-4e83-93cd-ed0a64c7fdcc ;;; log-edit.el ends here