LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1699|回复: 8

emacs-22.1 for windows正式版中编译文件很慢

[复制链接]
发表于 2007-6-24 10:05:12 | 显示全部楼层 |阅读模式
[color="urple"]
现在emacs发行到22.1版本了,我下载了一个for windows的版本。用得不错。我在用它编译现在我用的emacsim输入法时,发现用B命令在编译wbx.el文件时,却十分缓慢。有时时间很长。所以不得不结束它。但在用emacs 22.0.50CVS版编译时却很快。所以只能在两个版本中来回折腾了。有哪位能解决一下在emacs-22.1win32版本中编译wbx.el文件的问题呀?
发表于 2007-6-26 13:49:44 | 显示全部楼层
执行 M-x toggle-debug-on-quit,然后在编译中你等得不耐烦时按 C-g,然后把 *Backtrace* 中的内容贴一下。

P.S.  最好把 wbx.el 也贴在这里,或者给个可以下载的链接。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-27 11:46:17 | 显示全部楼层
Post by herberteuler
执行 M-x toggle-debug-on-quit,然后在编译中你等得不耐烦时按 C-g,然后把 *Backtrace* 中的内容贴一下。

P.S.  最好把 wbx.el 也贴在这里,或者给个可以下载的链接。

[color="Magenta"]
我上次试过了,就因为太大无法传给你,所以先找一个原版的输入法给你,再给你我一些自定义的词组:
emacsim输入法

  1. 封装   热情高涨 终端  星球
复制代码

在wbx.el文件中定义。
我在用emacs-22.1 for win32版中,无论如何试验都不行,而且一编译,CPU的战用率居高不下。看来只能求herberteuler兄请教了。
回复 支持 反对

使用道具 举报

发表于 2007-6-27 14:07:23 | 显示全部楼层
你给的链接中有许多文件,我应该下载哪一个?另外,按照下面的步骤操作,并贴出你的结果:
  1. 1. 运行 Emacs: emacs -Q
  2. 2. 执行 M-x toggle-debug-on-quit
  3. 3. 编译你的文件
  4. 4. 如果 Emacs 长时间没有反应,按 C-g
复制代码

然后把 *Backtrace* 中的内容贴一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-28 11:04:55 | 显示全部楼层
Post by herberteuler
你给的链接中有许多文件,我应该下载哪一个?另外,按照下面的步骤操作,并贴出你的结果:
  1. 1. 运行 Emacs: emacs -Q
  2. 2. 执行 M-x toggle-debug-on-quit
  3. 3. 编译你的文件
  4. 4. 如果 Emacs 长时间没有反应,按 C-g
复制代码

然后把 *Backtrace* 中的内容贴一下。

[color="Magenta"]
在这个链接中,选取emacsim下载,解开包后,其中在gb目录下就有wbx.el,在emacs中编译它就行了,我基本上用的就是这个文件。几乎所有我自定义的词组都在这个文件中。你能帮我看看好吗?
回复 支持 反对

使用道具 举报

发表于 2007-6-28 15:15:20 | 显示全部楼层
Emacs 22.1 发布时增加了变量 byte-compile-disable-print-circle。为了使你说的文件能够不用循环的方式输出列表,需要把 byte-compile-disable-print-circle 设置为 t。具体做法如下。打开 wbx.el,移到文件的末尾,并加入下面的几行:
  1. ;; Local Variables:
  2. ;; byte-compile-disable-print-circle:t
  3. ;; End:
复制代码

现在重新编译就会很快了。不过我看了一下文件的内容,貌似编译并没有起到优化的作用。或者说,编译这个文件是没有意义的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-30 21:46:10 | 显示全部楼层
Post by herberteuler
Emacs 22.1 发布时增加了变量 byte-compile-disable-print-circle。为了使你说的文件能够不用循环的方式输出列表,需要把 byte-compile-disable-print-circle 设置为 t。具体做法如下。打开 wbx.el,移到文件的末尾,并加入下面的几行:
  1. ;; Local Variables:
  2. ;; byte-compile-disable-print-circle:t
  3. ;; End:
复制代码

现在重新编译就会很快了。不过我看了一下文件的内容,貌似编译并没有起到优化的作用。或者说,编译这个文件是没有意义的。

[color="Magenta"]
想问一下,你所提到的这个变量究竟是如何工作的,我用C-h v中没有查到它的说明。如果我在以后编译我所用的这个wbx.el自定义输入法文件时,能加快运行速度吗?还有你提到的这个编译优化作用为什么说没有意义呢?我现在在win32平台下同时拥有两个emacs 22.1,一个是正式版本,只有在这个版本中编译wbx.el文件时会出现这种情况。另一个是emacs 22.0.50.1 CVS版本,在这个版本中同是编译wbx.el文件时就很快。这到底是什么原因造成的呢?能否请herberteuler兄说明一下原因呢?顺便说一下,你能解释一下你给的这段代码具体的含义吗?
回复 支持 反对

使用道具 举报

发表于 2007-7-1 09:36:36 | 显示全部楼层
LZ是在自己做emacs的输入法吗?
我有个五笔码表,fcitx格式的,想转为wbx.el格式,
fcitx的格式为
      aa    汉字
而wbx.el的格式为
   ("aa"   "汉字")
请问有什么简单的方法把fcitx的转为leim格式?正则表达式应该可以,但我不会。

如果转换好了,之后怎么做才能在emacs上用上这个码表?
我的是emacs 23。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-1 16:23:11 | 显示全部楼层
Post by LaoLang_cool
LZ是在自己做emacs的输入法吗?
我有个五笔码表,fcitx格式的,想转为wbx.el格式,
fcitx的格式为
      aa    汉字
而wbx.el的格式为
   ("aa"   "汉字")
请问有什么简单的方法把fcitx的转为leim格式?正则表达式应该可以,但我不会。

如果转换好了,之后怎么做才能在emacs上用上这个码表?
我的是emacs 23。

[color="Magenta"]
我用的是emacsim这个输入法,完整的软件包是emacsim.tar.bz2,可以在我前面的回复找到,而你所提到的这个wbx.el文件是一个.el文件,并没有相应的转换功能。我是直接使用这个输入法的,就因为这个输入法好用,可以自定义wbx.el中所需要的词组。所以一直用到现在。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表