Function: dun-doassign

dun-doassign is a byte-compiled function defined in dunnet.el.gz.

Signature

(dun-doassign LINE ESIGN)

Source Code

;; Defined in /usr/src/emacs/lisp/play/dunnet.el.gz
(defun dun-doassign (line esign)
  (if (not dun-wizard)
      (let (passwd)
	(dun-mprinc "Enter wizard password: ")
	(setq passwd (dun-read-line))
	(if (not dun-batch-mode)
	    (dun-mprinc "\n"))
	(if (string= passwd "moby")
	    (progn
	      (setq dun-wizard t)
	      (dun-doassign line esign))
	  (dun-mprincl "Incorrect.")))

    (let (varname epoint afterq i value)
      (setq varname (string-replace " " "" (substring line 0 esign)))

      (if (or (= (length varname) 0) (< (- (length line) esign) 2))
	  (progn
	    (dun-mprinc line)
	    (dun-mprincl " : not found."))

	(if (not (setq epoint (string-search ")" line)))
	    (if (string= (substring line (1+ esign) (+ esign 2))
			 "\"")
		(progn
		  (setq afterq (substring line (+ esign 2)))
		  (setq epoint (+
				(string-search "\"" afterq)
				(+ esign 3))))

	      (if (not (setq epoint (string-search " " line)))
		  (setq epoint (length line))))
	  (setq epoint (1+ epoint))
	  (while (and
		  (not (= epoint (length line)))
		  (setq i (string-search ")" (substring line epoint))))
	    (setq epoint (+ epoint i 1))))
	(setq value (substring line (1+ esign) epoint))
	(dun-eval varname value)))))