bug#4565: 23.1.50; [Patch] The doctor thinks that "family" is an adverb

Ulrich Mueller <[email protected]> Sun, 27 Sep 2009 16:57:56 +0200
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
When calling "psychoanalyze-pinhead" in Emacs from today's CVS trunk,
but with the yow.lines file restored from Emacs 21, it stops at a
phrase containing the word "family".

To reproduce:
   $ emacs -Q
   M-x doctor RET
   While I'm in LEVITTOWN I thought I'd like to see the NUCLEAR FAMILY!!
   RET RET

Actual behaviour:
   Minibuffer prompt "family what ?" appears.

Expected behaviour:
   Doctor printing an answer like "Tell me something about your family."

The problem is in function doctor-adverbp which recognises all words
ending with "ly" as adverbs. The patch included below fixes it for
some common words.

(Actually, there are many more non-adverbs ending with "ly". I've
limited it to words contained in the list of 850 words of Ogden's
Basic English, or in yow.lines.)

Ulrich


2009-09-27  Ulrich Mueller  <[email protected]>

	* play/doctor.el (doctor-adverbp): Exclude some common nouns.

--- emacs-orig/lisp/play/doctor.el
+++ emacs/lisp/play/doctor.el
@@ -1190,7 +1190,8 @@
 (defun doctor-adverbp (xx)
   (let ((xxstr (doctor-make-string xx)))
     (and (>= (length xxstr) 2)
-	 (string-equal (substring (doctor-make-string xx) -2) "ly"))))
+	 (string-equal (substring (doctor-make-string xx) -2) "ly")
+	 (not (memq xx '(family fly jelly rally))))))
 
 (defun doctor-articlep (x)
   (memq x '(the a an)))