# HG changeset patch # User Lute Kamstra # Date 1118405028 0 # Node ID c1ed13b98cf0b6c1cb48dda18c85fbc3c1497a87 # Parent f48178f79206d720cb7f7be37ae38c20b2dd68c0 (doctor-mode-map): Remove defvar. (doctor-mode): Use define-derived-mode. diff -r f48178f79206 -r c1ed13b98cf0 lisp/play/doctor.el --- a/lisp/play/doctor.el Fri Jun 10 12:03:06 2005 +0000 +++ b/lisp/play/doctor.el Fri Jun 10 12:03:48 2005 +0000 @@ -59,30 +59,21 @@ (set what ww) first)) -(defvar doctor-mode-map nil) -(if doctor-mode-map - nil - (setq doctor-mode-map (make-sparse-keymap)) - (define-key doctor-mode-map "\n" 'doctor-read-print) - (define-key doctor-mode-map "\r" 'doctor-ret-or-read)) - -(defun doctor-mode () +(define-derived-mode doctor-mode text-mode "Doctor" "Major mode for running the Doctor (Eliza) program. Like Text mode with Auto Fill mode except that RET when point is after a newline, or LFD at any time, reads the sentence before point, and prints the Doctor's answer." - (interactive) - (text-mode) (make-doctor-variables) - (use-local-map doctor-mode-map) - (setq major-mode 'doctor-mode) - (setq mode-name "Doctor") (turn-on-auto-fill) (doctor-type '(i am the psychotherapist \. (doc$ please) (doc$ describe) your (doc$ problems) \. each time you are finished talking, type \R\E\T twice \.)) (insert "\n")) +(define-key doctor-mode-map "\n" 'doctor-read-print) +(define-key doctor-mode-map "\r" 'doctor-ret-or-read) + (defun make-doctor-variables () (make-local-variable 'typos) (setq typos