【问题标题】:Any alternatives to emacs-w3m for html, decoding, etc?用于 html、解码等的 emacs-w3m 的任何替代品?
【发布时间】:2013-05-29 03:08:34
【问题描述】:

根据我在互联网上阅读的内容,emacs-w3m 似乎不适用于当前版本的 Emacs(例如,24.3 或 24.4 之前的开发人员版本)。错误消息与wrong-type-argument arrayp nilw3m-ems 有关。我正在使用 Wanderlust 并希望自动解码 html 电子邮件等等。

谢谢。

看起来第一个问题与wrong-type-argument cclp w3m-euc-japan-decoder 相关,它不是w3m-ems.el 的一部分。如果我发现其他任何东西,我会添加更多。 . .

这是输入 M-x w3m 时的错误消息:

Debugger entered−−Lisp error: (wrong−type−argument arrayp nil)

byte−code("\305\306\307\310!\203\f^@\311\202^M^@\312\"\210\313\314\315\316E\317\313\314\315\320
\211^X\300N)\321HE\322\313\314\315\323\211^X\300N)\321HE\324\313\314\315\325\211^X\300N)\321HE\32
6\307\327!\203F^@\330\202G^@\331FFFF\332B^Y\333\334N\203{^@\335\336\337\340\341\342\343\n\344 ^K$
BDDE!\210\335\336\345\340\341\342\343\f\346 ^K$BDDE!\210\202\235^@\335\336\337\340\341\342\343\n
^K#BDDE!\210\335\336\345\340\341\342\343\f ^K#BDDE!\210)\305\207" [charset source w3m−cc
l−write−euc−japan−character w3m−ccl−generate−ncr w3m−ccl−write−iso−latin−1−character defalias w3m
−make−ccl−coding−system fboundp define−coding−system (lambda (coding−system mnemonic docstring de
coder encoder) "Define a new CODING−SYSTEM by CCL programs DECODER and ENCODER.\nCODING−SYSTEM, D
ECODER and ENCODER must be symbols.\nThis function is an interface to ‘define−coding−system’." (d
efine−coding−system coding−system docstring :mnemonic mnemonic :coding−type (quote ccl) :ccl−deco
der decoder :ccl−encoder encoder)) #[(coding−system mnemonic docstring decoder encoder) "\305^H\3
06 \n^K\fB%\207" [coding−system mnemonic docstring decoder encoder make−coding−system 4] 7 "Def
ine a new CODING−SYSTEM by CCL programs DECODER and ENCODER.\nCODING−SYSTEM, DECODER and ENCODER
must be symbols.\nThis function is an interface to ‘make−coding−system’."] if r1 == 129 ((r1 = (r
0 + 128))) mule−unicode−0100−24ff 0 ((r1 = ((((r0 & 16256) >> 7) − 32) * 96)) (r0 &= 127) (r1 +=
(r0 + 224))) mule−unicode−2500−33ff ((r1 = ((((r0 & 16256) >> 7) − 32) * 96)) (r0 &= 127) (r1 +=
(r0 + 9440))) mule−unicode−e000−ffff ((r1 = ((((r0 & 16256) >> 7) − 32) * 96)) (r0 &= 127) (r1 +=
(r0 + 57312))) ccl−compile−lookup−character ((lookup−character utf−subst−table−for−encode r1 r0)
(if (r7 == 0) (r1 = 65533))) ((r1 = 65533)) ((if (r1 == 65533) (write−repeat 126) (r0 = r1))) ut
f−translation−table−for−encode translation−table−id eval define−ccl−program w3m−euc−japan−encoder
quote 4 loop append ((translate−character utf−translation−table−for−encode r1 r0)) w3m−iso−latin
−1−encoder ((translate−character utf−translation−table−for−encode r1 r0))] 15)
require(w3m−ems)
byte−code("\302\303!\210\302\304!\210^H\305Y\203^U^@\302\306!\210\202#^@\307\310\311\312\313\31
4 \315\"!\316#\"\210^H\317W\204−^@\302\320!\210\302\321!\210\302\322!\210\302\323!\210\302\3
24\325\326#\207" [emacs−major−version emacs−version require w3m−util w3m−proc 21 w3m−ems error "E
macs−w3m of this version no longer supports Emacs %s" mapconcat identity nbutlast split−string "\
\." "." 23 bookmark−w3m w3m−fb w3m−hist timezone image−mode nil t] 8)
autoload−do−load((autoload "w3m" "Visit World Wide Web pages using the external w3m command.\n\
nWhen you invoke this command interactively for the first time, it will\nvisit a page which is po
inted to by a string like url around the\ncursor position or the home page specified by the ‘w3m−
home−page’\nvariable, but you will be prompted for a URL if ‘w3m−quick−start’ is\nnil (default t)
or ‘w3m−home−page’ is nil.\n\nThe variables ‘w3m−pop−up−windows’ and ‘w3m−pop−up−frames’ control
\nwhether this command should pop to a window or a frame up for the\nsession.\n\nWhen emacs−w3m s
essions have already been opened, this command will\npop to the existing window or frame up, but
if ‘w3m−quick−start’ is\nnil, (default t), you will be prompted for a URL (which defaults to\n‘po
pup’ meaning to pop to an existing emacs−w3m buffer up).\n\nIn addition, if the prefix argument i
s given or you enter the empty\nstring for the prompt, it will visit the home page specified by t
he\n‘w3m−home−page’ variable or the \"about:\" page.\n\nYou can also run this command in the batc
h mode as follows:\n\n emacs −f w3m http://emacs−w3m.namazu.org/ &\n\nIn that case, or if this c
ommand is called non−interactively, the\nvariables ‘w3m−pop−up−windows’ and ‘w3m−pop−up−frames’ w
ill be ignored\n(treated as nil) and it will run emacs−w3m at the current (or the\ninitial) windo
w.\n\nIf the optional NEW−SESSION is non−nil, this function makes a new\nemacs−w3m buffer. Besid
es that, it also makes a new emacs−w3m buffer\nif ‘w3m−make−new−session’ is non−nil and a user sp
ecifies a url string.\n\nThe optional INTERACTIVE−P is for the internal use; it is mainly used\nt
o check whether Emacs 22 or later calls this function as an\ninteractive command in the batch mod
e.\n\n(fn &optional URL NEW−SESSION INTERACTIVE−P)" t nil) w3m)
command−execute(w3m record)
execute−extended−command(nil "w3m") call−interactively(execute−extended−command nil nil) command−execute(execute−extended−command)

【问题讨论】:

  • 我现在正在使用它与 emacs 中继,我没有任何问题。
  • 我认为来自 Github 和 CVS 下载以及来自 emacs-w3m-1.4.4.tar.gz 的 OSX 上 w3m 的 make 文件可能存在问题。我已经向包裹的邮件列表发送了一封电子邮件,他们的回复似乎表明字节压缩文件配置不正确。我当然希望有一种方法可以绕过制作过程,只需下载 OSX 的构建目录。我正在使用 Aquamacs post24.3/pre24.4 的开发人员版本,它应该大致相当于 emacs 主干(拼写检查除外)。但是,我可以看到,在构建 emacs-w3m 时,make 过程有错误。
  • 好的,我安装了 Github,没有出现错误。我接下来要试试emacs trunk。
  • 不,与 emacs-trunk 相同。我会将错误消息添加到问题中。
  • 字节编译过程中的错误/警告可能会给你一个提示。

标签: emacs


【解决方案1】:

删除或重命名 w3m-ems.elcw3m.elc 以便加载相应的 .el 文件。在从 Github 构建 emacs-w3m 时,OSX Mountain Lion 上出现的字节编译错误现已解决(即通过删除损坏的文件):

git://github.com/emacsmirror/w3m.git

在构建过程中,我还遇到了来自以下两个源的各种错误:

emacs-w3m-1.4.4.tar.gz at http://emacs-w3m.namazu.org/#download

cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m

在 OSX 机器(Mountain Lion)上,我的最佳结果是从位于 Github 上的源代码构建,然后删除两个损坏的文件。

在 emacs-w3m 邮件列表中的两个非常有才华的人(即 Tatsuya Kinoshita 和 Katsumi Yamaoka)的帮助下,他们发现字节编译错误是因为构建过程需要更新版本的emacs。我不知道在 make 字节编译过程中使用了 emacs 版本。我的 /usr/bin 中有一个旧版本的 emacs,它在字节编译文件的标题中被引用。解决方案是使用更新版本的 emacs,可以在构建时使用 --with-emacs 路径进行配置:

$ ./configure --with-emacs=/Path/to/your/preferred/Emacs

既然问题已经解决了,我已经字节编译了新文件来替换坏文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多