From: Philipp Stephani <p.stephani2@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: help-gnu-emacs@gnu.org
Subject: Re: DWIM region
Date: Fri, 05 Jan 2018 23:18:30 +0000 [thread overview]
Message-ID: <CAArVCkRnFHfDY2+yXWDOzKDHz7Oq9LOoEuXxomuQAJC7se=KgA@mail.gmail.com> (raw)
In-Reply-To: <jwv4lo16ztf.fsf-monnier+gmane.emacs.help@gnu.org>
Stefan Monnier <monnier@iro.umontreal.ca> schrieb am Do., 4. Jan. 2018 um
23:19 Uhr:
> > (defun count-regexp-hits (regexp)
> > (interactive "sregexp: ")
> > (let*((region (if mark-active
> > `(,(region-beginning) ,(region-end))
> > `(,(point-min) ,(point-max)) ))
>
> 2 "errors":
> - you should check `use-region-p` instead of `mark-active`.
> - `region` should be an argument, so the use-region-p check is performed
> in the interactive spec rather than in the body of the function:
>
> (defun count-regexp-hits (regexp start end)
> (interactive
> ;; The "s" thingy from `interactive` corresponds to `read-string`
> ;; but we might as well use `read-regexp` here since we can.
> (let ((re (read-regexp "regexp: ")))
> (if (use-region-p)
> (list re (region-beginning) (region-end))
> (list re (point-min) (point-max)))))
> (count-matches regexp start end t))
>
Since this pattern seems to be very common, would it make sense to add an
interactive specifier 'R' that behaves like 'r' if `use-region-p` returns
true and otherwise adds `nil, nil`?
next prev parent reply other threads:[~2018-01-05 23:18 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-04 4:12 count regexp hits Emanuel Berg
2018-01-04 5:02 ` Drew Adams
[not found] ` <mailman.6799.1515042142.27995.help-gnu-emacs@gnu.org>
2018-01-04 18:47 ` Emanuel Berg
2018-01-04 21:32 ` DWIM region (was: Re: count regexp hits) Emanuel Berg
2018-01-04 22:18 ` DWIM region Stefan Monnier
2018-01-05 23:18 ` Philipp Stephani [this message]
2018-01-04 22:48 ` DWIM region (was: Re: count regexp hits) Kaushal Modi
[not found] ` <mailman.6836.1515106138.27995.help-gnu-emacs@gnu.org>
2018-01-04 23:03 ` Emanuel Berg
2018-01-04 23:14 ` Kaushal Modi
[not found] ` <mailman.6837.1515107666.27995.help-gnu-emacs@gnu.org>
2018-01-05 2:10 ` Emanuel Berg
2018-01-08 16:09 ` advice vs hooks in org (was DWIM region) Rusi
[not found] ` <mailman.6835.1515104325.27995.help-gnu-emacs@gnu.org>
2018-01-04 23:09 ` DWIM region Emanuel Berg
2018-01-04 23:14 ` Stefan Monnier
[not found] ` <mailman.6838.1515107716.27995.help-gnu-emacs@gnu.org>
2018-01-04 23:36 ` Emanuel Berg
2018-01-05 0:19 ` Emanuel Berg
2018-01-05 20:45 ` Emanuel Berg
2018-01-05 22:31 ` Stefan Monnier
[not found] ` <mailman.6892.1515191546.27995.help-gnu-emacs@gnu.org>
2018-01-06 2:20 ` Emanuel Berg
2018-01-06 15:53 ` Stefan Monnier
[not found] ` <mailman.6929.1515254243.27995.help-gnu-emacs@gnu.org>
2018-01-06 18:52 ` Emanuel Berg
2018-01-06 20:29 ` Emanuel Berg
2018-01-06 22:14 ` Emanuel Berg
2018-01-07 3:14 ` Emanuel Berg
2018-01-07 3:25 ` Emanuel Berg
2018-01-08 14:17 ` Stefan Monnier
[not found] ` <mailman.7019.1515421057.27995.help-gnu-emacs@gnu.org>
2018-01-09 1:41 ` Emanuel Berg
2018-01-09 2:30 ` Stefan Monnier
[not found] ` <mailman.7052.1515465048.27995.help-gnu-emacs@gnu.org>
2018-01-09 4:11 ` Emanuel Berg
2018-01-09 13:40 ` Stefan Monnier
2018-01-08 14:11 ` Stefan Monnier
[not found] ` <mailman.7018.1515420745.27995.help-gnu-emacs@gnu.org>
2018-01-08 20:26 ` Emanuel Berg
2018-01-08 14:08 ` Stefan Monnier
2018-01-04 23:20 ` Emanuel Berg
2018-01-07 5:32 ` DWIM region (was: Re: count regexp hits) Marcin Borkowski
[not found] ` <mailman.6953.1515303153.27995.help-gnu-emacs@gnu.org>
2018-01-07 6:45 ` Emanuel Berg
2018-01-07 7:21 ` Marcin Borkowski
[not found] ` <mailman.6967.1515337253.27995.help-gnu-emacs@gnu.org>
2018-01-07 20:57 ` Emanuel Berg
2018-01-09 5:28 ` Marcin Borkowski
2018-01-09 13:42 ` DWIM region Stefan Monnier
[not found] ` <mailman.7069.1515505638.27995.help-gnu-emacs@gnu.org>
2018-01-10 3:31 ` Emanuel Berg
[not found] ` <mailman.7055.1515475732.27995.help-gnu-emacs@gnu.org>
2018-01-09 6:20 ` DWIM region (was: Re: count regexp hits) Emanuel Berg
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='CAArVCkRnFHfDY2+yXWDOzKDHz7Oq9LOoEuXxomuQAJC7se=KgA@mail.gmail.com' \
--to=p.stephani2@gmail.com \
--cc=help-gnu-emacs@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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.