aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/.gdbinit32
-rw-r--r--src/lisp.h4
-rw-r--r--src/s/usg5-3.h31
-rw-r--r--src/s/usg5-4.h4
-rw-r--r--src/systime.h4
-rw-r--r--src/systty.h1
-rw-r--r--src/xterm.h21
7 files changed, 68 insertions, 29 deletions
diff --git a/src/.gdbinit b/src/.gdbinit
index bffa48df534..28fe00672d4 100644
--- a/src/.gdbinit
+++ b/src/.gdbinit
@@ -9,8 +9,8 @@ Works only when an inferior emacs is executing.
9end 9end
10 10
11define xtype 11define xtype
12print (enum Lisp_Type) (($ >> 24) & 0x7f) 12output (enum Lisp_Type) (($ >> 24) & 0x7f)
13p $$ 13echo \n
14end 14end
15document xtype 15document xtype
16Print the type of $, assuming it is an Elisp value. 16Print the type of $, assuming it is an Elisp value.
@@ -32,12 +32,11 @@ end
32 32
33define xwindow 33define xwindow
34print (struct window *) ($ & 0x00ffffff) 34print (struct window *) ($ & 0x00ffffff)
35print ($->left)@4 35printf "%dx%d+%d+%d\n", $->width, $->height, $->left, $->top
36print $$
37end 36end
38document xwindow 37document xwindow
39Print $ as a window pointer, assuming it is an Elisp window value. 38Print $ as a window pointer, assuming it is an Elisp window value.
40Print the window's position as { left, top, height, width }. 39Print the window's position as "WIDTHxHEIGHT+LEFT+TOP".
41end 40end
42 41
43define xmarker 42define xmarker
@@ -49,8 +48,8 @@ end
49 48
50define xbuffer 49define xbuffer
51print (struct buffer *) ($ & 0x00ffffff) 50print (struct buffer *) ($ & 0x00ffffff)
52print &((struct Lisp_String *) (($->name) & 0x00ffffff))->data 51output &((struct Lisp_String *) (($->name) & 0x00ffffff))->data
53print $$ 52echo \n
54end 53end
55document xbuffer 54document xbuffer
56Set $ as a buffer pointer, assuming it is an Elisp buffer value. 55Set $ as a buffer pointer, assuming it is an Elisp buffer value.
@@ -59,8 +58,8 @@ end
59 58
60define xsymbol 59define xsymbol
61print (struct Lisp_Symbol *) ($ & 0x00ffffff) 60print (struct Lisp_Symbol *) ($ & 0x00ffffff)
62print &$->name->data 61output &$->name->data
63print $$ 62echo \n
64end 63end
65document xsymbol 64document xsymbol
66Print the name and address of the symbol $. 65Print the name and address of the symbol $.
@@ -69,8 +68,8 @@ end
69 68
70define xstring 69define xstring
71print (struct Lisp_String *) ($ & 0x00ffffff) 70print (struct Lisp_String *) ($ & 0x00ffffff)
72print ($->size > 10000) ? "big string" : ($->data[0])@($->size) 71output ($->size > 10000) ? "big string" : ($->data[0])@($->size)
73print $$ 72echo \n
74end 73end
75document xstring 74document xstring
76Print the contents and address of the string $. 75Print the contents and address of the string $.
@@ -78,9 +77,9 @@ This command assumes that $ is an Elisp string value.
78end 77end
79 78
80define xvector 79define xvector
81set $temp = (struct Lisp_Vector *) ($ & 0x00ffffff) 80print (struct Lisp_Vector *) ($ & 0x00ffffff)
82print ($temp->size > 10000) ? "big vector" : ($temp->contents[0])@($temp->size) 81output ($->size > 1000) ? "big vector" : ($->contents[0])@($->size)
83print $temp 82echo \n
84end 83end
85document xvector 84document xvector
86Print the contents and address of the vector $. 85Print the contents and address of the vector $.
@@ -96,8 +95,8 @@ end
96 95
97define xcons 96define xcons
98print (struct Lisp_Cons *) ($ & 0x00ffffff) 97print (struct Lisp_Cons *) ($ & 0x00ffffff)
99print *$ 98output *(struct Lisp_Cons *) ($ & 0x00ffffff)
100print $$ 99echo \n
101end 100end
102document xcons 101document xcons
103Print the contents of $, assuming it is an Elisp cons. 102Print the contents of $, assuming it is an Elisp cons.
@@ -121,6 +120,7 @@ set print pretty on
121 120
122unset environment TERMCAP 121unset environment TERMCAP
123unset environment TERM 122unset environment TERM
123echo TERMCAP and TERM environment variables unset.\n
124show environment DISPLAY 124show environment DISPLAY
125set args -q 125set args -q
126 126
diff --git a/src/lisp.h b/src/lisp.h
index 070ad977f0a..7c5f9dd5e0c 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -667,8 +667,8 @@ extern void defvar_int ();
667#define DEFVAR_LISP_NOPRO(lname, vname, doc) defvar_lisp_nopro (lname, vname) 667#define DEFVAR_LISP_NOPRO(lname, vname, doc) defvar_lisp_nopro (lname, vname)
668#define DEFVAR_BOOL(lname, vname, doc) defvar_bool (lname, vname) 668#define DEFVAR_BOOL(lname, vname, doc) defvar_bool (lname, vname)
669#define DEFVAR_INT(lname, vname, doc) defvar_int (lname, vname) 669#define DEFVAR_INT(lname, vname, doc) defvar_int (lname, vname)
670#define DEFVAR_PER_BUFFER(lname, vname, doc) \ 670#define DEFVAR_PER_BUFFER(lname, vname, type, doc) \
671 defvar_per_buffer (lname, vname) 671 defvar_per_buffer (lname, vname, type, 0)
672 672
673/* Structure for recording Lisp call stack for backtrace purposes */ 673/* Structure for recording Lisp call stack for backtrace purposes */
674 674
diff --git a/src/s/usg5-3.h b/src/s/usg5-3.h
index e098cfcd74f..305718d2e76 100644
--- a/src/s/usg5-3.h
+++ b/src/s/usg5-3.h
@@ -63,9 +63,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
63 63
64/* 64/*
65 * Define HAVE_SELECT if the system supports the `select' system call. 65 * Define HAVE_SELECT if the system supports the `select' system call.
66 * SVr3.2 X ports include an emulation.
66 */ 67 */
67 68
68/* #define HAVE_SELECT */ 69#ifdef HAVE_X_WINDOWS
70#define HAVE_SELECT
71#endif /* HAVE_X_WINDOWS */
69 72
70/* 73/*
71 * Define HAVE_PTYS if the system supports pty devices. 74 * Define HAVE_PTYS if the system supports pty devices.
@@ -192,24 +195,39 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
192 195
193#define ADDR_CORRECT(x) (x) 196#define ADDR_CORRECT(x) (x)
194 197
195/* Prevent -lg from being used for debugging. Not implemented? */
196
197#define LIBS_DEBUG
198
199/* Use terminfo instead of termcap. */ 198/* Use terminfo instead of termcap. */
200 199
201#define TERMINFO 200#define TERMINFO
202 201
202/* AT&T SVr3 X wants to be linked with shared libraries */
203
204#define LIB_X11_LIB -lX11_s
205
203/* X needs to talk on the network, so search the network library. */ 206/* X needs to talk on the network, so search the network library. */
204 207
205#define LIBX10_SYSTEM -lnsl_s 208#define LIBX10_SYSTEM -lnsl_s
206#define LIBX11_SYSTEM -lnsl_s 209#define LIBX11_SYSTEM -lnls -lnsl_s -lpt -lc_s
207 210
208/* Some variants have TIOCGETC, but the structures to go with it 211/* Some variants have TIOCGETC, but the structures to go with it
209 are not declared. */ 212 are not declared. */
210 213
211#define BROKEN_TIOCGETC 214#define BROKEN_TIOCGETC
212 215
216/* Some variants have TIOCGWINSZ, but the structures to go with it
217 are not declared. */
218
219#define BROKEN_TIOCGWINSZ
220
221/* SVr3 does not have utimes(2) */
222
223#define USE_UTIME
224
225/* If we're using the System V X port, BSD bstring functions will be handy */
226
227#ifdef HAVE_X_WINDOWS
228#define BSTRING
229#endif /* HAVE_X_WINDOWS */
230
213/* Enable support for shared libraries in unexec. */ 231/* Enable support for shared libraries in unexec. */
214 232
215#define USG_SHARED_LIBRARIES 233#define USG_SHARED_LIBRARIES
@@ -217,4 +235,3 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
217/* On USG systems signal handlers return void */ 235/* On USG systems signal handlers return void */
218 236
219#define SIGTYPE void 237#define SIGTYPE void
220
diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h
index c977bb1c978..f94b5251e29 100644
--- a/src/s/usg5-4.h
+++ b/src/s/usg5-4.h
@@ -68,7 +68,7 @@ and this notice must be preserved on all copies. */
68#undef SIGIO 68#undef SIGIO
69#endif 69#endif
70 70
71/* libc has this stuff, but not utimes. */ 71/* libc has this stuff, but still not utimes. */
72 72
73#define HAVE_RENAME 73#define HAVE_RENAME
74#define HAVE_SELECT 74#define HAVE_SELECT
@@ -77,8 +77,6 @@ and this notice must be preserved on all copies. */
77#define HAVE_GETTIMEOFDAY 77#define HAVE_GETTIMEOFDAY
78#define HAVE_DUP2 78#define HAVE_DUP2
79 79
80#define USE_UTIME
81
82/* <sys/stat.h> *defines* stat(2) as a static function. If "static" 80/* <sys/stat.h> *defines* stat(2) as a static function. If "static"
83 * is blank, then many files will have a public definition for stat(2). 81 * is blank, then many files will have a public definition for stat(2).
84 */ 82 */
diff --git a/src/systime.h b/src/systime.h
index b5a850da1dc..9dab2deacfa 100644
--- a/src/systime.h
+++ b/src/systime.h
@@ -102,7 +102,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
102 102
103#define EMACS_TIME int 103#define EMACS_TIME int
104#define EMACS_SECS(time) (time) 104#define EMACS_SECS(time) (time)
105#define EMACS_USECS(time) 0
105#define EMACS_SET_SECS(time, seconds) ((time) = (seconds)) 106#define EMACS_SET_SECS(time, seconds) ((time) = (seconds))
107#define EMACS_SET_USECS(time, usecs) 0
106 108
107#define EMACS_GET_TIME(t) ((t) = time ((long *) 0)) 109#define EMACS_GET_TIME(t) ((t) = time ((long *) 0))
108#define EMACS_ADD_TIME(dest, src1, src2) ((dest) = (src1) + (src2)) 110#define EMACS_ADD_TIME(dest, src1, src2) ((dest) = (src1) + (src2))
@@ -118,7 +120,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
118 120
119#define EMACS_SET_UTIMES(path, atime, mtime) \ 121#define EMACS_SET_UTIMES(path, atime, mtime) \
120 { \ 122 { \
121 struct time_t tv[2]; \ 123 time_t tv[2]; \
122 tv[0] = EMACS_SECS (atime); \ 124 tv[0] = EMACS_SECS (atime); \
123 tv[1] = EMACS_SECS (mtime); \ 125 tv[1] = EMACS_SECS (mtime); \
124 utime ((path), tv); \ 126 utime ((path), tv); \
diff --git a/src/systty.h b/src/systty.h
index 910810dc15d..662d6c090f2 100644
--- a/src/systty.h
+++ b/src/systty.h
@@ -169,6 +169,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
169 169
170/* Just ignore this for now and hope for the best */ 170/* Just ignore this for now and hope for the best */
171#define EMACS_GET_TTY_PGRP(fd, pgid) 0 171#define EMACS_GET_TTY_PGRP(fd, pgid) 0
172#define EMACS_SET_TTY_PGRP(fd, pgif) 0
172 173
173#endif 174#endif
174 175
diff --git a/src/xterm.h b/src/xterm.h
index bdce1c5aeb2..3adc4dc3572 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -40,6 +40,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
40#define MAXHEIGHT 80 40#define MAXHEIGHT 80
41 41
42#ifdef HAVE_X11 42#ifdef HAVE_X11
43
44/* It turns out that we can auto-detect whether we're being compiled
45 with X11R3 or X11R4 by looking for the flag macros for R4 structure
46 members that R3 doesn't have. */
47#ifdef PBaseSize
48#define HAVE_X11R4
49#endif
50
43#define PIX_TYPE unsigned long 51#define PIX_TYPE unsigned long
44#define XDISPLAY x_current_display, 52#define XDISPLAY x_current_display,
45#define XFlushQueue() XFlush(x_current_display) 53#define XFlushQueue() XFlush(x_current_display)
@@ -311,6 +319,19 @@ struct x_display
311 /* What kind of text cursor is drawn in this window right now? (If 319 /* What kind of text cursor is drawn in this window right now? (If
312 there is no cursor (phys_cursor_x < 0), then this means nothing. */ 320 there is no cursor (phys_cursor_x < 0), then this means nothing. */
313 enum text_cursor_kinds text_cursor_kind; 321 enum text_cursor_kinds text_cursor_kind;
322
323 /* These are the current window manager hints. It seems that
324 XSetWMHints, when presented with an unset bit in the `flags'
325 member of the hints structure, does not leave the corresponding
326 attribute unchanged; rather, it resets that attribute to its
327 default value. For example, unless you set the `icon_pixmap'
328 field and the `IconPixmapHint' bit, XSetWMHints will forget what
329 your icon pixmap was. This is rather troublesome, since some of
330 the members (for example, `input' and `icon_pixmap') want to stay
331 the same throughout the execution of Emacs. So, we keep this
332 structure around, just leaving values in it and adding new bits
333 to the mask as we go. */
334 XWMHints wm_hints;
314}; 335};
315 336
316/* When X windows are used, a glyf may be a 16 bit unsigned datum. 337/* When X windows are used, a glyf may be a 16 bit unsigned datum.