2 new commits in leim:
https://bitbucket.org/xemacs/leim/commits/258fdebd51ed/
Changeset: 258fdebd51ed
User: kehoea
Date: 2013-08-03 19:18:47
Summary: Warn about duplicate rules, quail; remove many of same from input methods.
ChangeLog addition;
2013-08-03 Aidan Kehoe <kehoea(a)parhasard.net>
* quail.el (quail-define-rules):
Check for duplicate rules, warn about same.
GNU silently merges such rules, but XEmacs doesn't, and this is
saner behaviour, it's easier to miss identical rules textually far
away when reading the code.
* quail.el (quail-install-map):
Backslash a parenthesis for the sake of fontification.
* quail/latin-post.el:
Merge duplicates explicitly in latin-1-postfix, spanish-postfix,
turkish-latin-3-postfix, turkish-postfix, and latin-postfix.
Rewrite the code generation for latin-postfix to do more at
compile time, and to check for duplicates and warn.
Affected #: 3 files
diff -r 7f33a75296ac97e9d0eecbb76907bf32cb43477f -r
258fdebd51edbcc65aa14891a18e34d1af50037f ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2013-08-03 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * quail.el (quail-define-rules):
+ Check for duplicate rules, warn about same.
+ GNU silently merges such rules, but XEmacs doesn't, and this is
+ saner behaviour, it's easier to miss identical rules textually far
+ away when reading the code.
+ * quail.el (quail-install-map):
+ Backslash a parenthesis for the sake of fontification.
+ * quail/latin-post.el:
+ Merge duplicates explicitly in latin-1-postfix, spanish-postfix,
+ turkish-latin-3-postfix, turkish-postfix, and latin-postfix.
+ Rewrite the code generation for latin-postfix to do more at
+ compile time, and to check for duplicates and warn.
+
2011-06-18 Aidan Kehoe <kehoea(a)parhasard.net>
* leim-list.el: Update to reflect new input method names.
diff -r 7f33a75296ac97e9d0eecbb76907bf32cb43477f -r
258fdebd51edbcc65aa14891a18e34d1af50037f quail.el
--- a/quail.el
+++ b/quail.el
@@ -807,7 +807,7 @@
If it is a vector, each element (string or character) is a candidate
for the translation.
In these cases, a key specific Quail map is generated and assigned to KEY.
-(A Quail map is a cons that satisfies `quail-map-p', which see.)
+\(A Quail map is a cons that satisfies `quail-map-p', which see.)
If TRANSLATION is a Quail map it is used to handle KEY.
@@ -823,6 +823,13 @@
(while l
(quail-defrule-internal (car (car l)) (car (cdr (car l))) map)
(setq l (cdr l)))
+ (mapl
+ (function*
+ (lambda ((rule . rules))
+ (let ((assoc (assoc (car rule) rules)))
+ (and assoc
+ (warn "rule %S overridden by %S" rule assoc)))))
+ rules)
map)))
;;;###autoload
diff -r 7f33a75296ac97e9d0eecbb76907bf32cb43477f -r
258fdebd51edbcc65aa14891a18e34d1af50037f quail/latin-post.el
--- a/quail/latin-post.el
+++ b/quail/latin-post.el
@@ -115,7 +115,8 @@
("y\"" ?,A(B)
("D/" ?,AP(B)
("d/" ?,Ap(B)
- ("T/" ?,A^(B)
+ ("T/" [",A^(B"
+ ",D,(B"])
("t/" ?,A~(B)
("s/" ?,A_(B)
("C," ?,AG(B)
@@ -610,7 +611,6 @@
("O/" ?,DX(B)
("R," ?,D#(B)
("S~" ?,D)(B)
- ("T/" ?,D,(B)
("U," ?,DY(B)
("U'" ?,DZ(B)
("U^" ?,D[(B)
@@ -1328,8 +1328,8 @@
("o'" ?,As(B)
("U'" ?,AZ(B)
("u'" ?,Az(B)
- ("U\"" ?,C\(B)
- ("u\"" ?,C|(B)
+ ("U\"" [",C\(B" "U\""])
+ ("u\"" [",C|(B" "u\""])
("N~" ?,AQ(B)
("n~" ?,Aq(B)
("?/" ?,A?(B)
@@ -1345,8 +1345,6 @@
("o''" ["o'"])
("U''" ["U'"])
("u''" ["u'"])
- ("U\"" ["U\""])
- ("u\"" ["U\""])
("N~~" ["N~"])
("n~~" ["n~"])
("?//" ["?/"])
@@ -1412,7 +1410,8 @@
("G^" ?,C+(B)
("g^" ?,C;(B)
("I." ?,C)(B)
- ("i" ?,C9(B)
+ ("i" [",C9(B"
+ "i"])
("i." ?i)
("O\"" ?,CV(B)
("o\"" ?,Cv(B)
@@ -1430,7 +1429,6 @@
("G^^" ["G^"])
("g^^" ["g^"])
("I.." ["I."])
- ("i" ["i"])
("i.." ["i."])
("O\"\"" ["O\""])
("o\"\"" ["o\""])
@@ -1475,7 +1473,7 @@
("G^" ?,MP(B)
("g^" ?,Mp(B)
("I." ?,M](B)
- ("i" ?,M}(B)
+ ("i" [",M}(B" "i"])
("i." ?i)
("O\"" ?,MV(B)
("o\"" ?,Mv(B)
@@ -1493,7 +1491,6 @@
("G^^" ["G^"])
("g^^" ["g^"])
("I.." ["I."])
- ("i" ["i"])
("i.." ["i."])
("O\"\"" ["O\""])
("o\"\"" ["o\""])
@@ -2167,372 +2164,388 @@
" nil t nil nil nil nil nil nil nil nil t)
;; Fixme: ,A&(B ,A'(B ,A((B ,A)(B ,A,(B ,A-(B ,A.(B ,A/(B ,A1(B
,A2(B ,A3(B ,A4(B ,A5(B ,A6(B ,A7(B ,A8(B ,A9(B ,A<(B ,A=(B
,A>(B ,AW(B ,Aw(B
-(eval
- (append
- '(quail-define-rules)
- '((" _" ?,A (B)
- ("!/" ?,A!(B)
- ("//" ?,A0(B)
- ("<<" ?\,A+(B)
- (">>" ?\,A;(B)
- ("?/" ?,A?(B)
- ("$/" ?,A#(B)
- ("A'" ?,AA(B)
- ("A," ?,B!(B)
- ("A-" ?,D@(B)
- ("A/" ?,AE(B)
- ("A\"" ?,AD(B)
- ("A^" ?,AB(B)
- ("A`" ?,A@(B)
- ("A~" ?,AC(B)
- ("A~" ?,BC(B)
- ("C'" ?,BF(B)
- ("C," ?,AG(B)
- ("C." ?,CE(B)
- ("C^" ?,CF(B)
- ("C~" ?,BH(B)
- ("D/" ?,AP(B)
- ("D/" ?,BP(B)
- ("D~" ?,BO(B)
- ("E'" ?,AI(B)
- ("E," ?,BJ(B)
- ("E-" ?,D*(B)
- ("E." ?,DL(B)
- ("E/" ?,AF(B)
- ("E\"" ?,AK(B)
- ("E^" ?,AJ(B)
- ("E`" ?,AH(B)
- ("E~" ?,BL(B)
- ("G," ?,D+(B)
- ("G." ?,CU(B)
- ("G^" ?,CX(B)
- ("G~" ?,C+(B)
- ("H/" ?,C!(B)
- ("H^" ?,C&(B)
- ("I'" ?,AM(B)
- ("I," ?,DG(B)
- ("I-" ?,DO(B)
- ("I." ?,C)(B)
- ("I\"" ?,AO(B)
- ("I^" ?,AN(B)
- ("I`" ?,AL(B)
- ("I~" ?,D%(B)
- ("J^" ?,C,(B)
- ("K," ?,DS(B)
- ("L'" ?,BE(B)
- ("L," ?,D&(B)
- ("L/" ?,B#(B)
- ("L~" ?,B%(B)
- ("N'" ?,BQ(B)
- ("N," ?,DQ(B)
- ("N/" ?,D=(B)
- ("N~" ?,AQ(B)
- ("N~" ?,BR(B)
- ("O'" ?,AS(B)
- ("O-" ?,DR(B)
- ("O/" ?,AX(B)
- ("O:" ?,BU(B)
- ("O\"" ?,AV(B)
- ("O^" ?,AT(B)
- ("O`" ?,AR(B)
- ("O~" ?,AU(B)
- ("R'" ?,B@(B)
- ("R," ?,D#(B)
- ("R~" ?,BX(B)
- ("S'" ?,B&(B)
- ("S," ?,B*(B)
- ("S^" ?,C^(B)
- ("S~" ?,B)(B)
- ("T," ?,B^(B)
- ("T/" ?,A^(B)
- ("T/" ?,D,(B)
- ("T~" ?,B+(B)
- ("U'" ?,AZ(B)
- ("U," ?,DY(B)
- ("U-" ?,D^(B)
- ("U." ?,BY(B)
- ("U:" ?,B[(B)
- ("U\"" ?,A\(B)
- ("U^" ?,A[(B)
- ("U`" ?,AY(B)
- ("U~" ?,D](B)
- ("U~" ?,C](B)
- ("Y'" ?,A](B)
- ("Y=" ?,A%(B)
- ("Z'" ?,B,(B)
- ("Z." ?,B/(B)
- ("Z~" ?,B.(B)
- ("a'" ?,Aa(B)
- ("a," ?,B1(B)
- ("a-" ?,D`(B)
- ("a/" ?,Ae(B)
- ("a\"" ?,Ad(B)
- ("a^" ?,Ab(B)
- ("a_" ?,A*(B)
- ("a`" ?,A`(B)
- ("a~" ?,Ac(B)
- ("a~" ?,Bc(B)
- ("c'" ?,Bf(B)
- ("c," ?,Ag(B)
- ("c." ?,Ce(B)
- ("c^" ?,Cf(B)
- ("c~" ?,Bh(B)
- ("c/" ?,A"(B)
- ("d/" ?,Ap(B)
- ("d/" ?,Bp(B)
- ("d~" ?,Bo(B)
- ("e'" ?,Ai(B)
- ("e," ?,Bj(B)
- ("e-" ?,D:(B)
- ("e." ?,Dl(B)
- ("e/" ?,Af(B)
- ("e\"" ?,Ak(B)
- ("e^" ?,Aj(B)
- ("e`" ?,Ah(B)
- ("e~" ?,Bl(B)
- ("g," ?,D;(B)
- ("g." ?,Cu(B)
- ("g^" ?,Cx(B)
- ("g~" ?,C;(B)
- ("h/" ?,C1(B)
- ("h^" ?,C6(B)
- ("i'" ?,Am(B)
- ("i," ?,Dg(B)
- ("i-" ?,Do(B)
- ("i." ?,C9(B)
- ("i\"" ?,Ao(B)
- ("i^" ?,An(B)
- ("i`" ?,Al(B)
- ("i~" ?,D5(B)
- ("j^" ?,C<(B)
- ("k," ?,Ds(B)
- ("k/" ?,D"(B)
- ("l'" ?,Be(B)
- ("l," ?,D6(B)
- ("l/" ?,B3(B)
- ("l~" ?,B5(B)
- ("n'" ?,Bq(B)
- ("n," ?,Dq(B)
- ("n/" ?,D?(B)
- ("n~" ?,Aq(B)
- ("n~" ?,Br(B)
- ("o'" ?,As(B)
- ("o-" ?,Dr(B)
- ("o/" ?,Ax(B)
- ("o:" ?,Bu(B)
- ("o\"" ?,Av(B)
- ("o^" ?,At(B)
- ("o_" ?,A:(B)
- ("o`" ?,Ar(B)
- ("o~" ?,Au(B)
- ("r'" ?,B`(B)
- ("r," ?,D3(B)
- ("r~" ?,Bx(B)
- ("s'" ?,B6(B)
- ("s," ?,B:(B)
- ("s/" ?,A_(B)
- ("s^" ?,C~(B)
- ("s~" ?,B9(B)
- ("t," ?,B~(B)
- ("t/" ?,A~(B)
- ("t/" ?,D<(B)
- ("t~" ?,B;(B)
- ("u'" ?,Az(B)
- ("u," ?,Dy(B)
- ("u-" ?,D~(B)
- ("u." ?,By(B)
- ("u:" ?,B{(B)
- ("u\"" ?,A|(B)
- ("u^" ?,A{(B)
- ("u`" ?,Ay(B)
- ("u~" ?,D}(B)
- ("u~" ?,C}(B)
- ("y'" ?,A}(B)
- ("y\"" ?,A(B)
- ("z'" ?,B<(B)
- ("z." ?,B?(B)
- ("z~" ?,B>(B)
+;; XEmacs change; only map some characters if our XEmacs supports them, this
+;; is the idea behind the macrolet.
+(macrolet
+ ((quail-define-latin-postfix (&rest rules)
+ (let ((unicode (prog1
+ (getf rules :unicode rules)
+ (remf rules :unicode))))
+ (mapl
+ (function*
+ (lambda ((rule . rules))
+ (let ((assoc (assoc (car rule) rules)))
+ (and assoc
+ (warn "latin-postfix: rule %S overridden by %S"
+ rule assoc)))))
+ (append rules unicode))
+ `(quail-install-map
+ (let ((map ',(let ((map (list nil)))
+ (mapc (function*
+ (lambda ((key trans . rest))
+ (quail-defrule-internal key trans map)))
+ rules)
+ map)))
+ (when latin-post-decent-xemacs-unicode-support
+ (mapc (function*
+ (lambda ((key trans . rest))
+ (setf (aref trans 0)
+ (string (decode-char 'ucs (aref trans 0))))
+ (quail-defrule-internal key trans map)))
+ ',unicode))
+ map)))))
+ (quail-define-latin-postfix
+:unicode (("$/" [#x20ac ",A#(B"]) ;; These override earlier rules,
which is
+ ("O/" [#x0152 ",AX(B"]) ;; OK in this limited
context.
+ ("Y\"" [#x0178])
+ ("e=" [#x20ac])
+ ("o/" [#x0153 ",Ax(B"]))
+ (" _" ?,A (B)
+ ("!/" ?,A!(B)
+ ("//" ?,A0(B)
+ ("<<" ?\,A+(B)
+ (">>" ?\,A;(B)
+ ("?/" ?,A?(B)
+ ("$/" ?,A#(B)
+ ("A'" ?,AA(B)
+ ("A," ?,B!(B)
+ ("A-" ?,D@(B)
+ ("A/" ?,AE(B)
+ ("A\"" ?,AD(B)
+ ("A^" ?,AB(B)
+ ("A`" ?,A@(B)
+ ("A~" [",AC(B" ",BC(B"])
+ ("C'" ?,BF(B)
+ ("C," ?,AG(B)
+ ("C." ?,CE(B)
+ ("C^" ?,CF(B)
+ ("C~" ?,BH(B)
+ ("D/" [",AP(B" ",BP(B"])
+ ("D~" ?,BO(B)
+ ("E'" ?,AI(B)
+ ("E," ?,BJ(B)
+ ("E-" ?,D*(B)
+ ("E." ?,DL(B)
+ ("E/" ?,AF(B)
+ ("E\"" ?,AK(B)
+ ("E^" ?,AJ(B)
+ ("E`" ?,AH(B)
+ ("E~" ?,BL(B)
+ ("G," ?,D+(B)
+ ("G." ?,CU(B)
+ ("G^" ?,CX(B)
+ ("G~" ?,C+(B)
+ ("H/" ?,C!(B)
+ ("H^" ?,C&(B)
+ ("I'" ?,AM(B)
+ ("I," ?,DG(B)
+ ("I-" ?,DO(B)
+ ("I." ?,C)(B)
+ ("I\"" ?,AO(B)
+ ("I^" ?,AN(B)
+ ("I`" ?,AL(B)
+ ("I~" ?,D%(B)
+ ("J^" ?,C,(B)
+ ("K," ?,DS(B)
+ ("L'" ?,BE(B)
+ ("L," ?,D&(B)
+ ("L/" ?,B#(B)
+ ("L~" ?,B%(B)
+ ("N'" ?,BQ(B)
+ ("N," ?,DQ(B)
+ ("N/" ?,D=(B)
+ ("N~" [",AQ(B" ",BR(B"])
+ ("O'" ?,AS(B)
+ ("O-" ?,DR(B)
+ ("O/" ?,AX(B)
+ ("O:" ?,BU(B)
+ ("O\"" ?,AV(B)
+ ("O^" ?,AT(B)
+ ("O`" ?,AR(B)
+ ("O~" ?,AU(B)
+ ("R'" ?,B@(B)
+ ("R," ?,D#(B)
+ ("R~" ?,BX(B)
+ ("S'" ?,B&(B)
+ ("S," ?,B*(B)
+ ("S^" ?,C^(B)
+ ("S~" ?,B)(B)
+ ("T," ?,B^(B)
+ ("T/" [",A^(B" ",D,(B"])
+ ("T~" ?,B+(B)
+ ("U'" ?,AZ(B)
+ ("U," ?,DY(B)
+ ("U-" ?,D^(B)
+ ("U." ?,BY(B)
+ ("U:" ?,B[(B)
+ ("U\"" ?,A\(B)
+ ("U^" ?,A[(B)
+ ("U`" ?,AY(B)
+ ("U~" [",D](B" "$(D*f(B"])
+ ("Y'" ?,A](B)
+ ("Y=" ?,A%(B)
+ ("Z'" ?,B,(B)
+ ("Z." ?,B/(B)
+ ("Z~" ?,B.(B)
+ ("a'" ?,Aa(B)
+ ("a," ?,B1(B)
+ ("a-" ?,D`(B)
+ ("a/" ?,Ae(B)
+ ("a\"" ?,Ad(B)
+ ("a^" ?,Ab(B)
+ ("a_" ?,A*(B)
+ ("a`" ?,A`(B)
+ ("a~" [",Ac(B" ",Bc(B"])
+ ("c'" ?,Bf(B)
+ ("c," ?,Ag(B)
+ ("c." ?,Ce(B)
+ ("c^" ?,Cf(B)
+ ("c~" ?,Bh(B)
+ ("c/" ?,A"(B)
+ ("d/" [",Ap(B" ",Bp(B"])
+ ("d~" ?,Bo(B)
+ ("e'" ?,Ai(B)
+ ("e," ?,Bj(B)
+ ("e-" ?,D:(B)
+ ("e." ?,Dl(B)
+ ("e/" ?,Af(B)
+ ("e\"" ?,Ak(B)
+ ("e^" ?,Aj(B)
+ ("e`" ?,Ah(B)
+ ("e~" ?,Bl(B)
+ ("g," ?,D;(B)
+ ("g." ?,Cu(B)
+ ("g^" ?,Cx(B)
+ ("g~" ?,C;(B)
+ ("h/" ?,C1(B)
+ ("h^" ?,C6(B)
+ ("i'" ?,Am(B)
+ ("i," ?,Dg(B)
+ ("i-" ?,Do(B)
+ ("i." ?,C9(B)
+ ("i\"" ?,Ao(B)
+ ("i^" ?,An(B)
+ ("i`" ?,Al(B)
+ ("i~" ?,D5(B)
+ ("j^" ?,C<(B)
+ ("k," ?,Ds(B)
+ ("k/" ?,D"(B)
+ ("l'" ?,Be(B)
+ ("l," ?,D6(B)
+ ("l/" ?,B3(B)
+ ("l~" ?,B5(B)
+ ("n'" ?,Bq(B)
+ ("n," ?,Dq(B)
+ ("n/" ?,D?(B)
+ ("n~" [",Aq(B" ",Br(B"])
+ ("o'" ?,As(B)
+ ("o-" ?,Dr(B)
+ ("o/" ?,Ax(B)
+ ("o:" ?,Bu(B)
+ ("o\"" ?,Av(B)
+ ("o^" ?,At(B)
+ ("o_" ?,A:(B)
+ ("o`" ?,Ar(B)
+ ("o~" ?,Au(B)
+ ("r'" ?,B`(B)
+ ("r," ?,D3(B)
+ ("r~" ?,Bx(B)
+ ("s'" ?,B6(B)
+ ("s," ?,B:(B)
+ ("s/" ?,A_(B)
+ ("s^" ?,C~(B)
+ ("s~" ?,B9(B)
+ ("t," ?,B~(B)
+ ("t/" [",A~(B" ",D<(B"])
+ ("t~" ?,B;(B)
+ ("u'" ?,Az(B)
+ ("u," ?,Dy(B)
+ ("u-" ?,D~(B)
+ ("u." ?,By(B)
+ ("u:" ?,B{(B)
+ ("u\"" ?,A|(B)
+ ("u^" ?,A{(B)
+ ("u`" ?,Ay(B)
+ ("u~" [",D}(B" ",C}(B"])
+ ("y'" ?,A}(B)
+ ("y\"" ?,A(B)
+ ("z'" ?,B<(B)
+ ("z." ?,B?(B)
+ ("z~" ?,B>(B)
- ("!//" ["!/"])
- ("///" ["//"])
- ("<<<" ["<<"])
- (">>>" [">>"])
- ("?//" ["?/"])
- ("$//" ["$/"])
- ("A''" ["A'"])
- ("A,," ["A,"])
- ("A--" ["A-"])
- ("A//" ["A/"])
- ("A\"\"" ["A\""])
- ("A^^" ["A^"])
- ("A``" ["A`"])
- ("A~~" ["A~"])
- ("C''" ["C'"])
- ("C,," ["C,"])
- ("C.." ["C."])
- ("C^^" ["C^"])
- ("C~~" ["C~"])
- ("D//" ["D/"])
- ("D~~" ["D~"])
- ("E''" ["E'"])
- ("E,," ["E,"])
- ("E--" ["E-"])
- ("E.." ["E."])
- ("E//" ["E/"])
- ("E\"\"" ["E\""])
- ("E^^" ["E^"])
- ("E``" ["E`"])
- ("E~~" ["E~"])
- ("G,," ["G,"])
- ("G.." ["G."])
- ("G^^" ["G^"])
- ("G~~" ["G~"])
- ("H//" ["H/"])
- ("H^^" ["H^"])
- ("I''" ["I'"])
- ("I,," ["I,"])
- ("I--" ["I-"])
- ("I.." ["I."])
- ("I\"\"" ["I\""])
- ("I^^" ["I^"])
- ("I``" ["I`"])
- ("I~~" ["I~"])
- ("J^^" ["J^"])
- ("K,," ["K,"])
- ("L''" ["L'"])
- ("L,," ["L,"])
- ("L//" ["L/"])
- ("L~~" ["L~"])
- ("N''" ["N'"])
- ("N,," ["N,"])
- ("N//" ["N/"])
- ("N~~" ["N~"])
- ("O''" ["O'"])
- ("O--" ["O-"])
- ("O//" ["O/"])
- ("O::" ["O:"])
- ("O\"\"" ["O\""])
- ("O^^" ["O^"])
- ("O``" ["O`"])
- ("O~~" ["O~"])
- ("R''" ["R'"])
- ("R,," ["R,"])
- ("R~~" ["R~"])
- ("S''" ["S'"])
- ("S,," ["S,"])
- ("S^^" ["S^"])
- ("S~~" ["S~"])
- ("T,," ["T,"])
- ("T//" ["T/"])
- ("T~~" ["T~"])
- ("U''" ["U'"])
- ("U,," ["U,"])
- ("U--" ["U-"])
- ("U.." ["U."])
- ("U::" ["U:"])
- ("U\"\"" ["U\""])
- ("U^^" ["U^"])
- ("U``" ["U`"])
- ("U~~" ["U~"])
- ("Y''" ["Y'"])
- ("Y\"\"" ["Y\""])
- ("Y==" ["Y="])
- ("Z''" ["Z'"])
- ("Z.." ["Z."])
- ("Z~~" ["Z~"])
- ("a''" ["a'"])
- ("a,," ["a,"])
- ("a--" ["a-"])
- ("a//" ["a/"])
- ("a\"\"" ["a\""])
- ("a^^" ["a^"])
- ("a__" ["a_"])
- ("a``" ["a`"])
- ("a~~" ["a~"])
- ("c''" ["c'"])
- ("c,," ["c,"])
- ("c.." ["c."])
- ("c^^" ["c^"])
- ("c~~" ["c~"])
- ("c//" ["c/"])
- ("d//" ["d/"])
- ("d~~" ["d~"])
- ("e''" ["e'"])
- ("e,," ["e,"])
- ("e--" ["e-"])
- ("e.." ["e."])
- ("e//" ["e/"])
- ("e\"\"" ["e\""])
- ("e^^" ["e^"])
- ("e``" ["e`"])
- ("e==" ["e="])
- ("e~~" ["e~"])
- ("g,," ["g,"])
- ("g.." ["g."])
- ("g^^" ["g^"])
- ("g~~" ["g~"])
- ("h//" ["h/"])
- ("h^^" ["h^"])
- ("i''" ["i'"])
- ("i,," ["i,"])
- ("i--" ["i-"])
- ("i.." ["i."])
- ("i\"\"" ["i\""])
- ("i^^" ["i^"])
- ("i``" ["i`"])
- ("i~~" ["i~"])
- ("j^^" ["j^"])
- ("k,," ["k,"])
- ("k//" ["k/"])
- ("l''" ["l'"])
- ("l,," ["l,"])
- ("l//" ["l/"])
- ("l~~" ["l~"])
- ("n''" ["n'"])
- ("n,," ["n,"])
- ("n//" ["n/"])
- ("n~~" ["n~"])
- ("o''" ["o'"])
- ("o--" ["o-"])
- ("o//" ["o/"])
- ("o::" ["o:"])
- ("o\"\"" ["o\""])
- ("o^^" ["o^"])
- ("o__" ["o_"])
- ("o``" ["o`"])
- ("o~~" ["o~"])
- ("r''" ["r'"])
- ("r,," ["r,"])
- ("r~~" ["r~"])
- ("s''" ["s'"])
- ("s,," ["s,"])
- ("s//" ["s/"])
- ("s^^" ["s^"])
- ("s~~" ["s~"])
- ("t,," ["t,"])
- ("t//" ["t/"])
- ("t~~" ["t~"])
- ("u''" ["u'"])
- ("u,," ["u,"])
- ("u--" ["u-"])
- ("u.." ["u."])
- ("u::" ["u:"])
- ("u\"\"" ["u\""])
- ("u^^" ["u^"])
- ("u``" ["u`"])
- ("u~~" ["u~"])
- ("y''" ["y'"])
- ("y\"\"" ["y\""])
- ("z''" ["z'"])
- ("z.." ["z."])
- ("z~~" ["z~"]))
- ;; XEmacs change; only map some characters if our XEmacs supports them.
- (when latin-post-decent-xemacs-unicode-support
- (list (list "$/" (decode-char 'ucs #x20ac))
- (list "O/" (decode-char 'ucs #x152))
- (list "Y\"" (decode-char 'ucs #x178))
- (list "e=" (decode-char 'ucs #x20ac))
- (list "o/" (decode-char 'ucs #x153))))))
+ ("!//" ["!/"])
+ ("///" ["//"])
+ ("<<<" ["<<"])
+ (">>>" [">>"])
+ ("?//" ["?/"])
+ ("$//" ["$/"])
+ ("A''" ["A'"])
+ ("A,," ["A,"])
+ ("A--" ["A-"])
+ ("A//" ["A/"])
+ ("A\"\"" ["A\""])
+ ("A^^" ["A^"])
+ ("A``" ["A`"])
+ ("A~~" ["A~"])
+ ("C''" ["C'"])
+ ("C,," ["C,"])
+ ("C.." ["C."])
+ ("C^^" ["C^"])
+ ("C~~" ["C~"])
+ ("D//" ["D/"])
+ ("D~~" ["D~"])
+ ("E''" ["E'"])
+ ("E,," ["E,"])
+ ("E--" ["E-"])
+ ("E.." ["E."])
+ ("E//" ["E/"])
+ ("E\"\"" ["E\""])
+ ("E^^" ["E^"])
+ ("E``" ["E`"])
+ ("E~~" ["E~"])
+ ("G,," ["G,"])
+ ("G.." ["G."])
+ ("G^^" ["G^"])
+ ("G~~" ["G~"])
+ ("H//" ["H/"])
+ ("H^^" ["H^"])
+ ("I''" ["I'"])
+ ("I,," ["I,"])
+ ("I--" ["I-"])
+ ("I.." ["I."])
+ ("I\"\"" ["I\""])
+ ("I^^" ["I^"])
+ ("I``" ["I`"])
+ ("I~~" ["I~"])
+ ("J^^" ["J^"])
+ ("K,," ["K,"])
+ ("L''" ["L'"])
+ ("L,," ["L,"])
+ ("L//" ["L/"])
+ ("L~~" ["L~"])
+ ("N''" ["N'"])
+ ("N,," ["N,"])
+ ("N//" ["N/"])
+ ("N~~" ["N~"])
+ ("O''" ["O'"])
+ ("O--" ["O-"])
+ ("O//" ["O/"])
+ ("O::" ["O:"])
+ ("O\"\"" ["O\""])
+ ("O^^" ["O^"])
+ ("O``" ["O`"])
+ ("O~~" ["O~"])
+ ("R''" ["R'"])
+ ("R,," ["R,"])
+ ("R~~" ["R~"])
+ ("S''" ["S'"])
+ ("S,," ["S,"])
+ ("S^^" ["S^"])
+ ("S~~" ["S~"])
+ ("T,," ["T,"])
+ ("T//" ["T/"])
+ ("T~~" ["T~"])
+ ("U''" ["U'"])
+ ("U,," ["U,"])
+ ("U--" ["U-"])
+ ("U.." ["U."])
+ ("U::" ["U:"])
+ ("U\"\"" ["U\""])
+ ("U^^" ["U^"])
+ ("U``" ["U`"])
+ ("U~~" ["U~"])
+ ("Y''" ["Y'"])
+ ("Y\"\"" ["Y\""])
+ ("Y==" ["Y="])
+ ("Z''" ["Z'"])
+ ("Z.." ["Z."])
+ ("Z~~" ["Z~"])
+ ("a''" ["a'"])
+ ("a,," ["a,"])
+ ("a--" ["a-"])
+ ("a//" ["a/"])
+ ("a\"\"" ["a\""])
+ ("a^^" ["a^"])
+ ("a__" ["a_"])
+ ("a``" ["a`"])
+ ("a~~" ["a~"])
+ ("c''" ["c'"])
+ ("c,," ["c,"])
+ ("c.." ["c."])
+ ("c^^" ["c^"])
+ ("c~~" ["c~"])
+ ("c//" ["c/"])
+ ("d//" ["d/"])
+ ("d~~" ["d~"])
+ ("e''" ["e'"])
+ ("e,," ["e,"])
+ ("e--" ["e-"])
+ ("e.." ["e."])
+ ("e//" ["e/"])
+ ("e\"\"" ["e\""])
+ ("e^^" ["e^"])
+ ("e``" ["e`"])
+ ("e==" ["e="])
+ ("e~~" ["e~"])
+ ("g,," ["g,"])
+ ("g.." ["g."])
+ ("g^^" ["g^"])
+ ("g~~" ["g~"])
+ ("h//" ["h/"])
+ ("h^^" ["h^"])
+ ("i''" ["i'"])
+ ("i,," ["i,"])
+ ("i--" ["i-"])
+ ("i.." ["i."])
+ ("i\"\"" ["i\""])
+ ("i^^" ["i^"])
+ ("i``" ["i`"])
+ ("i~~" ["i~"])
+ ("j^^" ["j^"])
+ ("k,," ["k,"])
+ ("k//" ["k/"])
+ ("l''" ["l'"])
+ ("l,," ["l,"])
+ ("l//" ["l/"])
+ ("l~~" ["l~"])
+ ("n''" ["n'"])
+ ("n,," ["n,"])
+ ("n//" ["n/"])
+ ("n~~" ["n~"])
+ ("o''" ["o'"])
+ ("o--" ["o-"])
+ ("o//" ["o/"])
+ ("o::" ["o:"])
+ ("o\"\"" ["o\""])
+ ("o^^" ["o^"])
+ ("o__" ["o_"])
+ ("o``" ["o`"])
+ ("o~~" ["o~"])
+ ("r''" ["r'"])
+ ("r,," ["r,"])
+ ("r~~" ["r~"])
+ ("s''" ["s'"])
+ ("s,," ["s,"])
+ ("s//" ["s/"])
+ ("s^^" ["s^"])
+ ("s~~" ["s~"])
+ ("t,," ["t,"])
+ ("t//" ["t/"])
+ ("t~~" ["t~"])
+ ("u''" ["u'"])
+ ("u,," ["u,"])
+ ("u--" ["u-"])
+ ("u.." ["u."])
+ ("u::" ["u:"])
+ ("u\"\"" ["u\""])
+ ("u^^" ["u^"])
+ ("u``" ["u`"])
+ ("u~~" ["u~"])
+ ("y''" ["y'"])
+ ("y\"\"" ["y\""])
+ ("z''" ["z'"])
+ ("z.." ["z."])
+ ("z~~" ["z~"])))
;; Derived from Slovenian.kmap from Yudit
;; attributed as: 2001-11-11 Roman Maurer <roman.maurer(a)amis.net>
https://bitbucket.org/xemacs/leim/commits/19b9ce3d1a51/
Changeset: 19b9ce3d1a51
User: kehoea
Date: 2013-08-03 19:24:15
Summary: Merge.
Affected #: 3 files
diff -r 925b9f7121e930c2274dda77691e82472f54c23d -r
19b9ce3d1a51a793d9e7a55198a643137c2e1d1f ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2013-08-03 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * quail.el (quail-define-rules):
+ Check for duplicate rules, warn about same.
+ GNU silently merges such rules, but XEmacs doesn't, and this is
+ saner behaviour, it's easier to miss identical rules textually far
+ away when reading the code.
+ * quail.el (quail-install-map):
+ Backslash a parenthesis for the sake of fontification.
+ * quail/latin-post.el:
+ Merge duplicates explicitly in latin-1-postfix, spanish-postfix,
+ turkish-latin-3-postfix, turkish-postfix, and latin-postfix.
+ Rewrite the code generation for latin-postfix to do more at
+ compile time, and to check for duplicates and warn.
+
2011-10-18 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 1.33 released.
diff -r 925b9f7121e930c2274dda77691e82472f54c23d -r
19b9ce3d1a51a793d9e7a55198a643137c2e1d1f quail.el
--- a/quail.el
+++ b/quail.el
@@ -807,7 +807,7 @@
If it is a vector, each element (string or character) is a candidate
for the translation.
In these cases, a key specific Quail map is generated and assigned to KEY.
-(A Quail map is a cons that satisfies `quail-map-p', which see.)
+\(A Quail map is a cons that satisfies `quail-map-p', which see.)
If TRANSLATION is a Quail map it is used to handle KEY.
@@ -823,6 +823,13 @@
(while l
(quail-defrule-internal (car (car l)) (car (cdr (car l))) map)
(setq l (cdr l)))
+ (mapl
+ (function*
+ (lambda ((rule . rules))
+ (let ((assoc (assoc (car rule) rules)))
+ (and assoc
+ (warn "rule %S overridden by %S" rule assoc)))))
+ rules)
map)))
;;;###autoload
diff -r 925b9f7121e930c2274dda77691e82472f54c23d -r
19b9ce3d1a51a793d9e7a55198a643137c2e1d1f quail/latin-post.el
--- a/quail/latin-post.el
+++ b/quail/latin-post.el
@@ -115,7 +115,8 @@
("y\"" ?,A(B)
("D/" ?,AP(B)
("d/" ?,Ap(B)
- ("T/" ?,A^(B)
+ ("T/" [",A^(B"
+ ",D,(B"])
("t/" ?,A~(B)
("s/" ?,A_(B)
("C," ?,AG(B)
@@ -610,7 +611,6 @@
("O/" ?,DX(B)
("R," ?,D#(B)
("S~" ?,D)(B)
- ("T/" ?,D,(B)
("U," ?,DY(B)
("U'" ?,DZ(B)
("U^" ?,D[(B)
@@ -1328,8 +1328,8 @@
("o'" ?,As(B)
("U'" ?,AZ(B)
("u'" ?,Az(B)
- ("U\"" ?,C\(B)
- ("u\"" ?,C|(B)
+ ("U\"" [",C\(B" "U\""])
+ ("u\"" [",C|(B" "u\""])
("N~" ?,AQ(B)
("n~" ?,Aq(B)
("?/" ?,A?(B)
@@ -1345,8 +1345,6 @@
("o''" ["o'"])
("U''" ["U'"])
("u''" ["u'"])
- ("U\"" ["U\""])
- ("u\"" ["U\""])
("N~~" ["N~"])
("n~~" ["n~"])
("?//" ["?/"])
@@ -1412,7 +1410,8 @@
("G^" ?,C+(B)
("g^" ?,C;(B)
("I." ?,C)(B)
- ("i" ?,C9(B)
+ ("i" [",C9(B"
+ "i"])
("i." ?i)
("O\"" ?,CV(B)
("o\"" ?,Cv(B)
@@ -1430,7 +1429,6 @@
("G^^" ["G^"])
("g^^" ["g^"])
("I.." ["I."])
- ("i" ["i"])
("i.." ["i."])
("O\"\"" ["O\""])
("o\"\"" ["o\""])
@@ -1475,7 +1473,7 @@
("G^" ?,MP(B)
("g^" ?,Mp(B)
("I." ?,M](B)
- ("i" ?,M}(B)
+ ("i" [",M}(B" "i"])
("i." ?i)
("O\"" ?,MV(B)
("o\"" ?,Mv(B)
@@ -1493,7 +1491,6 @@
("G^^" ["G^"])
("g^^" ["g^"])
("I.." ["I."])
- ("i" ["i"])
("i.." ["i."])
("O\"\"" ["O\""])
("o\"\"" ["o\""])
@@ -2167,372 +2164,388 @@
" nil t nil nil nil nil nil nil nil nil t)
;; Fixme: ,A&(B ,A'(B ,A((B ,A)(B ,A,(B ,A-(B ,A.(B ,A/(B ,A1(B
,A2(B ,A3(B ,A4(B ,A5(B ,A6(B ,A7(B ,A8(B ,A9(B ,A<(B ,A=(B
,A>(B ,AW(B ,Aw(B
-(eval
- (append
- '(quail-define-rules)
- '((" _" ?,A (B)
- ("!/" ?,A!(B)
- ("//" ?,A0(B)
- ("<<" ?\,A+(B)
- (">>" ?\,A;(B)
- ("?/" ?,A?(B)
- ("$/" ?,A#(B)
- ("A'" ?,AA(B)
- ("A," ?,B!(B)
- ("A-" ?,D@(B)
- ("A/" ?,AE(B)
- ("A\"" ?,AD(B)
- ("A^" ?,AB(B)
- ("A`" ?,A@(B)
- ("A~" ?,AC(B)
- ("A~" ?,BC(B)
- ("C'" ?,BF(B)
- ("C," ?,AG(B)
- ("C." ?,CE(B)
- ("C^" ?,CF(B)
- ("C~" ?,BH(B)
- ("D/" ?,AP(B)
- ("D/" ?,BP(B)
- ("D~" ?,BO(B)
- ("E'" ?,AI(B)
- ("E," ?,BJ(B)
- ("E-" ?,D*(B)
- ("E." ?,DL(B)
- ("E/" ?,AF(B)
- ("E\"" ?,AK(B)
- ("E^" ?,AJ(B)
- ("E`" ?,AH(B)
- ("E~" ?,BL(B)
- ("G," ?,D+(B)
- ("G." ?,CU(B)
- ("G^" ?,CX(B)
- ("G~" ?,C+(B)
- ("H/" ?,C!(B)
- ("H^" ?,C&(B)
- ("I'" ?,AM(B)
- ("I," ?,DG(B)
- ("I-" ?,DO(B)
- ("I." ?,C)(B)
- ("I\"" ?,AO(B)
- ("I^" ?,AN(B)
- ("I`" ?,AL(B)
- ("I~" ?,D%(B)
- ("J^" ?,C,(B)
- ("K," ?,DS(B)
- ("L'" ?,BE(B)
- ("L," ?,D&(B)
- ("L/" ?,B#(B)
- ("L~" ?,B%(B)
- ("N'" ?,BQ(B)
- ("N," ?,DQ(B)
- ("N/" ?,D=(B)
- ("N~" ?,AQ(B)
- ("N~" ?,BR(B)
- ("O'" ?,AS(B)
- ("O-" ?,DR(B)
- ("O/" ?,AX(B)
- ("O:" ?,BU(B)
- ("O\"" ?,AV(B)
- ("O^" ?,AT(B)
- ("O`" ?,AR(B)
- ("O~" ?,AU(B)
- ("R'" ?,B@(B)
- ("R," ?,D#(B)
- ("R~" ?,BX(B)
- ("S'" ?,B&(B)
- ("S," ?,B*(B)
- ("S^" ?,C^(B)
- ("S~" ?,B)(B)
- ("T," ?,B^(B)
- ("T/" ?,A^(B)
- ("T/" ?,D,(B)
- ("T~" ?,B+(B)
- ("U'" ?,AZ(B)
- ("U," ?,DY(B)
- ("U-" ?,D^(B)
- ("U." ?,BY(B)
- ("U:" ?,B[(B)
- ("U\"" ?,A\(B)
- ("U^" ?,A[(B)
- ("U`" ?,AY(B)
- ("U~" ?,D](B)
- ("U~" ?,C](B)
- ("Y'" ?,A](B)
- ("Y=" ?,A%(B)
- ("Z'" ?,B,(B)
- ("Z." ?,B/(B)
- ("Z~" ?,B.(B)
- ("a'" ?,Aa(B)
- ("a," ?,B1(B)
- ("a-" ?,D`(B)
- ("a/" ?,Ae(B)
- ("a\"" ?,Ad(B)
- ("a^" ?,Ab(B)
- ("a_" ?,A*(B)
- ("a`" ?,A`(B)
- ("a~" ?,Ac(B)
- ("a~" ?,Bc(B)
- ("c'" ?,Bf(B)
- ("c," ?,Ag(B)
- ("c." ?,Ce(B)
- ("c^" ?,Cf(B)
- ("c~" ?,Bh(B)
- ("c/" ?,A"(B)
- ("d/" ?,Ap(B)
- ("d/" ?,Bp(B)
- ("d~" ?,Bo(B)
- ("e'" ?,Ai(B)
- ("e," ?,Bj(B)
- ("e-" ?,D:(B)
- ("e." ?,Dl(B)
- ("e/" ?,Af(B)
- ("e\"" ?,Ak(B)
- ("e^" ?,Aj(B)
- ("e`" ?,Ah(B)
- ("e~" ?,Bl(B)
- ("g," ?,D;(B)
- ("g." ?,Cu(B)
- ("g^" ?,Cx(B)
- ("g~" ?,C;(B)
- ("h/" ?,C1(B)
- ("h^" ?,C6(B)
- ("i'" ?,Am(B)
- ("i," ?,Dg(B)
- ("i-" ?,Do(B)
- ("i." ?,C9(B)
- ("i\"" ?,Ao(B)
- ("i^" ?,An(B)
- ("i`" ?,Al(B)
- ("i~" ?,D5(B)
- ("j^" ?,C<(B)
- ("k," ?,Ds(B)
- ("k/" ?,D"(B)
- ("l'" ?,Be(B)
- ("l," ?,D6(B)
- ("l/" ?,B3(B)
- ("l~" ?,B5(B)
- ("n'" ?,Bq(B)
- ("n," ?,Dq(B)
- ("n/" ?,D?(B)
- ("n~" ?,Aq(B)
- ("n~" ?,Br(B)
- ("o'" ?,As(B)
- ("o-" ?,Dr(B)
- ("o/" ?,Ax(B)
- ("o:" ?,Bu(B)
- ("o\"" ?,Av(B)
- ("o^" ?,At(B)
- ("o_" ?,A:(B)
- ("o`" ?,Ar(B)
- ("o~" ?,Au(B)
- ("r'" ?,B`(B)
- ("r," ?,D3(B)
- ("r~" ?,Bx(B)
- ("s'" ?,B6(B)
- ("s," ?,B:(B)
- ("s/" ?,A_(B)
- ("s^" ?,C~(B)
- ("s~" ?,B9(B)
- ("t," ?,B~(B)
- ("t/" ?,A~(B)
- ("t/" ?,D<(B)
- ("t~" ?,B;(B)
- ("u'" ?,Az(B)
- ("u," ?,Dy(B)
- ("u-" ?,D~(B)
- ("u." ?,By(B)
- ("u:" ?,B{(B)
- ("u\"" ?,A|(B)
- ("u^" ?,A{(B)
- ("u`" ?,Ay(B)
- ("u~" ?,D}(B)
- ("u~" ?,C}(B)
- ("y'" ?,A}(B)
- ("y\"" ?,A(B)
- ("z'" ?,B<(B)
- ("z." ?,B?(B)
- ("z~" ?,B>(B)
+;; XEmacs change; only map some characters if our XEmacs supports them, this
+;; is the idea behind the macrolet.
+(macrolet
+ ((quail-define-latin-postfix (&rest rules)
+ (let ((unicode (prog1
+ (getf rules :unicode rules)
+ (remf rules :unicode))))
+ (mapl
+ (function*
+ (lambda ((rule . rules))
+ (let ((assoc (assoc (car rule) rules)))
+ (and assoc
+ (warn "latin-postfix: rule %S overridden by %S"
+ rule assoc)))))
+ (append rules unicode))
+ `(quail-install-map
+ (let ((map ',(let ((map (list nil)))
+ (mapc (function*
+ (lambda ((key trans . rest))
+ (quail-defrule-internal key trans map)))
+ rules)
+ map)))
+ (when latin-post-decent-xemacs-unicode-support
+ (mapc (function*
+ (lambda ((key trans . rest))
+ (setf (aref trans 0)
+ (string (decode-char 'ucs (aref trans 0))))
+ (quail-defrule-internal key trans map)))
+ ',unicode))
+ map)))))
+ (quail-define-latin-postfix
+:unicode (("$/" [#x20ac ",A#(B"]) ;; These override earlier rules,
which is
+ ("O/" [#x0152 ",AX(B"]) ;; OK in this limited
context.
+ ("Y\"" [#x0178])
+ ("e=" [#x20ac])
+ ("o/" [#x0153 ",Ax(B"]))
+ (" _" ?,A (B)
+ ("!/" ?,A!(B)
+ ("//" ?,A0(B)
+ ("<<" ?\,A+(B)
+ (">>" ?\,A;(B)
+ ("?/" ?,A?(B)
+ ("$/" ?,A#(B)
+ ("A'" ?,AA(B)
+ ("A," ?,B!(B)
+ ("A-" ?,D@(B)
+ ("A/" ?,AE(B)
+ ("A\"" ?,AD(B)
+ ("A^" ?,AB(B)
+ ("A`" ?,A@(B)
+ ("A~" [",AC(B" ",BC(B"])
+ ("C'" ?,BF(B)
+ ("C," ?,AG(B)
+ ("C." ?,CE(B)
+ ("C^" ?,CF(B)
+ ("C~" ?,BH(B)
+ ("D/" [",AP(B" ",BP(B"])
+ ("D~" ?,BO(B)
+ ("E'" ?,AI(B)
+ ("E," ?,BJ(B)
+ ("E-" ?,D*(B)
+ ("E." ?,DL(B)
+ ("E/" ?,AF(B)
+ ("E\"" ?,AK(B)
+ ("E^" ?,AJ(B)
+ ("E`" ?,AH(B)
+ ("E~" ?,BL(B)
+ ("G," ?,D+(B)
+ ("G." ?,CU(B)
+ ("G^" ?,CX(B)
+ ("G~" ?,C+(B)
+ ("H/" ?,C!(B)
+ ("H^" ?,C&(B)
+ ("I'" ?,AM(B)
+ ("I," ?,DG(B)
+ ("I-" ?,DO(B)
+ ("I." ?,C)(B)
+ ("I\"" ?,AO(B)
+ ("I^" ?,AN(B)
+ ("I`" ?,AL(B)
+ ("I~" ?,D%(B)
+ ("J^" ?,C,(B)
+ ("K," ?,DS(B)
+ ("L'" ?,BE(B)
+ ("L," ?,D&(B)
+ ("L/" ?,B#(B)
+ ("L~" ?,B%(B)
+ ("N'" ?,BQ(B)
+ ("N," ?,DQ(B)
+ ("N/" ?,D=(B)
+ ("N~" [",AQ(B" ",BR(B"])
+ ("O'" ?,AS(B)
+ ("O-" ?,DR(B)
+ ("O/" ?,AX(B)
+ ("O:" ?,BU(B)
+ ("O\"" ?,AV(B)
+ ("O^" ?,AT(B)
+ ("O`" ?,AR(B)
+ ("O~" ?,AU(B)
+ ("R'" ?,B@(B)
+ ("R," ?,D#(B)
+ ("R~" ?,BX(B)
+ ("S'" ?,B&(B)
+ ("S," ?,B*(B)
+ ("S^" ?,C^(B)
+ ("S~" ?,B)(B)
+ ("T," ?,B^(B)
+ ("T/" [",A^(B" ",D,(B"])
+ ("T~" ?,B+(B)
+ ("U'" ?,AZ(B)
+ ("U," ?,DY(B)
+ ("U-" ?,D^(B)
+ ("U." ?,BY(B)
+ ("U:" ?,B[(B)
+ ("U\"" ?,A\(B)
+ ("U^" ?,A[(B)
+ ("U`" ?,AY(B)
+ ("U~" [",D](B" "$(D*f(B"])
+ ("Y'" ?,A](B)
+ ("Y=" ?,A%(B)
+ ("Z'" ?,B,(B)
+ ("Z." ?,B/(B)
+ ("Z~" ?,B.(B)
+ ("a'" ?,Aa(B)
+ ("a," ?,B1(B)
+ ("a-" ?,D`(B)
+ ("a/" ?,Ae(B)
+ ("a\"" ?,Ad(B)
+ ("a^" ?,Ab(B)
+ ("a_" ?,A*(B)
+ ("a`" ?,A`(B)
+ ("a~" [",Ac(B" ",Bc(B"])
+ ("c'" ?,Bf(B)
+ ("c," ?,Ag(B)
+ ("c." ?,Ce(B)
+ ("c^" ?,Cf(B)
+ ("c~" ?,Bh(B)
+ ("c/" ?,A"(B)
+ ("d/" [",Ap(B" ",Bp(B"])
+ ("d~" ?,Bo(B)
+ ("e'" ?,Ai(B)
+ ("e," ?,Bj(B)
+ ("e-" ?,D:(B)
+ ("e." ?,Dl(B)
+ ("e/" ?,Af(B)
+ ("e\"" ?,Ak(B)
+ ("e^" ?,Aj(B)
+ ("e`" ?,Ah(B)
+ ("e~" ?,Bl(B)
+ ("g," ?,D;(B)
+ ("g." ?,Cu(B)
+ ("g^" ?,Cx(B)
+ ("g~" ?,C;(B)
+ ("h/" ?,C1(B)
+ ("h^" ?,C6(B)
+ ("i'" ?,Am(B)
+ ("i," ?,Dg(B)
+ ("i-" ?,Do(B)
+ ("i." ?,C9(B)
+ ("i\"" ?,Ao(B)
+ ("i^" ?,An(B)
+ ("i`" ?,Al(B)
+ ("i~" ?,D5(B)
+ ("j^" ?,C<(B)
+ ("k," ?,Ds(B)
+ ("k/" ?,D"(B)
+ ("l'" ?,Be(B)
+ ("l," ?,D6(B)
+ ("l/" ?,B3(B)
+ ("l~" ?,B5(B)
+ ("n'" ?,Bq(B)
+ ("n," ?,Dq(B)
+ ("n/" ?,D?(B)
+ ("n~" [",Aq(B" ",Br(B"])
+ ("o'" ?,As(B)
+ ("o-" ?,Dr(B)
+ ("o/" ?,Ax(B)
+ ("o:" ?,Bu(B)
+ ("o\"" ?,Av(B)
+ ("o^" ?,At(B)
+ ("o_" ?,A:(B)
+ ("o`" ?,Ar(B)
+ ("o~" ?,Au(B)
+ ("r'" ?,B`(B)
+ ("r," ?,D3(B)
+ ("r~" ?,Bx(B)
+ ("s'" ?,B6(B)
+ ("s," ?,B:(B)
+ ("s/" ?,A_(B)
+ ("s^" ?,C~(B)
+ ("s~" ?,B9(B)
+ ("t," ?,B~(B)
+ ("t/" [",A~(B" ",D<(B"])
+ ("t~" ?,B;(B)
+ ("u'" ?,Az(B)
+ ("u," ?,Dy(B)
+ ("u-" ?,D~(B)
+ ("u." ?,By(B)
+ ("u:" ?,B{(B)
+ ("u\"" ?,A|(B)
+ ("u^" ?,A{(B)
+ ("u`" ?,Ay(B)
+ ("u~" [",D}(B" ",C}(B"])
+ ("y'" ?,A}(B)
+ ("y\"" ?,A(B)
+ ("z'" ?,B<(B)
+ ("z." ?,B?(B)
+ ("z~" ?,B>(B)
- ("!//" ["!/"])
- ("///" ["//"])
- ("<<<" ["<<"])
- (">>>" [">>"])
- ("?//" ["?/"])
- ("$//" ["$/"])
- ("A''" ["A'"])
- ("A,," ["A,"])
- ("A--" ["A-"])
- ("A//" ["A/"])
- ("A\"\"" ["A\""])
- ("A^^" ["A^"])
- ("A``" ["A`"])
- ("A~~" ["A~"])
- ("C''" ["C'"])
- ("C,," ["C,"])
- ("C.." ["C."])
- ("C^^" ["C^"])
- ("C~~" ["C~"])
- ("D//" ["D/"])
- ("D~~" ["D~"])
- ("E''" ["E'"])
- ("E,," ["E,"])
- ("E--" ["E-"])
- ("E.." ["E."])
- ("E//" ["E/"])
- ("E\"\"" ["E\""])
- ("E^^" ["E^"])
- ("E``" ["E`"])
- ("E~~" ["E~"])
- ("G,," ["G,"])
- ("G.." ["G."])
- ("G^^" ["G^"])
- ("G~~" ["G~"])
- ("H//" ["H/"])
- ("H^^" ["H^"])
- ("I''" ["I'"])
- ("I,," ["I,"])
- ("I--" ["I-"])
- ("I.." ["I."])
- ("I\"\"" ["I\""])
- ("I^^" ["I^"])
- ("I``" ["I`"])
- ("I~~" ["I~"])
- ("J^^" ["J^"])
- ("K,," ["K,"])
- ("L''" ["L'"])
- ("L,," ["L,"])
- ("L//" ["L/"])
- ("L~~" ["L~"])
- ("N''" ["N'"])
- ("N,," ["N,"])
- ("N//" ["N/"])
- ("N~~" ["N~"])
- ("O''" ["O'"])
- ("O--" ["O-"])
- ("O//" ["O/"])
- ("O::" ["O:"])
- ("O\"\"" ["O\""])
- ("O^^" ["O^"])
- ("O``" ["O`"])
- ("O~~" ["O~"])
- ("R''" ["R'"])
- ("R,," ["R,"])
- ("R~~" ["R~"])
- ("S''" ["S'"])
- ("S,," ["S,"])
- ("S^^" ["S^"])
- ("S~~" ["S~"])
- ("T,," ["T,"])
- ("T//" ["T/"])
- ("T~~" ["T~"])
- ("U''" ["U'"])
- ("U,," ["U,"])
- ("U--" ["U-"])
- ("U.." ["U."])
- ("U::" ["U:"])
- ("U\"\"" ["U\""])
- ("U^^" ["U^"])
- ("U``" ["U`"])
- ("U~~" ["U~"])
- ("Y''" ["Y'"])
- ("Y\"\"" ["Y\""])
- ("Y==" ["Y="])
- ("Z''" ["Z'"])
- ("Z.." ["Z."])
- ("Z~~" ["Z~"])
- ("a''" ["a'"])
- ("a,," ["a,"])
- ("a--" ["a-"])
- ("a//" ["a/"])
- ("a\"\"" ["a\""])
- ("a^^" ["a^"])
- ("a__" ["a_"])
- ("a``" ["a`"])
- ("a~~" ["a~"])
- ("c''" ["c'"])
- ("c,," ["c,"])
- ("c.." ["c."])
- ("c^^" ["c^"])
- ("c~~" ["c~"])
- ("c//" ["c/"])
- ("d//" ["d/"])
- ("d~~" ["d~"])
- ("e''" ["e'"])
- ("e,," ["e,"])
- ("e--" ["e-"])
- ("e.." ["e."])
- ("e//" ["e/"])
- ("e\"\"" ["e\""])
- ("e^^" ["e^"])
- ("e``" ["e`"])
- ("e==" ["e="])
- ("e~~" ["e~"])
- ("g,," ["g,"])
- ("g.." ["g."])
- ("g^^" ["g^"])
- ("g~~" ["g~"])
- ("h//" ["h/"])
- ("h^^" ["h^"])
- ("i''" ["i'"])
- ("i,," ["i,"])
- ("i--" ["i-"])
- ("i.." ["i."])
- ("i\"\"" ["i\""])
- ("i^^" ["i^"])
- ("i``" ["i`"])
- ("i~~" ["i~"])
- ("j^^" ["j^"])
- ("k,," ["k,"])
- ("k//" ["k/"])
- ("l''" ["l'"])
- ("l,," ["l,"])
- ("l//" ["l/"])
- ("l~~" ["l~"])
- ("n''" ["n'"])
- ("n,," ["n,"])
- ("n//" ["n/"])
- ("n~~" ["n~"])
- ("o''" ["o'"])
- ("o--" ["o-"])
- ("o//" ["o/"])
- ("o::" ["o:"])
- ("o\"\"" ["o\""])
- ("o^^" ["o^"])
- ("o__" ["o_"])
- ("o``" ["o`"])
- ("o~~" ["o~"])
- ("r''" ["r'"])
- ("r,," ["r,"])
- ("r~~" ["r~"])
- ("s''" ["s'"])
- ("s,," ["s,"])
- ("s//" ["s/"])
- ("s^^" ["s^"])
- ("s~~" ["s~"])
- ("t,," ["t,"])
- ("t//" ["t/"])
- ("t~~" ["t~"])
- ("u''" ["u'"])
- ("u,," ["u,"])
- ("u--" ["u-"])
- ("u.." ["u."])
- ("u::" ["u:"])
- ("u\"\"" ["u\""])
- ("u^^" ["u^"])
- ("u``" ["u`"])
- ("u~~" ["u~"])
- ("y''" ["y'"])
- ("y\"\"" ["y\""])
- ("z''" ["z'"])
- ("z.." ["z."])
- ("z~~" ["z~"]))
- ;; XEmacs change; only map some characters if our XEmacs supports them.
- (when latin-post-decent-xemacs-unicode-support
- (list (list "$/" (decode-char 'ucs #x20ac))
- (list "O/" (decode-char 'ucs #x152))
- (list "Y\"" (decode-char 'ucs #x178))
- (list "e=" (decode-char 'ucs #x20ac))
- (list "o/" (decode-char 'ucs #x153))))))
+ ("!//" ["!/"])
+ ("///" ["//"])
+ ("<<<" ["<<"])
+ (">>>" [">>"])
+ ("?//" ["?/"])
+ ("$//" ["$/"])
+ ("A''" ["A'"])
+ ("A,," ["A,"])
+ ("A--" ["A-"])
+ ("A//" ["A/"])
+ ("A\"\"" ["A\""])
+ ("A^^" ["A^"])
+ ("A``" ["A`"])
+ ("A~~" ["A~"])
+ ("C''" ["C'"])
+ ("C,," ["C,"])
+ ("C.." ["C."])
+ ("C^^" ["C^"])
+ ("C~~" ["C~"])
+ ("D//" ["D/"])
+ ("D~~" ["D~"])
+ ("E''" ["E'"])
+ ("E,," ["E,"])
+ ("E--" ["E-"])
+ ("E.." ["E."])
+ ("E//" ["E/"])
+ ("E\"\"" ["E\""])
+ ("E^^" ["E^"])
+ ("E``" ["E`"])
+ ("E~~" ["E~"])
+ ("G,," ["G,"])
+ ("G.." ["G."])
+ ("G^^" ["G^"])
+ ("G~~" ["G~"])
+ ("H//" ["H/"])
+ ("H^^" ["H^"])
+ ("I''" ["I'"])
+ ("I,," ["I,"])
+ ("I--" ["I-"])
+ ("I.." ["I."])
+ ("I\"\"" ["I\""])
+ ("I^^" ["I^"])
+ ("I``" ["I`"])
+ ("I~~" ["I~"])
+ ("J^^" ["J^"])
+ ("K,," ["K,"])
+ ("L''" ["L'"])
+ ("L,," ["L,"])
+ ("L//" ["L/"])
+ ("L~~" ["L~"])
+ ("N''" ["N'"])
+ ("N,," ["N,"])
+ ("N//" ["N/"])
+ ("N~~" ["N~"])
+ ("O''" ["O'"])
+ ("O--" ["O-"])
+ ("O//" ["O/"])
+ ("O::" ["O:"])
+ ("O\"\"" ["O\""])
+ ("O^^" ["O^"])
+ ("O``" ["O`"])
+ ("O~~" ["O~"])
+ ("R''" ["R'"])
+ ("R,," ["R,"])
+ ("R~~" ["R~"])
+ ("S''" ["S'"])
+ ("S,," ["S,"])
+ ("S^^" ["S^"])
+ ("S~~" ["S~"])
+ ("T,," ["T,"])
+ ("T//" ["T/"])
+ ("T~~" ["T~"])
+ ("U''" ["U'"])
+ ("U,," ["U,"])
+ ("U--" ["U-"])
+ ("U.." ["U."])
+ ("U::" ["U:"])
+ ("U\"\"" ["U\""])
+ ("U^^" ["U^"])
+ ("U``" ["U`"])
+ ("U~~" ["U~"])
+ ("Y''" ["Y'"])
+ ("Y\"\"" ["Y\""])
+ ("Y==" ["Y="])
+ ("Z''" ["Z'"])
+ ("Z.." ["Z."])
+ ("Z~~" ["Z~"])
+ ("a''" ["a'"])
+ ("a,," ["a,"])
+ ("a--" ["a-"])
+ ("a//" ["a/"])
+ ("a\"\"" ["a\""])
+ ("a^^" ["a^"])
+ ("a__" ["a_"])
+ ("a``" ["a`"])
+ ("a~~" ["a~"])
+ ("c''" ["c'"])
+ ("c,," ["c,"])
+ ("c.." ["c."])
+ ("c^^" ["c^"])
+ ("c~~" ["c~"])
+ ("c//" ["c/"])
+ ("d//" ["d/"])
+ ("d~~" ["d~"])
+ ("e''" ["e'"])
+ ("e,," ["e,"])
+ ("e--" ["e-"])
+ ("e.." ["e."])
+ ("e//" ["e/"])
+ ("e\"\"" ["e\""])
+ ("e^^" ["e^"])
+ ("e``" ["e`"])
+ ("e==" ["e="])
+ ("e~~" ["e~"])
+ ("g,," ["g,"])
+ ("g.." ["g."])
+ ("g^^" ["g^"])
+ ("g~~" ["g~"])
+ ("h//" ["h/"])
+ ("h^^" ["h^"])
+ ("i''" ["i'"])
+ ("i,," ["i,"])
+ ("i--" ["i-"])
+ ("i.." ["i."])
+ ("i\"\"" ["i\""])
+ ("i^^" ["i^"])
+ ("i``" ["i`"])
+ ("i~~" ["i~"])
+ ("j^^" ["j^"])
+ ("k,," ["k,"])
+ ("k//" ["k/"])
+ ("l''" ["l'"])
+ ("l,," ["l,"])
+ ("l//" ["l/"])
+ ("l~~" ["l~"])
+ ("n''" ["n'"])
+ ("n,," ["n,"])
+ ("n//" ["n/"])
+ ("n~~" ["n~"])
+ ("o''" ["o'"])
+ ("o--" ["o-"])
+ ("o//" ["o/"])
+ ("o::" ["o:"])
+ ("o\"\"" ["o\""])
+ ("o^^" ["o^"])
+ ("o__" ["o_"])
+ ("o``" ["o`"])
+ ("o~~" ["o~"])
+ ("r''" ["r'"])
+ ("r,," ["r,"])
+ ("r~~" ["r~"])
+ ("s''" ["s'"])
+ ("s,," ["s,"])
+ ("s//" ["s/"])
+ ("s^^" ["s^"])
+ ("s~~" ["s~"])
+ ("t,," ["t,"])
+ ("t//" ["t/"])
+ ("t~~" ["t~"])
+ ("u''" ["u'"])
+ ("u,," ["u,"])
+ ("u--" ["u-"])
+ ("u.." ["u."])
+ ("u::" ["u:"])
+ ("u\"\"" ["u\""])
+ ("u^^" ["u^"])
+ ("u``" ["u`"])
+ ("u~~" ["u~"])
+ ("y''" ["y'"])
+ ("y\"\"" ["y\""])
+ ("z''" ["z'"])
+ ("z.." ["z."])
+ ("z~~" ["z~"])))
;; Derived from Slovenian.kmap from Yudit
;; attributed as: 2001-11-11 Roman Maurer <roman.maurer(a)amis.net>
Repository URL:
https://bitbucket.org/xemacs/leim/
--
This is a commit notification from
bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches