diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-09-09 02:21:16 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-09-09 02:22:24 -0700 |
commit | 6e5d81ff4536ed117dfac269357c46dbdc1890c9 (patch) | |
tree | ce637dad553f16c3dab02720bee505c938416beb /src/termhooks.h | |
parent | 39dca94701de81d02c75316e32d67e3677bd685d (diff) | |
download | emacs-6e5d81ff4536ed117dfac269357c46dbdc1890c9.tar.gz |
Improvements for curved quotes on Linux consule
This should help Emacs work better out-of-the-box on Linux consoles,
which have only limited support for displaying Unicode characters.
Also, undo the recent change that caused text-quoting-style to
affect quote display on terminals, so that the two features are
independent. See Alan Mackenzie in:
http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
Finally, add a style parameter to startup--setup-quote-display,
so that this function can also be invoked after startup, with
different styles depending on user preference at the time.
* configure.ac: Check for linux/kd.h header.
* doc/emacs/display.texi (Text Display): Document quote display.
* doc/lispref/display.texi (Active Display Table):
* etc/NEWS:
* lisp/startup.el (startup--setup-quote-display, command-line):
text-quoting-style no longer affects quote display.
* doc/lispref/frames.texi (Terminal Parameters): Fix typo.
* lisp/international/mule-util.el (char-displayable-p):
* lisp/startup.el (startup--setup-quote-display):
On a text terminal supporting glyph codes, use the reported
glyph codes instead of the terminal coding system, as this
is more accurate on the Linux console.
* lisp/startup.el (startup--setup-quote-display):
New optional arg STYLE.
* src/fontset.c (Finternal_char_font):
Report glyph codes for a text terminal, if they are available.
Currently this is supported only for the Linux console.
* src/termhooks.h (struct terminal): New member glyph-code-table.
* src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
(calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
(terminal_glyph_code): New function.
Diffstat (limited to 'src/termhooks.h')
-rw-r--r-- | src/termhooks.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/termhooks.h b/src/termhooks.h index 168bc3510fa..88c62df7205 100644 --- a/src/termhooks.h +++ b/src/termhooks.h @@ -383,6 +383,11 @@ struct terminal the selection-values. */ Lisp_Object Vselection_alist; + /* If a char-table, this maps characters to terminal glyph codes. + If t, the mapping is not available. If nil, it is not known + whether the mapping is available. */ + Lisp_Object glyph_code_table; + /* All fields before `next_terminal' should be Lisp_Object and are traced by the GC. All fields afterwards are ignored by the GC. */ @@ -690,6 +695,7 @@ extern struct terminal *get_named_terminal (const char *); extern struct terminal *create_terminal (enum output_method, struct redisplay_interface *); extern void delete_terminal (struct terminal *); +extern Lisp_Object terminal_glyph_code (struct terminal *, int); /* The initial terminal device, created by initial_term_init. */ extern struct terminal *initial_terminal; |