Mercurial > hg > xemacs-beta
diff lisp/games/doctor.el @ 4:b82b59fe008d r19-15b3
Import from CVS: tag r19-15b3
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:46:56 +0200 |
parents | 376386a54a3c |
children | 131b0175ea99 |
line wrap: on
line diff
--- a/lisp/games/doctor.el Mon Aug 13 08:46:35 2007 +0200 +++ b/lisp/games/doctor.el Mon Aug 13 08:46:56 2007 +0200 @@ -1,6 +1,7 @@ ;;; doctor.el --- psychological help for frustrated users. +;;; (uncensored version--see below) -;; Copyright (C) 1985, 1987, 1994 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1987, 1994, 1996 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: games @@ -19,9 +20,10 @@ ;; You should have received a copy of the GNU General Public License ;; along with XEmacs; see the file COPYING. If not, write to the Free -;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. -;;; Synched up with: FSF 19.28. +;;; Synched up with: FSF 19.34. ;;; Commentary: @@ -29,6 +31,17 @@ ;; phrase-production techniques similar to the classic ELIZA demonstration ;; of pseudo-AI. +;; Original Censorship message: +;; This file has been censored by the Communications Decency Act. +;; Some of its features were removed. The law was promoted as a ban +;; on pornography, but it bans far more than that. The doctor program +;; did not contain pornography, but part of it was prohibited +;; nonetheless. + +;; For information on US government censorship of the Internet, and +;; what you can do to bring back freedom of the press, see the web +;; site http://www.vtw.org/ + ;;; Code: (defun doctor-cadr (x) (car (cdr x))) @@ -225,7 +238,7 @@ (make-local-variable 'feelings-about) (setq feelings-about '((feelings about) - (aprehensions toward) + (apprehensions toward) (thoughts on) (emotions toward))) (make-local-variable 'random-adjective) @@ -604,7 +617,7 @@ (doctor-put-meaning ibm 'mach) (doctor-put-meaning pc 'mach) (doctor-put-meaning bitching 'foul) -(doctor-put-meaning shit 'foul) +(doctor-put-meaning shit 'foul) ; Censored (doctor-put-meaning bastard 'foul) (doctor-put-meaning damn 'foul) (doctor-put-meaning damned 'foul) @@ -679,7 +692,7 @@ (doctor-put-meaning lonely 'mood) (doctor-put-meaning angry 'mood) (doctor-put-meaning mad 'mood) -(doctor-put-meaning pissed 'mood) +(doctor-put-meaning pissed 'mood) ; censored (doctor-put-meaning jealous 'mood) (doctor-put-meaning afraid 'fear) (doctor-put-meaning terrified 'fear) @@ -693,8 +706,8 @@ (doctor-put-meaning cocks 'sexnoun) (doctor-put-meaning dick 'sexnoun) (doctor-put-meaning dicks 'sexnoun) -(doctor-put-meaning cunt 'sexnoun) -(doctor-put-meaning cunts 'sexnoun) +(doctor-put-meaning cunt 'sexnoun) ; censored +(doctor-put-meaning cunts 'sexnoun) ; censored (doctor-put-meaning prostitute 'sexnoun) (doctor-put-meaning condom 'sexnoun) (doctor-put-meaning sex 'sexnoun) @@ -752,18 +765,18 @@ (doctor-put-meaning wine 'alcohol) (doctor-put-meaning whiskey 'alcohol) (doctor-put-meaning scotch 'alcohol) -(doctor-put-meaning fuck 'sexverb) -(doctor-put-meaning fucked 'sexverb) +(doctor-put-meaning fuck 'sexverb) ; censored +(doctor-put-meaning fucked 'sexverb) ; censored (doctor-put-meaning screw 'sexverb) (doctor-put-meaning screwing 'sexverb) -(doctor-put-meaning fucking 'sexverb) +(doctor-put-meaning fucking 'sexverb) ; censored (doctor-put-meaning rape 'sexverb) (doctor-put-meaning raped 'sexverb) (doctor-put-meaning kiss 'sexverb) (doctor-put-meaning kissing 'sexverb) (doctor-put-meaning kisses 'sexverb) (doctor-put-meaning screws 'sexverb) -(doctor-put-meaning fucks 'sexverb) +(doctor-put-meaning fucks 'sexverb) ; censored (doctor-put-meaning because 'conj) (doctor-put-meaning but 'conj) (doctor-put-meaning however 'conj) @@ -861,7 +874,7 @@ (setq bak sent))) (defun doctor-readin nil - "Read a sentence. Return it as a list of words." + "Read a sentence. Return it as a list of words." (let (sentence) (backward-sentence 1) (while (not (eobp)) @@ -881,11 +894,11 @@ (defun doctor-doc (sent) (cond ((equal sent '(foo)) - (doctor-type '(bar! ($ please)($ continue)))) + (doctor-type '(bar! ($ please)($ continue) \.))) ((member sent howareyoulst) (doctor-type '(i\'m ok \. ($ describe) yourself \.))) ((or (member sent '((good bye) (see you later) (i quit) (so long) - (go away) (get lost))) + (go away) (get lost))) (memq (car sent) '(bye halt break quit done exit goodbye bye\, stop pause goodbye\, stop pause))) @@ -1001,8 +1014,8 @@ (setq history (reverse (cdr (reverse history))))) (defun doctor-query (x) - "Prompt for a line of input from the minibuffer until a noun or -verb is seen. Put dialogue in buffer." + "Prompt for a line of input from the minibuffer until a noun or verb is seen. +Put dialogue in buffer." (let (a (prompt (concat (doctor-make-string x) " what \? ")) @@ -1025,9 +1038,9 @@ retval)) (defun doctor-subjsearch (sent key type) - "Search for the subject of a sentence SENT, looking for the noun closest to -and preceding KEY by at least TYPE words. Set global variable subj to the -subject noun, and return the portion of the sentence following it." + "Search for the subject of a sentence SENT, looking for the noun closest +to and preceding KEY by at least TYPE words. Set global variable subj to +the subject noun, and return the portion of the sentence following it." (let ((i (- (length sent) (length (memq key sent)) type))) (while (and (> i -1) (not (doctor-nounp (nth i sent)))) (setq i (1- i))) @@ -1077,8 +1090,8 @@ expect expected expects expel expels expelled explain explained explains fart farts feel feels felt fight fights find finds finding - forget forgets forgot fought found fuck fucked - fucking fucks + forget forgets forgot fought found fuck fucked ; censored + fucking fucks ; censored gave get gets getting give gives go goes going gone got gotten had harm harms has hate hated hates have having hear heard hears hearing help helped helping helps @@ -1219,7 +1232,7 @@ (memq x '(all also always amusing any anyway associated awesome bad beautiful best better but certain clear ever every fantastic fun funny - good great gross growdy however if ignorant + good great grody gross however if ignorant less linked losing lusing many more much never nice obnoxious often poor pretty real related rich similar some stupid super superb @@ -1309,8 +1322,8 @@ (memq x '(?a ?e ?i ?o ?u))) (defun doctor-replace (sent rlist) - "Replace any element of SENT that is the car of a replacement element -pair in RLIST." + "Replace any element of SENT that is the car of a replacement +element pair in RLIST." (apply 'append (mapcar (function @@ -1331,9 +1344,9 @@ (defun doctor-svo (sent key type mem) "Find subject, verb and object in sentence SENT with focus on word KEY. -TYPE is number of words preceding KEY to start looking for subject. MEM is -t if results are to be put on Doctor's memory stack. -Return is in global variables `subj', `verb' and `object'." +TYPE is number of words preceding KEY to start looking for subject. +MEM is t if results are to be put on Doctor's memory stack. +Return in the global variables SUBJ, VERB and OBJECT." (let ((foo (doctor-subjsearch sent key type))) (or foo (setq foo sent @@ -1347,8 +1360,8 @@ (cond (mem (doctor-remember (list subj verb obj)))))) (defun doctor-possess (sent key) - "Set possessive in SENT for keyword KEY. Hack on previous word, setting -global variable `owner' to possibly correct result." + "Set possessive in SENT for keyword KEY. +Hack on previous word, setting global variable OWNER to correct result." (let* ((i (- (length sent) (length (memq key sent)) 1)) (prev (if (< i 0) 'your (nth i sent)))) @@ -1622,7 +1635,7 @@ (defun doctor-strangelove () (interactive) - (insert "Mein fuhrer!!\n") + (insert "Mein fuehrer!!\n") (doctor-read-print)) ;;; doctor.el ends here