[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r113891: Fix infinite frame selection loop (Bug#1502
From: |
Dmitry Antipov |
Subject: |
[Emacs-diffs] trunk r113891: Fix infinite frame selection loop (Bug#15025). |
Date: |
Thu, 15 Aug 2013 15:37:50 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 113891
revision-id: address@hidden
parent: address@hidden
committer: Dmitry Antipov <address@hidden>
branch nick: trunk
timestamp: Thu 2013-08-15 19:37:03 +0400
message:
Fix infinite frame selection loop (Bug#15025).
* frame.c (delete_frame): Prefer fast ad-hoc loop to next_frame.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/frame.c frame.c-20091113204419-o5vbwnq5f7feedwu-243
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-08-15 15:28:53 +0000
+++ b/src/ChangeLog 2013-08-15 15:37:03 +0000
@@ -1,3 +1,8 @@
+2013-08-15 Dmitry Antipov <address@hidden>
+
+ Fix infinite frame selection loop (Bug#15025).
+ * frame.c (delete_frame): Prefer fast ad-hoc loop to next_frame.
+
2013-08-15 Eli Zaretskii <address@hidden>
* xdisp.c (compute_window_start_on_continuation_line): When
=== modified file 'src/frame.c'
--- a/src/frame.c 2013-08-14 16:36:16 +0000
+++ b/src/frame.c 2013-08-15 15:37:03 +0000
@@ -1199,8 +1199,15 @@
{
Lisp_Object tail, frame1;
- /* Look for another visible frame on the same terminal. */
- frame1 = next_frame (frame, Qvisible);
+ /* Look for another visible frame on the same terminal.
+ Do not call next_frame here because it may loop forever.
+ See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15025. */
+ FOR_EACH_FRAME (tail, frame1)
+ if (!EQ (frame, frame1)
+ && (FRAME_TERMINAL (XFRAME (frame))
+ == FRAME_TERMINAL (XFRAME (frame1)))
+ && FRAME_VISIBLE_P (XFRAME (frame1)))
+ break;
/* If there is none, find *some* other frame. */
if (NILP (frame1) || EQ (frame1, frame))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r113891: Fix infinite frame selection loop (Bug#15025).,
Dmitry Antipov <=