annotate src/systime.h @ 99492:ee792794d888

(isearch-search-fun): Compare the length of the current search string with the length of the string from the previous search state to detect the situation when the user adds or removes characters in the search string. Use word-search-forward-lax and word-search-backward-lax in this case, and otherwise word-search-forward and word-search-backward.
author Juri Linkov <juri@jurta.org>
date Tue, 11 Nov 2008 19:43:09 +0000
parents eaf4c07b3539
children e038c1a8307c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
979
268c7b5da35b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 978
diff changeset
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,
79759
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78501
diff changeset
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
10 (at your option) any later version.
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 79759
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
29559
80c2703cecd1 (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
Dave Love <fx@gnu.org>
parents: 29442
diff changeset
20 #ifndef EMACS_SYSTIME_H
80c2703cecd1 (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
Dave Love <fx@gnu.org>
parents: 29442
diff changeset
21 #define EMACS_SYSTIME_H
29442
e7dca295c541 Protect against multiple inclusion.
Dave Love <fx@gnu.org>
parents: 27149
diff changeset
22
2803
ae964d7149a1 * systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents: 2740
diff changeset
23 #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
24 #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
25 #include <time.h>
ae964d7149a1 * systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents: 2740
diff changeset
26 #else
ae964d7149a1 * systime.h: Borrow CPP sequence from getdate.y to include the
Jim Blandy <jimb@redhat.com>
parents: 2740
diff changeset
27 #ifdef HAVE_SYS_TIME_H
1128
2a2dabcf877b entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 1112
diff changeset
28 #include <sys/time.h>
2a2dabcf877b entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 1112
diff changeset
29 #else
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 #include <time.h>
1928
699033d79ee6 * systime.h [_AIX]: Move test outside of previous #if.
Jim Blandy <jimb@redhat.com>
parents: 1571
diff changeset
31 #endif
1112
1dba066c1e0a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 999
diff changeset
32 #endif
1128
2a2dabcf877b entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 1112
diff changeset
33
3523
a9967fc643c5 [HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents: 2961
diff changeset
34 #ifdef HAVE_TZNAME
a9967fc643c5 [HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents: 2961
diff changeset
35 #ifndef tzname /* For SGI. */
a9967fc643c5 [HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents: 2961
diff changeset
36 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
37 #endif
a9967fc643c5 [HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents: 2961
diff changeset
38 #endif
a9967fc643c5 [HAVE_TZNAME]: Declare tzname if not macro.
Richard M. Stallman <rms@gnu.org>
parents: 2961
diff changeset
39
2123
41ea195f5ccb * systime.h (timezone): Add an explicit declaration for this
Jim Blandy <jimb@redhat.com>
parents: 1928
diff changeset
40 /* 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
41 #ifdef USG5_4
29442
e7dca295c541 Protect against multiple inclusion.
Dave Love <fx@gnu.org>
parents: 27149
diff changeset
42 extern time_t timezone;
2123
41ea195f5ccb * systime.h (timezone): Add an explicit declaration for this
Jim Blandy <jimb@redhat.com>
parents: 1928
diff changeset
43 #endif
41ea195f5ccb * systime.h (timezone): Add an explicit declaration for this
Jim Blandy <jimb@redhat.com>
parents: 1928
diff changeset
44
7691
21d7fb06e63a If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
45 /* 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
46 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
47 #ifdef HPUX
7691
21d7fb06e63a If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
48 #ifdef _STRUCT_TIMEVAL
21d7fb06e63a If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
49 #ifndef __TIMEVAL__
21d7fb06e63a If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
50 #define __TIMEVAL__
21d7fb06e63a If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
51 #endif
21d7fb06e63a If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
Karl Heuer <kwzh@gnu.org>
parents: 7307
diff changeset
52 #endif
7694
92a4522c37fc Make previous change limited to HPUX.
Richard M. Stallman <rms@gnu.org>
parents: 7691
diff changeset
53 #endif
979
268c7b5da35b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 978
diff changeset
54
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 /* EMACS_TIME is the type to use to represent temporal intervals -
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 struct timeval on some systems, int on others. It can be passed as
2550
28bca94e66c3 Comment fixes.
Richard M. Stallman <rms@gnu.org>
parents: 2289
diff changeset
57 the timeout argument to the select system call.
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 EMACS_SECS (TIME) is an rvalue for the seconds component of TIME.
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 EMACS_SET_SECS (TIME, SECONDS) sets that to SECONDS.
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61
78501
1677cf1c2509 Replace `iff' in comments.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
62 EMACS_HAS_USECS is defined if EMACS_TIME has a usecs component.
2657
cddb75caa9c5 * systime.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 2550
diff changeset
63 EMACS_USECS (TIME) is an rvalue for the microseconds component of TIME.
cddb75caa9c5 * systime.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 2550
diff changeset
64 This returns zero if EMACS_TIME doesn't have a microseconds component.
cddb75caa9c5 * systime.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 2550
diff changeset
65 EMACS_SET_USECS (TIME, MICROSECONDS) sets that to MICROSECONDS.
cddb75caa9c5 * systime.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 2550
diff changeset
66 This does nothing if EMACS_TIME doesn't have a microseconds component.
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 EMACS_SET_SECS_USECS (TIME, SECS, USECS) sets both components of TIME.
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 EMACS_GET_TIME (TIME) stores the current system time in TIME, which
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 should be an lvalue.
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 EMACS_ADD_TIME (DEST, SRC1, SRC2) adds SRC1 to SRC2 and stores the
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 result in DEST. SRC should not be negative.
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 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
77 stores the result in DEST. SRC should not be negative.
78501
1677cf1c2509 Replace `iff' in comments.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
78 EMACS_TIME_NEG_P (TIME) is true if TIME is negative.
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 */
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 #ifdef HAVE_TIMEVAL
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83
2289
8317265b21dc * systime.h (EMACS_HAS_USECS): #define this if HAVE_TIMEVAL is
Jim Blandy <jimb@redhat.com>
parents: 2264
diff changeset
84 #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
85
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 #define EMACS_TIME struct timeval
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 #define EMACS_SECS(time) ((time).tv_sec + 0)
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 #define EMACS_USECS(time) ((time).tv_usec + 0)
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 #define EMACS_SET_SECS(time, seconds) ((time).tv_sec = (seconds))
2657
cddb75caa9c5 * systime.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 2550
diff changeset
90 #define EMACS_SET_USECS(time, microseconds) ((time).tv_usec = (microseconds))
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91
5355
ad4092c38f51 (EMACS_GET_TIME) [USG5_4]: Give gettimeofday just one arg.
Richard M. Stallman <rms@gnu.org>
parents: 3523
diff changeset
92 /* 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
93 #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
94 #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
95 #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
96 /* 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
97 #define EMACS_GET_TIME(time) gettimeofday (&(time), NULL)
7949
19c2639826a7 (EMACS_GET_TIME): Test GETTIMEOFDAY_ONE_ARGUMENT, not USG5_4.
Richard M. Stallman <rms@gnu.org>
parents: 7694
diff changeset
98 #endif /* not GETTIMEOFDAY_ONE_ARGUMENT */
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99
27149
a3d16b780bb3 (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents: 26644
diff changeset
100 #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
101 do { \
a3d16b780bb3 (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents: 26644
diff changeset
102 (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
103 (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
104 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
105 (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
106 } while (0)
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107
27149
a3d16b780bb3 (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents: 26644
diff changeset
108 #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
109 do { \
a3d16b780bb3 (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
Gerd Moellmann <gerd@gnu.org>
parents: 26644
diff changeset
110 (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
111 (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
112 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
113 (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
114 } while (0)
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 #define EMACS_TIME_NEG_P(time) \
6577
6b5eb178d1db (EMACS_TIME_NEG_P): Cast to signed.
Karl Heuer <kwzh@gnu.org>
parents: 5355
diff changeset
117 ((long)(time).tv_sec < 0 \
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118 || ((time).tv_sec == 0 \
6577
6b5eb178d1db (EMACS_TIME_NEG_P): Cast to signed.
Karl Heuer <kwzh@gnu.org>
parents: 5355
diff changeset
119 && (long)(time).tv_usec < 0))
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120
979
268c7b5da35b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 978
diff changeset
121 #else /* ! defined (HAVE_TIMEVAL) */
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123 #define EMACS_TIME int
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 #define EMACS_SECS(time) (time)
999
d8d503897aa5 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 979
diff changeset
125 #define EMACS_USECS(time) 0
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 #define EMACS_SET_SECS(time, seconds) ((time) = (seconds))
999
d8d503897aa5 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 979
diff changeset
127 #define EMACS_SET_USECS(time, usecs) 0
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 #define EMACS_GET_TIME(t) ((t) = time ((long *) 0))
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 #define EMACS_ADD_TIME(dest, src1, src2) ((dest) = (src1) + (src2))
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 #define EMACS_SUB_TIME(dest, src1, src2) ((dest) = (src1) - (src2))
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 #define EMACS_TIME_NEG_P(t) ((t) < 0)
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133
979
268c7b5da35b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 978
diff changeset
134 #endif /* ! defined (HAVE_TIMEVAL) */
977
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 #define EMACS_SET_SECS_USECS(time, secs, usecs) \
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 (EMACS_SET_SECS (time, secs), EMACS_SET_USECS (time, usecs))
2579e1f43daa Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138
46476
2b7a72428d13 (set_file_times): Declaration updated.
Ken Raeburn <raeburn@raeburn.org>
parents: 35058
diff changeset
139 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
140
65713
ad24f42046b1 * xlwmenu.c (find_next_selectable):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 64770
diff changeset
141 /* defined in keyboard.c */
ad24f42046b1 * xlwmenu.c (find_next_selectable):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 64770
diff changeset
142 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
143
65764
375ab086d366 * image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents: 65713
diff changeset
144 /* 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
145 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
146 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
147 #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
148 /* 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
149 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
150 #endif
375ab086d366 * image.c (slurp_file, xbm_read_bitmap_data): Cast to the correct
Dan Nicolaescu <dann@ics.uci.edu>
parents: 65713
diff changeset
151
26641
7947290d87b6 (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents: 14186
diff changeset
152 /* Compare times T1 and T2. Value is 0 if T1 and T2 are the same.
98503
eaf4c07b3539 (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
153 Value is < 0 if T1 is less than T2. Value is > 0 otherwise. (Cast
eaf4c07b3539 (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
154 to long is for those platforms where time_t is an unsigned
eaf4c07b3539 (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
155 type, and where otherwise T1 will always be grater than T2.) */
26641
7947290d87b6 (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents: 14186
diff changeset
156
98503
eaf4c07b3539 (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
157 #define EMACS_TIME_CMP(T1, T2) \
eaf4c07b3539 (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
158 ((long)EMACS_SECS (T1) - (long)EMACS_SECS (T2) \
eaf4c07b3539 (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
159 + (EMACS_SECS (T1) == EMACS_SECS (T2) \
eaf4c07b3539 (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
160 ? EMACS_USECS (T1) - EMACS_USECS (T2) \
26641
7947290d87b6 (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents: 14186
diff changeset
161 : 0))
7947290d87b6 (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents: 14186
diff changeset
162
7947290d87b6 (EMACS_TIME_CMP, EMACS_TIME_EQ, EMACS_TIME_NE)
Gerd Moellmann <gerd@gnu.org>
parents: 14186
diff changeset
163 /* 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
164
26644
14334ad07b74 Correct typo.
Gerd Moellmann <gerd@gnu.org>
parents: 26641
diff changeset
165 #define EMACS_TIME_EQ(T1, T2) (EMACS_TIME_CMP (T1, T2) == 0)
14334ad07b74 Correct typo.
Gerd Moellmann <gerd@gnu.org>
parents: 26641
diff changeset
166 #define EMACS_TIME_NE(T1, T2) (EMACS_TIME_CMP (T1, T2) != 0)
14334ad07b74 Correct typo.
Gerd Moellmann <gerd@gnu.org>
parents: 26641
diff changeset
167 #define EMACS_TIME_GT(T1, T2) (EMACS_TIME_CMP (T1, T2) > 0)
14334ad07b74 Correct typo.
Gerd Moellmann <gerd@gnu.org>
parents: 26641
diff changeset
168 #define EMACS_TIME_GE(T1, T2) (EMACS_TIME_CMP (T1, T2) >= 0)
14334ad07b74 Correct typo.
Gerd Moellmann <gerd@gnu.org>
parents: 26641
diff changeset
169 #define EMACS_TIME_LT(T1, T2) (EMACS_TIME_CMP (T1, T2) < 0)
14334ad07b74 Correct typo.
Gerd Moellmann <gerd@gnu.org>
parents: 26641
diff changeset
170 #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
171
29559
80c2703cecd1 (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
Dave Love <fx@gnu.org>
parents: 29442
diff changeset
172 #endif /* EMACS_SYSTIME_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
173
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
174 /* arch-tag: dcb79915-cf99-4bce-9778-aade71d07651
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
175 (do not change this comment) */