[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r111278: * src/xdisp.c (select_frame_
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r111278: * src/xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove. |
Date: |
Thu, 20 Dec 2012 09:03:34 -0500 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111278
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Thu 2012-12-20 09:03:34 -0500
message:
* src/xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove.
(redisplay_internal): Don't bother selecting the frame to get the
proper value of frame-local variables.
modified:
etc/NEWS
src/ChangeLog
src/xdisp.c
=== modified file 'etc/NEWS'
--- a/etc/NEWS 2012-12-19 21:32:56 +0000
+++ b/etc/NEWS 2012-12-20 14:03:34 +0000
@@ -156,6 +156,10 @@
* Incompatible Lisp Changes in Emacs 24.4
+** frame-local variables that affect redisplay do not work any more.
+More specifically, the redisplay does not bother to check for a frame-local
+value when looking up variables.
+
** nil and "unbound" are indistinguishable in symbol-function.
`symbol-function' never signals `void-function' any more.
`fboundp' returns non-nil if the symbol was `fset' to nil.
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-12-20 08:49:21 +0000
+++ b/src/ChangeLog 2012-12-20 14:03:34 +0000
@@ -1,3 +1,9 @@
+2012-12-20 Stefan Monnier <address@hidden>
+
+ * xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove.
+ (redisplay_internal): Don't bother selecting the frame to get the
+ proper value of frame-local variables.
+
2012-12-20 Dmitry Antipov <address@hidden>
* textprop.c (set_text_properties_1): Do not allow NULL interval.
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2012-12-17 19:17:06 +0000
+++ b/src/xdisp.c 2012-12-20 14:03:34 +0000
@@ -12951,49 +12951,6 @@
}
-/* Select FRAME to forward the values of frame-local variables into C
- variables so that the redisplay routines can access those values
- directly. */
-
-static void
-select_frame_for_redisplay (Lisp_Object frame)
-{
- Lisp_Object tail, tem;
- Lisp_Object old = selected_frame;
- struct Lisp_Symbol *sym;
-
- eassert (FRAMEP (frame) && FRAME_LIVE_P (XFRAME (frame)));
-
- selected_frame = frame;
- /* If redisplay causes scrolling, it sets point in the window, so we need to
- be careful with the selected-window's point handling. */
- select_window_1 (XFRAME (frame)->selected_window, 0);
-
- do {
- for (tail = XFRAME (frame)->param_alist;
- CONSP (tail); tail = XCDR (tail))
- if (CONSP (XCAR (tail))
- && (tem = XCAR (XCAR (tail)),
- SYMBOLP (tem))
- && (sym = indirect_variable (XSYMBOL (tem)),
- sym->redirect == SYMBOL_LOCALIZED)
- && sym->val.blv->frame_local)
- /* Use find_symbol_value rather than Fsymbol_value
- to avoid an error if it is void. */
- find_symbol_value (tem);
- } while (!EQ (frame, old) && (frame = old, 1));
-}
-
-/* Make sure that previously selected OLD_FRAME is selected unless it has been
- deleted (by an X connection failure during redisplay, for example). */
-
-static void
-ensure_selected_frame (Lisp_Object frame)
-{
- if (!EQ (frame, selected_frame) && FRAME_LIVE_P (XFRAME (frame)))
- select_frame_for_redisplay (frame);
-}
-
#define STOP_POLLING \
do { if (! polling_stopped_here) stop_polling (); \
polling_stopped_here = 1; } while (0)
@@ -13078,12 +13035,6 @@
/* Remember the currently selected window. */
sw = w;
- /* When running redisplay, we play a bit fast-and-loose and allow e.g.
- selected_frame and selected_window to be temporarily out-of-sync so
- when we come back here via `goto retry', we need to resync because we
- may need to run Elisp code (via prepare_menu_bars). */
- ensure_selected_frame (old_frame);
-
pending = 0;
reconsider_clip_changes (w, current_buffer);
last_escape_glyph_frame = NULL;
@@ -13491,9 +13442,6 @@
if (FRAME_WINDOW_P (f) || FRAME_TERMCAP_P (f) || f == sf)
{
- /* Select the frame, for the sake of frame-local variables. */
- ensure_selected_frame (frame);
-
/* Mark all the scroll bars to be removed; we'll redeem
the ones we want when we redisplay their windows. */
if (FRAME_TERMINAL (f)->condemn_scroll_bars_hook)
@@ -13543,10 +13491,6 @@
}
}
- /* We played a bit fast-and-loose above and allowed selected_frame
- and selected_window to be temporarily out-of-sync but let's make
- sure this stays contained. */
- ensure_selected_frame (old_frame);
eassert (EQ (XFRAME (selected_frame)->selected_window, selected_window));
if (!pending)
@@ -13772,7 +13716,6 @@
unwind_redisplay (Lisp_Object old_frame)
{
redisplaying_p = 0;
- ensure_selected_frame (old_frame);
return Qnil;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r111278: * src/xdisp.c (select_frame_for_redisplay, ensure_selected_frame): Remove.,
Stefan Monnier <=