From a87c4c30596729209cd174da7414715d230cb177 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Sun, 4 Feb 2007 17:29:50 +0000 Subject: (mpuz-random-puzzle): Fix potential lockup when `mpuz-allow-double-multiplicator' is non-zero, and correct calculation of `min'. --- lisp/play/mpuz.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lisp/play') diff --git a/lisp/play/mpuz.el b/lisp/play/mpuz.el index fdc30c05706..5cb2ed0c9ca 100644 --- a/lisp/play/mpuz.el +++ b/lisp/play/mpuz.el @@ -262,8 +262,9 @@ You may abort a game by typing \\\\[mpuz-offer-abort]." (fillarray mpuz-board nil) ; erase the board ;; A,B,C,D & E, are the five rows of our multiplication. ;; Choose random values, discarding cases with leading zeros in C or D. - (let* ((A (+ 112 (random 888))) - (min (1+ (/ 1000 A))) + (let* ((A (if mpuz-allow-double-multiplicator (+ 112 (random 888)) + (+ 125 (random 875)))) + (min (1+ (/ 999 A))) (B1 (+ min (random (- 10 min)))) B2 C D E) (while (if (= B1 (setq B2 (+ min (random (- 10 min))))) -- cgit v1.2.1