comparison src/frame.c @ 40105:bb56bafcdcc7

Change doc-string comments to `new style' [w/`doc:' keyword].
author Pavel Janík <Pavel@Janik.cz>
date Sun, 21 Oct 2001 07:27:56 +0000
parents 579177964efa
children b2ff79e90309
comparison
equal deleted inserted replaced
40104:514c3f3e9ead 40105:bb56bafcdcc7
146 extern Lisp_Object Fhandle_switch_frame (); 146 extern Lisp_Object Fhandle_switch_frame ();
147 extern Lisp_Object Fredirect_frame_focus (); 147 extern Lisp_Object Fredirect_frame_focus ();
148 extern Lisp_Object x_get_focus_frame (); 148 extern Lisp_Object x_get_focus_frame ();
149 149
150 DEFUN ("framep", Fframep, Sframep, 1, 1, 0, 150 DEFUN ("framep", Fframep, Sframep, 1, 1, 0,
151 "Return non-nil if OBJECT is a frame.\n\ 151 doc: /* Return non-nil if OBJECT is a frame.
152 Value is t for a termcap frame (a character-only terminal),\n\ 152 Value is t for a termcap frame (a character-only terminal),
153 `x' for an Emacs frame that is really an X window,\n\ 153 `x' for an Emacs frame that is really an X window,
154 `w32' for an Emacs frame that is a window on MS-Windows display,\n\ 154 `w32' for an Emacs frame that is a window on MS-Windows display,
155 `mac' for an Emacs frame on a Macintosh display,\n\ 155 `mac' for an Emacs frame on a Macintosh display,
156 `pc' for a direct-write MS-DOS frame.\n\ 156 `pc' for a direct-write MS-DOS frame.
157 See also `frame-live-p'.") 157 See also `frame-live-p'. */)
158 (object) 158 (object)
159 Lisp_Object object; 159 Lisp_Object object;
160 { 160 {
161 if (!FRAMEP (object)) 161 if (!FRAMEP (object))
162 return Qnil; 162 return Qnil;
163 switch (XFRAME (object)->output_method) 163 switch (XFRAME (object)->output_method)
176 abort (); 176 abort ();
177 } 177 }
178 } 178 }
179 179
180 DEFUN ("frame-live-p", Fframe_live_p, Sframe_live_p, 1, 1, 0, 180 DEFUN ("frame-live-p", Fframe_live_p, Sframe_live_p, 1, 1, 0,
181 "Return non-nil if OBJECT is a frame which has not been deleted.\n\ 181 doc: /* Return non-nil if OBJECT is a frame which has not been deleted.
182 Value is nil if OBJECT is not a live frame. If object is a live\n\ 182 Value is nil if OBJECT is not a live frame. If object is a live
183 frame, the return value indicates what sort of output device it is\n\ 183 frame, the return value indicates what sort of output device it is
184 displayed on. Value is t for a termcap frame (a character-only\n\ 184 displayed on. Value is t for a termcap frame (a character-only
185 terminal), `x' for an Emacs frame being displayed in an X window.") 185 terminal), `x' for an Emacs frame being displayed in an X window. */)
186 (object) 186 (object)
187 Lisp_Object object; 187 Lisp_Object object;
188 { 188 {
189 return ((FRAMEP (object) 189 return ((FRAMEP (object)
190 && FRAME_LIVE_P (XFRAME (object))) 190 && FRAME_LIVE_P (XFRAME (object)))
191 ? Fframep (object) 191 ? Fframep (object)
496 496
497 return f; 497 return f;
498 } 498 }
499 499
500 DEFUN ("make-terminal-frame", Fmake_terminal_frame, Smake_terminal_frame, 500 DEFUN ("make-terminal-frame", Fmake_terminal_frame, Smake_terminal_frame,
501 1, 1, 0, "Create an additional terminal frame.\n\ 501 1, 1, 0,
502 You can create multiple frames on a text-only terminal in this way.\n\ 502 doc: /* Create an additional terminal frame.
503 Only the selected terminal frame is actually displayed.\n\ 503 You can create multiple frames on a text-only terminal in this way.
504 This function takes one argument, an alist specifying frame parameters.\n\ 504 Only the selected terminal frame is actually displayed.
505 In practice, generally you don't need to specify any parameters.\n\ 505 This function takes one argument, an alist specifying frame parameters.
506 Note that changing the size of one terminal frame automatically affects all.") 506 In practice, generally you don't need to specify any parameters.
507 (parms) 507 Note that changing the size of one terminal frame automatically affects all. */)
508 (parms)
508 Lisp_Object parms; 509 Lisp_Object parms;
509 { 510 {
510 struct frame *f; 511 struct frame *f;
511 Lisp_Object frame, tem; 512 Lisp_Object frame, tem;
512 struct frame *sf = SELECTED_FRAME (); 513 struct frame *sf = SELECTED_FRAME ();
649 650
650 return frame; 651 return frame;
651 } 652 }
652 653
653 DEFUN ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e", 654 DEFUN ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e",
654 "Select the frame FRAME.\n\ 655 doc: /* Select the frame FRAME.
655 Subsequent editing commands apply to its selected window.\n\ 656 Subsequent editing commands apply to its selected window.
656 The selection of FRAME lasts until the next time the user does\n\ 657 The selection of FRAME lasts until the next time the user does
657 something to select a different frame, or until the next time this\n\ 658 something to select a different frame, or until the next time this
658 function is called.") 659 function is called. */)
659 (frame, no_enter) 660 (frame, no_enter)
660 Lisp_Object frame, no_enter; 661 Lisp_Object frame, no_enter;
661 { 662 {
662 return do_switch_frame (frame, 1, 0); 663 return do_switch_frame (frame, 1, 0);
663 } 664 }
664 665
665 666
666 DEFUN ("handle-switch-frame", Fhandle_switch_frame, Shandle_switch_frame, 1, 2, "e", 667 DEFUN ("handle-switch-frame", Fhandle_switch_frame, Shandle_switch_frame, 1, 2, "e",
667 "Handle a switch-frame event EVENT.\n\ 668 doc: /* Handle a switch-frame event EVENT.
668 Switch-frame events are usually bound to this function.\n\ 669 Switch-frame events are usually bound to this function.
669 A switch-frame event tells Emacs that the window manager has requested\n\ 670 A switch-frame event tells Emacs that the window manager has requested
670 that the user's events be directed to the frame mentioned in the event.\n\ 671 that the user's events be directed to the frame mentioned in the event.
671 This function selects the selected window of the frame of EVENT.\n\ 672 This function selects the selected window of the frame of EVENT.
672 \n\ 673
673 If EVENT is frame object, handle it as if it were a switch-frame event\n\ 674 If EVENT is frame object, handle it as if it were a switch-frame event
674 to that frame.") 675 to that frame. */)
675 (event, no_enter) 676 (event, no_enter)
676 Lisp_Object event, no_enter; 677 Lisp_Object event, no_enter;
677 { 678 {
678 /* Preserve prefix arg that the command loop just cleared. */ 679 /* Preserve prefix arg that the command loop just cleared. */
679 current_kboard->Vprefix_arg = Vcurrent_prefix_arg; 680 current_kboard->Vprefix_arg = Vcurrent_prefix_arg;
680 call1 (Vrun_hooks, Qmouse_leave_buffer_hook); 681 call1 (Vrun_hooks, Qmouse_leave_buffer_hook);
681 return do_switch_frame (event, 0, 0); 682 return do_switch_frame (event, 0, 0);
682 } 683 }
683 684
684 DEFUN ("ignore-event", Fignore_event, Signore_event, 0, 0, "", 685 DEFUN ("ignore-event", Fignore_event, Signore_event, 0, 0, "",
685 "Do nothing, but preserve any prefix argument already specified.\n\ 686 doc: /* Do nothing, but preserve any prefix argument already specified.
686 This is a suitable binding for iconify-frame and make-frame-visible.") 687 This is a suitable binding for iconify-frame and make-frame-visible. */)
687 () 688 ()
688 { 689 {
689 current_kboard->Vprefix_arg = Vcurrent_prefix_arg; 690 current_kboard->Vprefix_arg = Vcurrent_prefix_arg;
690 return Qnil; 691 return Qnil;
691 } 692 }
692 693
693 DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0, 694 DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0,
694 "Return the frame that is now selected.") 695 doc: /* Return the frame that is now selected. */)
695 () 696 ()
696 { 697 {
697 return selected_frame; 698 return selected_frame;
698 } 699 }
699 700
700 DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0, 701 DEFUN ("window-frame", Fwindow_frame, Swindow_frame, 1, 1, 0,
701 "Return the frame object that window WINDOW is on.") 702 doc: /* Return the frame object that window WINDOW is on. */)
702 (window) 703 (window)
703 Lisp_Object window; 704 Lisp_Object window;
704 { 705 {
705 CHECK_LIVE_WINDOW (window, 0); 706 CHECK_LIVE_WINDOW (window, 0);
706 return XWINDOW (window)->frame; 707 return XWINDOW (window)->frame;
707 } 708 }
708 709
709 DEFUN ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0, 710 DEFUN ("frame-first-window", Fframe_first_window, Sframe_first_window, 0, 1, 0,
710 "Returns the topmost, leftmost window of FRAME.\n\ 711 doc: /* Returns the topmost, leftmost window of FRAME.
711 If omitted, FRAME defaults to the currently selected frame.") 712 If omitted, FRAME defaults to the currently selected frame. */)
712 (frame) 713 (frame)
713 Lisp_Object frame; 714 Lisp_Object frame;
714 { 715 {
715 Lisp_Object w; 716 Lisp_Object w;
716 717
717 if (NILP (frame)) 718 if (NILP (frame))
733 return w; 734 return w;
734 } 735 }
735 736
736 DEFUN ("active-minibuffer-window", Factive_minibuffer_window, 737 DEFUN ("active-minibuffer-window", Factive_minibuffer_window,
737 Sactive_minibuffer_window, 0, 0, 0, 738 Sactive_minibuffer_window, 0, 0, 0,
738 "Return the currently active minibuffer window, or nil if none.") 739 doc: /* Return the currently active minibuffer window, or nil if none. */)
739 () 740 ()
740 { 741 {
741 return minibuf_level ? minibuf_window : Qnil; 742 return minibuf_level ? minibuf_window : Qnil;
742 } 743 }
743 744
744 DEFUN ("frame-root-window", Fframe_root_window, Sframe_root_window, 0, 1, 0, 745 DEFUN ("frame-root-window", Fframe_root_window, Sframe_root_window, 0, 1, 0,
745 "Returns the root-window of FRAME.\n\ 746 doc: /* Returns the root-window of FRAME.
746 If omitted, FRAME defaults to the currently selected frame.") 747 If omitted, FRAME defaults to the currently selected frame. */)
747 (frame) 748 (frame)
748 Lisp_Object frame; 749 Lisp_Object frame;
749 { 750 {
750 Lisp_Object window; 751 Lisp_Object window;
751 752
752 if (NILP (frame)) 753 if (NILP (frame))
760 return window; 761 return window;
761 } 762 }
762 763
763 DEFUN ("frame-selected-window", Fframe_selected_window, 764 DEFUN ("frame-selected-window", Fframe_selected_window,
764 Sframe_selected_window, 0, 1, 0, 765 Sframe_selected_window, 0, 1, 0,
765 "Return the selected window of frame object FRAME.\n\ 766 doc: /* Return the selected window of frame object FRAME.
766 If omitted, FRAME defaults to the currently selected frame.") 767 If omitted, FRAME defaults to the currently selected frame. */)
767 (frame) 768 (frame)
768 Lisp_Object frame; 769 Lisp_Object frame;
769 { 770 {
770 Lisp_Object window; 771 Lisp_Object window;
771 772
772 if (NILP (frame)) 773 if (NILP (frame))
780 return window; 781 return window;
781 } 782 }
782 783
783 DEFUN ("set-frame-selected-window", Fset_frame_selected_window, 784 DEFUN ("set-frame-selected-window", Fset_frame_selected_window,
784 Sset_frame_selected_window, 2, 2, 0, 785 Sset_frame_selected_window, 2, 2, 0,
785 "Set the selected window of frame object FRAME to WINDOW.\n\ 786 doc: /* Set the selected window of frame object FRAME to WINDOW.
786 If FRAME is nil, the selected frame is used.\n\ 787 If FRAME is nil, the selected frame is used.
787 If FRAME is the selected frame, this makes WINDOW the selected window.") 788 If FRAME is the selected frame, this makes WINDOW the selected window. */)
788 (frame, window) 789 (frame, window)
789 Lisp_Object frame, window; 790 Lisp_Object frame, window;
790 { 791 {
791 if (NILP (frame)) 792 if (NILP (frame))
792 frame = selected_frame; 793 frame = selected_frame;
793 794
803 return XFRAME (frame)->selected_window = window; 804 return XFRAME (frame)->selected_window = window;
804 } 805 }
805 806
806 DEFUN ("frame-list", Fframe_list, Sframe_list, 807 DEFUN ("frame-list", Fframe_list, Sframe_list,
807 0, 0, 0, 808 0, 0, 0,
808 "Return a list of all frames.") 809 doc: /* Return a list of all frames. */)
809 () 810 ()
810 { 811 {
811 Lisp_Object frames; 812 Lisp_Object frames;
812 frames = Fcopy_sequence (Vframe_list); 813 frames = Fcopy_sequence (Vframe_list);
813 #ifdef HAVE_WINDOW_SYSTEM 814 #ifdef HAVE_WINDOW_SYSTEM
814 if (FRAMEP (tip_frame)) 815 if (FRAMEP (tip_frame))
973 return prev; 974 return prev;
974 } 975 }
975 976
976 977
977 DEFUN ("next-frame", Fnext_frame, Snext_frame, 0, 2, 0, 978 DEFUN ("next-frame", Fnext_frame, Snext_frame, 0, 2, 0,
978 "Return the next frame in the frame list after FRAME.\n\ 979 doc: /* Return the next frame in the frame list after FRAME.
979 It considers only frames on the same terminal as FRAME.\n\ 980 It considers only frames on the same terminal as FRAME.
980 By default, skip minibuffer-only frames.\n\ 981 By default, skip minibuffer-only frames.
981 If omitted, FRAME defaults to the selected frame.\n\ 982 If omitted, FRAME defaults to the selected frame.
982 If optional argument MINIFRAME is nil, exclude minibuffer-only frames.\n\ 983 If optional argument MINIFRAME is nil, exclude minibuffer-only frames.
983 If MINIFRAME is a window, include only its own frame\n\ 984 If MINIFRAME is a window, include only its own frame
984 and any frame now using that window as the minibuffer.\n\ 985 and any frame now using that window as the minibuffer.
985 If MINIFRAME is `visible', include all visible frames.\n\ 986 If MINIFRAME is `visible', include all visible frames.
986 If MINIFRAME is 0, include all visible and iconified frames.\n\ 987 If MINIFRAME is 0, include all visible and iconified frames.
987 Otherwise, include all frames.") 988 Otherwise, include all frames. */)
988 (frame, miniframe) 989 (frame, miniframe)
989 Lisp_Object frame, miniframe; 990 Lisp_Object frame, miniframe;
990 { 991 {
991 if (NILP (frame)) 992 if (NILP (frame))
992 frame = selected_frame; 993 frame = selected_frame;
993 994
994 CHECK_LIVE_FRAME (frame, 0); 995 CHECK_LIVE_FRAME (frame, 0);
995 return next_frame (frame, miniframe); 996 return next_frame (frame, miniframe);
996 } 997 }
997 998
998 DEFUN ("previous-frame", Fprevious_frame, Sprevious_frame, 0, 2, 0, 999 DEFUN ("previous-frame", Fprevious_frame, Sprevious_frame, 0, 2, 0,
999 "Return the previous frame in the frame list before FRAME.\n\ 1000 doc: /* Return the previous frame in the frame list before FRAME.
1000 It considers only frames on the same terminal as FRAME.\n\ 1001 It considers only frames on the same terminal as FRAME.
1001 By default, skip minibuffer-only frames.\n\ 1002 By default, skip minibuffer-only frames.
1002 If omitted, FRAME defaults to the selected frame.\n\ 1003 If omitted, FRAME defaults to the selected frame.
1003 If optional argument MINIFRAME is nil, exclude minibuffer-only frames.\n\ 1004 If optional argument MINIFRAME is nil, exclude minibuffer-only frames.
1004 If MINIFRAME is a window, include only its own frame\n\ 1005 If MINIFRAME is a window, include only its own frame
1005 and any frame now using that window as the minibuffer.\n\ 1006 and any frame now using that window as the minibuffer.
1006 If MINIFRAME is `visible', include all visible frames.\n\ 1007 If MINIFRAME is `visible', include all visible frames.
1007 If MINIFRAME is 0, include all visible and iconified frames.\n\ 1008 If MINIFRAME is 0, include all visible and iconified frames.
1008 Otherwise, include all frames.") 1009 Otherwise, include all frames. */)
1009 (frame, miniframe) 1010 (frame, miniframe)
1010 Lisp_Object frame, miniframe; 1011 Lisp_Object frame, miniframe;
1011 { 1012 {
1012 if (NILP (frame)) 1013 if (NILP (frame))
1013 frame = selected_frame; 1014 frame = selected_frame;
1014 CHECK_LIVE_FRAME (frame, 0); 1015 CHECK_LIVE_FRAME (frame, 0);
1059 } 1060 }
1060 return 1; 1061 return 1;
1061 } 1062 }
1062 1063
1063 DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 2, "", 1064 DEFUN ("delete-frame", Fdelete_frame, Sdelete_frame, 0, 2, "",
1064 "Delete FRAME, permanently eliminating it from use.\n\ 1065 doc: /* Delete FRAME, permanently eliminating it from use.
1065 If omitted, FRAME defaults to the selected frame.\n\ 1066 If omitted, FRAME defaults to the selected frame.
1066 A frame may not be deleted if its minibuffer is used by other frames.\n\ 1067 A frame may not be deleted if its minibuffer is used by other frames.
1067 Normally, you may not delete a frame if all other frames are invisible,\n\ 1068 Normally, you may not delete a frame if all other frames are invisible,
1068 but if the second optional argument FORCE is non-nil, you may do so.\n\ 1069 but if the second optional argument FORCE is non-nil, you may do so.
1069 \n\ 1070
1070 This function runs `delete-frame-hook' before actually deleting the\n\ 1071 This function runs `delete-frame-hook' before actually deleting the
1071 frame. The hook is called with one argument FRAME.") 1072 frame. The hook is called with one argument FRAME. */)
1072 (frame, force) 1073 (frame, force)
1073 Lisp_Object frame, force; 1074 Lisp_Object frame, force;
1074 { 1075 {
1075 struct frame *f; 1076 struct frame *f;
1076 struct frame *sf = SELECTED_FRAME (); 1077 struct frame *sf = SELECTED_FRAME ();
1077 int minibuffer_selected; 1078 int minibuffer_selected;
1311 } 1312 }
1312 1313
1313 /* Return mouse position in character cell units. */ 1314 /* Return mouse position in character cell units. */
1314 1315
1315 DEFUN ("mouse-position", Fmouse_position, Smouse_position, 0, 0, 0, 1316 DEFUN ("mouse-position", Fmouse_position, Smouse_position, 0, 0, 0,
1316 "Return a list (FRAME X . Y) giving the current mouse frame and position.\n\ 1317 doc: /* Return a list (FRAME X . Y) giving the current mouse frame and position.
1317 The position is given in character cells, where (0, 0) is the\n\ 1318 The position is given in character cells, where (0, 0) is the
1318 upper-left corner.\n\ 1319 upper-left corner.
1319 If Emacs is running on a mouseless terminal or hasn't been programmed\n\ 1320 If Emacs is running on a mouseless terminal or hasn't been programmed
1320 to read the mouse position, it returns the selected frame for FRAME\n\ 1321 to read the mouse position, it returns the selected frame for FRAME
1321 and nil for X and Y.\n\ 1322 and nil for X and Y.
1322 If `mouse-position-function' is non-nil, `mouse-position' calls it,\n\ 1323 If `mouse-position-function' is non-nil, `mouse-position' calls it,
1323 passing the normal return value to that function as an argument,\n\ 1324 passing the normal return value to that function as an argument,
1324 and returns whatever that function returns.") 1325 and returns whatever that function returns. */)
1325 () 1326 ()
1326 { 1327 {
1327 FRAME_PTR f; 1328 FRAME_PTR f;
1328 Lisp_Object lispy_dummy; 1329 Lisp_Object lispy_dummy;
1329 enum scroll_bar_part party_dummy; 1330 enum scroll_bar_part party_dummy;
1330 Lisp_Object x, y, retval; 1331 Lisp_Object x, y, retval;
1359 RETURN_UNGCPRO (retval); 1360 RETURN_UNGCPRO (retval);
1360 } 1361 }
1361 1362
1362 DEFUN ("mouse-pixel-position", Fmouse_pixel_position, 1363 DEFUN ("mouse-pixel-position", Fmouse_pixel_position,
1363 Smouse_pixel_position, 0, 0, 0, 1364 Smouse_pixel_position, 0, 0, 0,
1364 "Return a list (FRAME X . Y) giving the current mouse frame and position.\n\ 1365 doc: /* Return a list (FRAME X . Y) giving the current mouse frame and position.
1365 The position is given in pixel units, where (0, 0) is the\n\ 1366 The position is given in pixel units, where (0, 0) is the
1366 upper-left corner.\n\ 1367 upper-left corner.
1367 If Emacs is running on a mouseless terminal or hasn't been programmed\n\ 1368 If Emacs is running on a mouseless terminal or hasn't been programmed
1368 to read the mouse position, it returns the selected frame for FRAME\n\ 1369 to read the mouse position, it returns the selected frame for FRAME
1369 and nil for X and Y.") 1370 and nil for X and Y. */)
1370 () 1371 ()
1371 { 1372 {
1372 FRAME_PTR f; 1373 FRAME_PTR f;
1373 Lisp_Object lispy_dummy; 1374 Lisp_Object lispy_dummy;
1374 enum scroll_bar_part party_dummy; 1375 enum scroll_bar_part party_dummy;
1375 Lisp_Object x, y; 1376 Lisp_Object x, y;
1389 XSETFRAME (lispy_dummy, f); 1390 XSETFRAME (lispy_dummy, f);
1390 return Fcons (lispy_dummy, Fcons (x, y)); 1391 return Fcons (lispy_dummy, Fcons (x, y));
1391 } 1392 }
1392 1393
1393 DEFUN ("set-mouse-position", Fset_mouse_position, Sset_mouse_position, 3, 3, 0, 1394 DEFUN ("set-mouse-position", Fset_mouse_position, Sset_mouse_position, 3, 3, 0,
1394 "Move the mouse pointer to the center of character cell (X,Y) in FRAME.\n\ 1395 doc: /* Move the mouse pointer to the center of character cell (X,Y) in FRAME.
1395 Coordinates are relative to the frame, not a window,\n\ 1396 Coordinates are relative to the frame, not a window,
1396 so the coordinates of the top left character in the frame\n\ 1397 so the coordinates of the top left character in the frame
1397 may be nonzero due to left-hand scroll bars or the menu bar.\n\ 1398 may be nonzero due to left-hand scroll bars or the menu bar.
1398 \n\ 1399
1399 This function is a no-op for an X frame that is not visible.\n\ 1400 This function is a no-op for an X frame that is not visible.
1400 If you have just created a frame, you must wait for it to become visible\n\ 1401 If you have just created a frame, you must wait for it to become visible
1401 before calling this function on it, like this.\n\ 1402 before calling this function on it, like this.
1402 (while (not (frame-visible-p frame)) (sleep-for .5))") 1403 (while (not (frame-visible-p frame)) (sleep-for .5)) */)
1403 (frame, x, y) 1404 (frame, x, y)
1404 Lisp_Object frame, x, y; 1405 Lisp_Object frame, x, y;
1405 { 1406 {
1406 CHECK_LIVE_FRAME (frame, 0); 1407 CHECK_LIVE_FRAME (frame, 0);
1407 CHECK_NUMBER (x, 2); 1408 CHECK_NUMBER (x, 2);
1425 return Qnil; 1426 return Qnil;
1426 } 1427 }
1427 1428
1428 DEFUN ("set-mouse-pixel-position", Fset_mouse_pixel_position, 1429 DEFUN ("set-mouse-pixel-position", Fset_mouse_pixel_position,
1429 Sset_mouse_pixel_position, 3, 3, 0, 1430 Sset_mouse_pixel_position, 3, 3, 0,
1430 "Move the mouse pointer to pixel position (X,Y) in FRAME.\n\ 1431 doc: /* Move the mouse pointer to pixel position (X,Y) in FRAME.
1431 Note, this is a no-op for an X frame that is not visible.\n\ 1432 Note, this is a no-op for an X frame that is not visible.
1432 If you have just created a frame, you must wait for it to become visible\n\ 1433 If you have just created a frame, you must wait for it to become visible
1433 before calling this function on it, like this.\n\ 1434 before calling this function on it, like this.
1434 (while (not (frame-visible-p frame)) (sleep-for .5))") 1435 (while (not (frame-visible-p frame)) (sleep-for .5)) */)
1435 (frame, x, y) 1436 (frame, x, y)
1436 Lisp_Object frame, x, y; 1437 Lisp_Object frame, x, y;
1437 { 1438 {
1438 CHECK_LIVE_FRAME (frame, 0); 1439 CHECK_LIVE_FRAME (frame, 0);
1439 CHECK_NUMBER (x, 2); 1440 CHECK_NUMBER (x, 2);
1459 1460
1460 static void make_frame_visible_1 P_ ((Lisp_Object)); 1461 static void make_frame_visible_1 P_ ((Lisp_Object));
1461 1462
1462 DEFUN ("make-frame-visible", Fmake_frame_visible, Smake_frame_visible, 1463 DEFUN ("make-frame-visible", Fmake_frame_visible, Smake_frame_visible,
1463 0, 1, "", 1464 0, 1, "",
1464 "Make the frame FRAME visible (assuming it is an X window).\n\ 1465 doc: /* Make the frame FRAME visible (assuming it is an X window).
1465 If omitted, FRAME defaults to the currently selected frame.") 1466 If omitted, FRAME defaults to the currently selected frame. */)
1466 (frame) 1467 (frame)
1467 Lisp_Object frame; 1468 Lisp_Object frame;
1468 { 1469 {
1469 if (NILP (frame)) 1470 if (NILP (frame))
1470 frame = selected_frame; 1471 frame = selected_frame;
1471 1472
1511 } 1512 }
1512 } 1513 }
1513 1514
1514 DEFUN ("make-frame-invisible", Fmake_frame_invisible, Smake_frame_invisible, 1515 DEFUN ("make-frame-invisible", Fmake_frame_invisible, Smake_frame_invisible,
1515 0, 2, "", 1516 0, 2, "",
1516 "Make the frame FRAME invisible (assuming it is an X window).\n\ 1517 doc: /* Make the frame FRAME invisible (assuming it is an X window).
1517 If omitted, FRAME defaults to the currently selected frame.\n\ 1518 If omitted, FRAME defaults to the currently selected frame.
1518 Normally you may not make FRAME invisible if all other frames are invisible,\n\ 1519 Normally you may not make FRAME invisible if all other frames are invisible,
1519 but if the second optional argument FORCE is non-nil, you may do so.") 1520 but if the second optional argument FORCE is non-nil, you may do so. */)
1520 (frame, force) 1521 (frame, force)
1521 Lisp_Object frame, force; 1522 Lisp_Object frame, force;
1522 { 1523 {
1523 if (NILP (frame)) 1524 if (NILP (frame))
1524 frame = selected_frame; 1525 frame = selected_frame;
1555 return Qnil; 1556 return Qnil;
1556 } 1557 }
1557 1558
1558 DEFUN ("iconify-frame", Ficonify_frame, Siconify_frame, 1559 DEFUN ("iconify-frame", Ficonify_frame, Siconify_frame,
1559 0, 1, "", 1560 0, 1, "",
1560 "Make the frame FRAME into an icon.\n\ 1561 doc: /* Make the frame FRAME into an icon.
1561 If omitted, FRAME defaults to the currently selected frame.") 1562 If omitted, FRAME defaults to the currently selected frame. */)
1562 (frame) 1563 (frame)
1563 Lisp_Object frame; 1564 Lisp_Object frame;
1564 { 1565 {
1565 if (NILP (frame)) 1566 if (NILP (frame))
1566 frame = selected_frame; 1567 frame = selected_frame;
1594 return Qnil; 1595 return Qnil;
1595 } 1596 }
1596 1597
1597 DEFUN ("frame-visible-p", Fframe_visible_p, Sframe_visible_p, 1598 DEFUN ("frame-visible-p", Fframe_visible_p, Sframe_visible_p,
1598 1, 1, 0, 1599 1, 1, 0,
1599 "Return t if FRAME is now \"visible\" (actually in use for display).\n\ 1600 doc: /* Return t if FRAME is now \"visible\" (actually in use for display).
1600 A frame that is not \"visible\" is not updated and, if it works through\n\ 1601 A frame that is not \"visible\" is not updated and, if it works through
1601 a window system, it may not show at all.\n\ 1602 a window system, it may not show at all.
1602 Return the symbol `icon' if frame is visible only as an icon.") 1603 Return the symbol `icon' if frame is visible only as an icon. */)
1603 (frame) 1604 (frame)
1604 Lisp_Object frame; 1605 Lisp_Object frame;
1605 { 1606 {
1606 CHECK_LIVE_FRAME (frame, 0); 1607 CHECK_LIVE_FRAME (frame, 0);
1607 1608
1608 FRAME_SAMPLE_VISIBILITY (XFRAME (frame)); 1609 FRAME_SAMPLE_VISIBILITY (XFRAME (frame));
1614 return Qnil; 1615 return Qnil;
1615 } 1616 }
1616 1617
1617 DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list, 1618 DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list,
1618 0, 0, 0, 1619 0, 0, 0,
1619 "Return a list of all frames now \"visible\" (being updated).") 1620 doc: /* Return a list of all frames now \"visible\" (being updated). */)
1620 () 1621 ()
1621 { 1622 {
1622 Lisp_Object tail, frame; 1623 Lisp_Object tail, frame;
1623 struct frame *f; 1624 struct frame *f;
1624 Lisp_Object value; 1625 Lisp_Object value;
1636 return value; 1637 return value;
1637 } 1638 }
1638 1639
1639 1640
1640 DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "", 1641 DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "",
1641 "Bring FRAME to the front, so it occludes any frames it overlaps.\n\ 1642 doc: /* Bring FRAME to the front, so it occludes any frames it overlaps.
1642 If FRAME is invisible, make it visible.\n\ 1643 If FRAME is invisible, make it visible.
1643 If you don't specify a frame, the selected frame is used.\n\ 1644 If you don't specify a frame, the selected frame is used.
1644 If Emacs is displaying on an ordinary terminal or some other device which\n\ 1645 If Emacs is displaying on an ordinary terminal or some other device which
1645 doesn't support multiple overlapping frames, this function does nothing.") 1646 doesn't support multiple overlapping frames, this function does nothing. */)
1646 (frame) 1647 (frame)
1647 Lisp_Object frame; 1648 Lisp_Object frame;
1648 { 1649 {
1649 if (NILP (frame)) 1650 if (NILP (frame))
1650 frame = selected_frame; 1651 frame = selected_frame;
1651 1652
1660 return Qnil; 1661 return Qnil;
1661 } 1662 }
1662 1663
1663 /* Should we have a corresponding function called Flower_Power? */ 1664 /* Should we have a corresponding function called Flower_Power? */
1664 DEFUN ("lower-frame", Flower_frame, Slower_frame, 0, 1, "", 1665 DEFUN ("lower-frame", Flower_frame, Slower_frame, 0, 1, "",
1665 "Send FRAME to the back, so it is occluded by any frames that overlap it.\n\ 1666 doc: /* Send FRAME to the back, so it is occluded by any frames that overlap it.
1666 If you don't specify a frame, the selected frame is used.\n\ 1667 If you don't specify a frame, the selected frame is used.
1667 If Emacs is displaying on an ordinary terminal or some other device which\n\ 1668 If Emacs is displaying on an ordinary terminal or some other device which
1668 doesn't support multiple overlapping frames, this function does nothing.") 1669 doesn't support multiple overlapping frames, this function does nothing. */)
1669 (frame) 1670 (frame)
1670 Lisp_Object frame; 1671 Lisp_Object frame;
1671 { 1672 {
1672 if (NILP (frame)) 1673 if (NILP (frame))
1673 frame = selected_frame; 1674 frame = selected_frame;
1674 1675
1681 } 1682 }
1682 1683
1683 1684
1684 DEFUN ("redirect-frame-focus", Fredirect_frame_focus, Sredirect_frame_focus, 1685 DEFUN ("redirect-frame-focus", Fredirect_frame_focus, Sredirect_frame_focus,
1685 1, 2, 0, 1686 1, 2, 0,
1686 "Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME.\n\ 1687 doc: /* Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME.
1687 In other words, switch-frame events caused by events in FRAME will\n\ 1688 In other words, switch-frame events caused by events in FRAME will
1688 request a switch to FOCUS-FRAME, and `last-event-frame' will be\n\ 1689 request a switch to FOCUS-FRAME, and `last-event-frame' will be
1689 FOCUS-FRAME after reading an event typed at FRAME.\n\ 1690 FOCUS-FRAME after reading an event typed at FRAME.
1690 \n\ 1691
1691 If FOCUS-FRAME is omitted or nil, any existing redirection is\n\ 1692 If FOCUS-FRAME is omitted or nil, any existing redirection is
1692 cancelled, and the frame again receives its own keystrokes.\n\ 1693 cancelled, and the frame again receives its own keystrokes.
1693 \n\ 1694
1694 Focus redirection is useful for temporarily redirecting keystrokes to\n\ 1695 Focus redirection is useful for temporarily redirecting keystrokes to
1695 a surrogate minibuffer frame when a frame doesn't have its own\n\ 1696 a surrogate minibuffer frame when a frame doesn't have its own
1696 minibuffer window.\n\ 1697 minibuffer window.
1697 \n\ 1698
1698 A frame's focus redirection can be changed by select-frame. If frame\n\ 1699 A frame's focus redirection can be changed by select-frame. If frame
1699 FOO is selected, and then a different frame BAR is selected, any\n\ 1700 FOO is selected, and then a different frame BAR is selected, any
1700 frames redirecting their focus to FOO are shifted to redirect their\n\ 1701 frames redirecting their focus to FOO are shifted to redirect their
1701 focus to BAR. This allows focus redirection to work properly when the\n\ 1702 focus to BAR. This allows focus redirection to work properly when the
1702 user switches from one frame to another using `select-window'.\n\ 1703 user switches from one frame to another using `select-window'.
1703 \n\ 1704
1704 This means that a frame whose focus is redirected to itself is treated\n\ 1705 This means that a frame whose focus is redirected to itself is treated
1705 differently from a frame whose focus is redirected to nil; the former\n\ 1706 differently from a frame whose focus is redirected to nil; the former
1706 is affected by select-frame, while the latter is not.\n\ 1707 is affected by select-frame, while the latter is not.
1707 \n\ 1708
1708 The redirection lasts until `redirect-frame-focus' is called to change it.") 1709 The redirection lasts until `redirect-frame-focus' is called to change it. */)
1709 (frame, focus_frame) 1710 (frame, focus_frame)
1710 Lisp_Object frame, focus_frame; 1711 Lisp_Object frame, focus_frame;
1711 { 1712 {
1712 /* Note that we don't check for a live frame here. It's reasonable 1713 /* Note that we don't check for a live frame here. It's reasonable
1713 to redirect the focus of a frame you're about to delete, if you 1714 to redirect the focus of a frame you're about to delete, if you
1714 know what other frame should receive those keystrokes. */ 1715 know what other frame should receive those keystrokes. */
1715 CHECK_FRAME (frame, 0); 1716 CHECK_FRAME (frame, 0);
1725 return Qnil; 1726 return Qnil;
1726 } 1727 }
1727 1728
1728 1729
1729 DEFUN ("frame-focus", Fframe_focus, Sframe_focus, 1, 1, 0, 1730 DEFUN ("frame-focus", Fframe_focus, Sframe_focus, 1, 1, 0,
1730 "Return the frame to which FRAME's keystrokes are currently being sent.\n\ 1731 doc: /* Return the frame to which FRAME's keystrokes are currently being sent.
1731 This returns nil if FRAME's focus is not redirected.\n\ 1732 This returns nil if FRAME's focus is not redirected.
1732 See `redirect-frame-focus'.") 1733 See `redirect-frame-focus'. */)
1733 (frame) 1734 (frame)
1734 Lisp_Object frame; 1735 Lisp_Object frame;
1735 { 1736 {
1736 CHECK_LIVE_FRAME (frame, 0); 1737 CHECK_LIVE_FRAME (frame, 0);
1737 1738
1738 return FRAME_FOCUS_FRAME (XFRAME (frame)); 1739 return FRAME_FOCUS_FRAME (XFRAME (frame));
1739 } 1740 }
1958 f->minibuffer_window = val; 1959 f->minibuffer_window = val;
1959 } 1960 }
1960 } 1961 }
1961 1962
1962 DEFUN ("frame-parameters", Fframe_parameters, Sframe_parameters, 0, 1, 0, 1963 DEFUN ("frame-parameters", Fframe_parameters, Sframe_parameters, 0, 1, 0,
1963 "Return the parameters-alist of frame FRAME.\n\ 1964 doc: /* Return the parameters-alist of frame FRAME.
1964 It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.\n\ 1965 It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.
1965 The meaningful PARMs depend on the kind of frame.\n\ 1966 The meaningful PARMs depend on the kind of frame.
1966 If FRAME is omitted, return information on the currently selected frame.") 1967 If FRAME is omitted, return information on the currently selected frame. */)
1967 (frame) 1968 (frame)
1968 Lisp_Object frame; 1969 Lisp_Object frame;
1969 { 1970 {
1970 Lisp_Object alist; 1971 Lisp_Object alist;
1971 FRAME_PTR f; 1972 FRAME_PTR f;
1972 int height, width; 1973 int height, width;
2057 return alist; 2058 return alist;
2058 } 2059 }
2059 2060
2060 2061
2061 DEFUN ("frame-parameter", Fframe_parameter, Sframe_parameter, 2, 2, 0, 2062 DEFUN ("frame-parameter", Fframe_parameter, Sframe_parameter, 2, 2, 0,
2062 "Return FRAME's value for parameter PARAMETER.\n\ 2063 doc: /* Return FRAME's value for parameter PARAMETER.
2063 If FRAME is nil, describe the currently selected frame.") 2064 If FRAME is nil, describe the currently selected frame. */)
2064 (frame, parameter) 2065 (frame, parameter)
2065 Lisp_Object frame, parameter; 2066 Lisp_Object frame, parameter;
2066 { 2067 {
2067 struct frame *f; 2068 struct frame *f;
2068 Lisp_Object value; 2069 Lisp_Object value;
2069 2070
2070 if (NILP (frame)) 2071 if (NILP (frame))
2132 } 2133 }
2133 2134
2134 2135
2135 DEFUN ("modify-frame-parameters", Fmodify_frame_parameters, 2136 DEFUN ("modify-frame-parameters", Fmodify_frame_parameters,
2136 Smodify_frame_parameters, 2, 2, 0, 2137 Smodify_frame_parameters, 2, 2, 0,
2137 "Modify the parameters of frame FRAME according to ALIST.\n\ 2138 doc: /* Modify the parameters of frame FRAME according to ALIST.
2138 If FRAME is nil, it defaults to the selected frame.\n\ 2139 If FRAME is nil, it defaults to the selected frame.
2139 ALIST is an alist of parameters to change and their new values.\n\ 2140 ALIST is an alist of parameters to change and their new values.
2140 Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol.\n\ 2141 Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol.
2141 The meaningful PARMs depend on the kind of frame.\n\ 2142 The meaningful PARMs depend on the kind of frame.
2142 Undefined PARMs are ignored, but stored in the frame's parameter list\n\ 2143 Undefined PARMs are ignored, but stored in the frame's parameter list
2143 so that `frame-parameters' will return them.\n\ 2144 so that `frame-parameters' will return them.
2144 \n\ 2145
2145 The value of frame parameter FOO can also be accessed\n\ 2146 The value of frame parameter FOO can also be accessed
2146 as a frame-local binding for the variable FOO, if you have\n\ 2147 as a frame-local binding for the variable FOO, if you have
2147 enabled such bindings for that variable with `make-variable-frame-local'.") 2148 enabled such bindings for that variable with `make-variable-frame-local'. */)
2148 (frame, alist) 2149 (frame, alist)
2149 Lisp_Object frame, alist; 2150 Lisp_Object frame, alist;
2150 { 2151 {
2151 FRAME_PTR f; 2152 FRAME_PTR f;
2152 register Lisp_Object tail, prop, val; 2153 register Lisp_Object tail, prop, val;
2153 int count = BINDING_STACK_SIZE (); 2154 int count = BINDING_STACK_SIZE ();
2209 2210
2210 return unbind_to (count, Qnil); 2211 return unbind_to (count, Qnil);
2211 } 2212 }
2212 2213
2213 DEFUN ("frame-char-height", Fframe_char_height, Sframe_char_height, 2214 DEFUN ("frame-char-height", Fframe_char_height, Sframe_char_height,
2214 0, 1, 0, 2215 0, 1, 0,
2215 "Height in pixels of a line in the font in frame FRAME.\n\ 2216 doc: /* Height in pixels of a line in the font in frame FRAME.
2216 If FRAME is omitted, the selected frame is used.\n\ 2217 If FRAME is omitted, the selected frame is used.
2217 For a terminal frame, the value is always 1.") 2218 For a terminal frame, the value is always 1. */)
2218 (frame) 2219 (frame)
2219 Lisp_Object frame; 2220 Lisp_Object frame;
2220 { 2221 {
2221 struct frame *f; 2222 struct frame *f;
2222 2223
2233 return make_number (1); 2234 return make_number (1);
2234 } 2235 }
2235 2236
2236 2237
2237 DEFUN ("frame-char-width", Fframe_char_width, Sframe_char_width, 2238 DEFUN ("frame-char-width", Fframe_char_width, Sframe_char_width,
2238 0, 1, 0, 2239 0, 1, 0,
2239 "Width in pixels of characters in the font in frame FRAME.\n\ 2240 doc: /* Width in pixels of characters in the font in frame FRAME.
2240 If FRAME is omitted, the selected frame is used.\n\ 2241 If FRAME is omitted, the selected frame is used.
2241 The width is the same for all characters, because\n\ 2242 The width is the same for all characters, because
2242 currently Emacs supports only fixed-width fonts.\n\ 2243 currently Emacs supports only fixed-width fonts.
2243 For a terminal screen, the value is always 1.") 2244 For a terminal screen, the value is always 1. */)
2244 (frame) 2245 (frame)
2245 Lisp_Object frame; 2246 Lisp_Object frame;
2246 { 2247 {
2247 struct frame *f; 2248 struct frame *f;
2248 2249
2249 if (NILP (frame)) 2250 if (NILP (frame))
2259 return make_number (1); 2260 return make_number (1);
2260 } 2261 }
2261 2262
2262 DEFUN ("frame-pixel-height", Fframe_pixel_height, 2263 DEFUN ("frame-pixel-height", Fframe_pixel_height,
2263 Sframe_pixel_height, 0, 1, 0, 2264 Sframe_pixel_height, 0, 1, 0,
2264 "Return a FRAME's height in pixels.\n\ 2265 doc: /* Return a FRAME's height in pixels.
2265 This counts only the height available for text lines,\n\ 2266 This counts only the height available for text lines,
2266 not menu bars on window-system Emacs frames.\n\ 2267 not menu bars on window-system Emacs frames.
2267 For a terminal frame, the result really gives the height in characters.\n\ 2268 For a terminal frame, the result really gives the height in characters.
2268 If FRAME is omitted, the selected frame is used.") 2269 If FRAME is omitted, the selected frame is used. */)
2269 (frame) 2270 (frame)
2270 Lisp_Object frame; 2271 Lisp_Object frame;
2271 { 2272 {
2272 struct frame *f; 2273 struct frame *f;
2273 2274
2274 if (NILP (frame)) 2275 if (NILP (frame))
2284 return make_number (FRAME_HEIGHT (f)); 2285 return make_number (FRAME_HEIGHT (f));
2285 } 2286 }
2286 2287
2287 DEFUN ("frame-pixel-width", Fframe_pixel_width, 2288 DEFUN ("frame-pixel-width", Fframe_pixel_width,
2288 Sframe_pixel_width, 0, 1, 0, 2289 Sframe_pixel_width, 0, 1, 0,
2289 "Return FRAME's width in pixels.\n\ 2290 doc: /* Return FRAME's width in pixels.
2290 For a terminal frame, the result really gives the width in characters.\n\ 2291 For a terminal frame, the result really gives the width in characters.
2291 If FRAME is omitted, the selected frame is used.") 2292 If FRAME is omitted, the selected frame is used. */)
2292 (frame) 2293 (frame)
2293 Lisp_Object frame; 2294 Lisp_Object frame;
2294 { 2295 {
2295 struct frame *f; 2296 struct frame *f;
2296 2297
2297 if (NILP (frame)) 2298 if (NILP (frame))
2306 #endif 2307 #endif
2307 return make_number (FRAME_WIDTH (f)); 2308 return make_number (FRAME_WIDTH (f));
2308 } 2309 }
2309 2310
2310 DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0, 2311 DEFUN ("set-frame-height", Fset_frame_height, Sset_frame_height, 2, 3, 0,
2311 "Specify that the frame FRAME has LINES lines.\n\ 2312 doc: /* Specify that the frame FRAME has LINES lines.
2312 Optional third arg non-nil means that redisplay should use LINES lines\n\ 2313 Optional third arg non-nil means that redisplay should use LINES lines
2313 but that the idea of the actual height of the frame should not be changed.") 2314 but that the idea of the actual height of the frame should not be changed. */)
2314 (frame, lines, pretend) 2315 (frame, lines, pretend)
2315 Lisp_Object frame, lines, pretend; 2316 Lisp_Object frame, lines, pretend;
2316 { 2317 {
2317 register struct frame *f; 2318 register struct frame *f;
2318 2319
2319 CHECK_NUMBER (lines, 0); 2320 CHECK_NUMBER (lines, 0);
2335 change_frame_size (f, XINT (lines), 0, !NILP (pretend), 0, 0); 2336 change_frame_size (f, XINT (lines), 0, !NILP (pretend), 0, 0);
2336 return Qnil; 2337 return Qnil;
2337 } 2338 }
2338 2339
2339 DEFUN ("set-frame-width", Fset_frame_width, Sset_frame_width, 2, 3, 0, 2340 DEFUN ("set-frame-width", Fset_frame_width, Sset_frame_width, 2, 3, 0,
2340 "Specify that the frame FRAME has COLS columns.\n\ 2341 doc: /* Specify that the frame FRAME has COLS columns.
2341 Optional third arg non-nil means that redisplay should use COLS columns\n\ 2342 Optional third arg non-nil means that redisplay should use COLS columns
2342 but that the idea of the actual width of the frame should not be changed.") 2343 but that the idea of the actual width of the frame should not be changed. */)
2343 (frame, cols, pretend) 2344 (frame, cols, pretend)
2344 Lisp_Object frame, cols, pretend; 2345 Lisp_Object frame, cols, pretend;
2345 { 2346 {
2346 register struct frame *f; 2347 register struct frame *f;
2347 CHECK_NUMBER (cols, 0); 2348 CHECK_NUMBER (cols, 0);
2348 if (NILP (frame)) 2349 if (NILP (frame))
2363 change_frame_size (f, 0, XINT (cols), !NILP (pretend), 0, 0); 2364 change_frame_size (f, 0, XINT (cols), !NILP (pretend), 0, 0);
2364 return Qnil; 2365 return Qnil;
2365 } 2366 }
2366 2367
2367 DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0, 2368 DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0,
2368 "Sets size of FRAME to COLS by ROWS, measured in characters.") 2369 doc: /* Sets size of FRAME to COLS by ROWS, measured in characters. */)
2369 (frame, cols, rows) 2370 (frame, cols, rows)
2370 Lisp_Object frame, cols, rows; 2371 Lisp_Object frame, cols, rows;
2371 { 2372 {
2372 register struct frame *f; 2373 register struct frame *f;
2373 2374
2374 CHECK_LIVE_FRAME (frame, 0); 2375 CHECK_LIVE_FRAME (frame, 0);
2392 return Qnil; 2393 return Qnil;
2393 } 2394 }
2394 2395
2395 DEFUN ("set-frame-position", Fset_frame_position, 2396 DEFUN ("set-frame-position", Fset_frame_position,
2396 Sset_frame_position, 3, 3, 0, 2397 Sset_frame_position, 3, 3, 0,
2397 "Sets position of FRAME in pixels to XOFFSET by YOFFSET.\n\ 2398 doc: /* Sets position of FRAME in pixels to XOFFSET by YOFFSET.
2398 This is actually the position of the upper left corner of the frame.\n\ 2399 This is actually the position of the upper left corner of the frame.
2399 Negative values for XOFFSET or YOFFSET are interpreted relative to\n\ 2400 Negative values for XOFFSET or YOFFSET are interpreted relative to
2400 the rightmost or bottommost possible position (that stays within the screen).") 2401 the rightmost or bottommost possible position (that stays within the screen). */)
2401 (frame, xoffset, yoffset) 2402 (frame, xoffset, yoffset)
2402 Lisp_Object frame, xoffset, yoffset; 2403 Lisp_Object frame, xoffset, yoffset;
2403 { 2404 {
2404 register struct frame *f; 2405 register struct frame *f;
2405 2406
2406 CHECK_LIVE_FRAME (frame, 0); 2407 CHECK_LIVE_FRAME (frame, 0);
2465 staticpro (&Qdisplay_type); 2466 staticpro (&Qdisplay_type);
2466 Qbackground_mode = intern ("background-mode"); 2467 Qbackground_mode = intern ("background-mode");
2467 staticpro (&Qbackground_mode); 2468 staticpro (&Qbackground_mode);
2468 2469
2469 DEFVAR_LISP ("default-frame-alist", &Vdefault_frame_alist, 2470 DEFVAR_LISP ("default-frame-alist", &Vdefault_frame_alist,
2470 "Alist of default values for frame creation.\n\ 2471 doc: /* Alist of default values for frame creation.
2471 These may be set in your init file, like this:\n\ 2472 These may be set in your init file, like this:
2472 (setq default-frame-alist '((width . 80) (height . 55) (menu-bar-lines . 1))\n\ 2473 (setq default-frame-alist '((width . 80) (height . 55) (menu-bar-lines . 1))
2473 These override values given in window system configuration data,\n\ 2474 These override values given in window system configuration data,
2474 including X Windows' defaults database.\n\ 2475 including X Windows' defaults database.
2475 For values specific to the first Emacs frame, see `initial-frame-alist'.\n\ 2476 For values specific to the first Emacs frame, see `initial-frame-alist'.
2476 For values specific to the separate minibuffer frame, see\n\ 2477 For values specific to the separate minibuffer frame, see
2477 `minibuffer-frame-alist'.\n\ 2478 `minibuffer-frame-alist'.
2478 The `menu-bar-lines' element of the list controls whether new frames\n\ 2479 The `menu-bar-lines' element of the list controls whether new frames
2479 have menu bars; `menu-bar-mode' works by altering this element."); 2480 have menu bars; `menu-bar-mode' works by altering this element. */);
2480 Vdefault_frame_alist = Qnil; 2481 Vdefault_frame_alist = Qnil;
2481 2482
2482 Qinhibit_default_face_x_resources 2483 Qinhibit_default_face_x_resources
2483 = intern ("inhibit-default-face-x-resources"); 2484 = intern ("inhibit-default-face-x-resources");
2484 staticpro (&Qinhibit_default_face_x_resources); 2485 staticpro (&Qinhibit_default_face_x_resources);
2485 2486
2486 DEFVAR_LISP ("terminal-frame", &Vterminal_frame, 2487 DEFVAR_LISP ("terminal-frame", &Vterminal_frame,
2487 "The initial frame-object, which represents Emacs's stdout."); 2488 doc: /* The initial frame-object, which represents Emacs's stdout. */);
2488 2489
2489 DEFVAR_LISP ("emacs-iconified", &Vemacs_iconified, 2490 DEFVAR_LISP ("emacs-iconified", &Vemacs_iconified,
2490 "Non-nil if all of emacs is iconified and frame updates are not needed."); 2491 doc: /* Non-nil if all of emacs is iconified and frame updates are not needed. */);
2491 Vemacs_iconified = Qnil; 2492 Vemacs_iconified = Qnil;
2492 2493
2493 DEFVAR_LISP ("mouse-position-function", &Vmouse_position_function, 2494 DEFVAR_LISP ("mouse-position-function", &Vmouse_position_function,
2494 "If non-nil, function to transform normal value of `mouse-position'.\n\ 2495 doc: /* If non-nil, function to transform normal value of `mouse-position'.
2495 `mouse-position' calls this function, passing its usual return value as\n\ 2496 `mouse-position' calls this function, passing its usual return value as
2496 argument, and returns whatever this function returns.\n\ 2497 argument, and returns whatever this function returns.
2497 This abnormal hook exists for the benefit of packages like `xt-mouse.el'\n\ 2498 This abnormal hook exists for the benefit of packages like `xt-mouse.el'
2498 which need to do mouse handling at the Lisp level."); 2499 which need to do mouse handling at the Lisp level. */);
2499 Vmouse_position_function = Qnil; 2500 Vmouse_position_function = Qnil;
2500 2501
2501 DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame, 2502 DEFVAR_KBOARD ("default-minibuffer-frame", Vdefault_minibuffer_frame,
2502 "Minibufferless frames use this frame's minibuffer.\n\ 2503 doc: /* Minibufferless frames use this frame's minibuffer.
2503 \n\ 2504
2504 Emacs cannot create minibufferless frames unless this is set to an\n\ 2505 Emacs cannot create minibufferless frames unless this is set to an
2505 appropriate surrogate.\n\ 2506 appropriate surrogate.
2506 \n\ 2507
2507 Emacs consults this variable only when creating minibufferless\n\ 2508 Emacs consults this variable only when creating minibufferless
2508 frames; once the frame is created, it sticks with its assigned\n\ 2509 frames; once the frame is created, it sticks with its assigned
2509 minibuffer, no matter what this variable is set to. This means that\n\ 2510 minibuffer, no matter what this variable is set to. This means that
2510 this variable doesn't necessarily say anything meaningful about the\n\ 2511 this variable doesn't necessarily say anything meaningful about the
2511 current set of frames, or where the minibuffer is currently being\n\ 2512 current set of frames, or where the minibuffer is currently being
2512 displayed.\n\ 2513 displayed.
2513 \n\ 2514
2514 This variable is local to the current terminal and cannot be buffer-local."); 2515 This variable is local to the current terminal and cannot be buffer-local. */);
2515 2516
2516 staticpro (&Vframe_list); 2517 staticpro (&Vframe_list);
2517 2518
2518 defsubr (&Sactive_minibuffer_window); 2519 defsubr (&Sactive_minibuffer_window);
2519 defsubr (&Sframep); 2520 defsubr (&Sframep);