X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/f7ff1b0f0792f1f870778404531e68e77832c4a1..0e963201d03d9229bb8ac4323291d2b0119526ed:/lisp/play/zone.el diff --git a/lisp/play/zone.el b/lisp/play/zone.el index d194a8af91..0cf5f5b957 100644 --- a/lisp/play/zone.el +++ b/lisp/play/zone.el @@ -1,6 +1,6 @@ ;;; zone.el --- idle display hacks -;; Copyright (C) 2000-2011 Free Software Foundation, Inc. +;; Copyright (C) 2000-2016 Free Software Foundation, Inc. ;; Author: Victor Zandy ;; Maintainer: Thien-Thi Nguyen @@ -30,9 +30,6 @@ ;; Bored by the zone pyrotechnics? Write your own! Add it to ;; `zone-programs'. See `zone-call' for higher-ordered zoning. -;; WARNING: Not appropriate for Emacs sessions over modems or -;; computers as slow as mine. - ;; THANKS: Christopher Mayer, Scott Flinchbaugh, ;; Rachel Kalmar, Max Froumentin, Juri Linkov, ;; Luigi Panzeri, John Paul Wallington. @@ -43,7 +40,7 @@ "The timer we use to decide when to zone out, or nil if none.") (defvar zone-timeout nil - "*Seconds to timeout the zoning. + "Seconds to timeout the zoning. If nil, don't interrupt for about 1^26 seconds.") ;; Vector of functions that zone out. `zone' will execute one of @@ -78,7 +75,7 @@ If nil, don't interrupt for about 1^26 seconds.") `(with-current-buffer (get 'zone 'orig-buffer) ,@body)) -(defmacro zone-hiding-modeline (&rest body) +(defmacro zone-hiding-mode-line (&rest body) ;; This formerly worked by temporarily altering face `mode-line', ;; which did not even work right, it seems. `(let (mode-line-format) @@ -113,10 +110,9 @@ If the element is a function or a list of a function and a number, (let ((f (selected-frame)) (outbuf (get-buffer-create "*zone*")) (text (buffer-substring (window-start) (window-end))) - (wp (1+ (- (window-point (selected-window)) + (wp (1+ (- (window-point) (window-start))))) (put 'zone 'orig-buffer (current-buffer)) - (put 'zone 'modeline-hidden-level 0) (switch-to-buffer outbuf) (setq mode-name "Zone") (erase-buffer) @@ -586,7 +582,7 @@ If the element is a function or a list of a function and a number, (setq ok (zerop (forward-line 1)) lines (cons (buffer-substring p (point)) lines)))) (sit-for 5) - (zone-hiding-modeline + (zone-hiding-mode-line (let ((msg "Zoning... (zone-pgm-stress)")) (while (not (string= msg "")) (message (setq msg (substring msg 1))) @@ -595,8 +591,7 @@ If the element is a function or a list of a function and a number, (when (< 50 (random 100)) (goto-char (point-max)) (forward-line -1) - (let ((kill-whole-line t)) - (kill-line)) + (delete-region (point) (line-beginning-position 2)) (goto-char (point-min)) (insert (nth (random (length lines)) lines))) (message (concat (make-string (random (- (frame-width) 5)) ? ) "grrr")) @@ -604,7 +599,7 @@ If the element is a function or a list of a function and a number, (defun zone-pgm-stress-destress () (zone-call 'zone-pgm-stress 25) - (zone-hiding-modeline + (zone-hiding-mode-line (sit-for 3) (erase-buffer) (sit-for 3) @@ -623,7 +618,7 @@ If the element is a function or a list of a function and a number, ;;;; the lyfe so short the craft so long to lerne --chaucer (defvar zone-pgm-random-life-wait nil - "*Seconds to wait between successive `life' generations. + "Seconds to wait between successive `life' generations. If nil, `zone-pgm-random-life' chooses a value from 0-3 (inclusive).") (defvar life-patterns) ; from life.el @@ -680,8 +675,6 @@ If nil, `zone-pgm-random-life' chooses a value from 0-3 (inclusive).") (kill-buffer nil)))) -(random t) - ;;;;;;;;;;;;;;; (provide 'zone)