unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <turnbull@sk.tsukuba.ac.jp>
To: rms@gnu.org
Cc: reinersteib+gmane@imap.cc, andreas.roehler@online.de,
	emacs-devel@gnu.org, juri@jurta.org, monnier@iro.umontreal.ca,
	miles@gnu.org
Subject: Re: region-active-p
Date: Sat, 27 Oct 2007 14:20:16 +0900	[thread overview]
Message-ID: <87bqal2kxb.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <E1IlbPt-0008UT-5E@fencepost.gnu.org>

Richard Stallman writes:

 >      > If there is no extension, just the mark set,
 >      > `zmacs-region-extent' is nil and `region-active-p'
 >      > returns nil therefor.
 > 
 >     Right.  However, if zmacs-region-extent is non-nil, it is possible
 >     that (region-beginning) equals (region-end), in which case there is
 >     (usually) no point in operating on the region.  It is that check that
 >     Richard is asking about AFAICS.
 >
 > That really puzzles me.

`region-active-p' does not check that the region has non-zero length.

My point is that whether it makes sense to operate on a region of
length zero depends on the operation, so `region-active-p' doesn't try
to decide.

Note that Andreas and I are talking at cross-purposes to some extent,
because his usage of "extent", although impeccable as English, differs
from XEmacs terminology where it denotes a specific type of
Lisp_Object, approximately an Emacs overlay.  This confused me, and
I'm probably not responding to him in a way that's useful to him or
you.

 > It seems to say that in the following XEmacs code
 > 
 >     (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)))
 > 
 > with an active but empty region, region-active-p sometimes returns t
 > and sometimes returns nil.  (This is because zmacs-region-extent might
 > be nil, or might be t and empty.)
 > 
 > Do I understand correctly?

No, if the region is active but empty (by which I mean having zero
length), `region-active-p' will return non-nil and `fill-region' will
be called.

An active region exists if and only if `zmacs-region-extent' contains
an extent object.  Code that activates the region does so by setting
`zmacs-region-extent' to an extent whose endpoints are point and mark,
and whose face property is 'zmacs-region.  Deactivation is done by
setting `zmacs-region-extent' to nil.

  reply	other threads:[~2007-10-27  5:20 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                   ` region-active-p Andreas Röhler
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                         ` Stephen J. Turnbull [this message]
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=87bqal2kxb.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=turnbull@sk.tsukuba.ac.jp \
    --cc=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 \
    /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).