aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero2011-04-21 14:06:01 +0200
committerJuanma Barranquero2011-04-21 14:06:01 +0200
commitc6c3212525649764708af281de3deb2d96225686 (patch)
tree80864d29dc19810914e33fc2b9baeec43e7c6c1d
parent58d468b44d8e8b639e8dd13f9895516d30bcbba5 (diff)
downloademacs-c6c3212525649764708af281de3deb2d96225686.tar.gz
emacs-c6c3212525649764708af281de3deb2d96225686.zip
lisp/play/mpuz.el: Small fixes.
* play/mpuz (mpuz-silent): Doc fix. (mpuz-mode-map): Move initialization into declaration. (mpuz-put-number-on-board): Rename parameter L to COLUMNS. (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer): Fix typos in docstrings.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/play/mpuz.el51
2 files changed, 22 insertions, 35 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 77c586c47fb..7cfe6d842d9 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,11 @@
12011-04-21 Juanma Barranquero <lekktu@gmail.com> 12011-04-21 Juanma Barranquero <lekktu@gmail.com>
2 2
3 * play/mpuz.el (mpuz-silent): Doc fix.
4 (mpuz-mode-map): Move initialization into declaration.
5 (mpuz-put-number-on-board): Rename parameter L to COLUMNS.
6 (mpuz-letter-to-digit, mpuz-check-all-solved, mpuz-create-buffer):
7 Fix typos in docstrings.
8
3 * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token) 9 * play/doctor.el (doc$, doctor-$, doctor-read-print, doctor-read-token)
4 (doctor-nounp, doctor-pronounp): Fix typos in docstrings. 10 (doctor-nounp, doctor-pronounp): Fix typos in docstrings.
5 11
diff --git a/lisp/play/mpuz.el b/lisp/play/mpuz.el
index 32678650ab3..4c6d66b27ae 100644
--- a/lisp/play/mpuz.el
+++ b/lisp/play/mpuz.el
@@ -40,7 +40,7 @@
40 40
41(defcustom mpuz-silent 'error 41(defcustom mpuz-silent 'error
42 "Set this to nil if you want dings on inputs. 42 "Set this to nil if you want dings on inputs.
43t means never ding, and `error' means only ding on wrong input." 43The value t means never ding, and `error' means only ding on wrong input."
44 :type '(choice (const :tag "No" nil) 44 :type '(choice (const :tag "No" nil)
45 (const :tag "Yes" t) 45 (const :tag "Yes" t)
46 (const :tag "If correct" error)) 46 (const :tag "If correct" error))
@@ -87,34 +87,16 @@ t means never ding, and `error' means only ding on wrong input."
87 :type 'hook 87 :type 'hook
88 :group 'mpuz) 88 :group 'mpuz)
89 89
90(defvar mpuz-mode-map nil 90(defvar mpuz-mode-map
91 (let ((map (make-sparse-keymap)))
92 (mapc (lambda (ch)
93 (define-key map (char-to-string ch) 'mpuz-try-letter))
94 "abcdefghijABCDEFGHIJ")
95 (define-key map "\C-g" 'mpuz-offer-abort)
96 (define-key map "?" 'describe-mode)
97 map)
91 "Local keymap to use in Mult Puzzle.") 98 "Local keymap to use in Mult Puzzle.")
92 99
93(if mpuz-mode-map nil
94 (setq mpuz-mode-map (make-sparse-keymap))
95 (define-key mpuz-mode-map "a" 'mpuz-try-letter)
96 (define-key mpuz-mode-map "b" 'mpuz-try-letter)
97 (define-key mpuz-mode-map "c" 'mpuz-try-letter)
98 (define-key mpuz-mode-map "d" 'mpuz-try-letter)
99 (define-key mpuz-mode-map "e" 'mpuz-try-letter)
100 (define-key mpuz-mode-map "f" 'mpuz-try-letter)
101 (define-key mpuz-mode-map "g" 'mpuz-try-letter)
102 (define-key mpuz-mode-map "h" 'mpuz-try-letter)
103 (define-key mpuz-mode-map "i" 'mpuz-try-letter)
104 (define-key mpuz-mode-map "j" 'mpuz-try-letter)
105 (define-key mpuz-mode-map "A" 'mpuz-try-letter)
106 (define-key mpuz-mode-map "B" 'mpuz-try-letter)
107 (define-key mpuz-mode-map "C" 'mpuz-try-letter)
108 (define-key mpuz-mode-map "D" 'mpuz-try-letter)
109 (define-key mpuz-mode-map "E" 'mpuz-try-letter)
110 (define-key mpuz-mode-map "F" 'mpuz-try-letter)
111 (define-key mpuz-mode-map "G" 'mpuz-try-letter)
112 (define-key mpuz-mode-map "H" 'mpuz-try-letter)
113 (define-key mpuz-mode-map "I" 'mpuz-try-letter)
114 (define-key mpuz-mode-map "J" 'mpuz-try-letter)
115 (define-key mpuz-mode-map "\C-g" 'mpuz-offer-abort)
116 (define-key mpuz-mode-map "?" 'describe-mode))
117
118(defun mpuz-mode () 100(defun mpuz-mode ()
119 "Multiplication puzzle mode. 101 "Multiplication puzzle mode.
120 102
@@ -171,7 +153,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
171 "A permutation from [0..9] to [0..9].") 153 "A permutation from [0..9] to [0..9].")
172 154
173(defvar mpuz-letter-to-digit (make-vector 10 0) 155(defvar mpuz-letter-to-digit (make-vector 10 0)
174 "The inverse of mpuz-digit-to-letter.") 156 "The inverse of `mpuz-digit-to-letter'.")
175 157
176(defmacro mpuz-to-digit (letter) 158(defmacro mpuz-to-digit (letter)
177 (list 'aref 'mpuz-letter-to-digit letter)) 159 (list 'aref 'mpuz-letter-to-digit letter))
@@ -198,17 +180,16 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
198(defvar mpuz-board (make-vector 10 nil) 180(defvar mpuz-board (make-vector 10 nil)
199 "The board associates to any digit the list of squares where it appears.") 181 "The board associates to any digit the list of squares where it appears.")
200 182
201(defun mpuz-put-number-on-board (number row &rest l) 183(defun mpuz-put-number-on-board (number row &rest columns)
202 "Put (last digit of) NUMBER on ROW and COLUMNS of the puzzle board." 184 "Put (last digit of) NUMBER on ROW and COLUMNS of the puzzle board."
203 (let (digit) 185 (let (digit)
204 (while l 186 (dolist (column columns)
205 (setq digit (% number 10) 187 (setq digit (% number 10)
206 number (/ number 10)) 188 number (/ number 10))
207 (aset mpuz-board digit `((,row . ,(car l)) ,@(aref mpuz-board digit))) 189 (aset mpuz-board digit `((,row . ,column) ,@(aref mpuz-board digit))))))
208 (setq l (cdr l)))))
209 190
210(defun mpuz-check-all-solved (&optional row col) 191(defun mpuz-check-all-solved (&optional row col)
211 "Check whether all digits have been solved. Return t if yes." 192 "Check whether all digits have been solved. Return t if yes."
212 (catch 'solved 193 (catch 'solved
213 (let (A B1 B2 C D E squares) 194 (let (A B1 B2 C D E squares)
214 (and mpuz-solve-when-trivial 195 (and mpuz-solve-when-trivial
@@ -294,7 +275,7 @@ You may abort a game by typing \\<mpuz-mode-map>\\[mpuz-offer-abort]."
294 "The general picture of the puzzle screen, as a string.") 275 "The general picture of the puzzle screen, as a string.")
295 276
296(defun mpuz-create-buffer () 277(defun mpuz-create-buffer ()
297 "Create (or recreate) the puzzle buffer. Return it." 278 "Create (or recreate) the puzzle buffer. Return it."
298 (let ((buf (get-buffer-create "*Mult Puzzle*")) 279 (let ((buf (get-buffer-create "*Mult Puzzle*"))
299 (face '(face mpuz-text)) 280 (face '(face mpuz-text))
300 buffer-read-only) 281 buffer-read-only)