[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 54fc3dc: * sokoban/sokoban.el: Use cl-lib
From: |
Stefan Monnier |
Subject: |
[elpa] master 54fc3dc: * sokoban/sokoban.el: Use cl-lib |
Date: |
Mon, 11 Feb 2019 15:19:55 -0500 (EST) |
branch: master
commit 54fc3dcc139d608a00fa287c02684e744a8a0ddc
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* sokoban/sokoban.el: Use cl-lib
(sokoban-mode): Remove redundant special-mode setting.
---
packages/sokoban/sokoban.el | 41 ++++++++++++++++++++---------------------
1 file changed, 20 insertions(+), 21 deletions(-)
diff --git a/packages/sokoban/sokoban.el b/packages/sokoban/sokoban.el
index ee7d8f8..57aab47 100644
--- a/packages/sokoban/sokoban.el
+++ b/packages/sokoban/sokoban.el
@@ -5,7 +5,9 @@
;; Author: Glynn Clements <address@hidden>
;; Maintainer: Dieter Deyke <address@hidden>
;; Version: 1.4.7
-;; Package-Requires: ((emacs "23.1"))
+;; Comment: While we set lexical-binding, it currently doesn't make use
+;; of closures, which is why it can still work in Emacs-23.1.
+;; Package-Requires: ((emacs "23.1") (cl-lib "0.5"))
;; Created: 1997-09-11
;; Keywords: games
;; Package-Type: multi
@@ -52,8 +54,7 @@
;;; Code:
-(eval-when-compile
- (require 'cl))
+(eval-when-compile (require 'cl-lib))
(require 'gamegrid)
(require 'xml)
@@ -536,7 +537,7 @@ static char * player_on_target_xpm[] = {
(dolist (SokobanLevels tree)
(dolist (LevelCollection (xml-get-children SokobanLevels
'LevelCollection))
(dolist (Level (xml-get-children LevelCollection 'Level))
- (incf n)
+ (cl-incf n)
(insert (format ";LEVEL %d\n" n))
(dolist (L (xml-get-children Level 'L))
(insert (car (xml-node-children L)))
@@ -561,7 +562,7 @@ static char * player_on_target_xpm[] = {
(setq r 0)
(while (not (or (eobp)
(looking-at sokoban-comment-regexp)))
- (incf r)
+ (cl-incf r)
(setq sokoban-height (max sokoban-height r)
sokoban-width (max sokoban-width (- (line-end-position)
(line-beginning-position))))
(forward-line))))
@@ -626,10 +627,10 @@ static char * player_on_target_xpm[] = {
(cond
((or (eq c sokoban-target)
(eq c sokoban-player-on-target))
- (incf sokoban-targets))
+ (cl-incf sokoban-targets))
((eq c sokoban-block-on-target)
- (incf sokoban-targets)
- (incf sokoban-done))
+ (cl-incf sokoban-targets)
+ (cl-incf sokoban-done))
((= c ?\040) ;; treat space characters in level file as floor
(aset (aref sokoban-level-map y) x sokoban-floor)))))))
@@ -657,7 +658,7 @@ static char * player_on_target_xpm[] = {
(dotimes (x len)
(gamegrid-set-cell (+ sokoban-score-x x)
y (aref string x))))
- (incf y)))
+ (cl-incf y)))
(setq mode-line-format
(format "Sokoban: Level: %d/%d Moves: %05d Pushes: %05d Done:
%d/%d"
sokoban-level (length sokoban-level-data) sokoban-moves
sokoban-pushes
@@ -666,13 +667,13 @@ static char * player_on_target_xpm[] = {
(defun sokoban-add-move (dx dy)
(push (list 'move dx dy) sokoban-undo-list)
- (incf sokoban-moves)
+ (cl-incf sokoban-moves)
(sokoban-draw-score))
(defun sokoban-add-push (dx dy)
(push (list 'push dx dy) sokoban-undo-list)
- (incf sokoban-moves)
- (incf sokoban-pushes)
+ (cl-incf sokoban-moves)
+ (cl-incf sokoban-pushes)
(sokoban-draw-score))
(defun sokoban-targetp (x y)
@@ -714,21 +715,21 @@ static char * player_on_target_xpm[] = {
(y (+ sokoban-y dy)))
(sokoban-set-floor x y)
(if (sokoban-targetp x y)
- (decf sokoban-done))
+ (cl-decf sokoban-done))
(sokoban-set-block sokoban-x sokoban-y)
(if (sokoban-targetp sokoban-x sokoban-y)
- (incf sokoban-done)))
+ (cl-incf sokoban-done)))
(setq sokoban-x (- sokoban-x dx))
(setq sokoban-y (- sokoban-y dy))
(sokoban-set-player sokoban-x sokoban-y)
- (decf sokoban-pushes)
- (decf sokoban-moves))
+ (cl-decf sokoban-pushes)
+ (cl-decf sokoban-moves))
((eq type 'move)
(sokoban-set-floor sokoban-x sokoban-y)
(setq sokoban-x (- sokoban-x dx))
(setq sokoban-y (- sokoban-y dy))
(sokoban-set-player sokoban-x sokoban-y)
- (decf sokoban-moves))
+ (cl-decf sokoban-moves))
(t
(message "Invalid entry in sokoban-undo-list")))
(sokoban-draw-score))))
@@ -752,14 +753,14 @@ static char * player_on_target_xpm[] = {
(cond ((or (eq cc sokoban-floor)
(eq cc sokoban-target))
(if (sokoban-targetp x y)
- (decf sokoban-done))
+ (cl-decf sokoban-done))
(sokoban-set-block xx yy)
(sokoban-set-player x y)
(sokoban-set-floor sokoban-x sokoban-y)
(setq sokoban-x x
sokoban-y y)
(if (sokoban-targetp xx yy)
- (incf sokoban-done))
+ (cl-incf sokoban-done))
(sokoban-add-push dx dy)
(cond ((= sokoban-done sokoban-targets)
(let ((level sokoban-level))
@@ -867,8 +868,6 @@ static char * player_on_target_xpm[] = {
(setq sokoban-level 0)
(sokoban-next-level))
-(put 'sokoban-mode 'mode-class 'special)
-
(easy-menu-define sokoban-popup-menu nil "Popup menu for Sokoban mode."
'("Sokoban Commands"
["Restart this level" sokoban-restart-level]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 54fc3dc: * sokoban/sokoban.el: Use cl-lib,
Stefan Monnier <=