[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: error upon load and tab navigation [PATCH included]
In [emacs-w3m : No.12732]
On Mon, 10 Jul 2017 01:36:43 -0400, Boruch Baum wrote:
> 1] For I don't know how long, I've been getting the following errors
> logged to my *Messages* buffer when loading emacs-w3m via M-x w3m,
> and when tabbing through links / forms / images on a page.
> #+BEGIN_SRC conf
> w3m-replace-in-string: Wrong type argument:
> arrayp, nil Error in post-command-hook (w3m-check-current-position):
> (wrong-type-argument arrayp nil)
`w3m-check-current-position' runs `w3m-after-cursor-move-hook'
in which these functions are listed by default:
Is it possible to know what function calls `w3m-replace-in-string'
with a non-string argument? Well, I think the following function
definition will reveal it if `debug-on-error' is t.
(defun w3m-replace-in-string (string regexp newtext &optional literal)
(or regexp newtext string (error "XXX"))
(replace-regexp-in-string regexp newtext string nil literal))
> 2] In the attached patch, please notice that I also removed a check
> for the existence of function `replace-regexp-in-string' and
> removed an option to alias a command to function
Emacs-w3m hasn't officially dropped the XEmacs support yet, so
we cannot remove `replace-in-string'.
xemacs-21.4.24 -batch -q -eval\
'(message "%s" (fboundp (quote replace-regexp-in-string)))'
> My guess is that code was written at some point in the ancient past
> before `replace-regexp-in-string' became a standard part of emacs,
> and when there did exist a function called `replace-in-string'.
> That hasn't been the case since at least four years.
That's right. Emacs-w3m followed in Gnus' foot steps. But Gnus
dropped the XEmacs support and `gnus-replace-in-string' was marked
obsolete in Emacs 26. I have no objection on dropping it even if
I have a nostalgia on XEmacs (the tab-browsing feature of emacs-w3m
has started with XEmacs ;-).
> 3] There are several cases similar to #2 above in `w3m-util.el' for
> which I'd be happy to provide patches if you agree that this is
> desirable. Some examples:
Before staring those works, we have to decide what versions of
Emacs (and XEmacs, SXEmacs ...) that emacs-w3m should support.