-;;; disp-table.el --- functions for dealing with char tables.
+;;; disp-table.el --- functions for dealing with char tables
;; Copyright (C) 1987, 1994, 1995, 1999 Free Software Foundation, Inc.
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
+;;; Commentary:
+
;;; Code:
(put 'display-table 'char-table-extra-slots 6)
(defun standard-display-default (l h)
"Display characters in the range L to H using the default notation."
(while (<= l h)
- (if (and (>= l ?\ ) (< l 127))
- (aset standard-display-table l nil)
- (aset standard-display-table l nil))
+ (if (and (>= l ?\ ) (char-valid-p l))
+ (aset standard-display-table l nil))
(setq l (1+ l))))
;; This function does NOT take terminal-dependent escape sequences.
(defun standard-display-underline (c uc)
"Display character C as character UC plus underlining."
(aset standard-display-table c
- (vector
+ (vector
(if window-system
(logior uc (lsh (face-id 'underline) 19))
(create-glyph (concat "\e[4m" (char-to-string uc) "\e[m"))))))
-;; Allocate a glyph code to display by sending STRING to the terminal.
;;;###autoload
(defun create-glyph (string)
+ "Allocate a glyph code to display by sending STRING to the terminal."
(if (= (length glyph-table) 65536)
(error "No free glyph codes remain"))
;; Don't use slots that correspond to ASCII characters.
(equal (aref standard-display-table 161) [161])))
(progn
(standard-display-default 160 255)
- (unless (or (memq window-system '(x w32))
- (interactive-p))
+ (unless (or (memq window-system '(x w32)))
(and (terminal-coding-system)
(set-terminal-coding-system nil))))
- ;; If the user does this explicitly from Lisp (as in .emacs),
- ;; turn off multibyte chars for more compatibility.
- (unless (interactive-p)
- (setq-default enable-multibyte-characters nil)
- (mapcar (lambda (buffer)
- (with-current-buffer buffer
- (if enable-multibyte-characters
- (set-buffer-multibyte nil))))
- (buffer-list)))
- ;; If the user does this explicitly,
- ;; switch to Latin-1 language environment
+ ;; Turn off multibyte chars for more compatibility.
+ (setq-default enable-multibyte-characters nil)
+
+ ;; Switch to Latin-1 language environment
;; unless some other has been specified.
- (unless (interactive-p)
- (if (equal current-language-environment "English")
- (set-language-environment "latin-1")))
- (unless (or noninteractive (memq window-system '(x w32))
- (interactive-p))
+ (if (equal current-language-environment "English")
+ (set-language-environment "latin-1"))
+ (unless (or noninteractive (memq window-system '(x w32)))
;; Send those codes literally to a character-based terminal.
;; If we are using single-byte characters,
;; it doesn't matter which coding system we use.