GNU bug report logs - #5749
append-to-buffer and point

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Sun, 21 Mar 2010 15:59:02 UTC

Severity: normal

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 5749 <at> debbugs.gnu.org (full text, mbox):

From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: Glenn Morris <rgm <at> gnu.org>
Cc: Stephen Berman <stephen.berman <at> gmx.net>, 5749 <at> debbugs.gnu.org
Subject: Re: bug#5749: 24.0.50; Gomoku startup latency
Date: Wed, 24 Mar 2010 12:27:03 +0900
>>>>> On Tue, 23 Mar 2010 21:51:24 -0400, Glenn Morris <rgm <at> gnu.org> said:

> Stephen Berman wrote:
>> 1. Let ~/.emacs consist of this sexp:
>> (setq initial-frame-alist '((fullscreen . fullheight)))
>> 2. Start Emacs with the above init file.
>> 3. M-x gomoku
>> => There is a noticeable delay loading the game -- on my system 3-4
>> seconds.

> This is interesting. Emacs 23.1 is almost instantaneous, but 23.1.94
> is very slow, and also starts using a huge amount of memory (1GB+ for me).
> Loading gomoku.el from 23.1 in 23.1.94 makes no difference.

This is due to a behavioral change of `append-to-buffer', which used
to preserve the point when the first argument coincides with the
current buffer.  The following patch would work for this case.

Maybe other occurrences of `(append-to-buffer (current-buffer) ...)'
should also be checked if they work as intended.

				     YAMAMOTO Mitsuharu
				mituharu <at> math.s.chiba-u.ac.jp

=== modified file 'lisp/play/gomoku.el'
*** lisp/play/gomoku.el	2010-01-13 08:35:10 +0000
--- lisp/play/gomoku.el	2010-03-24 03:04:35 +0000
***************
*** 1040,1046 ****
  		    (= i (- m 2))
  		    (progn
  		      (while (>= i 3)
! 			(append-to-buffer (current-buffer) opoint (point))
  			(setq i (- i 2)))
  		      (goto-char (point-max))))
  	       (setq point (point))
--- 1040,1046 ----
  		    (= i (- m 2))
  		    (progn
  		      (while (>= i 3)
! 			(prepend-to-buffer (current-buffer) opoint (point))
  			(setq i (- i 2)))
  		      (goto-char (point-max))))
  	       (setq point (point))





This bug report was last modified 15 years and 56 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.