all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.

  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.