From: "Andreas Röhler" <andreas.roehler@online.de>
To: "Stephen J. Turnbull" <stephen@xemacs.org>
Cc: Richard Stallman <rms@gnu.org>,
Reiner Steib <reinersteib+gmane@imap.cc>,
emacs-devel@gnu.org, Juri Linkov <juri@jurta.org>,
Stefan Monnier <monnier@iro.umontreal.ca>,
Stephen Turnbull <turnbull@sk.tsukuba.ac.jp>,
Miles Bader <miles@gnu.org>
Subject: Re: region-active-p
Date: Fri, 26 Oct 2007 10:17:31 +0200 [thread overview]
Message-ID: <200710261017.33513.andreas.roehler@online.de> (raw)
In-Reply-To: <87hckeigev.fsf@uwakimon.sk.tsukuba.ac.jp>
Am Freitag, 26. Oktober 2007 07:38 schrieben Sie:
> Richard Stallman writes:
> > > When commands in XEmacs call [region-active-p], do they also test
> > > for a nonempty region? Or do they operate on the region
> > > when it is empty?
> >
> > Core commands defined in Lisp don't test (at least not within 3
> > lines, checked with grep -3), but they're generally wrappers for
> > functions defined in C that do test (eg, the casefilling commands).
> >
> > I don't entirely understand the answer. Maybe I did not state the
> > question clearly. When you say they "don't test", what precisely
> > don't they test?
>
> They don't test "for a nonempty region".
>
> > Are you sayimg that they call `region-active-p' but do not test
> > whether the region is nonempty?
>
> Yes.
>
> Specifically, the function that calls `region-active-p' does not.
So my understanding ceased to exist... :)
`region-active-p' reads and depends with `and' from variable
`zmacs-region-extent'.
(and ... zmacs-region-extent
If there is no extension, just the mark set,
`zmacs-region-extent' is nil and `region-active-p'
returns nil therefor.
I would qualify this behaviour as including a check.
BTW quite other thing with `region-exist-p'.
Maybe I miss the point?
Cheers
Andreas Röhler
> However, in the cases I looked at, that function simply dispatches to
> a more primitive function that acts on the region. The more primitive
> function checks for non-empty in those cases. The typical idiom is
>
> (defun fill-paragraph-or-region (arg)
> "Fill the current region, if it's active; otherwise, fill the paragraph.
> See `fill-paragraph' and `fill-region' for more information."
> (interactive "*P")
> (if (region-active-p)
> (call-interactively 'fill-region)
> (call-interactively 'fill-paragraph)))
>
> `fill-region' *does* check that the region is nonempty before doing
> any work.
next prev parent reply other threads:[~2007-10-26 8:17 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-19 9:49 region-active-p Andreas Röhler
2007-10-19 20:57 ` region-active-p Juri Linkov
2007-10-21 7:25 ` region-active-p Richard Stallman
2007-10-21 13:56 ` region-active-p Stefan Monnier
2007-10-21 14:48 ` region-active-p Miles Bader
2007-10-21 19:22 ` region-active-p Andreas Röhler
2007-10-23 7:12 ` region-active-p Richard Stallman
2007-10-23 8:53 ` region-active-p Andreas Röhler
2007-10-23 17:53 ` region-active-p Richard Stallman
2007-10-24 7:33 ` region-active-p Andreas Röhler
2007-10-25 2:10 ` region-active-p Richard Stallman
2007-10-24 19:34 ` region-active-p Stephen J. Turnbull
2007-10-25 9:01 ` region-active-p Richard Stallman
2007-10-26 5:38 ` region-active-p Stephen J. Turnbull
2007-10-26 8:17 ` Andreas Röhler [this message]
2007-10-26 9:21 ` region-active-p Stephen J. Turnbull
2007-10-26 11:03 ` region-active-p Andreas Röhler
2007-10-26 21:53 ` region-active-p Stephen J. Turnbull
2007-10-27 2:28 ` region-active-p Richard Stallman
2007-10-27 5:20 ` region-active-p Stephen J. Turnbull
2007-10-27 6:17 ` region-active-p Miles Bader
2007-10-27 7:57 ` region-active-p Andreas Röhler
2007-10-28 6:55 ` region-active-p Stephen J. Turnbull
2007-10-28 7:32 ` region-active-p Miles Bader
2007-10-28 12:15 ` region-active-p Johan Bockgård
2007-10-28 21:07 ` region-active-p Stefan Monnier
2007-10-28 21:07 ` region-active-p Stefan Monnier
2007-10-27 23:41 ` region-active-p Richard Stallman
2007-10-28 1:21 ` region-active-p Stefan Monnier
2007-10-28 1:27 ` region-active-p Miles Bader
2007-10-28 2:43 ` region-active-p Stefan Monnier
2007-10-29 0:11 ` region-active-p Richard Stallman
2007-10-29 1:40 ` region-active-p Stefan Monnier
2007-12-10 23:08 ` region-active-p Richard Stallman
2007-12-11 8:15 ` region-active-p Andreas Röhler
2007-12-11 9:57 ` region-active-p Juri Linkov
2007-12-11 11:52 ` region-active-p Andreas Röhler
2007-12-11 14:55 ` region-active-p Stefan Monnier
2007-12-11 17:05 ` region-active-p Andreas Röhler
2007-12-11 18:16 ` region-active-p Stefan Monnier
2007-12-11 9:07 ` region-active-p Andreas Röhler
2007-12-11 9:59 ` region-active-p Juri Linkov
2007-12-11 11:50 ` region-active-p Andreas Röhler
2007-10-28 7:29 ` region-active-p Stephen J. Turnbull
2007-10-28 21:06 ` region-active-p Stefan Monnier
2007-10-29 0:11 ` region-active-p Richard Stallman
2007-10-30 0:12 ` region-active-p Stephen J. Turnbull
2007-10-30 8:22 ` region-active-p Richard Stallman
2007-10-30 8:59 ` region-active-p David Kastrup
2007-10-31 7:46 ` region-active-p Richard Stallman
2007-10-30 15:03 ` region-active-p Drew Adams
2007-10-30 19:03 ` region-active-p Stefan Monnier
2007-10-30 19:49 ` region-active-p Drew Adams
2007-10-30 20:15 ` region-active-p Stefan Monnier
2007-10-30 20:28 ` region-active-p Drew Adams
2007-10-30 21:30 ` region-active-p Stefan Monnier
2007-10-30 23:43 ` region-active-p Miles Bader
2007-10-31 6:35 ` region-active-p David Kastrup
2007-10-31 7:59 ` region-active-p Miles Bader
2007-11-03 21:08 ` region-active-p Stephen J. Turnbull
2007-10-31 7:47 ` region-active-p Richard Stallman
2007-10-31 7:47 ` region-active-p Richard Stallman
2007-10-31 8:00 ` region-active-p Miles Bader
2007-10-31 23:58 ` region-active-p Richard Stallman
2007-11-01 2:33 ` region-active-p Miles Bader
2007-11-01 2:55 ` region-active-p Stefan Monnier
2007-11-01 10:06 ` region-active-p Kim F. Storm
2007-11-01 15:46 ` region-active-p Drew Adams
2007-11-01 17:56 ` region-active-p David Kastrup
2007-11-01 23:08 ` region-active-p Richard Stallman
2007-11-01 19:04 ` region-active-p Richard Stallman
2007-11-02 0:18 ` region-active-p Miles Bader
2007-11-02 15:02 ` region-active-p Richard Stallman
2007-11-02 21:39 ` region-active-p Stefan Monnier
2007-11-02 22:31 ` region-active-p Miles Bader
2007-11-03 20:48 ` region-active-p Richard Stallman
2007-11-05 6:48 ` region-active-p Miles Bader
2007-10-29 8:24 ` region-active-p Andreas Röhler
2007-10-22 6:09 ` region-active-p Andreas Röhler
2007-10-21 17:18 ` region-active-p Stephen J. Turnbull
2007-10-21 20:54 ` region-active-p Reiner Steib
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=200710261017.33513.andreas.roehler@online.de \
--to=andreas.roehler@online.de \
--cc=emacs-devel@gnu.org \
--cc=juri@jurta.org \
--cc=miles@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=reinersteib+gmane@imap.cc \
--cc=rms@gnu.org \
--cc=stephen@xemacs.org \
--cc=turnbull@sk.tsukuba.ac.jp \
/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).