aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/term/x-win.el
diff options
context:
space:
mode:
authorDave Love <[email protected]>2002-10-30 19:26:23 +0000
committerDave Love <[email protected]>2002-10-30 19:26:23 +0000
commitcf07d2bdf6171ffeca13f071db7e8a7f883cda40 (patch)
tree5423304896fe5634f4e5316a06219144c91dc949 /lisp/term/x-win.el
parent7273faa10ea8479e33c0da758a9c7f8c68bdab65 (diff)
Remove some ancient compatibility code. Populate
x-keysym-table.
Diffstat (limited to 'lisp/term/x-win.el')
-rw-r--r--lisp/term/x-win.el909
1 files changed, 861 insertions, 48 deletions
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 5e74e053c0..41f3f88d00 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -1,9 +1,9 @@
-;;; x-win.el --- parse switches controlling interface with X window system
+;;; x-win.el --- parse relevant switches and set up for X -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 1993, 1994, 2001, 2002 Free Software Foundation, Inc.
;; Author: FSF
-;; Keywords: terminals
+;; Keywords: terminals, i18n
;; This file is part of GNU Emacs.
@@ -30,7 +30,7 @@
;; X display is opened and hooks are set for popping up the initial window.
;; startup.el will then examine startup files, and eventually call the hooks
-;; which create the first window (s).
+;; which create the first window(s).
;;; Code:
@@ -75,8 +75,7 @@
(require 'faces)
(require 'select)
(require 'menu-bar)
-(if (fboundp 'new-fontset)
- (require 'fontset))
+(require 'fontset)
(defvar x-invocation-args)
@@ -1199,10 +1198,14 @@ XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
(put 'return 'ascii-character 13)
(put 'escape 'ascii-character ?\e)
+
+;;;; Keysyms
+
(defun vendor-specific-keysyms (vendor)
"Return the appropriate value of system-key-alist for VENDOR.
VENDOR is a string containing the name of the X Server's vendor,
as returned by (x-server-vendor)."
+ ;; Fixme: Drop Apollo now?
(cond ((string-equal vendor "Apollo Computer Inc.")
'((65280 . linedel)
(65281 . chardel)
@@ -1246,6 +1249,7 @@ as returned by (x-server-vendor)."
(65395 . deletechar)
(65396 . backtab)
(65397 . kp-backtab)))
+ ;; Fixme: What about non-X11/NeWS sun server?
((or (string-equal vendor "X11/NeWS - Sun Microsystems Inc.")
(string-equal vendor "X Consortium"))
'((392976 . f36)
@@ -1262,6 +1266,826 @@ as returned by (x-server-vendor)."
;; This is used by DEC's X server.
'((65280 . remove)))))
+(let ((i 160))
+ (while (< i 256)
+ (puthash i (make-char 'latin-iso8859-1 i) x-keysym-table)
+ (setq i (1+ i))))
+
+;; Table from Kuhn's proposed additions to the `KEYSYM Encoding'
+;; appendix to the X protocol definition.
+(dolist
+ (pair
+ '(
+ ;; Latin-2
+ (#x1a1 . ?,B!(B)
+ (#x1a2 . ?,B"(B)
+ (#x1a3 . ?,B#(B)
+ (#x1a5 . ?,B%(B)
+ (#x1a6 . ?,B&(B)
+ (#x1a9 . ?,B)(B)
+ (#x1aa . ?,B*(B)
+ (#x1ab . ?,B+(B)
+ (#x1ac . ?,B,(B)
+ (#x1ae . ?,B.(B)
+ (#x1af . ?,B/(B)
+ (#x1b1 . ?,B1(B)
+ (#x1b2 . ?,B2(B)
+ (#x1b3 . ?,B3(B)
+ (#x1b5 . ?,B5(B)
+ (#x1b6 . ?,B6(B)
+ (#x1b7 . ?,B7(B)
+ (#x1b9 . ?,B9(B)
+ (#x1ba . ?,B:(B)
+ (#x1bb . ?,B;(B)
+ (#x1bc . ?,B<(B)
+ (#x1bd . ?,B=(B)
+ (#x1be . ?,B>(B)
+ (#x1bf . ?,B?(B)
+ (#x1c0 . ?,B@(B)
+ (#x1c3 . ?,BC(B)
+ (#x1c5 . ?,BE(B)
+ (#x1c6 . ?,BF(B)
+ (#x1c8 . ?,BH(B)
+ (#x1ca . ?,BJ(B)
+ (#x1cc . ?,BL(B)
+ (#x1cf . ?,BO(B)
+ (#x1d0 . ?,BP(B)
+ (#x1d1 . ?,BQ(B)
+ (#x1d2 . ?,BR(B)
+ (#x1d5 . ?,BU(B)
+ (#x1d8 . ?,BX(B)
+ (#x1d9 . ?,BY(B)
+ (#x1db . ?,B[(B)
+ (#x1de . ?,B^(B)
+ (#x1e0 . ?,B`(B)
+ (#x1e3 . ?,Bc(B)
+ (#x1e5 . ?,Be(B)
+ (#x1e6 . ?,Bf(B)
+ (#x1e8 . ?,Bh(B)
+ (#x1ea . ?,Bj(B)
+ (#x1ec . ?,Bl(B)
+ (#x1ef . ?,Bo(B)
+ (#x1f0 . ?,Bp(B)
+ (#x1f1 . ?,Bq(B)
+ (#x1f2 . ?,Br(B)
+ (#x1f5 . ?,Bu(B)
+ (#x1f8 . ?,Bx(B)
+ (#x1f9 . ?,By(B)
+ (#x1fb . ?,B{(B)
+ (#x1fe . ?,B~(B)
+ (#x1ff . ?,B(B)
+ ;; Latin-3
+ (#x2a1 . ?,C!(B)
+ (#x2a6 . ?,C&(B)
+ (#x2a9 . ?,C)(B)
+ (#x2ab . ?,C+(B)
+ (#x2ac . ?,C,(B)
+ (#x2b1 . ?,C1(B)
+ (#x2b6 . ?,C6(B)
+ (#x2b9 . ?,C9(B)
+ (#x2bb . ?,C;(B)
+ (#x2bc . ?,C<(B)
+ (#x2c5 . ?,CE(B)
+ (#x2c6 . ?,CF(B)
+ (#x2d5 . ?,CU(B)
+ (#x2d8 . ?,CX(B)
+ (#x2dd . ?,C](B)
+ (#x2de . ?,C^(B)
+ (#x2e5 . ?,Ce(B)
+ (#x2e6 . ?,Cf(B)
+ (#x2f5 . ?,Cu(B)
+ (#x2f8 . ?,Cx(B)
+ (#x2fd . ?,C}(B)
+ (#x2fe . ?,C~(B)
+ ;; Latin-4
+ (#x3a2 . ?,D"(B)
+ (#x3a3 . ?,D#(B)
+ (#x3a5 . ?,D%(B)
+ (#x3a6 . ?,D&(B)
+ (#x3aa . ?,D*(B)
+ (#x3ab . ?,D+(B)
+ (#x3ac . ?,D,(B)
+ (#x3b3 . ?,D3(B)
+ (#x3b5 . ?,D5(B)
+ (#x3b6 . ?,D6(B)
+ (#x3ba . ?,D:(B)
+ (#x3bb . ?,D;(B)
+ (#x3bc . ?,D<(B)
+ (#x3bd . ?,D=(B)
+ (#x3bf . ?,D?(B)
+ (#x3c0 . ?,D@(B)
+ (#x3c7 . ?,DG(B)
+ (#x3cc . ?,DL(B)
+ (#x3cf . ?,DO(B)
+ (#x3d1 . ?,DQ(B)
+ (#x3d2 . ?,DR(B)
+ (#x3d3 . ?,DS(B)
+ (#x3d9 . ?,DY(B)
+ (#x3dd . ?,D](B)
+ (#x3de . ?,D^(B)
+ (#x3e0 . ?,D`(B)
+ (#x3e7 . ?,Dg(B)
+ (#x3ec . ?,Dl(B)
+ (#x3ef . ?,Do(B)
+ (#x3f1 . ?,Dq(B)
+ (#x3f2 . ?,Dr(B)
+ (#x3f3 . ?,Ds(B)
+ (#x3f9 . ?,Dy(B)
+ (#x3fd . ?,D}(B)
+ (#x3fe . ?,D~(B)
+ ;; Kana: Fixme: needs conversion to Japanese charset -- seems
+ ;; to require jisx0213, for which the Unicode translation
+ ;; isn't clear.
+ (#x47e . ?$,1s>(B)
+ (#x4a1 . ?$,2=B(B)
+ (#x4a2 . ?\$,2=L(B)
+ (#x4a3 . ?\$,2=M(B)
+ (#x4a4 . ?$,2=A(B)
+ (#x4a5 . ?$,2?{(B)
+ (#x4a6 . ?$,2?r(B)
+ (#x4a7 . ?$,2?!(B)
+ (#x4a8 . ?$,2?#(B)
+ (#x4a9 . ?$,2?%(B)
+ (#x4aa . ?$,2?'(B)
+ (#x4ab . ?$,2?)(B)
+ (#x4ac . ?$,2?c(B)
+ (#x4ad . ?$,2?e(B)
+ (#x4ae . ?$,2?g(B)
+ (#x4af . ?$,2?C(B)
+ (#x4b0 . ?$,2?|(B)
+ (#x4b1 . ?$,2?"(B)
+ (#x4b2 . ?$,2?$(B)
+ (#x4b3 . ?$,2?&(B)
+ (#x4b4 . ?$,2?((B)
+ (#x4b5 . ?$,2?*(B)
+ (#x4b6 . ?$,2?+(B)
+ (#x4b7 . ?$,2?-(B)
+ (#x4b8 . ?$,2?/(B)
+ (#x4b9 . ?$,2?1(B)
+ (#x4ba . ?$,2?3(B)
+ (#x4bb . ?$,2?5(B)
+ (#x4bc . ?$,2?7(B)
+ (#x4bd . ?$,2?9(B)
+ (#x4be . ?$,2?;(B)
+ (#x4bf . ?$,2?=(B)
+ (#x4c0 . ?$,2??(B)
+ (#x4c1 . ?$,2?A(B)
+ (#x4c2 . ?$,2?D(B)
+ (#x4c3 . ?$,2?F(B)
+ (#x4c4 . ?$,2?H(B)
+ (#x4c5 . ?$,2?J(B)
+ (#x4c6 . ?$,2?K(B)
+ (#x4c7 . ?$,2?L(B)
+ (#x4c8 . ?$,2?M(B)
+ (#x4c9 . ?$,2?N(B)
+ (#x4ca . ?$,2?O(B)
+ (#x4cb . ?$,2?R(B)
+ (#x4cc . ?$,2?U(B)
+ (#x4cd . ?$,2?X(B)
+ (#x4ce . ?$,2?[(B)
+ (#x4cf . ?$,2?^(B)
+ (#x4d0 . ?$,2?_(B)
+ (#x4d1 . ?$,2?`(B)
+ (#x4d2 . ?$,2?a(B)
+ (#x4d3 . ?$,2?b(B)
+ (#x4d4 . ?$,2?d(B)
+ (#x4d5 . ?$,2?f(B)
+ (#x4d6 . ?$,2?h(B)
+ (#x4d7 . ?$,2?i(B)
+ (#x4d8 . ?$,2?j(B)
+ (#x4d9 . ?$,2?k(B)
+ (#x4da . ?$,2?l(B)
+ (#x4db . ?$,2?m(B)
+ (#x4dc . ?$,2?o(B)
+ (#x4dd . ?$,2?s(B)
+ (#x4de . ?$,2>{(B)
+ (#x4df . ?$,2>|(B)
+ ;; Arabic
+ (#x5ac . ?,G,(B)
+ (#x5bb . ?,G;(B)
+ (#x5bf . ?,G?(B)
+ (#x5c1 . ?,GA(B)
+ (#x5c2 . ?,GB(B)
+ (#x5c3 . ?,GC(B)
+ (#x5c4 . ?,GD(B)
+ (#x5c5 . ?,GE(B)
+ (#x5c6 . ?,GF(B)
+ (#x5c7 . ?,GG(B)
+ (#x5c8 . ?,GH(B)
+ (#x5c9 . ?,GI(B)
+ (#x5ca . ?,GJ(B)
+ (#x5cb . ?,GK(B)
+ (#x5cc . ?,GL(B)
+ (#x5cd . ?,GM(B)
+ (#x5ce . ?,GN(B)
+ (#x5cf . ?,GO(B)
+ (#x5d0 . ?,GP(B)
+ (#x5d1 . ?,GQ(B)
+ (#x5d2 . ?,GR(B)
+ (#x5d3 . ?,GS(B)
+ (#x5d4 . ?,GT(B)
+ (#x5d5 . ?,GU(B)
+ (#x5d6 . ?,GV(B)
+ (#x5d7 . ?,GW(B)
+ (#x5d8 . ?,GX(B)
+ (#x5d9 . ?,GY(B)
+ (#x5da . ?,GZ(B)
+ (#x5e0 . ?,G`(B)
+ (#x5e1 . ?,Ga(B)
+ (#x5e2 . ?,Gb(B)
+ (#x5e3 . ?,Gc(B)
+ (#x5e4 . ?,Gd(B)
+ (#x5e5 . ?,Ge(B)
+ (#x5e6 . ?,Gf(B)
+ (#x5e7 . ?,Gg(B)
+ (#x5e8 . ?,Gh(B)
+ (#x5e9 . ?,Gi(B)
+ (#x5ea . ?,Gj(B)
+ (#x5eb . ?,Gk(B)
+ (#x5ec . ?,Gl(B)
+ (#x5ed . ?,Gm(B)
+ (#x5ee . ?,Gn(B)
+ (#x5ef . ?,Go(B)
+ (#x5f0 . ?,Gp(B)
+ (#x5f1 . ?,Gq(B)
+ (#x5f2 . ?,Gr(B)
+ ;; Cyrillic
+ (#x6a1 . ?,Lr(B)
+ (#x6a2 . ?,Ls(B)
+ (#x6a3 . ?,Lq(B)
+ (#x6a4 . ?,Lt(B)
+ (#x6a5 . ?,Lu(B)
+ (#x6a6 . ?,Lv(B)
+ (#x6a7 . ?,Lw(B)
+ (#x6a8 . ?,Lx(B)
+ (#x6a9 . ?,Ly(B)
+ (#x6aa . ?,Lz(B)
+ (#x6ab . ?,L{(B)
+ (#x6ac . ?,L|(B)
+ (#x6ae . ?,L~(B)
+ (#x6af . ?,L(B)
+ (#x6b0 . ?,Lp(B)
+ (#x6b1 . ?,L"(B)
+ (#x6b2 . ?,L#(B)
+ (#x6b3 . ?,L!(B)
+ (#x6b4 . ?,L$(B)
+ (#x6b5 . ?,L%(B)
+ (#x6b6 . ?,L&(B)
+ (#x6b7 . ?,L'(B)
+ (#x6b8 . ?,L((B)
+ (#x6b9 . ?,L)(B)
+ (#x6ba . ?,L*(B)
+ (#x6bb . ?,L+(B)
+ (#x6bc . ?,L,(B)
+ (#x6be . ?,L.(B)
+ (#x6bf . ?,L/(B)
+ (#x6c0 . ?,Ln(B)
+ (#x6c1 . ?,LP(B)
+ (#x6c2 . ?,LQ(B)
+ (#x6c3 . ?,Lf(B)
+ (#x6c4 . ?,LT(B)
+ (#x6c5 . ?,LU(B)
+ (#x6c6 . ?,Ld(B)
+ (#x6c7 . ?,LS(B)
+ (#x6c8 . ?,Le(B)
+ (#x6c9 . ?,LX(B)
+ (#x6ca . ?,LY(B)
+ (#x6cb . ?,LZ(B)
+ (#x6cc . ?,L[(B)
+ (#x6cd . ?,L\(B)
+ (#x6ce . ?,L](B)
+ (#x6cf . ?,L^(B)
+ (#x6d0 . ?,L_(B)
+ (#x6d1 . ?,Lo(B)
+ (#x6d2 . ?,L`(B)
+ (#x6d3 . ?,La(B)
+ (#x6d4 . ?,Lb(B)
+ (#x6d5 . ?,Lc(B)
+ (#x6d6 . ?,LV(B)
+ (#x6d7 . ?,LR(B)
+ (#x6d8 . ?,Ll(B)
+ (#x6d9 . ?,Lk(B)
+ (#x6da . ?,LW(B)
+ (#x6db . ?,Lh(B)
+ (#x6dc . ?,Lm(B)
+ (#x6dd . ?,Li(B)
+ (#x6de . ?,Lg(B)
+ (#x6df . ?,Lj(B)
+ (#x6e0 . ?,LN(B)
+ (#x6e1 . ?,L0(B)
+ (#x6e2 . ?,L1(B)
+ (#x6e3 . ?,LF(B)
+ (#x6e4 . ?,L4(B)
+ (#x6e5 . ?,L5(B)
+ (#x6e6 . ?,LD(B)
+ (#x6e7 . ?,L3(B)
+ (#x6e8 . ?,LE(B)
+ (#x6e9 . ?,L8(B)
+ (#x6ea . ?,L9(B)
+ (#x6eb . ?,L:(B)
+ (#x6ec . ?,L;(B)
+ (#x6ed . ?,L<(B)
+ (#x6ee . ?,L=(B)
+ (#x6ef . ?,L>(B)
+ (#x6f0 . ?,L?(B)
+ (#x6f1 . ?,LO(B)
+ (#x6f2 . ?,L@(B)
+ (#x6f3 . ?,LA(B)
+ (#x6f4 . ?,LB(B)
+ (#x6f5 . ?,LC(B)
+ (#x6f6 . ?,L6(B)
+ (#x6f7 . ?,L2(B)
+ (#x6f8 . ?,LL(B)
+ (#x6f9 . ?,LK(B)
+ (#x6fa . ?,L7(B)
+ (#x6fb . ?,LH(B)
+ (#x6fc . ?,LM(B)
+ (#x6fd . ?,LI(B)
+ (#x6fe . ?,LG(B)
+ (#x6ff . ?,LJ(B)
+ ;; Greek
+ (#x7a1 . ?,F6(B)
+ (#x7a2 . ?,F8(B)
+ (#x7a3 . ?,F9(B)
+ (#x7a4 . ?,F:(B)
+ (#x7a5 . ?,FZ(B)
+ (#x7a7 . ?,F<(B)
+ (#x7a8 . ?,F>(B)
+ (#x7a9 . ?,F[(B)
+ (#x7ab . ?,F?(B)
+ (#x7ae . ?,F5(B)
+ (#x7af . ?,F/(B)
+ (#x7b1 . ?,F\(B)
+ (#x7b2 . ?,F](B)
+ (#x7b3 . ?,F^(B)
+ (#x7b4 . ?,F_(B)
+ (#x7b5 . ?,Fz(B)
+ (#x7b6 . ?,F@(B)
+ (#x7b7 . ?,F|(B)
+ (#x7b8 . ?,F}(B)
+ (#x7b9 . ?,F{(B)
+ (#x7ba . ?,F`(B)
+ (#x7bb . ?,F~(B)
+ (#x7c1 . ?,FA(B)
+ (#x7c2 . ?,FB(B)
+ (#x7c3 . ?,FC(B)
+ (#x7c4 . ?,FD(B)
+ (#x7c5 . ?,FE(B)
+ (#x7c6 . ?,FF(B)
+ (#x7c7 . ?,FG(B)
+ (#x7c8 . ?,FH(B)
+ (#x7c9 . ?,FI(B)
+ (#x7ca . ?,FJ(B)
+ (#x7cb . ?,FK(B)
+ (#x7cc . ?,FL(B)
+ (#x7cd . ?,FM(B)
+ (#x7ce . ?,FN(B)
+ (#x7cf . ?,FO(B)
+ (#x7d0 . ?,FP(B)
+ (#x7d1 . ?,FQ(B)
+ (#x7d2 . ?,FS(B)
+ (#x7d4 . ?,FT(B)
+ (#x7d5 . ?,FU(B)
+ (#x7d6 . ?,FV(B)
+ (#x7d7 . ?,FW(B)
+ (#x7d8 . ?,FX(B)
+ (#x7d9 . ?,FY(B)
+ (#x7e1 . ?,Fa(B)
+ (#x7e2 . ?,Fb(B)
+ (#x7e3 . ?,Fc(B)
+ (#x7e4 . ?,Fd(B)
+ (#x7e5 . ?,Fe(B)
+ (#x7e6 . ?,Ff(B)
+ (#x7e7 . ?,Fg(B)
+ (#x7e8 . ?,Fh(B)
+ (#x7e9 . ?,Fi(B)
+ (#x7ea . ?,Fj(B)
+ (#x7eb . ?,Fk(B)
+ (#x7ec . ?,Fl(B)
+ (#x7ed . ?,Fm(B)
+ (#x7ee . ?,Fn(B)
+ (#x7ef . ?,Fo(B)
+ (#x7f0 . ?,Fp(B)
+ (#x7f1 . ?,Fq(B)
+ (#x7f2 . ?,Fs(B)
+ (#x7f3 . ?,Fr(B)
+ (#x7f4 . ?,Ft(B)
+ (#x7f5 . ?,Fu(B)
+ (#x7f6 . ?,Fv(B)
+ (#x7f7 . ?,Fw(B)
+ (#x7f8 . ?,Fx(B)
+ (#x7f9 . ?,Fy(B)
+ ;; Technical
+ (#x8a1 . ?$,1|W(B)
+ (#x8a2 . ?$,2 ,(B)
+ (#x8a3 . ?$,2 (B)
+ (#x8a4 . ?$,1{ (B)
+ (#x8a5 . ?$,1{!(B)
+ (#x8a6 . ?$,2 "(B)
+ (#x8a7 . ?$,1|A(B)
+ (#x8a8 . ?$,1|C(B)
+ (#x8a9 . ?$,1|D(B)
+ (#x8aa . ?$,1|F(B)
+ (#x8ab . ?$,1|;(B)
+ (#x8ac . ?$,1|=(B)
+ (#x8ad . ?$,1|>(B)
+ (#x8ae . ?$,1|@(B)
+ (#x8af . ?$,1|H(B)
+ (#x8b0 . ?$,1|L(B)
+ (#x8bc . ?$,1y$(B)
+ (#x8bd . ?$,1y (B)
+ (#x8be . ?$,1y%(B)
+ (#x8bf . ?$,1xK(B)
+ (#x8c0 . ?$,1xT(B)
+ (#x8c1 . ?$,1x=(B)
+ (#x8c2 . ?$,1x>(B)
+ (#x8c5 . ?$,1x'(B)
+ (#x8c8 . ?$,1x\(B)
+ (#x8c9 . ?$,1xc(B)
+ (#x8cd . ?$,1wT(B)
+ (#x8ce . ?$,1wR(B)
+ (#x8cf . ?$,1y!(B)
+ (#x8d6 . ?$,1x:(B)
+ (#x8da . ?$,1yB(B)
+ (#x8db . ?$,1yC(B)
+ (#x8dc . ?$,1xI(B)
+ (#x8dd . ?$,1xJ(B)
+ (#x8de . ?$,1xG(B)
+ (#x8df . ?$,1xH(B)
+ (#x8ef . ?$,1x"(B)
+ (#x8f6 . ?$,1!R(B)
+ (#x8fb . ?$,1vp(B)
+ (#x8fc . ?$,1vq(B)
+ (#x8fd . ?$,1vr(B)
+ (#x8fe . ?$,1vs(B)
+ ;; Special
+ (#x9e0 . ?$,2"&(B)
+ (#x9e1 . ?$,2!R(B)
+ (#x9e2 . ?$,1}I(B)
+ (#x9e3 . ?$,1}L(B)
+ (#x9e4 . ?$,1}M(B)
+ (#x9e5 . ?$,1}J(B)
+ (#x9e8 . ?$,1}d(B)
+ (#x9e9 . ?$,1}K(B)
+ (#x9ea . ?$,2 8(B)
+ (#x9eb . ?$,2 0(B)
+ (#x9ec . ?$,2 ,(B)
+ (#x9ed . ?$,2 4(B)
+ (#x9ee . ?$,2 \(B)
+ (#x9ef . ?$,1|Z(B)
+ (#x9f0 . ?$,1|[(B)
+ (#x9f1 . ?$,2 (B)
+ (#x9f2 . ?$,1|\(B)
+ (#x9f3 . ?$,1|](B)
+ (#x9f4 . ?$,2 <(B)
+ (#x9f5 . ?$,2 D(B)
+ (#x9f6 . ?$,2 T(B)
+ (#x9f7 . ?$,2 L(B)
+ (#x9f8 . ?$,2 "(B)
+ ;; Publishing
+ (#xaa1 . ?$,1rc(B)
+ (#xaa2 . ?$,1rb(B)
+ (#xaa3 . ?$,1rd(B)
+ (#xaa4 . ?$,1re(B)
+ (#xaa5 . ?$,1rg(B)
+ (#xaa6 . ?$,1rh(B)
+ (#xaa7 . ?$,1ri(B)
+ (#xaa8 . ?$,1rj(B)
+ (#xaa9 . ?$,1rt(B)
+ (#xaaa . ?$,1rs(B)
+ (#xaae . ?$,1s&(B)
+ (#xaaf . ?$,1s%(B)
+ (#xab0 . ?$,1v3(B)
+ (#xab1 . ?$,1v4(B)
+ (#xab2 . ?$,1v5(B)
+ (#xab3 . ?$,1v6(B)
+ (#xab4 . ?$,1v7(B)
+ (#xab5 . ?$,1v8(B)
+ (#xab6 . ?$,1v9(B)
+ (#xab7 . ?$,1v:(B)
+ (#xab8 . ?$,1uE(B)
+ (#xabb . ?$,1rr(B)
+ (#xabc . ?$,1{)(B)
+ (#xabe . ?$,1{*(B)
+ (#xac3 . ?$,1v;(B)
+ (#xac4 . ?$,1v<(B)
+ (#xac5 . ?$,1v=(B)
+ (#xac6 . ?$,1v>(B)
+ (#xac9 . ?$,1ub(B)
+ (#xaca . ?$,2"s(B)
+ (#xacc . ?$,2"!(B)
+ (#xacd . ?$,2!w(B)
+ (#xace . ?$,2"+(B)
+ (#xacf . ?$,2!o(B)
+ (#xad0 . ?$,1rx(B)
+ (#xad1 . ?$,1ry(B)
+ (#xad2 . ?$,1r|(B)
+ (#xad3 . ?$,1r}(B)
+ (#xad4 . ?$,1u^(B)
+ (#xad6 . ?$,1s2(B)
+ (#xad7 . ?$,1s3(B)
+ (#xad9 . ?$,2%](B)
+ (#xadb . ?$,2!l(B)
+ (#xadc . ?$,2" (B)
+ (#xadd . ?$,2!v(B)
+ (#xade . ?$,2"/(B)
+ (#xadf . ?$,2!n(B)
+ (#xae0 . ?$,2"F(B)
+ (#xae1 . ?$,2!k(B)
+ (#xae2 . ?$,2!m(B)
+ (#xae3 . ?$,2!s(B)
+ (#xae4 . ?$,2!}(B)
+ (#xae5 . ?$,2"f(B)
+ (#xae6 . ?$,1s"(B)
+ (#xae7 . ?$,2!j(B)
+ (#xae8 . ?$,2!r(B)
+ (#xae9 . ?$,2!|(B)
+ (#xaea . ?$,2"|(B)
+ (#xaeb . ?$,2"~(B)
+ (#xaec . ?$,2#c(B)
+ (#xaed . ?$,2#f(B)
+ (#xaee . ?$,2#e(B)
+ (#xaf0 . ?$,2%`(B)
+ (#xaf1 . ?$,1s (B)
+ (#xaf2 . ?$,1s!(B)
+ (#xaf3 . ?$,2%S(B)
+ (#xaf4 . ?$,2%W(B)
+ (#xaf5 . ?$,2#o(B)
+ (#xaf6 . ?$,2#m(B)
+ (#xaf7 . ?$,2#B(B)
+ (#xaf8 . ?$,2#@(B)
+ (#xaf9 . ?$,2"n(B)
+ (#xafa . ?$,1zu(B)
+ (#xafb . ?$,1uW(B)
+ (#xafc . ?$,1s8(B)
+ (#xafd . ?$,1rz(B)
+ (#xafe . ?$,1r~(B)
+ ;; APL
+ (#xba3 . ?<)
+ (#xba6 . ?>)
+ (#xba8 . ?$,1xH(B)
+ (#xba9 . ?$,1xG(B)
+ (#xbc0 . ?,A/(B)
+ (#xbc2 . ?$,1ye(B)
+ (#xbc3 . ?$,1xI(B)
+ (#xbc4 . ?$,1zj(B)
+ (#xbc6 . ?_)
+ (#xbca . ?$,1x8(B)
+ (#xbcc . ?$,1|5(B)
+ (#xbce . ?$,1yd(B)
+ (#xbcf . ?$,2"+(B)
+ (#xbd3 . ?$,1zh(B)
+ (#xbd6 . ?$,1xJ(B)
+ (#xbd8 . ?$,1yC(B)
+ (#xbda . ?$,1yB(B)
+ (#xbdc . ?$,1yb(B)
+ (#xbfc . ?$,1yc(B)
+ ;; Hebrew
+ (#xcdf . ?,H_(B)
+ (#xce0 . ?,H`(B)
+ (#xce1 . ?,Ha(B)
+ (#xce2 . ?,Hb(B)
+ (#xce3 . ?,Hc(B)
+ (#xce4 . ?,Hd(B)
+ (#xce5 . ?,He(B)
+ (#xce6 . ?,Hf(B)
+ (#xce7 . ?,Hg(B)
+ (#xce8 . ?,Hh(B)
+ (#xce9 . ?,Hi(B)
+ (#xcea . ?,Hj(B)
+ (#xceb . ?,Hk(B)
+ (#xcec . ?,Hl(B)
+ (#xced . ?,Hm(B)
+ (#xcee . ?,Hn(B)
+ (#xcef . ?,Ho(B)
+ (#xcf0 . ?,Hp(B)
+ (#xcf1 . ?,Hq(B)
+ (#xcf2 . ?,Hr(B)
+ (#xcf3 . ?,Hs(B)
+ (#xcf4 . ?,Ht(B)
+ (#xcf5 . ?,Hu(B)
+ (#xcf6 . ?,Hv(B)
+ (#xcf7 . ?,Hw(B)
+ (#xcf8 . ?,Hx(B)
+ (#xcf9 . ?,Hy(B)
+ (#xcfa . ?,Hz(B)
+ ;; Thai
+ (#xda1 . ?,T!(B)
+ (#xda2 . ?,T"(B)
+ (#xda3 . ?,T#(B)
+ (#xda4 . ?,T$(B)
+ (#xda5 . ?,T%(B)
+ (#xda6 . ?,T&(B)
+ (#xda7 . ?,T'(B)
+ (#xda8 . ?,T((B)
+ (#xda9 . ?,T)(B)
+ (#xdaa . ?,T*(B)
+ (#xdab . ?,T+(B)
+ (#xdac . ?,T,(B)
+ (#xdad . ?,T-(B)
+ (#xdae . ?,T.(B)
+ (#xdaf . ?,T/(B)
+ (#xdb0 . ?,T0(B)
+ (#xdb1 . ?,T1(B)
+ (#xdb2 . ?,T2(B)
+ (#xdb3 . ?,T3(B)
+ (#xdb4 . ?,T4(B)
+ (#xdb5 . ?,T5(B)
+ (#xdb6 . ?,T6(B)
+ (#xdb7 . ?,T7(B)
+ (#xdb8 . ?,T8(B)
+ (#xdb9 . ?,T9(B)
+ (#xdba . ?,T:(B)
+ (#xdbb . ?,T;(B)
+ (#xdbc . ?,T<(B)
+ (#xdbd . ?,T=(B)
+ (#xdbe . ?,T>(B)
+ (#xdbf . ?,T?(B)
+ (#xdc0 . ?,T@(B)
+ (#xdc1 . ?,TA(B)
+ (#xdc2 . ?,TB(B)
+ (#xdc3 . ?,TC(B)
+ (#xdc4 . ?,TD(B)
+ (#xdc5 . ?,TE(B)
+ (#xdc6 . ?,TF(B)
+ (#xdc7 . ?,TG(B)
+ (#xdc8 . ?,TH(B)
+ (#xdc9 . ?,TI(B)
+ (#xdca . ?,TJ(B)
+ (#xdcb . ?,TK(B)
+ (#xdcc . ?,TL(B)
+ (#xdcd . ?,TM(B)
+ (#xdce . ?,TN(B)
+ (#xdcf . ?,TO(B)
+ (#xdd0 . ?,TP(B)
+ (#xdd1 . ?,TQ(B)
+ (#xdd2 . ?,TR(B)
+ (#xdd3 . ?,TS(B)
+ (#xdd4 . ?,TT(B)
+ (#xdd5 . ?,TU(B)
+ (#xdd6 . ?,TV(B)
+ (#xdd7 . ?,TW(B)
+ (#xdd8 . ?,TX(B)
+ (#xdd9 . ?,TY(B)
+ (#xdda . ?,TZ(B)
+ (#xddf . ?,T_(B)
+ (#xde0 . ?,T`(B)
+ (#xde1 . ?,Ta(B)
+ (#xde2 . ?,Tb(B)
+ (#xde3 . ?,Tc(B)
+ (#xde4 . ?,Td(B)
+ (#xde5 . ?,Te(B)
+ (#xde6 . ?,Tf(B)
+ (#xde7 . ?,Tg(B)
+ (#xde8 . ?,Th(B)
+ (#xde9 . ?,Ti(B)
+ (#xdea . ?,Tj(B)
+ (#xdeb . ?,Tk(B)
+ (#xdec . ?,Tl(B)
+ (#xded . ?,Tm(B)
+ (#xdf0 . ?,Tp(B)
+ (#xdf1 . ?,Tq(B)
+ (#xdf2 . ?,Tr(B)
+ (#xdf3 . ?,Ts(B)
+ (#xdf4 . ?,Tt(B)
+ (#xdf5 . ?,Tu(B)
+ (#xdf6 . ?,Tv(B)
+ (#xdf7 . ?,Tw(B)
+ (#xdf8 . ?,Tx(B)
+ (#xdf9 . ?,Ty(B)
+ ;; Korean
+ (#xea1 . ?$(C$!(B)
+ (#xea2 . ?$(C$"(B)
+ (#xea3 . ?$(C$#(B)
+ (#xea4 . ?$(C$$(B)
+ (#xea5 . ?$(C$%(B)
+ (#xea6 . ?$(C$&(B)
+ (#xea7 . ?$(C$'(B)
+ (#xea8 . ?$(C$((B)
+ (#xea9 . ?$(C$)(B)
+ (#xeaa . ?$(C$*(B)
+ (#xeab . ?$(C$+(B)
+ (#xeac . ?$(C$,(B)
+ (#xead . ?$(C$-(B)
+ (#xeae . ?$(C$.(B)
+ (#xeaf . ?$(C$/(B)
+ (#xeb0 . ?$(C$0(B)
+ (#xeb1 . ?$(C$1(B)
+ (#xeb2 . ?$(C$2(B)
+ (#xeb3 . ?$(C$3(B)
+ (#xeb4 . ?$(C$4(B)
+ (#xeb5 . ?$(C$5(B)
+ (#xeb6 . ?$(C$6(B)
+ (#xeb7 . ?$(C$7(B)
+ (#xeb8 . ?$(C$8(B)
+ (#xeb9 . ?$(C$9(B)
+ (#xeba . ?$(C$:(B)
+ (#xebb . ?$(C$;(B)
+ (#xebc . ?$(C$<(B)
+ (#xebd . ?$(C$=(B)
+ (#xebe . ?$(C$>(B)
+ (#xebf . ?$(C$?(B)
+ (#xec0 . ?$(C$@(B)
+ (#xec1 . ?$(C$A(B)
+ (#xec2 . ?$(C$B(B)
+ (#xec3 . ?$(C$C(B)
+ (#xec4 . ?$(C$D(B)
+ (#xec5 . ?$(C$E(B)
+ (#xec6 . ?$(C$F(B)
+ (#xec7 . ?$(C$G(B)
+ (#xec8 . ?$(C$H(B)
+ (#xec9 . ?$(C$I(B)
+ (#xeca . ?$(C$J(B)
+ (#xecb . ?$(C$K(B)
+ (#xecc . ?$(C$L(B)
+ (#xecd . ?$(C$M(B)
+ (#xece . ?$(C$N(B)
+ (#xecf . ?$(C$O(B)
+ (#xed0 . ?$(C$P(B)
+ (#xed1 . ?$(C$Q(B)
+ (#xed2 . ?$(C$R(B)
+ (#xed3 . ?$(C$S(B)
+ (#xed4 . ?$,1LH(B)
+ (#xed5 . ?$,1LI(B)
+ (#xed6 . ?$,1LJ(B)
+ (#xed7 . ?$,1LK(B)
+ (#xed8 . ?$,1LL(B)
+ (#xed9 . ?$,1LM(B)
+ (#xeda . ?$,1LN(B)
+ (#xedb . ?$,1LO(B)
+ (#xedc . ?$,1LP(B)
+ (#xedd . ?$,1LQ(B)
+ (#xede . ?$,1LR(B)
+ (#xedf . ?$,1LS(B)
+ (#xee0 . ?$,1LT(B)
+ (#xee1 . ?$,1LU(B)
+ (#xee2 . ?$,1LV(B)
+ (#xee3 . ?$,1LW(B)
+ (#xee4 . ?$,1LX(B)
+ (#xee5 . ?$,1LY(B)
+ (#xee6 . ?$,1LZ(B)
+ (#xee7 . ?$,1L[(B)
+ (#xee8 . ?$,1L\(B)
+ (#xee9 . ?$,1L](B)
+ (#xeea . ?$,1L^(B)
+ (#xeeb . ?$,1L_(B)
+ (#xeec . ?$,1L`(B)
+ (#xeed . ?$,1La(B)
+ (#xeee . ?$,1Lb(B)
+ (#xeef . ?$(C$](B)
+ (#xef0 . ?$(C$a(B)
+ (#xef1 . ?$(C$h(B)
+ (#xef2 . ?$(C$o(B)
+ (#xef3 . ?$(C$q(B)
+ (#xef4 . ?$(C$t(B)
+ (#xef5 . ?$(C$v(B)
+ (#xef6 . ?$(C$}(B)
+ (#xef7 . ?$(C$~(B)
+ (#xef8 . ?$,1M+(B)
+ (#xef9 . ?$,1M0(B)
+ (#xefa . ?$,1M9(B)
+ (#xeff . ?$,1tI(B)
+ ;; Latin-5
+ ;; Latin-6
+ ;; Latin-7
+ ;; Latin-8
+ ;; Latin-9
+ (#x13bc . ?,b<(B)
+ (#x13bd . ?,b=(B)
+ (#x13be . ?,b>(B)
+ ;; Currency
+ (#x20a0 . ?$,1t@(B)
+ (#x20a1 . ?$,1tA(B)
+ (#x20a2 . ?$,1tB(B)
+ (#x20a3 . ?$,1tC(B)
+ (#x20a4 . ?$,1tD(B)
+ (#x20a5 . ?$,1tE(B)
+ (#x20a6 . ?$,1tF(B)
+ (#x20a7 . ?$,1tG(B)
+ (#x20a8 . ?$,1tH(B)
+ (#x20aa . ?$,1tJ(B)
+ (#x20ab . ?$,1tK(B)
+ (#x20ac . ?,b$(B)))
+ (puthash (car pair) (cdr pair) x-keysym-table))
+
+;; The following keysym codes for graphics are listed in the document
+;; as not having unicodes available:
+
+;; #x08b1 TOP LEFT SUMMATION Technical
+;; #x08b2 BOTTOM LEFT SUMMATION Technical
+;; #x08b3 TOP VERTICAL SUMMATION CONNECTOR Technical
+;; #x08b4 BOTTOM VERTICAL SUMMATION CONNECTOR Technical
+;; #x08b5 TOP RIGHT SUMMATION Technical
+;; #x08b6 BOTTOM RIGHT SUMMATION Technical
+;; #x08b7 RIGHT MIDDLE SUMMATION Technical
+;; #x0aac SIGNIFICANT BLANK SYMBOL Publish
+;; #x0abd DECIMAL POINT Publish
+;; #x0abf MARKER Publish
+;; #x0acb TRADEMARK SIGN IN CIRCLE Publish
+;; #x0ada HEXAGRAM Publish
+;; #x0aff CURSOR Publish
+;; #x0dde THAI MAIHANAKAT Thai
+
;;;; Selections and cut buffers
@@ -1432,55 +2256,44 @@ This is in addition to, but in preference to, the primary selection."
(while (setq i (string-match "[.*]" x-resource-name))
(aset x-resource-name i ?-))))
-;; For the benefit of older Emacses (19.27 and earlier) that are sharing
-;; the same lisp directory, don't pass the third argument unless we seem
-;; to have the multi-display support.
-(if (fboundp 'x-close-connection)
- (x-open-connection (or x-display-name
- (setq x-display-name (getenv "DISPLAY")))
- x-command-line-resources
- ;; Exit Emacs with fatal error if this fails.
- t)
- (x-open-connection (or x-display-name
- (setq x-display-name (getenv "DISPLAY")))
- x-command-line-resources))
+(x-open-connection (or x-display-name
+ (setq x-display-name (getenv "DISPLAY")))
+ x-command-line-resources
+ ;; Exit Emacs with fatal error if this fails.
+ t)
(setq frame-creation-function 'x-create-frame-with-faces)
(setq x-cut-buffer-max (min (- (/ (x-server-max-request-size) 2) 100)
x-cut-buffer-max))
-(if (fboundp 'new-fontset)
- (progn
- ;; Create the standard fontset.
- (create-fontset-from-fontset-spec standard-fontset-spec t)
-
- ;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
- (create-fontset-from-x-resource)
-
- ;; Try to create a fontset from a font specification which comes
- ;; from initial-frame-alist, default-frame-alist, or X resource.
- ;; A font specification in command line argument (i.e. -fn XXXX)
- ;; should be already in default-frame-alist as a `font'
- ;; parameter. However, any font specifications in site-start
- ;; library, user's init file (.emacs), and default.el are not
- ;; yet handled here.
-
- (let ((font (or (cdr (assq 'font initial-frame-alist))
- (cdr (assq 'font default-frame-alist))
- (x-get-resource "font" "Font")))
- xlfd-fields resolved-name)
- (if (and font
- (not (query-fontset font))
- (setq resolved-name (x-resolve-font-name font))
- (setq xlfd-fields (x-decompose-font-name font)))
- (if (string= "fontset"
- (aref xlfd-fields xlfd-regexp-registry-subnum))
- (new-fontset font (x-complement-fontset-spec xlfd-fields nil))
- ;; Create a fontset from FONT. The fontset name is
- ;; generated from FONT.
- (create-fontset-from-ascii-font font
- resolved-name "startup"))))))
+;; Create the standard fontset.
+(create-fontset-from-fontset-spec standard-fontset-spec t)
+
+;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
+(create-fontset-from-x-resource)
+
+;; Try to create a fontset from a font specification which comes
+;; from initial-frame-alist, default-frame-alist, or X resource.
+;; A font specification in command line argument (i.e. -fn XXXX)
+;; should be already in default-frame-alist as a `font'
+;; parameter. However, any font specifications in site-start
+;; library, user's init file (.emacs), and default.el are not
+;; yet handled here.
+
+(let ((font (or (cdr (assq 'font initial-frame-alist))
+ (cdr (assq 'font default-frame-alist))
+ (x-get-resource "font" "Font")))
+ xlfd-fields resolved-name)
+ (if (and font
+ (not (query-fontset font))
+ (setq resolved-name (x-resolve-font-name font))
+ (setq xlfd-fields (x-decompose-font-name font)))
+ (if (string= "fontset" (aref xlfd-fields xlfd-regexp-registry-subnum))
+ (new-fontset font (x-complement-fontset-spec xlfd-fields nil))
+ ;; Create a fontset from FONT. The fontset name is
+ ;; generated from FONT.
+ (create-fontset-from-ascii-font font resolved-name "startup"))))
;; Sun expects the menu bar cut and paste commands to use the clipboard.
;; This has ,? to match both on Sunos and on Solaris.