Mercurial > emacs
annotate lib-src/digest-doc.c @ 3882:a0b9347a3973
Separate parameter faces (those created and modified by the user)
from the computed faces (the combinations created by
compute_char_face), so that we don't waste global face id's.
* xterm.h (struct x_display): Replace the fields faces and n_faces
with fields param_faces, n_param_faces, computed_faces,
n_computed_faces, and size_computed_faces.
(FRAME_FACES, FRAME_N_FACES): Replaced by...
(FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES,
FRAME_N_PARAM_FACES): New macros.
* xfaces.c: Doc fixes.
(init_frame_faces): Call new_computed_face to create entries for
the default and mode line faces. Use the FRAME...PARAM_FACES
macros.
(free_frame_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Don't use the copy flag; all
parameter faces have real X resources, and all computed faces just
have copies. Free both the parameter and computed face arrays.
(new_computed_face): New function.
(intern_computed_face): Renamed from intern_frame_face; callers
changed. Call new_computed_face.
(ensure_face_ready, compute_char_face, compute_glyph_face): Use the
FRAME...PARAM_FACES macros.
(recompute_basic_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Produce the computed faces by
starting with the base faces and merging in the parameter faces.
(Fset_face_attribute_internal): Use the FRAME...PARAM_FACES
macros. Just call recompute_basic_faces if the default or mode
line faces have changed.
* xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros.
* xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros.
* dispextern.h (struct face): Remove the copy member. This is no
longer necessary; all computed faces are copies, and no parameter
faces are.
* xfaces.c (face_vector, nfaces, nfaces_allocated): Make these
static.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Tue, 22 Jun 1993 07:25:42 +0000 |
parents | bba832d91c66 |
children | dd3b83e4ceb0 |
rev | line source |
---|---|
9 | 1 /* Give this program DOCSTR.mm.nn as standard input |
2 and it outputs to standard output | |
3 a file of nroff output containing the doc strings. | |
4 | |
5 See also sorted-doc.c, which produces similar output | |
6 but in texinfo format and sorted by function/variable name. */ | |
7 | |
8 #include <stdio.h> | |
9 main () | |
10 { | |
11 register int ch; | |
12 register int notfirst = 0; | |
13 | |
14 printf (".TL\n"); | |
15 printf ("Command Summary for GNU Emacs\n"); | |
16 printf (".AU\nRichard M. Stallman\n"); | |
17 while ((ch = getchar ()) != EOF) | |
18 { | |
19 if (ch == '\037') | |
20 { | |
21 if (notfirst) | |
22 printf ("\n.DE"); | |
23 else | |
24 notfirst = 1; | |
25 | |
26 printf ("\n.SH\n"); | |
27 | |
28 ch = getchar (); | |
29 printf (ch == 'F' ? "Function " : "Variable "); | |
30 | |
31 while ((ch = getchar ()) != '\n') /* Changed this line */ | |
32 { | |
33 if (ch != EOF) | |
34 putchar (ch); | |
35 else | |
36 { | |
37 ungetc (ch, stdin); | |
38 break; | |
39 } | |
40 } | |
41 printf ("\n.DS L\n"); | |
42 } | |
43 else | |
44 putchar (ch); | |
45 } | |
46 return 0; | |
47 } |