aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2005-05-30 11:30:47 +0000
committerGlenn Morris <[email protected]>2005-05-30 11:30:47 +0000
commitbf87510ab4d8617528bb4240528fb8c23ae87eab (patch)
treeea4e4df3e10a9d95be8d643b7171b2a2c3fc4741
parent85be564d99c1a093b414b564a0af48c395937cbd (diff)
(mark-included-diary-files): Only kill included diary buffer if it was
not already being visited. Reported by Stephen Berman <[email protected]>.
-rw-r--r--lisp/calendar/diary-lib.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el
index 312b8841cf..c8e6843d4b 100644
--- a/lisp/calendar/diary-lib.el
+++ b/lisp/calendar/diary-lib.el
@@ -1050,15 +1050,18 @@ changing the variable `diary-include-string'."
(regexp-quote diary-include-string)
" \"\\([^\"]*\\)\"")
nil t)
- (let ((diary-file (substitute-in-file-name
- (buffer-substring-no-properties
- (match-beginning 2) (match-end 2))))
- (mark-diary-entries-hook 'mark-included-diary-files))
+ (let* ((diary-file (substitute-in-file-name
+ (match-string-no-properties 2)))
+ (mark-diary-entries-hook 'mark-included-diary-files)
+ (dbuff (find-buffer-visiting diary-file)))
+ ;; TODO if dbuff is non-nil, should we check for modifications
+ ;; and offer to save it first?
(if (file-exists-p diary-file)
(if (file-readable-p diary-file)
(progn
(mark-diary-entries)
- (kill-buffer (find-buffer-visiting diary-file)))
+ (unless dbuff
+ (kill-buffer (find-buffer-visiting diary-file))))
(beep)
(message "Can't read included diary file %s" diary-file)
(sleep-for 2))