From: Paul Eggert Date: Tue, 1 Sep 2015 19:06:00 +0000 (-0700) Subject: terminal-init-w32console mimicks command-line X-Git-Tag: emacs-25.0.90~1228^2~6 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=183ad9d59757314f93aed8a9fe512c8fb48a2ed1;p=emacs.git 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’. --- diff --git a/lisp/startup.el b/lisp/startup.el index 3e2973981ec..2f90c8d861a 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 2df137839d0..58856858502 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)