From: "Kalman Reti" <kalman.reti@gmail.com>
To: rms@gnu.org
Cc: bug-gnu-emacs@gnu.org, kalman.reti@gmail.com,
monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: mark_object crash in 22.1 and latest CVS (as of tonight)
Date: Thu, 15 Nov 2007 03:38:52 -0500 [thread overview]
Message-ID: <16af2f430711150038u692d7c5cw27666e11271d7f83@mail.gmail.com> (raw)
In-Reply-To: <E1IsV5b-0004Vn-Na@fencepost.gnu.org>
On Nov 14, 2007 10:08 PM, Richard Stallman <rms@gnu.org> wrote:
> Nothing gets "removed" from the undo list in normal use. It gets
> truncated, which drops off elements at the end, but other than that
> all that normally happens is that editing operations add elements.
>
> Markers in the list should not become free, because the undo list
> itself should preserve them from GC.
>
> If this is reproducible, can you put a breakpoint at Fgarbage_collect
> and examine the data just before the GC which gets this crash?
> Examine that list using the x... commands, and see if that marker
> is already free.
>
> Looking harder at the code, I'm convinced that the undo_list should come before
> the name entry in the buffer structure,
>
> Definitely not. It needs to be AFTER `name' so that it will be marked
> by GC.
There is special code at the end of Fgarbage_collect (just before the
call to gc_sweep) which seems like it would have no point if this were
true. It removes elements referring to unmarked markers and then
explicitly marks the undo_list slot afterwards. The comment there reads:
/* Now that we have stripped the elements that need not be in the
undo_list any more, we can finally mark the list. */
mark_object (nextb->undo_list);
It seems to me that if the undo_list were after name, then all the markers
in the list would have already been marked and this code would be an
elaborate no-op, no?
>
> Anyone know what the elements of the undo_list mean? Some are conses
> with a marker
> in their CAR and a number in their CDR, some are just conses of two
> numbers and some
> are conses of a string and a number.
>
> The Lisp Manual documents these. Node `Undo'.
Thanks. Someone already pointed me at the documentation string for
buffer-undo-list.
next prev parent reply other threads:[~2007-11-15 8:38 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-09 3:55 mark_object crash in 22.1 and latest CVS (as of tonight) Kalman Reti
2007-11-09 11:32 ` Kalman Reti
2007-11-10 10:19 ` Kalman Reti
2007-11-11 5:22 ` Richard Stallman
2007-11-12 11:40 ` Kalman Reti
2007-11-12 22:03 ` Stefan Monnier
2007-11-13 0:30 ` Kalman Reti
2007-11-13 20:03 ` Richard Stallman
2007-11-14 17:39 ` Kalman Reti
2007-11-14 18:51 ` Stefan Monnier
2007-11-15 1:00 ` Kalman Reti
2007-11-15 17:09 ` Richard Stallman
2007-11-16 12:05 ` Kalman Reti
2007-11-16 14:07 ` Kalman Reti
2007-11-16 17:28 ` martin rudalics
2007-11-16 17:56 ` Kalman Reti
2007-11-17 4:54 ` Richard Stallman
2007-11-17 5:43 ` Kalman Reti
2007-11-16 19:04 ` Stefan Monnier
2007-11-16 21:52 ` martin rudalics
2007-11-16 22:09 ` Stefan Monnier
2007-11-16 22:16 ` Stefan Monnier
2007-11-16 23:59 ` Kalman Reti
2007-11-17 4:25 ` Stefan Monnier
2007-11-17 17:42 ` Richard Stallman
2007-11-18 3:08 ` Stefan Monnier
2007-11-18 22:45 ` Richard Stallman
2007-11-18 23:22 ` David Kastrup
2007-11-19 7:50 ` Stefan Monnier
2007-11-19 19:03 ` Richard Stallman
2007-11-17 4:53 ` Richard Stallman
2007-11-15 3:08 ` Richard Stallman
2007-11-15 8:38 ` Kalman Reti [this message]
2007-11-16 20:48 ` Kalman Reti
2007-11-16 21:59 ` Stefan Monnier
2007-11-16 23:09 ` martin rudalics
2008-02-04 11:35 ` buffer-undo-list (was: mark_object crash in 22.1 and latest CVS (as of tonight)) Johan Bockgård
2008-02-04 21:44 ` buffer-undo-list Stefan Monnier
2008-02-11 17:58 ` buffer-undo-list Stefan Monnier
2007-11-13 5:10 ` mark_object crash in 22.1 and latest CVS (as of tonight) Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=16af2f430711150038u692d7c5cw27666e11271d7f83@mail.gmail.com \
--to=kalman.reti@gmail.com \
--cc=bug-gnu-emacs@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.