Function: diary-goto-entry
diary-goto-entry is a byte-compiled function defined in
diary-lib.el.gz.
Signature
(diary-goto-entry BUTTON)
Documentation
Jump to the diary entry for the BUTTON at point.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/diary-lib.el.gz
(defun diary-goto-entry (button)
"Jump to the diary entry for the BUTTON at point."
(let* ((locator (button-get button 'locator))
(marker (car locator))
markbuf file)
;; If marker pointing to diary location is valid, use that.
(if (and marker (setq markbuf (marker-buffer marker)))
(progn
(pop-to-buffer markbuf)
(goto-char (marker-position marker)))
;; Marker is invalid (eg buffer has been killed).
(or (and (setq file (cadr locator))
(file-exists-p file)
(find-file-other-window file)
(progn
(when (eq major-mode (default-value 'major-mode)) (diary-mode))
(goto-char (point-min))
(if (re-search-forward (format "%s.*\\(%s\\)"
(regexp-quote (nth 2 locator))
(regexp-quote (nth 3 locator)))
nil t)
(goto-char (match-beginning 1)))))
(message "Unable to locate this diary entry")))))