GNU Info

Info Node: (elisp)Display Table Format

(elisp)Display Table Format


Next: Active Display Table Up: Display Tables
Enter node , (file) or (file)node

Display Table Format
--------------------

   A display table is actually a char-table (Note: Char-Tables) with
`display-table' as its subtype.

 - Function: make-display-table
     This creates and returns a display table.  The table initially has
     `nil' in all elements.

   The ordinary elements of the display table are indexed by character
codes; the element at index C says how to display the character code C.
The value should be `nil' or a vector of glyph values (Note:
Glyphs).  If an element is `nil', it says to display that character
according to the usual display conventions (Note: Usual Display).

   If you use the display table to change the display of newline
characters, the whole buffer will be displayed as one long "line."

   The display table also has six "extra slots" which serve special
purposes.  Here is a table of their meanings; `nil' in any slot means
to use the default for that slot, as stated below.

0
     The glyph for the end of a truncated screen line (the default for
     this is `$').  Note: Glyphs.  Newer Emacs versions, on some
     platforms, display arrows to indicate truncation--the display
     table has no effect in these situations.

1
     The glyph for the end of a continued line (the default is `\').
     Newer Emacs versions, on some platforms, display curved arrows to
     indicate truncation--the display table has no effect in these
     situations.

2
     The glyph for indicating a character displayed as an octal
     character code (the default is `\').

3
     The glyph for indicating a control character (the default is `^').

4
     A vector of glyphs for indicating the presence of invisible lines
     (the default is `...').  Note: Selective Display.

5
     The glyph used to draw the border between side-by-side windows (the
     default is `|').  Note: Splitting Windows.  This takes effect
     only when there are no scroll bars; if scroll bars are supported
     and in use, a scroll bar separates the two windows.

   For example, here is how to construct a display table that mimics the
effect of setting `ctl-arrow' to a non-`nil' value:

     (setq disptab (make-display-table))
     (let ((i 0))
       (while (< i 32)
         (or (= i ?\t) (= i ?\n)
             (aset disptab i (vector ?^ (+ i 64))))
         (setq i (1+ i)))
       (aset disptab 127 (vector ?^ ??)))

 - Function: display-table-slot display-table slot
     This function returns the value of the extra slot SLOT of
     DISPLAY-TABLE.  The argument SLOT may be a number from 0 to 5
     inclusive, or a slot name (symbol).  Valid symbols are
     `truncation', `wrap', `escape', `control', `selective-display',
     and `vertical-border'.

 - Function: set-display-table-slot display-table slot value
     This function stores VALUE in the extra slot SLOT of
     DISPLAY-TABLE.  The argument SLOT may be a number from 0 to 5
     inclusive, or a slot name (symbol).  Valid symbols are
     `truncation', `wrap', `escape', `control', `selective-display',
     and `vertical-border'.

 - Function: describe-display-table display-table
     This function displays a description of the display table
     DISPLAY-TABLE in a help buffer.

 - Command: describe-current-display-table
     This command displays a description of the current display table
     in a help buffer.


automatically generated by info2www version 1.2.2.9