|
|
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.