all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: rms@gnu.org
Cc: juri@jurta.org, emacs-devel@gnu.org, andreas.roehler@online.de,
	monnier@iro.umontreal.ca, miles@gnu.org
Subject: Re: region-active-p
Date: Fri, 26 Oct 2007 14:38:48 +0900	[thread overview]
Message-ID: <87hckeigev.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <E1Ikyaz-0004K3-1D@fencepost.gnu.org>

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.
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  5:38 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                 ` Stephen J. Turnbull [this message]
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                         ` 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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87hckeigev.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=andreas.roehler@online.de \
    --cc=emacs-devel@gnu.org \
    --cc=juri@jurta.org \
    --cc=miles@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --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 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.