diff options
| author | Karoly Lorentey | 2005-06-15 12:57:51 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-06-15 12:57:51 +0000 |
| commit | ef85512e51f043d73788f00a2aed13cccde0682c (patch) | |
| tree | fc1fa1378533250f260ef8eaa9a84ae882d9df84 /src/window.c | |
| parent | 8736257554f49445f7b4402ac7a9436b38ce6452 (diff) | |
| parent | ef88a9999004e6c26148c8d280d6a41f623d7249 (diff) | |
| download | emacs-ef85512e51f043d73788f00a2aed13cccde0682c.tar.gz emacs-ef85512e51f043d73788f00a2aed13cccde0682c.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 80-82, 350-422)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-350
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-351
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-352
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-353
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-354
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-355
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-356
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-357
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-358
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-359
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-360
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-361
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-362
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-363
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-364
Remove "-face" suffix from widget faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-365
Remove "-face" suffix from custom faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-366
Remove "-face" suffix from change-log faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-367
Remove "-face" suffix from compilation faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-368
Remove "-face" suffix from diff-mode faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-369
lisp/longlines.el (longlines-visible-face): Face removed
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-370
Remove "-face" suffix from woman faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-371
Remove "-face" suffix from whitespace-highlight face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-372
Remove "-face" suffix from ruler-mode faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-373
Remove "-face" suffix from show-paren faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-374
Remove "-face" suffix from log-view faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-375
Remove "-face" suffix from smerge faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-376
Remove "-face" suffix from show-tabs faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-377
Remove "-face" suffix from highlight-changes faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-378
Remove "-face" suffix from and downcase info faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-379
Remove "-face" suffix from pcvs faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-380
Update uses of renamed pcvs faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-381
Tweak ChangeLog
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-382
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-383
Remove "-face" suffix from strokes-char face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-384
Remove "-face" suffix from compare-windows face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-385
Remove "-face" suffix from calendar faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-386
Remove "-face" suffix from diary-button face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-387
Remove "-face" suffix from testcover faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-388
Remove "-face" suffix from viper faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-389
Remove "-face" suffix from org faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-390
Remove "-face" suffix from sgml-namespace face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-391
Remove "-face" suffix from table-cell face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-392
Remove "-face" suffix from tex-mode faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-393
Remove "-face" suffix from texinfo-heading face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-394
Remove "-face" suffix from flyspell faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-395
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-396
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-397
Remove "-face" suffix from gomoku faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-398
Remove "-face" suffix from mpuz faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-399
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-400
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-401
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-402
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-403
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-404
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-405
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-406
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-407
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-408
Remove "-face" suffix from Buffer-menu-buffer face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-409
Remove "-face" suffix from antlr-mode faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-410
Remove "-face" suffix from ebrowse faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-411
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-412
Remove "-face" suffix from flymake faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-413
Remove "-face" suffix from idlwave faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-414
Remove "-face" suffix from sh-script faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-415
Remove "-face" suffix from vhdl-mode faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-416
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-417
Remove "-face" suffix from which-func face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-418
Remove "-face" suffix from cperl-mode faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-419
Remove "-face" suffix from ld-script faces
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-420
Fix cperl-mode font-lock problem
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-421
Tweak which-func face
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-422
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-80
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-81
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-82
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-350
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/src/window.c b/src/window.c index 83d99cf67ba..5bfff27f976 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -1454,8 +1454,10 @@ delete_window (window) | |||
| 1454 | tem = par->hchild; | 1454 | tem = par->hchild; |
| 1455 | if (NILP (tem)) | 1455 | if (NILP (tem)) |
| 1456 | tem = par->vchild; | 1456 | tem = par->vchild; |
| 1457 | if (NILP (XWINDOW (tem)->next)) | 1457 | if (NILP (XWINDOW (tem)->next)) { |
| 1458 | replace_window (parent, tem); | 1458 | replace_window (parent, tem); |
| 1459 | par = XWINDOW (tem); | ||
| 1460 | } | ||
| 1459 | 1461 | ||
| 1460 | /* Since we may be deleting combination windows, we must make sure that | 1462 | /* Since we may be deleting combination windows, we must make sure that |
| 1461 | not only p but all its children have been marked as deleted. */ | 1463 | not only p but all its children have been marked as deleted. */ |
| @@ -1467,6 +1469,51 @@ delete_window (window) | |||
| 1467 | /* Mark this window as deleted. */ | 1469 | /* Mark this window as deleted. */ |
| 1468 | p->buffer = p->hchild = p->vchild = Qnil; | 1470 | p->buffer = p->hchild = p->vchild = Qnil; |
| 1469 | 1471 | ||
| 1472 | if (! NILP (par->parent)) | ||
| 1473 | par = XWINDOW (par->parent); | ||
| 1474 | |||
| 1475 | /* Check if we have a v/hchild with a v/hchild. In that case remove | ||
| 1476 | one of them. */ | ||
| 1477 | |||
| 1478 | if (! NILP (par->vchild) && ! NILP (XWINDOW (par->vchild)->vchild)) | ||
| 1479 | { | ||
| 1480 | p = XWINDOW (par->vchild); | ||
| 1481 | par->vchild = p->vchild; | ||
| 1482 | tem = p->vchild; | ||
| 1483 | } | ||
| 1484 | else if (! NILP (par->hchild) && ! NILP (XWINDOW (par->hchild)->hchild)) | ||
| 1485 | { | ||
| 1486 | p = XWINDOW (par->hchild); | ||
| 1487 | par->hchild = p->hchild; | ||
| 1488 | tem = p->hchild; | ||
| 1489 | } | ||
| 1490 | else | ||
| 1491 | p = 0; | ||
| 1492 | |||
| 1493 | if (p) | ||
| 1494 | { | ||
| 1495 | while (! NILP (tem)) { | ||
| 1496 | XWINDOW (tem)->parent = p->parent; | ||
| 1497 | if (NILP (XWINDOW (tem)->next)) | ||
| 1498 | break; | ||
| 1499 | tem = XWINDOW (tem)->next; | ||
| 1500 | } | ||
| 1501 | if (! NILP (tem)) { | ||
| 1502 | /* The next of the v/hchild we are removing is now the next of the | ||
| 1503 | last child for the v/hchild: | ||
| 1504 | Before v/hchild -> v/hchild -> next1 -> next2 | ||
| 1505 | | | ||
| 1506 | -> next3 | ||
| 1507 | After: v/hchild -> next1 -> next2 -> next3 | ||
| 1508 | */ | ||
| 1509 | XWINDOW (tem)->next = p->next; | ||
| 1510 | if (! NILP (p->next)) | ||
| 1511 | XWINDOW (p->next)->prev = tem; | ||
| 1512 | } | ||
| 1513 | p->next = p->prev = p->vchild = p->hchild = p->buffer = Qnil; | ||
| 1514 | } | ||
| 1515 | |||
| 1516 | |||
| 1470 | /* Adjust glyph matrices. */ | 1517 | /* Adjust glyph matrices. */ |
| 1471 | adjust_glyphs (f); | 1518 | adjust_glyphs (f); |
| 1472 | UNBLOCK_INPUT; | 1519 | UNBLOCK_INPUT; |
| @@ -3189,7 +3236,7 @@ selects the buffer of the selected window before each command. */) | |||
| 3189 | so that FRAME_FOCUS_FRAME is moved appropriately as we | 3236 | so that FRAME_FOCUS_FRAME is moved appropriately as we |
| 3190 | move around in the state where a minibuffer in a separate | 3237 | move around in the state where a minibuffer in a separate |
| 3191 | frame is active. */ | 3238 | frame is active. */ |
| 3192 | Fselect_frame (WINDOW_FRAME (w), Qnil); | 3239 | Fselect_frame (WINDOW_FRAME (w)); |
| 3193 | } | 3240 | } |
| 3194 | else | 3241 | else |
| 3195 | sf->selected_window = window; | 3242 | sf->selected_window = window; |