From: Drew Adams <drew.adams@oracle.com>
To: Eli Zaretskii <eliz@gnu.org>, Drew Adams <drew.adams@oracle.com>
Cc: tino.calancha@gmail.com, dgutov@yandex.ru, 21391@debbugs.gnu.org
Subject: bug#21391: 24.5; `thing-at-point' should return a string
Date: Mon, 14 Nov 2016 10:54:30 -0800 (PST) [thread overview]
Message-ID: <cff92f25-7854-451c-8e5e-0a9a4cc25b34@default> (raw)
In-Reply-To: <<83wpg6gc8h.fsf@gnu.org>>
> > All this just means that what you call the "caller", function
> > `thing-at-point',
>
> No, the caller is whoever calls thing-at-point the function. Only
> that caller knows whether the text properties on any text the
> function returns are wanted or not, which is why the caller can use the
> NO-PROPERTIES argument to express the intent.
I misspoke there. That is what I meant - the calling sequence,
not the defun of `thing-at-point'.
The point of the other approach is that if another function
(on the THING-symbol property) determines the `thing-at-point'
function behavior then that applies to a string value that it
might return, as well. That enables a THING-specific behavior
that can return a propertized string - yes, overriding callers
that provide non-nil NO-PROPERTIES.
IOW, with the other approach "the behavior is controlled by the
symbol property, in addition to the `thing-at-point' defun."
And that includes the part of the defun that tries to respect
argument NO-PROPERTIES.
It's a design choice.
There is no golden rule about this. Emacs lets things that are
outside a defun AND things that are outside a calling sequence
change the behavior of a called function. There are umpteen ways
that this is allowed, from binding variables around code that
eventually calls "the caller" (reaching deep inside) to advising,
to hooks, to, yes, fiddling with symbol properties.
As I said, I'm fine with either approach. One gives some more
control to the symbol property (which, remember, can be used
by "calling" code and users). The other gives more control to
a given call.
And note, again, that if we got rid of the ill-designed
NO-PROPERTIES arg then the behavior you prefer would be used:
Calling code would remove properties separately, after the
string is returned.
next parent reply other threads:[~2016-11-14 18:54 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <<<<alpine.LRH.2.20.1509011056480.5317@calancha-ilc.kek.jp>
[not found] ` <<<<83pom7gjhl.fsf@gnu.org>
[not found] ` <<<<0a8d76e4-4d1b-a26d-2b76-a2d9384d9f72@yandex.ru>
[not found] ` <<<<83mvhbgitf.fsf@gnu.org>
[not found] ` <<<<25bb22e8-1388-275a-d0da-7e698acdf6da@yandex.ru>
[not found] ` <<<<83inrygggr.fsf@gnu.org>
[not found] ` <<<<cc2e7eab-e58d-db76-b5ed-0ec9871fad9d@yandex.ru>
[not found] ` <<<<83y40sfyij.fsf@gnu.org>
[not found] ` <<<<76505436-e66c-0ed3-6d7a-ce654f38ef30@yandex.ru>
[not found] ` <<<<83bmxnfhbi.fsf@gnu.org>
[not found] ` <<<<73600483-1df5-597c-6066-232189bbdd4a@yandex.ru>
[not found] ` <<<<834m3ffeb9.fsf@gnu.org>
[not found] ` <<<<fcb1bcf1-20f0-3eda-1c33-df7ba085d487@yandex.ru>
[not found] ` <<<<83twbfdvav.fsf@gnu.org>
[not found] ` <<<<73be4b9d-2df8-cc83-b873-398cb7dd043b@yandex.ru>
[not found] ` <<<<83pom3ds3e.fsf@gnu.org>
[not found] ` <<<<ef67e387-0302-1aaa-4764-cab2d3337a2c@yandex.ru>
[not found] ` <<<<alpine.DEB.2.20.1611111851250.21428@calancha-pc>
[not found] ` <<<<83bmxme12w.fsf@gnu.org>
[not found] ` <<<<alpine.DEB.2.20.1611112313020.23900@calancha-pc>
[not found] ` <<<<834m3edqyr.fsf@gnu.org>
[not found] ` <<<<6dbea00c-3bde-6ec3-b109-7aa205bedb5f@yandex.ru>
[not found] ` <<<<8337iydq8z.fsf@gnu.org>
[not found] ` <<<<alpine.DEB.2.20.1611112355090.24203@calancha-pc>
[not found] ` <<<<83y40qc9jv.fsf@gnu.org>
[not found] ` <<<<df484e47-dbd7-06d5-5987-a067185d3e00@yandex.ru>
[not found] ` <<<<bd8f220e-6ac2-4996-91ed-7bcf4cc5413f@default>
[not found] ` <<<<83a8d2hy8f.fsf@gnu.org>
[not found] ` <<<5a6ddd21-ebf9-42bf-9fb6-7fc9e037b3ed@default>
[not found] ` <<<83zil2ggf7.fsf@gnu.org>
[not found] ` <<fe942899-b2b4-4add-9f80-87ddf53bc680@default>
[not found] ` <<83wpg6gc8h.fsf@gnu.org>
2016-11-14 18:54 ` Drew Adams [this message]
[not found] <<<alpine.LRH.2.20.1509011056480.5317@calancha-ilc.kek.jp>
[not found] ` <<<83pom7gjhl.fsf@gnu.org>
[not found] ` <<<0a8d76e4-4d1b-a26d-2b76-a2d9384d9f72@yandex.ru>
[not found] ` <<<83mvhbgitf.fsf@gnu.org>
[not found] ` <<<25bb22e8-1388-275a-d0da-7e698acdf6da@yandex.ru>
[not found] ` <<<83inrygggr.fsf@gnu.org>
[not found] ` <<<cc2e7eab-e58d-db76-b5ed-0ec9871fad9d@yandex.ru>
[not found] ` <<<83y40sfyij.fsf@gnu.org>
[not found] ` <<<76505436-e66c-0ed3-6d7a-ce654f38ef30@yandex.ru>
[not found] ` <<<83bmxnfhbi.fsf@gnu.org>
[not found] ` <<<73600483-1df5-597c-6066-232189bbdd4a@yandex.ru>
[not found] ` <<<834m3ffeb9.fsf@gnu.org>
[not found] ` <<<fcb1bcf1-20f0-3eda-1c33-df7ba085d487@yandex.ru>
[not found] ` <<<83twbfdvav.fsf@gnu.org>
[not found] ` <<<73be4b9d-2df8-cc83-b873-398cb7dd043b@yandex.ru>
[not found] ` <<<83pom3ds3e.fsf@gnu.org>
[not found] ` <<<ef67e387-0302-1aaa-4764-cab2d3337a2c@yandex.ru>
[not found] ` <<<alpine.DEB.2.20.1611111851250.21428@calancha-pc>
[not found] ` <<<83bmxme12w.fsf@gnu.org>
[not found] ` <<<alpine.DEB.2.20.1611112313020.23900@calancha-pc>
[not found] ` <<<834m3edqyr.fsf@gnu.org>
[not found] ` <<<6dbea00c-3bde-6ec3-b109-7aa205bedb5f@yandex.ru>
[not found] ` <<<8337iydq8z.fsf@gnu.org>
[not found] ` <<<alpine.DEB.2.20.1611112355090.24203@calancha-pc>
[not found] ` <<<83y40qc9jv.fsf@gnu.org>
[not found] ` <<<df484e47-dbd7-06d5-5987-a067185d3e00@yandex.ru>
[not found] ` <<<bd8f220e-6ac2-4996-91ed-7bcf4cc5413f@default>
[not found] ` <<<83a8d2hy8f.fsf@gnu.org>
[not found] ` <<5a6ddd21-ebf9-42bf-9fb6-7fc9e037b3ed@default>
[not found] ` <<83zil2ggf7.fsf@gnu.org>
2016-11-14 17:33 ` bug#21391: 24.5; `thing-at-point' should return a string Drew Adams
2016-11-14 18:14 ` Eli Zaretskii
2015-09-01 1:59 bug#21391: 24.5; `thing-at-point' returns error when called with arguments 'number t Tino Calancha
2016-10-13 7:00 ` bug#21391: 24.5; `thing-at-point' returns error when called with arguments 'number t) Tino Calancha
2016-11-04 16:31 ` Drew Adams
2016-11-04 20:03 ` Drew Adams
2016-11-07 3:17 ` bug#21391: 24.5; `thing-at-point' should return a string Tino Calancha
2016-11-07 15:14 ` Eli Zaretskii
2016-11-07 19:12 ` Dmitry Gutov
2016-11-07 19:47 ` Eli Zaretskii
2016-11-07 19:51 ` Dmitry Gutov
2016-11-07 20:02 ` Eli Zaretskii
2016-11-07 20:03 ` Dmitry Gutov
2016-11-08 13:15 ` Tino Calancha
2016-11-08 15:05 ` Eli Zaretskii
2016-11-09 0:04 ` Dmitry Gutov
2016-11-09 6:43 ` Andreas Röhler
2016-11-09 15:45 ` Eli Zaretskii
2016-11-09 23:30 ` Dmitry Gutov
2016-11-10 16:08 ` Eli Zaretskii
2016-11-10 16:19 ` Dmitry Gutov
2016-11-10 17:13 ` Eli Zaretskii
2016-11-10 17:28 ` Dmitry Gutov
2016-11-10 18:49 ` Eli Zaretskii
2016-11-10 18:55 ` Dmitry Gutov
2016-11-10 19:59 ` Eli Zaretskii
2016-11-10 21:12 ` Dmitry Gutov
2016-11-11 10:07 ` Tino Calancha
2016-11-11 10:57 ` Eli Zaretskii
2016-11-11 14:13 ` Tino Calancha
2016-11-11 14:35 ` Eli Zaretskii
2016-11-11 14:46 ` Dmitry Gutov
2016-11-11 14:51 ` Eli Zaretskii
2016-11-11 14:57 ` Dmitry Gutov
2016-11-11 15:31 ` Eli Zaretskii
2016-11-11 15:05 ` Tino Calancha
2016-11-11 15:37 ` Eli Zaretskii
2016-11-14 1:52 ` Dmitry Gutov
2016-11-14 2:43 ` Drew Adams
2016-11-14 10:26 ` Andreas Röhler
2016-11-14 15:19 ` Drew Adams
2016-11-16 13:49 ` Andreas Röhler
2016-11-16 14:45 ` Drew Adams
2016-11-14 15:36 ` Eli Zaretskii
2016-11-15 7:18 ` Andreas Röhler
2016-11-14 15:34 ` Eli Zaretskii
2016-11-10 18:27 ` Drew Adams
2016-11-09 17:58 ` Drew Adams
2016-11-09 23:35 ` Dmitry Gutov
2016-11-10 0:40 ` Drew Adams
2016-11-10 8:55 ` Dmitry Gutov
2020-08-24 18:32 ` Lars Ingebrigtsen
[not found] ` <<83inrygggr.fsf@gnu.org>
2016-11-08 16:31 ` Drew Adams
[not found] ` <<cc2e7eab-e58d-db76-b5ed-0ec9871fad9d@yandex.ru>
[not found] ` <<83y40sfyij.fsf@gnu.org>
[not found] ` <<76505436-e66c-0ed3-6d7a-ce654f38ef30@yandex.ru>
[not found] ` <<83bmxnfhbi.fsf@gnu.org>
[not found] ` <<73600483-1df5-597c-6066-232189bbdd4a@yandex.ru>
[not found] ` <<834m3ffeb9.fsf@gnu.org>
[not found] ` <<fcb1bcf1-20f0-3eda-1c33-df7ba085d487@yandex.ru>
[not found] ` <<83twbfdvav.fsf@gnu.org>
[not found] ` <<73be4b9d-2df8-cc83-b873-398cb7dd043b@yandex.ru>
[not found] ` <<83pom3ds3e.fsf@gnu.org>
[not found] ` <<ef67e387-0302-1aaa-4764-cab2d3337a2c@yandex.ru>
[not found] ` <<alpine.DEB.2.20.1611111851250.21428@calancha-pc>
[not found] ` <<83bmxme12w.fsf@gnu.org>
[not found] ` <<alpine.DEB.2.20.1611112313020.23900@calancha-pc>
[not found] ` <<834m3edqyr.fsf@gnu.org>
[not found] ` <<6dbea00c-3bde-6ec3-b109-7aa205bedb5f@yandex.ru>
[not found] ` <<8337iydq8z.fsf@gnu.org>
[not found] ` <<alpine.DEB.2.20.1611112355090.24203@calancha-pc>
[not found] ` <<83y40qc9jv.fsf@gnu.org>
[not found] ` <<df484e47-dbd7-06d5-5987-a067185d3e00@yandex.ru>
[not found] ` <<bd8f220e-6ac2-4996-91ed-7bcf4cc5413f@default>
[not found] ` <<83a8d2hy8f.fsf@gnu.org>
2016-11-14 16:24 ` Drew Adams
2016-11-14 16:44 ` Eli Zaretskii
2016-11-08 8:22 ` Andreas Röhler
[not found] ` <<874m3krnb6.fsf_-_@gmail.com>
[not found] ` <<83a8dbiaps.fsf@gnu.org>
2016-11-07 16:10 ` Drew Adams
2016-11-07 18:04 ` Eli Zaretskii
[not found] ` <<<874m3krnb6.fsf_-_@gmail.com>
[not found] ` <<<83a8dbiaps.fsf@gnu.org>
[not found] ` <<123efdfd-3a87-4b39-9567-a56ecc3ea82e@default>
[not found] ` <<831syni2u1.fsf@gnu.org>
2016-11-07 18:37 ` Drew Adams
[not found] <<alpine.LRH.2.20.1509011056480.5317@calancha-ilc.kek.jp>
[not found] ` <<83pom7gjhl.fsf@gnu.org>
[not found] ` <<0a8d76e4-4d1b-a26d-2b76-a2d9384d9f72@yandex.ru>
[not found] ` <<83mvhbgitf.fsf@gnu.org>
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=cff92f25-7854-451c-8e5e-0a9a4cc25b34@default \
--to=drew.adams@oracle.com \
--cc=21391@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=tino.calancha@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).