[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xdisp.c
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/xdisp.c |
Date: |
Thu, 29 Aug 2002 10:41:09 -0400 |
Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.778 emacs/src/xdisp.c:1.779
*** emacs/src/xdisp.c:1.778 Mon Aug 26 20:59:55 2002
--- emacs/src/xdisp.c Thu Aug 29 10:41:09 2002
***************
*** 706,714 ****
int redisplaying_p;
! /* Non-zero while redisplay is updating the display. */
! int redisplay_updating_p;
/* Function prototypes. */
--- 706,717 ----
int redisplaying_p;
! /* Non-zero means don't free realized faces. Bound while freeing
! realized faces is dangerous because glyph matrices might still
! reference them. */
! int inhibit_free_realized_faces;
! Lisp_Object Qinhibit_free_realized_faces;
/* Function prototypes. */
***************
*** 1524,1530 ****
free realized faces now because they depend on face definitions
that might have changed. Don't free faces while there might be
desired matrices pending which reference these faces. */
! if (face_change_count && !redisplay_updating_p)
{
face_change_count = 0;
free_all_realized_faces (Qnil);
--- 1527,1533 ----
free realized faces now because they depend on face definitions
that might have changed. Don't free faces while there might be
desired matrices pending which reference these faces. */
! if (face_change_count && !inhibit_free_realized_faces)
{
face_change_count = 0;
free_all_realized_faces (Qnil);
***************
*** 8522,8532 ****
count = SPECPDL_INDEX ();
record_unwind_protect (unwind_redisplay, make_number (redisplaying_p));
++redisplaying_p;
retry:
pause = 0;
reconsider_clip_changes (w, current_buffer);
- redisplay_updating_p = 0;
/* If new fonts have been loaded that make a glyph matrix adjustment
necessary, do it. */
--- 8525,8535 ----
count = SPECPDL_INDEX ();
record_unwind_protect (unwind_redisplay, make_number (redisplaying_p));
++redisplaying_p;
+ specbind (Qinhibit_free_realized_faces, Qnil);
retry:
pause = 0;
reconsider_clip_changes (w, current_buffer);
/* If new fonts have been loaded that make a glyph matrix adjustment
necessary, do it. */
***************
*** 9014,9022 ****
redisplay_window_error);
/* Compare desired and current matrices, perform output. */
- update:
- redisplay_updating_p = 1;
/* If fonts changed, display again. */
if (fonts_changed_p)
goto retry;
--- 9017,9024 ----
redisplay_window_error);
/* Compare desired and current matrices, perform output. */
+ update:
/* If fonts changed, display again. */
if (fonts_changed_p)
goto retry;
***************
*** 9142,9148 ****
goto retry;
end_of_redisplay:
- redisplay_updating_p = 0;
unbind_to (count, Qnil);
}
--- 9144,9149 ----
***************
*** 9180,9193 ****
/* Function registered with record_unwind_protect in
redisplay_internal. Reset redisplaying_p to the value it had
before redisplay_internal was called, and clear
! redisplay_updating_p. */
static Lisp_Object
unwind_redisplay (old_redisplaying_p)
Lisp_Object old_redisplaying_p;
{
redisplaying_p = XFASTINT (old_redisplaying_p);
- redisplay_updating_p = 0;
return Qnil;
}
--- 9181,9193 ----
/* Function registered with record_unwind_protect in
redisplay_internal. Reset redisplaying_p to the value it had
before redisplay_internal was called, and clear
! prevent_freeing_realized_faces_p. */
static Lisp_Object
unwind_redisplay (old_redisplaying_p)
Lisp_Object old_redisplaying_p;
{
redisplaying_p = XFASTINT (old_redisplaying_p);
return Qnil;
}
***************
*** 15307,15312 ****
--- 15307,15314 ----
staticpro (&Qobject);
Qrisky_local_variable = intern ("risky-local-variable");
staticpro (&Qrisky_local_variable);
+ Qinhibit_free_realized_faces = intern ("inhibit-free-realized-faces");
+ staticpro (&Qinhibit_free_realized_faces);
list_of_error = Fcons (intern ("error"), Qnil);
staticpro (&list_of_error);
***************
*** 15568,15573 ****
--- 15570,15579 ----
DEFVAR_BOOL ("inhibit-eval-during-redisplay",
&inhibit_eval_during_redisplay,
doc: /* Non-nil means don't eval Lisp during redisplay. */);
inhibit_eval_during_redisplay = 0;
+
+ DEFVAR_BOOL ("inhibit-free-realized-faces", &inhibit_free_realized_faces,
+ doc: /* Non-nil means don't free realized faces. Internal use only. */);
+ inhibit_free_realized_faces = 0;
#if GLYPH_DEBUG
DEFVAR_BOOL ("inhibit-try-window-id", &inhibit_try_window_id,
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Gerd Moellmann, 2002/08/03
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Richard M. Stallman, 2002/08/05
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Gerd Moellmann, 2002/08/09
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Gerd Moellmann, 2002/08/09
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/08/20
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F. Storm, 2002/08/22
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/08/26
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/08/26
- [Emacs-diffs] Changes to emacs/src/xdisp.c,
Richard M. Stallman <=
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F. Storm, 2002/08/30
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/08/30
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kenichi Handa, 2002/08/30
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Stefan Monnier, 2002/08/30
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Kim F. Storm, 2002/08/30
- [Emacs-diffs] Changes to emacs/src/xdisp.c, Eli Zaretskii, 2002/08/31