annotate lisp/calendar/appt.el @ 67086:7ae3d744378e

(Custom-reset-standard): Make it handle Custom group buffers correctly. (It used to throw an error in such buffers.) Make it ask for confirmation in group buffers and other Custom buffers containing more than one customization item.
author Luc Teirlinck <teirllm@auburn.edu>
date Tue, 22 Nov 2005 23:28:28 +0000
parents 6240d2f08018
children a55ee709ec8d 5e2d3828e89f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38412
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 30538
diff changeset
1 ;;; appt.el --- appointment notification functions
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 179
diff changeset
2
66007
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
3 ;; Copyright (C) 1989, 1990, 1994, 1998, 2004, 2005 Free Software Foundation, Inc.
846
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
4
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
5 ;; Author: Neil Mager <neilm@juliet.ll.mit.edu>
65919
5c09efcfc1d9 Update maintainer email address.
Glenn Morris <rgm@gnu.org>
parents: 65840
diff changeset
6 ;; Maintainer: Glenn Morris <rgm@gnu.org>
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
7 ;; Keywords: calendar
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
8
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 ;; any later version.
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 ;; GNU General Public License for more details.
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13125
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
64085
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63614
diff changeset
23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63614
diff changeset
24 ;; Boston, MA 02110-1301, USA.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
26 ;;; Commentary:
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
27
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 ;;
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 ;; appt.el - visible and/or audible notification of
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
30 ;; appointments from diary file.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 ;;
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 ;;;
28404
243081e5c0e7 Doc fixes.
Dave Love <fx@gnu.org>
parents: 27829
diff changeset
33 ;;; Thanks to Edward M. Reingold for much help and many suggestions,
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 ;;; And to many others for bug fixes and suggestions.
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 ;;;
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 ;;;
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
37 ;;; This functions in this file will alert the user of a
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
38 ;;; pending appointment based on his/her diary file. This package
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
39 ;;; is documented in the Emacs manual.
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
40 ;;;
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
41 ;;; To activate this package, simply use (appt-activate 1).
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
42 ;;; A `diary-file' with appointments of the format described in the
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
43 ;;; documentation of the function `appt-check' is required.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
44 ;;; Relevant customizable variables are also listed in the
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
45 ;;; documentation of that function.
54070
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
46 ;;;
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
47 ;;; Today's appointment list is initialized from the diary when this
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
48 ;;; package is activated. Additionally, the appointments list is
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
49 ;;; recreated automatically at 12:01am for those who do not logout
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
50 ;;; every day or are programming late. It is also updated when the
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
51 ;;; `diary-file' is saved. Calling `appt-check' with an argument forces
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
52 ;;; a re-initialization at any time.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 ;;;
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
54 ;;; In order to add or delete items from today's list, without
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
55 ;;; changing the diary file, use `appt-add' and `appt-delete'.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 ;;;
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
57
28404
243081e5c0e7 Doc fixes.
Dave Love <fx@gnu.org>
parents: 27829
diff changeset
58 ;;; Brief internal description - Skip this if you are not interested!
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 ;;;
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
60 ;;; The function `appt-make-list' creates the appointments list which
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
61 ;;; `appt-check' reads.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 ;;;
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
63 ;;; You can change the way the appointment window is created/deleted by
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
64 ;;; setting the variables
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
65 ;;;
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
66 ;;; appt-disp-window-function
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
67 ;;; and
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
68 ;;; appt-delete-window-function
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
69 ;;;
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
70 ;;; For instance, these variables could be set to functions that display
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
71 ;;; appointments in pop-up frames, which are lowered or iconified after
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
72 ;;; `appt-display-interval' minutes.
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
73 ;;;
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
74
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
75 ;;; Code:
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 777
diff changeset
76
8500
1e2396756604 Require calendar.
Richard M. Stallman <rms@gnu.org>
parents: 8493
diff changeset
77 ;; Make sure calendar is loaded when we compile this.
1e2396756604 Require calendar.
Richard M. Stallman <rms@gnu.org>
parents: 8493
diff changeset
78 (require 'calendar)
1e2396756604 Require calendar.
Richard M. Stallman <rms@gnu.org>
parents: 8493
diff changeset
79
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 927
diff changeset
81 ;;;###autoload
53562
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
82 (defcustom appt-issue-message t
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
83 "*Non-nil means check for appointments in the diary buffer.
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
84 To be detected, the diary entry must have the format described in the
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
85 documentation of the function `appt-check'."
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
86 :type 'boolean
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
87 :group 'appt)
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
88
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
89 (make-obsolete-variable 'appt-issue-message
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
90 "use the function `appt-activate', and the \
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 55559
diff changeset
91 variable `appt-display-format' instead." "22.1")
53562
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
92
8014694c2be8 (appt-issue-message): Mark as obsolete rather than deleting outright.
Glenn Morris <rgm@gnu.org>
parents: 53556
diff changeset
93 ;;;###autoload
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
94 (defcustom appt-message-warning-time 12
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
95 "*Time in minutes before an appointment that the warning begins."
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
96 :type 'integer
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
97 :group 'appt)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 927
diff changeset
99 ;;;###autoload
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
100 (defcustom appt-audible t
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
101 "*Non-nil means beep to indicate appointment."
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
102 :type 'boolean
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
103 :group 'appt)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 927
diff changeset
105 ;;;###autoload
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
106 (defcustom appt-visible t
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
107 "*Non-nil means display appointment message in echo area.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
108 This variable is only relevant if `appt-msg-window' is nil."
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
109 :type 'boolean
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
110 :group 'appt)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
111
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 55559
diff changeset
112 (make-obsolete-variable 'appt-visible 'appt-display-format "22.1")
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
113
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
114 ;;;###autoload
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
115 (defcustom appt-msg-window t
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
116 "*Non-nil means display appointment message in another window.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
117 If non-nil, this variable overrides `appt-visible'."
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
118 :type 'boolean
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
119 :group 'appt)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 55559
diff changeset
121 (make-obsolete-variable 'appt-msg-window 'appt-display-format "22.1")
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
122
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
123 ;; TODO - add popup.
54070
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
124 (defcustom appt-display-format 'ignore
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
125 "How appointment reminders should be displayed.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
126 The options are:
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
127 window - use a separate window
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
128 echo - use the echo area
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
129 nil - no visible reminder.
54070
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
130 See also `appt-audible' and `appt-display-mode-line'.
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
131
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
132 The default value is 'ignore, which means to fall back on the value
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
133 of the (obsolete) variables `appt-msg-window' and `appt-visible'."
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
134 :type '(choice
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
135 (const :tag "Separate window" window)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
136 (const :tag "Echo-area" echo)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
137 (const :tag "No visible display" nil))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
138 :group 'appt
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 55559
diff changeset
139 :version "22.1")
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
140
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 927
diff changeset
141 ;;;###autoload
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
142 (defcustom appt-display-mode-line t
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
143 "*Non-nil means display minutes to appointment and time on the mode line.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
144 This is in addition to any other display of appointment messages."
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
145 :type 'boolean
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
146 :group 'appt)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 927
diff changeset
148 ;;;###autoload
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
149 (defcustom appt-display-duration 10
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
150 "*The number of seconds an appointment message is displayed.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
151 Only relevant if reminders are to be displayed in their own window."
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
152 :type 'integer
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
153 :group 'appt)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 927
diff changeset
155 ;;;###autoload
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
156 (defcustom appt-display-diary t
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
157 "*Non-nil displays the diary when the appointment list is first initialized.
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
158 This will occur at midnight when the appointment list is updated."
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
159 :type 'boolean
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
160 :group 'appt)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161
17624
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
162 (defcustom appt-display-interval 3
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
163 "*Number of minutes to wait between checking the appointment list."
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
164 :type 'integer
7634c31da26e Add defgroup and use defcustom.
Richard M. Stallman <rms@gnu.org>
parents: 15679
diff changeset
165 :group 'appt)
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
166
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
167 (defcustom appt-disp-window-function 'appt-disp-window
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
168 "Function called to display appointment window.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
169 Only relevant if reminders are being displayed in a window."
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
170 :type '(choice (const appt-disp-window)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
171 function)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
172 :group 'appt)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
173
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
174 (defcustom appt-delete-window-function 'appt-delete-window
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
175 "Function called to remove appointment window and buffer.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
176 Only relevant if reminders are being displayed in a window."
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
177 :type '(choice (const appt-delete-window)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
178 function)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
179 :group 'appt)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
180
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
181
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
182 ;;; Internal variables below this point.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
183
61140
b9677b0e5e91 Update maintainer.
Glenn Morris <rgm@gnu.org>
parents: 60225
diff changeset
184 (defconst appt-buffer-name " *appt-buf*"
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
185 "Name of the appointments buffer.")
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
186
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
187 (defvar appt-time-msg-list nil
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
188 "The list of appointments for today.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
189 Use `appt-add' and `appt-delete' to add and delete appointments.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
190 The original list is generated from today's `diary-entries-list', and
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
191 can be regenerated using the function `appt-check'.
60225
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
192 Each element of the generated list has the form (MINUTES STRING [FLAG]); where
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
193 MINUTES is the time in minutes of the appointment after midnight, and
60225
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
194 STRING is the description of the appointment.
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
195 FLAG, if non-nil, says that the element was made with `appt-add'
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
196 so calling `appt-make-list' again should preserve it.")
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
197
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
198 (defconst appt-max-time (1- (* 24 60))
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
199 "11:59pm in minutes - number of minutes in a day minus 1.")
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
200
23112
81052242dbce (appt-mode-string): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 17624
diff changeset
201 (defvar appt-mode-string nil
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
202 "String being displayed in the mode line saying you have an appointment.
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
203 The actual string includes the amount of time till the appointment.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
204 Only used if `appt-display-mode-line' is non-nil.")
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
205
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
206 (defvar appt-prev-comp-time nil
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
207 "Time of day (mins since midnight) at which we last checked appointments.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
208 A nil value forces the diary file to be (re-)checked for appointments.")
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
209
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
210 (defvar appt-now-displayed nil
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
211 "Non-nil when we have started notifying about a appointment that is near.")
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
212
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
213 (defvar appt-display-count nil
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
214 "Internal variable used to count number of consecutive reminders.")
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
215
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
216 (defvar appt-timer nil
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
217 "Timer used for diary appointment notifications (`appt-check').
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
218 If this is non-nil, appointment checking is active.")
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
219
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
220
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
221 ;;; Functions.
23112
81052242dbce (appt-mode-string): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 17624
diff changeset
222
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
223 (defun appt-display-message (string mins)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
224 "Display a reminder about an appointment.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
225 The string STRING describes the appointment, due in integer MINS minutes.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
226 The format of the visible reminder is controlled by `appt-display-format'.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
227 The variable `appt-audible' controls the audible reminder."
54070
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
228 ;; let binding for backwards compatability. Remove when obsolete
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
229 ;; vars appt-msg-window and appt-visible are dropped.
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
230 (let ((appt-display-format
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
231 (if (eq appt-display-format 'ignore)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
232 (cond (appt-msg-window 'window)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
233 (appt-visible 'echo))
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
234 appt-display-format)))
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
235 (cond ((eq appt-display-format 'window)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
236 (funcall appt-disp-window-function
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
237 (number-to-string mins)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
238 (format-time-string "%a %b %e " (current-time))
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
239 string)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
240 (run-at-time (format "%d sec" appt-display-duration)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
241 nil
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
242 appt-delete-window-function))
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
243 ((eq appt-display-format 'echo)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
244 (message "%s" string)))
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
245 (if appt-audible (beep 1))))
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
246
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
247
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
248 (defun appt-check (&optional force)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
249 "Check for an appointment and update any reminder display.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
250 If optional argument FORCE is non-nil, reparse the diary file for
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
251 appointments. Otherwise the diary file is only parsed once per day,
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
252 and when saved.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
253
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 Note: the time must be the first thing in the line in the diary
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
255 for a warning to be issued. The format of the time can be either
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
256 24 hour or am/pm. For example:
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
258 02/23/89
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
259 18:00 Dinner
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
260
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
261 Thursday
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
262 11:45am Lunch meeting.
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
264 Appointments are checked every `appt-display-interval' minutes.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
265 The following variables control appointment notification:
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
267 `appt-display-format'
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
268 Controls the format in which reminders are displayed.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269
23112
81052242dbce (appt-mode-string): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 17624
diff changeset
270 `appt-audible'
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
271 Variable used to determine if reminder is audible.
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
272 Default is t.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
274 `appt-message-warning-time'
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
275 Variable used to determine when appointment message
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
276 should first be displayed.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
277
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
278 `appt-display-mode-line'
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
279 If non-nil, a generic message giving the time remaining
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
280 is shown in the mode-line when an appointment is due.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
282 `appt-display-interval'
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
283 Interval in minutes at which to check for pending appointments.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
284
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
285 `appt-display-diary'
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
286 Display the diary buffer when the appointment list is
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
287 initialized for the first time in a day.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
288
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
289 The following variables are only relevant if reminders are being
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
290 displayed in a window:
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291
23112
81052242dbce (appt-mode-string): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 17624
diff changeset
292 `appt-display-duration'
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
293 The number of seconds an appointment message is displayed.
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
294
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
295 `appt-disp-window-function'
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
296 Function called to display appointment window.
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
297
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
298 `appt-delete-window-function'
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
299 Function called to remove appointment window and buffer."
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
300
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
301 (let* ((min-to-app -1)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
302 (prev-appt-mode-string appt-mode-string)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
303 (prev-appt-display-count (or appt-display-count 0))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
304 ;; Non-nil means do a full check for pending appointments
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
305 ;; and display in whatever ways the user has selected.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
306 ;; When no appointment is being displayed,
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
307 ;; we always do a full check.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
308 (full-check
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
309 (or (not appt-now-displayed)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
310 ;; This is true every appt-display-interval minutes.
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
311 (zerop (mod prev-appt-display-count appt-display-interval))))
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
312 ;; Non-nil means only update the interval displayed in the mode line.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
313 (mode-line-only
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
314 (and (not full-check) appt-now-displayed)))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
315
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
316 (when (or full-check mode-line-only)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
317 (save-excursion
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
318
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
319 ;; Get the current time and convert it to minutes
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
320 ;; from midnight. ie. 12:01am = 1, midnight = 0.
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
321
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
322 (let* ((now (decode-time))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
323 (cur-hour (nth 2 now))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
324 (cur-min (nth 1 now))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
325 (cur-comp-time (+ (* cur-hour 60) cur-min)))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
326
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
327 ;; At the first check in any given day, update our
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
328 ;; appointments to today's list.
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
329
54535
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
330 (if (or force ; eg initialize, diary save
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
331 (null appt-prev-comp-time) ; first check
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
332 (< cur-comp-time appt-prev-comp-time)) ; new day
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
333 (condition-case nil
54535
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
334 (if appt-display-diary
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
335 (let ((diary-hook
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
336 (if (assoc 'appt-make-list diary-hook)
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
337 diary-hook
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
338 (cons 'appt-make-list diary-hook))))
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
339 (diary))
66007
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
340 (let* ((diary-display-hook 'appt-make-list)
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
341 (d-buff (find-buffer-visiting
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
342 (substitute-in-file-name diary-file)))
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
343 (selective
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
344 (if d-buff ; Diary buffer exists.
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
345 (with-current-buffer d-buff
6240d2f08018 (appt-check): Use diary-selective-display var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 65919
diff changeset
346 diary-selective-display))))
54535
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
347 (diary)
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
348 ;; If the diary buffer existed before this command,
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
349 ;; restore its display state. Otherwise, kill it.
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
350 (if d-buff
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
351 ;; Displays the diary buffer.
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
352 (or selective (show-all-diary-entries))
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
353 (and
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
354 (setq d-buff (find-buffer-visiting
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
355 (substitute-in-file-name diary-file)))
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
356 (kill-buffer d-buff)))))
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
357 (error nil)))
23124
176e4901705d (appt-check): Clear appt-mode-string if we don't put something in it.
Karl Heuer <kwzh@gnu.org>
parents: 23123
diff changeset
358
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
359 (setq appt-prev-comp-time cur-comp-time
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
360 appt-mode-string nil
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
361 appt-display-count nil)
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
362
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
363 ;; If there are entries in the list, and the
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
364 ;; user wants a message issued,
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
365 ;; get the first time off of the list
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
366 ;; and calculate the number of minutes until the appointment.
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
367
53643
761988ba350d (appt-check): Restore usage of appt-issue-message deleted in previous
Glenn Morris <rgm@gnu.org>
parents: 53562
diff changeset
368 (if (and appt-issue-message appt-time-msg-list)
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
369 (let ((appt-comp-time (car (car (car appt-time-msg-list)))))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
370 (setq min-to-app (- appt-comp-time cur-comp-time))
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
371
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
372 (while (and appt-time-msg-list
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
373 (< appt-comp-time cur-comp-time))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
374 (setq appt-time-msg-list (cdr appt-time-msg-list))
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
375 (if appt-time-msg-list
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
376 (setq appt-comp-time
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
377 (car (car (car appt-time-msg-list))))))
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
378
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
379 ;; If we have an appointment between midnight and
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
380 ;; 'appt-message-warning-time' minutes after midnight,
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
381 ;; we must begin to issue a message before midnight.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
382 ;; Midnight is considered 0 minutes and 11:59pm is
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
383 ;; 1439 minutes. Therefore we must recalculate the minutes
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
384 ;; to appointment variable. It is equal to the number of
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
385 ;; minutes before midnight plus the number of
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
386 ;; minutes after midnight our appointment is.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
387
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
388 (if (and (< appt-comp-time appt-message-warning-time)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
389 (> (+ cur-comp-time appt-message-warning-time)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
390 appt-max-time))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
391 (setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
392 appt-comp-time))
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
393
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
394 ;; issue warning if the appointment time is
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
395 ;; within appt-message-warning time
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
396
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
397 (when (and (<= min-to-app appt-message-warning-time)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
398 (>= min-to-app 0))
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
399 (setq appt-now-displayed t
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
400 appt-display-count (1+ prev-appt-display-count))
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
401 (unless mode-line-only
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
402 (appt-display-message (cadr (car appt-time-msg-list))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
403 min-to-app))
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
404 (when appt-display-mode-line
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
405 (setq appt-mode-string
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
406 (format " App't in %s min." min-to-app)))
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
407
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
408 ;; When an appointment is reached,
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
409 ;; delete it from the list.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
410 ;; Reset the count to 0 in case we display another
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
411 ;; appointment on the next cycle.
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
412 (if (zerop min-to-app)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
413 (setq appt-time-msg-list (cdr appt-time-msg-list)
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
414 appt-display-count nil)))))
5034
c7badee38b64 (appt-display-interval): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 957
diff changeset
415
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
416 ;; If we have changed the mode line string,
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
417 ;; redisplay all mode lines.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
418 (and appt-display-mode-line
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
419 (not (equal appt-mode-string
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
420 prev-appt-mode-string))
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
421 (progn
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
422 (force-mode-line-update t)
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
423 ;; If the string now has a notification,
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
424 ;; redisplay right now.
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
425 (if appt-mode-string
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
426 (sit-for 0)))))))))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
427
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
428
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
429 (defun appt-disp-window (min-to-app new-time appt-msg)
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
430 "Display appointment message APPT-MSG in a separate buffer.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
431 The appointment is due in MIN-TO-APP (a string) minutes.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
432 NEW-TIME is a string giving the date."
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
433 (require 'electric)
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
434
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
435 ;; Make sure we're not in the minibuffer
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
436 ;; before splitting the window.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
437
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
438 (if (equal (selected-window) (minibuffer-window))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
439 (if (other-window 1)
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
440 (select-window (other-window 1))
30538
c44ca494d993 (appt-disp-window): Use display-multi-frame-p
Eli Zaretskii <eliz@gnu.org>
parents: 30001
diff changeset
441 (if (display-multi-frame-p)
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
442 (select-frame (other-frame 1)))))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
443
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
444 (let ((this-window (selected-window))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
445 (appt-disp-buf (set-buffer (get-buffer-create appt-buffer-name))))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
446
9413
e54eede71446 (appt-delete-window): Look on all frames for the window.
Richard M. Stallman <rms@gnu.org>
parents: 8500
diff changeset
447 (if (cdr (assq 'unsplittable (frame-parameters)))
e54eede71446 (appt-delete-window): Look on all frames for the window.
Richard M. Stallman <rms@gnu.org>
parents: 8500
diff changeset
448 ;; In an unsplittable frame, use something somewhere else.
e54eede71446 (appt-delete-window): Look on all frames for the window.
Richard M. Stallman <rms@gnu.org>
parents: 8500
diff changeset
449 (display-buffer appt-disp-buf)
23777
5d10105c2906 (appt-disp-window): Use pop-to-buffer,
Richard M. Stallman <rms@gnu.org>
parents: 23297
diff changeset
450 (unless (or (special-display-p (buffer-name appt-disp-buf))
5d10105c2906 (appt-disp-window): Use pop-to-buffer,
Richard M. Stallman <rms@gnu.org>
parents: 23297
diff changeset
451 (same-window-p (buffer-name appt-disp-buf)))
5d10105c2906 (appt-disp-window): Use pop-to-buffer,
Richard M. Stallman <rms@gnu.org>
parents: 23297
diff changeset
452 ;; By default, split the bottom window and use the lower part.
5d10105c2906 (appt-disp-window): Use pop-to-buffer,
Richard M. Stallman <rms@gnu.org>
parents: 23297
diff changeset
453 (appt-select-lowest-window)
55559
a4d697f046db (appt-disp-window): Use `calendar-set-mode-line' for a centered
Glenn Morris <rgm@gnu.org>
parents: 54535
diff changeset
454 (select-window (split-window)))
a4d697f046db (appt-disp-window): Use `calendar-set-mode-line' for a centered
Glenn Morris <rgm@gnu.org>
parents: 54535
diff changeset
455 (switch-to-buffer appt-disp-buf))
a4d697f046db (appt-disp-window): Use `calendar-set-mode-line' for a centered
Glenn Morris <rgm@gnu.org>
parents: 54535
diff changeset
456 (calendar-set-mode-line
a4d697f046db (appt-disp-window): Use `calendar-set-mode-line' for a centered
Glenn Morris <rgm@gnu.org>
parents: 54535
diff changeset
457 (format " Appointment in %s minutes. %s " min-to-app new-time))
23112
81052242dbce (appt-mode-string): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 17624
diff changeset
458 (erase-buffer)
41565
6ecdf9c3fd25 (appt-disp-window): Use insert instead of insert-string.
Pavel Janík <Pavel@Janik.cz>
parents: 38412
diff changeset
459 (insert appt-msg)
9413
e54eede71446 (appt-delete-window): Look on all frames for the window.
Richard M. Stallman <rms@gnu.org>
parents: 8500
diff changeset
460 (shrink-window-if-larger-than-buffer (get-buffer-window appt-disp-buf t))
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
461 (set-buffer-modified-p nil)
13125
731ef06c5677 (appt-disp-window): Call raise-frame.
Richard M. Stallman <rms@gnu.org>
parents: 12549
diff changeset
462 (raise-frame (selected-frame))
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
463 (select-window this-window)))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
464
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
465 (defun appt-delete-window ()
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
466 "Function called to undisplay appointment messages.
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
467 Usually just deletes the appointment buffer."
9551
ac21ac5e8c69 (appt-select-lowest-window): Locally bind lowest-window.
Richard M. Stallman <rms@gnu.org>
parents: 9413
diff changeset
468 (let ((window (get-buffer-window appt-buffer-name t)))
ac21ac5e8c69 (appt-select-lowest-window): Locally bind lowest-window.
Richard M. Stallman <rms@gnu.org>
parents: 9413
diff changeset
469 (and window
28404
243081e5c0e7 Doc fixes.
Dave Love <fx@gnu.org>
parents: 27829
diff changeset
470 (or (eq window (frame-root-window (window-frame window)))
9551
ac21ac5e8c69 (appt-select-lowest-window): Locally bind lowest-window.
Richard M. Stallman <rms@gnu.org>
parents: 9413
diff changeset
471 (delete-window window))))
5659
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
472 (kill-buffer appt-buffer-name)
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
473 (if appt-audible
32a02ab40d58 (appt-check): Use the new variables
Richard M. Stallman <rms@gnu.org>
parents: 5034
diff changeset
474 (beep 1)))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
475
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
476 (defun appt-select-lowest-window ()
28404
243081e5c0e7 Doc fixes.
Dave Love <fx@gnu.org>
parents: 27829
diff changeset
477 "Select the lowest window on the frame."
30001
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
478 (let ((lowest-window (selected-window))
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
479 (bottom-edge (nth 3 (window-edges))))
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
480 (walk-windows (lambda (w)
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
481 (let ((next-bottom-edge (nth 3 (window-edges w))))
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
482 (when (< bottom-edge next-bottom-edge)
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
483 (setq bottom-edge next-bottom-edge
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
484 lowest-window w)))))
55656f797f82 (appt-select-lowest-window): Use walk-windows
Gerd Moellmann <gerd@gnu.org>
parents: 28968
diff changeset
485 (select-window lowest-window)))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
486
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
487 (defconst appt-time-regexp
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
488 "[0-9]?[0-9]\\(h\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]\\)\\(am\\|pm\\)?")
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
489
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
490 ;;;###autoload
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
491 (defun appt-add (new-appt-time new-appt-msg)
61140
b9677b0e5e91 Update maintainer.
Glenn Morris <rgm@gnu.org>
parents: 60225
diff changeset
492 "Add an appointment for today at NEW-APPT-TIME with message NEW-APPT-MSG.
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
493 The time should be in either 24 hour format or am/pm format."
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
494 (interactive "sTime (hh:mm[am/pm]): \nsMessage: ")
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
495 (unless (string-match appt-time-regexp new-appt-time)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
496 (error "Unacceptable time-string"))
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
497 (let* ((appt-time-string (concat new-appt-time " " new-appt-msg))
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
498 (appt-time (list (appt-convert-time new-appt-time)))
60225
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
499 (time-msg (list appt-time appt-time-string t)))
28404
243081e5c0e7 Doc fixes.
Dave Love <fx@gnu.org>
parents: 27829
diff changeset
500 (setq appt-time-msg-list (nconc appt-time-msg-list (list time-msg)))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
501 (setq appt-time-msg-list (appt-sort-list appt-time-msg-list))))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
502
23297
e23cdc314c10 (appt-interval): Variable deleted.
Karl Heuer <kwzh@gnu.org>
parents: 23124
diff changeset
503 ;;;###autoload
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
504 (defun appt-delete ()
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505 "Delete an appointment from the list of appointments."
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506 (interactive)
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
507 (let ((tmp-msg-list appt-time-msg-list))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508 (while tmp-msg-list
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
509 (let* ((element (car tmp-msg-list))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
510 (prompt-string (concat "Delete "
46909
eb47511f3556 (appt-delete): Use substring-no-properties.
Richard M. Stallman <rms@gnu.org>
parents: 46861
diff changeset
511 ;; We want to quote any doublequotes
eb47511f3556 (appt-delete): Use substring-no-properties.
Richard M. Stallman <rms@gnu.org>
parents: 46861
diff changeset
512 ;; in the string, as well as put
eb47511f3556 (appt-delete): Use substring-no-properties.
Richard M. Stallman <rms@gnu.org>
parents: 46861
diff changeset
513 ;; doublequotes around it.
eb47511f3556 (appt-delete): Use substring-no-properties.
Richard M. Stallman <rms@gnu.org>
parents: 46861
diff changeset
514 (prin1-to-string
eb47511f3556 (appt-delete): Use substring-no-properties.
Richard M. Stallman <rms@gnu.org>
parents: 46861
diff changeset
515 (substring-no-properties
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
516 (car (cdr element)) 0))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
517 " from list? "))
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
518 (test-input (y-or-n-p prompt-string)))
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
519 (setq tmp-msg-list (cdr tmp-msg-list))
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
520 (if test-input
9551
ac21ac5e8c69 (appt-select-lowest-window): Locally bind lowest-window.
Richard M. Stallman <rms@gnu.org>
parents: 9413
diff changeset
521 (setq appt-time-msg-list (delq element appt-time-msg-list)))))
26677
b6b1fe18ecf5 (appt-convert-time): Handle "12:MMam",
Gerd Moellmann <gerd@gnu.org>
parents: 24493
diff changeset
522 (appt-check)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
523 (message "")))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
524
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
525
26935
9e0b4a6b5ad2 Bind free variables when compiling.
Dave Love <fx@gnu.org>
parents: 26677
diff changeset
526 (eval-when-compile (defvar number)
9e0b4a6b5ad2 Bind free variables when compiling.
Dave Love <fx@gnu.org>
parents: 26677
diff changeset
527 (defvar original-date)
9e0b4a6b5ad2 Bind free variables when compiling.
Dave Love <fx@gnu.org>
parents: 26677
diff changeset
528 (defvar diary-entries-list))
927
587a08c3a70b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 846
diff changeset
529 ;;;###autoload
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
530 (defun appt-make-list ()
60225
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
531 "Update the appointments list from today's diary buffer.
28404
243081e5c0e7 Doc fixes.
Dave Love <fx@gnu.org>
parents: 27829
diff changeset
532 The time must be at the beginning of a line for it to be
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
533 put in the appointments list (see examples in documentation of
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
534 the function `appt-check'). We assume that the variables DATE and
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
535 NUMBER hold the arguments that `list-diary-entries' received.
60225
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
536 They specify the range of dates that the diary is being processed for.
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
537
c467ceeff8c7 (appt-time-msg-list): 3rd elt of each
Richard M. Stallman <rms@gnu.org>
parents: 59996
diff changeset
538 Any appointments made with `appt-add' are not affected by this
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
539 function.
28404
243081e5c0e7 Doc fixes.
Dave Love <fx@gnu.org>
parents: 27829
diff changeset
540
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
541 For backwards compatibility, this function activates the
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
542 appointment package (if it is not already active)."
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
543 ;; See comments above appt-activate defun.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
544 (if (not appt-timer)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
545 (appt-activate 1)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
546 ;; We have something to do if the range of dates that the diary is
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
547 ;; considering includes the current date.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
548 (if (and (not (calendar-date-compare
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
549 (list (calendar-current-date))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
550 (list original-date)))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
551 (calendar-date-compare
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
552 (list (calendar-current-date))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
553 (list (calendar-gregorian-from-absolute
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
554 (+ (calendar-absolute-from-gregorian original-date)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
555 number)))))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
556 (save-excursion
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
557 ;; Clear the appointments list, then fill it in from the diary.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
558 (dolist (elt appt-time-msg-list)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
559 ;; Delete any entries that were not made with appt-add.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
560 (unless (nth 2 elt)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
561 (setq appt-time-msg-list
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
562 (delq elt appt-time-msg-list))))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
563 (if diary-entries-list
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
564
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
565 ;; Cycle through the entry-list (diary-entries-list)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
566 ;; looking for entries beginning with a time. If
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
567 ;; the entry begins with a time, add it to the
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
568 ;; appt-time-msg-list. Then sort the list.
8440
863e05092c58 (appt-make-list): Do nothing unless range being processed
Richard M. Stallman <rms@gnu.org>
parents: 7298
diff changeset
569
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
570 (let ((entry-list diary-entries-list)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
571 (new-time-string ""))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
572 ;; Skip diary entries for dates before today.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
573 (while (and entry-list
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
574 (calendar-date-compare
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
575 (car entry-list) (list (calendar-current-date))))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
576 (setq entry-list (cdr entry-list)))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
577 ;; Parse the entries for today.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
578 (while (and entry-list
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
579 (calendar-date-equal
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
580 (calendar-current-date) (car (car entry-list))))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
581 (let ((time-string (cadr (car entry-list))))
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
582 (while (string-match appt-time-regexp time-string)
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
583 (let* ((beg (match-beginning 0))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
584 ;; Get just the time for this appointment.
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
585 (only-time (match-string 0 time-string))
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
586 ;; Find the end of this appointment
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
587 ;; (the start of the next).
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
588 (end (string-match
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
589 (concat "\n[ \t]*" appt-time-regexp)
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
590 time-string
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
591 (match-end 0)))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
592 ;; Get the whole string for this appointment.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
593 (appt-time-string
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
594 (substring time-string beg (if end (1- end)))))
8440
863e05092c58 (appt-make-list): Do nothing unless range being processed
Richard M. Stallman <rms@gnu.org>
parents: 7298
diff changeset
595
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
596 ;; Add this appointment to appt-time-msg-list.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
597 (let* ((appt-time (list (appt-convert-time only-time)))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
598 (time-msg (list appt-time appt-time-string)))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
599 (setq appt-time-msg-list
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
600 (nconc appt-time-msg-list (list time-msg))))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
601
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
602 ;; Discard this appointment from the string.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
603 (setq time-string
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
604 (if end (substring time-string end) "")))))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
605 (setq entry-list (cdr entry-list)))))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
606 (setq appt-time-msg-list (appt-sort-list appt-time-msg-list))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
607
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
608 ;; Get the current time and convert it to minutes
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
609 ;; from midnight. ie. 12:01am = 1, midnight = 0,
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
610 ;; so that the elements in the list
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
611 ;; that are earlier than the present time can
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
612 ;; be removed.
8440
863e05092c58 (appt-make-list): Do nothing unless range being processed
Richard M. Stallman <rms@gnu.org>
parents: 7298
diff changeset
613
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
614 (let* ((now (decode-time))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
615 (cur-hour (nth 2 now))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
616 (cur-min (nth 1 now))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
617 (cur-comp-time (+ (* cur-hour 60) cur-min))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
618 (appt-comp-time (car (caar appt-time-msg-list))))
8440
863e05092c58 (appt-make-list): Do nothing unless range being processed
Richard M. Stallman <rms@gnu.org>
parents: 7298
diff changeset
619
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
620 (while (and appt-time-msg-list (< appt-comp-time cur-comp-time))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
621 (setq appt-time-msg-list (cdr appt-time-msg-list))
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
622 (if appt-time-msg-list
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
623 (setq appt-comp-time (car (caar appt-time-msg-list))))))))))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
624
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
625
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
626 (defun appt-sort-list (appt-list)
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
627 "Sort an appointment list, putting earlier items at the front.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
628 APPT-LIST is a list of the same format as `appt-time-msg-list'."
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
629 (sort appt-list (lambda (e1 e2) (< (caar e1) (caar e2)))))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
630
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
631
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
632 (defun appt-convert-time (time2conv)
53549
f34089e632fc (appt-add): Also accept time in the form XX[.XX][am/pm/AM/PM].
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 52401
diff changeset
633 "Convert hour:min[am/pm] format to minutes from midnight.
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
634 A period (.) can be used instead of a colon (:) to separate the
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
635 hour and minute parts."
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
636 ;; Formats that should be accepted:
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
637 ;; 10:00 10.00 10h00 10h 10am 10:00am 10.00am
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
638 (let ((min (if (string-match "[h:.]\\([0-9][0-9]\\)" time2conv)
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
639 (string-to-number (match-string 1 time2conv))
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
640 0))
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
641 (hr (if (string-match "[0-9]*[0-9]" time2conv)
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
642 (string-to-number (match-string 0 time2conv))
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
643 0)))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
644
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
645 ;; convert the time appointment time into 24 hour time
26677
b6b1fe18ecf5 (appt-convert-time): Handle "12:MMam",
Gerd Moellmann <gerd@gnu.org>
parents: 24493
diff changeset
646 (cond ((and (string-match "pm" time2conv) (< hr 12))
b6b1fe18ecf5 (appt-convert-time): Handle "12:MMam",
Gerd Moellmann <gerd@gnu.org>
parents: 24493
diff changeset
647 (setq hr (+ 12 hr)))
b6b1fe18ecf5 (appt-convert-time): Handle "12:MMam",
Gerd Moellmann <gerd@gnu.org>
parents: 24493
diff changeset
648 ((and (string-match "am" time2conv) (= hr 12))
b6b1fe18ecf5 (appt-convert-time): Handle "12:MMam",
Gerd Moellmann <gerd@gnu.org>
parents: 24493
diff changeset
649 (setq hr 0)))
49598
0d8b17d428b5 Trailing whitepace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 46909
diff changeset
650
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
651 ;; convert the actual time into minutes.
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
652 (+ (* hr 60) min)))
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
653
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
654
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
655 (defun appt-update-list ()
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
656 "If the current buffer is visiting the diary, update appointments.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
657 This function is intended for use with `write-file-functions'."
54535
f5c18c1f02ce (appt-check): Remove superfluous progn.
Glenn Morris <rgm@gnu.org>
parents: 54070
diff changeset
658 (and (string-equal buffer-file-name (expand-file-name diary-file))
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
659 appt-timer
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
660 (let ((appt-display-diary nil))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
661 (appt-check t)))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
662 nil)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
663
23112
81052242dbce (appt-mode-string): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 17624
diff changeset
664
63614
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
665 ;; In Emacs-21.3, the manual documented the following procedure to
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
666 ;; activate this package:
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
667 ;; (display-time)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
668 ;; (add-hook 'diary-hook 'appt-make-list)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
669 ;; (diary 0)
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
670 ;; The display-time call was not necessary, AFAICS.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
671 ;; What was really needed was to add the hook and load this file.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
672 ;; Calling (diary 0) once the hook had been added was in some sense a
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
673 ;; roundabout way of loading this file. This file used to have code at
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
674 ;; the top-level that set up the appt-timer and global-mode-string.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
675 ;; One way to maintain backwards compatibility would be to call
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
676 ;; (appt-activate 1) at top-level. However, this goes against the
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
677 ;; convention that just loading an Emacs package should not activate
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
678 ;; it. Instead, we make appt-make-list activate the package (after a
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
679 ;; suggestion from rms). This means that one has to call diary in
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
680 ;; order to get it to work, but that is in line with the old (weird,
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
681 ;; IMO) documented behavior for activating the package.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
682 ;; Actually, since (diary 0) does not run diary-hook, I don't think
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
683 ;; the documented behavior in Emacs-21.3 would ever have worked.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
684 ;; Oh well, at least with the changes to appt-make-list it will now
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
685 ;; work as well as it ever did.
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
686 ;; The new method is just to use (appt-activate 1).
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
687 ;; -- gmorris
6533273f3b46 (appt-make-list): Activate the package, if not already active (for
Glenn Morris <rgm@gnu.org>
parents: 62402
diff changeset
688
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
689 ;;;###autoload
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
690 (defun appt-activate (&optional arg)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
691 "Toggle checking of appointments.
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
692 With optional numeric argument ARG, turn appointment checking on if
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
693 ARG is positive, otherwise off."
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
694 (interactive "P")
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
695 (let ((appt-active appt-timer))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
696 (setq appt-active (if arg (> (prefix-numeric-value arg) 0)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
697 (not appt-active)))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
698 (remove-hook 'write-file-functions 'appt-update-list)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
699 (or global-mode-string (setq global-mode-string '("")))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
700 (delq 'appt-mode-string global-mode-string)
54070
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
701 (when appt-timer
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
702 (cancel-timer appt-timer)
e3c36780d566 (appt-display-format): Change default to'ignore, for backwards compatability.
Glenn Morris <rgm@gnu.org>
parents: 53643
diff changeset
703 (setq appt-timer nil))
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
704 (when appt-active
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
705 (add-hook 'write-file-functions 'appt-update-list)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
706 (setq appt-timer (run-at-time t 60 'appt-check)
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
707 global-mode-string
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
708 (append global-mode-string '(appt-mode-string)))
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
709 (appt-check t))))
23112
81052242dbce (appt-mode-string): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 17624
diff changeset
710
53556
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
711
68254590be55 Update copyright and commentary.
Glenn Morris <rgm@gnu.org>
parents: 53549
diff changeset
712 (provide 'appt)
179
b88e2c9f0f5b Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
713
65840
df9b548f3218 (appt-time-regexp): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 64085
diff changeset
714 ;; arch-tag: bf5791c4-8921-499e-a26f-772b1788d347
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 179
diff changeset
715 ;;; appt.el ends here