Function: doctor-getnoun

doctor-getnoun is a byte-compiled function defined in doctor.el.gz.

Signature

(doctor-getnoun X)

Source Code

;; Defined in /usr/src/emacs/lisp/play/doctor.el.gz
(defun doctor-getnoun (x)
  (cond ((null x) (setq doctor-object 'something))
	((atom x) (setq doctor-object x))
	((eq (length x) 1)
	 (setq doctor-object (cond
		       ((doctor-nounp (setq doctor-object (car x))) doctor-object)
		       (t (doctor-query doctor-object)))))
	((eq (car x) 'to)
	 (doctor-build 'to\  (doctor-getnoun (cdr x))))
	((doctor-prepp (car x))
	 (doctor-getnoun (cdr x)))
	((not (doctor-nounp (car x)))
	 (doctor-build (doctor-build (cdr (assq (car x)
						(append
						 '((a . this)
						   (some . this)
						   (one . that))
						 (list
						  (cons
						   (car x) (car x))))))
				     " ")
		       (doctor-getnoun (cdr x))))
	(t (setq doctor-object (car x))
	   (doctor-build (doctor-build (car x) " ") (doctor-getnoun (cdr x))))
	))