From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Vasilij Schneidermann Newsgroups: gmane.emacs.bugs Subject: bug#21359: 24.5; [PATCH] Fix apple spawning behaviour Date: Thu, 27 Aug 2015 08:49:11 +0200 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7b4504965d2d76051e455d16 X-Trace: ger.gmane.org 1440658230 24012 80.91.229.3 (27 Aug 2015 06:50:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 27 Aug 2015 06:50:30 +0000 (UTC) To: 21359@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 27 08:50:20 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZUr0k-0007uc-7v for geb-bug-gnu-emacs@m.gmane.org; Thu, 27 Aug 2015 08:50:10 +0200 Original-Received: from localhost ([::1]:57751 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUr0j-00011u-Cx for geb-bug-gnu-emacs@m.gmane.org; Thu, 27 Aug 2015 02:50:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51113) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUr0e-0000zK-9m for bug-gnu-emacs@gnu.org; Thu, 27 Aug 2015 02:50:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUr0c-0007cd-9N for bug-gnu-emacs@gnu.org; Thu, 27 Aug 2015 02:50:04 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:47344) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUr0c-0007cJ-6v for bug-gnu-emacs@gnu.org; Thu, 27 Aug 2015 02:50:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZUr0b-0001T7-QG for bug-gnu-emacs@gnu.org; Thu, 27 Aug 2015 02:50:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Vasilij Schneidermann Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 27 Aug 2015 06:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21359 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.14406581645593 (code B ref -1); Thu, 27 Aug 2015 06:50:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 27 Aug 2015 06:49:24 +0000 Original-Received: from localhost ([127.0.0.1]:39554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZUqzy-0001S8-VZ for submit@debbugs.gnu.org; Thu, 27 Aug 2015 02:49:23 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:40546) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZUqzv-0001Rz-VY for submit@debbugs.gnu.org; Thu, 27 Aug 2015 02:49:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUqzt-0006eU-KB for submit@debbugs.gnu.org; Thu, 27 Aug 2015 02:49:19 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:45664) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUqzt-0006eH-GD for submit@debbugs.gnu.org; Thu, 27 Aug 2015 02:49:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50485) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUqzr-0000rC-Cw for bug-gnu-emacs@gnu.org; Thu, 27 Aug 2015 02:49:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZUqzp-0006ZM-Ea for bug-gnu-emacs@gnu.org; Thu, 27 Aug 2015 02:49:15 -0400 Original-Received: from mail-wi0-x22c.google.com ([2a00:1450:400c:c05::22c]:37957) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZUqzp-0006Xn-2G for bug-gnu-emacs@gnu.org; Thu, 27 Aug 2015 02:49:13 -0400 Original-Received: by wicne3 with SMTP id ne3so799060wic.1 for ; Wed, 26 Aug 2015 23:49:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=63M9HLkSytyFWcS7b4eRUMU9DCSUVnoCqn0PNM96XRg=; b=gG2O5upisbHj0wXEMBTo0KJeQ0R2TufwOWqBgUFdvtR5lsoAnEPQ0RgRza+wP6NULB 6QJ0MpYGE6M+pHlX3DqRV/MW7BJqMHwJs/qIt98onF6q9xhn9QHqcs4I42yoT9u5n1zQ jlS8WMrbEIgxBXr6Qyuu0z5v1WE33uvGipAyXf2oSGen3Tywtmtd6O8AssVUVkl4Z5eU RYrSTJp9QSn6KFj1bPEFN6j+qfS4UGx+8dpclH5mRZnMUKmKMoiOsuMnAxenV61Nf1Wb FX+Wy+ChcGXiYwS0lzNpEFnmHiHqeh8EZ4Af0Js9TcD9g5y8PhbJwBAzyIkzkIE4t57V kMMg== X-Received: by 10.194.9.42 with SMTP id w10mr2476586wja.146.1440658151510; Wed, 26 Aug 2015 23:49:11 -0700 (PDT) Original-Received: by 10.28.182.136 with HTTP; Wed, 26 Aug 2015 23:49:11 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:105859 Archived-At: --047d7b4504965d2d76051e455d16 Content-Type: multipart/alternative; boundary=047d7b4504965d2d70051e455d14 --047d7b4504965d2d70051e455d14 Content-Type: text/plain; charset=UTF-8 Classic renditions of Snake initially place an apple at a random position, then spawn it anew if and only if it has been eaten by the snake. M-x snake behaves differently, it does spawn apples in regular time intervals at former positions of the snake's tail. To put it bluntly, this makes it look as if the snake is leaking apples. The attached patch introduces a new function, `snake-set-dot` which is called at game initialization and upon collision with an apple. The code responsible for placing apples in periodic intervals got snipped out, together with the now unnecessary `snake-cycle` variable responsible for tracking at which position the apple emission cycle is. In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.2) of 2015-04-20 on bitzer.hoetzel.info Windowing system distributor `The X.Org Foundation', version 11.0.11702000 System Description: Arch Linux Configured using: `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --with-x-toolkit=gtk3 --with-xft 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro' Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils time-date tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind gfilenotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) Memory information: ((conses 16 71052 7148) (symbols 48 17559 0) (miscs 40 41 113) (strings 32 9062 4671) (string-bytes 1 249099) (vectors 16 8907) (vector-slots 8 383084 18361) (floats 8 63 83) (intervals 56 180 10) (buffers 960 11) (heap 1024 37966 926)) --047d7b4504965d2d70051e455d14 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Classic renditions of Snake initially place an apple at a = random
position, then spawn it anew if and only if it has been eaten by = the
snake.=C2=A0 M-x snake behaves differently, it does spawn apples in = regular
time intervals at former positions of the snake's tail.=C2= =A0 To put it
bluntly, this makes it look as if the snake is leaking app= les.

The attached patch introduces a new function, `snake-set-dot` w= hich is
called at game initialization and upon collision with an apple.= =C2=A0 The
code responsible for placing apples in periodic intervals got= snipped
out, together with the now unnecessary `snake-cycle` variableresponsible for tracking at which position the apple emission cycle is.


In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3= .16.2)
=C2=A0of 2015-04-20 on bit= zer.hoetzel.info
Windowing system distributor `The X.Org Foundation&= #39;, version 11.0.11702000
System Description: Arch Linux

Config= ured using:
=C2=A0`configure --prefix=3D/usr --sysconfdir=3D/etc --libex= ecdir=3D/usr/lib
=C2=A0--localstatedir=3D/var --with-x-toolkit=3Dgtk3 --= with-xft
=C2=A0'CFLAGS=3D-march=3Dx86-64 -mtune=3Dgeneric -O2 -pipe = -fstack-protector-strong
=C2=A0--param=3Dssp-buffer-size=3D4' CPPFLA= GS=3D-D_FORTIFY_SOURCE=3D2
=C2=A0LDFLAGS=3D-Wl,-O1,--sort-common,--as-ne= eded,-z,relro'

Important settings:
=C2=A0 value of $LANG: en_= US.UTF-8
=C2=A0 locale-coding-system: utf-8-unix

Major mode: Lisp= Interaction

Minor modes in effect:
=C2=A0 tooltip-mode: t
=C2= =A0 electric-indent-mode: t
=C2=A0 mouse-wheel-mode: t
=C2=A0 tool-ba= r-mode: t
=C2=A0 menu-bar-mode: t
=C2=A0 file-name-shadow-mode: t
= =C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-mode: t
=C2=A0 blink= -cursor-mode: t
=C2=A0 auto-composition-mode: t
=C2=A0 auto-encryptio= n-mode: t
=C2=A0 auto-compression-mode: t
=C2=A0 line-number-mode: t<= br>=C2=A0 transient-mark-mode: t

Recent messages:
For information= about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows= :
None found.

Features:
(shadow sort gnus-util mail-extr emacs= bug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies = mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rf= c2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils time-dat= e tooltip electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x= -win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list n= ewcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer s= elect scroll-bar
mouse jit-lock font-lock syntax facemenu font-core fram= e cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet la= o korean
japanese hebrew greek romanian slovak czech european ethiopic i= ndian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abb= rev
minibuffer nadvice loaddefs button faces cus-face macroexp files
= text-properties overlay sha1 md5 base64 format env code-pages mule
custo= m widget hashtable-print-readable backquote make-network-process
dbusbin= d gfilenotify dynamic-setting system-font-setting
font-render-setting mo= ve-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
(= (conses 16 71052 7148)
=C2=A0(symbols 48 17559 0)
=C2=A0(miscs 40 41 = 113)
=C2=A0(strings 32 9062 4671)
=C2=A0(string-bytes 1 249099)
= =C2=A0(vectors 16 8907)
=C2=A0(vector-slots 8 383084 18361)
=C2=A0(fl= oats 8 63 83)
=C2=A0(intervals 56 180 10)
=C2=A0(buffers 960 11)
= =C2=A0(heap 1024 37966 926))
--047d7b4504965d2d70051e455d14-- --047d7b4504965d2d76051e455d16 Content-Type: text/x-diff; charset=US-ASCII; name="snake.patch" Content-Disposition: attachment; filename="snake.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_idtunmc70 ZGlmZiAtLWdpdCBhL2xpc3AvcGxheS9zbmFrZS5lbCBiL2xpc3AvcGxheS9zbmFrZS5lbAppbmRl eCBkNDJiYTQ0Li5jMWU3ZTlmIDEwMDY0NAotLS0gYS9saXNwL3BsYXkvc25ha2UuZWwKKysrIGIv bGlzcC9wbGF5L3NuYWtlLmVsCkBAIC0xNDQsNyArMTQ0LDYgQEAKIChkZWZ2YXIgc25ha2UtdmVs b2NpdHkteCAxKQogKGRlZnZhciBzbmFrZS12ZWxvY2l0eS15IDApCiAoZGVmdmFyIHNuYWtlLXBv c2l0aW9ucyBuaWwpCi0oZGVmdmFyIHNuYWtlLWN5Y2xlIDApCiAoZGVmdmFyIHNuYWtlLXNjb3Jl IDApCiAoZGVmdmFyIHNuYWtlLXBhdXNlZCBuaWwpCiAoZGVmdmFyIHNuYWtlLW1vdmVkLXAgbmls KQpAQCAtMTY0LDcgKzE2Myw2IEBAIGFuZCB0aGVuIHN0YXJ0IG1vdmluZyBpdCBsZWZ0d2FyZHMu IikKIChtYWtlLXZhcmlhYmxlLWJ1ZmZlci1sb2NhbCAnc25ha2UtdmVsb2NpdHkteCkKIChtYWtl LXZhcmlhYmxlLWJ1ZmZlci1sb2NhbCAnc25ha2UtdmVsb2NpdHkteSkKIChtYWtlLXZhcmlhYmxl LWJ1ZmZlci1sb2NhbCAnc25ha2UtcG9zaXRpb25zKQotKG1ha2UtdmFyaWFibGUtYnVmZmVyLWxv Y2FsICdzbmFrZS1jeWNsZSkKIChtYWtlLXZhcmlhYmxlLWJ1ZmZlci1sb2NhbCAnc25ha2Utc2Nv cmUpCiAobWFrZS12YXJpYWJsZS1idWZmZXItbG9jYWwgJ3NuYWtlLXBhdXNlZCkKIChtYWtlLXZh cmlhYmxlLWJ1ZmZlci1sb2NhbCAnc25ha2UtbW92ZWQtcCkKQEAgLTIzNyw3ICsyMzUsNiBAQCBh bmQgdGhlbiBzdGFydCBtb3ZpbmcgaXQgbGVmdHdhcmRzLiIpCiAJc25ha2UtdmVsb2NpdHkteAlz bmFrZS1pbml0aWFsLXZlbG9jaXR5LXgKIAlzbmFrZS12ZWxvY2l0eS15CXNuYWtlLWluaXRpYWwt dmVsb2NpdHkteQogCXNuYWtlLXBvc2l0aW9ucwkJbmlsCi0Jc25ha2UtY3ljbGUJCTEKIAlzbmFr ZS1zY29yZQkJMAogCXNuYWtlLXBhdXNlZAkJbmlsCiAJc25ha2UtbW92ZWQtcCAgICAgICAgICAg bmlsCkBAIC0yNTEsNiArMjQ4LDE0IEBAIGFuZCB0aGVuIHN0YXJ0IG1vdmluZyBpdCBsZWZ0d2Fy ZHMuIikKICAgICAgIChjbC1pbmNmIHkgc25ha2UtdmVsb2NpdHkteSkpKQogICAoc25ha2UtdXBk YXRlLXNjb3JlKSkKIAorKGRlZnVuIHNuYWtlLXNldC1kb3QgKCkKKyAgKGxldCAoKHggKHJhbmRv bSBzbmFrZS13aWR0aCkpCisJKHkgKHJhbmRvbSBzbmFrZS1oZWlnaHQpKSkKKyAgICAod2hpbGUg KG5vdCAoPSAoZ2FtZWdyaWQtZ2V0LWNlbGwgeCB5KSBzbmFrZS1ibGFuaykpCisgICAgICAoc2V0 cSB4IChyYW5kb20gc25ha2Utd2lkdGgpKQorICAgICAgKHNldHEgeSAocmFuZG9tIHNuYWtlLWhl aWdodCkpKQorICAgIChnYW1lZ3JpZC1zZXQtY2VsbCB4IHkgc25ha2UtZG90KSkpCisKIChkZWZ1 biBzbmFrZS11cGRhdGUtZ2FtZSAoc25ha2UtYnVmZmVyKQogICAiQ2FsbGVkIG9uIGVhY2ggY2xv Y2sgdGljay4KIEFkdmFuY2VzIHRoZSBzbmFrZSBvbmUgc3F1YXJlLCB0ZXN0aW5nIGZvciBjb2xs aXNpb24uCkBAIC0yNjgsMjMgKzI3MywyMCBAQCBBcmd1bWVudCBTTkFLRS1CVUZGRVIgaXMgdGhl IG5hbWUgb2YgdGhlIGJ1ZmZlci4iCiAJKGNvbmQgKCg9IGMgc25ha2UtZG90KQogCSAgICAgICAo Y2wtaW5jZiBzbmFrZS1sZW5ndGgpCiAJICAgICAgIChjbC1pbmNmIHNuYWtlLXNjb3JlKQotCSAg ICAgICAoc25ha2UtdXBkYXRlLXNjb3JlKSkKKwkgICAgICAgKHNuYWtlLXVwZGF0ZS1zY29yZSkK KwkgICAgICAgKHNuYWtlLXNldC1kb3QpKQogCSAgICAgICh0CiAJICAgICAgIChsZXQqICgobGFz dC1jb25zIChudGhjZHIgKC0gc25ha2UtbGVuZ3RoIDIpCiAJCQkJCSBzbmFrZS1wb3NpdGlvbnMp KQogCQkgICAgICAodGFpbC1wb3MgKGNhZHIgbGFzdC1jb25zKSkKIAkJICAgICAgKHgwIChhcmVm IHRhaWwtcG9zIDApKQogCQkgICAgICAoeTAgKGFyZWYgdGFpbC1wb3MgMSkpKQotCQkgKGdhbWVn cmlkLXNldC1jZWxsIHgwIHkwCi0JCQkJICAgIChpZiAoPSAoJSBzbmFrZS1jeWNsZSA1KSAwKQot CQkJCQlzbmFrZS1kb3QKLQkJCQkgICAgICBzbmFrZS1ibGFuaykpCi0JCSAoY2wtaW5jZiBzbmFr ZS1jeWNsZSkKKwkJIChnYW1lZ3JpZC1zZXQtY2VsbCB4MCB5MCBzbmFrZS1ibGFuaykKIAkJIChz ZXRjZHIgbGFzdC1jb25zIG5pbCkpKSkKIAkoZ2FtZWdyaWQtc2V0LWNlbGwgeCB5IHNuYWtlLXNu YWtlKQogCShzZXRxIHNuYWtlLXBvc2l0aW9ucwogCSAgICAgIChjb25zICh2ZWN0b3IgeCB5KSBz bmFrZS1wb3NpdGlvbnMpKQotCSAgKHNldHEgc25ha2UtbW92ZWQtcCBuaWwpKSkpKQorCShzZXRx IHNuYWtlLW1vdmVkLXAgbmlsKSkpKSkKIAogKGRlZnVuIHNuYWtlLXVwZGF0ZS12ZWxvY2l0eSAo KQogICAodW5sZXNzIHNuYWtlLW1vdmVkLXAKQEAgLTMzOSw2ICszNDEsNyBAQCBBcmd1bWVudCBT TkFLRS1CVUZGRVIgaXMgdGhlIG5hbWUgb2YgdGhlIGJ1ZmZlci4iCiAgICJTdGFydCBhIG5ldyBn YW1lIG9mIFNuYWtlLiIKICAgKGludGVyYWN0aXZlKQogICAoc25ha2UtcmVzZXQtZ2FtZSkKKyAg KHNuYWtlLXNldC1kb3QpCiAgICh1c2UtbG9jYWwtbWFwIHNuYWtlLW1vZGUtbWFwKQogICAoZ2Ft ZWdyaWQtc3RhcnQtdGltZXIgc25ha2UtdGljay1wZXJpb2QgJ3NuYWtlLXVwZGF0ZS1nYW1lKSkK --047d7b4504965d2d76051e455d16--