ErgoEmacsEmacsLispBlogEmacsLispBuy Tutorial
Web Hosting by 1&1

18.15 How Text Is Displayed

ASCII printing characters (octal codes 040 through 0176) in Emacs buffers are displayed with their graphics, as are non-ASCII multibyte printing characters (octal codes above 0400).

Some ASCII control characters are displayed in special ways. The newline character (octal code 012) is displayed by starting a new line. The tab character (octal code 011) is displayed by moving to the next tab stop column (normally every 8 columns). The number of spaces per tab is controlled by the variable tab-width, which must have an integer value between 1 and 1000, inclusive, and is made buffer-local by changing it. Note that how the tab character in the buffer is displayed has nothing to do with the definition of <TAB> as a command.

Other ASCII control characters are normally displayed as a caret (‘^’) followed by the non-control version of the character; thus, control-A is displayed as ‘^A’. The caret appears in face escape-glyph.

Non-ASCII characters 0200 through 0237 (octal) are displayed with octal escape sequences; thus, character code 0230 (octal) is displayed as ‘\230’. The backslash appears in face escape-glyph.

If the variable ctl-arrow is nil, control characters in the buffer are displayed with octal escape sequences, except for newline and tab. Altering the value of ctl-arrow makes it local to the current buffer; until that time, the default value is in effect. The default is initially t.

The display of character codes 0240 through 0377 (octal) may be either as escape sequences or as graphics. They do not normally occur in multibyte buffers, but if they do, they are displayed as Latin-1 graphics. In unibyte mode, if you enable European display they are displayed using their graphics (assuming your terminal supports them), otherwise as escape sequences. See Unibyte Mode.

Some character sets define “no-break” versions of the space and hyphen characters, which are used where a line should not be broken. Emacs normally displays these characters with special faces (respectively, nobreak-space and escape-glyph) to distinguish them from ordinary spaces and hyphens. You can turn off this feature by setting the variable nobreak-char-display to nil. If you set the variable to any other value, that means to prefix these characters with an escape character.

You can customize the way any particular character code is displayed by means of a display table. See Display Tables.

blog comments powered by Disqus