Mercurial > emacs
annotate src/systime.h @ 72367:12fa9bdadf0a
(allout-prior-bindings, allout-added-bindings): Remove, after long deprecation.
(allout-beginning-of-line-cycles, allout-end-of-line-cycles):
Add customization vars controlling allout-beginning-of-line and
allout-end-of-line conveniences.
(allout-header-prefix, allout-use-mode-specific-leader)
(allout-use-mode-specific-leader, allout-mode-leaders): Revised docstrings.
(allout-infer-header-lead): Change to be an alias for
allout-infer-header-lead-and-primary-bullet.
(allout-infer-header-lead-and-primary-bullet): New version of
allout-infer-header-lead which assigns the primary bullet to the
same as the header lead, when its being changed.
(allout-infer-body-reindent): Apply regexp-quote instead of unconditionally
prepending "\\", so that all literal allout-header-prefix and
allout-primary-bullet strings are properly handled.
(allout-add-resumptions): Add optional qualifier for extending or appending to
existing values, rather than replacing them.
(allout-view-change-hook): Clarify docstring.
(allout-exposure-change-hook): Take explicit arguments, via run-hook-with-args.
(allout-structure-added-hook, allout-structure-deleted-hook)
(allout-structure-shifted-hook): New hooks analogous to
allout-exposure-change-hook for other kinds of structural outline edits.
(allout-encryption-plaintext-sanitization-regexps): New encryption
customization variable, by which cooperating modes can provde massage of the
plaintext without actually being passed it.
(allout-encryption-ciphertext-rejection-regexps)
(allout-encryption-ciphertext-rejection-ceiling): New encryption
customization variables, by which cooperating modes can prohibit rare but
possible ciphertext patterns from fouling their operation, with actually being
passed the ciphertext.
(allout-mode): Run activation and deactivation hooks after the minor-mode
variable has been toggled, to clarify the mode disposition. The new encryption
ciphertext rejection variable is used to ensure that the ciphertext does not
contain text that would be recognized as outline structural elements by allout.
Substite allout-beginning-of-line and allout-end-of-line for conventionall
beginning-of-line and end-of-line bindings. If allout-old-style-prefixes is
non-nil, don't nullify it on mode activation!
(allout-beginning-of-line): Respect `allout-beginning-of-line-cycles'.
(allout-end-of-line): Respect `allout-end-of-line-cycles'.
(allout-chart-subtree): Implement new mode, charting only the visible items in
the subtree, when new 'visible' parameter is non-nil.
(allout-end-of-subtree): Properly handle the last item in the buffer.
(allout-pre-command-business, allout-command-counter): Increment an advertised
counter so that cooperating enhancements can track revisions of items.
(allout-open-topic): Run allout-structure-added-hook with suitable arguments.
(allout-shift-in): Run allout-structure-shifted-hook with suitable arguments.
(allout-shift-out): Fix doubling for negative args and ensure call of
allout-structure-shifted-hook by solely using allout-shift-in.
(allout-kill-line, allout-kill-topic): Run allout-structure-deleted-hook with
suitable arguments.
(allout-yank-processing): Run allout-structure-added-hook with proper arguments.
(allout-yank): Enclose activity in allout-unprotected.
(allout-flag-region): Run allout-exposure-change-hook with suitable arguments,
instead of making the callee infer the arguments.
(allout-encrypt-string): Support
allout-encryption-plaintext-sanitization-regexps,
allout-encryption-ciphertext-rejection-regexps, and
allout-encryption-ciphertext-rejection-ceiling. Indicate correct
en/decryption mode in symmetric encryption failure message.
(allout-obtain-passphrase): Use copy-sequence to get a distinct copy of the
passphrase, and don't zero it or we'll corrupt the stashed copy.
(allout-create-encryption-passphrase-verifier)
(allout-verify-passphrase): Respect the new signature for allout-encrypt-string.
(allout-get-configvar-values): Convenience for getting a configuration variable
value and handling its absence gracefully.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 12 Aug 2006 12:33:32 +0000 |
parents | 3bd95f4f2941 |
children | 132969301815 c5406394f567 |
rev | line source |
---|---|
979 | 1 /* systime.h - System-dependent definitions for time manipulations. |
64770
a0d1312ede66
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64084
diff
changeset
|
2 Copyright (C) 1993, 1994, 2002, 2003, 2004, |
68651
3bd95f4f2941
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
65764
diff
changeset
|
3 2005, 2006 Free Software Foundation, Inc. |
977 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
7 GNU Emacs is free software; you can redistribute it and/or modify | |
8 it under the terms of the GNU General Public License as published by | |
12244 | 9 the Free Software Foundation; either version 2, or (at your option) |
977 | 10 any later version. |
11 | |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with GNU Emacs; see the file COPYING. If not, write to | |
64084 | 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
20 Boston, MA 02110-1301, USA. */ | |
977 | 21 |
29559
80c2703cecd1
(EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
Dave Love <fx@gnu.org>
parents:
29442
diff
changeset
|
22 #ifndef EMACS_SYSTIME_H |
80c2703cecd1
(EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
Dave Love <fx@gnu.org>
parents:
29442
diff
changeset
|
23 #define EMACS_SYSTIME_H |
29442
e7dca295c541
Protect against multiple inclusion.
Dave Love <fx@gnu.org>
parents:
27149
diff
changeset
|
24 |
2803
ae964d7149a1
* systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents:
2740
diff
changeset
|
25 #ifdef TIME_WITH_SYS_TIME |
ae964d7149a1
* systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents:
2740
diff
changeset
|
26 #include <sys/time.h> |
ae964d7149a1
* systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents:
2740
diff
changeset
|
27 #include <time.h> |
ae964d7149a1
* systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents:
2740
diff
changeset
|
28 #else |
ae964d7149a1
* systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents:
2740
diff
changeset
|
29 #ifdef HAVE_SYS_TIME_H |
1128 | 30 #include <sys/time.h> |
31 #else | |
977 | 32 #include <time.h> |
1928
699033d79ee6
* systime.h [_AIX]: Move test outside of previous #if.
Jim Blandy <jimb@redhat.com>
parents:
1571
diff
changeset
|
33 #endif |
1112 | 34 #endif |
1128 | 35 |
3523
a9967fc643c5
[HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents:
2961
diff
changeset
|
36 #ifdef HAVE_TZNAME |
a9967fc643c5
[HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents:
2961
diff
changeset
|
37 #ifndef tzname /* For SGI. */ |
a9967fc643c5
[HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents:
2961
diff
changeset
|
38 extern char *tzname[]; /* RS6000 and others want it this way. */ |
a9967fc643c5
[HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents:
2961
diff
changeset
|
39 #endif |
a9967fc643c5
[HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents:
2961
diff
changeset
|
40 #endif |
a9967fc643c5
[HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents:
2961
diff
changeset
|
41 |
2123
41ea195f5ccb
* systime.h (timezone): Add an explicit declaration for this
Jim Blandy <jimb@redhat.com>
parents:
1928
diff
changeset
|
42 /* SVr4 doesn't actually declare this in its #include files. */ |
41ea195f5ccb
* systime.h (timezone): Add an explicit declaration for this
Jim Blandy <jimb@redhat.com>
parents:
1928
diff
changeset
|
43 #ifdef USG5_4 |
29442
e7dca295c541
Protect against multiple inclusion.
Dave Love <fx@gnu.org>
parents:
27149
diff
changeset
|
44 extern time_t timezone; |
2123
41ea195f5ccb
* systime.h (timezone): Add an explicit declaration for this
Jim Blandy <jimb@redhat.com>
parents:
1928
diff
changeset
|
45 #endif |
41ea195f5ccb
* systime.h (timezone): Add an explicit declaration for this
Jim Blandy <jimb@redhat.com>
parents:
1928
diff
changeset
|
46 |
2264
87934d212841
Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents:
2123
diff
changeset
|
47 #ifdef VMS |
87934d212841
Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents:
2123
diff
changeset
|
48 #ifdef VAXC |
87934d212841
Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents:
2123
diff
changeset
|
49 #include "vmstime.h" |
87934d212841
Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents:
2123
diff
changeset
|
50 #endif |
87934d212841
Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents:
2123
diff
changeset
|
51 #endif |
87934d212841
Some VMS changes from Richard Levitte <levitte@e.kth.se>:
Jim Blandy <jimb@redhat.com>
parents:
2123
diff
changeset
|
52 |
7691
21d7fb06e63a
If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents:
7307
diff
changeset
|
53 /* On some configurations (hpux8.0, X11R4), sys/time.h and X11/Xos.h |
21d7fb06e63a
If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents:
7307
diff
changeset
|
54 disagree about the name of the guard symbol. */ |
7694
92a4522c37fc
Make previous change limited to HPUX.
Richard M. Stallman <rms@gnu.org>
parents:
7691
diff
changeset
|
55 #ifdef HPUX |
7691
21d7fb06e63a
If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents:
7307
diff
changeset
|
56 #ifdef _STRUCT_TIMEVAL |
21d7fb06e63a
If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents:
7307
diff
changeset
|
57 #ifndef __TIMEVAL__ |
21d7fb06e63a
If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents:
7307
diff
changeset
|
58 #define __TIMEVAL__ |
21d7fb06e63a
If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents:
7307
diff
changeset
|
59 #endif |
21d7fb06e63a
If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents:
7307
diff
changeset
|
60 #endif |
7694
92a4522c37fc
Make previous change limited to HPUX.
Richard M. Stallman <rms@gnu.org>
parents:
7691
diff
changeset
|
61 #endif |
979 | 62 |
977 | 63 /* EMACS_TIME is the type to use to represent temporal intervals - |
64 struct timeval on some systems, int on others. It can be passed as | |
2550 | 65 the timeout argument to the select system call. |
977 | 66 |
67 EMACS_SECS (TIME) is an rvalue for the seconds component of TIME. | |
68 EMACS_SET_SECS (TIME, SECONDS) sets that to SECONDS. | |
69 | |
70 EMACS_HAS_USECS is defined iff EMACS_TIME has a usecs component. | |
2657 | 71 EMACS_USECS (TIME) is an rvalue for the microseconds component of TIME. |
72 This returns zero if EMACS_TIME doesn't have a microseconds component. | |
73 EMACS_SET_USECS (TIME, MICROSECONDS) sets that to MICROSECONDS. | |
74 This does nothing if EMACS_TIME doesn't have a microseconds component. | |
977 | 75 |
76 EMACS_SET_SECS_USECS (TIME, SECS, USECS) sets both components of TIME. | |
77 | |
78 EMACS_GET_TIME (TIME) stores the current system time in TIME, which | |
79 should be an lvalue. | |
80 | |
81 EMACS_ADD_TIME (DEST, SRC1, SRC2) adds SRC1 to SRC2 and stores the | |
82 result in DEST. SRC should not be negative. | |
83 | |
84 EMACS_SUB_TIME (DEST, SRC1, SRC2) subtracts SRC2 from SRC1 and | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46476
diff
changeset
|
85 stores the result in DEST. SRC should not be negative. |
977 | 86 EMACS_TIME_NEG_P (TIME) is true iff TIME is negative. |
87 | |
88 */ | |
89 | |
90 #ifdef HAVE_TIMEVAL | |
91 | |
2289
8317265b21dc
* systime.h (EMACS_HAS_USECS): #define this if HAVE_TIMEVAL is
Jim Blandy <jimb@redhat.com>
parents:
2264
diff
changeset
|
92 #define EMACS_HAS_USECS |
8317265b21dc
* systime.h (EMACS_HAS_USECS): #define this if HAVE_TIMEVAL is
Jim Blandy <jimb@redhat.com>
parents:
2264
diff
changeset
|
93 |
977 | 94 #define EMACS_TIME struct timeval |
95 #define EMACS_SECS(time) ((time).tv_sec + 0) | |
96 #define EMACS_USECS(time) ((time).tv_usec + 0) | |
97 #define EMACS_SET_SECS(time, seconds) ((time).tv_sec = (seconds)) | |
2657 | 98 #define EMACS_SET_USECS(time, microseconds) ((time).tv_usec = (microseconds)) |
977 | 99 |
5355
ad4092c38f51
(EMACS_GET_TIME) [USG5_4]: Give gettimeofday just one arg.
Richard M. Stallman <rms@gnu.org>
parents:
3523
diff
changeset
|
100 /* On SVR4, the compiler may complain if given this extra BSD arg. */ |
7949
19c2639826a7
(EMACS_GET_TIME): Test GETTIMEOFDAY_ONE_ARGUMENT, not USG5_4.
Richard M. Stallman <rms@gnu.org>
parents:
7694
diff
changeset
|
101 #ifdef GETTIMEOFDAY_ONE_ARGUMENT |
27149
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
102 #define EMACS_GET_TIME(time) gettimeofday (&(time)) |
7949
19c2639826a7
(EMACS_GET_TIME): Test GETTIMEOFDAY_ONE_ARGUMENT, not USG5_4.
Richard M. Stallman <rms@gnu.org>
parents:
7694
diff
changeset
|
103 #else /* not GETTIMEOFDAY_ONE_ARGUMENT */ |
29914
668a501f94a2
(EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use HAVE_STRUCT_TIMEZONE.
Dave Love <fx@gnu.org>
parents:
29559
diff
changeset
|
104 #ifdef HAVE_STRUCT_TIMEZONE |
27149
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
105 #define EMACS_GET_TIME(time) \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
106 do { \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
107 struct timezone dummy; \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
108 gettimeofday (&(time), &dummy); \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
109 } while (0) |
29914
668a501f94a2
(EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use HAVE_STRUCT_TIMEZONE.
Dave Love <fx@gnu.org>
parents:
29559
diff
changeset
|
110 #else |
668a501f94a2
(EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use HAVE_STRUCT_TIMEZONE.
Dave Love <fx@gnu.org>
parents:
29559
diff
changeset
|
111 /* Presumably the second arg is ignored. */ |
668a501f94a2
(EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use HAVE_STRUCT_TIMEZONE.
Dave Love <fx@gnu.org>
parents:
29559
diff
changeset
|
112 #define EMACS_GET_TIME(time) gettimeofday (&(time), NULL) |
668a501f94a2
(EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use HAVE_STRUCT_TIMEZONE.
Dave Love <fx@gnu.org>
parents:
29559
diff
changeset
|
113 #endif /* HAVE_STRUCT_TIMEZONE */ |
7949
19c2639826a7
(EMACS_GET_TIME): Test GETTIMEOFDAY_ONE_ARGUMENT, not USG5_4.
Richard M. Stallman <rms@gnu.org>
parents:
7694
diff
changeset
|
114 #endif /* not GETTIMEOFDAY_ONE_ARGUMENT */ |
977 | 115 |
27149
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
116 #define EMACS_ADD_TIME(dest, src1, src2) \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
117 do { \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
118 (dest).tv_sec = (src1).tv_sec + (src2).tv_sec; \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
119 (dest).tv_usec = (src1).tv_usec + (src2).tv_usec; \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
120 if ((dest).tv_usec > 1000000) \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
121 (dest).tv_usec -= 1000000, (dest).tv_sec++; \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
122 } while (0) |
977 | 123 |
27149
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
124 #define EMACS_SUB_TIME(dest, src1, src2) \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
125 do { \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
126 (dest).tv_sec = (src1).tv_sec - (src2).tv_sec; \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
127 (dest).tv_usec = (src1).tv_usec - (src2).tv_usec; \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
128 if ((dest).tv_usec < 0) \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
129 (dest).tv_usec += 1000000, (dest).tv_sec--; \ |
a3d16b780bb3
(EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents:
26644
diff
changeset
|
130 } while (0) |
977 | 131 |
132 #define EMACS_TIME_NEG_P(time) \ | |
6577
6b5eb178d1db
(EMACS_TIME_NEG_P): Cast to signed.
Karl Heuer <kwzh@gnu.org>
parents:
5355
diff
changeset
|
133 ((long)(time).tv_sec < 0 \ |
977 | 134 || ((time).tv_sec == 0 \ |
6577
6b5eb178d1db
(EMACS_TIME_NEG_P): Cast to signed.
Karl Heuer <kwzh@gnu.org>
parents:
5355
diff
changeset
|
135 && (long)(time).tv_usec < 0)) |
977 | 136 |
979 | 137 #else /* ! defined (HAVE_TIMEVAL) */ |
977 | 138 |
139 #define EMACS_TIME int | |
140 #define EMACS_SECS(time) (time) | |
999 | 141 #define EMACS_USECS(time) 0 |
977 | 142 #define EMACS_SET_SECS(time, seconds) ((time) = (seconds)) |
999 | 143 #define EMACS_SET_USECS(time, usecs) 0 |
977 | 144 |
145 #define EMACS_GET_TIME(t) ((t) = time ((long *) 0)) | |
146 #define EMACS_ADD_TIME(dest, src1, src2) ((dest) = (src1) + (src2)) | |
147 #define EMACS_SUB_TIME(dest, src1, src2) ((dest) = (src1) - (src2)) | |
148 #define EMACS_TIME_NEG_P(t) ((t) < 0) | |
149 | |
979 | 150 #endif /* ! defined (HAVE_TIMEVAL) */ |
977 | 151 |
152 #define EMACS_SET_SECS_USECS(time, secs, usecs) \ | |
153 (EMACS_SET_SECS (time, secs), EMACS_SET_USECS (time, usecs)) | |
154 | |
46476
2b7a72428d13
(set_file_times): Declaration updated.
Ken Raeburn <raeburn@raeburn.org>
parents:
35058
diff
changeset
|
155 extern int set_file_times __P ((const char *, EMACS_TIME, EMACS_TIME)); |
26641
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
156 |
65713
ad24f42046b1
* xlwmenu.c (find_next_selectable):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64770
diff
changeset
|
157 /* defined in keyboard.c */ |
ad24f42046b1
* xlwmenu.c (find_next_selectable):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64770
diff
changeset
|
158 extern void set_waiting_for_input __P ((EMACS_TIME *)); |
ad24f42046b1
* xlwmenu.c (find_next_selectable):
Dan Nicolaescu <dann@ics.uci.edu>
parents:
64770
diff
changeset
|
159 |
65764
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
160 /* When lisp.h is not included Lisp_Object is not defined (this can |
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
161 happen when this files is used outside the src directory). |
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
162 Use GCPRO1 to determine if lisp.h was included. */ |
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
163 #ifdef GCPRO1 |
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
164 /* defined in dired.c */ |
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
165 extern Lisp_Object make_time __P ((time_t)); |
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
166 #endif |
375ab086d366
* image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents:
65713
diff
changeset
|
167 |
26641
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
168 /* Compare times T1 and T2. Value is 0 if T1 and T2 are the same. |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
169 Value is < 0 if T1 is less than T2. Value is > 0 otherwise. */ |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
170 |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
171 #define EMACS_TIME_CMP(T1, T2) \ |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
172 (EMACS_SECS (T1) - EMACS_SECS (T2) \ |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
173 + (EMACS_SECS (T1) == EMACS_SECS (T2) \ |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
174 ? EMACS_USECS (T1) - EMACS_USECS (T2) \ |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
175 : 0)) |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
176 |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
177 /* Compare times T1 and T2 for equality, inequality etc. */ |
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
178 |
26644 | 179 #define EMACS_TIME_EQ(T1, T2) (EMACS_TIME_CMP (T1, T2) == 0) |
180 #define EMACS_TIME_NE(T1, T2) (EMACS_TIME_CMP (T1, T2) != 0) | |
181 #define EMACS_TIME_GT(T1, T2) (EMACS_TIME_CMP (T1, T2) > 0) | |
182 #define EMACS_TIME_GE(T1, T2) (EMACS_TIME_CMP (T1, T2) >= 0) | |
183 #define EMACS_TIME_LT(T1, T2) (EMACS_TIME_CMP (T1, T2) < 0) | |
184 #define EMACS_TIME_LE(T1, T2) (EMACS_TIME_CMP (T1, T2) <= 0) | |
26641
7947290d87b6
(EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents:
14186
diff
changeset
|
185 |
29559
80c2703cecd1
(EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
Dave Love <fx@gnu.org>
parents:
29442
diff
changeset
|
186 #endif /* EMACS_SYSTIME_H */ |
52401 | 187 |
188 /* arch-tag: dcb79915-cf99-4bce-9778-aade71d07651 | |
189 (do not change this comment) */ |