emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 183ad9d: terminal-init-w32console mimicks command-l


From: Paul Eggert
Subject: [Emacs-diffs] master 183ad9d: terminal-init-w32console mimicks command-line
Date: Tue, 01 Sep 2015 19:06:28 +0000

branch: master
commit 183ad9d59757314f93aed8a9fe512c8fb48a2ed1
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    terminal-init-w32console mimicks command-line
    
    Problem reported by Eli Zaretskii.
    * lisp/startup.el (startup--setup-quote-display):
    New function, refactored from a part of ‘command-line’.
    (command-line): Use it.
    * lisp/term/w32console.el (terminal-init-w32console):
    Use it, so that this function stays consistent with ‘command-line’.
---
 lisp/startup.el         |   17 ++++++++++-------
 lisp/term/w32console.el |    7 +------
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/lisp/startup.el b/lisp/startup.el
index 3e29739..2f90c8d 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -803,6 +803,15 @@ to prepare for opening the first frame (e.g. open a 
connection to an X server)."
 (defvar server-name)
 (defvar server-process)
 
+(defun startup--setup-quote-display ()
+  "If curved quotes don't work, display ASCII approximations."
+  (dolist (char-repl '((?‘ . ?\`) (?’ . ?\') (?“ . ?\") (?” . ?\")))
+    (when (not (char-displayable-p (car char-repl)))
+      (unless standard-display-table
+        (setq standard-display-table (make-display-table)))
+      (aset standard-display-table (car char-repl)
+            (vector (make-glyph-code (cdr char-repl) 'shadow))))))
+
 (defun command-line ()
   "A subroutine of `normal-top-level'.
 Amongst another things, it parses the command-line arguments."
@@ -1017,13 +1026,7 @@ please check its value")
                                '("no" "off" "false" "0")))))
     (setq no-blinking-cursor t))
 
-  ;; If curved quotes don't work, display ASCII approximations.
-  (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)
-            (vector (make-glyph-code (cdr char-repl) 'shadow)))))
+  (startup--setup-quote-display)
   (setq internal--text-quoting-flag t)
 
   ;; Re-evaluate predefined variables whose initial value depends on
diff --git a/lisp/term/w32console.el b/lisp/term/w32console.el
index 2df1378..5885685 100644
--- a/lisp/term/w32console.el
+++ b/lisp/term/w32console.el
@@ -68,12 +68,7 @@
           (if oem-o-cs-p oem-code-page-output-coding oem-code-page-coding))
           ;; Since we changed the terminal encoding, we need to repeat
           ;; the test for Unicode quotes being displayable.
-          (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))))))
+          (startup--setup-quote-display)))
   (let* ((colors w32-tty-standard-colors)
          (color (car colors)))
     (tty-color-clear)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]