(zone-replace-char): Take `count' and `del-count'
instead of `direction'. Update callers. When `del-count' is
non-nil, delete that many characters, otherwise `count' characters
backwards. Insert the newly-replaced string `count' times.
(zone-fret): Handle chars w/ width greater than one.
(zone-fall-through-ws): No longer take window width `ww'.
Update callers. Add handling for `char-width' greater than one.
(zone-pgm-drip): Update var holding window-end position every cycle.
Also, init `tab-width' with value from original buffer.
(zone-shift-up): Rewrite for speed.
(zone-shift-down, zone-shift-left, zone-shift-right): Likewise.
(zone-pgm-jitter): Remove redundant entries from ops vector.
(zone-exploding-remove): Reduce iteration count.
(zone-cpos): Convert to defsubst.
(zone-replace-char): New defsubst.
(zone-park/sit-for): Likewise.
(zone-fret): Take window-start arg.
Update callers. Use `zone-park/sit-for'.
(zone-fill-out-screen): Rewrite.
(zone-fall-through-ws): Likewise. Update callers.
(zone-pgm-drip): Use `zone-replace-char'.
Move var inits before while-loop. Use `zone-park/sit-for'.
(zone-pgm-random-life): Handle empty initial field.
Use `zone-replace-char' and `zone-park/sit-for'.
(zone-fill-out-screen): New func.
(zone-pgm-drip): Use `zone-fill-out-screen'.
Also, no longer go to point-min on every cycle.
(zone-pgm-paragraph-spaz): Allow spazzing for texinfo-mode.
(zone-pgm-random-life-wait): New user var.
(zone-pgm-random-life): New func.
systems.
(gamegrid-add-score-with-update-game-score): Use `cond' instead of `if'.
Provide for the case that FILE is an absolute filename. Create the directory
"$HOME/.emacs.d/games", if necessary.
(gomoku-mode): Doc fix. Add call to kill-all-local-variables,
for global-font-lock-mode.
(gomoku): Do not call gomoku-switch-to-window directly, else the
player is asked the startup questions twice after a killed game.
(gomoku-prompt-for-other-game): Throw an error if no new game,
since otherwise answering no after a killed game has no effect.
(gomoku-switch-to-window): Use gomoku-buffer-name.
(gamegrid-add-score-with-update-game-score-1): New function, factored out of
`gamegriod-add-score-with-update-game-score'.
(gamegrid-add-score-with-update-game-score): Use it. Fall back on
`gamegrid-add-score-insecure' if the requested file does not exist in
$(gamedir), in case the user has installed a game on his own.
(gamegrid-add-score-insecure): Accept optional directory argument.
(gamegrid-xbm): new variable; XBM image as a replacement for
`gamegrid-xpm' on Emacsen compiled without XPM-support.
(gamegrid-colorize-glyph): Ported XEmacs-code for the generation
of images to Emacs.
(gamegrid-match-spec): Call `gamegrid-make-image-from-vector' to
convert XEmacs-type image descriptors.
(gamegrid-color-display-p): Removed. (Use `display-colors-p' instead.)
(gamegrid-make-image-from-vector): New function. Convert XEmacs'
image descriptors.
(gamegrid-display-type): Use Emacs' standard `display-.*-p'
functions to check for display capabilities. Fix the recognition
of image-support in Emacs 21 by this way.
(gamegrid-hide-cursor): Removed.
(gamegrid-setup-default-font): Ported the code from XEmacs to
Emacs: create a new face and assign the variable `gamegrid-face'
to it. Make sure that the face is not higher than the smallest
image used by the game.
(gamegrid-initialize-display): Use `(setq cursor-type nil)'
instead of `gamegrid-hide-cursor'.
(gamegrid-set-face): If `gamegrid-display-mode' is 'glyph, put an
image in the buffer, instead of applying a face.
(gamegrid-init-buffer): If `gamegrid-display-mode' is 'glyph, put
the face held by `gamegrid-face' in an overlay over the whole
buffer to emulate a buffer-local default-face.
Use doctor-shorten's return value.
(doctor-shorten): Compute a return value, don't alter `sent'.
(doctor-hates1): Add a question mark.
(doctor-strangelove): Unused function deleted.