aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStephen Eglen1998-04-05 16:14:58 +0000
committerStephen Eglen1998-04-05 16:14:58 +0000
commit323f7c491fa609efb16ab53da95c591e487e6f23 (patch)
tree9fb6a401ddd014bf5e8618a9c007ce3a457286f7 /lisp
parenta797a30d6b1555f0d778ecd8fee34c2ad8f42bc7 (diff)
downloademacs-323f7c491fa609efb16ab53da95c591e487e6f23.tar.gz
emacs-323f7c491fa609efb16ab53da95c591e487e6f23.zip
Customized.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/play/bruce.el19
-rw-r--r--lisp/play/decipher.el29
-rw-r--r--lisp/play/dunnet.el12
-rw-r--r--lisp/play/gametree.el35
-rw-r--r--lisp/play/gomoku.el25
-rw-r--r--lisp/play/handwrite.el66
-rw-r--r--lisp/play/landmark.el53
-rw-r--r--lisp/play/mpuz.el16
-rw-r--r--lisp/play/solitaire.el18
-rw-r--r--lisp/play/spook.el19
-rw-r--r--lisp/play/yow.el11
11 files changed, 222 insertions, 81 deletions
diff --git a/lisp/play/bruce.el b/lisp/play/bruce.el
index 46fa59bdec9..d54a49981c0 100644
--- a/lisp/play/bruce.el
+++ b/lisp/play/bruce.el
@@ -106,11 +106,20 @@
106(require 'cookie1) 106(require 'cookie1)
107 107
108; Variables 108; Variables
109(defvar bruce-phrases-file "~/bruce.lines" 109(defgroup bruce nil
110 "Keep your favorite phrases here.") 110 "Insert phrases selected at random from a file into a buffer."
111 111 :prefix "bruce-"
112(defvar bruce-phrase-default-count 15 112 :group 'games)
113 "Default number of phrases to insert") 113
114(defcustom bruce-phrases-file "~/bruce.lines"
115 "Keep your favorite phrases here."
116 :type 'file
117 :group 'bruce)
118
119(defcustom bruce-phrase-default-count 15
120 "Default number of phrases to insert."
121 :type 'integer
122 :group 'bruce)
114 123
115;;;###autoload 124;;;###autoload
116(defun bruce () 125(defun bruce ()
diff --git a/lisp/play/decipher.el b/lisp/play/decipher.el
index 307ac0d1732..b880ddb29fb 100644
--- a/lisp/play/decipher.el
+++ b/lisp/play/decipher.el
@@ -93,22 +93,39 @@
93(eval-when-compile 93(eval-when-compile
94 (require 'cl)) 94 (require 'cl))
95 95
96(defvar decipher-force-uppercase t 96(defgroup decipher nil
97 "Cryptanalyze monoalphabetic substitution ciphers."
98 :prefix "decipher-"
99 :group 'games)
100
101(defcustom decipher-force-uppercase t
97 "*Non-nil means to convert ciphertext to uppercase. 102 "*Non-nil means to convert ciphertext to uppercase.
98Nil means the case of the ciphertext is preserved. 103Nil means the case of the ciphertext is preserved.
99This variable must be set before typing `\\[decipher]'.") 104This variable must be set before typing `\\[decipher]'."
105 :type 'boolean
106 :group 'decipher)
107
100 108
101(defvar decipher-ignore-spaces nil 109(defcustom decipher-ignore-spaces nil
102 "*Non-nil means to ignore spaces and punctuation when counting digrams. 110 "*Non-nil means to ignore spaces and punctuation when counting digrams.
103You should set this to `nil' if the cipher message is divided into words, 111You should set this to `nil' if the cipher message is divided into words,
104or `t' if it is not. 112or `t' if it is not.
105This variable is buffer-local.") 113This variable is buffer-local."
114 :type 'boolean
115 :group 'decipher)
106(make-variable-buffer-local 'decipher-ignore-spaces) 116(make-variable-buffer-local 'decipher-ignore-spaces)
107 117
108(defvar decipher-undo-limit 5000 118(defcustom decipher-undo-limit 5000
109 "The maximum number of entries in the undo list. 119 "The maximum number of entries in the undo list.
110When the undo list exceeds this number, 100 entries are deleted from 120When the undo list exceeds this number, 100 entries are deleted from
111the tail of the list.") 121the tail of the list."
122 :type 'integer
123 :group 'decipher)
124
125(defcustom decipher-mode-hook nil
126 "Hook to run upon entry to decipher."
127 :type 'hook
128 :group 'decipher)
112 129
113;; End of user modifiable variables 130;; End of user modifiable variables
114;;-------------------------------------------------------------------- 131;;--------------------------------------------------------------------
diff --git a/lisp/play/dunnet.el b/lisp/play/dunnet.el
index a3f43ef0a03..58e06fd2348 100644
--- a/lisp/play/dunnet.el
+++ b/lisp/play/dunnet.el
@@ -33,9 +33,15 @@
33;;; The log file should be set for your system, and it must 33;;; The log file should be set for your system, and it must
34;;; be writable by all. 34;;; be writable by all.
35 35
36 36(defgroup dunnet nil
37(defvar dun-log-file "/usr/local/dunnet.score" 37 "Text adventure for Emacs."
38 "Name of file to store score information for dunnet.") 38 :prefix "dun-"
39 :group 'games)
40
41(defcustom dun-log-file "/usr/local/dunnet.score"
42 "Name of file to store score information for dunnet."
43 :type 'file
44 :group 'dunnet)
39 45
40(if nil 46(if nil
41 (eval-and-compile (setq byte-compile-warnings nil))) 47 (eval-and-compile (setq byte-compile-warnings nil)))
diff --git a/lisp/play/gametree.el b/lisp/play/gametree.el
index 40cd2bfd207..17a192d9794 100644
--- a/lisp/play/gametree.el
+++ b/lisp/play/gametree.el
@@ -90,33 +90,48 @@
90 90
91;;;; Configuration variables 91;;;; Configuration variables
92 92
93(defvar gametree-half-ply-regexp (regexp-quote ":") 93(defgroup gametree nil
94 "Manage game analysis trees in Emacs."
95 :prefix "gametree-"
96 :group 'games)
97
98(defcustom gametree-half-ply-regexp (regexp-quote ":")
94 "*Matches ends of numbers of moves by the \"second\" player. 99 "*Matches ends of numbers of moves by the \"second\" player.
95For instance, it is an almost universal convention in chess to postfix 100For instance, it is an almost universal convention in chess to postfix
96numbers of moves by Black (if considered in isolation) by the ellipsis 101numbers of moves by Black (if considered in isolation) by the ellipsis
97\"...\". This is NOT a good choice for this program, though, because it 102\"...\". This is NOT a good choice for this program, though, because it
98conflicts with the use of ellipsis by Outline mode to denote collapsed 103conflicts with the use of ellipsis by Outline mode to denote collapsed
99subtrees. The author uses \":\" because it agrees nicely with a set of 104subtrees. The author uses \":\" because it agrees nicely with a set of
100LaTeX macros he uses for typesetting annotated games.") 105LaTeX macros he uses for typesetting annotated games."
106 :type 'regexp
107 :group 'gametree)
101 108
102(defvar gametree-full-ply-regexp (regexp-quote ".") 109(defcustom gametree-full-ply-regexp (regexp-quote ".")
103 "*Matches ends of numbers of moves by the \"first\" player. 110 "*Matches ends of numbers of moves by the \"first\" player.
104For instance, it is an almost universal convention in chess to postfix 111For instance, it is an almost universal convention in chess to postfix
105numbers of moves by White (if considered in isolation) by the dot \".\".") 112numbers of moves by White (if considered in isolation) by the dot \".\"."
113 :type 'regexp
114 :group 'gametree)
106 115
107(defvar gametree-half-ply-format "%d:" 116(defcustom gametree-half-ply-format "%d:"
108 "*Output format for move numbers of moves by the \"second\" player. 117 "*Output format for move numbers of moves by the \"second\" player.
109Has to contain \"%d\" to output the actual number.") 118Has to contain \"%d\" to output the actual number."
119 :type 'string
120 :group 'gametree)
110 121
111(defvar gametree-full-ply-format "%d." 122(defcustom gametree-full-ply-format "%d."
112 "*Output format for move numbers of moves by the \"first\" player. 123 "*Output format for move numbers of moves by the \"first\" player.
113Has to contain \"%d\" to output the actual number.") 124Has to contain \"%d\" to output the actual number."
125 :type 'string
126 :group 'gametree)
114 127
115(defvar gametree-make-heading-function 128(defcustom gametree-make-heading-function
116 (function (lambda (level) 129 (function (lambda (level)
117 (insert (make-string level ?*)))) 130 (insert (make-string level ?*))))
118 "A function of one numeric argument, LEVEL, to insert a heading at point. 131 "A function of one numeric argument, LEVEL, to insert a heading at point.
119You should change this if you change `outline-regexp'.") 132You should change this if you change `outline-regexp'."
133 :type 'function
134 :group 'gametree)
120 135
121(defvar gametree-local-layout nil 136(defvar gametree-local-layout nil
122 "A list encoding the layout (i.e. the show or hide state) of the file. 137 "A list encoding the layout (i.e. the show or hide state) of the file.
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el
index 73cbcc0307d..d1a1ff890cf 100644
--- a/lisp/play/gomoku.el
+++ b/lisp/play/gomoku.el
@@ -66,11 +66,18 @@
66 66
67;;; Code: 67;;; Code:
68 68
69(defgroup gomoku nil
70 "Gomoku game between you and Emacs."
71 :prefix "gomoku-"
72 :group 'games)
69;;; 73;;;
70;;; GOMOKU MODE AND KEYMAP. 74;;; GOMOKU MODE AND KEYMAP.
71;;; 75;;;
72(defvar gomoku-mode-hook nil 76(defcustom gomoku-mode-hook nil
73 "If non-nil, its value is called on entry to Gomoku mode.") 77 "If non-nil, its value is called on entry to Gomoku mode.
78One useful value to include is `turn-on-font-lock' to highlight the pieces."
79 :type 'hook
80 :group 'gomoku)
74 81
75(defvar gomoku-mode-map nil 82(defvar gomoku-mode-map nil
76 "Local keymap to use in Gomoku mode.") 83 "Local keymap to use in Gomoku mode.")
@@ -133,17 +140,21 @@
133 gomoku-mode-map (current-global-map))) 140 gomoku-mode-map (current-global-map)))
134 141
135(defvar gomoku-emacs-won () 142(defvar gomoku-emacs-won ()
136 "*For making font-lock use the winner's face for the line.") 143 "For making font-lock use the winner's face for the line.")
137 144
138(defvar gomoku-font-lock-O-face 145(defcustom gomoku-font-lock-O-face
139 (if window-system 146 (if window-system
140 (list (facemenu-get-face 'fg:red) 'bold)) 147 (list (facemenu-get-face 'fg:red) 'bold))
141 "*Face to use for Emacs' O.") 148 "*Face to use for Emacs' O."
149 :type '(repeat face)
150 :group 'gomoku)
142 151
143(defvar gomoku-font-lock-X-face 152(defcustom gomoku-font-lock-X-face
144 (if window-system 153 (if window-system
145 (list (facemenu-get-face 'fg:green) 'bold)) 154 (list (facemenu-get-face 'fg:green) 'bold))
146 "*Face to use for your X.") 155 "*Face to use for your X."
156 :type '(repeat face)
157 :group 'gomoku)
147 158
148(defvar gomoku-font-lock-keywords 159(defvar gomoku-font-lock-keywords
149 '(("O" . gomoku-font-lock-O-face) 160 '(("O" . gomoku-font-lock-O-face)
diff --git a/lisp/play/handwrite.el b/lisp/play/handwrite.el
index 1a0fabfb9f9..758293acf74 100644
--- a/lisp/play/handwrite.el
+++ b/lisp/play/handwrite.el
@@ -72,6 +72,11 @@
72 72
73;; Variables 73;; Variables
74 74
75(defgroup handwrite nil
76 "Turns your emacs buffer into a handwritten document."
77 :prefix "handwrite-"
78 :group 'games)
79
75(defvar handwrite-psindex 0 80(defvar handwrite-psindex 0
76 "The index of the PostScript buffer.") 81 "The index of the PostScript buffer.")
77(defvar menu-bar-handwrite-map (make-sparse-keymap "Handwrite functions.")) 82(defvar menu-bar-handwrite-map (make-sparse-keymap "Handwrite functions."))
@@ -80,27 +85,46 @@
80 85
81;; User definable variables 86;; User definable variables
82 87
83(defvar handwrite-numlines 60 88(defcustom handwrite-numlines 60
84 "*The number of lines on a page of the PostScript output from `handwrite'.") 89 "*The number of lines on a page of the PostScript output from `handwrite'."
85(defvar handwrite-fontsize 11 90 :type 'integer
86 "*The size of the font for the PostScript output from `handwrite'.") 91 :group 'handwrite)
87(defvar handwrite-linespace 12 92(defcustom handwrite-fontsize 11
88 "*The spacing for the PostScript output from `handwrite'.") 93 "*The size of the font for the PostScript output from `handwrite'."
89(defvar handwrite-xstart 30 94 :type 'integer
90 "*X-axis translation in the PostScript output from `handwrite'.") 95 :group 'handwrite)
91(defvar handwrite-ystart 810 96(defcustom handwrite-linespace 12
92 "*Y-axis translation in the PostScript output from `handwrite'.") 97 "*The spacing for the PostScript output from `handwrite'."
93(defvar handwrite-pagenumbering nil 98 :type 'integer
94 "*If non-nil, number each page of the PostScript output from `handwrite'.") 99 :group 'handwrite)
95(defvar handwrite-10pt-numlines 65 100(defcustom handwrite-xstart 30
96 "*The number of lines on a page for the function `handwrite-10pt'.") 101 "*X-axis translation in the PostScript output from `handwrite'."
97(defvar handwrite-11pt-numlines 60 102 :type 'integer
98 "*The number of lines on a page for the function `handwrite-11pt'.") 103 :group 'handwrite)
99(defvar handwrite-12pt-numlines 55 104(defcustom handwrite-ystart 810
100 "*The number of lines on a page for the function `handwrite-12pt'.") 105 "*Y-axis translation in the PostScript output from `handwrite'."
101(defvar handwrite-13pt-numlines 50 106 :type 'integer
102 "*The number of lines on a page for the function `handwrite-13pt'.") 107 :group 'handwrite)
103 108(defcustom handwrite-pagenumbering nil
109 "*If non-nil, number each page of the PostScript output from `handwrite'."
110 :type 'boolean
111 :group 'handwrite)
112(defcustom handwrite-10pt-numlines 65
113 "*The number of lines on a page for the function `handwrite-10pt'."
114 :type 'integer
115 :group 'handwrite)
116(defcustom handwrite-11pt-numlines 60
117 "*The number of lines on a page for the function `handwrite-11pt'."
118 :type 'integer
119 :group 'handwrite)
120(defcustom handwrite-12pt-numlines 55
121 "*The number of lines on a page for the function `handwrite-12pt'."
122 :type 'integer
123 :group 'handwrite)
124(defcustom handwrite-13pt-numlines 50
125 "*The number of lines on a page for the function `handwrite-13pt'."
126 :type 'integer
127 :group 'handwrite)
104 128
105;; Interactive functions 129;; Interactive functions
106 130
diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el
index 2fd7d9d79f1..e8bb833825b 100644
--- a/lisp/play/landmark.el
+++ b/lisp/play/landmark.el
@@ -68,6 +68,11 @@
68 68
69;;;_* From Gomoku 69;;;_* From Gomoku
70 70
71(defgroup lm nil
72 "Neural-network robot that learns landmarks."
73 :prefix "lm-"
74 :group 'games)
75
71;;;_ + THE BOARD. 76;;;_ + THE BOARD.
72 77
73;; The board is a rectangular grid. We code empty squares with 0, X's with 1 78;; The board is a rectangular grid. We code empty squares with 0, X's with 1
@@ -154,8 +159,10 @@
154 159
155;;;_ + LM MODE AND KEYMAP. 160;;;_ + LM MODE AND KEYMAP.
156 161
157(defvar lm-mode-hook nil 162(defcustom lm-mode-hook nil
158 "If non-nil, its value is called on entry to Lm mode.") 163 "If non-nil, its value is called on entry to Lm mode."
164 :type 'hook
165 :group 'lm)
159 166
160(defvar lm-mode-map nil 167(defvar lm-mode-map nil
161 "Local keymap to use in Lm mode.") 168 "Local keymap to use in Lm mode.")
@@ -1123,12 +1130,16 @@ this program to add a random element to the way moves were made.")
1123;;;(setq lm-debug nil) 1130;;;(setq lm-debug nil)
1124(defvar lm-debug nil 1131(defvar lm-debug nil
1125 "If non-nil, debugging is printed.") 1132 "If non-nil, debugging is printed.")
1126(defvar lm-one-moment-please nil 1133(defcustom lm-one-moment-please nil
1127 "If non-nil, print \"One moment please\" when a new board is generated. 1134 "If non-nil, print \"One moment please\" when a new board is generated.
1128The drawback of this is you don't see how many moves the last run took 1135The drawback of this is you don't see how many moves the last run took
1129because it is overwritten by \"One moment please\".") 1136because it is overwritten by \"One moment please\"."
1130(defvar lm-output-moves t 1137 :type 'boolean
1131 "If non-nil, output number of moves so far on a move-by-move basis.") 1138 :group 'lm)
1139(defcustom lm-output-moves t
1140 "If non-nil, output number of moves so far on a move-by-move basis."
1141 :type 'boolean
1142 :group 'lm)
1132 1143
1133 1144
1134(defun lm-weights-debug () 1145(defun lm-weights-debug ()
@@ -1252,22 +1263,32 @@ because it is overwritten by \"One moment please\".")
1252 (mapc 'lm-print-wts-int lm-directions)) 1263 (mapc 'lm-print-wts-int lm-directions))
1253 1264
1254;;;_ - learning parameters 1265;;;_ - learning parameters
1255(defvar lm-bound 0.005 1266(defcustom lm-bound 0.005
1256 "The maximum that w0j may be.") 1267 "The maximum that w0j may be."
1257(defvar lm-c 1.0 1268 :type 'number
1269 :group 'lm)
1270(defcustom lm-c 1.0
1258 "A factor applied to modulate the increase in wij. 1271 "A factor applied to modulate the increase in wij.
1259Used in the function lm-update-normal-weights.") 1272Used in the function lm-update-normal-weights."
1260(defvar lm-c-naught 0.5 1273 :type 'number
1274 :group 'lm)
1275(defcustom lm-c-naught 0.5
1261 "A factor applied to modulate the increase in w0j. 1276 "A factor applied to modulate the increase in w0j.
1262Used in the function lm-update-naught-weights.") 1277Used in the function lm-update-naught-weights."
1278 :type 'number
1279 :group 'lm)
1263(defvar lm-initial-w0 0.0) 1280(defvar lm-initial-w0 0.0)
1264(defvar lm-initial-wij 0.0) 1281(defvar lm-initial-wij 0.0)
1265(defvar lm-no-payoff 0 1282(defcustom lm-no-payoff 0
1266 "The amount of simulation cycles that have occurred with no movement. 1283 "The amount of simulation cycles that have occurred with no movement.
1267Used to move the robot when he is stuck in a rut for some reason.") 1284Used to move the robot when he is stuck in a rut for some reason."
1268(defvar lm-max-stall-time 2 1285 :type 'integer
1286 :group 'lm)
1287(defcustom lm-max-stall-time 2
1269 "The maximum number of cycles that the robot can remain stuck in a place. 1288 "The maximum number of cycles that the robot can remain stuck in a place.
1270After this limit is reached, lm-random-move is called to push him out of it.") 1289After this limit is reached, lm-random-move is called to push him out of it."
1290 :type 'integer
1291 :group 'lm)
1271 1292
1272 1293
1273;;;_ + Randomizing functions 1294;;;_ + Randomizing functions
diff --git a/lisp/play/mpuz.el b/lisp/play/mpuz.el
index e08a274b851..8f0f2f688e4 100644
--- a/lisp/play/mpuz.el
+++ b/lisp/play/mpuz.el
@@ -31,10 +31,17 @@
31 31
32;;; Code: 32;;; Code:
33 33
34(defgroup mpuz nil
35 "Multiplication puzzle."
36 :prefix "mpuz-"
37 :group 'games)
38
34(random t) ; randomize 39(random t) ; randomize
35 40
36(defvar mpuz-silent nil 41(defcustom mpuz-silent nil
37 "*Set this to T if you don't want dings on inputs.") 42 "*Set this to T if you don't want dings on inputs."
43 :type 'boolean
44 :group 'mpuz)
38 45
39(defun mpuz-ding () 46(defun mpuz-ding ()
40 "Dings, unless global variable `mpuz-silent' forbids it." 47 "Dings, unless global variable `mpuz-silent' forbids it."
@@ -43,7 +50,10 @@
43 50
44;; Mpuz mode and keymaps 51;; Mpuz mode and keymaps
45;;---------------------- 52;;----------------------
46(defvar mpuz-mode-hook nil) 53(defcustom mpuz-mode-hook nil
54 "Hook to run upon entry to mpuz."
55 :type 'hook
56 :group 'mpuz)
47 57
48(defvar mpuz-mode-map nil 58(defvar mpuz-mode-map nil
49 "Local keymap to use in Mult Puzzle.") 59 "Local keymap to use in Mult Puzzle.")
diff --git a/lisp/play/solitaire.el b/lisp/play/solitaire.el
index c3a4b4ff114..812d0a8d6a8 100644
--- a/lisp/play/solitaire.el
+++ b/lisp/play/solitaire.el
@@ -33,9 +33,19 @@
33 33
34;;; Code: 34;;; Code:
35 35
36(defgroup solitaire nil
37 "Game of solitaire."
38 :prefix "solitaire-"
39 :group 'games)
40
36(defvar solitaire-mode-map nil 41(defvar solitaire-mode-map nil
37 "Keymap for playing solitaire.") 42 "Keymap for playing solitaire.")
38 43
44(defcustom solitaire-mode-hook nil
45 "Hook to run upon entry to solitaire."
46 :type 'hook
47 :group 'solitaire)
48
39(if solitaire-mode-map 49(if solitaire-mode-map
40 () 50 ()
41 (setq solitaire-mode-map (make-sparse-keymap)) 51 (setq solitaire-mode-map (make-sparse-keymap))
@@ -116,10 +126,12 @@ The usual mnemonic keys move the cursor around the board; in addition,
116(defvar solitaire-end-x nil) 126(defvar solitaire-end-x nil)
117(defvar solitaire-end-y nil) 127(defvar solitaire-end-y nil)
118 128
119(defvar solitaire-auto-eval t 129(defcustom solitaire-auto-eval t
120 "*Non-nil means check for possible moves after each major change. 130 "*Non-nil means check for possible moves after each major change.
121This takes a while, so switch this on if you like to be informed when 131This takes a while, so switch this on if you like to be informed when
122the game is over, or off, if you are working on a slow machine.") 132the game is over, or off, if you are working on a slow machine."
133 :type 'boolean
134 :group 'solitaire)
123 135
124(defconst solitaire-valid-directions 136(defconst solitaire-valid-directions
125 '(solitaire-left solitaire-right solitaire-up solitaire-down)) 137 '(solitaire-left solitaire-right solitaire-up solitaire-down))
@@ -134,7 +146,7 @@ Move around the board using the cursor keys.
134Move stones using \\[solitaire-move] followed by a direction key. 146Move stones using \\[solitaire-move] followed by a direction key.
135Undo moves using \\[solitaire-undo]. 147Undo moves using \\[solitaire-undo].
136Check for possible moves using \\[solitaire-do-check]. 148Check for possible moves using \\[solitaire-do-check].
137\(The variable solitaire-auto-eval controls whether to automatically 149\(The variable `solitaire-auto-eval' controls whether to automatically
138check after each move or undo) 150check after each move or undo)
139 151
140What is Solitaire? 152What is Solitaire?
diff --git a/lisp/play/spook.el b/lisp/play/spook.el
index 8d8f8229d5b..527bdda94f0 100644
--- a/lisp/play/spook.el
+++ b/lisp/play/spook.el
@@ -40,11 +40,20 @@
40(require 'cookie1) 40(require 'cookie1)
41 41
42; Variables 42; Variables
43(defvar spook-phrases-file (concat data-directory "spook.lines") 43(defgroup spook nil
44 "Keep your favorite phrases here.") 44 "Spook phrase utility for overloading the NSA line eater."
45 45 :prefix "spook-"
46(defvar spook-phrase-default-count 15 46 :group 'games)
47 "Default number of phrases to insert") 47
48(defcustom spook-phrases-file (concat data-directory "spook.lines")
49 "Keep your favorite phrases here."
50 :type 'file
51 :group 'spook)
52
53(defcustom spook-phrase-default-count 15
54 "Default number of phrases to insert."
55 :type 'integer
56 :group 'spook)
48 57
49;;;###autoload 58;;;###autoload
50(defun spook () 59(defun spook ()
diff --git a/lisp/play/yow.el b/lisp/play/yow.el
index 501758e94a4..42a421f2b6b 100644
--- a/lisp/play/yow.el
+++ b/lisp/play/yow.el
@@ -35,8 +35,15 @@
35 35
36(require 'cookie1) 36(require 'cookie1)
37 37
38(defvar yow-file (concat data-directory "yow.lines") 38(defgroup yow nil
39 "File containing pertinent pinhead phrases.") 39 "Quote random zippyisms."
40 :prefix "yow-"
41 :group 'games)
42
43(defcustom yow-file (concat data-directory "yow.lines")
44 "File containing pertinent pinhead phrases."
45 :type 'file
46 :group 'yow)
40 47
41(defconst yow-load-message "Am I CONSING yet?...") 48(defconst yow-load-message "Am I CONSING yet?...")
42(defconst yow-after-load-message "I have SEEN the CONSING!!") 49(defconst yow-after-load-message "I have SEEN the CONSING!!")