安装cscope的时候出了问题,解决的过程中顺便了解了下debian下emacs的目录结构
凡是目录名没有带版本号的,一般都是emacsen-common,即与emacs版本无关的内容
约定:
<emacs>表示所有
emacs, emacs22, emacs23...
<flavor>表示
emacs22,emacs23...
<upstream>表示
上游的版本号如 20.2 or 19.34
emacs启动策略:
1.
/etc/<flavor> ;;用于放置add-on的启动lisp文件
2.
/etc/emacs ;;用于放置add-on的启动lisp文件
3.
/usr/local/share/emacs/<upstream>/site-lisp ;;空,在自己编译emacs的时候应该会有内容
4.
/usr/local/share/emacs/site-lisp ;;只有个subdirs.el,没太大作用,自己编译emacs时有用
5.
/usr/share/emacs/<flavor>/site-lisp ;;用于放置add-on的主体文件,一般是编译过的elc文件
;;此处好像不对,我在debian中并没有找到此目录
;;根据policy中提到的内容,按照我的理解应该是
/usr/share/<flavor>/site-lisp 或者
/usr/share/emacs/<upstream>/site-lisp,后者其实是前者的链接
policy中有这样一段话:
/usr/share/<flavor>/site-lisp should be used instead of the normal
site-lisp directory for that flavor of emacs, and the package for a
given flavor of emacs should not have the normal site-lisp
directory. For example, instead of the emacs21 package having
/usr/share/emacs/21.1/site-lisp, it should only have
/usr/share/emacs21/site-lisp.
补充:实际上 /usr/share/emacs/21.1/site-lisp 和 /usr/share/emacs21/site-lisp 在 debian 中都有,只不过 emacs/21.1/site-lisp 是 emacs21/site-lisp 的链接
6.
/usr/share/emacs/site-lisp ;;用于放置add-on的主体文件,一般是未编译的el文件
/usr/share/emacs/<upstream>/lisp ;;进入emacs发行版的add-on
/usr/lib/emacsen-common : 存放的是安装add-on的脚本
reference:
debian-emacs-policy