commit/leim: 2 new changesets
11 years, 8 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 …
[View More]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
[View Less]
[COMMIT ERC] Fix a couple of ERC bugs, thank you Johann Myrkraverk Oskarsson.
11 years, 8 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 …
[View More]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
[View Less]
commit/erc: kehoea: Fix a couple of ERC bugs, thank you Johann Myrkraverk Oskarsson.
11 years, 8 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 &…
[View More]lt;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
[View Less]