annotate src/s/sol2-3.h @ 50149:5d83d663737a

(struct glyph): Reduce face_id member from 22 to 21 bits (this reduces number of faces from 4M to 2M). Replace W32 specific w32_font_type member (2 bits) by generic font_type member (3 bits) for portability. (FONT_TYPE_UNKNOWN): New define, default for font_type member. (enum draw_glyphs_face): Define here. (struct glyph_string): Define here. Merge W32 and X versions. (struct redisplay_interface): New members per_char_metric, encode_char, compute_glyph_string_overhangs, draw_glyph_string. (VCENTER_BASELINE_OFFSET): Define here. (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs) (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
author Kim F. Storm <storm@cua.dk>
date Sun, 16 Mar 2003 20:45:20 +0000
parents 63fd40a97a75
children 695cf19ef79e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6840
25bdc55196ad Fix #include file name.
Richard M. Stallman <rms@gnu.org>
parents: 6104
diff changeset
1 #include "sol2.h"
5227
abf17036eb91 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
abf17036eb91 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3 /* Solaris 2.3 has a bug in XListFontsWithInfo. */
abf17036eb91 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 #define BROKEN_XLISTFONTSWITHINFO
6104
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
5
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
6 /* Override LD_SWITCH_SYSTEM: add -L /usr/ccs/lib to the sol2.h value. */
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
7
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
8 #undef LD_SWITCH_SYSTEM
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
9
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
10 #ifndef __GNUC__
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
11 #define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
12 #else /* GCC */
7356
55588e31b258 (LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents: 6840
diff changeset
13 /* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
55588e31b258 (LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents: 6840
diff changeset
14 has anything in it. It can be empty.
55588e31b258 (LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents: 6840
diff changeset
15 This works ok in src. Luckily lib-src does not use LD_SWITCH_SYSTEM. */
55588e31b258 (LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents: 6840
diff changeset
16 #define LD_SWITCH_SYSTEM -L /usr/ccs/lib \
55588e31b258 (LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly.
Richard M. Stallman <rms@gnu.org>
parents: 6840
diff changeset
17 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX`
6104
44fc65a7fc46 (LD_SWITCH_SYSTEM): New definitions, with #undef.
Richard M. Stallman <rms@gnu.org>
parents: 5227
diff changeset
18 #endif /* GCC */
8513
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
19
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
20 /* Info from fnf@cygnus.com suggests this is appropriate. */
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
21 #define POSIX_SIGNALS
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
22
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
23 /* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
24 #undef sigsetmask
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
25
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
26 /* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
27 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
28 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
29 (x<2) but I'm not sure. fnf@cygnus.com */
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
30 /* This sets the name of the slave side of the PTY. On SysVr4,
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
31 grantpt(3) forks a subprocess, so keep sigchld_handler() from
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
32 intercepting that death. If any child but grantpt's should die
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
33 within, it should be caught after sigrelse(2). */
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
34
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
35 #undef PTY_TTY_NAME_SPRINTF
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
36 #define PTY_TTY_NAME_SPRINTF \
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
37 { \
14055
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
38 char *ptsname (), *ptyname; \
8513
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
39 \
14055
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
40 sigblock (sigmask (SIGCLD)); \
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
41 if (grantpt (fd) == -1) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 14055
diff changeset
42 { emacs_close (fd); return -1; } \
14055
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
43 sigunblock (sigmask (SIGCLD)); \
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
44 if (unlockpt (fd) == -1) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 14055
diff changeset
45 { emacs_close (fd); return -1; } \
14055
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
46 if (!(ptyname = ptsname (fd))) \
26090
63fd40a97a75 s/usg5-4.h:
Paul Eggert <eggert@twinsun.com>
parents: 14055
diff changeset
47 { emacs_close (fd); return -1; } \
14055
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
48 strncpy (pty_name, ptyname, sizeof (pty_name)); \
df451c7f6820 (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
Karl Heuer <kwzh@gnu.org>
parents: 13708
diff changeset
49 pty_name[sizeof (pty_name) - 1] = 0; \
8513
d11ec52807d6 (POSIX_SIGNALS): Define it.
Richard M. Stallman <rms@gnu.org>
parents: 7356
diff changeset
50 }