From: Lars Ingebrigtsen <larsi@gnus.org>
To: Howard Melman <hmelman@gmail.com>
Cc: 48317@debbugs.gnu.org
Subject: bug#48317: 27.1; text-property-search-forward moves point to end when not found
Date: Wed, 12 May 2021 16:16:55 +0200 [thread overview]
Message-ID: <878s4kjaug.fsf@gnus.org> (raw)
In-Reply-To: <9D0AA29D-DE30-43D7-8109-84636A3D36F0@gmail.com> (Howard Melman's message of "Tue, 11 May 2021 15:28:48 -0400")
Howard Melman <hmelman@gmail.com> writes:
> To me, this function behaves unexpectedly different in these cases
> (say in a font-locked elisp buffer just before the last defun):
>
> ;; a region with property face is found,
> ;; point is moved to the end of it
> (text-property-search-forward 'face)
The doc string in Emacs 27 is misleading, because it doesn't emphasise
the meaning of PREDICATE.
What the form above does is look for areas where there's a text property
named `face' that uses the nil predicate on a nil value. :-)
That is, it finds all areas where the `face' property is not nil --
VALUE is nil, and PREDICATE is nil.
> ;; a region with the specfied face is found,
> ;; point is moved to the beginning of it
> (text-property-search-forward 'face 'font-lock-function-name-face)
No, here you're looking for regions where `face' is not
`font-lock-function-name-face' -- which will indeed leave you at the
start of the region where `face' is `font-lock-function-name-face', but
that's not really what the function matched.
But I understand your confusion now. The function searches for areas
where a text property is matching something (according to PREDICATE),
and leaves point at the end of the match. You, instead, expect it to
leave point at the start of the match, which is the opposite of what it
does.
Hm... Oh! That's wrong in the doc string, too -- it says that it moves
point to the start of the region, which it certainly doesn't. I've now
fixed this in the two doc strings.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
next prev parent reply other threads:[~2021-05-12 14:16 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-09 16:41 bug#48317: 27.1; text-property-search-forward moves point to end when not found Howard Melman
2021-05-09 17:07 ` Eli Zaretskii
[not found] ` <616F7732-ED83-40F0-A460-9298608EAD91@gmail.com>
2021-05-09 17:48 ` Eli Zaretskii
[not found] ` <8877DDB9-7D2B-4DCC-8374-EB8391134EAC@gmail.com>
2021-05-09 18:33 ` Eli Zaretskii
2021-05-09 19:48 ` Howard Melman
2021-05-10 9:05 ` Lars Ingebrigtsen
2021-05-10 13:06 ` Howard Melman
2021-05-11 12:32 ` Lars Ingebrigtsen
2021-05-11 12:48 ` Eli Zaretskii
2021-05-11 13:14 ` Lars Ingebrigtsen
2021-05-11 14:20 ` Howard Melman
2021-05-11 16:36 ` Lars Ingebrigtsen
2021-05-11 19:28 ` Howard Melman
2021-05-11 23:18 ` Stephen Berman
2021-05-12 14:16 ` Lars Ingebrigtsen [this message]
2021-05-12 16:29 ` Howard Melman
2021-05-12 16:55 ` Lars Ingebrigtsen
[not found] ` <5AA9C2CD-D20B-4B9D-83D6-9002E9396558@gmail.com>
2022-05-13 18:32 ` Howard Melman
2022-05-14 2:19 ` Lars Ingebrigtsen
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=878s4kjaug.fsf@gnus.org \
--to=larsi@gnus.org \
--cc=48317@debbugs.gnu.org \
--cc=hmelman@gmail.com \
/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).