unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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.

  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).