Function: mpuz-try-letter
mpuz-try-letter is an interactive and byte-compiled function defined
in mpuz.el.gz.
Signature
(mpuz-try-letter)
Documentation
Propose a digit for a letter in puzzle.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/play/mpuz.el.gz
(defun mpuz-try-letter ()
"Propose a digit for a letter in puzzle."
(interactive nil mpuz-mode)
(if mpuz-in-progress
(let (letter-char digit digit-char)
(setq letter-char (upcase last-command-event)
digit (mpuz-to-digit (- letter-char ?A)))
(cond ((mpuz-digit-solved-p digit)
(message "%c already solved." letter-char)
(mpuz-ding t))
((null (aref mpuz-board digit))
(message "%c does not appear." letter-char)
(mpuz-ding t))
((progn (message "%c = " letter-char)
;; <char> has been entered.
;; Print "<char> =" and
;; read <num> or = <num>
(setq digit-char (read-char))
(if (eq digit-char ?=)
(setq digit-char (read-char)))
(or (> digit-char ?9) (< digit-char ?0))) ; bad input
(message "%c = %c" letter-char digit-char)
(mpuz-ding t))
(t
(mpuz-try-proposal letter-char digit-char))))
(if (y-or-n-p "Start a new game? ")
(mpuz-start-new-game)
(message "OK. I won't."))))