对于html,解码等emacs-w3m的任何替代方案?

时间:2013-05-29 03:08:35

标签: emacs

根据我在互联网上看到的内容,似乎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不属于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) 。如果我发现其他任何东西,我会添加更多。 。

输入M-x w3m时出现以下错误信息:

{{1}}

1 个答案:

答案 0 :(得分: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 byte-compile过程中使用了emacs的一个版本。在我的/ usr / bin中有一个旧版本的emacs,它在字节编译文件的标题中引用。解决方案是使用更新版本的emacs,可以在构建时使用--with-emacs路径进行配置:

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

现在问题已被隔离,我有字节编译新文件来替换坏文件。