]> git.eshelyaron.com Git - emacs.git/commit
Treat out-of-range positions consistently
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 27 Mar 2020 07:58:31 +0000 (00:58 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 27 Mar 2020 08:06:54 +0000 (01:06 -0700)
commitde00a933e4b35b42398582eaba58531e5fdd46ca
tree1999aba74c99e98e2b101faf65160acb45fd9b52
parent10bedb75c915158b7662d4dfa4afa3a231714268
Treat out-of-range positions consistently

If a position argument to get-byte etc. is an out-of-range integer,
treat it the same regardless of whether it is a fixnum or a bignum.
* src/buffer.c (fix_position): New function.
* src/buffer.c (validate_region):
* src/character.c (Fget_byte):
* src/coding.c (Ffind_coding_systems_region_internal)
(Fcheck_coding_systems_region):
* src/composite.c (Ffind_composition_internal):
* src/editfns.c (Fposition_bytes, Fchar_after, Fchar_before)
(Finsert_buffer_substring, Fcompare_buffer_substrings)
(Fnarrow_to_region):
* src/fns.c (Fsecure_hash_algorithms):
* src/font.c (Finternal_char_font, Ffont_at):
* src/fringe.c (Ffringe_bitmaps_at_pos):
* src/search.c (search_command):
* src/textprop.c (get_char_property_and_overlay):
* src/window.c (Fpos_visible_in_window_p):
* src/xdisp.c (Fwindow_text_pixel_size):
Use it instead of CHECK_FIXNUM_COERCE_MARKER, so that
the code is simpler and treats bignums consistently with fixnums.
* src/buffer.h (CHECK_FIXNUM_COERCE_MARKER): Define here
rather than in lisp.h, and reimplement in terms of fix_position
so that it treats bignums consistently with fixnums.
* src/lisp.h (CHECK_FIXNUM_COERCE_MARKER): Move to buffer.h.
* src/textprop.c (validate_interval_range): Signal with original
bounds rather than modified ones.
14 files changed:
src/buffer.c
src/buffer.h
src/character.c
src/coding.c
src/composite.c
src/editfns.c
src/fns.c
src/font.c
src/fringe.c
src/lisp.h
src/search.c
src/textprop.c
src/window.c
src/xdisp.c