summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-05-16 13:47:36 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2015-05-16 14:20:00 -0700
commit496bfe74990d6601d3584cb900643aa77d7b7a78 (patch)
tree5c3b87fc5e2f544da8fd5a2f0be127801928e95c
parente3c90430c1a8080fd95e3a1e17436403c076b312 (diff)
downloademacs-496bfe74990d6601d3584cb900643aa77d7b7a78.tar.gz
ASCIIfy curved quotes on displays lacking them
* lisp/international/mule-cmds.el (set-locale-environment): If curved quotes don't work, display straight ASCII approximations (Bug#20545).
-rw-r--r--lisp/international/mule-cmds.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index fd892aaefec..4b63cb8f565 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2708,6 +2708,14 @@ See also `locale-charset-language-names', `locale-language-names',
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)))
+ ;; If curved quotes don't work, display straight ASCII approximations.
+ (unless frame
+ (dolist (char-repl '((?‘ . [?\']) (?’ . [?\']) (?“ . [?\"]) (?” . [?\"])))
+ (when (not (char-displayable-p (car char-repl)))
+ (or standard-display-table
+ (setq standard-display-table (make-display-table)))
+ (aset standard-display-table (car char-repl) (cdr char-repl)))))
+
;; Default to A4 paper if we're not in a C, POSIX or US locale.
;; (See comments in Flocale_info.)
(unless frame