In Emacs 25.1 (emacs -Q), `number-at-point' at either
the `-' or the `1' returns nil, for me. And I do not
see why it should return a number.
With 25.1 I get nil, on 26.0.50 I'm getting -1. I believe this is
due to the fix in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24605
I see. Dunno what I think about this. I'd be interested to
hear more from Tino about this. It clearly is not backward
compatible. Whether it is an improvement or not, I'm not
sure, in this case.
I guess it depends on what a user would expect of a
"number-at-point" function. A priori, I don't see why s?he
would expect a non-nil answer if the numeral is embedded in
text that does not delimit a numeral (e.g. non whitespace text).
But maybe it is OK.
Would we expect the same kind of behavior for `sexp-at-point'
if a sexp were not surrounded by chars that delimit a sexp?
In Lisp, at least, there is no number at point, in `foo-2'.
That is, the Lisp parser (reader) would never pick up the
`2' as a number here.
I'm partial to use of thingatpt for Lisp, but I realize that
it is used in other contexts too.