mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-05 20:43:08 +00:00
(add-log-file-name): New function (split out of add-change-log-entry).
(add-change-log-entry): Use it. Call add-log-file-name-function with the changelog file name if the current buffer is not associated with any file. Avoid find-file if the selected window is dedicated.
This commit is contained in:
parent
d05c87ac11
commit
2eb7ccf4ea
@ -326,6 +326,22 @@ current buffer to the complete file name."
|
||||
(set (make-local-variable 'change-log-default-name) file-name)
|
||||
file-name)
|
||||
|
||||
(defun add-log-file-name (buffer-file log-file)
|
||||
;; Never want to add a change log entry for the ChangeLog file itself.
|
||||
(unless (or (null buffer-file) (string= buffer-file log-file))
|
||||
(setq buffer-file
|
||||
(if (string-match
|
||||
(concat "^" (regexp-quote (file-name-directory log-file)))
|
||||
buffer-file)
|
||||
(substring buffer-file (match-end 0))
|
||||
(file-name-nondirectory buffer-file)))
|
||||
;; If we have a backup file, it's presumably because we're
|
||||
;; comparing old and new versions (e.g. for deleted
|
||||
;; functions) and we'll want to use the original name.
|
||||
(if (backup-file-name-p buffer-file)
|
||||
(file-name-sans-versions buffer-file)
|
||||
buffer-file)))
|
||||
|
||||
;;;###autoload
|
||||
(defun add-change-log-entry (&optional whoami file-name other-window new-entry)
|
||||
"Find change log file and add an entry for today.
|
||||
@ -355,34 +371,21 @@ non-nil, otherwise in local time."
|
||||
;; s/he can edit the full name field in prompter if s/he wants.
|
||||
(setq add-log-mailing-address
|
||||
(read-input "Mailing address: " add-log-mailing-address))))
|
||||
|
||||
(setq file-name (expand-file-name (or file-name (find-change-log file-name))))
|
||||
|
||||
(let ((defun (add-log-current-defun))
|
||||
(version (and change-log-version-info-enabled
|
||||
(change-log-version-number-search)))
|
||||
bound entry)
|
||||
;; Set ENTRY to the file name to use in the new entry.
|
||||
(entry (if buffer-file-name
|
||||
(add-log-file-name buffer-file-name file-name)
|
||||
(if add-log-file-name-function
|
||||
(funcall add-log-file-name-function file-name))))
|
||||
bound)
|
||||
|
||||
(setq file-name (expand-file-name (find-change-log file-name)))
|
||||
|
||||
;; Set ENTRY to the file name to use in the new entry.
|
||||
(and buffer-file-name
|
||||
;; Never want to add a change log entry for the ChangeLog file itself.
|
||||
(not (string= buffer-file-name file-name))
|
||||
(if add-log-file-name-function
|
||||
(setq entry
|
||||
(funcall add-log-file-name-function buffer-file-name))
|
||||
(setq entry
|
||||
(if (string-match
|
||||
(concat "^" (regexp-quote (file-name-directory
|
||||
file-name)))
|
||||
buffer-file-name)
|
||||
(substring buffer-file-name (match-end 0))
|
||||
(file-name-nondirectory buffer-file-name)))
|
||||
;; If we have a backup file, it's presumably because we're
|
||||
;; comparing old and new versions (e.g. for deleted
|
||||
;; functions) and we'll want to use the original name.
|
||||
(if (backup-file-name-p entry)
|
||||
(setq entry (file-name-sans-versions entry)))))
|
||||
|
||||
(if (and other-window (not (equal file-name buffer-file-name)))
|
||||
(if (or (and other-window (not (equal file-name buffer-file-name)))
|
||||
(window-dedicated-p (selected-window)))
|
||||
(find-file-other-window file-name)
|
||||
(find-file file-name))
|
||||
(or (eq major-mode 'change-log-mode)
|
||||
|
Loading…
x
Reference in New Issue
Block a user