>>>> "Stephen" == Stephen J Turnbull
<stephen(a)xemacs.org>:
>>>> "Jan" == Jan Rychter <jan(a)rychter.com> writes:
Jan> The current situation basically means that mail-extr is broken for
Jan> anyone who doesn't use ASCII + ISO-8859-1. It breaks BBDB and
Jan> Supercite for me. I'd consider it quite serious breakage.
Stephen> So? Fixing XEmacs is hard; I hope to do this for 21.5 but
Stephen> you'd have to pay me to do it for 21.4 (it would require
Stephen> extensive testing to make sure it doesn't break other parts of
Stephen> the regexp engine _before_ committing it to the repository for
Stephen> the stable branch).
Stephen,
Sorry -- if I knew how to fix it, a patch would already have been in
your mail. The reason I'm bringing this up (repeatedly) is because I
don't know how to properly fix it. And I think that the fact that
XEmacs+Gnus+BBDB is broken for many people is rather important.
Stephen> Fixing mail-extr is easy: add the necessary characters to the
Stephen> character class. I don't know what they are; you do. Tell
Stephen> us! (Preferably in the form of a patch.)
I don't think it's possible to add all the necessary characters. I know
what they are for the Polish language, but there are probably many other
languages affected by this, not just Polish.
Following your advice, I'll just fix my copy as best I can, send you the
changes I've made (even though I know they are not general and are just
useless for most people) and shut up about the issue. I still think it's
a good idea to remember about the problem...
--J.
diff -u /usr/src/xemacs/packages/xemacs-packages/mail-lib/mail-extr.el
/local/lib/xemacs/xemacs-packages/lisp/mail-lib/mail-extr.el
--- /usr/src/xemacs/packages/xemacs-packages/mail-lib/mail-extr.el 2003-06-26
13:34:19.000000000 -0700
+++ /local/lib/xemacs/xemacs-packages/lisp/mail-lib/mail-extr.el 2003-06-26
13:34:19.000000000 -0700
@@ -302,8 +302,19 @@
;; You will also notice the consideration for the
;; Swedish/Finnish/Norwegian character set.
;; XEmacs: go to \376 instead of \377 to work around bug in search.c...
+
+;; The Polish part of ISO-8859-2 additionally requires:
+;; (161 198 202 163 209 211 166 172 175 177 230 234 179 241 243 182 188 191)
+;; (?A ?C ?E ?L ?N ?O ?S ?Z ?Z ?a ?c ?e ?l ?n ?o ?s ?z ?z)
+;; Aogonek Cacute Eogonek Lslash Nacute Oacute Sacute Zacute Zdotaccent
+;; aogonek cacute eogonek lslash nacute oacute sacute zacute zdotaccent
+(defconst mail-extr-pl-chars (mapcar #'(lambda (a)
+ (make-char 'latin-iso8859-2 a))
+ '(161 198 202 163 209 211 166 172 175
+ 177 230 234 179 241 243 182 188 191)))
+
(defconst mail-extr-all-letters-but-separators
- (purecopy "][A-Za-z{|}'~0-9`\200-\376")) ;; XEmacs
+ (purecopy (concat "][A-Za-z{|}'~0-9`\200-\376" mail-extr-pl-chars))) ;;
XEmacs
;; Any character that can occur in a name in an RFC822 address including
;; the separator (hyphen and possibly period) for multipart names.
@@ -313,11 +324,11 @@
;; Any character that can start a name.
;; Keep this set as minimal as possible.
-(defconst mail-extr-first-letters (purecopy "A-Za-z")) ;; XEmacs
+(defconst mail-extr-first-letters (purecopy (concat "A-Za-z"
mail-extr-pl-chars))) ;; XEmacs
;; Any character that can end a name.
;; Keep this set as minimal as possible.
-(defconst mail-extr-last-letters (purecopy "[A-Za-z`'.")) ;; XEmacs
+(defconst mail-extr-last-letters (purecopy (concat "[A-Za-z`'."
mail-extr-pl-chars))) ;; XEmacs
(defconst mail-extr-leading-garbage "\\W+")