Mercurial > emacs
comparison lisp/calendar/cal-menu.el @ 93092:6c0dbddcd03a
(calendar-other-dates): Declare it, and removes the declarations it replaces.
(calendar-mouse-print-dates): Use calendar-other-dates.
(calendar-mouse-holidays): Re-use the title.
(calendar-mouse-view-diary-entries): Use or.
(calendar-mouse-chinese-date): Remove unused command.
(cal-menu-load-hook): Mark as obsolete.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 20 Mar 2008 04:46:51 +0000 |
parents | b3d9a4a54d89 |
children | e800589311a9 |
comparison
equal
deleted
inserted
replaced
93091:b801762e0062 | 93092:6c0dbddcd03a |
---|---|
52 (declare-function calendar-set-mark "calendar" (arg)) | 52 (declare-function calendar-set-mark "calendar" (arg)) |
53 (declare-function cal-tex-cursor-day "cal-tex" (&optional arg)) | 53 (declare-function cal-tex-cursor-day "cal-tex" (&optional arg)) |
54 (declare-function cal-tex-cursor-week "cal-tex" (&optional arg)) | 54 (declare-function cal-tex-cursor-week "cal-tex" (&optional arg)) |
55 (declare-function cal-tex-cursor-week2 "cal-tex" (&optional arg)) | 55 (declare-function cal-tex-cursor-week2 "cal-tex" (&optional arg)) |
56 (declare-function cal-tex-cursor-week-iso "cal-tex" (&optional arg)) | 56 (declare-function cal-tex-cursor-week-iso "cal-tex" (&optional arg)) |
57 (declare-function cal-tex-cursor-week-monday "cal-tex" (&optional arg)) | 57 (declare-function cal-tex-cursor-week-monday "cal-tex" (&optional arg)) |
58 (declare-function cal-tex-cursor-filofax-daily "cal-tex" (&optional arg)) | 58 (declare-function cal-tex-cursor-filofax-daily "cal-tex" (&optional arg)) |
59 (declare-function cal-tex-cursor-filofax-2week "cal-tex" (&optional arg)) | 59 (declare-function cal-tex-cursor-filofax-2week "cal-tex" (&optional arg)) |
60 (declare-function cal-tex-cursor-filofax-week "cal-tex" (&optional arg)) | 60 (declare-function cal-tex-cursor-filofax-week "cal-tex" (&optional arg)) |
61 (declare-function cal-tex-cursor-month "cal-tex" (arg)) | 61 (declare-function cal-tex-cursor-month "cal-tex" (arg)) |
62 (declare-function cal-tex-cursor-month-landscape "cal-tex" (&optional arg)) | 62 (declare-function cal-tex-cursor-month-landscape "cal-tex" (&optional arg)) |
63 (declare-function cal-tex-cursor-year "cal-tex" (&optional arg)) | 63 (declare-function cal-tex-cursor-year "cal-tex" (&optional arg)) |
64 (declare-function cal-tex-cursor-filofax-year "cal-tex" (&optional arg)) | 64 (declare-function cal-tex-cursor-filofax-year "cal-tex" (&optional arg)) |
65 (declare-function cal-tex-cursor-year-landscape "cal-tex" (&optional arg)) | 65 (declare-function cal-tex-cursor-year-landscape "cal-tex" (&optional arg)) |
66 (declare-function calendar-day-of-year-string "calendar" (&optional date)) | 66 (declare-function calendar-other-dates "calendar" (date)) |
67 (declare-function calendar-iso-date-string "cal-iso" (&optional date)) | 67 (declare-function calendar-goto-date "cal-move" (date)) |
68 (declare-function calendar-julian-date-string "cal-julian" (&optional date)) | |
69 (declare-function calendar-astro-date-string "cal-julian" (&optional date)) | |
70 (declare-function calendar-absolute-from-gregorian "calendar" (date)) | |
71 (declare-function calendar-hebrew-date-string "cal-hebrew" (&optional date)) | |
72 (declare-function calendar-persian-date-string "cal-persia" (&optional date)) | |
73 (declare-function calendar-bahai-date-string "cal-bahai" (&optional date)) | |
74 (declare-function calendar-islamic-date-string "cal-islam" (&optional date)) | |
75 (declare-function calendar-chinese-date-string "cal-china" (&optional date)) | |
76 (declare-function calendar-coptic-date-string "cal-coptic" (&optional date)) | |
77 (declare-function calendar-ethiopic-date-string "cal-coptic" (&optional date)) | |
78 (declare-function calendar-french-date-string "cal-french" (&optional date)) | |
79 (declare-function calendar-mayan-date-string "cal-mayan" (&optional date)) | |
80 (declare-function calendar-print-chinese-date "cal-china" nil) | |
81 (declare-function calendar-goto-date "cal-move" (date)) | |
82 | 68 |
83 (defconst cal-menu-moon-menu | 69 (defconst cal-menu-moon-menu |
84 '("Moon" | 70 '("Moon" |
85 ["Lunar Phases" calendar-phases-of-moon])) | 71 ["Lunar Phases" calendar-phases-of-moon])) |
86 | 72 |
260 "Pop up menu of holidays for mouse selected date. | 246 "Pop up menu of holidays for mouse selected date. |
261 EVENT is the event that invoked this command." | 247 EVENT is the event that invoked this command." |
262 (interactive "e") | 248 (interactive "e") |
263 (let* ((date (calendar-event-to-date)) | 249 (let* ((date (calendar-event-to-date)) |
264 (l (mapcar 'list (calendar-check-holidays date))) | 250 (l (mapcar 'list (calendar-check-holidays date))) |
251 (title (format "Holidays for %s" (calendar-date-string date))) | |
265 (selection | 252 (selection |
266 (cal-menu-x-popup-menu | 253 (cal-menu-x-popup-menu |
267 event | 254 event |
268 (list | 255 (list title |
269 (format "Holidays for %s" (calendar-date-string date)) | 256 (append (list title) (or l '("None"))))))) |
270 (append | |
271 (list (format "Holidays for %s" (calendar-date-string date))) | |
272 (if l l '("None"))))))) | |
273 (and selection (call-interactively selection)))) | 257 (and selection (call-interactively selection)))) |
274 | 258 |
275 (defvar holidays-in-diary-buffer) ; only called from calendar.el | 259 (defvar holidays-in-diary-buffer) ; only called from calendar.el |
276 | 260 |
277 (defun calendar-mouse-view-diary-entries (&optional date diary event) | 261 (defun calendar-mouse-view-diary-entries (&optional date diary event) |
279 Use optional DATE and alternative file DIARY. EVENT is the event | 263 Use optional DATE and alternative file DIARY. EVENT is the event |
280 that invoked this command. Shows holidays if `holidays-in-diary-buffer' | 264 that invoked this command. Shows holidays if `holidays-in-diary-buffer' |
281 is non-nil." | 265 is non-nil." |
282 (interactive "i\ni\ne") | 266 (interactive "i\ni\ne") |
283 (let* ((date (or date (calendar-event-to-date))) | 267 (let* ((date (or date (calendar-event-to-date))) |
284 (diary-file (if diary diary diary-file)) | 268 (diary-file (or diary diary-file)) |
285 (diary-list-include-blanks nil) | 269 (diary-list-include-blanks nil) |
286 (diary-display-hook 'ignore) | 270 (diary-display-hook 'ignore) |
287 (diary-entries | 271 (diary-entries |
288 (mapcar (lambda (x) (split-string (cadr x) "\n")) | 272 (mapcar (lambda (x) (split-string (cadr x) "\n")) |
289 (diary-list-entries date 1 'list-only))) | 273 (diary-list-entries date 1 'list-only))) |
427 (defun calendar-mouse-print-dates (&optional event) | 411 (defun calendar-mouse-print-dates (&optional event) |
428 "Pop up menu of equivalent dates to mouse selected date. | 412 "Pop up menu of equivalent dates to mouse selected date. |
429 EVENT is the event that invoked this command." | 413 EVENT is the event that invoked this command." |
430 (interactive "e") | 414 (interactive "e") |
431 (let* ((date (calendar-event-to-date)) | 415 (let* ((date (calendar-event-to-date)) |
432 (selection | 416 (title (format "%s (Gregorian)" (calendar-date-string date))) |
433 (cal-menu-x-popup-menu | 417 (selection |
434 event | 418 (cal-menu-x-popup-menu |
435 (list | 419 event |
436 (concat (calendar-date-string date) " (Gregorian)") | 420 (list title |
437 (append | 421 (append (list title) |
438 (list | 422 (mapcar 'list (calendar-other-dates date))))))) |
439 (concat (calendar-date-string date) " (Gregorian)") | 423 (and selection (call-interactively selection)))) |
440 (list (calendar-day-of-year-string date)) | |
441 (list (format "ISO date: %s" (calendar-iso-date-string date))) | |
442 (list (format "Julian date: %s" | |
443 (calendar-julian-date-string date))) | |
444 (list | |
445 (format "Astronomical (Julian) day number (at noon UTC): %s.0" | |
446 (calendar-astro-date-string date))) | |
447 (list | |
448 (format "Fixed (RD) date: %s" | |
449 (calendar-absolute-from-gregorian date))) | |
450 (list (format "Hebrew date (before sunset): %s" | |
451 (calendar-hebrew-date-string date))) | |
452 (list (format "Persian date: %s" | |
453 (calendar-persian-date-string date))) | |
454 (list (format "Baha'i date (before sunset): %s" | |
455 (calendar-bahai-date-string date)))) | |
456 (let ((i (calendar-islamic-date-string date))) | |
457 (if (not (string-equal i "")) | |
458 (list (list (format "Islamic date (before sunset): %s" i))))) | |
459 (list | |
460 (list (format "Chinese date: %s" | |
461 (calendar-chinese-date-string date)))) | |
462 ;; (list '("Chinese date (select to echo Chinese date)" | |
463 ;; . calendar-mouse-chinese-date)) | |
464 (let ((c (calendar-coptic-date-string date))) | |
465 (if (not (string-equal c "")) | |
466 (list (list (format "Coptic date: %s" c))))) | |
467 (let ((e (calendar-ethiopic-date-string date))) | |
468 (if (not (string-equal e "")) | |
469 (list (list (format "Ethiopic date: %s" e))))) | |
470 (let ((f (calendar-french-date-string date))) | |
471 (if (not (string-equal f "")) | |
472 (list (list (format "French Revolutionary date: %s" f))))) | |
473 (list | |
474 (list | |
475 (format "Mayan date: %s" | |
476 (calendar-mayan-date-string date))))))))) | |
477 (and selection (call-interactively selection)))) | |
478 | |
479 (defun calendar-mouse-chinese-date () | |
480 "Show Chinese equivalent for mouse-selected date." | |
481 (interactive) | |
482 (save-excursion | |
483 (calendar-mouse-goto-date (calendar-event-to-date)) | |
484 (calendar-print-chinese-date))) | |
485 | 424 |
486 (defun cal-menu-set-date-title (menu) | 425 (defun cal-menu-set-date-title (menu) |
487 "Convert date of last event to title suitable for MENU." | 426 "Convert date of last event to title suitable for MENU." |
488 (easy-menu-filter-return | 427 (easy-menu-filter-return |
489 menu (calendar-date-string (calendar-event-to-date t) t nil))) | 428 menu (calendar-date-string (calendar-event-to-date t) t nil))) |
526 ["Unmark" calendar-unmark] | 465 ["Unmark" calendar-unmark] |
527 ["Lunar phases" calendar-phases-of-moon] | 466 ["Lunar phases" calendar-phases-of-moon] |
528 ["Show diary" diary-show-all-entries] | 467 ["Show diary" diary-show-all-entries] |
529 ["Exit calendar" exit-calendar])) | 468 ["Exit calendar" exit-calendar])) |
530 | 469 |
470 ;; Undocumented and probably useless. | |
471 (defvar cal-menu-load-hook nil | |
472 "Hook run on loading of the `cal-menu' package.") | |
473 (make-obsolete-variable 'cal-menu-load-hook | |
474 "it will be removed in future." "23.1") | |
475 | |
531 (run-hooks 'cal-menu-load-hook) | 476 (run-hooks 'cal-menu-load-hook) |
532 | 477 |
533 (provide 'cal-menu) | 478 (provide 'cal-menu) |
534 | 479 |
535 ;; arch-tag: aa81cf73-ce89-48a4-97ec-9ef861e87fe9 | 480 ;; arch-tag: aa81cf73-ce89-48a4-97ec-9ef861e87fe9 |