添加到列表的加载路径似乎不起作用

rab*_*ne9 9 emacs dot-emacs load-path

每当我看到一些emacs软件包的安装说明时,它始终建议使用add-to-list 'load-path它永远不会对我有用.由于某种原因,我必须使用load-file.例如,这不起作用:

(add-to-list 'load-path "~/.emacs.d/jade-mode")
(require 'sws-mode)
(require 'jade-mode)    
(add-to-list 'auto-mode-alist '("\\.styl$" . sws-mode))
(add-to-list 'auto-mode-alist '("\\.jade$" . sws-mode))
Run Code Online (Sandbox Code Playgroud)

但这会奏效:

(load-file "~/.emacs.d/jade-mode/sws-mode.el")
(load-file "~/.emacs.d/jade-mode/jade-mode.el")
(require 'sws-mode)
(require 'jade-mode)    
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么?编辑:我在MAC OS X 10.5上使用Carbon Emacs

seh*_*seh 10

也许问题是在require搜索load-path列表中的条目时不会扩展前导波形符('〜').考虑使用expand-file-name函数为以后的使用准备条目require:

(add-to-list 'load-path (expand-file-name "jademode" "~/.emacs.d"))
Run Code Online (Sandbox Code Playgroud)

要么

(add-to-list 'load-path (expand-file-name "~/.emacs.d/jademode"))
Run Code Online (Sandbox Code Playgroud)

了解您在哪个操作系统上使用的Emacs会有所帮助.