GNU bug report logs -
#21391
24.5; `thing-at-point' returns error when called with arguments 'number t
Previous Next
Reported by: Tino Calancha <f92capac <at> gmail.com>
Date: Tue, 1 Sep 2015 01:57:01 UTC
Severity: minor
Found in version 24.5
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Cc: tino.calancha <at> gmail.com, 21391 <at> debbugs.gnu.org
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> Date: Thu, 10 Nov 2016 01:30:20 +0200
>
> See the attached patch.
>
> Or to take a step further, we might want to deprecate the
> `thing-at-point' property, and recommend to only use the
> `bounds-of-thing-at-point' property. This way, we get the string-ness
> guarantee automatically, and the bounds-of-thing-at-point function will
> work for all things (it currently fails for `number').
>
> >>> If
> >>> there is such code, why would we want to break it? To what end? And
> >>> if no code uses this loophole, why do we care that it exists?
> >>
> >> To make thing-at-point behavior more consistent.
> >
> > It is consistent now.
>
> Put point on a number. Number is a sexp. Not all sexps are strings.
>
> (thing-at-point 'number) => 123
> (thing-at-point 'sexp) => "123"
>
> That doesn't looks consistent to me.
There's a tension here between consistency and backward compatibility.
And since this function was "inconsistent" for a very long time, I'm
not sure losing backward compatibility can be justified by consistency
at this point.
We'd also lose something else: some Lisp objects can be printed, but
their printed representation cannot be read back. So for some
objects, requiring thing-at-point to return a string would lose
information.
> > The only way to make it inconsistent is to have
> > a 'thing-at-point' property that violates that, but we never do that
> > in Emacs proper, so if someone else does that, it would be their bug.
>
> number's `thing-at-point' property is not like the others.
Right, I succeeded to forget that since the beginning of this thread.
This bug report was last modified 4 years and 329 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.