The function sc-attribs-%@-addresses in the current supercite package
yields different results than the one packaged with XEmacs 20.4.
With the 20.4 supercite, I evaluate the following
(sc-attribs-%@-addresses "\"Jeff Miller\" <jmiller(a)smart.net>"
"@")
and get "jmiller" as the result, which seems correct based on the doc
string.
"Extract the author's email terminus from email address FROM."
With the current supercite, if I evaluate the above lisp, I get "Jeff" as
the result.
If you look at the functions in the two versions, they are quite
different.
20.4:
(defun sc-attribs-%@-addresses (from &optional delim)
"Extract the author's email terminus from email address FROM.
Match addresses of the style ``name%[stuff].'' when called with DELIM
of \"%\" and addresses of the style ``[stuff]name@[stuff]'' when
called with DELIM \"@\". If DELIM is nil or not provided, matches
addresses of the style ``name''."
(and (string-match (concat "[-a-zA-Z0-9_.]+" delim) from 0)
(substring from
(match-beginning 0)
(- (match-end 0) (if (null delim) 0 1)))))
Current:
(defun sc-attribs-%@-addresses (from &optional delim)
"Extract the author's email terminus from email address FROM.
Match addresses of the style ``name%[stuff].'' when called with DELIM
of \"%\" and addresses of the style ``[stuff]name@[stuff]'' when
called with DELIM \"@\". If DELIM is nil or not provided, matches
addresses of the style ``name''."
;; Handle X.400 addresses where G & S fields contain the sender name.
(if (string-match "/[GS]=\\([-a-zA-Z0-9_.]+\\)\\|\\([-+a-zA-Z0-9_.]+\\)"
from)
(if (match-beginning 2)
(substring from (match-beginning 2) (match-end 2))
(substring from (match-beginning 1) (match-end 1)))))
You'll notice the current version never even used the delim argument!
Unfortunately, I'm not sure what the correct fix is.........
Jeff