diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-07-11 19:13:41 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-07-11 19:13:41 -0400 |
commit | a464a6c73acf27b0d633d428919a36bc16a9d442 (patch) | |
tree | bcba70ce0242bfd5987356c750ba4eb6b58820b1 /lisp/play/snake.el | |
parent | c214e35e489145bd3a8ab7a353671f947368a7ae (diff) | |
download | emacs-a464a6c73acf27b0d633d428919a36bc16a9d442.tar.gz |
More CL cleanups and reduction of use of cl.el.
* woman.el, winner.el, vc/vc-rcs.el, vc/vc-hooks.el, vc/vc-hg.el:
* vc/vc-git.el, vc/vc-dir.el, vc/vc-bzr.el, vc/vc-annotate.el:
* textmodes/tex-mode.el, textmodes/sgml-mode.el, tar-mode.el:
* strokes.el, ses.el, server.el, progmodes/js.el, progmodes/gdb-mi.el:
* progmodes/flymake.el, progmodes/ebrowse.el, progmodes/compile.el:
* play/tetris.el, play/snake.el, play/pong.el, play/landmark.el:
* play/hanoi.el, play/decipher.el, play/5x5.el, nxml/nxml-mode.el:
* net/secrets.el, net/quickurl.el, midnight.el, mail/footnote.el:
* image-dired.el, ibuffer.el, ibuf-macs.el, ibuf-ext.el, hexl.el:
* eshell/eshell.el, eshell/esh-io.el, eshell/esh-ext.el:
* eshell/esh-cmd.el, eshell/em-ls.el, eshell/em-hist.el:
* eshell/em-cmpl.el, eshell/em-banner.el:
* url/url.el, url/url-queue.el, url/url-parse.el, url/url-http.el:
* url/url-future.el, url/url-dav.el, url/url-cookie.el:
* calendar/parse-time.el, test/eshell.el: Use cl-lib.
* wid-browse.el, wdired.el, vc/vc.el, vc/vc-mtn.el, vc/vc-cvs.el:
* vc/vc-arch.el, tree-widget.el, textmodes/texinfo.el:
* textmodes/refill.el, textmodes/css-mode.el, term/tvi970.el:
* term/ns-win.el, term.el, shell.el, ps-samp.el:
* progmodes/perl-mode.el, progmodes/pascal.el, progmodes/gud.el:
* progmodes/glasses.el, progmodes/etags.el, progmodes/cwarn.el:
* play/gamegrid.el, play/bubbles.el, novice.el, notifications.el:
* net/zeroconf.el, net/xesam.el, net/snmp-mode.el, net/mairix.el:
* net/ldap.el, net/eudc.el, net/browse-url.el, man.el:
* mail/mailheader.el, mail/feedmail.el:
* url/url-util.el, url/url-privacy.el, url/url-nfs.el, url/url-misc.el:
* url/url-methods.el, url/url-gw.el, url/url-file.el, url/url-expand.el:
Dont use CL.
* ibuf-ext.el (ibuffer-mark-old-buffers): Use float-time.
* eshell/esh-opt.el (eshell-eval-using-options): Quote code with
`lambda' rather than with `quote'.
(eshell-do-opt): Adjust accordingly.
(eshell-process-option): Simplify.
* eshell/esh-var.el:
* eshell/em-script.el: Require `esh-opt' for eshell-eval-using-options.
* emacs-pcase.el (pcase--dontcare-upats, pcase--let*)
(pcase--expand, pcase--u1): Rename pcase's internal `dontcare' pattern
to `pcase--dontcare'.
* emacs-cl.el (labels): Mark obsolete.
(cl--letf, letf): Move to cl-lib.
(cl--letf*, letf*): Remove.
* emacs-cl-lib.el (cl-nth-value): Use defalias.
* emacs-cl-macs.el (cl-dolist, cl-dotimes): Add indent rule.
(cl-progv): Rewrite.
(cl--letf, cl-letf): Move from cl.el.
(cl-letf*): New macro.
* emacs-cl-extra.el (cl--progv-before, cl--progv-after): Remove.
Diffstat (limited to 'lisp/play/snake.el')
-rw-r--r-- | lisp/play/snake.el | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/lisp/play/snake.el b/lisp/play/snake.el index db54039c237..a3480d0b0fa 100644 --- a/lisp/play/snake.el +++ b/lisp/play/snake.el @@ -25,8 +25,7 @@ ;;; Code: -(eval-when-compile - (require 'cl)) +(eval-when-compile (require 'cl-lib)) (require 'gamegrid) @@ -195,7 +194,7 @@ and then start moving it leftwards.") (defun snake-display-options () (let ((options (make-vector 256 nil))) - (loop for c from 0 to 255 do + (dotimes (c 256) (aset options c (cond ((= c snake-blank) snake-blank-options) @@ -214,7 +213,7 @@ and then start moving it leftwards.") (defun snake-update-score () (let* ((string (format "Score: %05d" snake-score)) (len (length string))) - (loop for x from 0 to (1- len) do + (dotimes (x len) (gamegrid-set-cell (+ snake-score-x x) snake-score-y (aref string x))))) @@ -224,12 +223,12 @@ and then start moving it leftwards.") snake-buffer-height snake-space) (let ((buffer-read-only nil)) - (loop for y from 0 to (1- snake-height) do - (loop for x from 0 to (1- snake-width) do - (gamegrid-set-cell x y snake-border))) - (loop for y from 1 to (- snake-height 2) do - (loop for x from 1 to (- snake-width 2) do - (gamegrid-set-cell x y snake-blank))))) + (dotimes (y snake-height) + (dotimes (x snake-width) + (gamegrid-set-cell x y snake-border))) + (cl-loop for y from 1 to (- snake-height 2) do + (cl-loop for x from 1 to (- snake-width 2) do + (gamegrid-set-cell x y snake-blank))))) (defun snake-reset-game () (gamegrid-kill-timer) @@ -248,8 +247,8 @@ and then start moving it leftwards.") (dotimes (i snake-length) (gamegrid-set-cell x y snake-snake) (setq snake-positions (cons (vector x y) snake-positions)) - (incf x snake-velocity-x) - (incf y snake-velocity-y))) + (cl-incf x snake-velocity-x) + (cl-incf y snake-velocity-y))) (snake-update-score)) (defun snake-update-game (snake-buffer) @@ -267,8 +266,8 @@ Argument SNAKE-BUFFER is the name of the buffer." (= c snake-snake)) (snake-end-game) (cond ((= c snake-dot) - (incf snake-length) - (incf snake-score) + (cl-incf snake-length) + (cl-incf snake-score) (snake-update-score)) (t (let* ((last-cons (nthcdr (- snake-length 2) @@ -280,7 +279,7 @@ Argument SNAKE-BUFFER is the name of the buffer." (if (= (% snake-cycle 5) 0) snake-dot snake-blank)) - (incf snake-cycle) + (cl-incf snake-cycle) (setcdr last-cons nil)))) (gamegrid-set-cell x y snake-snake) (setq snake-positions |