Commit 7744cc7e authored by Paul Eggert's avatar Paul Eggert Committed by Paul Eggert

Fix think-o in previous patch

* src/window.c (count_windows, get_leaf_windows):
Don't optimize count_windows incorrectly.
parent b80c5ebc
...@@ -6527,11 +6527,17 @@ delete_all_child_windows (Lisp_Object window) ...@@ -6527,11 +6527,17 @@ delete_all_child_windows (Lisp_Object window)
static ptrdiff_t static ptrdiff_t
count_windows (struct window *window) count_windows (struct window *window)
{ {
return get_leaf_windows (window, NULL, 0); ptrdiff_t count = 1;
if (!NILP (window->next))
count += count_windows (XWINDOW (window->next));
if (WINDOWP (window->contents))
count += count_windows (XWINDOW (window->contents));
return count;
} }
/* If vector FLAT is non-null, fill it with leaf windows under W,
starting at index I. Value is last index + 1. */ /* Fill vector FLAT with leaf windows under W, starting at index I.
Value is last index + 1. */
static ptrdiff_t static ptrdiff_t
get_leaf_windows (struct window *w, struct window **flat, ptrdiff_t i) get_leaf_windows (struct window *w, struct window **flat, ptrdiff_t i)
{ {
...@@ -6540,11 +6546,7 @@ get_leaf_windows (struct window *w, struct window **flat, ptrdiff_t i) ...@@ -6540,11 +6546,7 @@ get_leaf_windows (struct window *w, struct window **flat, ptrdiff_t i)
if (WINDOWP (w->contents)) if (WINDOWP (w->contents))
i = get_leaf_windows (XWINDOW (w->contents), flat, i); i = get_leaf_windows (XWINDOW (w->contents), flat, i);
else else
{ flat[i++] = w;
if (flat)
flat[i] = w;
i++;
}
w = NILP (w->next) ? 0 : XWINDOW (w->next); w = NILP (w->next) ? 0 : XWINDOW (w->next);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment