diff options
Diffstat (limited to 'src/dispnew.c')
-rw-r--r-- | src/dispnew.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index a81d6f64d1e..b54ae883649 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -25,6 +25,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ #include <unistd.h> #include "lisp.h" +#include "ptr-bounds.h" #include "termchar.h" /* cm.h must come after dispextern.h on Windows. */ #include "dispextern.h" @@ -233,9 +234,7 @@ DEFUN ("dump-redisplay-history", Fdump_redisplay_history, #endif /* GLYPH_DEBUG */ -#if (defined PROFILING \ - && (defined __FreeBSD__ || defined GNU_LINUX || defined __MINGW32__) \ - && !HAVE___EXECUTABLE_START) +#if defined PROFILING && !HAVE___EXECUTABLE_START /* This function comes first in the Emacs executable and is used only to estimate the text start for profiling. */ void @@ -1281,7 +1280,7 @@ row_equal_p (struct glyph_row *a, struct glyph_row *b, bool mouse_face_p) with zeros. If GLYPH_DEBUG and ENABLE_CHECKING are in effect, the global variable glyph_pool_count is incremented for each pool allocated. */ -static struct glyph_pool * +static struct glyph_pool * ATTRIBUTE_MALLOC new_glyph_pool (void) { struct glyph_pool *result = xzalloc (sizeof *result); @@ -2509,8 +2508,7 @@ spec_glyph_lookup_face (struct window *w, GLYPH *glyph) /* Convert the glyph's specified face to a realized (cache) face. */ if (lface_id > 0) { - int face_id = merge_faces (XFRAME (w->frame), - Qt, lface_id, DEFAULT_FACE_ID); + int face_id = merge_faces (w, Qt, lface_id, DEFAULT_FACE_ID); SET_GLYPH_FACE (*glyph, face_id); } } @@ -4652,6 +4650,11 @@ scrolling (struct frame *frame) unsigned *new_hash = old_hash + height; int *draw_cost = (int *) (new_hash + height); int *old_draw_cost = draw_cost + height; + old_hash = ptr_bounds_clip (old_hash, height * sizeof *old_hash); + new_hash = ptr_bounds_clip (new_hash, height * sizeof *new_hash); + draw_cost = ptr_bounds_clip (draw_cost, height * sizeof *draw_cost); + old_draw_cost = ptr_bounds_clip (old_draw_cost, + height * sizeof *old_draw_cost); eassert (current_matrix); @@ -5714,8 +5717,8 @@ additional wait period, in milliseconds; this is for backwards compatibility. if (!NILP (milliseconds)) { - CHECK_NUMBER (milliseconds); - duration += XINT (milliseconds) / 1000.0; + CHECK_FIXNUM (milliseconds); + duration += XFIXNUM (milliseconds) / 1000.0; } if (duration > 0) @@ -5763,9 +5766,9 @@ sit_for (Lisp_Object timeout, bool reading, int display_option) if (display_option > 1) redisplay_preserve_echo_area (2); - if (INTEGERP (timeout)) + if (FIXNUMP (timeout)) { - sec = XINT (timeout); + sec = XFIXNUM (timeout); if (sec <= 0) return Qt; nsec = 0; @@ -5825,8 +5828,7 @@ immediately by pending input. */) if (!NILP (force) && !redisplay_dont_pause) specbind (Qredisplay_dont_pause, Qt); redisplay_preserve_echo_area (2); - unbind_to (count, Qnil); - return Qt; + return unbind_to (count, Qt); } @@ -5923,7 +5925,7 @@ pass nil for VARIABLE. */) || n + 20 < ASIZE (state) / 2) /* Add 20 extra so we grow it less often. */ { - state = Fmake_vector (make_number (n + 20), Qlambda); + state = Fmake_vector (make_fixnum (n + 20), Qlambda); if (! NILP (variable)) Fset (variable, state); else @@ -6039,7 +6041,7 @@ init_display (void) { Vinitial_window_system = Qx; #ifdef HAVE_X11 - Vwindow_system_version = make_number (11); + Vwindow_system_version = make_fixnum (11); #endif #ifdef USE_NCURSES /* In some versions of ncurses, @@ -6055,7 +6057,7 @@ init_display (void) if (!inhibit_window_system) { Vinitial_window_system = Qw32; - Vwindow_system_version = make_number (1); + Vwindow_system_version = make_fixnum (1); return; } #endif /* HAVE_NTGUI */ @@ -6068,7 +6070,7 @@ init_display (void) ) { Vinitial_window_system = Qns; - Vwindow_system_version = make_number (10); + Vwindow_system_version = make_fixnum (10); return; } #endif @@ -6221,7 +6223,7 @@ syms_of_display (void) defsubr (&Sdump_redisplay_history); #endif - frame_and_buffer_state = Fmake_vector (make_number (20), Qlambda); + frame_and_buffer_state = Fmake_vector (make_fixnum (20), Qlambda); staticpro (&frame_and_buffer_state); /* This is the "purpose" slot of a display table. */ |