开发者

change .emacs file's location

开发者 https://www.devze.com 2023-04-03 05:18 出处:网络
I am working on windows xp I stored emacs in usb I want to carry the .emacs file as well as binary files

I am working on windows xp

I stored emacs in usb

I want to carry the .emacs file as well as binary files

what I tried are

(setenv “HOME” (format "%s" (getenv "emacspath")))

(setenv “HOME” (format "%s/" (getenv "emacspath")))

It seems works 开发者_JS百科if I eval-expression in emacs

After setenv, I could notice setting env is works well by (getenv "home")

but I put the (setenv "home" (format "%s/" (getenv "emacspath"))) in "site-start.el" file in "site-lisp" folder, starting emacs says "Symbol's value as variable is void: "HOME"

Any ideas?


An easier way - just create a batch file on your USB drive where you can set all env variables you need. Then start emacs.exe from the batch.

For example if you want to run SBCL add the following lines to your batch

rem SBCL_HOME is required for SBCL
set SBCL_HOME=%utils%\Lisp\sbcl\1.0.29
set SBCL_RUN=%SBCL_HOME%\sbcl.exe
set SBCL_OPTIONS=--noinform


How about using default.el either as a symlink or as a simple elisp pinter to your file:

(load-file "/path/to/usb/.emacs")


Add following code to a file (e.g. c:/.emacs).

;; This function must be at begin
(defun zxy-relocate-dotemacs ()
  "Relocate .emacs file"
  (interactive)
  (with-temp-buffer
    (let (print-level print-length)
      (insert (format "(load-file \"%s\")" load-file-name))
      (if (file-exists-p "~/.emacs")
          (message "[zxy] Don't need relocate .emacs file!")
        (progn
          (message "[zxy] Relocate .emacs file.")
          (write-file "~/.emacs"))))))
(zxy-relocate-dotemacs)
;; Your configuration here

Open emacs and M-x load-file c:/.emacs.

Then it will relocate .emacs to c:/.emacs.

I use this when I copy my emacs to a new computer.

More information please visit my blog abuot emacs. http://coordinate.sinaapp.com/?cat=3

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号