diff options
| author | Jim Blandy | 1992-08-12 15:19:32 +0000 |
|---|---|---|
| committer | Jim Blandy | 1992-08-12 15:19:32 +0000 |
| commit | 10a4cc6301e2975c1a7c52ea749092a69203b301 (patch) | |
| tree | 6fb74d2e6b7ce6eaee3e86e3b12736cc582cc0f5 /src | |
| parent | f469625ab752df672f5009f578aea9c3a4afc5ff (diff) | |
| download | emacs-10a4cc6301e2975c1a7c52ea749092a69203b301.tar.gz emacs-10a4cc6301e2975c1a7c52ea749092a69203b301.zip | |
*** empty log message ***
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.h | 16 | ||||
| -rw-r--r-- | src/systime.h | 117 |
2 files changed, 115 insertions, 18 deletions
diff --git a/src/frame.h b/src/frame.h index faf3000b2d2..da9722ab6bb 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -162,11 +162,11 @@ typedef struct frame *FRAME_PTR; | |||
| 162 | 162 | ||
| 163 | #define FRAMEP(f) (XTYPE(f) == Lisp_Frame) | 163 | #define FRAMEP(f) (XTYPE(f) == Lisp_Frame) |
| 164 | #define FRAME_LIVE_P(f) ((f)->display.nothing != 0) | 164 | #define FRAME_LIVE_P(f) ((f)->display.nothing != 0) |
| 165 | #define FRAME_IS_TERMCAP(f) ((f)->output_method == output_termcap) | 165 | #define FRAME_TERMCAP_P(f) ((f)->output_method == output_termcap) |
| 166 | #define FRAME_IS_X(f) ((f)->output_method == output_x_window) | 166 | #define FRAME_X_P(f) ((f)->output_method == output_x_window) |
| 167 | #define FRAME_MINIBUF_ONLY_P(f) \ | 167 | #define FRAME_MINIBUF_ONLY_P(f) \ |
| 168 | EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f)) | 168 | EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f)) |
| 169 | #define FRAME_HAS_MINIBUF(f) ((f)->has_minibuffer) | 169 | #define FRAME_HAS_MINIBUF_P(f) ((f)->has_minibuffer) |
| 170 | #define FRAME_CURRENT_GLYPHS(f) (f)->current_glyphs | 170 | #define FRAME_CURRENT_GLYPHS(f) (f)->current_glyphs |
| 171 | #define FRAME_DESIRED_GLYPHS(f) (f)->desired_glyphs | 171 | #define FRAME_DESIRED_GLYPHS(f) (f)->desired_glyphs |
| 172 | #define FRAME_TEMP_GLYPHS(f) (f)->temp_glyphs | 172 | #define FRAME_TEMP_GLYPHS(f) (f)->temp_glyphs |
| @@ -262,10 +262,10 @@ extern int message_buf_print; | |||
| 262 | 262 | ||
| 263 | #define FRAMEP(f) (XTYPE(f) == Lisp_Frame) | 263 | #define FRAMEP(f) (XTYPE(f) == Lisp_Frame) |
| 264 | #define FRAME_LIVE_P(f) 1 | 264 | #define FRAME_LIVE_P(f) 1 |
| 265 | #define FRAME_IS_TERMCAP(f) 1 | 265 | #define FRAME_TERMCAP_P(f) 1 |
| 266 | #define FRAME_IS_X(f) 0 | 266 | #define FRAME_X_P(f) 0 |
| 267 | #define FRAME_MINIBUF_ONLY_P(f) 0 | 267 | #define FRAME_MINIBUF_ONLY_P(f) 0 |
| 268 | #define FRAME_HAS_MINIBUF(f) 1 | 268 | #define FRAME_HAS_MINIBUF_P(f) 1 |
| 269 | #define FRAME_CURRENT_GLYPHS(f) the_only_frame.current_glyphs | 269 | #define FRAME_CURRENT_GLYPHS(f) the_only_frame.current_glyphs |
| 270 | #define FRAME_DESIRED_GLYPHS(f) the_only_frame.desired_glyphs | 270 | #define FRAME_DESIRED_GLYPHS(f) the_only_frame.desired_glyphs |
| 271 | #define FRAME_TEMP_GLYPHS(f) the_only_frame.temp_glyphs | 271 | #define FRAME_TEMP_GLYPHS(f) the_only_frame.temp_glyphs |
| @@ -293,8 +293,8 @@ extern int message_buf_print; | |||
| 293 | #define FRAME_SCROLL_BOTTOM_VPOS(f) the_only_frame.scroll_bottom_vpos | 293 | #define FRAME_SCROLL_BOTTOM_VPOS(f) the_only_frame.scroll_bottom_vpos |
| 294 | #define FRAME_FOCUS_FRAME(f) 0 | 294 | #define FRAME_FOCUS_FRAME(f) 0 |
| 295 | 295 | ||
| 296 | #define CHECK_FRAME(x, i) { ; } | 296 | #define CHECK_FRAME(x, i) do; while (0) |
| 297 | #define CHECK_LIVE_FRAME(x, y) { ; } | 297 | #define CHECK_LIVE_FRAME(x, y) do; while (0) |
| 298 | 298 | ||
| 299 | /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a | 299 | /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a |
| 300 | `for' loop which iterates over the elements of Vframe_list. The | 300 | `for' loop which iterates over the elements of Vframe_list. The |
diff --git a/src/systime.h b/src/systime.h index 38902ef62e6..b5a850da1dc 100644 --- a/src/systime.h +++ b/src/systime.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* systerm.h - System-dependent definitions for time manipulations. | 1 | /* systime.h - System-dependent definitions for time manipulations. |
| 2 | Copyright (C) 1992 Free Software Foundation, Inc. | 2 | Copyright (C) 1992 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| @@ -25,13 +25,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 25 | use this guard either not at all, or similarly. */ | 25 | use this guard either not at all, or similarly. */ |
| 26 | #ifndef _h_BSDTYPES | 26 | #ifndef _h_BSDTYPES |
| 27 | #include <time.h> | 27 | #include <time.h> |
| 28 | #endif | 28 | #endif /* _h_BSDTYPES */ |
| 29 | #else /* not NEED_TIME_H */ | 29 | #else /* ! defined (NEED_TIME_H) */ |
| 30 | #ifdef HAVE_TIMEVAL | 30 | #ifdef HAVE_TIMEVAL |
| 31 | #include <sys/time.h> | 31 | #include <sys/time.h> |
| 32 | #endif /* HAVE_TIMEVAL */ | 32 | #endif /* ! defined (HAVE_TIMEVAL) */ |
| 33 | #endif /* not NEED_TIME_H */ | 33 | #endif /* ! defined (NEED_TIME_H) */ |
| 34 | 34 | ||
| 35 | |||
| 35 | /* EMACS_TIME is the type to use to represent temporal intervals - | 36 | /* EMACS_TIME is the type to use to represent temporal intervals - |
| 36 | struct timeval on some systems, int on others. It can be passed as | 37 | struct timeval on some systems, int on others. It can be passed as |
| 37 | the timeout argument to the select () system call. | 38 | the timeout argument to the select () system call. |
| @@ -72,7 +73,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 72 | 73 | ||
| 73 | #define EMACS_GET_TIME(time) \ | 74 | #define EMACS_GET_TIME(time) \ |
| 74 | { \ | 75 | { \ |
| 75 | EMACS_TIME dummy; \ | 76 | struct timezone dummy; \ |
| 76 | gettimeofday (&(time), &dummy); \ | 77 | gettimeofday (&(time), &dummy); \ |
| 77 | } | 78 | } |
| 78 | 79 | ||
| @@ -97,7 +98,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 97 | || ((time).tv_sec == 0 \ | 98 | || ((time).tv_sec == 0 \ |
| 98 | && (time).tv_usec < 0)) | 99 | && (time).tv_usec < 0)) |
| 99 | 100 | ||
| 100 | #else /* not def HAVE_TIMEVAL */ | 101 | #else /* ! defined (HAVE_TIMEVAL) */ |
| 101 | 102 | ||
| 102 | #define EMACS_TIME int | 103 | #define EMACS_TIME int |
| 103 | #define EMACS_SECS(time) (time) | 104 | #define EMACS_SECS(time) (time) |
| @@ -108,7 +109,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 108 | #define EMACS_SUB_TIME(dest, src1, src2) ((dest) = (src1) - (src2)) | 109 | #define EMACS_SUB_TIME(dest, src1, src2) ((dest) = (src1) - (src2)) |
| 109 | #define EMACS_TIME_NEG_P(t) ((t) < 0) | 110 | #define EMACS_TIME_NEG_P(t) ((t) < 0) |
| 110 | 111 | ||
| 111 | #endif /* def HAVE_TIMEVAL */ | 112 | #endif /* ! defined (HAVE_TIMEVAL) */ |
| 112 | 113 | ||
| 113 | #define EMACS_SET_SECS_USECS(time, secs, usecs) \ | 114 | #define EMACS_SET_SECS_USECS(time, secs, usecs) \ |
| 114 | (EMACS_SET_SECS (time, secs), EMACS_SET_USECS (time, usecs)) | 115 | (EMACS_SET_SECS (time, secs), EMACS_SET_USECS (time, usecs)) |
| @@ -123,7 +124,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 123 | utime ((path), tv); \ | 124 | utime ((path), tv); \ |
| 124 | } | 125 | } |
| 125 | 126 | ||
| 126 | #else | 127 | #else /* ! defined (USE_UTIME) */ |
| 127 | 128 | ||
| 128 | #define EMACS_SET_UTIMES(path, atime, mtime) \ | 129 | #define EMACS_SET_UTIMES(path, atime, mtime) \ |
| 129 | { \ | 130 | { \ |
| @@ -133,4 +134,100 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 133 | utimes ((path), tv); \ | 134 | utimes ((path), tv); \ |
| 134 | } | 135 | } |
| 135 | 136 | ||
| 136 | #endif | 137 | #endif /* ! defined (USE_UTIME) */ |
| 138 | |||
| 139 | |||
| 140 | |||
| 141 | /* EMACS_CURRENT_TIME_ZONE (int *OFFSET, int *SAVINGS_FLAG, | ||
| 142 | char *STANDARD_ABBR, char *SAVINGS_ABBR); | ||
| 143 | expands to a statement which stores information about the current | ||
| 144 | time zone in its arguments. | ||
| 145 | |||
| 146 | *OFFSET is set to the number of minutes west of Greenwich at which | ||
| 147 | the site's time zone is located. This should describe the offset | ||
| 148 | to standard time only; if some sort of daylight savings time is in | ||
| 149 | effect, that should not affect this value. Note that the tm_gmtoff | ||
| 150 | member of the struct tm returned by localtime is adjusted for | ||
| 151 | daylight savings, so you don't want to use localtime to set | ||
| 152 | *OFFSET; gettimeofday does the right thing. | ||
| 153 | |||
| 154 | *SAVINGS_FLAG is set to 1 if some sort of daylight savings time is | ||
| 155 | currently in effect, or 0 if no seasonal adjustment is currently | ||
| 156 | active. | ||
| 157 | |||
| 158 | *STANDARD_ABBR points to an array of at least 10 characters, which | ||
| 159 | should be set to the standard abbreviation for the time zone name | ||
| 160 | when daylight savings time is not active. For example, EDT would | ||
| 161 | be appropriate for the Eastern time zone of the USA. | ||
| 162 | |||
| 163 | *SAVINGS_ABBR points to an array of at least 10 characters, which | ||
| 164 | should be set to the standard abbreviation for the time zone name | ||
| 165 | when daylight savings time is active. For example, EST would be | ||
| 166 | appropriate for the Eastern time zone of the USA. | ||
| 167 | |||
| 168 | If the operating system cannot provide all this information, then | ||
| 169 | this macro will not be defined. */ | ||
| 170 | |||
| 171 | |||
| 172 | /* The operating system configuration file can define | ||
| 173 | EMACS_CURRENT_TIME_ZONE. If not, we'll take a shot at it here. */ | ||
| 174 | |||
| 175 | #ifndef EMACS_CURRENT_TIME_ZONE | ||
| 176 | |||
| 177 | /* If we have timeval, then we have gettimeofday; that's half the battle. */ | ||
| 178 | #ifdef HAVE_TIMEVAL | ||
| 179 | #define EMACS_GET_TZ_OFFSET_AND_SAVINGS(offset, savings_flag) \ | ||
| 180 | do { \ | ||
| 181 | struct timeval dummy; \ | ||
| 182 | struct timezone zoneinfo; \ | ||
| 183 | \ | ||
| 184 | gettimeofday (&dummy, &zoneinfo); \ | ||
| 185 | *(offset) = zoneinfo.tz_minuteswest; \ | ||
| 186 | *(savings_flag) = zoneinfo.tz_dsttime; \ | ||
| 187 | } while (0) | ||
| 188 | #endif /* ! defined (HAVE_TIMEVAL) */ | ||
| 189 | |||
| 190 | |||
| 191 | /* The following sane systems have a tzname array. The timezone() function | ||
| 192 | is a stupid idea; timezone names can only be determined geographically, | ||
| 193 | not by Greenwich offset. */ | ||
| 194 | #if defined (ultrix) || defined (hpux) || defined (_AIX) | ||
| 195 | |||
| 196 | #define EMACS_GET_TZ_NAMES(standard, savings) \ | ||
| 197 | do { \ | ||
| 198 | extern char *tzname[2]; \ | ||
| 199 | strcpy ((standard), tzname[0]); \ | ||
| 200 | strcpy ((savings), tzname[1]); \ | ||
| 201 | } while (0) | ||
| 202 | |||
| 203 | #else /* ! defined (ultrix) || defined (hpux) || defined (_AIX) */ | ||
| 204 | /* If we are running SunOS, Mt. Xinu BSD, or MACH 2.5, these systems have a | ||
| 205 | timezone() function. */ | ||
| 206 | #if (defined (hp9000) && ! defined (hpux) && defined (unix)) || defined (MACH) || defined (sun) | ||
| 207 | |||
| 208 | #define EMACS_GET_TZ_NAMES(standard, savings) \ | ||
| 209 | do { \ | ||
| 210 | struct timeval dummy; \ | ||
| 211 | struct timezone zoneinfo; \ | ||
| 212 | extern char *timezone (); \ | ||
| 213 | \ | ||
| 214 | gettimeofday (&dummy, &zoneinfo); \ | ||
| 215 | strcpy ((standard), timezone (zoneinfo.tz_minuteswest, 0)); \ | ||
| 216 | strcpy ((savings), timezone (zoneinfo.tz_minuteswest, 1)); \ | ||
| 217 | } while (0) | ||
| 218 | |||
| 219 | #endif /* ! (defined (hp9000) && ! defined (hpux) && defined (unix)) || defined (MACH) || defined (sun) */ | ||
| 220 | #endif /* ! defined (ultrix) || defined (hpux) || defined (_AIX) */ | ||
| 221 | |||
| 222 | /* If we can get all the information we need, let's define the macro! */ | ||
| 223 | #if defined (EMACS_GET_TZ_OFFSET_AND_SAVINGS) && defined (EMACS_GET_TZ_NAMES) | ||
| 224 | |||
| 225 | #define EMACS_CURRENT_TIME_ZONE(offset, savings_flag, standard, savings)\ | ||
| 226 | do { \ | ||
| 227 | EMACS_GET_TZ_OFFSET_AND_SAVINGS (offset, savings_flag); \ | ||
| 228 | EMACS_GET_TZ_NAMES (standard, savings); \ | ||
| 229 | } while (0) | ||
| 230 | |||
| 231 | #endif /* ! defined (EMACS_GET_TZ_OFFSET_AND_SAVINGS) && defined (EMACS_GET_TZ_NAMES) */ | ||
| 232 | |||
| 233 | #endif /* EMACS_CURRENT_TIME_ZONE */ | ||