[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master e546d3d 1/2: Make dun-room-shorts a defconst
From: |
Mark Oteiza |
Subject: |
[Emacs-diffs] master e546d3d 1/2: Make dun-room-shorts a defconst |
Date: |
Mon, 20 Feb 2017 13:55:53 -0500 (EST) |
branch: master
commit e546d3d967e12741394774f2d3aeadc07cf78483
Author: Mark Oteiza <address@hidden>
Commit: Mark Oteiza <address@hidden>
Make dun-room-shorts a defconst
* lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
initial value into the declaration.
(dun-space-to-hyphen): Remove.
---
lisp/play/dunnet.el | 35 +++++++++++------------------------
1 file changed, 11 insertions(+), 24 deletions(-)
diff --git a/lisp/play/dunnet.el b/lisp/play/dunnet.el
index bffb38a..e7f4565 100644
--- a/lisp/play/dunnet.el
+++ b/lisp/play/dunnet.el
@@ -1095,7 +1095,17 @@ nil nil nil nil
nil nil nil nil nil nil nil nil nil nil ;31-40
nil (list obj-platinum) nil nil nil nil nil nil nil nil))
-(defvar dun-room-shorts nil)
+(defconst dun-room-shorts
+ (let (res str)
+ (dolist (x dun-rooms)
+ (setq str (downcase (cadr x)))
+ (push (mapconcat #'identity (split-string str "[ /]+") "-") res))
+ (nreverse res)))
+
+(let ((a 0))
+ (dolist (x dun-room-shorts)
+ (eval (list 'defconst (intern x) a))
+ (setq a (+ a 1))))
(defconst dun-endgame-questions
'(("What is your password on the machine called ‘pokey’?" "robert")
@@ -2305,17 +2315,6 @@ for a moment, then straighten yourself up.
nil
result)))
-;;; Take a short room description, and change spaces and slashes to dashes.
-
-(defun dun-space-to-hyphen (string)
- (let (space)
- (if (setq space (string-match "[ /]" string))
- (progn
- (setq string (concat (substring string 0 space) "-"
- (substring string (1+ space))))
- (dun-space-to-hyphen string))
- string)))
-
;;; Given a unix style pathname, build a list of path components (recursive)
(defun dun-get-path (dirstring startlist)
@@ -2398,18 +2397,6 @@ for a moment, then straighten yourself up.
(define-key dungeon-batch-map "\r" 'exit-minibuffer)
(define-key dungeon-batch-map "\n" 'exit-minibuffer)
-(dolist (x dun-rooms)
- (setq dun-room-shorts
- (append dun-room-shorts (list (downcase
- (dun-space-to-hyphen
- (cadr x)))))))
-
-(let (a)
- (setq a 0)
- (dolist (x dun-room-shorts)
- (eval (list 'defconst (intern x) a))
- (setq a (+ a 1))))
-
;;;;
;;;; This section defines the UNIX emulation functions for dunnet.
;;;;