Make icalendar-import-buffer not show diary file buffer
* lisp/calendar/diary-lib.el (diary-make-entry): Add omit-trailing-space parameter. Add do-not-show parameter to allow not showing diary file buffer. * lisp/calendar/icalendar.el (icalendar--add-diary-entry): Remove workaround to omit trailing space in diary entry. Have diary-make-entry not display the diary file buffer. (Bug#35645)
This commit is contained in:
parent
58cde92341
commit
890a0826f3
2 changed files with 30 additions and 33 deletions
|
@ -2062,27 +2062,34 @@ calendar."
|
|||
;;; Diary insertion functions.
|
||||
|
||||
;;;###cal-autoload
|
||||
(defun diary-make-entry (string &optional nonmarking file)
|
||||
(defun diary-make-entry (string &optional nonmarking file omit-trailing-space
|
||||
do-not-show)
|
||||
"Insert a diary entry STRING which may be NONMARKING in FILE.
|
||||
If omitted, NONMARKING defaults to nil and FILE defaults to
|
||||
`diary-file'."
|
||||
(let ((pop-up-frames (or pop-up-frames (window-dedicated-p))))
|
||||
(find-file-other-window (or file diary-file)))
|
||||
(when (eq major-mode (default-value 'major-mode)) (diary-mode))
|
||||
(widen)
|
||||
(diary-unhide-everything)
|
||||
(goto-char (point-max))
|
||||
(when (let ((case-fold-search t))
|
||||
(search-backward "Local Variables:"
|
||||
(max (- (point-max) 3000) (point-min))
|
||||
t))
|
||||
(beginning-of-line)
|
||||
(insert "\n")
|
||||
(forward-line -1))
|
||||
(insert
|
||||
(if (bolp) "" "\n")
|
||||
(if nonmarking diary-nonmarking-symbol "")
|
||||
string " "))
|
||||
`diary-file'. If OMIT-TRAILING-SPACE is non-nil, then do not add
|
||||
a trailing space to the entry. If DO-NOT-SHOW is non-nil, do not
|
||||
show the diary buffer."
|
||||
(with-current-buffer
|
||||
(let ((diary-file-name (or file diary-file)))
|
||||
(if do-not-show
|
||||
(find-file-noselect diary-file-name)
|
||||
(let ((pop-up-frames (or pop-up-frames (window-dedicated-p))))
|
||||
(find-file-other-window diary-file-name))))
|
||||
(when (eq major-mode (default-value 'major-mode)) (diary-mode))
|
||||
(widen)
|
||||
(diary-unhide-everything)
|
||||
(goto-char (point-max))
|
||||
(when (let ((case-fold-search t))
|
||||
(search-backward "Local Variables:"
|
||||
(max (- (point-max) 3000) (point-min))
|
||||
t))
|
||||
(beginning-of-line)
|
||||
(insert "\n")
|
||||
(forward-line -1))
|
||||
(insert
|
||||
(if (bolp) "" "\n")
|
||||
(if nonmarking diary-nonmarking-symbol "")
|
||||
string (if omit-trailing-space "" " "))))
|
||||
|
||||
;;;###cal-autoload
|
||||
(defun diary-insert-entry (arg &optional event)
|
||||
|
|
|
@ -2502,20 +2502,10 @@ the entry."
|
|||
(when summary
|
||||
(setq non-marking
|
||||
(y-or-n-p (format "Make appointment non-marking? "))))
|
||||
(save-window-excursion
|
||||
(unless diary-filename
|
||||
(setq diary-filename
|
||||
(read-file-name "Add appointment to this diary file: ")))
|
||||
;; Note: diary-make-entry will add a trailing blank char.... :(
|
||||
(funcall (if (fboundp 'diary-make-entry)
|
||||
'diary-make-entry
|
||||
'make-diary-entry)
|
||||
string non-marking diary-filename)))
|
||||
;; Würgaround to remove the trailing blank char
|
||||
(with-current-buffer (find-file diary-filename)
|
||||
(goto-char (point-max))
|
||||
(if (= (char-before) ? )
|
||||
(delete-char -1)))
|
||||
(unless diary-filename
|
||||
(setq diary-filename
|
||||
(read-file-name "Add appointment to this diary file: ")))
|
||||
(diary-make-entry string non-marking diary-filename t t))
|
||||
;; return diary-filename in case it has been changed interactively
|
||||
diary-filename)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue