]> git.eshelyaron.com Git - emacs.git/commit
Remove fixnum restriction on some display vars
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 22 May 2019 20:25:47 +0000 (13:25 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 22 May 2019 20:29:13 +0000 (13:29 -0700)
commitdfed333b312d06b3416ebfadff544eae38313391
treec4c013baf966e177418675b5ed08c9a08832396d
parent5c21832ae866077874fb662e49c695a7850ec22c
Remove fixnum restriction on some display vars

This is a minor patch to remove some fixnum restrictions.
Many more such patches are needed, but one thing at a time.
* doc/emacs/custom.texi (Examining): Update fill-column example.
* src/buffer.c (fill-column, left-margin, tab-width)
(buffer-saved-size, left-margin-width, right-margin-width)
(left-fringe-width, right-fringe-width, scroll-bar-width)
(scroll-bar-height, buffer-display-count):
Allow any integer; do not restrict to fixnums.
* src/character.h (SANE_TAB_WIDTH): Do not assume tab_width
is a nonnegative fixnum.
(sanitize_tab_width): Take a Lisp_Object integer, not an
EMACS_INT.  Only use changed.
* src/data.c (store_symval_forwarding): Remove unnecessary
SYMBOLP since the predicate (e.g., Qintegerp) is always a
symbol (leave the test in as an eassert).  Avoid assignments
inside if-conditions.
* src/fileio.c (Fdo_auto_save): Do not assume
buffer-saved-size is a fixnum.  Avoid undefined behavior
on EMACS_INT overflow by multiplying a fixnum by at most 4,
not by at most 13.
* src/window.c (set_window_buffer): When buffer-display-count
is too large for a fixnum, make it a bignum.
* src/xdisp.c (FILL_COLUMN_INDICATOR_NEEDED): Remove macro, ...
(fill_column_indicator_column): ... replacing with this new function.
All uses changed.  The function is a bit pickier, to prevent
problems with non-character fixnums and columns out of range
for int, and to remove the assumption that integers are in
fixnum range.
(append_space_for_newline, extend_face_to_end_of_line):
Avoid undefined behavior with signed integer overflow.
Simplify.
doc/emacs/custom.texi
src/buffer.c
src/character.h
src/data.c
src/fileio.c
src/lisp.h
src/window.c
src/xdisp.c