"Stephen J. Turnbull" wrote:
>>>>> "Markus" == Markus Alt <altmark(a)de.ibm.com> writes:
Markus> I also get that error Giacomo described with 21.5.12, but
Markus> not with 21.4.12 where the value of w3-configuration-data
Markus> is exactly the same.
Markus> However, my backtrace is a bit different:
Markus> Signaling: (wrong-type-argument integerp nil)
Markus> w3-configuration-data(datadir)
This is due to my patch which clears the match data unconditionally on
preparing every search. The function `w3-configuration-data' depends
on match data persisting if the search fails. I will revert the
change soon, but I'm undecided as to exactly how to do that (the patch
fixed a couple of bugs en passant).
The following version of `w3-configuration-data' is NOT ROBUST, but
will work with the XEmacs package distribution of w3.el.
(defun w3-configuration-data (option &optional default)
(warn "Crocked version of `w3-configuration-data' was used!")
(let ((info (or (cdr-safe (assq option w3-configuration-data)) default)))
(if (not (stringp info))
(setq info (eval info)))
(while (string-match "\\$[({]\\([^{(]+\\)[})]" info)
(setq info (concat (substring info 0 (match-beginning 0))
;; CROCK! KLUDGE! Oh, the shame! Don't look!
(save-match-data
(w3-configuration-data (intern (match-string 1
info))
""))
(substring info (match-end 0)))))
info))
Works around the error for me. Thanks, Stephen!
--
Markus Alt
IBM Lab Boeblingen, Germany
altmark(a)de.ibm.com