changeset 47314:0b575bd912a4

(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.
author Richard M. Stallman <rms@gnu.org>
date Mon, 09 Sep 2002 00:25:09 +0000
parents 52f90db3f174
children 655350cd09e5
files lisp/play/doctor.el
diffstat 1 files changed, 7 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- 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