• 8854阅读
  • 0回复

如何升级Emacs[风中纸页] [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2005-07-30
注:如果你还没有安装Emacs,那么直接下载CVS版。并且跳过这篇文章。:)下面我假定你已经安装了某一个旧的版本的Emacs。

现在按照我的方法应该已经安装好某个版本的Emacs了吧?

可是有的是后会发现有的人告诉你说你得版本不支持某些功能,让你安装xx版本。你是不是觉得苦恼。

下面我们就一起来升级一下。

这里拿已经编译好的CVS版本作为例子,原来的是21.3

CVS版本到http://www.crasseux.com/emacs/去得到

好了,下载回来,解开是一个emacs文件夹,把里面的除了site-lisp和elisp以外的都直接拷贝复制到你的原来的emacs安装目录就可以了。

简单吧。

下面是我学习的过程:(新闻组得来)
Path: news.yaako.com
From: "It's me FKtPp ;)" <m_pupil@yahoo.com.cn>
Newsgroups: cn.comp.os.linux
Subject: Re: =?gb2312?b?yOe6zrTT0tGx4NLrsOaxvsn9vLa1vUNWU7Dmsb6jvw==?=
Date: Sun, 27 Feb 2005 12:47:17 +0800
Lines: 23
Message-ID: <ur7j2licq.fsf@yahoo.com.cn>
References: <u650ehb9p.fsf@126.com>
Xref: news.yaako.com cn.comp.os.linux:12530
fzhzhy@126.com (风中纸页) writes:
> 原来安装的是21.3.1(2004-3-11)
>
> 现在想升级到CVS版本。
>
> 是否能够直接安装覆盖?
可以,如果是自己编译的,在最后 make install 的时候传入 INSTALL_DIR="你
原来的emacs安装目录" 即可。
不过如果你没在 emacs-21.3/lisp 目录里面做太多手脚的话可以不必要如此升
级。只要安装新的 CVS Emacs 然后将 emacs-21.3/site-lisp 里面除了
subdirs.el 以外的文件拷贝到新的 CVS Emacs 的 site-lisp 目录里面即可。
>
>
> 我曾经升级过Gnus,把lisp地下的el都byte-compile过了。
> 那升级过是不是还需要做一次?
Gnus 这个东西在最新的 CVS Emacs 里面也是 CVS 版本。升级了 Emacs,你的
Gnus自然而然也跟着升级了(原来的CVS Emacs附带Gnus 5.9.0跟人留下心
理阴影了 :P ) 这个自己升级过的Gnus可以不必理会了,放心升级好了。


接着:

Path: news.yaako.com!not-for-mail
From: fzhzhy@126.com (风中纸页)
Newsgroups: cn.comp.os.linux
Subject: Re: 如何从已编译版本升级到CVS版本?
Date: Sun, 27 Feb 2005 13:20:23 +0800
Organization: Bentium Ltd. (CN99)
Lines: 61
Message-ID: <u1xb2h948.fsf@126.com>
References: <u650ehb9p.fsf@126.com> <ur7j2licq.fsf@yahoo.com.cn>
Xref: news.yaako.com cn.comp.os.linux:12531

"It's me FKtPp ;)" <m_pupil@yahoo.com.cn> writes:

多谢。

> fzhzhy@126.com (风中纸页) writes:
>
>> 原来安装的是21.3.1(2004-3-11)
>>
>> 现在想升级到CVS版本。
>>
>> 是否能够直接安装覆盖?
>
> 可以,如果是自己编译的,在最后 make install 的时候传入 INSTALL_DIR="你
> 原来的emacs安装目录" 即可。

没有。是在http://www.crasseux.com/emacs/看到新的了。想升级看看。
是编译好的包。

>
> 不过如果你没在 emacs-21.3/lisp 目录里面做太多手脚的话可以不必要如此升
> 级。只要安装新的 CVS Emacs 然后将 emacs-21.3/site-lisp 里面除了
> subdirs.el 以外的文件拷贝到新的 CVS Emacs 的 site-lisp 目录里面即可。

有一些我自己新增加的el,elc。就是担心安装新的,覆盖掉我的老东西。。。


我想这样可以不:

解压缩到一个目录然后把除了lisp和site-lisp以外的东西都直接覆盖。

然后还需要byte-compile么再次?

>
>>
>>
>> 我曾经升级过Gnus,把lisp地下的el都byte-compile过了。
>> 那升级过是不是还需要做一次?
>
> Gnus 这个东西在最新的 CVS Emacs 里面也是 CVS 版本。升级了 Emacs,你的
> Gnus自然而然也跟着升级了(原来的CVS Emacs附带Gnus 5.9.0跟人留下心
> 理阴影了 :P ) 这个自己升级过的Gnus可以不必理会了,放心升级好了。
呵呵,有一些。

BTW:我自己的el如果放在我自己的目录里面是无法辨识的。:(

比如:我的emacs21.3安装在E:\Program Files\emacs21.3\

现在我的$HOME指定的F:\My Document\
也就是.emacs等等都在的位置。

我在此新建了一个目录emacs,想把自己的el都放在这里,用load-path来指定
但是,似乎无法得到我的效果。:(

但是在E:里面是可以的。于是乎我就只好放在了site-lisp里面了。:(
放在lisp里面我头晕。。。。

是不是和盘符有关系啊?


:)


搞定:

Path: news.yaako.com!news.cn99.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: "It's me FKtPp ;)" <m_pupil@yahoo.com.cn>
Newsgroups: cn.comp.os.linux
Subject: Re: =?gb2312?b?
Xref: news.yaako.com cn.comp.os.linux:12533

fzhzhy@126.com (风中纸页) writes:


[...]

>> 不过如果你没在 emacs-21.3/lisp 目录里面做太多手脚的话可以不必要如此升
>> 级。只要安装新的 CVS Emacs 然后将 emacs-21.3/site-lisp 里面除了
>> subdirs.el 以外的文件拷贝到新的 CVS Emacs 的 site-lisp 目录里面即可。
>
> 有一些我自己新增加的el,elc。就是担心安装新的,覆盖掉我的老东西。。。

一般的,在 site-lisp 目录中的任何 el 和 elc 文件都是安全的。这个目录中
跟随 Emacs 一起发布的文件只有为了实现“将所有子目录都加入load-path”的
subdirs.el文件。

lisp目录是Emacs的系统目录,这个里面的文件没有特殊情况最好不要改动。

[...]

> 然后还需要byte-compile么再次?
>

这个,只要不是 GNU Emacs 到 XEmacs 这样的大换血,一般不需要再次
byte-compile。当然,如果加载过程出现错误就另当别论了 :P


[...]

> BTW:我自己的el如果放在我自己的目录里面是无法辨识的。:(
>
> 比如:我的emacs21.3安装在E:\Program Files\emacs21.3\
>
> 现在我的$HOME指定的F:\My Document\
> 也就是.emacs等等都在的位置。
>
> 我在此新建了一个目录emacs,想把自己的el都放在这里,用load-path来指定
> 但是,似乎无法得到我的效果。:(

如果有子目录的话,尝试把 site-lisp 目录里面的 subdirs.el 拷贝过来一份?

>
> 但是在E:里面是可以的。于是乎我就只好放在了site-lisp里面了。

如果是函数库或者啥功能扩展的话,放在这里最合适不过了 :P

>:(放在lisp里面我头晕。。。。
>
> 是不是和盘符有关系啊?

根据我平时的经验,好像跟盘符的关系不大。"/" <== 根木录一般都是指向当前
盘符的根目录。如果你的el文件在使用的时候用到这种访问方式,而你中途又切
换过当前工作的磁盘可能会出错。不过你可以直接把它写死成 "c:/" "d:/" 这
种形式。

总结:
其实只要把subdir.el拷贝到你要的地方基本就可以了。当然要设定一下默认路径。


升级以后还是要重新编译一次你的gnus哦。不然有些小问题。:)
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个