all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: pokerface <pokerface@use.net>
Subject: Re: save-restriction, save-excursion
Date: 18 Sep 2002 22:17:52 GMT	[thread overview]
Message-ID: <Xns928DECD618C07pokerfaceusenet@130.133.1.4> (raw)
In-Reply-To: 87fzw9ceye.fsf@cut.hotdog.tmp

Thank you gentlemen for the helpful replies!

Ryan Yeske <rcyeske@vcn.bc.ca> wrote in
news:87fzw9ceye.fsf@cut.hotdog.tmp: 

> David Kastrup <David.Kastrup@t-online.de> writes:
> 
>> Ryan Yeske <rcyeske+spam@vcn.bc.ca> writes:
>> 
>> > From the node "Narrowing" in the elisp manual:
>> > 
>> >      `save-restriction' does _not_ restore point and the mark; use
>> >      `save-excursion' for that.  If you use both `save-restriction'
>> >      and `save-excursion' together, `save-excursion' should come
>> >      first (on the outside).  Otherwise, the old point value would
>> >      be restored with temporary narrowing still in effect.  If the
>> >      old point value were outside the limits of the temporary
>> >      narrowing, this would fail to restore it accurately.
>> 
>> Hmmm.  What if I have a restriction active and write
>> (save-excursion
>>   (save-restriction
>>     (widen)
>>     (goto (point-min))))
>> 
>> When the restriction gets restored, point will lie outside of the
>> restored restriction.  Wouldn't that cause trouble?
> 
> Try it :)
> 
> It helps me to think about it like this:
> 
> 1) save the point
> 2) save the restriction
> 3) frob the restriction (narrow *or* widen)
> 4) frob the point
> 5) restore the old restriction
> 6) restore the old point
>  
> It doesn't matter whether you are widening or narrowing.  When the
> restriction is restored (step 5), the point is adjusted to be within
> the restriction (the point can never be outside the current
> restriction).  It doesn't really matter though, since the point is
> then immediatly restored to the initial value within the initial
> restriction at step 6.
> 
> Ryan
> 

      reply	other threads:[~2002-09-18 22:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-16 23:31 save-restriction, save-excursion pokerface
2002-09-17  2:02 ` Ryan Yeske
2002-09-17  2:33   ` David Kastrup
2002-09-17  6:24     ` Ryan Yeske
2002-09-18 22:17       ` pokerface [this message]

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=Xns928DECD618C07pokerfaceusenet@130.133.1.4 \
    --to=pokerface@use.net \
    /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.