unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#10387: CODE wishlist: search-prop.el
@ 2011-12-28  7:59 Jari Aalto
  2012-04-12 20:07 ` Lars Magne Ingebrigtsen
  2013-11-23 17:35 ` Drew Adams
  0 siblings, 2 replies; 23+ messages in thread
From: Jari Aalto @ 2011-12-28  7:59 UTC (permalink / raw)
  To: 10387; +Cc: mwolson

Package: emacs
Version: 23.3
Severity: wishlist

I come accross functions that might be useful to be included in Emacs:

    http://mwolson.org/static/dist/elisp/search-prop.el

    search-property
    search-property-forward (interactive)
    search-property-backward (interactive)

Jari

-- System Information
Debian Release: wheezy/sid
  APT Prefers testing
  APT policy: (500, testing) (990, unstable)
Architecture: i386
Kernel: Linux cante 3.1.0-1-686-pae #1 SMP Sun Dec 11 20:40:16 UTC 2011 i686 GNU/Linux
Locale: LANG=en_US.UTF-8

-- Versions of packages `emacs depends on'.
Depends:
emacs23         23.3+1-4        GNU Emacs is the extensible self-documenting 
emacs23-lucid   23.3+1-4        GNU Emacs is the extensible self-documenting 
emacs23-nox     23.3+1-4        GNU Emacs is the extensible self-documenting 





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2011-12-28  7:59 bug#10387: CODE wishlist: search-prop.el Jari Aalto
@ 2012-04-12 20:07 ` Lars Magne Ingebrigtsen
  2012-04-12 21:55   ` Stefan Monnier
  2019-06-27 15:47   ` Lars Ingebrigtsen
  2013-11-23 17:35 ` Drew Adams
  1 sibling, 2 replies; 23+ messages in thread
From: Lars Magne Ingebrigtsen @ 2012-04-12 20:07 UTC (permalink / raw)
  To: Jari Aalto; +Cc: 10387, mwolson

Jari Aalto <jari.aalto@cante.net> writes:

> I come accross functions that might be useful to be included in Emacs:
>
>     http://mwolson.org/static/dist/elisp/search-prop.el
>
>     search-property
>     search-property-forward (interactive)
>     search-property-backward (interactive)

I like this.  Gnus uses text properties extensively, and searching for
them using the standard functions (`next-property-change' and friends)
is a hassle.

`search-property' looks like what I have needed in the past.

Would it be OK to install this in Emacs?

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2012-04-12 20:07 ` Lars Magne Ingebrigtsen
@ 2012-04-12 21:55   ` Stefan Monnier
  2012-04-13  3:29     ` Michael Olson
  2019-06-27 15:47   ` Lars Ingebrigtsen
  1 sibling, 1 reply; 23+ messages in thread
From: Stefan Monnier @ 2012-04-12 21:55 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: 10387, mwolson, Jari Aalto

> I like this.  Gnus uses text properties extensively, and searching for
> them using the standard functions (`next-property-change' and friends)
> is a hassle.
> `search-property' looks like what I have needed in the past.

text-property-any (and t-p-not-all) seems to do the same, except it only
searches forward.  Is there some other difference I'm missing (other
than the `cycle' which doesn't seem tremendously useful)?


        Stefan





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2012-04-12 21:55   ` Stefan Monnier
@ 2012-04-13  3:29     ` Michael Olson
  2012-04-13 13:03       ` Stefan Monnier
  0 siblings, 1 reply; 23+ messages in thread
From: Michael Olson @ 2012-04-13  3:29 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Lars Magne Ingebrigtsen, 10387, Jari Aalto

[-- Attachment #1: Type: text/plain, Size: 1425 bytes --]

On Thu, Apr 12, 2012 at 2:55 PM, Stefan Monnier <monnier@iro.umontreal.ca>wrote:

> > I like this.  Gnus uses text properties extensively, and searching for
> > them using the standard functions (`next-property-change' and friends)
> > is a hassle.
> > `search-property' looks like what I have needed in the past.
>
> text-property-any (and t-p-not-all) seems to do the same, except it only
> searches forward.  Is there some other difference I'm missing (other
> than the `cycle' which doesn't seem tremendously useful)?
>

Differences compared to text-property-any:

 - Includes helper functions 'search-property-forward' and
'search-property-backward' which move point and closely match the interface
and behavior of 'search-forward' and 'search-backward'.  (Except for
'count'.)  The interactive use is nice: when you need it, you really need
it.

 - I don't remember what the original use case was for 'cycle'.  Possibly
to emulate the effect of hitting TAB in Emacs Muse to go to the next URL
(behavior that I would remove if I was starting again from scratch).

 - In the initial release of the file to gnu.emacs.sources, I wrote this
blurb.  Maybe there was a related shortcoming in text-property-any at the
time.

Blurb: "It should work perfectly well both in the case where consecutive
characters have the property, and in that where a single character has
the property."

-- 
Michael Olson  |  http://mwolson.org/

[-- Attachment #2: Type: text/html, Size: 2094 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2012-04-13  3:29     ` Michael Olson
@ 2012-04-13 13:03       ` Stefan Monnier
  2016-02-25  6:29         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 23+ messages in thread
From: Stefan Monnier @ 2012-04-13 13:03 UTC (permalink / raw)
  To: Michael Olson; +Cc: Lars Magne Ingebrigtsen, 10387, Jari Aalto

>> > I like this.  Gnus uses text properties extensively, and searching for
>> > them using the standard functions (`next-property-change' and friends)
>> > is a hassle.
>> > `search-property' looks like what I have needed in the past.
>> text-property-any (and t-p-not-all) seems to do the same, except it only
>> searches forward.  Is there some other difference I'm missing (other
>> than the `cycle' which doesn't seem tremendously useful)?
> Differences compared to text-property-any:
>  - Includes helper functions 'search-property-forward' and
>   'search-property-backward' which move point and closely match the
>   interface and behavior of 'search-forward' and 'search-backward'.
>   (Except for 'count'.)  The interactive use is nice: when you need
>   it, you really need it.

I can't remember needing such a thing, but maybe it's just because it
didn't occur to me.

>  - I don't remember what the original use case was for 'cycle'.  Possibly
>    to emulate the effect of hitting TAB in Emacs Muse to go to the next URL
>    (behavior that I would remove if I was starting again from scratch).

I guess the cycle makes sense for interactive use, tho it can be
implemented on top of a non-cycling primitive.

So all in all, I think the main points are:
- search backward.
- UI.
- names with "search" and with direction.
I actually like it, so I suggest to provide new functions
(search-text-property-forward START END PROP VALUE &optional OBJECT NOT-EQ)
and search-text-property-backward, implemented in C and then reimplement
text-property-any and text-property-not-all in Elisp on top of them (and
make them obsolete).


        Stefan





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2011-12-28  7:59 bug#10387: CODE wishlist: search-prop.el Jari Aalto
  2012-04-12 20:07 ` Lars Magne Ingebrigtsen
@ 2013-11-23 17:35 ` Drew Adams
  2013-11-23 23:34   ` Juri Linkov
  1 sibling, 1 reply; 23+ messages in thread
From: Drew Adams @ 2013-11-23 17:35 UTC (permalink / raw)
  To: 10387

I was not aware of this bug thread - just came across it when scanning
the list of patch bugs that Glenn pointed to in emacs-devel today.

I only skimmed this thread, so ignore if my input is not relevant.

I have a library, with almost the same name, isearch-prop.el, which
lets you isearch zones of text having certain text or overlay
properties.

If useful and appropriate, you can add this code or similar to Emacs.
The code is here:
http://www.emacswiki.org/emacs-en/download/isearch-prop.el.

As I wrote in a mail to Juri a while back:

By default, the zones not being searched are dimmed a bit.
`C-M-~' toggles, to search the zones that do *not* have the
particular property values.  For example, with a command such as
`isearchp-imenu-command', which normally searches Emacs-Lisp
command definitions (after putting a property on them),
`C-M-~' makes it search all text other than command definitions.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-23 17:35 ` Drew Adams
@ 2013-11-23 23:34   ` Juri Linkov
  2013-11-24  0:00     ` Drew Adams
  0 siblings, 1 reply; 23+ messages in thread
From: Juri Linkov @ 2013-11-23 23:34 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10387

> I was not aware of this bug thread - just came across it when scanning
> the list of patch bugs that Glenn pointed to in emacs-devel today.
>
> I only skimmed this thread, so ignore if my input is not relevant.

I'm not sure whether this feature request was about low-level
search functions or more user-oriented isearch commands.
Both can be easily implemented by using `isearch-filter-predicate'.

But it seems the request has nothing to do with the text search
and asks for a better replacement of `next-property-change'.
Indeed, such functions could provide a similar interface
(function names and argument names) like in isearch functions
and maybe even reuse some code e.g. wrapping, direction, etc.

One idea is to define `isearch-search-fun-function' in such a way
that it will interpret its argument `string' as the name
of the property to search.  Then new isearch sub-mode
will allow searching by property names.

> By default, the zones not being searched are dimmed a bit.
> `C-M-~' toggles, to search the zones that do *not* have the
> particular property values.  For example, with a command such as
> `isearchp-imenu-command', which normally searches Emacs-Lisp
> command definitions (after putting a property on them),
> `C-M-~' makes it search all text other than command definitions.

`C-M-~' is a strange choice and it can't be typed on tty.
There is a special sub-map for filter commands on `M-s f'.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-23 23:34   ` Juri Linkov
@ 2013-11-24  0:00     ` Drew Adams
  2013-11-24  1:01       ` Andreas Schwab
  0 siblings, 1 reply; 23+ messages in thread
From: Drew Adams @ 2013-11-24  0:00 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 10387

> > By default, the zones not being searched are dimmed a bit.
> > `C-M-~' toggles, to search the zones that do *not* have the
> > particular property values.  For example, with a command such as
> > `isearchp-imenu-command', which normally searches Emacs-Lisp
> > command definitions (after putting a property on them),
> > `C-M-~' makes it search all text other than command definitions.
> 
> `C-M-~' is a strange choice and it can't be typed on tty.

FWIW -

It can be typed on a tty, as `ESC-C-~'.  Admittedly, not as handy
as `C-M-~'.  But no worse than `M-s f ~' etc.

`~' is mnemonic for complementing/negation in some logic notations.

I use `C-M-~' because that is also the key I use for this in
Icicles search (from which this property-searching was taken).

In Icicles, `C-~' is used to complement the current set of
completion candidates, and `M-~' is used to toggle whether to
abbreviate your home directory using `~'.  And of course `~'
self-inserts.

> There is a special sub-map for filter commands on `M-s f'.

I have no objection, if you would like to put this on `M-s f ~',
for example.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24  0:00     ` Drew Adams
@ 2013-11-24  1:01       ` Andreas Schwab
  2013-11-24  1:07         ` Drew Adams
  0 siblings, 1 reply; 23+ messages in thread
From: Andreas Schwab @ 2013-11-24  1:01 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10387

Drew Adams <drew.adams@oracle.com> writes:

> It can be typed on a tty, as `ESC-C-~'.

C-~ is the same as C-^.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24  1:01       ` Andreas Schwab
@ 2013-11-24  1:07         ` Drew Adams
  2013-11-24 11:36           ` Andreas Schwab
  2013-11-24 16:43           ` Stefan Monnier
  0 siblings, 2 replies; 23+ messages in thread
From: Drew Adams @ 2013-11-24  1:07 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 10387

> > It can be typed on a tty, as `ESC-C-~'.
> 
> C-~ is the same as C-^.

Not for me it's not.

emacs -Q   ; or emacs -Q -nw

;; Visit a file foo.el.
;; C-h k for each.  Both keys are undefined.

M-x global-set-key C-~ forward-char

C-h w forward-char  ; It is not shown as being on C-^
C-h k C-^           ; It is undefined
C-h k C-~           ; It is bound to `forward-char'





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24  1:07         ` Drew Adams
@ 2013-11-24 11:36           ` Andreas Schwab
  2013-11-24 16:51             ` Drew Adams
  2013-11-24 16:43           ` Stefan Monnier
  1 sibling, 1 reply; 23+ messages in thread
From: Andreas Schwab @ 2013-11-24 11:36 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10387

Drew Adams <drew.adams@oracle.com> writes:

> M-x global-set-key C-~ forward-char

That binds C-^ in -nw.  C-~ isn't a character.

(characterp ?\C-~) => nil

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24  1:07         ` Drew Adams
  2013-11-24 11:36           ` Andreas Schwab
@ 2013-11-24 16:43           ` Stefan Monnier
  2013-11-24 16:54             ` Drew Adams
  1 sibling, 1 reply; 23+ messages in thread
From: Stefan Monnier @ 2013-11-24 16:43 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10387, Andreas Schwab

> emacs -Q   ; or emacs -Q -nw

The difference is important here.


        Stefan





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24 11:36           ` Andreas Schwab
@ 2013-11-24 16:51             ` Drew Adams
  2013-11-24 17:04               ` Eli Zaretskii
  2013-11-24 17:17               ` Andreas Schwab
  0 siblings, 2 replies; 23+ messages in thread
From: Drew Adams @ 2013-11-24 16:51 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: 10387

> > M-x global-set-key C-~ forward-char
> 
> That binds C-^ in -nw.  C-~ isn't a character.
> (characterp ?\C-~) => nil

What's your point?

The claim (from Juri) was that `C-M-~' "cannot be typed on tty".

But it can be typed.  And it can be bound to a command.
And typing it invokes the command.  And Emacs recognizes it
as a binding of that command.  And Emacs does not recognize,
just because of that binding, that `C-M-^ is bound to that
command (or is bound at all).

What does this behavior, and the usefulness of this binding,
have to do with the fact that `C-~' or `C-M-~' is not a character?
Or with the fact that `C-^' is a character and `C-~' is not?

In `emacs -Q -nw', `C-down' is bound to `forward-paragraph'.
Yet (characterp [(control down)]) is nil.  So what?  Did those
who defined that default binding for Emacs out of the box make
a mistake?  Was that a no-no?





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24 16:43           ` Stefan Monnier
@ 2013-11-24 16:54             ` Drew Adams
  2013-11-24 17:06               ` Eli Zaretskii
  0 siblings, 1 reply; 23+ messages in thread
From: Drew Adams @ 2013-11-24 16:54 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10387, Andreas Schwab

> > emacs -Q   ; or emacs -Q -nw
> 
> The difference is important here.

What difference?  And what importance?

Use either one in the recipe.
Same effect wrt using `C-M-~', AFAICT.

`emacs -Q -nw' has the behavior I reported, as does
`emacs -Q'.  (At least on MS Windows.)





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24 16:51             ` Drew Adams
@ 2013-11-24 17:04               ` Eli Zaretskii
  2013-11-25  3:20                 ` Stefan Monnier
  2013-11-24 17:17               ` Andreas Schwab
  1 sibling, 1 reply; 23+ messages in thread
From: Eli Zaretskii @ 2013-11-24 17:04 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10387, schwab

> Date: Sun, 24 Nov 2013 08:51:26 -0800 (PST)
> From: Drew Adams <drew.adams@oracle.com>
> Cc: 10387@debbugs.gnu.org
> 
> > > M-x global-set-key C-~ forward-char
> > 
> > That binds C-^ in -nw.  C-~ isn't a character.
> > (characterp ?\C-~) => nil
> 
> What's your point?
> 
> The claim (from Juri) was that `C-M-~' "cannot be typed on tty".
> 
> But it can be typed.

No, it can't, not on a Unix text terminal.

> And it can be bound to a command.  And typing it invokes the
> command.  And Emacs recognizes it as a binding of that command.

I'm guessing that you tried this on MS-Windows, where C-M-~ and C-~
are indeed usable in a -nw session.  But not on a Unix TTY.  (The
MS-Windows build of Emacs uses Windows-specific method for reading the
keyboard that is very different from character input on a Posix TTY,
and which supports almost every key combination that the GUI session
does.)

> In `emacs -Q -nw', `C-down' is bound to `forward-paragraph'.
> Yet (characterp [(control down)]) is nil.  So what?  Did those
> who defined that default binding for Emacs out of the box make
> a mistake?  Was that a no-no?

I think Unix TTYs can only read those combinations that are
characters.  MS-Windows is different.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24 16:54             ` Drew Adams
@ 2013-11-24 17:06               ` Eli Zaretskii
  0 siblings, 0 replies; 23+ messages in thread
From: Eli Zaretskii @ 2013-11-24 17:06 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10387, schwab

> Date: Sun, 24 Nov 2013 08:54:06 -0800 (PST)
> From: Drew Adams <drew.adams@oracle.com>
> Cc: 10387@debbugs.gnu.org, Andreas Schwab <schwab@linux-m68k.org>
> 
> > > emacs -Q   ; or emacs -Q -nw
> > 
> > The difference is important here.
> 
> What difference?  And what importance?
> 
> Use either one in the recipe.
> Same effect wrt using `C-M-~', AFAICT.
> 
> `emacs -Q -nw' has the behavior I reported, as does
> `emacs -Q'.  (At least on MS Windows.)
                ^^^^^^^^^^^^^^^^^^^^^^

Actually, _only_ on MS-Windoes.  (Well, on MS-DOS as well, but who
cares?)





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24 16:51             ` Drew Adams
  2013-11-24 17:04               ` Eli Zaretskii
@ 2013-11-24 17:17               ` Andreas Schwab
  1 sibling, 0 replies; 23+ messages in thread
From: Andreas Schwab @ 2013-11-24 17:17 UTC (permalink / raw)
  To: Drew Adams; +Cc: 10387

Drew Adams <drew.adams@oracle.com> writes:

> Yet (characterp [(control down)]) is nil.

Key sequences are never characters.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
       [not found]               ` <<83vbzhbugs.fsf@gnu.org>
@ 2013-11-24 17:49                 ` Drew Adams
  0 siblings, 0 replies; 23+ messages in thread
From: Drew Adams @ 2013-11-24 17:49 UTC (permalink / raw)
  To: Eli Zaretskii, Drew Adams; +Cc: 10387, schwab

> > > > emacs -Q   ; or emacs -Q -nw
> > >
> > > The difference is important here.
> >
> > What difference?  And what importance?
> > Use either one in the recipe.
> > Same effect wrt using `C-M-~', AFAICT.
> > `emacs -Q -nw' has the behavior I reported, as does
> > `emacs -Q'.  (At least on MS Windows.)
>                 ^^^^^^^^^^^^^^^^^^^^^^
> Actually, _only_ on MS-Windoes.  (Well, on MS-DOS as well,
> but who cares?)

Got it.  Thx.  Perhaps I will change that default binding,
with that knowledge.

At any rate, I was explaining why I chose that key sequence.

Which key to use is not really the point of my post about
`isearch-prop.el'.  The toggle key to use is only a bike shed.
Paint it any color you like.





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-24 17:04               ` Eli Zaretskii
@ 2013-11-25  3:20                 ` Stefan Monnier
  2013-11-25  9:55                   ` Andreas Schwab
  0 siblings, 1 reply; 23+ messages in thread
From: Stefan Monnier @ 2013-11-25  3:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 10387, schwab

> I think Unix TTYs can only read those combinations that are
> characters.  MS-Windows is different.

Actually, POSIX ttys can transmit "any" key combo, including M-C-~, but
for those combos like C-~ which aren't part of ASCII, they need to use
some ad-hoc escape sequence.  By default xterm has no such ad-hoc
sequence for C-~, so it doesn't work.  You can add such an ad-hoc
sequence to xterm and then add the corresponding back-mapping in
lisp/xterm.el, after which C-~ should work just fine as well.


        Stefan





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2013-11-25  3:20                 ` Stefan Monnier
@ 2013-11-25  9:55                   ` Andreas Schwab
  0 siblings, 0 replies; 23+ messages in thread
From: Andreas Schwab @ 2013-11-25  9:55 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10387

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> Actually, POSIX ttys can transmit "any" key combo,

Ttys transmit characters, period.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2012-04-13 13:03       ` Stefan Monnier
@ 2016-02-25  6:29         ` Lars Ingebrigtsen
  2016-02-25 14:55           ` Drew Adams
  0 siblings, 1 reply; 23+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-25  6:29 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 10387, Michael Olson, Jari Aalto

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> I actually like it, so I suggest to provide new functions
> (search-text-property-forward START END PROP VALUE &optional OBJECT NOT-EQ)
> and search-text-property-backward, implemented in C and then reimplement
> text-property-any and text-property-not-all in Elisp on top of them (and
> make them obsolete).

Yeah, I think that's a good idea.  I'll probably have a go at it
sometime this year...  :-)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2016-02-25  6:29         ` Lars Ingebrigtsen
@ 2016-02-25 14:55           ` Drew Adams
  0 siblings, 0 replies; 23+ messages in thread
From: Drew Adams @ 2016-02-25 14:55 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Stefan Monnier; +Cc: 10387, Michael Olson, Jari Aalto

> > I actually like it, so I suggest to provide new functions
> > (search-text-property-forward START END PROP VALUE &optional
> >                               OBJECT NOT-EQ)
> > and search-text-property-backward, implemented in C and then
> > reimplement text-property-any and text-property-not-all in Elisp
> > on top of them (and make them obsolete).
> 
> Yeah, I think that's a good idea.  I'll probably have a go at it
> sometime this year...  :-)

Maybe see also:
http://www.emacswiki.org/emacs/download/isearch-prop.el





^ permalink raw reply	[flat|nested] 23+ messages in thread

* bug#10387: CODE wishlist: search-prop.el
  2012-04-12 20:07 ` Lars Magne Ingebrigtsen
  2012-04-12 21:55   ` Stefan Monnier
@ 2019-06-27 15:47   ` Lars Ingebrigtsen
  1 sibling, 0 replies; 23+ messages in thread
From: Lars Ingebrigtsen @ 2019-06-27 15:47 UTC (permalink / raw)
  To: Jari Aalto; +Cc: 10387, mwolson

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

>>     search-property
>>     search-property-forward (interactive)
>>     search-property-backward (interactive)
>
> I like this.  Gnus uses text properties extensively, and searching for
> them using the standard functions (`next-property-change' and friends)
> is a hassle.
>
> `search-property' looks like what I have needed in the past.
>
> Would it be OK to install this in Emacs?

(That was seven years ago.)

Instead I implemented different versions of the same concept in Emacs a
few years back, so I'm closing this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2019-06-27 15:47 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-28  7:59 bug#10387: CODE wishlist: search-prop.el Jari Aalto
2012-04-12 20:07 ` Lars Magne Ingebrigtsen
2012-04-12 21:55   ` Stefan Monnier
2012-04-13  3:29     ` Michael Olson
2012-04-13 13:03       ` Stefan Monnier
2016-02-25  6:29         ` Lars Ingebrigtsen
2016-02-25 14:55           ` Drew Adams
2019-06-27 15:47   ` Lars Ingebrigtsen
2013-11-23 17:35 ` Drew Adams
2013-11-23 23:34   ` Juri Linkov
2013-11-24  0:00     ` Drew Adams
2013-11-24  1:01       ` Andreas Schwab
2013-11-24  1:07         ` Drew Adams
2013-11-24 11:36           ` Andreas Schwab
2013-11-24 16:51             ` Drew Adams
2013-11-24 17:04               ` Eli Zaretskii
2013-11-25  3:20                 ` Stefan Monnier
2013-11-25  9:55                   ` Andreas Schwab
2013-11-24 17:17               ` Andreas Schwab
2013-11-24 16:43           ` Stefan Monnier
2013-11-24 16:54             ` Drew Adams
2013-11-24 17:06               ` Eli Zaretskii
     [not found] <<87wr9h2kju.fsf@cante.cante.net>
     [not found] ` <<4e9dd7b9-9109-4f67-a9a2-d3c13635c566@default>
     [not found]   ` <<87eh664rrr.fsf@mail.jurta.org>
     [not found]     ` <<c05a5e24-a7be-4a23-9698-814b611e46e0@default>
     [not found]       ` <<878uwe62ae.fsf@igel.home>
     [not found]         ` <<7b510b39-00e7-49f6-a1ee-114652fd701c@default>
     [not found]           ` <<jwvfvqlwy23.fsf-monnier+emacsbugs@gnu.org>
     [not found]             ` <<dee893b9-9538-46ce-9c8e-18468026da14@default>
     [not found]               ` <<83vbzhbugs.fsf@gnu.org>
2013-11-24 17:49                 ` Drew Adams

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