diff options
author | Richard M. Stallman <[email protected]> | 2002-09-09 00:25:09 +0000 |
---|---|---|
committer | Richard M. Stallman <[email protected]> | 2002-09-09 00:25:09 +0000 |
commit | 27664fbec1d4c22098269b2abc065c82f319f24a (patch) | |
tree | 77f2eceaa93375036d941727677740cd7d45c957 /lisp/play/doctor.el | |
parent | f1f83e21610117d3a5c0b74adef2345a89ccd238 (diff) |
(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.
Diffstat (limited to 'lisp/play/doctor.el')
-rw-r--r-- | lisp/play/doctor.el | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/lisp/play/doctor.el b/lisp/play/doctor.el index b9d803e4b1..3eecfd2122 100644 --- a/lisp/play/doctor.el +++ b/lisp/play/doctor.el @@ -909,13 +909,15 @@ Otherwise call the Doctor to parse preceding sentence." '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 @@ Otherwise call the Doctor to parse preceding sentence." (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 @@ Hack on previous word, setting global variable OWNER to correct result." (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 @@ Hack on previous word, setting global variable OWNER to correct result." (defun doctor-chat () (doctor-type ($ chatlst))) -(defun doctor-strangelove () - (interactive) - (insert "Mein fuehrer!!\n") - (doctor-read-print)) - (provide 'doctor) ;;; doctor.el ends here |