diff options
| author | Richard M. Stallman | 1994-04-23 20:53:09 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-04-23 20:53:09 +0000 |
| commit | 4a7cfafcf713410e08089e706bddd02b06c3bb70 (patch) | |
| tree | 77e5e041d842ce317228b412a111f64f13ee150a /src | |
| parent | a21cfa1191d832372cefff686f3b849e2c56da12 (diff) | |
| download | emacs-4a7cfafcf713410e08089e706bddd02b06c3bb70.tar.gz emacs-4a7cfafcf713410e08089e706bddd02b06c3bb70.zip | |
(Fset_frame_selected_window): New function.
(syms_of_frame): Set up Lisp function.
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/frame.c b/src/frame.c index 2eec0c87bab..eaab6d11ba7 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -454,7 +454,7 @@ DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0, | |||
| 454 | XSET (tem, Lisp_Frame, selected_frame); | 454 | XSET (tem, Lisp_Frame, selected_frame); |
| 455 | return tem; | 455 | return tem; |
| 456 | } | 456 | } |
| 457 | 457 | ||
| 458 | DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0, | 458 | DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0, |
| 459 | "Return the frame object that window WINDOW is on.") | 459 | "Return the frame object that window WINDOW is on.") |
| 460 | (window) | 460 | (window) |
| @@ -520,6 +520,30 @@ If omitted, FRAME defaults to the currently selected frame.") | |||
| 520 | return XFRAME (frame)->selected_window; | 520 | return XFRAME (frame)->selected_window; |
| 521 | } | 521 | } |
| 522 | 522 | ||
| 523 | DEFUN ("set-frame-selected-window", Fset_frame_selected_window, | ||
| 524 | Sset_frame_selected_window, 2, 2, 0, | ||
| 525 | "Set the selected window of frame object FRAME to WINDOW.\n\ | ||
| 526 | If FRAME is nil, the selected frame is used.\n\ | ||
| 527 | If FRAME is the selected frame, this makes WINDOW the selected window.") | ||
| 528 | (frame, window) | ||
| 529 | Lisp_Object frame, window; | ||
| 530 | { | ||
| 531 | if (NILP (frame)) | ||
| 532 | XSET (frame, Lisp_Frame, selected_frame); | ||
| 533 | else | ||
| 534 | CHECK_LIVE_FRAME (frame, 0); | ||
| 535 | |||
| 536 | CHECK_LIVE_WINDOW (window, 1); | ||
| 537 | |||
| 538 | if (! EQ (frame, WINDOW_FRAME (XWINDOW (window)))) | ||
| 539 | error ("In `set-frame-selected-window', WINDOW is not on FRAME"); | ||
| 540 | |||
| 541 | if (XFRAME (frame) == selected_frame) | ||
| 542 | return Fselect_window (window); | ||
| 543 | |||
| 544 | return XFRAME (frame)->selected_window = window; | ||
| 545 | } | ||
| 546 | |||
| 523 | DEFUN ("frame-list", Fframe_list, Sframe_list, | 547 | DEFUN ("frame-list", Fframe_list, Sframe_list, |
| 524 | 0, 0, 0, | 548 | 0, 0, 0, |
| 525 | "Return a list of all frames.") | 549 | "Return a list of all frames.") |
| @@ -1698,6 +1722,7 @@ For values specific to the separate minibuffer frame, see\n\ | |||
| 1698 | defsubr (&Swindow_frame); | 1722 | defsubr (&Swindow_frame); |
| 1699 | defsubr (&Sframe_root_window); | 1723 | defsubr (&Sframe_root_window); |
| 1700 | defsubr (&Sframe_selected_window); | 1724 | defsubr (&Sframe_selected_window); |
| 1725 | defsubr (&Sset_frame_selected_window); | ||
| 1701 | defsubr (&Sframe_list); | 1726 | defsubr (&Sframe_list); |
| 1702 | defsubr (&Snext_frame); | 1727 | defsubr (&Snext_frame); |
| 1703 | defsubr (&Sprevious_frame); | 1728 | defsubr (&Sprevious_frame); |