Function: calendar-set-mark
calendar-set-mark is an interactive and byte-compiled function defined
in calendar.el.gz.
Signature
(calendar-set-mark ARG &optional EVENT)
Documentation
Mark the date under the cursor, or jump to marked date.
With no prefix argument, push current date onto marked date ring. With argument ARG, jump to mark, pop it, and put point at end of ring.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/calendar.el.gz
(defun calendar-set-mark (arg &optional event)
"Mark the date under the cursor, or jump to marked date.
With no prefix argument, push current date onto marked date ring.
With argument ARG, jump to mark, pop it, and put point at end of ring."
(interactive
(list current-prefix-arg last-nonmenu-event))
(let ((date (calendar-cursor-to-date t event)))
(if arg
(if (null calendar-mark-ring)
(error "No mark set in this buffer")
(calendar-goto-date (car calendar-mark-ring))
(setq calendar-mark-ring
(cdr (nconc calendar-mark-ring (list date)))))
(push date calendar-mark-ring)
;; Since the top of the mark ring is the marked date in the
;; calendar, the mark ring in the calendar is one longer than
;; in other buffers to get the same effect.
(if (> (length calendar-mark-ring) (1+ mark-ring-max))
(setcdr (nthcdr mark-ring-max calendar-mark-ring) nil))
(message "Mark set"))))