changeset 52402:9c467b1dba23

(standard-display-european-internal): Don't use char code for Latin-1 NBSP. <XFree86 4>: Unfrob NBSP display table. Set display table to use U+2018, U+2019 for `'. (select-safe-coding-system): Message fix.
author Dave Love <fx@gnu.org>
date Mon, 01 Sep 2003 18:14:22 +0000
parents 695cf19ef79e
children be9e6be9d6d7
files lisp/international/mule-cmds.el
diffstat 1 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/mule-cmds.el	Mon Sep 01 15:45:59 2003 +0000
+++ b/lisp/international/mule-cmds.el	Mon Sep 01 18:14:22 2003 +0000
@@ -1,4 +1,4 @@
-;;; mule-cmds.el --- commands for mulitilingual environment
+;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*-
 ;; Copyright (C) 1995, 2003 Electrotechnical Laboratory, JAPAN.
 ;; Licensed to the Free Software Foundation.
 ;; Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
@@ -887,7 +887,7 @@
 		(insert "\n")
 		(fill-region-as-paragraph pos (point)))
 	      (insert "Or specify any other coding system
-on your risk of losing the problematic characters.\n")))
+at the risk of losing the problematic characters.\n")))
 
 	  ;; Read a coding system.
 	  (setq default-coding-system (or (car safe) (car codings)))
@@ -1800,7 +1800,7 @@
 	(aset standard-display-table 160 [32])
 	;; With luck, non-Latin-1 fonts are more recent and so don't
 	;; have this bug.
-	(aset standard-display-table 2208 [32]) ; Latin-1 NBSP
+	(aset standard-display-table (make-char 'latin-iso8859-1 160) [32])
 	;; Most Windows programs send out apostrophes as \222.  Most X fonts
 	;; don't contain a character at that position.  Map it to the ASCII
 	;; apostrophe.  [This is actually RIGHT SINGLE QUOTATION MARK,
@@ -1808,7 +1808,21 @@
 	;; fonts probably have the appropriate glyph at this position,
 	;; so they could use standard-display-8bit.  It's better to use a
 	;; proper windows-1252 coding system.  --fx]
-	(aset standard-display-table 146 [39]))))
+	(aset standard-display-table 146 [39])
+	;; XFree86 4 has changed most of the fonts from their designed
+	;; versions such that `' no longer appears as balanced quotes.
+	;; Assume it has iso10646 fonts installed, so we can display
+	;; balanced quotes.
+	(when (and (eq window-system 'x)
+		   (string= "The XFree86 Project, Inc" (x-server-vendor))
+		   (> (aref (number-to-string (nth 2 (x-server-version))) 0)
+		      ?3))
+	  (aset standard-display-table ?' [?$,1ry(B])
+	  (aset standard-display-table ?` [?$,1rx(B])
+	  ;; The fonts don't have the relevant bug.
+	  (aset standard-display-table 160 nil)
+	  (aset standard-display-table (make-char 'latin-iso8859-1 160)
+		nil)))))
 
 (defun set-language-environment-coding-systems (language-name
 						&optional eol-type)