unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
To: Andreas Schwab <schwab@suse.de>
Cc: rudalics@gmx.at, cyd@stupidchicken.com, emacs-devel@gnu.org
Subject: Re: transpose-regions
Date: Fri, 23 Mar 2007 14:00:18 -0400	[thread overview]
Message-ID: <E1HUo3m-0001aB-FP@fencepost.gnu.org> (raw)
In-Reply-To: <jek5x8dya3.fsf@sykes.suse.de> (message from Andreas Schwab on Fri, 23 Mar 2007 11:55:48 +0100)

      The function uses
    the local variables tmp_interval[12] that are copies of the buffer
    intervals, perhaps they need to be protected from GC?

The intervals need to be protected if Lisp code can be called.  But
this can't be done in the usual way, because intervals are not Lisp
objects and not recognizable by GC.  GC knows when it is marking an
interval because it found the pointer in a string or buffer.  GCPROing
these slots in the normal way will not work.

It seems to me that the only thing that can GC in the code
where tmp_interval is in use is Fset_text_properties.
Calling set_text_properties_1 instead would avoid running hooks.
Then no GC could occur.  Does anyone see an error in this conclusion?

Ftranslate_regions is supposed to run the usual hooks for modifying
the buffer.  I suspect it does not run them properly in all cases now.
I suggest calling these hooks explicitly at the beginning and the end.

  parent reply	other threads:[~2007-03-23 18:00 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-22 11:03 transpose-regions martin rudalics
2007-03-22 14:49 ` transpose-regions Kim F. Storm
2007-03-22 20:13   ` transpose-regions Nick Roberts
2007-03-22 21:30     ` transpose-regions martin rudalics
2007-03-22 21:36       ` transpose-regions David Kastrup
2007-03-22 21:59         ` transpose-regions martin rudalics
2007-03-23 13:52         ` transpose-regions Eli Zaretskii
2007-03-22 15:04 ` transpose-regions Chong Yidong
2007-03-22 15:26   ` transpose-regions martin rudalics
2007-03-22 15:59     ` transpose-regions Chong Yidong
2007-03-22 17:07       ` transpose-regions martin rudalics
2007-03-22 18:06         ` transpose-regions Chong Yidong
2007-03-22 19:19           ` transpose-regions martin rudalics
2007-03-22 20:24             ` transpose-regions Chong Yidong
2007-03-22 21:32               ` transpose-regions martin rudalics
2007-03-22 22:13               ` transpose-regions martin rudalics
2007-03-22 21:51           ` transpose-regions Andreas Schwab
2007-03-23 13:46           ` transpose-regions Eli Zaretskii
2007-03-23  1:28 ` transpose-regions Chong Yidong
2007-03-23  9:05   ` transpose-regions martin rudalics
2007-03-23 10:55   ` transpose-regions Andreas Schwab
2007-03-23 11:50     ` transpose-regions Kim F. Storm
2007-03-23 12:08       ` transpose-regions martin rudalics
2007-03-23 14:09       ` transpose-regions Chong Yidong
2007-03-23 15:36         ` transpose-regions Kim F. Storm
2007-03-23 16:42           ` transpose-regions Stefan Monnier
2007-03-23 17:34             ` transpose-regions Chong Yidong
2007-03-23 18:17               ` transpose-regions martin rudalics
2007-03-23 22:32             ` transpose-regions Richard Stallman
2007-03-23 22:50               ` transpose-regions Stefan Monnier
2007-03-28  4:56                 ` transpose-regions Richard Stallman
2007-03-24 20:24             ` transpose-regions Karl Fogel
2007-03-23 18:00     ` Richard Stallman [this message]
2007-03-23 22:39       ` transpose-regions Stefan Monnier
2007-03-24 15:51       ` transpose-regions Chong Yidong
2007-03-25 17:28         ` transpose-regions Richard Stallman
2007-03-23 15:39   ` transpose-regions Chong Yidong

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1HUo3m-0001aB-FP@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=rudalics@gmx.at \
    --cc=schwab@suse.de \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).