unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: jjanney@xmission.com (Jim Janney)
Subject: Re: A little lisp help
Date: Fri, 24 Jan 2003 00:39:29 -0700	[thread overview]
Message-ID: <1fp9kxr.13sm7o11xgz8eiN%jjanney@xmission.com> (raw)
In-Reply-To: m2lm1cu75l.fsf@bluesteel.grierwhite.com

Christopher J. White <chris@grierwhite.com> wrote:

> You have to be careful when using region end-points
> and inserting text.  m and p above are numerical values
> that reference offsets from the beginning of the file and
> do not "move" when text is inserted before them.
> 
> Use markers if you really want to be able to move around
> and insert text, but the best method was the previous
> suggestion to narrow-to-region.  

Markers are the most general solution, but you can sometimes get by
without them by making changes in reverse buffer order.  For example, in
this case

    (goto-char p)
    (insert "}\n")
    (save-excursion (goto-char m) (insert "{\n"))
    (indent-region m (point) nil))

Note that (interactive "r") always passes the arguments smallest first,
but for a function that might also be called from lisp code you'd want
to check that m really comes before p.  I prefer to call the values
"start" and "end" since they may not be the actual point and mark.

-- 
Jim Janney  

  parent reply	other threads:[~2003-01-24  7:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-21 19:06 A little lisp help Peter Lee
2003-01-21 19:24 ` Henrik Enberg
2003-01-21 20:13 ` Stefan Monnier <foo@acm.com>
2003-01-21 20:32   ` Peter Lee
2003-01-21 20:41     ` Barry Margolin
2003-01-21 21:52 ` Peter Lee
2003-01-21 22:34   ` Peter Lee
2003-01-22 22:55     ` Christopher J. White
2003-01-22 23:02       ` Stefan Monnier <foo@acm.com>
2003-01-24  7:39       ` Jim Janney [this message]
2003-01-27 14:48         ` Stefan Monnier <foo@acm.com>
2003-01-22  8:24   ` Kai Großjohann
  -- strict thread matches above, loose matches on Subject: below --
2003-01-24 16:51 Bingham, Jay

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=1fp9kxr.13sm7o11xgz8eiN%jjanney@xmission.com \
    --to=jjanney@xmission.com \
    /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.
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).