aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Paul Wallington2002-09-10 05:48:44 +0000
committerJohn Paul Wallington2002-09-10 05:48:44 +0000
commita3e58c1a03ad3609b4b4f06409d4c8e00d76acbc (patch)
tree7aebfaa395678985cd46ebade2fca77e23eb6248
parentb226fea80c86da7a834735b43ac01a876a4f543d (diff)
downloademacs-a3e58c1a03ad3609b4b4f06409d4c8e00d76acbc.tar.gz
emacs-a3e58c1a03ad3609b4b4f06409d4c8e00d76acbc.zip
2002-09-10 Deepak Goel <deego@glue.umd.edu>
* play/doctor.el (doc//): Rename from `//'. Update callers. (doc$): Rename from `$'. Update callers.
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/play/doctor.el318
2 files changed, 165 insertions, 160 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1ba32a5b45c..b8e31010b51 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12002-09-10 Deepak Goel <deego@glue.umd.edu>
2
3 * play/doctor.el (doc//): Rename from `//'. Update callers.
4 (doc$): Rename from `$'. Update callers.
5
12002-09-09 Markus Rost <rost@math.ohio-state.edu> 62002-09-09 Markus Rost <rost@math.ohio-state.edu>
2 7
3 * simple.el (transient-mark-mode, line-number-mode, 8 * simple.el (transient-mark-mode, line-number-mode,
@@ -68,7 +73,7 @@
68 73
69 * play/doctor.el (doctor-cadr, doctor-caddr, doctor-cddr): Remove. 74 * play/doctor.el (doctor-cadr, doctor-caddr, doctor-cddr): Remove.
70 Update callers. 75 Update callers.
71 76
722002-09-08 Markus Rost <rost@math.ohio-state.edu> 772002-09-08 Markus Rost <rost@math.ohio-state.edu>
73 78
74 * diff.el (diff): Doc fix. 79 * diff.el (diff): Doc fix.
diff --git a/lisp/play/doctor.el b/lisp/play/doctor.el
index 2f7a5759a90..4254a99f27e 100644
--- a/lisp/play/doctor.el
+++ b/lisp/play/doctor.el
@@ -45,9 +45,9 @@
45 45
46;;; Code: 46;;; Code:
47 47
48(defun // (x) x) 48(defun doc// (x) x)
49 49
50(defmacro $ (what) 50(defmacro doc$ (what)
51 "quoted arg form of doctor-$" 51 "quoted arg form of doctor-$"
52 (list 'doctor-$ (list 'quote what))) 52 (list 'doctor-$ (list 'quote what)))
53 53
@@ -79,7 +79,7 @@ reads the sentence before point, and prints the Doctor's answer."
79 (setq mode-name "Doctor") 79 (setq mode-name "Doctor")
80 (turn-on-auto-fill) 80 (turn-on-auto-fill)
81 (doctor-type '(i am the psychotherapist \. 81 (doctor-type '(i am the psychotherapist \.
82 ($ please) ($ describe) your ($ problems) \. 82 (doc$ please) (doc$ describe) your (doc$ problems) \.
83 each time you are finished talking, type \R\E\T twice \.)) 83 each time you are finished talking, type \R\E\T twice \.))
84 (insert "\n")) 84 (insert "\n"))
85 85
@@ -132,9 +132,9 @@ reads the sentence before point, and prints the Doctor's answer."
132 (some experiences you have had with) 132 (some experiences you have had with)
133 (how you feel about))) 133 (how you feel about)))
134 (make-local-variable 'fears) 134 (make-local-variable 'fears)
135 (setq fears '( (($ whysay) you are ($ afraidof) (// feared) \?) 135 (setq fears '( ((doc$ whysay) you are (doc$ afraidof) (doc// feared) \?)
136 (you seem terrified by (// feared) \.) 136 (you seem terrified by (doc// feared) \.)
137 (when did you first feel ($ afraidof) (// feared) \?) )) 137 (when did you first feel (doc$ afraidof) (doc// feared) \?) ))
138 (make-local-variable 'sure) 138 (make-local-variable 'sure)
139 (setq sure '((sure)(positive)(certain)(absolutely sure))) 139 (setq sure '((sure)(positive)(certain)(absolutely sure)))
140 (make-local-variable 'afraidof) 140 (make-local-variable 'afraidof)
@@ -149,9 +149,9 @@ reads the sentence before point, and prints the Doctor's answer."
149 (could have caused)(could be the reason for) (are caused by) 149 (could have caused)(could be the reason for) (are caused by)
150 (are because of))) 150 (are because of)))
151 (make-local-variable 'moods) 151 (make-local-variable 'moods)
152 (setq moods '( (($ areyou)(// found) often \?) 152 (setq moods '( ((doc$ areyou)(doc// found) often \?)
153 (what causes you to be (// found) \?) 153 (what causes you to be (doc// found) \?)
154 (($ whysay) you are (// found) \?) )) 154 ((doc$ whysay) you are (doc// found) \?) ))
155 (make-local-variable 'maybe) 155 (make-local-variable 'maybe)
156 (setq maybe 156 (setq maybe
157 '((maybe) 157 '((maybe)
@@ -166,22 +166,22 @@ reads the sentence before point, and prints the Doctor's answer."
166 '((how do you do \?) (hello \.) (howdy!) (hello \.) (hi \.) (hi there \.))) 166 '((how do you do \?) (hello \.) (howdy!) (hello \.) (hi \.) (hi there \.)))
167 (make-local-variable 'drnk) 167 (make-local-variable 'drnk)
168 (setq drnk 168 (setq drnk
169 '((do you drink a lot of (// found) \?) 169 '((do you drink a lot of (doc// found) \?)
170 (do you get drunk often \?) 170 (do you get drunk often \?)
171 (($ describe) your drinking habits \.) )) 171 ((doc$ describe) your drinking habits \.) ))
172 (make-local-variable 'drugs) 172 (make-local-variable 'drugs)
173 (setq drugs '( (do you use (// found) often \?)(($ areyou) 173 (setq drugs '( (do you use (doc// found) often \?)((doc$ areyou)
174 addicted to (// found) \?)(do you realize that drugs can 174 addicted to (doc// found) \?)(do you realize that drugs can
175 be very harmful \?)(($ maybe) you should try to quit using (// found) 175 be very harmful \?)((doc$ maybe) you should try to quit using (doc// found)
176 \.))) 176 \.)))
177 (make-local-variable 'whywant) 177 (make-local-variable 'whywant)
178 (setq whywant '( (($ whysay) (// subj) might ($ want) (// obj) \?) 178 (setq whywant '( ((doc$ whysay) (doc// subj) might (doc$ want) (doc// obj) \?)
179 (how does it feel to want \?) 179 (how does it feel to want \?)
180 (why should (// subj) get (// obj) \?) 180 (why should (doc// subj) get (doc// obj) \?)
181 (when did (// subj) first ($ want) (// obj) \?) 181 (when did (doc// subj) first (doc$ want) (doc// obj) \?)
182 (($ areyou) obsessed with (// obj) \?) 182 ((doc$ areyou) obsessed with (doc// obj) \?)
183 (why should i give (// obj) to (// subj) \?) 183 (why should i give (doc// obj) to (doc// subj) \?)
184 (have you ever gotten (// obj) \?) )) 184 (have you ever gotten (doc// obj) \?) ))
185 (make-local-variable 'canyou) 185 (make-local-variable 'canyou)
186 (setq canyou '((of course i can \.) 186 (setq canyou '((of course i can \.)
187 (why should i \?) 187 (why should i \?)
@@ -198,32 +198,32 @@ reads the sentence before point, and prints the Doctor's answer."
198 (make-local-variable 'shortlst) 198 (make-local-variable 'shortlst)
199 (setq shortlst 199 (setq shortlst
200 '((can you elaborate on that \?) 200 '((can you elaborate on that \?)
201 (($ please) continue \.) 201 ((doc$ please) continue \.)
202 (go on\, don\'t be afraid \.) 202 (go on\, don\'t be afraid \.)
203 (i need a little more detail please \.) 203 (i need a little more detail please \.)
204 (you\'re being a bit brief\, ($ please) go into detail \.) 204 (you\'re being a bit brief\, (doc$ please) go into detail \.)
205 (can you be more explicit \?) 205 (can you be more explicit \?)
206 (and \?) 206 (and \?)
207 (($ please) go into more detail \?) 207 ((doc$ please) go into more detail \?)
208 (you aren\'t being very talkative today\!) 208 (you aren\'t being very talkative today\!)
209 (is that all there is to it \?) 209 (is that all there is to it \?)
210 (why must you respond so briefly \?))) 210 (why must you respond so briefly \?)))
211 211
212 (make-local-variable 'famlst) 212 (make-local-variable 'famlst)
213 (setq famlst 213 (setq famlst
214 '((tell me ($ something) about (// owner) family \.) 214 '((tell me (doc$ something) about (doc// owner) family \.)
215 (you seem to dwell on (// owner) family \.) 215 (you seem to dwell on (doc// owner) family \.)
216 (($ areyou) hung up on (// owner) family \?))) 216 ((doc$ areyou) hung up on (doc// owner) family \?)))
217 (make-local-variable 'huhlst) 217 (make-local-variable 'huhlst)
218 (setq huhlst 218 (setq huhlst
219 '((($ whysay)(// sent) \?) 219 '(((doc$ whysay)(doc// sent) \?)
220 (is it because of ($ things) that you say (// sent) \?) )) 220 (is it because of (doc$ things) that you say (doc// sent) \?) ))
221 (make-local-variable 'longhuhlst) 221 (make-local-variable 'longhuhlst)
222 (setq longhuhlst 222 (setq longhuhlst
223 '((($ whysay) that \?) 223 '(((doc$ whysay) that \?)
224 (i don\'t understand \.) 224 (i don\'t understand \.)
225 (($ thlst)) 225 ((doc$ thlst))
226 (($ areyou) ($ afraidof) that \?))) 226 ((doc$ areyou) (doc$ afraidof) that \?)))
227 (make-local-variable 'feelings-about) 227 (make-local-variable 'feelings-about)
228 (setq feelings-about 228 (setq feelings-about
229 '((feelings about) 229 '((feelings about)
@@ -325,86 +325,86 @@ reads the sentence before point, and prints the Doctor's answer."
325 (are you satisfied with the fact that))) 325 (are you satisfied with the fact that)))
326 (make-local-variable 'machlst) 326 (make-local-variable 'machlst)
327 (setq machlst 327 (setq machlst
328 '((you have your mind on (// found) \, it seems \.) 328 '((you have your mind on (doc// found) \, it seems \.)
329 (you think too much about (// found) \.) 329 (you think too much about (doc// found) \.)
330 (you should try taking your mind off of (// found)\.) 330 (you should try taking your mind off of (doc// found)\.)
331 (are you a computer hacker \?))) 331 (are you a computer hacker \?)))
332 (make-local-variable 'qlist) 332 (make-local-variable 'qlist)
333 (setq qlist 333 (setq qlist
334 '((what do you think \?) 334 '((what do you think \?)
335 (i\'ll ask the questions\, if you don\'t mind!) 335 (i\'ll ask the questions\, if you don\'t mind!)
336 (i could ask the same thing myself \.) 336 (i could ask the same thing myself \.)
337 (($ please) allow me to do the questioning \.) 337 ((doc$ please) allow me to do the questioning \.)
338 (i have asked myself that question many times \.) 338 (i have asked myself that question many times \.)
339 (($ please) try to answer that question yourself \.))) 339 ((doc$ please) try to answer that question yourself \.)))
340 (make-local-variable 'foullst) 340 (make-local-variable 'foullst)
341 (setq foullst 341 (setq foullst
342 '((($ please) watch your tongue!) 342 '(((doc$ please) watch your tongue!)
343 (($ please) avoid such unwholesome thoughts \.) 343 ((doc$ please) avoid such unwholesome thoughts \.)
344 (($ please) get your mind out of the gutter \.) 344 ((doc$ please) get your mind out of the gutter \.)
345 (such lewdness is not appreciated \.))) 345 (such lewdness is not appreciated \.)))
346 (make-local-variable 'deathlst) 346 (make-local-variable 'deathlst)
347 (setq deathlst 347 (setq deathlst
348 '((this is not a healthy way of thinking \.) 348 '((this is not a healthy way of thinking \.)
349 (($ bother) you\, too\, may die someday \?) 349 ((doc$ bother) you\, too\, may die someday \?)
350 (i am worried by your obsession with this topic!) 350 (i am worried by your obsession with this topic!)
351 (did you watch a lot of crime and violence on television as a child \?)) 351 (did you watch a lot of crime and violence on television as a child \?))
352 ) 352 )
353 (make-local-variable 'sexlst) 353 (make-local-variable 'sexlst)
354 (setq sexlst 354 (setq sexlst
355 '((($ areyou) ($ afraidof) sex \?) 355 '(((doc$ areyou) (doc$ afraidof) sex \?)
356 (($ describe)($ something) about your sexual history \.) 356 ((doc$ describe)(doc$ something) about your sexual history \.)
357 (($ please)($ describe) your sex life \.\.\.) 357 ((doc$ please)(doc$ describe) your sex life \.\.\.)
358 (($ describe) your ($ feelings-about) your sexual partner \.) 358 ((doc$ describe) your (doc$ feelings-about) your sexual partner \.)
359 (($ describe) your most ($ random-adjective) sexual experience \.) 359 ((doc$ describe) your most (doc$ random-adjective) sexual experience \.)
360 (($ areyou) satisfied with (// lover) \.\.\. \?))) 360 ((doc$ areyou) satisfied with (doc// lover) \.\.\. \?)))
361 (make-local-variable 'neglst) 361 (make-local-variable 'neglst)
362 (setq neglst 362 (setq neglst
363 '((why not \?) 363 '((why not \?)
364 (($ bother) i ask that \?) 364 ((doc$ bother) i ask that \?)
365 (why not \?) 365 (why not \?)
366 (why not \?) 366 (why not \?)
367 (how come \?) 367 (how come \?)
368 (($ bother) i ask that \?))) 368 ((doc$ bother) i ask that \?)))
369 (make-local-variable 'beclst) 369 (make-local-variable 'beclst)
370 (setq beclst '( 370 (setq beclst '(
371 (is it because (// sent) that you came to me \?) 371 (is it because (doc// sent) that you came to me \?)
372 (($ bother)(// sent) \?) 372 ((doc$ bother)(doc// sent) \?)
373 (when did you first know that (// sent) \?) 373 (when did you first know that (doc// sent) \?)
374 (is the fact that (// sent) the real reason \?) 374 (is the fact that (doc// sent) the real reason \?)
375 (does the fact that (// sent) explain anything else \?) 375 (does the fact that (doc// sent) explain anything else \?)
376 (($ areyou)($ sure)(// sent) \? ) )) 376 ((doc$ areyou)(doc$ sure)(doc// sent) \? ) ))
377 (make-local-variable 'shortbeclst) 377 (make-local-variable 'shortbeclst)
378 (setq shortbeclst '( 378 (setq shortbeclst '(
379 (($ bother) i ask you that \?) 379 ((doc$ bother) i ask you that \?)
380 (that\'s not much of an answer!) 380 (that\'s not much of an answer!)
381 (($ inter) why won\'t you talk about it \?) 381 ((doc$ inter) why won\'t you talk about it \?)
382 (speak up!) 382 (speak up!)
383 (($ areyou) ($ afraidof) talking about it \?) 383 ((doc$ areyou) (doc$ afraidof) talking about it \?)
384 (don\'t be ($ afraidof) elaborating \.) 384 (don\'t be (doc$ afraidof) elaborating \.)
385 (($ please) go into more detail \.))) 385 ((doc$ please) go into more detail \.)))
386 (make-local-variable 'thlst) 386 (make-local-variable 'thlst)
387 (setq thlst '( 387 (setq thlst '(
388 (($ maybe)($ things)($ arerelated) this \.) 388 ((doc$ maybe)(doc$ things)(doc$ arerelated) this \.)
389 (is it because of ($ things) that you are going through all this \?) 389 (is it because of (doc$ things) that you are going through all this \?)
390 (how do you reconcile ($ things) \? ) 390 (how do you reconcile (doc$ things) \? )
391 (($ maybe) this ($ isrelated)($ things) \?) )) 391 ((doc$ maybe) this (doc$ isrelated)(doc$ things) \?) ))
392 (make-local-variable 'remlst) 392 (make-local-variable 'remlst)
393 (setq remlst '( (earlier you said ($ history) \?) 393 (setq remlst '( (earlier you said (doc$ history) \?)
394 (you mentioned that ($ history) \?) 394 (you mentioned that (doc$ history) \?)
395 (($ whysay)($ history) \? ) )) 395 ((doc$ whysay)(doc$ history) \? ) ))
396 (make-local-variable 'toklst) 396 (make-local-variable 'toklst)
397 (setq toklst 397 (setq toklst
398 '((is this how you relax \?) 398 '((is this how you relax \?)
399 (how long have you been smoking grass \?) 399 (how long have you been smoking grass \?)
400 (($ areyou) ($ afraidof) of being drawn to using harder stuff \?))) 400 ((doc$ areyou) (doc$ afraidof) of being drawn to using harder stuff \?)))
401 (make-local-variable 'states) 401 (make-local-variable 'states)
402 (setq states 402 (setq states
403 '((do you get (// found) often \?) 403 '((do you get (doc// found) often \?)
404 (do you enjoy being (// found) \?) 404 (do you enjoy being (doc// found) \?)
405 (what makes you (// found) \?) 405 (what makes you (doc// found) \?)
406 (how often ($ areyou)(// found) \?) 406 (how often (doc$ areyou)(doc// found) \?)
407 (when were you last (// found) \?))) 407 (when were you last (doc// found) \?)))
408 (make-local-variable 'replist) 408 (make-local-variable 'replist)
409 (setq replist 409 (setq replist
410 '((i . (you)) 410 '((i . (you))
@@ -458,50 +458,50 @@ reads the sentence before point, and prints the Doctor's answer."
458 (hasn\'t . (has not)))) 458 (hasn\'t . (has not))))
459 (make-local-variable 'stallmanlst) 459 (make-local-variable 'stallmanlst)
460 (setq stallmanlst '( 460 (setq stallmanlst '(
461 (($ describe) your ($ feelings-about) him \.) 461 ((doc$ describe) your (doc$ feelings-about) him \.)
462 (($ areyou) a friend of Stallman \?) 462 ((doc$ areyou) a friend of Stallman \?)
463 (($ bother) Stallman is ($ random-adjective) \?) 463 ((doc$ bother) Stallman is (doc$ random-adjective) \?)
464 (($ ibelieve) you are ($ afraidof) him \.))) 464 ((doc$ ibelieve) you are (doc$ afraidof) him \.)))
465 (make-local-variable 'schoollst) 465 (make-local-variable 'schoollst)
466 (setq schoollst '( 466 (setq schoollst '(
467 (($ describe) your (// found) \.) 467 ((doc$ describe) your (doc// found) \.)
468 (($ bother) your grades could ($ improve) \?) 468 ((doc$ bother) your grades could (doc$ improve) \?)
469 (($ areyou) ($ afraidof) (// found) \?) 469 ((doc$ areyou) (doc$ afraidof) (doc// found) \?)
470 (($ maybe) this ($ isrelated) to your attitude \.) 470 ((doc$ maybe) this (doc$ isrelated) to your attitude \.)
471 (($ areyou) absent often \?) 471 ((doc$ areyou) absent often \?)
472 (($ maybe) you should study ($ something) \.))) 472 ((doc$ maybe) you should study (doc$ something) \.)))
473 (make-local-variable 'improve) 473 (make-local-variable 'improve)
474 (setq improve '((improve) (be better) (be improved) (be higher))) 474 (setq improve '((improve) (be better) (be improved) (be higher)))
475 (make-local-variable 'elizalst) 475 (make-local-variable 'elizalst)
476 (setq elizalst '( 476 (setq elizalst '(
477 (($ areyou) ($ sure) \?) 477 ((doc$ areyou) (doc$ sure) \?)
478 (($ ibelieve) you have ($ problems) with (// found) \.) 478 ((doc$ ibelieve) you have (doc$ problems) with (doc// found) \.)
479 (($ whysay) (// sent) \?))) 479 ((doc$ whysay) (doc// sent) \?)))
480 (make-local-variable 'sportslst) 480 (make-local-variable 'sportslst)
481 (setq sportslst '( 481 (setq sportslst '(
482 (tell me ($ something) about (// found) \.) 482 (tell me (doc$ something) about (doc// found) \.)
483 (($ describe) ($ relation) (// found) \.) 483 ((doc$ describe) (doc$ relation) (doc// found) \.)
484 (do you find (// found) ($ random-adjective) \?))) 484 (do you find (doc// found) (doc$ random-adjective) \?)))
485 (make-local-variable 'mathlst) 485 (make-local-variable 'mathlst)
486 (setq mathlst '( 486 (setq mathlst '(
487 (($ describe) ($ something) about math \.) 487 ((doc$ describe) (doc$ something) about math \.)
488 (($ maybe) your ($ problems) ($ arerelated) (// found) \.) 488 ((doc$ maybe) your (doc$ problems) (doc$ arerelated) (doc// found) \.)
489 (i don\'t know much (// found) \, but ($ continue) 489 (i don\'t know much (doc// found) \, but (doc$ continue)
490 anyway \.))) 490 anyway \.)))
491 (make-local-variable 'zippylst) 491 (make-local-variable 'zippylst)
492 (setq zippylst '( 492 (setq zippylst '(
493 (($ areyou) Zippy \?) 493 ((doc$ areyou) Zippy \?)
494 (($ ibelieve) you have some serious ($ problems) \.) 494 ((doc$ ibelieve) you have some serious (doc$ problems) \.)
495 (($ bother) you are a pinhead \?))) 495 ((doc$ bother) you are a pinhead \?)))
496 (make-local-variable 'chatlst) 496 (make-local-variable 'chatlst)
497 (setq chatlst '( 497 (setq chatlst '(
498 (($ maybe) we could chat \.) 498 ((doc$ maybe) we could chat \.)
499 (($ please) ($ describe) ($ something) about chat mode \.) 499 ((doc$ please) (doc$ describe) (doc$ something) about chat mode \.)
500 (($ bother) our discussion is so ($ random-adjective) \?))) 500 ((doc$ bother) our discussion is so (doc$ random-adjective) \?)))
501 (make-local-variable 'abuselst) 501 (make-local-variable 'abuselst)
502 (setq abuselst '( 502 (setq abuselst '(
503 (($ please) try to be less abusive \.) 503 ((doc$ please) try to be less abusive \.)
504 (($ describe) why you call me (// found) \.) 504 ((doc$ describe) why you call me (doc// found) \.)
505 (i\'ve had enough of you!))) 505 (i\'ve had enough of you!)))
506 (make-local-variable 'abusewords) 506 (make-local-variable 'abusewords)
507 (setq abusewords '(boring bozo clown clumsy cretin dumb dummy 507 (setq abusewords '(boring bozo clown clumsy cretin dumb dummy
@@ -878,19 +878,19 @@ Otherwise call the Doctor to parse preceding sentence."
878(defun doctor-doc (sent) 878(defun doctor-doc (sent)
879 (cond 879 (cond
880 ((equal sent '(foo)) 880 ((equal sent '(foo))
881 (doctor-type '(bar! ($ please)($ continue) \.))) 881 (doctor-type '(bar! (doc$ please)(doc$ continue) \.)))
882 ((member sent howareyoulst) 882 ((member sent howareyoulst)
883 (doctor-type '(i\'m ok \. ($ describe) yourself \.))) 883 (doctor-type '(i\'m ok \. (doc$ describe) yourself \.)))
884 ((or (member sent '((good bye) (see you later) (i quit) (so long) 884 ((or (member sent '((good bye) (see you later) (i quit) (so long)
885 (go away) (get lost))) 885 (go away) (get lost)))
886 (memq (car sent) 886 (memq (car sent)
887 '(bye halt break quit done exit goodbye 887 '(bye halt break quit done exit goodbye
888 bye\, stop pause goodbye\, stop pause))) 888 bye\, stop pause goodbye\, stop pause)))
889 (doctor-type ($ bye))) 889 (doctor-type (doc$ bye)))
890 ((and (eq (car sent) 'you) 890 ((and (eq (car sent) 'you)
891 (memq (cadr sent) abusewords)) 891 (memq (cadr sent) abusewords))
892 (setq found (cadr sent)) 892 (setq found (cadr sent))
893 (doctor-type ($ abuselst))) 893 (doctor-type (doc$ abuselst)))
894 ((eq (car sent) 'whatmeans) 894 ((eq (car sent) 'whatmeans)
895 (doctor-def (cadr sent))) 895 (doctor-def (cadr sent)))
896 ((equal sent '(parse)) 896 ((equal sent '(parse))
@@ -904,13 +904,13 @@ Otherwise call the Doctor to parse preceding sentence."
904 'is owner "\n" 904 'is owner "\n"
905 'sentence 'used 'was 905 'sentence 'used 'was
906 "..." 906 "..."
907 '(// bak)))) 907 '(doc// bak))))
908 ((memq (car sent) '(do has have how when where who why)) 908 ((memq (car sent) '(do has have how when where who why))
909 (doctor-type ($ qlist))) 909 (doctor-type (doc$ qlist)))
910 ;; ((eq (car sent) 'forget) 910 ;; ((eq (car sent) 'forget)
911 ;; (set (cadr sent) nil) 911 ;; (set (cadr sent) nil)
912 ;; (doctor-type '(($ isee)($ please) 912 ;; (doctor-type '((doc$ isee)(doc$ please)
913 ;; ($ continue)\.))) 913 ;; (doc$ continue)\.)))
914 (t 914 (t
915 (if (doctor-defq sent) (doctor-define sent found)) 915 (if (doctor-defq sent) (doctor-define sent found))
916 (if (> (length sent) 12)(setq sent (doctor-shorten sent))) 916 (if (> (length sent) 12)(setq sent (doctor-shorten sent)))
@@ -929,13 +929,13 @@ Otherwise call the Doctor to parse preceding sentence."
929 (setq sent (doctor-fixup sent)) 929 (setq sent (doctor-fixup sent))
930 (if (and (eq (car sent) 'do) (eq (cadr sent) 'not)) 930 (if (and (eq (car sent) 'do) (eq (cadr sent) 'not))
931 (cond ((zerop (random 3)) 931 (cond ((zerop (random 3))
932 (doctor-type '(are you ($ afraidof) that \?))) 932 (doctor-type '(are you (doc$ afraidof) that \?)))
933 ((zerop (random 2)) 933 ((zerop (random 2))
934 (doctor-type '(don\'t tell me what to do \. i am the 934 (doctor-type '(don\'t tell me what to do \. i am the
935 psychiatrist here!)) 935 psychiatrist here!))
936 (doctor-rthing)) 936 (doctor-rthing))
937 (t 937 (t
938 (doctor-type '(($ whysay) that i shouldn\'t 938 (doctor-type '((doc$ whysay) that i shouldn\'t
939 (cddr sent) 939 (cddr sent)
940 \?)))) 940 \?))))
941 (doctor-go (doctor-wherego sent)))))))) 941 (doctor-go (doctor-wherego sent))))))))
@@ -1317,7 +1317,7 @@ element pair in RLIST."
1317 sent))) 1317 sent)))
1318 1318
1319(defun doctor-wherego (sent) 1319(defun doctor-wherego (sent)
1320 (cond ((null sent)($ whereoutp)) 1320 (cond ((null sent)(doc$ whereoutp))
1321 ((null (doctor-meaning (car sent))) 1321 ((null (doctor-meaning (car sent)))
1322 (doctor-wherego (cond ((zerop (random 2)) 1322 (doctor-wherego (cond ((zerop (random 2))
1323 (reverse (cdr sent))) 1323 (reverse (cdr sent)))
@@ -1419,31 +1419,31 @@ Hack on previous word, setting global variable OWNER to correct result."
1419 (funcall (intern (concat "doctor-" (doctor-make-string destination))))) 1419 (funcall (intern (concat "doctor-" (doctor-make-string destination)))))
1420 1420
1421(defun doctor-desire1 () 1421(defun doctor-desire1 ()
1422 (doctor-go ($ whereoutp))) 1422 (doctor-go (doc$ whereoutp)))
1423 1423
1424(defun doctor-huh () 1424(defun doctor-huh ()
1425 (cond ((< (length sent) 9) (doctor-type ($ huhlst))) 1425 (cond ((< (length sent) 9) (doctor-type (doc$ huhlst)))
1426 (t (doctor-type ($ longhuhlst))))) 1426 (t (doctor-type (doc$ longhuhlst)))))
1427 1427
1428(defun doctor-rthing () (doctor-type ($ thlst))) 1428(defun doctor-rthing () (doctor-type (doc$ thlst)))
1429 1429
1430(defun doctor-remem () (cond ((null history)(doctor-huh)) 1430(defun doctor-remem () (cond ((null history)(doctor-huh))
1431 ((doctor-type ($ remlst))))) 1431 ((doctor-type (doc$ remlst)))))
1432 1432
1433(defun doctor-howdy () 1433(defun doctor-howdy ()
1434 (cond ((not howdyflag) 1434 (cond ((not howdyflag)
1435 (doctor-type '(($ hello) what brings you to see me \?)) 1435 (doctor-type '((doc$ hello) what brings you to see me \?))
1436 (setq howdyflag t)) 1436 (setq howdyflag t))
1437 (t 1437 (t
1438 (doctor-type '(($ ibelieve) we\'ve introduced ourselves already \.)) 1438 (doctor-type '((doc$ ibelieve) we\'ve introduced ourselves already \.))
1439 (doctor-type '(($ please) ($ describe) ($ things) \.))))) 1439 (doctor-type '((doc$ please) (doc$ describe) (doc$ things) \.)))))
1440 1440
1441(defun doctor-when () 1441(defun doctor-when ()
1442 (cond ((< (length (memq found sent)) 3)(doctor-short)) 1442 (cond ((< (length (memq found sent)) 3)(doctor-short))
1443 (t 1443 (t
1444 (setq sent (cdr (memq found sent))) 1444 (setq sent (cdr (memq found sent)))
1445 (setq sent (doctor-fixup sent)) 1445 (setq sent (doctor-fixup sent))
1446 (doctor-type '(($ whatwhen)(// sent) \?))))) 1446 (doctor-type '((doc$ whatwhen)(doc// sent) \?)))))
1447 1447
1448(defun doctor-conj () 1448(defun doctor-conj ()
1449 (cond ((< (length (memq found sent)) 4)(doctor-short)) 1449 (cond ((< (length (memq found sent)) 4)(doctor-short))
@@ -1451,11 +1451,11 @@ Hack on previous word, setting global variable OWNER to correct result."
1451 (setq sent (cdr (memq found sent))) 1451 (setq sent (cdr (memq found sent)))
1452 (setq sent (doctor-fixup sent)) 1452 (setq sent (doctor-fixup sent))
1453 (cond ((eq (car sent) 'of) 1453 (cond ((eq (car sent) 'of)
1454 (doctor-type '(are you ($ sure) that is the real reason \?)) 1454 (doctor-type '(are you (doc$ sure) that is the real reason \?))
1455 (setq things (cons (cdr sent) things))) 1455 (setq things (cons (cdr sent) things)))
1456 (t 1456 (t
1457 (doctor-remember sent) 1457 (doctor-remember sent)
1458 (doctor-type ($ beclst))))))) 1458 (doctor-type (doc$ beclst)))))))
1459 1459
1460(defun doctor-short () 1460(defun doctor-short ()
1461 (cond ((= (car repetitive-shortness) (1- lincount)) 1461 (cond ((= (car repetitive-shortness) (1- lincount))
@@ -1466,7 +1466,7 @@ Hack on previous word, setting global variable OWNER to correct result."
1466 (rplaca repetitive-shortness lincount) 1466 (rplaca repetitive-shortness lincount)
1467 (cond ((> (cdr repetitive-shortness) 6) 1467 (cond ((> (cdr repetitive-shortness) 6)
1468 (cond ((not **mad**) 1468 (cond ((not **mad**)
1469 (doctor-type '(($ areyou) 1469 (doctor-type '((doc$ areyou)
1470 just trying to see what kind of things 1470 just trying to see what kind of things
1471 i have in my vocabulary \? please try to 1471 i have in my vocabulary \? please try to
1472 carry on a reasonable conversation!)) 1472 carry on a reasonable conversation!))
@@ -1477,14 +1477,14 @@ Hack on previous word, setting global variable OWNER to correct result."
1477 ))) 1477 )))
1478 (t 1478 (t
1479 (cond ((equal sent (doctor-assm '(yes))) 1479 (cond ((equal sent (doctor-assm '(yes)))
1480 (doctor-type '(($ isee) ($ inter) ($ whysay) this is so \?))) 1480 (doctor-type '((doc$ isee) (doc$ inter) (doc$ whysay) this is so \?)))
1481 ((equal sent (doctor-assm '(because))) 1481 ((equal sent (doctor-assm '(because)))
1482 (doctor-type ($ shortbeclst))) 1482 (doctor-type (doc$ shortbeclst)))
1483 ((equal sent (doctor-assm '(no))) 1483 ((equal sent (doctor-assm '(no)))
1484 (doctor-type ($ neglst))) 1484 (doctor-type (doc$ neglst)))
1485 (t (doctor-type ($ shortlst))))))) 1485 (t (doctor-type (doc$ shortlst)))))))
1486 1486
1487(defun doctor-alcohol () (doctor-type ($ drnk))) 1487(defun doctor-alcohol () (doctor-type (doc$ drnk)))
1488 1488
1489(defun doctor-desire () 1489(defun doctor-desire ()
1490 (let ((foo (memq found sent))) 1490 (let ((foo (memq found sent)))
@@ -1494,41 +1494,41 @@ Hack on previous word, setting global variable OWNER to correct result."
1494 (rplacd foo (append '(to have) (cdr foo))) 1494 (rplacd foo (append '(to have) (cdr foo)))
1495 (doctor-svo sent found 1 nil) 1495 (doctor-svo sent found 1 nil)
1496 (doctor-remember (list subj 'would 'like obj)) 1496 (doctor-remember (list subj 'would 'like obj))
1497 (doctor-type ($ whywant))) 1497 (doctor-type (doc$ whywant)))
1498 ((not (eq (cadr foo) 'to)) 1498 ((not (eq (cadr foo) 'to))
1499 (doctor-go (doctor-build (doctor-meaning found) 1))) 1499 (doctor-go (doctor-build (doctor-meaning found) 1)))
1500 (t 1500 (t
1501 (doctor-svo sent found 1 nil) 1501 (doctor-svo sent found 1 nil)
1502 (doctor-remember (list subj 'would 'like obj)) 1502 (doctor-remember (list subj 'would 'like obj))
1503 (doctor-type ($ whywant)))))) 1503 (doctor-type (doc$ whywant))))))
1504 1504
1505(defun doctor-drug () 1505(defun doctor-drug ()
1506 (doctor-type ($ drugs)) 1506 (doctor-type (doc$ drugs))
1507 (doctor-remember (list 'you 'used found))) 1507 (doctor-remember (list 'you 'used found)))
1508 1508
1509(defun doctor-toke () 1509(defun doctor-toke ()
1510 (doctor-type ($ toklst))) 1510 (doctor-type (doc$ toklst)))
1511 1511
1512(defun doctor-state () 1512(defun doctor-state ()
1513 (doctor-type ($ states))(doctor-remember (list 'you 'were found))) 1513 (doctor-type (doc$ states))(doctor-remember (list 'you 'were found)))
1514 1514
1515(defun doctor-mood () 1515(defun doctor-mood ()
1516 (doctor-type ($ moods))(doctor-remember (list 'you 'felt found))) 1516 (doctor-type (doc$ moods))(doctor-remember (list 'you 'felt found)))
1517 1517
1518(defun doctor-fear () 1518(defun doctor-fear ()
1519 (setq feared (doctor-setprep sent found)) 1519 (setq feared (doctor-setprep sent found))
1520 (doctor-type ($ fears)) 1520 (doctor-type (doc$ fears))
1521 (doctor-remember (list 'you 'were 'afraid 'of feared))) 1521 (doctor-remember (list 'you 'were 'afraid 'of feared)))
1522 1522
1523(defun doctor-hate () 1523(defun doctor-hate ()
1524 (doctor-svo sent found 1 t) 1524 (doctor-svo sent found 1 t)
1525 (cond ((memq 'not sent) (doctor-forget) (doctor-huh)) 1525 (cond ((memq 'not sent) (doctor-forget) (doctor-huh))
1526 ((equal subj 'you) 1526 ((equal subj 'you)
1527 (doctor-type '(why do you (// verb)(// obj) \?))) 1527 (doctor-type '(why do you (doc// verb)(doc// obj) \?)))
1528 (t (doctor-type '(($ whysay)(list subj verb obj)))))) 1528 (t (doctor-type '((doc$ whysay)(list subj verb obj))))))
1529 1529
1530(defun doctor-symptoms () 1530(defun doctor-symptoms ()
1531 (doctor-type '(($ maybe) you should consult a doctor of medicine\, 1531 (doctor-type '((doc$ maybe) you should consult a doctor of medicine\,
1532 i am a psychiatrist \.))) 1532 i am a psychiatrist \.)))
1533 1533
1534(defun doctor-hates () 1534(defun doctor-hates ()
@@ -1536,14 +1536,14 @@ Hack on previous word, setting global variable OWNER to correct result."
1536 (doctor-hates1)) 1536 (doctor-hates1))
1537 1537
1538(defun doctor-hates1 () 1538(defun doctor-hates1 ()
1539 (doctor-type '(($ whysay)(list subj verb obj) \?))) 1539 (doctor-type '((doc$ whysay)(list subj verb obj) \?)))
1540 1540
1541(defun doctor-loves () 1541(defun doctor-loves ()
1542 (doctor-svo sent found 1 t) 1542 (doctor-svo sent found 1 t)
1543 (doctor-qloves)) 1543 (doctor-qloves))
1544 1544
1545(defun doctor-qloves () 1545(defun doctor-qloves ()
1546 (doctor-type '(($ bother)(list subj verb obj) \?))) 1546 (doctor-type '((doc$ bother)(list subj verb obj) \?)))
1547 1547
1548(defun doctor-love () 1548(defun doctor-love ()
1549 (doctor-svo sent found 1 t) 1549 (doctor-svo sent found 1 t)
@@ -1558,10 +1558,10 @@ Hack on previous word, setting global variable OWNER to correct result."
1558 (setq lover '(your partner)) 1558 (setq lover '(your partner))
1559 (doctor-forget) 1559 (doctor-forget)
1560 (doctor-type '(with whom are you in love \?))) 1560 (doctor-type '(with whom are you in love \?)))
1561 ((doctor-type '(($ please) 1561 ((doctor-type '((doc$ please)
1562 ($ describe) 1562 (doc$ describe)
1563 ($ relation) 1563 (doc$ relation)
1564 (// lover) 1564 (doc// lover)
1565 \.))))) 1565 \.)))))
1566 ((equal subj 'i) 1566 ((equal subj 'i)
1567 (doctor-txtype '(we were discussing you!))) 1567 (doctor-txtype '(we were discussing you!)))
@@ -1572,17 +1572,17 @@ Hack on previous word, setting global variable OWNER to correct result."
1572 1572
1573(defun doctor-mach () 1573(defun doctor-mach ()
1574 (setq found (doctor-plural found)) 1574 (setq found (doctor-plural found))
1575 (doctor-type ($ machlst))) 1575 (doctor-type (doc$ machlst)))
1576 1576
1577(defun doctor-sexnoun () (doctor-sexverb)) 1577(defun doctor-sexnoun () (doctor-sexverb))
1578 1578
1579(defun doctor-sexverb () 1579(defun doctor-sexverb ()
1580 (if (or (memq 'me sent)(memq 'myself sent)(memq 'i sent)) 1580 (if (or (memq 'me sent)(memq 'myself sent)(memq 'i sent))
1581 (doctor-foul) 1581 (doctor-foul)
1582 (doctor-type ($ sexlst)))) 1582 (doctor-type (doc$ sexlst))))
1583 1583
1584(defun doctor-death () 1584(defun doctor-death ()
1585 (cond (suicide-flag (doctor-type ($ deathlst))) 1585 (cond (suicide-flag (doctor-type (doc$ deathlst)))
1586 ((or (equal found 'suicide) 1586 ((or (equal found 'suicide)
1587 (and (or (equal found 'kill) 1587 (and (or (equal found 'kill)
1588 (equal found 'killing)) 1588 (equal found 'killing))
@@ -1594,41 +1594,41 @@ Hack on previous word, setting global variable OWNER to correct result."
1594 anonymous E-mail: samaritans@anon.twwells.com\ \. 1594 anonymous E-mail: samaritans@anon.twwells.com\ \.
1595 or find a Befrienders crisis center at 1595 or find a Befrienders crisis center at
1596 http://www.befrienders.org/\ \. 1596 http://www.befrienders.org/\ \.
1597 ($ please) ($ continue) \.))) 1597 (doc$ please) (doc$ continue) \.)))
1598 (t (doctor-type ($ deathlst))))) 1598 (t (doctor-type (doc$ deathlst)))))
1599 1599
1600(defun doctor-foul () 1600(defun doctor-foul ()
1601 (doctor-type ($ foullst))) 1601 (doctor-type (doc$ foullst)))
1602 1602
1603(defun doctor-family () 1603(defun doctor-family ()
1604 (doctor-possess sent found) 1604 (doctor-possess sent found)
1605 (doctor-type ($ famlst))) 1605 (doctor-type (doc$ famlst)))
1606 1606
1607;; I did not add this -- rms. 1607;; I did not add this -- rms.
1608;; But he might have removed it. I put it back. --roland 1608;; But he might have removed it. I put it back. --roland
1609(defun doctor-rms () 1609(defun doctor-rms ()
1610 (cond (rms-flag (doctor-type ($ stallmanlst))) 1610 (cond (rms-flag (doctor-type (doc$ stallmanlst)))
1611 (t (setq rms-flag t) (doctor-type '(do you know Stallman \?))))) 1611 (t (setq rms-flag t) (doctor-type '(do you know Stallman \?)))))
1612 1612
1613(defun doctor-school nil (doctor-type ($ schoollst))) 1613(defun doctor-school nil (doctor-type (doc$ schoollst)))
1614 1614
1615(defun doctor-eliza () 1615(defun doctor-eliza ()
1616 (cond (eliza-flag (doctor-type ($ elizalst))) 1616 (cond (eliza-flag (doctor-type (doc$ elizalst)))
1617 (t (setq eliza-flag t) 1617 (t (setq eliza-flag t)
1618 (doctor-type '((// found) \? hah ! 1618 (doctor-type '((doc// found) \? hah !
1619 ($ please) ($ continue) \.))))) 1619 (doc$ please) (doc$ continue) \.)))))
1620 1620
1621(defun doctor-sports () (doctor-type ($ sportslst))) 1621(defun doctor-sports () (doctor-type (doc$ sportslst)))
1622 1622
1623(defun doctor-math () (doctor-type ($ mathlst))) 1623(defun doctor-math () (doctor-type (doc$ mathlst)))
1624 1624
1625(defun doctor-zippy () 1625(defun doctor-zippy ()
1626 (cond (zippy-flag (doctor-type ($ zippylst))) 1626 (cond (zippy-flag (doctor-type (doc$ zippylst)))
1627 (t (setq zippy-flag t) 1627 (t (setq zippy-flag t)
1628 (doctor-type '(yow! are we interactive yet \?))))) 1628 (doctor-type '(yow! are we interactive yet \?)))))
1629 1629
1630 1630
1631(defun doctor-chat () (doctor-type ($ chatlst))) 1631(defun doctor-chat () (doctor-type (doc$ chatlst)))
1632 1632
1633(provide 'doctor) 1633(provide 'doctor)
1634 1634