Function: eshell/define

eshell/define is a byte-compiled function defined in esh-var.el.gz.

This function is obsolete since 29.1.

Signature

(eshell/define VAR-ALIAS DEFINITION)

Documentation

Define a VAR-ALIAS using DEFINITION.

Source Code

;; Defined in /usr/src/emacs/lisp/eshell/esh-var.el.gz
(defun eshell/define (var-alias definition)
  "Define a VAR-ALIAS using DEFINITION."
  ;; FIXME: This function doesn't work (it produces variable aliases
  ;; in a form not recognized by other parts of the code), and likely
  ;; hasn't worked since before its introduction into Emacs.  It
  ;; should either be removed or fixed up.
  (declare (obsolete nil "29.1"))
  (if (not definition)
      (setq eshell-variable-aliases-list
	    (delq (assoc var-alias eshell-variable-aliases-list)
		  eshell-variable-aliases-list))
    (let ((def (assoc var-alias eshell-variable-aliases-list))
	  (alias-def
	   (list var-alias
		 (list 'quote (if (= (length definition) 1)
				  (car definition)
				definition)))))
      (if def
	  (setq eshell-variable-aliases-list
		(delq (assoc var-alias eshell-variable-aliases-list)
		      eshell-variable-aliases-list)))
      (setq eshell-variable-aliases-list
	    (cons alias-def
		  eshell-variable-aliases-list))))
  nil)