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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Give this program DOCSTR.mm.nn as standard input
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 and it outputs to standard output
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3 a file of nroff output containing the doc strings.
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 See also sorted-doc.c, which produces similar output
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 but in texinfo format and sorted by function/variable name. */
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 #include <stdio.h>
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 main ()
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 register int ch;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 register int notfirst = 0;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 printf (".TL\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 printf ("Command Summary for GNU Emacs\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 printf (".AU\nRichard M. Stallman\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 while ((ch = getchar ()) != EOF)
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 if (ch == '\037')
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 if (notfirst)
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 printf ("\n.DE");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 else
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 notfirst = 1;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 printf ("\n.SH\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 ch = getchar ();
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 printf (ch == 'F' ? "Function " : "Variable ");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 while ((ch = getchar ()) != '\n') /* Changed this line */
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 if (ch != EOF)
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 putchar (ch);
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 else
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 {
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 ungetc (ch, stdin);
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 break;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 printf ("\n.DS L\n");
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 else
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 putchar (ch);
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 }
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 return 0;
bba832d91c66 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 }