- (setq calendar-mode-map (make-sparse-keymap))
- (if window-system (require 'cal-menu))
- (calendar-for-loop i from 0 to 9 do
- (define-key calendar-mode-map (int-to-string i) 'digit-argument))
- (let ((l (list 'narrow-to-region 'mark-word 'mark-sexp 'mark-paragraph
- 'mark-defun 'mark-whole-buffer 'mark-page
- 'downcase-region 'upcase-region 'kill-region
- 'copy-region-as-kill 'capitalize-region 'write-region)))
- (while l
- (substitute-key-definition (car l) 'calendar-not-implemented
- calendar-mode-map global-map)
- (setq l (cdr l))))
- (define-key calendar-mode-map "-" 'negative-argument)
- (define-key calendar-mode-map "\C-x>" 'scroll-calendar-right)
- (define-key calendar-mode-map [prior] 'scroll-calendar-right-three-months)
- (define-key calendar-mode-map "\ev" 'scroll-calendar-right-three-months)
- (define-key calendar-mode-map "\C-x<" 'scroll-calendar-left)
- (define-key calendar-mode-map [next] 'scroll-calendar-left-three-months)
- (define-key calendar-mode-map "\C-v" 'scroll-calendar-left-three-months)
- (define-key calendar-mode-map "\C-b" 'calendar-backward-day)
- (define-key calendar-mode-map "\C-p" 'calendar-backward-week)
- (define-key calendar-mode-map "\e{" 'calendar-backward-month)
- (define-key calendar-mode-map "\C-x[" 'calendar-backward-year)
- (define-key calendar-mode-map "\C-f" 'calendar-forward-day)
- (define-key calendar-mode-map "\C-n" 'calendar-forward-week)
- (define-key calendar-mode-map [left] 'calendar-backward-day)
- (define-key calendar-mode-map [up] 'calendar-backward-week)
- (define-key calendar-mode-map [right] 'calendar-forward-day)
- (define-key calendar-mode-map [down] 'calendar-forward-week)
- (define-key calendar-mode-map "\e}" 'calendar-forward-month)
- (define-key calendar-mode-map "\C-x]" 'calendar-forward-year)
- (define-key calendar-mode-map "\C-a" 'calendar-beginning-of-week)
- (define-key calendar-mode-map "\C-e" 'calendar-end-of-week)
- (define-key calendar-mode-map "\ea" 'calendar-beginning-of-month)
- (define-key calendar-mode-map "\ee" 'calendar-end-of-month)
- (define-key calendar-mode-map "\e<" 'calendar-beginning-of-year)
- (define-key calendar-mode-map "\e>" 'calendar-end-of-year)
- (define-key calendar-mode-map "\C-@" 'calendar-set-mark)
- ;; Many people are used to typing C-SPC and getting C-@.
- (define-key calendar-mode-map [?\C- ] 'calendar-set-mark)
- (define-key calendar-mode-map "\C-x\C-x" 'calendar-exchange-point-and-mark)
- (define-key calendar-mode-map "\e=" 'calendar-count-days-region)
- (define-key calendar-mode-map "gd" 'calendar-goto-date)
- (define-key calendar-mode-map "gj" 'calendar-goto-julian-date)
- (define-key calendar-mode-map "ga" 'calendar-goto-astro-day-number)
- (define-key calendar-mode-map "gh" 'calendar-goto-hebrew-date)
- (define-key calendar-mode-map "gi" 'calendar-goto-islamic-date)
- (define-key calendar-mode-map "gC" 'calendar-goto-chinese-date)
- (define-key calendar-mode-map "gk" 'calendar-goto-coptic-date)
- (define-key calendar-mode-map "ge" 'calendar-goto-ethiopic-date)
- (define-key calendar-mode-map "gp" 'calendar-goto-persian-date)
- (define-key calendar-mode-map "gc" 'calendar-goto-iso-date)
- (define-key calendar-mode-map "gf" 'calendar-goto-french-date)
- (define-key calendar-mode-map "gml" 'calendar-goto-mayan-long-count-date)
- (define-key calendar-mode-map "gmpc" 'calendar-previous-calendar-round-date)
- (define-key calendar-mode-map "gmnc" 'calendar-next-calendar-round-date)
- (define-key calendar-mode-map "gmph" 'calendar-previous-haab-date)
- (define-key calendar-mode-map "gmnh" 'calendar-next-haab-date)
- (define-key calendar-mode-map "gmpt" 'calendar-previous-tzolkin-date)
- (define-key calendar-mode-map "gmnt" 'calendar-next-tzolkin-date)
- (define-key calendar-mode-map "A" 'appt-add)
- (define-key calendar-mode-map "D" 'appt-delete)
- (define-key calendar-mode-map "S" 'calendar-sunrise-sunset)
- (define-key calendar-mode-map "M" 'calendar-phases-of-moon)
- (define-key calendar-mode-map " " 'scroll-other-window)
- (define-key calendar-mode-map "\C-c\C-l" 'redraw-calendar)
- (define-key calendar-mode-map "." 'calendar-goto-today)
- (define-key calendar-mode-map "o" 'calendar-other-month)
- (define-key calendar-mode-map "q" 'exit-calendar)
- (define-key calendar-mode-map "a" 'list-calendar-holidays)
- (define-key calendar-mode-map "h" 'calendar-cursor-holidays)
- (define-key calendar-mode-map "x" 'mark-calendar-holidays)
- (define-key calendar-mode-map "u" 'calendar-unmark)
- (define-key calendar-mode-map "m" 'mark-diary-entries)
- (define-key calendar-mode-map "d" 'view-diary-entries)
- (define-key calendar-mode-map "D" 'view-other-diary-entries)
- (define-key calendar-mode-map "s" 'show-all-diary-entries)
- (define-key calendar-mode-map "pd" 'calendar-print-day-of-year)
- (define-key calendar-mode-map "pC" 'calendar-print-chinese-date)
- (define-key calendar-mode-map "pk" 'calendar-print-coptic-date)
- (define-key calendar-mode-map "pe" 'calendar-print-ethiopic-date)
- (define-key calendar-mode-map "pp" 'calendar-print-persian-date)
- (define-key calendar-mode-map "pc" 'calendar-print-iso-date)
- (define-key calendar-mode-map "pj" 'calendar-print-julian-date)
- (define-key calendar-mode-map "pa" 'calendar-print-astro-day-number)
- (define-key calendar-mode-map "ph" 'calendar-print-hebrew-date)
- (define-key calendar-mode-map "pi" 'calendar-print-islamic-date)
- (define-key calendar-mode-map "pf" 'calendar-print-french-date)
- (define-key calendar-mode-map "pm" 'calendar-print-mayan-date)
- (define-key calendar-mode-map "po" 'calendar-print-other-dates)
- (define-key calendar-mode-map "id" 'insert-diary-entry)
- (define-key calendar-mode-map "iw" 'insert-weekly-diary-entry)
- (define-key calendar-mode-map "im" 'insert-monthly-diary-entry)
- (define-key calendar-mode-map "iy" 'insert-yearly-diary-entry)
- (define-key calendar-mode-map "ia" 'insert-anniversary-diary-entry)
- (define-key calendar-mode-map "ib" 'insert-block-diary-entry)
- (define-key calendar-mode-map "ic" 'insert-cyclic-diary-entry)
- (define-key calendar-mode-map "ihd" 'insert-hebrew-diary-entry)
- (define-key calendar-mode-map "ihm" 'insert-monthly-hebrew-diary-entry)
- (define-key calendar-mode-map "ihy" 'insert-yearly-hebrew-diary-entry)
- (define-key calendar-mode-map "iid" 'insert-islamic-diary-entry)
- (define-key calendar-mode-map "iim" 'insert-monthly-islamic-diary-entry)
- (define-key calendar-mode-map "iiy" 'insert-yearly-islamic-diary-entry)
- (define-key calendar-mode-map "?" 'calendar-goto-info-node)
- (define-key calendar-mode-map "tm" 'cal-tex-cursor-month)
- (define-key calendar-mode-map "tM" 'cal-tex-cursor-month-landscape)
- (define-key calendar-mode-map "td" 'cal-tex-cursor-day)
- (define-key calendar-mode-map "tw1" 'cal-tex-cursor-week)
- (define-key calendar-mode-map "tw2" 'cal-tex-cursor-week2)
- (define-key calendar-mode-map "tw3" 'cal-tex-cursor-week-iso)
- (define-key calendar-mode-map "tw4" 'cal-tex-cursor-week-monday)
- (define-key calendar-mode-map "tfd" 'cal-tex-cursor-filofax-daily)
- (define-key calendar-mode-map "tfw" 'cal-tex-cursor-filofax-2week)
- (define-key calendar-mode-map "tfW" 'cal-tex-cursor-filofax-week)
- (define-key calendar-mode-map "tfy" 'cal-tex-cursor-filofax-year)
- (define-key calendar-mode-map "ty" 'cal-tex-cursor-year)
- (define-key calendar-mode-map "tY" 'cal-tex-cursor-year-landscape))
+ (let ((map (make-keymap)))
+ (suppress-keymap map)
+ (dolist (c '(narrow-to-region mark-word mark-sexp mark-paragraph
+ mark-defun mark-whole-buffer mark-page
+ downcase-region upcase-region kill-region
+ copy-region-as-kill capitalize-region write-region))
+ (define-key map (vector 'remap c) 'calendar-not-implemented))
+ (define-key map ">" 'scroll-calendar-right)
+ (define-key map "\C-x>" 'scroll-calendar-right)
+ (define-key map [prior] 'scroll-calendar-right-three-months)
+ (define-key map "\ev" 'scroll-calendar-right-three-months)
+ (define-key map "<" 'scroll-calendar-left)
+ (define-key map "\C-x<" 'scroll-calendar-left)
+ (define-key map [next] 'scroll-calendar-left-three-months)
+ (define-key map "\C-v" 'scroll-calendar-left-three-months)
+ (define-key map "\C-b" 'calendar-backward-day)
+ (define-key map "\C-p" 'calendar-backward-week)
+ (define-key map "\e{" 'calendar-backward-month)
+ (define-key map "\C-x[" 'calendar-backward-year)
+ (define-key map "\C-f" 'calendar-forward-day)
+ (define-key map "\C-n" 'calendar-forward-week)
+ (define-key map [left] 'calendar-backward-day)
+ (define-key map [up] 'calendar-backward-week)
+ (define-key map [right] 'calendar-forward-day)
+ (define-key map [down] 'calendar-forward-week)
+ (define-key map "\e}" 'calendar-forward-month)
+ (define-key map "\C-x]" 'calendar-forward-year)
+ (define-key map "\C-a" 'calendar-beginning-of-week)
+ (define-key map "\C-e" 'calendar-end-of-week)
+ (define-key map "\ea" 'calendar-beginning-of-month)
+ (define-key map "\ee" 'calendar-end-of-month)
+ (define-key map "\e<" 'calendar-beginning-of-year)
+ (define-key map "\e>" 'calendar-end-of-year)
+ (define-key map "\C-@" 'calendar-set-mark)
+ ;; Many people are used to typing C-SPC and getting C-@.
+ (define-key map [?\C- ] 'calendar-set-mark)
+ (define-key map "\C-x\C-x" 'calendar-exchange-point-and-mark)
+ (define-key map "\e=" 'calendar-count-days-region)
+ (define-key map "gd" 'calendar-goto-date)
+ (define-key map "gD" 'calendar-goto-day-of-year)
+ (define-key map "gj" 'calendar-goto-julian-date)
+ (define-key map "ga" 'calendar-goto-astro-day-number)
+ (define-key map "gh" 'calendar-goto-hebrew-date)
+ (define-key map "gi" 'calendar-goto-islamic-date)
+ (define-key map "gb" 'calendar-goto-bahai-date)
+ (define-key map "gC" 'calendar-goto-chinese-date)
+ (define-key map "gk" 'calendar-goto-coptic-date)
+ (define-key map "ge" 'calendar-goto-ethiopic-date)
+ (define-key map "gp" 'calendar-goto-persian-date)
+ (define-key map "gc" 'calendar-goto-iso-date)
+ (define-key map "gw" 'calendar-goto-iso-week)
+ (define-key map "gf" 'calendar-goto-french-date)
+ (define-key map "gml" 'calendar-goto-mayan-long-count-date)
+ (define-key map "gmpc" 'calendar-previous-calendar-round-date)
+ (define-key map "gmnc" 'calendar-next-calendar-round-date)
+ (define-key map "gmph" 'calendar-previous-haab-date)
+ (define-key map "gmnh" 'calendar-next-haab-date)
+ (define-key map "gmpt" 'calendar-previous-tzolkin-date)
+ (define-key map "gmnt" 'calendar-next-tzolkin-date)
+ (define-key map "Aa" 'appt-add)
+ (define-key map "Ad" 'appt-delete)
+ (define-key map "S" 'calendar-sunrise-sunset)
+ (define-key map "M" 'calendar-phases-of-moon)
+ (define-key map " " 'scroll-other-window)
+ (define-key map (kbd "DEL") 'scroll-other-window-down)
+ (define-key map "\C-c\C-l" 'redraw-calendar)
+ (define-key map "." 'calendar-goto-today)
+ (define-key map "o" 'calendar-other-month)
+ (define-key map "q" 'exit-calendar)
+ (define-key map "a" 'list-calendar-holidays)
+ (define-key map "h" 'calendar-cursor-holidays)
+ (define-key map "x" 'mark-calendar-holidays)
+ (define-key map "u" 'calendar-unmark)
+ (define-key map "m" 'mark-diary-entries)
+ (define-key map "d" 'diary-view-entries)
+ (define-key map "D" 'view-other-diary-entries)
+ (define-key map "s" 'diary-show-all-entries)
+ (define-key map "pd" 'calendar-print-day-of-year)
+ (define-key map "pC" 'calendar-print-chinese-date)
+ (define-key map "pk" 'calendar-print-coptic-date)
+ (define-key map "pe" 'calendar-print-ethiopic-date)
+ (define-key map "pp" 'calendar-print-persian-date)
+ (define-key map "pc" 'calendar-print-iso-date)
+ (define-key map "pj" 'calendar-print-julian-date)
+ (define-key map "pa" 'calendar-print-astro-day-number)
+ (define-key map "ph" 'calendar-print-hebrew-date)
+ (define-key map "pi" 'calendar-print-islamic-date)
+ (define-key map "pb" 'calendar-print-bahai-date)
+ (define-key map "pf" 'calendar-print-french-date)
+ (define-key map "pm" 'calendar-print-mayan-date)
+ (define-key map "po" 'calendar-print-other-dates)
+ (define-key map "id" 'insert-diary-entry)
+ (define-key map "iw" 'insert-weekly-diary-entry)
+ (define-key map "im" 'insert-monthly-diary-entry)
+ (define-key map "iy" 'insert-yearly-diary-entry)
+ (define-key map "ia" 'insert-anniversary-diary-entry)
+ (define-key map "ib" 'insert-block-diary-entry)
+ (define-key map "ic" 'insert-cyclic-diary-entry)
+ (define-key map "ihd" 'insert-hebrew-diary-entry)
+ (define-key map "ihm" 'insert-monthly-hebrew-diary-entry)
+ (define-key map "ihy" 'insert-yearly-hebrew-diary-entry)
+ (define-key map "iid" 'insert-islamic-diary-entry)
+ (define-key map "iim" 'insert-monthly-islamic-diary-entry)
+ (define-key map "iiy" 'insert-yearly-islamic-diary-entry)
+ (define-key map "iBd" 'insert-bahai-diary-entry)
+ (define-key map "iBm" 'insert-monthly-bahai-diary-entry)
+ (define-key map "iBy" 'insert-yearly-bahai-diary-entry)
+ (define-key map "?" 'calendar-goto-info-node)
+ (define-key map "tm" 'cal-tex-cursor-month)
+ (define-key map "tM" 'cal-tex-cursor-month-landscape)
+ (define-key map "td" 'cal-tex-cursor-day)
+ (define-key map "tw1" 'cal-tex-cursor-week)
+ (define-key map "tw2" 'cal-tex-cursor-week2)
+ (define-key map "tw3" 'cal-tex-cursor-week-iso)
+ (define-key map "tw4" 'cal-tex-cursor-week-monday)
+ (define-key map "tfd" 'cal-tex-cursor-filofax-daily)
+ (define-key map "tfw" 'cal-tex-cursor-filofax-2week)
+ (define-key map "tfW" 'cal-tex-cursor-filofax-week)
+ (define-key map "tfy" 'cal-tex-cursor-filofax-year)
+ (define-key map "ty" 'cal-tex-cursor-year)
+ (define-key map "tY" 'cal-tex-cursor-year-landscape)
+ (setq calendar-mode-map map)
+ ;; Require cal-menu after initializing calendar-mode-map because it uses it.
+ (require 'cal-menu)))