commit/leim: 2 new changesets
11 years, 2 months
Bitbucket
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
[COMMIT ERC] Fix a couple of ERC bugs, thank you Johann Myrkraverk Oskarsson.
11 years, 2 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1375541218 -3600
# Node ID d56da29e55b2ddc5d8e2bf23f4a53b184913bc4e
# Parent 63205fffa0eca7e872cb62c176cda7d1e0d627f6
Fix a couple of ERC bugs, thank you Johann Myrkraverk Oskarsson.
ChangeLog addition:
2013-08-03 Aidan Kehoe <kehoea(a)parhasard.net>
* erc-log.el (erc-log-setup-logging):
Avoid attempting to insert at a negative offset if the log file is
smaller than erc-max-buffer-size; patch from Johann 'Myrkraverk'
Oskarsson <myrkraverk(a)gmail.com>, thank you Johann.
* erc-goodies.el (erc-make-read-only):
Avoid making the input buffer, or its prefix, read-only on
truncating. Also from Johann, thank you Johann.
diff -r 63205fffa0ec -r d56da29e55b2 ChangeLog
--- a/ChangeLog Sat Sep 03 14:45:36 2011 +0200
+++ b/ChangeLog Sat Aug 03 15:46:58 2013 +0100
@@ -1,3 +1,13 @@
+2013-08-03 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * erc-log.el (erc-log-setup-logging):
+ Avoid attempting to insert at a negative offset if the log file is
+ smaller than erc-max-buffer-size; patch from Johann 'Myrkraverk'
+ Oskarsson <myrkraverk(a)gmail.com>, thank you Johann.
+ * erc-goodies.el (erc-make-read-only):
+ Avoid making the input buffer, or its prefix, read-only on
+ truncating. Also from Johann, thank you Johann.
+
2009-09-15 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 0.23 released.
diff -r 63205fffa0ec -r d56da29e55b2 erc-goodies.el
--- a/erc-goodies.el Sat Sep 03 14:45:36 2011 +0200
+++ b/erc-goodies.el Sat Aug 03 15:46:58 2013 +0100
@@ -106,9 +106,20 @@
(defun erc-make-read-only ()
"Make all the text in the current buffer read-only.
Put this function on `erc-insert-post-hook' and/or `erc-send-post-hook'."
- (put-text-property (point-min) (point-max) 'read-only t)
- (put-text-property (point-min) (point-max) 'front-sticky t)
- (put-text-property (point-min) (point-max) 'rear-nonsticky t))
+ (if (featurep 'xemacs)
+ (let ((extent (car (extent-list nil nil nil nil 'name 'erc-read-only))))
+ (cond (extent
+ ;; The buffer may be (or definitely is) narrowed to the
+ ;; recently inserted text, hence explicitly using 1 and not
+ ;; (point-min).
+ (set-extent-endpoints extent 1 erc-insert-marker))
+ (t
+ (setq extent (make-extent 1 erc-insert-marker))
+ (set-extent-property extent 'name 'erc-read-only)
+ (set-extent-property extent 'read-only t))))
+ (put-text-property (point-min) (point-max) 'read-only t)
+ (put-text-property (point-min) (point-max) 'front-sticky t)
+ (put-text-property (point-min) (point-max) 'rear-nonsticky t)))
;; Distinguish non-commands
(defvar erc-noncommands-list '(erc-cmd-ME
diff -r 63205fffa0ec -r d56da29e55b2 erc-log.el
--- a/erc-log.el Sat Sep 03 14:45:36 2011 +0200
+++ b/erc-log.el Sat Aug 03 15:46:58 2013 +0100
@@ -235,7 +235,7 @@
(start (if (and log-file-size
(memq 'erc-truncate-buffer
erc-insert-post-hook))
- (- log-file-size erc-max-buffer-size)
+ (max (- log-file-size erc-max-buffer-size) 0)
0)))
(ignore-errors (insert-file-contents log-file nil start
log-file-size))
--
‘Liston operated so fast that he once accidentally amputated an assistant’s
fingers along with a patient’s leg, […] The patient and the assistant both
died of sepsis, and a spectator reportedly died of shock, resulting in the
only known procedure with a 300% mortality.’ (Atul Gawande, NEJM, 2012)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches
commit/erc: kehoea: Fix a couple of ERC bugs, thank you Johann Myrkraverk Oskarsson.
11 years, 2 months
Bitbucket
1 new commit in erc:
https://bitbucket.org/xemacs/erc/commits/d56da29e55b2/
Changeset: d56da29e55b2
User: kehoea
Date: 2013-08-03 16:46:58
Summary: Fix a couple of ERC bugs, thank you Johann Myrkraverk Oskarsson.
ChangeLog addition:
2013-08-03 Aidan Kehoe <kehoea(a)parhasard.net>
* erc-log.el (erc-log-setup-logging):
Avoid attempting to insert at a negative offset if the log file is
smaller than erc-max-buffer-size; patch from Johann 'Myrkraverk'
Oskarsson <myrkraverk(a)gmail.com>, thank you Johann.
* erc-goodies.el (erc-make-read-only):
Avoid making the input buffer, or its prefix, read-only on
truncating. Also from Johann, thank you Johann.
Affected #: 3 files
diff -r 63205fffa0eca7e872cb62c176cda7d1e0d627f6 -r d56da29e55b2ddc5d8e2bf23f4a53b184913bc4e ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2013-08-03 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * erc-log.el (erc-log-setup-logging):
+ Avoid attempting to insert at a negative offset if the log file is
+ smaller than erc-max-buffer-size; patch from Johann 'Myrkraverk'
+ Oskarsson <myrkraverk(a)gmail.com>, thank you Johann.
+ * erc-goodies.el (erc-make-read-only):
+ Avoid making the input buffer, or its prefix, read-only on
+ truncating. Also from Johann, thank you Johann.
+
2009-09-15 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 0.23 released.
diff -r 63205fffa0eca7e872cb62c176cda7d1e0d627f6 -r d56da29e55b2ddc5d8e2bf23f4a53b184913bc4e erc-goodies.el
--- a/erc-goodies.el
+++ b/erc-goodies.el
@@ -106,9 +106,20 @@
(defun erc-make-read-only ()
"Make all the text in the current buffer read-only.
Put this function on `erc-insert-post-hook' and/or `erc-send-post-hook'."
- (put-text-property (point-min) (point-max) 'read-only t)
- (put-text-property (point-min) (point-max) 'front-sticky t)
- (put-text-property (point-min) (point-max) 'rear-nonsticky t))
+ (if (featurep 'xemacs)
+ (let ((extent (car (extent-list nil nil nil nil 'name 'erc-read-only))))
+ (cond (extent
+ ;; The buffer may be (or definitely is) narrowed to the
+ ;; recently inserted text, hence explicitly using 1 and not
+ ;; (point-min).
+ (set-extent-endpoints extent 1 erc-insert-marker))
+ (t
+ (setq extent (make-extent 1 erc-insert-marker))
+ (set-extent-property extent 'name 'erc-read-only)
+ (set-extent-property extent 'read-only t))))
+ (put-text-property (point-min) (point-max) 'read-only t)
+ (put-text-property (point-min) (point-max) 'front-sticky t)
+ (put-text-property (point-min) (point-max) 'rear-nonsticky t)))
;; Distinguish non-commands
(defvar erc-noncommands-list '(erc-cmd-ME
diff -r 63205fffa0eca7e872cb62c176cda7d1e0d627f6 -r d56da29e55b2ddc5d8e2bf23f4a53b184913bc4e erc-log.el
--- a/erc-log.el
+++ b/erc-log.el
@@ -235,7 +235,7 @@
(start (if (and log-file-size
(memq 'erc-truncate-buffer
erc-insert-post-hook))
- (- log-file-size erc-max-buffer-size)
+ (max (- log-file-size erc-max-buffer-size) 0)
0)))
(ignore-errors (insert-file-contents log-file nil start
log-file-size))
Repository URL: https://bitbucket.org/xemacs/erc/
--
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