# HG changeset patch # User Richard M. Stallman # Date 1031531109 0 # Node ID 0b575bd912a4510f0690a39100b9dc62f941ffe4 # Parent 52f90db3f174a827677023641d44cfcd95134462 (doctor-doc): Recognize question words and use qlist. Use doctor-shorten's return value. (doctor-shorten): Compute a return value, don't alter `sent'. (doctor-hates1): Add a question mark. (doctor-strangelove): Unused function deleted. diff -r 52f90db3f174 -r 0b575bd912a4 lisp/play/doctor.el --- a/lisp/play/doctor.el Sun Sep 08 21:47:08 2002 +0000 +++ b/lisp/play/doctor.el Mon Sep 09 00:25:09 2002 +0000 @@ -909,13 +909,15 @@ 'sentence 'used 'was "..." '(// bak)))) + ((memq (car sent) '(do has have how when where who why)) + (doctor-type ($ qlist))) ;; ((eq (car sent) 'forget) ;; (set (doctor-cadr sent) nil) ;; (doctor-type '(($ isee)($ please) ;; ($ continue)\.))) (t (if (doctor-defq sent) (doctor-define sent found)) - (if (> (length sent) 12)(doctor-shorten sent)) + (if (> (length sent) 12)(setq sent (doctor-shorten sent))) (setq sent (doctor-correct-spelling (doctor-replace sent replist))) (cond ((and (not (memq 'me sent))(not (memq 'i sent)) (memq 'am sent)) @@ -956,17 +958,15 @@ (defun doctor-shorten (sent) "Make a sentence manageably short using a few hacks." (let (foo - retval + (retval sent) (temp '(because but however besides anyway until while that except why how))) (while temp (setq foo (memq (car temp) sent)) (if (and foo (> (length foo) 3)) - (setq sent foo - sent (doctor-fixup sent) - temp nil - retval t) + (setq retval (doctor-fixup foo) + temp nil) (setq temp (cdr temp)))) retval)) @@ -1540,7 +1540,7 @@ (doctor-hates1)) (defun doctor-hates1 () - (doctor-type '(($ whysay)(list subj verb obj)))) + (doctor-type '(($ whysay)(list subj verb obj) \?))) (defun doctor-loves () (doctor-svo sent found 1 t) @@ -1634,11 +1634,6 @@ (defun doctor-chat () (doctor-type ($ chatlst))) -(defun doctor-strangelove () - (interactive) - (insert "Mein fuehrer!!\n") - (doctor-read-print)) - (provide 'doctor) ;;; doctor.el ends here