[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Patch to emacs-w3m
Katsumi Yamaoka writes:
> >>>>> In [emacs-w3m : No.05920]
> >>>>> "Jose A. Ortega Ruiz" <firstname.lastname@example.org> wrote:
> > i look forward for your contribution, and hope too that it will be
> > incorporated to w3m... it the meantime, if katsumi agrees with us,
> > it'd be nice to incorporate my simple fix (assuming it's really a fix)
> > for the sake of current users (potentially) having problems with the
> > jde/w3m combo: what do you think, katsumi? :)
> I've installed your patch in CVS. JDE and emacs-w3m are safe
> now. ;-)
As promised, here is a version of w3m-decode-entity-string
that handles strings with multiple embedded entities without
creating a temporary buffer.
(defun w3m-decode-entity-string (encoded-str)
"Decode entities in the string STR."
(let (decoded-str (curr-pos 0) match-pos)
(setq match-pos (string-match w3m-entity-regexp encoded-str curr-pos))
(substring encoded-str curr-pos match-pos)
(match-string 1 encoded-str)
(setq curr-pos (match-end 0))
(setq match-pos (string-match w3m-entity-regexp encoded-str curr-pos))))
(concat decoded-str (substring encoded-str curr-pos (length encoded-str)))))
Here is the output of the function for several test cases:
ELISP> (w3m-decode-entity-string "&<>")
ELISP> (w3m-decode-entity-string " paul & jose <katsumi> ")
" paul & jose <katsumi> "
ELISP> (w3m-decode-entity-string "no entities")
> P.S. Now I'm writing vm-w3m.el which supports cid urls and
> doesn't require changing VM 7.17.
I look forward to this enhancement.
My thanks to you, Katsumi, and the other emacs-w3m maintainers for
contributing such a useful package to the Emacs community.