|
|
1.1 root 1: ;; -[Fri Nov 18 19:00:37 1988 by layer]-
2: ;; Sample .clinit.cl file
3: ;;
4: ;; $Header: dot.clinit.cl,v 1.1 88/11/18 19:00:54 layer Exp $
5:
6: (format t "; Loading home clinit...~%")
7:
8: (defparameter *emacs-library*
9: (let ((emacs-lib (si:getenv "EMACSLIBRARY")))
10: (if emacs-lib (format nil "~a/lisp/fi/" emacs-lib))))
11:
12: (and *emacs-library*
13: (find "+ipc" (system:command-line-arguments) :test #'string=)
14: (load (merge-pathnames "clinit.cl" *emacs-library*))
15: (load-and-start-ipc-package :unix-domain nil))
16:
17: ;; The following emulates the C shell cd, pushd, popd, pwd, and dirs,
18: ;; and allows Emacs to track directory changes:
19:
20: (defvar *directory-stack*
21: (list (namestring
22: (setq *default-pathname-defaults* (current-directory)))))
23:
24: (tpl:alias ("pushd" :string) (&optional dir)
25: (if* (string= "" dir)
26: then (let ((old-top (pop *directory-stack*))
27: (new-top (pop *directory-stack*)))
28: (push old-top *directory-stack*)
29: (push (chdir new-top) *directory-stack*))
30: else (push (chdir dir) *directory-stack*))
31: (format t "~a~%" *directory-stack*))
32:
33: (tpl:alias "popd" ()
34: (if (> (length *directory-stack*) 1)
35: (pop *directory-stack*)
36: (format t "nothing to pop into~%"))
37: (chdir (car *directory-stack*))
38: (format t "~a~%" *directory-stack*))
39:
40: (tpl:alias "dirs" ()
41: (format t "~a~%" *directory-stack*))
42:
43: (tpl:alias ("cd" :string) (dir)
44: (setf (car *directory-stack*)
45: (apply #'chdir
46: (if (string= "" dir) nil (list dir))))
47: (format t "~a~%" *directory-stack*))
48:
49: (tpl:alias "pwd" ()
50: (format t "process cwd = ~a~%*default-pathname-defaults* = ~a~%"
51: (namestring (current-directory))
52: (namestring (truename *default-pathname-defaults*))))
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.