Function: eshell-dirs-initialize
eshell-dirs-initialize is a byte-compiled function defined in
em-dirs.el.gz.
Signature
(eshell-dirs-initialize)
Documentation
Initialize the builtin functions for Eshell.
Source Code
;; Defined in /usr/src/emacs/lisp/eshell/em-dirs.el.gz
;;; Functions:
(defun eshell-dirs-initialize () ;Called from `eshell-mode' via intern-soft!
"Initialize the builtin functions for Eshell."
(setq-local eshell-variable-aliases-list
(append
eshell-variable-aliases-list
`(("-" ,(lambda (indices quoted)
(if (not indices)
(unless (ring-empty-p eshell-last-dir-ring)
(expand-file-name
(ring-ref eshell-last-dir-ring 0)))
;; Apply the first index, expand the file name,
;; and then apply the rest of the indices.
(eshell-apply-indices
(expand-file-name
(eshell-apply-indices eshell-last-dir-ring
(list (car indices)) quoted))
(cdr indices) quoted))))
("+" "PWD")
("PWD" ,(lambda () (expand-file-name (eshell/pwd)))
t t)
("OLDPWD" ,(lambda ()
(unless (ring-empty-p eshell-last-dir-ring)
(expand-file-name
(ring-ref eshell-last-dir-ring 0))))
t t))))
(when eshell-cd-on-directory
(setq-local eshell-interpreter-alist
(cons (cons (lambda (file _args)
(eshell-lone-directory-p file))
'eshell-dirs-substitute-cd)
eshell-interpreter-alist)))
(add-hook 'eshell-parse-argument-hook
#'eshell-parse-user-reference nil t)
(if (eshell-under-windows-p)
(add-hook 'eshell-parse-argument-hook
#'eshell-parse-drive-letter nil t))
(when (eshell-using-module 'eshell-cmpl)
(add-hook 'pcomplete-try-first-hook
#'eshell-complete-user-reference nil t))
(make-local-variable 'eshell-dirstack)
(make-local-variable 'eshell-last-dir-ring)
(if eshell-last-dir-ring-file-name
(eshell-read-last-dir-ring))
(unless eshell-last-dir-ring
(setq eshell-last-dir-ring (make-ring eshell-last-dir-ring-size)))
(add-hook 'eshell-exit-hook #'eshell-write-last-dir-ring nil t)
(add-hook 'kill-emacs-query-functions #'eshell-save-some-last-dir))