Mercurial > emacs
changeset 979:268c7b5da35b
*** empty log message ***
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Wed, 12 Aug 1992 15:19:32 +0000 |
parents | 431569b4466b |
children | b62886fbf2a7 |
files | src/frame.h src/systime.h |
diffstat | 2 files changed, 114 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/src/frame.h Wed Aug 12 15:16:49 1992 +0000 +++ b/src/frame.h Wed Aug 12 15:19:32 1992 +0000 @@ -162,11 +162,11 @@ #define FRAMEP(f) (XTYPE(f) == Lisp_Frame) #define FRAME_LIVE_P(f) ((f)->display.nothing != 0) -#define FRAME_IS_TERMCAP(f) ((f)->output_method == output_termcap) -#define FRAME_IS_X(f) ((f)->output_method == output_x_window) +#define FRAME_TERMCAP_P(f) ((f)->output_method == output_termcap) +#define FRAME_X_P(f) ((f)->output_method == output_x_window) #define FRAME_MINIBUF_ONLY_P(f) \ EQ (FRAME_ROOT_WINDOW (f), FRAME_MINIBUF_WINDOW (f)) -#define FRAME_HAS_MINIBUF(f) ((f)->has_minibuffer) +#define FRAME_HAS_MINIBUF_P(f) ((f)->has_minibuffer) #define FRAME_CURRENT_GLYPHS(f) (f)->current_glyphs #define FRAME_DESIRED_GLYPHS(f) (f)->desired_glyphs #define FRAME_TEMP_GLYPHS(f) (f)->temp_glyphs @@ -262,10 +262,10 @@ #define FRAMEP(f) (XTYPE(f) == Lisp_Frame) #define FRAME_LIVE_P(f) 1 -#define FRAME_IS_TERMCAP(f) 1 -#define FRAME_IS_X(f) 0 +#define FRAME_TERMCAP_P(f) 1 +#define FRAME_X_P(f) 0 #define FRAME_MINIBUF_ONLY_P(f) 0 -#define FRAME_HAS_MINIBUF(f) 1 +#define FRAME_HAS_MINIBUF_P(f) 1 #define FRAME_CURRENT_GLYPHS(f) the_only_frame.current_glyphs #define FRAME_DESIRED_GLYPHS(f) the_only_frame.desired_glyphs #define FRAME_TEMP_GLYPHS(f) the_only_frame.temp_glyphs @@ -293,8 +293,8 @@ #define FRAME_SCROLL_BOTTOM_VPOS(f) the_only_frame.scroll_bottom_vpos #define FRAME_FOCUS_FRAME(f) 0 -#define CHECK_FRAME(x, i) { ; } -#define CHECK_LIVE_FRAME(x, y) { ; } +#define CHECK_FRAME(x, i) do; while (0) +#define CHECK_LIVE_FRAME(x, y) do; while (0) /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a `for' loop which iterates over the elements of Vframe_list. The
--- a/src/systime.h Wed Aug 12 15:16:49 1992 +0000 +++ b/src/systime.h Wed Aug 12 15:19:32 1992 +0000 @@ -1,4 +1,4 @@ -/* systerm.h - System-dependent definitions for time manipulations. +/* systime.h - System-dependent definitions for time manipulations. Copyright (C) 1992 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -25,13 +25,14 @@ use this guard either not at all, or similarly. */ #ifndef _h_BSDTYPES #include <time.h> -#endif -#else /* not NEED_TIME_H */ +#endif /* _h_BSDTYPES */ +#else /* ! defined (NEED_TIME_H) */ #ifdef HAVE_TIMEVAL #include <sys/time.h> -#endif /* HAVE_TIMEVAL */ -#endif /* not NEED_TIME_H */ +#endif /* ! defined (HAVE_TIMEVAL) */ +#endif /* ! defined (NEED_TIME_H) */ + /* EMACS_TIME is the type to use to represent temporal intervals - struct timeval on some systems, int on others. It can be passed as the timeout argument to the select () system call. @@ -97,7 +98,7 @@ || ((time).tv_sec == 0 \ && (time).tv_usec < 0)) -#else /* not def HAVE_TIMEVAL */ +#else /* ! defined (HAVE_TIMEVAL) */ #define EMACS_TIME int #define EMACS_SECS(time) (time) @@ -108,7 +109,7 @@ #define EMACS_SUB_TIME(dest, src1, src2) ((dest) = (src1) - (src2)) #define EMACS_TIME_NEG_P(t) ((t) < 0) -#endif /* def HAVE_TIMEVAL */ +#endif /* ! defined (HAVE_TIMEVAL) */ #define EMACS_SET_SECS_USECS(time, secs, usecs) \ (EMACS_SET_SECS (time, secs), EMACS_SET_USECS (time, usecs)) @@ -123,7 +124,7 @@ utime ((path), tv); \ } -#else +#else /* ! defined (USE_UTIME) */ #define EMACS_SET_UTIMES(path, atime, mtime) \ { \ @@ -133,4 +134,100 @@ utimes ((path), tv); \ } -#endif +#endif /* ! defined (USE_UTIME) */ + + + +/* EMACS_CURRENT_TIME_ZONE (int *OFFSET, int *SAVINGS_FLAG, + char *STANDARD_ABBR, char *SAVINGS_ABBR); + expands to a statement which stores information about the current + time zone in its arguments. + + *OFFSET is set to the number of minutes west of Greenwich at which + the site's time zone is located. This should describe the offset + to standard time only; if some sort of daylight savings time is in + effect, that should not affect this value. Note that the tm_gmtoff + member of the struct tm returned by localtime is adjusted for + daylight savings, so you don't want to use localtime to set + *OFFSET; gettimeofday does the right thing. + + *SAVINGS_FLAG is set to 1 if some sort of daylight savings time is + currently in effect, or 0 if no seasonal adjustment is currently + active. + + *STANDARD_ABBR points to an array of at least 10 characters, which + should be set to the standard abbreviation for the time zone name + when daylight savings time is not active. For example, EDT would + be appropriate for the Eastern time zone of the USA. + + *SAVINGS_ABBR points to an array of at least 10 characters, which + should be set to the standard abbreviation for the time zone name + when daylight savings time is active. For example, EST would be + appropriate for the Eastern time zone of the USA. + + If the operating system cannot provide all this information, then + this macro will not be defined. */ + + +/* The operating system configuration file can define + EMACS_CURRENT_TIME_ZONE. If not, we'll take a shot at it here. */ + +#ifndef EMACS_CURRENT_TIME_ZONE + +/* If we have timeval, then we have gettimeofday; that's half the battle. */ +#ifdef HAVE_TIMEVAL +#define EMACS_GET_TZ_OFFSET_AND_SAVINGS(offset, savings_flag) \ + do { \ + struct timeval dummy; \ + struct timezone zoneinfo; \ + \ + gettimeofday (&dummy, &zoneinfo); \ + *(offset) = zoneinfo.tz_minuteswest; \ + *(savings_flag) = zoneinfo.tz_dsttime; \ + } while (0) +#endif /* ! defined (HAVE_TIMEVAL) */ + + +/* The following sane systems have a tzname array. The timezone() function + is a stupid idea; timezone names can only be determined geographically, + not by Greenwich offset. */ +#if defined (ultrix) || defined (hpux) || defined (_AIX) + +#define EMACS_GET_TZ_NAMES(standard, savings) \ + do { \ + extern char *tzname[2]; \ + strcpy ((standard), tzname[0]); \ + strcpy ((savings), tzname[1]); \ + } while (0) + +#else /* ! defined (ultrix) || defined (hpux) || defined (_AIX) */ +/* If we are running SunOS, Mt. Xinu BSD, or MACH 2.5, these systems have a + timezone() function. */ +#if (defined (hp9000) && ! defined (hpux) && defined (unix)) || defined (MACH) || defined (sun) + +#define EMACS_GET_TZ_NAMES(standard, savings) \ + do { \ + struct timeval dummy; \ + struct timezone zoneinfo; \ + extern char *timezone (); \ + \ + gettimeofday (&dummy, &zoneinfo); \ + strcpy ((standard), timezone (zoneinfo.tz_minuteswest, 0)); \ + strcpy ((savings), timezone (zoneinfo.tz_minuteswest, 1)); \ + } while (0) + +#endif /* ! (defined (hp9000) && ! defined (hpux) && defined (unix)) || defined (MACH) || defined (sun) */ +#endif /* ! defined (ultrix) || defined (hpux) || defined (_AIX) */ + +/* If we can get all the information we need, let's define the macro! */ +#if defined (EMACS_GET_TZ_OFFSET_AND_SAVINGS) && defined (EMACS_GET_TZ_NAMES) + +#define EMACS_CURRENT_TIME_ZONE(offset, savings_flag, standard, savings)\ + do { \ + EMACS_GET_TZ_OFFSET_AND_SAVINGS (offset, savings_flag); \ + EMACS_GET_TZ_NAMES (standard, savings); \ + } while (0) + +#endif /* ! defined (EMACS_GET_TZ_OFFSET_AND_SAVINGS) && defined (EMACS_GET_TZ_NAMES) */ + +#endif /* EMACS_CURRENT_TIME_ZONE */