summaryrefslogtreecommitdiff
path: root/src/termhooks.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-09-09 02:21:16 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2015-09-09 02:22:24 -0700
commit6e5d81ff4536ed117dfac269357c46dbdc1890c9 (patch)
treece637dad553f16c3dab02720bee505c938416beb /src/termhooks.h
parent39dca94701de81d02c75316e32d67e3677bd685d (diff)
downloademacs-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.h6
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;