diff options
| author | Jim Blandy | 1994-09-19 17:28:37 +0000 |
|---|---|---|
| committer | Jim Blandy | 1994-09-19 17:28:37 +0000 |
| commit | a45e35e17336f766e1ef2fe79a95e703d5d184b3 (patch) | |
| tree | 9be051267b2e44c310196b5fdb845776fe4dc02d /src | |
| parent | e39322d99f0b85a4325d7004e37d4d0723684c55 (diff) | |
| download | emacs-a45e35e17336f766e1ef2fe79a95e703d5d184b3.tar.gz emacs-a45e35e17336f766e1ef2fe79a95e703d5d184b3.zip | |
Add a new element to display tables controlling side-by-side
window borders.
* buffer.c (syms_of_buffer): Update doc string for
`buffer-display-table'.
* disptab.h (DISP_TABLE_SIZE): Bump to 262.
(DISP_BORDER_GLYPH): New accessor macro.
* xdisp.c (display_text_line): Consult the display table when
building side-by-side window borders.
Diffstat (limited to 'src')
| -rw-r--r-- | src/buffer.c | 6 | ||||
| -rw-r--r-- | src/disptab.h | 3 | ||||
| -rw-r--r-- | src/xdisp.c | 5 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/buffer.c b/src/buffer.c index e132f77da93..4239851b226 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -2776,7 +2776,7 @@ The display table is a vector created with `make-display-table'.\n\ | |||
| 2776 | The first 256 elements control how to display each possible text character.\n\ | 2776 | The first 256 elements control how to display each possible text character.\n\ |
| 2777 | Each value should be a vector of characters or nil;\n\ | 2777 | Each value should be a vector of characters or nil;\n\ |
| 2778 | nil means display the character in the default fashion.\n\ | 2778 | nil means display the character in the default fashion.\n\ |
| 2779 | The remaining five elements control the display of\n\ | 2779 | The remaining six elements control the display of\n\ |
| 2780 | the end of a truncated screen line (element 256, a single character);\n\ | 2780 | the end of a truncated screen line (element 256, a single character);\n\ |
| 2781 | the end of a continued line (element 257, a single character);\n\ | 2781 | the end of a continued line (element 257, a single character);\n\ |
| 2782 | the escape character used to display character codes in octal\n\ | 2782 | the escape character used to display character codes in octal\n\ |
| @@ -2784,7 +2784,9 @@ The remaining five elements control the display of\n\ | |||
| 2784 | the character used as an arrow for control characters (element 259,\n\ | 2784 | the character used as an arrow for control characters (element 259,\n\ |
| 2785 | a single character);\n\ | 2785 | a single character);\n\ |
| 2786 | the decoration indicating the presence of invisible lines (element 260,\n\ | 2786 | the decoration indicating the presence of invisible lines (element 260,\n\ |
| 2787 | a vector of characters).\n\ | 2787 | a vector of characters);\n\ |
| 2788 | the character used to draw the border between side-by-side windows\n\ | ||
| 2789 | (element 261, a single character).;\n\ | ||
| 2788 | If this variable is nil, the value of `standard-display-table' is used.\n\ | 2790 | If this variable is nil, the value of `standard-display-table' is used.\n\ |
| 2789 | Each window can have its own, overriding display table."); | 2791 | Each window can have its own, overriding display table."); |
| 2790 | #endif | 2792 | #endif |
diff --git a/src/disptab.h b/src/disptab.h index 235f6bf24fb..d22e52034c4 100644 --- a/src/disptab.h +++ b/src/disptab.h | |||
| @@ -19,12 +19,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ | |||
| 19 | 19 | ||
| 20 | /* Access the slots of a display-table, according to their purpose. */ | 20 | /* Access the slots of a display-table, according to their purpose. */ |
| 21 | 21 | ||
| 22 | #define DISP_TABLE_SIZE 261 | 22 | #define DISP_TABLE_SIZE 262 |
| 23 | #define DISP_TRUNC_GLYPH(dp) ((dp)->contents[256]) | 23 | #define DISP_TRUNC_GLYPH(dp) ((dp)->contents[256]) |
| 24 | #define DISP_CONTINUE_GLYPH(dp) ((dp)->contents[257]) | 24 | #define DISP_CONTINUE_GLYPH(dp) ((dp)->contents[257]) |
| 25 | #define DISP_ESCAPE_GLYPH(dp) ((dp)->contents[258]) | 25 | #define DISP_ESCAPE_GLYPH(dp) ((dp)->contents[258]) |
| 26 | #define DISP_CTRL_GLYPH(dp) ((dp)->contents[259]) | 26 | #define DISP_CTRL_GLYPH(dp) ((dp)->contents[259]) |
| 27 | #define DISP_INVIS_VECTOR(dp) ((dp)->contents[260]) | 27 | #define DISP_INVIS_VECTOR(dp) ((dp)->contents[260]) |
| 28 | #define DISP_BORDER_GLYPH(dp) ((dp)->contents[261]) | ||
| 28 | #define DISP_CHAR_VECTOR(dp, c) ((dp)->contents[c]) | 29 | #define DISP_CHAR_VECTOR(dp, c) ((dp)->contents[c]) |
| 29 | 30 | ||
| 30 | extern struct Lisp_Vector *window_display_table (); | 31 | extern struct Lisp_Vector *window_display_table (); |
diff --git a/src/xdisp.c b/src/xdisp.c index 6f22c38f4d1..1ce0c58ae0d 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2504,7 +2504,10 @@ display_text_line (w, start, vpos, hpos, taboffset) | |||
| 2504 | them when the scroll bar windows are flickering around to be | 2504 | them when the scroll bar windows are flickering around to be |
| 2505 | reconfigured. */ | 2505 | reconfigured. */ |
| 2506 | *p1++ = (FRAME_HAS_VERTICAL_SCROLL_BARS (f) | 2506 | *p1++ = (FRAME_HAS_VERTICAL_SCROLL_BARS (f) |
| 2507 | ? ' ' : '|'); | 2507 | ? ' ' |
| 2508 | : (dp && INTEGERP (DISP_BORDER_GLYPH (dp)) | ||
| 2509 | ? DISP_BORDER_GLYPH (dp) | ||
| 2510 | : '|')); | ||
| 2508 | } | 2511 | } |
| 2509 | desired_glyphs->used[vpos] = max (desired_glyphs->used[vpos], | 2512 | desired_glyphs->used[vpos] = max (desired_glyphs->used[vpos], |
| 2510 | p1 - desired_glyphs->glyphs[vpos]); | 2513 | p1 - desired_glyphs->glyphs[vpos]); |