comparison src/xfns.c @ 39905:542a86892257

Put doc strings in comments.
author Gerd Moellmann <gerd@gnu.org>
date Sun, 14 Oct 2001 09:40:07 +0000
parents da336e9d1ab5
children c62141d21872
comparison
equal deleted inserted replaced
39904:1a3d4895f3cf 39905:542a86892257
16 16
17 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs; see the file COPYING. If not, write to 18 along with GNU Emacs; see the file COPYING. If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */ 20 Boston, MA 02111-1307, USA. */
21
22 #define DOC_STRINGS_IN_COMMENTS
21 23
22 #include <config.h> 24 #include <config.h>
23 #include <signal.h> 25 #include <signal.h>
24 #include <stdio.h> 26 #include <stdio.h>
25 #include <math.h> 27 #include <math.h>
2637 2639
2638 2640
2639 extern char *x_get_string_resource (); 2641 extern char *x_get_string_resource ();
2640 2642
2641 DEFUN ("x-get-resource", Fx_get_resource, Sx_get_resource, 2, 4, 0, 2643 DEFUN ("x-get-resource", Fx_get_resource, Sx_get_resource, 2, 4, 0,
2642 "Return the value of ATTRIBUTE, of class CLASS, from the X defaults database.\n\ 2644 /* Return the value of ATTRIBUTE, of class CLASS, from the X defaults database.
2643 This uses `INSTANCE.ATTRIBUTE' as the key and `Emacs.CLASS' as the\n\ 2645 This uses `INSTANCE.ATTRIBUTE' as the key and `Emacs.CLASS' as the
2644 class, where INSTANCE is the name under which Emacs was invoked, or\n\ 2646 class, where INSTANCE is the name under which Emacs was invoked, or
2645 the name specified by the `-name' or `-rn' command-line arguments.\n\ 2647 the name specified by the `-name' or `-rn' command-line arguments.
2646 \n\ 2648
2647 The optional arguments COMPONENT and SUBCLASS add to the key and the\n\ 2649 The optional arguments COMPONENT and SUBCLASS add to the key and the
2648 class, respectively. You must specify both of them or neither.\n\ 2650 class, respectively. You must specify both of them or neither.
2649 If you specify them, the key is `INSTANCE.COMPONENT.ATTRIBUTE'\n\ 2651 If you specify them, the key is `INSTANCE.COMPONENT.ATTRIBUTE'
2650 and the class is `Emacs.CLASS.SUBCLASS'.") 2652 and the class is `Emacs.CLASS.SUBCLASS'. */
2651 (attribute, class, component, subclass) 2653 (attribute, class, component, subclass))
2652 Lisp_Object attribute, class, component, subclass; 2654 Lisp_Object attribute, class, component, subclass;
2653 { 2655 {
2654 register char *value; 2656 register char *value;
2655 char *name_key; 2657 char *name_key;
2656 char *class_key; 2658 char *class_key;
2995 } 2997 }
2996 2998
2997 2999
2998 3000
2999 DEFUN ("x-parse-geometry", Fx_parse_geometry, Sx_parse_geometry, 1, 1, 0, 3001 DEFUN ("x-parse-geometry", Fx_parse_geometry, Sx_parse_geometry, 1, 1, 0,
3000 "Parse an X-style geometry string STRING.\n\ 3002 /* Parse an X-style geometry string STRING.
3001 Returns an alist of the form ((top . TOP), (left . LEFT) ... ).\n\ 3003 Returns an alist of the form ((top . TOP), (left . LEFT) ... ).
3002 The properties returned may include `top', `left', `height', and `width'.\n\ 3004 The properties returned may include `top', `left', `height', and `width'.
3003 The value of `left' or `top' may be an integer,\n\ 3005 The value of `left' or `top' may be an integer,
3004 or a list (+ N) meaning N pixels relative to top/left corner,\n\ 3006 or a list (+ N) meaning N pixels relative to top/left corner,
3005 or a list (- N) meaning -N pixels relative to bottom/right corner.") 3007 or a list (- N) meaning -N pixels relative to bottom/right corner. */
3006 (string) 3008 (string))
3007 Lisp_Object string; 3009 Lisp_Object string;
3008 { 3010 {
3009 int geometry, x, y; 3011 int geometry, x, y;
3010 unsigned int width, height; 3012 unsigned int width, height;
3011 Lisp_Object result; 3013 Lisp_Object result;
4088 } 4090 }
4089 4091
4090 4092
4091 DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, 4093 DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame,
4092 1, 1, 0, 4094 1, 1, 0,
4093 "Make a new X window, which is called a \"frame\" in Emacs terms.\n\ 4095 /* Make a new X window, which is called a "frame" in Emacs terms.
4094 Returns an Emacs frame object.\n\ 4096 Returns an Emacs frame object.
4095 ALIST is an alist of frame parameters.\n\ 4097 ALIST is an alist of frame parameters.
4096 If the parameters specify that the frame should not have a minibuffer,\n\ 4098 If the parameters specify that the frame should not have a minibuffer,
4097 and do not specify a specific minibuffer window to use,\n\ 4099 and do not specify a specific minibuffer window to use,
4098 then `default-minibuffer-frame' must be a frame whose minibuffer can\n\ 4100 then `default-minibuffer-frame' must be a frame whose minibuffer can
4099 be shared by the new frame.\n\ 4101 be shared by the new frame.
4100 \n\ 4102
4101 This function is an internal primitive--use `make-frame' instead.") 4103 This function is an internal primitive--use `make-frame' instead. */
4102 (parms) 4104 (parms))
4103 Lisp_Object parms; 4105 Lisp_Object parms;
4104 { 4106 {
4105 struct frame *f; 4107 struct frame *f;
4106 Lisp_Object frame, tem; 4108 Lisp_Object frame, tem;
4107 Lisp_Object name; 4109 Lisp_Object name;
4551 that applications don't interfere with the window manager's focus 4553 that applications don't interfere with the window manager's focus
4552 policy. But I think it's okay to use when it's clearly done 4554 policy. But I think it's okay to use when it's clearly done
4553 following a user-command. */ 4555 following a user-command. */
4554 4556
4555 DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0, 4557 DEFUN ("x-focus-frame", Fx_focus_frame, Sx_focus_frame, 1, 1, 0,
4556 "Set the input focus to FRAME.\n\ 4558 /* Set the input focus to FRAME.
4557 FRAME nil means use the selected frame.") 4559 FRAME nil means use the selected frame. */
4558 (frame) 4560 (frame))
4559 Lisp_Object frame; 4561 Lisp_Object frame;
4560 { 4562 {
4561 struct frame *f = check_x_frame (frame); 4563 struct frame *f = check_x_frame (frame);
4562 Display *dpy = FRAME_X_DISPLAY (f); 4564 Display *dpy = FRAME_X_DISPLAY (f);
4563 int count; 4565 int count;
4572 return Qnil; 4574 return Qnil;
4573 } 4575 }
4574 4576
4575 4577
4576 DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, 4578 DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
4577 "Internal function called by `color-defined-p', which see.") 4579 /* Internal function called by `color-defined-p', which see. */
4578 (color, frame) 4580 (color, frame))
4579 Lisp_Object color, frame; 4581 Lisp_Object color, frame;
4580 { 4582 {
4581 XColor foo; 4583 XColor foo;
4582 FRAME_PTR f = check_x_frame (frame); 4584 FRAME_PTR f = check_x_frame (frame);
4583 4585
4588 else 4590 else
4589 return Qnil; 4591 return Qnil;
4590 } 4592 }
4591 4593
4592 DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0, 4594 DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
4593 "Internal function called by `color-values', which see.") 4595 /* Internal function called by `color-values', which see. */
4594 (color, frame) 4596 (color, frame))
4595 Lisp_Object color, frame; 4597 Lisp_Object color, frame;
4596 { 4598 {
4597 XColor foo; 4599 XColor foo;
4598 FRAME_PTR f = check_x_frame (frame); 4600 FRAME_PTR f = check_x_frame (frame);
4599 4601
4611 else 4613 else
4612 return Qnil; 4614 return Qnil;
4613 } 4615 }
4614 4616
4615 DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0, 4617 DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0,
4616 "Internal function called by `display-color-p', which see.") 4618 /* Internal function called by `display-color-p', which see. */
4617 (display) 4619 (display))
4618 Lisp_Object display; 4620 Lisp_Object display;
4619 { 4621 {
4620 struct x_display_info *dpyinfo = check_x_display_info (display); 4622 struct x_display_info *dpyinfo = check_x_display_info (display);
4621 4623
4622 if (dpyinfo->n_planes <= 2) 4624 if (dpyinfo->n_planes <= 2)
4634 return Qnil; 4636 return Qnil;
4635 } 4637 }
4636 } 4638 }
4637 4639
4638 DEFUN ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p, 4640 DEFUN ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p,
4639 0, 1, 0, 4641 0, 1, 0,
4640 "Return t if the X display supports shades of gray.\n\ 4642 /* Return t if the X display supports shades of gray.
4641 Note that color displays do support shades of gray.\n\ 4643 Note that color displays do support shades of gray.
4642 The optional argument DISPLAY specifies which display to ask about.\n\ 4644 The optional argument DISPLAY specifies which display to ask about.
4643 DISPLAY should be either a frame or a display name (a string).\n\ 4645 DISPLAY should be either a frame or a display name (a string).
4644 If omitted or nil, that stands for the selected frame's display.") 4646 If omitted or nil, that stands for the selected frame's display. */
4645 (display) 4647 (display))
4646 Lisp_Object display; 4648 Lisp_Object display;
4647 { 4649 {
4648 struct x_display_info *dpyinfo = check_x_display_info (display); 4650 struct x_display_info *dpyinfo = check_x_display_info (display);
4649 4651
4650 if (dpyinfo->n_planes <= 1) 4652 if (dpyinfo->n_planes <= 1)
4664 return Qnil; 4666 return Qnil;
4665 } 4667 }
4666 } 4668 }
4667 4669
4668 DEFUN ("x-display-pixel-width", Fx_display_pixel_width, Sx_display_pixel_width, 4670 DEFUN ("x-display-pixel-width", Fx_display_pixel_width, Sx_display_pixel_width,
4669 0, 1, 0, 4671 0, 1, 0,
4670 "Returns the width in pixels of the X display DISPLAY.\n\ 4672 /* Returns the width in pixels of the X display DISPLAY.
4671 The optional argument DISPLAY specifies which display to ask about.\n\ 4673 The optional argument DISPLAY specifies which display to ask about.
4672 DISPLAY should be either a frame or a display name (a string).\n\ 4674 DISPLAY should be either a frame or a display name (a string).
4673 If omitted or nil, that stands for the selected frame's display.") 4675 If omitted or nil, that stands for the selected frame's display. */
4674 (display) 4676 (display))
4675 Lisp_Object display; 4677 Lisp_Object display;
4676 { 4678 {
4677 struct x_display_info *dpyinfo = check_x_display_info (display); 4679 struct x_display_info *dpyinfo = check_x_display_info (display);
4678 4680
4679 return make_number (dpyinfo->width); 4681 return make_number (dpyinfo->width);
4680 } 4682 }
4681 4683
4682 DEFUN ("x-display-pixel-height", Fx_display_pixel_height, 4684 DEFUN ("x-display-pixel-height", Fx_display_pixel_height,
4683 Sx_display_pixel_height, 0, 1, 0, 4685 Sx_display_pixel_height, 0, 1, 0,
4684 "Returns the height in pixels of the X display DISPLAY.\n\ 4686 /* Returns the height in pixels of the X display DISPLAY.
4685 The optional argument DISPLAY specifies which display to ask about.\n\ 4687 The optional argument DISPLAY specifies which display to ask about.
4686 DISPLAY should be either a frame or a display name (a string).\n\ 4688 DISPLAY should be either a frame or a display name (a string).
4687 If omitted or nil, that stands for the selected frame's display.") 4689 If omitted or nil, that stands for the selected frame's display. */
4688 (display) 4690 (display))
4689 Lisp_Object display; 4691 Lisp_Object display;
4690 { 4692 {
4691 struct x_display_info *dpyinfo = check_x_display_info (display); 4693 struct x_display_info *dpyinfo = check_x_display_info (display);
4692 4694
4693 return make_number (dpyinfo->height); 4695 return make_number (dpyinfo->height);
4694 } 4696 }
4695 4697
4696 DEFUN ("x-display-planes", Fx_display_planes, Sx_display_planes, 4698 DEFUN ("x-display-planes", Fx_display_planes, Sx_display_planes,
4697 0, 1, 0, 4699 0, 1, 0,
4698 "Returns the number of bitplanes of the X display DISPLAY.\n\ 4700 /* Returns the number of bitplanes of the X display DISPLAY.
4699 The optional argument DISPLAY specifies which display to ask about.\n\ 4701 The optional argument DISPLAY specifies which display to ask about.
4700 DISPLAY should be either a frame or a display name (a string).\n\ 4702 DISPLAY should be either a frame or a display name (a string).
4701 If omitted or nil, that stands for the selected frame's display.") 4703 If omitted or nil, that stands for the selected frame's display. */
4702 (display) 4704 (display))
4703 Lisp_Object display; 4705 Lisp_Object display;
4704 { 4706 {
4705 struct x_display_info *dpyinfo = check_x_display_info (display); 4707 struct x_display_info *dpyinfo = check_x_display_info (display);
4706 4708
4707 return make_number (dpyinfo->n_planes); 4709 return make_number (dpyinfo->n_planes);
4708 } 4710 }
4709 4711
4710 DEFUN ("x-display-color-cells", Fx_display_color_cells, Sx_display_color_cells, 4712 DEFUN ("x-display-color-cells", Fx_display_color_cells, Sx_display_color_cells,
4711 0, 1, 0, 4713 0, 1, 0,
4712 "Returns the number of color cells of the X display DISPLAY.\n\ 4714 /* Returns the number of color cells of the X display DISPLAY.
4713 The optional argument DISPLAY specifies which display to ask about.\n\ 4715 The optional argument DISPLAY specifies which display to ask about.
4714 DISPLAY should be either a frame or a display name (a string).\n\ 4716 DISPLAY should be either a frame or a display name (a string).
4715 If omitted or nil, that stands for the selected frame's display.") 4717 If omitted or nil, that stands for the selected frame's display. */
4716 (display) 4718 (display))
4717 Lisp_Object display; 4719 Lisp_Object display;
4718 { 4720 {
4719 struct x_display_info *dpyinfo = check_x_display_info (display); 4721 struct x_display_info *dpyinfo = check_x_display_info (display);
4720 4722
4721 return make_number (DisplayCells (dpyinfo->display, 4723 return make_number (DisplayCells (dpyinfo->display,
4722 XScreenNumberOfScreen (dpyinfo->screen))); 4724 XScreenNumberOfScreen (dpyinfo->screen)));
4723 } 4725 }
4724 4726
4725 DEFUN ("x-server-max-request-size", Fx_server_max_request_size, 4727 DEFUN ("x-server-max-request-size", Fx_server_max_request_size,
4726 Sx_server_max_request_size, 4728 Sx_server_max_request_size,
4727 0, 1, 0, 4729 0, 1, 0,
4728 "Returns the maximum request size of the X server of display DISPLAY.\n\ 4730 /* Returns the maximum request size of the X server of display DISPLAY.
4729 The optional argument DISPLAY specifies which display to ask about.\n\ 4731 The optional argument DISPLAY specifies which display to ask about.
4730 DISPLAY should be either a frame or a display name (a string).\n\ 4732 DISPLAY should be either a frame or a display name (a string).
4731 If omitted or nil, that stands for the selected frame's display.") 4733 If omitted or nil, that stands for the selected frame's display. */
4732 (display) 4734 (display))
4733 Lisp_Object display; 4735 Lisp_Object display;
4734 { 4736 {
4735 struct x_display_info *dpyinfo = check_x_display_info (display); 4737 struct x_display_info *dpyinfo = check_x_display_info (display);
4736 4738
4737 return make_number (MAXREQUEST (dpyinfo->display)); 4739 return make_number (MAXREQUEST (dpyinfo->display));
4738 } 4740 }
4739 4741
4740 DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, 4742 DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0,
4741 "Returns the vendor ID string of the X server of display DISPLAY.\n\ 4743 /* Returns the vendor ID string of the X server of display DISPLAY.
4742 The optional argument DISPLAY specifies which display to ask about.\n\ 4744 The optional argument DISPLAY specifies which display to ask about.
4743 DISPLAY should be either a frame or a display name (a string).\n\ 4745 DISPLAY should be either a frame or a display name (a string).
4744 If omitted or nil, that stands for the selected frame's display.") 4746 If omitted or nil, that stands for the selected frame's display. */
4745 (display) 4747 (display))
4746 Lisp_Object display; 4748 Lisp_Object display;
4747 { 4749 {
4748 struct x_display_info *dpyinfo = check_x_display_info (display); 4750 struct x_display_info *dpyinfo = check_x_display_info (display);
4749 char *vendor = ServerVendor (dpyinfo->display); 4751 char *vendor = ServerVendor (dpyinfo->display);
4750 4752
4751 if (! vendor) vendor = ""; 4753 if (! vendor) vendor = "";
4752 return build_string (vendor); 4754 return build_string (vendor);
4753 } 4755 }
4754 4756
4755 DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, 4757 DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0,
4756 "Returns the version numbers of the X server of display DISPLAY.\n\ 4758 /* Returns the version numbers of the X server of display DISPLAY.
4757 The value is a list of three integers: the major and minor\n\ 4759 The value is a list of three integers: the major and minor
4758 version numbers of the X Protocol in use, and the vendor-specific release\n\ 4760 version numbers of the X Protocol in use, and the vendor-specific release
4759 number. See also the function `x-server-vendor'.\n\n\ 4761 number. See also the function `x-server-vendor'.
4760 The optional argument DISPLAY specifies which display to ask about.\n\ 4762
4761 DISPLAY should be either a frame or a display name (a string).\n\ 4763 The optional argument DISPLAY specifies which display to ask about.
4762 If omitted or nil, that stands for the selected frame's display.") 4764 DISPLAY should be either a frame or a display name (a string).
4763 (display) 4765 If omitted or nil, that stands for the selected frame's display. */
4766 (display))
4764 Lisp_Object display; 4767 Lisp_Object display;
4765 { 4768 {
4766 struct x_display_info *dpyinfo = check_x_display_info (display); 4769 struct x_display_info *dpyinfo = check_x_display_info (display);
4767 Display *dpy = dpyinfo->display; 4770 Display *dpy = dpyinfo->display;
4768 4771
4770 Fcons (make_number (ProtocolRevision (dpy)), 4773 Fcons (make_number (ProtocolRevision (dpy)),
4771 Fcons (make_number (VendorRelease (dpy)), Qnil))); 4774 Fcons (make_number (VendorRelease (dpy)), Qnil)));
4772 } 4775 }
4773 4776
4774 DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0, 4777 DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0,
4775 "Returns the number of screens on the X server of display DISPLAY.\n\ 4778 /* Return the number of screens on the X server of display DISPLAY.
4776 The optional argument DISPLAY specifies which display to ask about.\n\ 4779 The optional argument DISPLAY specifies which display to ask about.
4777 DISPLAY should be either a frame or a display name (a string).\n\ 4780 DISPLAY should be either a frame or a display name (a string).
4778 If omitted or nil, that stands for the selected frame's display.") 4781 If omitted or nil, that stands for the selected frame's display. */
4779 (display) 4782 (display))
4780 Lisp_Object display; 4783 Lisp_Object display;
4781 { 4784 {
4782 struct x_display_info *dpyinfo = check_x_display_info (display); 4785 struct x_display_info *dpyinfo = check_x_display_info (display);
4783 4786
4784 return make_number (ScreenCount (dpyinfo->display)); 4787 return make_number (ScreenCount (dpyinfo->display));
4785 } 4788 }
4786 4789
4787 DEFUN ("x-display-mm-height", Fx_display_mm_height, Sx_display_mm_height, 0, 1, 0, 4790 DEFUN ("x-display-mm-height", Fx_display_mm_height, Sx_display_mm_height, 0, 1, 0,
4788 "Returns the height in millimeters of the X display DISPLAY.\n\ 4791 /* Return the height in millimeters of the X display DISPLAY.
4789 The optional argument DISPLAY specifies which display to ask about.\n\ 4792 The optional argument DISPLAY specifies which display to ask about.
4790 DISPLAY should be either a frame or a display name (a string).\n\ 4793 DISPLAY should be either a frame or a display name (a string).
4791 If omitted or nil, that stands for the selected frame's display.") 4794 If omitted or nil, that stands for the selected frame's display. */
4792 (display) 4795 (display))
4793 Lisp_Object display; 4796 Lisp_Object display;
4794 { 4797 {
4795 struct x_display_info *dpyinfo = check_x_display_info (display); 4798 struct x_display_info *dpyinfo = check_x_display_info (display);
4796 4799
4797 return make_number (HeightMMOfScreen (dpyinfo->screen)); 4800 return make_number (HeightMMOfScreen (dpyinfo->screen));
4798 } 4801 }
4799 4802
4800 DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0, 4803 DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0,
4801 "Returns the width in millimeters of the X display DISPLAY.\n\ 4804 /* Return the width in millimeters of the X display DISPLAY.
4802 The optional argument DISPLAY specifies which display to ask about.\n\ 4805 The optional argument DISPLAY specifies which display to ask about.
4803 DISPLAY should be either a frame or a display name (a string).\n\ 4806 DISPLAY should be either a frame or a display name (a string).
4804 If omitted or nil, that stands for the selected frame's display.") 4807 If omitted or nil, that stands for the selected frame's display. */
4805 (display) 4808 (display))
4806 Lisp_Object display; 4809 Lisp_Object display;
4807 { 4810 {
4808 struct x_display_info *dpyinfo = check_x_display_info (display); 4811 struct x_display_info *dpyinfo = check_x_display_info (display);
4809 4812
4810 return make_number (WidthMMOfScreen (dpyinfo->screen)); 4813 return make_number (WidthMMOfScreen (dpyinfo->screen));
4811 } 4814 }
4812 4815
4813 DEFUN ("x-display-backing-store", Fx_display_backing_store, 4816 DEFUN ("x-display-backing-store", Fx_display_backing_store,
4814 Sx_display_backing_store, 0, 1, 0, 4817 Sx_display_backing_store, 0, 1, 0,
4815 "Returns an indication of whether X display DISPLAY does backing store.\n\ 4818 /* Returns an indication of whether X display DISPLAY does backing store.
4816 The value may be `always', `when-mapped', or `not-useful'.\n\ 4819 The value may be `always', `when-mapped', or `not-useful'.
4817 The optional argument DISPLAY specifies which display to ask about.\n\ 4820 The optional argument DISPLAY specifies which display to ask about.
4818 DISPLAY should be either a frame or a display name (a string).\n\ 4821 DISPLAY should be either a frame or a display name (a string).
4819 If omitted or nil, that stands for the selected frame's display.") 4822 If omitted or nil, that stands for the selected frame's display. */
4820 (display) 4823 (display))
4821 Lisp_Object display; 4824 Lisp_Object display;
4822 { 4825 {
4823 struct x_display_info *dpyinfo = check_x_display_info (display); 4826 struct x_display_info *dpyinfo = check_x_display_info (display);
4824 Lisp_Object result; 4827 Lisp_Object result;
4825 4828
4844 4847
4845 return result; 4848 return result;
4846 } 4849 }
4847 4850
4848 DEFUN ("x-display-visual-class", Fx_display_visual_class, 4851 DEFUN ("x-display-visual-class", Fx_display_visual_class,
4849 Sx_display_visual_class, 0, 1, 0, 4852 Sx_display_visual_class, 0, 1, 0,
4850 "Returns the visual class of the X display DISPLAY.\n\ 4853 /* Return the visual class of the X display DISPLAY.
4851 The value is one of the symbols `static-gray', `gray-scale',\n\ 4854 The value is one of the symbols `static-gray', `gray-scale',
4852 `static-color', `pseudo-color', `true-color', or `direct-color'.\n\n\ 4855 `static-color', `pseudo-color', `true-color', or `direct-color'.
4853 The optional argument DISPLAY specifies which display to ask about.\n\ 4856
4854 DISPLAY should be either a frame or a display name (a string).\n\ 4857 The optional argument DISPLAY specifies which display to ask about.
4855 If omitted or nil, that stands for the selected frame's display.") 4858 DISPLAY should be either a frame or a display name (a string).
4856 (display) 4859 If omitted or nil, that stands for the selected frame's display. */
4860 (display))
4857 Lisp_Object display; 4861 Lisp_Object display;
4858 { 4862 {
4859 struct x_display_info *dpyinfo = check_x_display_info (display); 4863 struct x_display_info *dpyinfo = check_x_display_info (display);
4860 Lisp_Object result; 4864 Lisp_Object result;
4861 4865
4886 4890
4887 return result; 4891 return result;
4888 } 4892 }
4889 4893
4890 DEFUN ("x-display-save-under", Fx_display_save_under, 4894 DEFUN ("x-display-save-under", Fx_display_save_under,
4891 Sx_display_save_under, 0, 1, 0, 4895 Sx_display_save_under, 0, 1, 0,
4892 "Returns t if the X display DISPLAY supports the save-under feature.\n\ 4896 /* Returns t if the X display DISPLAY supports the save-under feature.
4893 The optional argument DISPLAY specifies which display to ask about.\n\ 4897 The optional argument DISPLAY specifies which display to ask about.
4894 DISPLAY should be either a frame or a display name (a string).\n\ 4898 DISPLAY should be either a frame or a display name (a string).
4895 If omitted or nil, that stands for the selected frame's display.") 4899 If omitted or nil, that stands for the selected frame's display. */
4896 (display) 4900 (display))
4897 Lisp_Object display; 4901 Lisp_Object display;
4898 { 4902 {
4899 struct x_display_info *dpyinfo = check_x_display_info (display); 4903 struct x_display_info *dpyinfo = check_x_display_info (display);
4900 4904
4901 if (DoesSaveUnders (dpyinfo->screen) == True) 4905 if (DoesSaveUnders (dpyinfo->screen) == True)
5107 return dpyinfo; 5111 return dpyinfo;
5108 } 5112 }
5109 5113
5110 5114
5111 DEFUN ("x-open-connection", Fx_open_connection, Sx_open_connection, 5115 DEFUN ("x-open-connection", Fx_open_connection, Sx_open_connection,
5112 1, 3, 0, "Open a connection to an X server.\n\ 5116 1, 3, 0,
5113 DISPLAY is the name of the display to connect to.\n\ 5117 /* Open a connection to an X server.
5114 Optional second arg XRM-STRING is a string of resources in xrdb format.\n\ 5118 DISPLAY is the name of the display to connect to.
5115 If the optional third arg MUST-SUCCEED is non-nil,\n\ 5119 Optional second arg XRM-STRING is a string of resources in xrdb format.
5116 terminate Emacs if we can't open the connection.") 5120 If the optional third arg MUST-SUCCEED is non-nil,
5117 (display, xrm_string, must_succeed) 5121 terminate Emacs if we can't open the connection. */
5122 (display, xrm_string, must_succeed))
5118 Lisp_Object display, xrm_string, must_succeed; 5123 Lisp_Object display, xrm_string, must_succeed;
5119 { 5124 {
5120 unsigned char *xrm_option; 5125 unsigned char *xrm_option;
5121 struct x_display_info *dpyinfo; 5126 struct x_display_info *dpyinfo;
5122 5127
5140 (char *) XSTRING (Vx_resource_name)->data); 5145 (char *) XSTRING (Vx_resource_name)->data);
5141 5146
5142 if (dpyinfo == 0) 5147 if (dpyinfo == 0)
5143 { 5148 {
5144 if (!NILP (must_succeed)) 5149 if (!NILP (must_succeed))
5145 fatal ("Cannot connect to X server %s.\n\ 5150 fatal ("Cannot connect to X server %s.
5146 Check the DISPLAY environment variable or use `-d'.\n\ 5151 Check the DISPLAY environment variable or use `-d'.
5147 Also use the `xhost' program to verify that it is set to permit\n\ 5152 Also use the `xhost' program to verify that it is set to permit
5148 connections from your machine.\n", 5153 connections from your machine.\n",
5149 XSTRING (display)->data); 5154 XSTRING (display)->data);
5150 else 5155 else
5151 error ("Cannot connect to X server %s", XSTRING (display)->data); 5156 error ("Cannot connect to X server %s", XSTRING (display)->data);
5152 } 5157 }
5157 return Qnil; 5162 return Qnil;
5158 } 5163 }
5159 5164
5160 DEFUN ("x-close-connection", Fx_close_connection, 5165 DEFUN ("x-close-connection", Fx_close_connection,
5161 Sx_close_connection, 1, 1, 0, 5166 Sx_close_connection, 1, 1, 0,
5162 "Close the connection to DISPLAY's X server.\n\ 5167 /* Close the connection to DISPLAY's X server.
5163 For DISPLAY, specify either a frame or a display name (a string).\n\ 5168 For DISPLAY, specify either a frame or a display name (a string).
5164 If DISPLAY is nil, that stands for the selected frame's display.") 5169 If DISPLAY is nil, that stands for the selected frame's display. */
5165 (display) 5170 (display))
5166 Lisp_Object display; 5171 Lisp_Object display;
5167 { 5172 {
5168 struct x_display_info *dpyinfo = check_x_display_info (display); 5173 struct x_display_info *dpyinfo = check_x_display_info (display);
5169 int i; 5174 int i;
5170 5175
5171 if (dpyinfo->reference_count > 0) 5176 if (dpyinfo->reference_count > 0)
5196 5201
5197 return Qnil; 5202 return Qnil;
5198 } 5203 }
5199 5204
5200 DEFUN ("x-display-list", Fx_display_list, Sx_display_list, 0, 0, 0, 5205 DEFUN ("x-display-list", Fx_display_list, Sx_display_list, 0, 0, 0,
5201 "Return the list of display names that Emacs has connections to.") 5206 /* Return the list of display names that Emacs has connections to. */
5202 () 5207 ())
5203 { 5208 {
5204 Lisp_Object tail, result; 5209 Lisp_Object tail, result;
5205 5210
5206 result = Qnil; 5211 result = Qnil;
5207 for (tail = x_display_name_list; ! NILP (tail); tail = XCDR (tail)) 5212 for (tail = x_display_name_list; ! NILP (tail); tail = XCDR (tail))
5209 5214
5210 return result; 5215 return result;
5211 } 5216 }
5212 5217
5213 DEFUN ("x-synchronize", Fx_synchronize, Sx_synchronize, 1, 2, 0, 5218 DEFUN ("x-synchronize", Fx_synchronize, Sx_synchronize, 1, 2, 0,
5214 "If ON is non-nil, report X errors as soon as the erring request is made.\n\ 5219 /* If ON is non-nil, report X errors as soon as the erring request is made.
5215 If ON is nil, allow buffering of requests.\n\ 5220 If ON is nil, allow buffering of requests.
5216 Turning on synchronization prohibits the Xlib routines from buffering\n\ 5221 Turning on synchronization prohibits the Xlib routines from buffering
5217 requests and seriously degrades performance, but makes debugging much\n\ 5222 requests and seriously degrades performance, but makes debugging much
5218 easier.\n\ 5223 easier.
5219 The optional second argument DISPLAY specifies which display to act on.\n\ 5224 The optional second argument DISPLAY specifies which display to act on.
5220 DISPLAY should be either a frame or a display name (a string).\n\ 5225 DISPLAY should be either a frame or a display name (a string).
5221 If DISPLAY is omitted or nil, that stands for the selected frame's display.") 5226 If DISPLAY is omitted or nil, that stands for the selected frame's display. */
5222 (on, display) 5227 (on, display))
5223 Lisp_Object display, on; 5228 Lisp_Object display, on;
5224 { 5229 {
5225 struct x_display_info *dpyinfo = check_x_display_info (display); 5230 struct x_display_info *dpyinfo = check_x_display_info (display);
5226 5231
5227 XSynchronize (dpyinfo->display, !EQ (on, Qnil)); 5232 XSynchronize (dpyinfo->display, !EQ (on, Qnil));
5596 return Qnil; 5601 return Qnil;
5597 } 5602 }
5598 5603
5599 5604
5600 DEFUN ("image-size", Fimage_size, Simage_size, 1, 3, 0, 5605 DEFUN ("image-size", Fimage_size, Simage_size, 1, 3, 0,
5601 "Return the size of image SPEC as pair (WIDTH . HEIGHT).\n\ 5606 /* Return the size of image SPEC as pair (WIDTH . HEIGHT).
5602 PIXELS non-nil means return the size in pixels, otherwise return the\n\ 5607 PIXELS non-nil means return the size in pixels, otherwise return the
5603 size in canonical character units.\n\ 5608 size in canonical character units.
5604 FRAME is the frame on which the image will be displayed. FRAME nil\n\ 5609 FRAME is the frame on which the image will be displayed. FRAME nil
5605 or omitted means use the selected frame.") 5610 or omitted means use the selected frame. */
5606 (spec, pixels, frame) 5611 (spec, pixels, frame))
5607 Lisp_Object spec, pixels, frame; 5612 Lisp_Object spec, pixels, frame;
5608 { 5613 {
5609 Lisp_Object size; 5614 Lisp_Object size;
5610 5615
5611 size = Qnil; 5616 size = Qnil;
5629 return size; 5634 return size;
5630 } 5635 }
5631 5636
5632 5637
5633 DEFUN ("image-mask-p", Fimage_mask_p, Simage_mask_p, 1, 2, 0, 5638 DEFUN ("image-mask-p", Fimage_mask_p, Simage_mask_p, 1, 2, 0,
5634 "Return t if image SPEC has a mask bitmap.\n\ 5639 /* Return t if image SPEC has a mask bitmap.
5635 FRAME is the frame on which the image will be displayed. FRAME nil\n\ 5640 FRAME is the frame on which the image will be displayed. FRAME nil
5636 or omitted means use the selected frame.") 5641 or omitted means use the selected frame. */
5637 (spec, frame) 5642 (spec, frame))
5638 Lisp_Object spec, frame; 5643 Lisp_Object spec, frame;
5639 { 5644 {
5640 Lisp_Object mask; 5645 Lisp_Object mask;
5641 5646
5642 mask = Qnil; 5647 mask = Qnil;
5975 } 5980 }
5976 5981
5977 5982
5978 DEFUN ("clear-image-cache", Fclear_image_cache, Sclear_image_cache, 5983 DEFUN ("clear-image-cache", Fclear_image_cache, Sclear_image_cache,
5979 0, 1, 0, 5984 0, 1, 0,
5980 "Clear the image cache of FRAME.\n\ 5985 /* Clear the image cache of FRAME.
5981 FRAME nil or omitted means use the selected frame.\n\ 5986 FRAME nil or omitted means use the selected frame.
5982 FRAME t means clear the image caches of all frames.") 5987 FRAME t means clear the image caches of all frames. */
5983 (frame) 5988 (frame))
5984 Lisp_Object frame; 5989 Lisp_Object frame;
5985 { 5990 {
5986 if (EQ (frame, Qt)) 5991 if (EQ (frame, Qt))
5987 { 5992 {
5988 Lisp_Object tail; 5993 Lisp_Object tail;
10240 Window properties 10245 Window properties
10241 ***********************************************************************/ 10246 ***********************************************************************/
10242 10247
10243 DEFUN ("x-change-window-property", Fx_change_window_property, 10248 DEFUN ("x-change-window-property", Fx_change_window_property,
10244 Sx_change_window_property, 2, 3, 0, 10249 Sx_change_window_property, 2, 3, 0,
10245 "Change window property PROP to VALUE on the X window of FRAME.\n\ 10250 /* Change window property PROP to VALUE on the X window of FRAME.
10246 PROP and VALUE must be strings. FRAME nil or omitted means use the\n\ 10251 PROP and VALUE must be strings. FRAME nil or omitted means use the
10247 selected frame. Value is VALUE.") 10252 selected frame. Value is VALUE. */
10248 (prop, value, frame) 10253 (prop, value, frame))
10249 Lisp_Object frame, prop, value; 10254 Lisp_Object frame, prop, value;
10250 { 10255 {
10251 struct frame *f = check_x_frame (frame); 10256 struct frame *f = check_x_frame (frame);
10252 Atom prop_atom; 10257 Atom prop_atom;
10253 10258
10268 } 10273 }
10269 10274
10270 10275
10271 DEFUN ("x-delete-window-property", Fx_delete_window_property, 10276 DEFUN ("x-delete-window-property", Fx_delete_window_property,
10272 Sx_delete_window_property, 1, 2, 0, 10277 Sx_delete_window_property, 1, 2, 0,
10273 "Remove window property PROP from X window of FRAME.\n\ 10278 /* Remove window property PROP from X window of FRAME.
10274 FRAME nil or omitted means use the selected frame. Value is PROP.") 10279 FRAME nil or omitted means use the selected frame. Value is PROP. */
10275 (prop, frame) 10280 (prop, frame))
10276 Lisp_Object prop, frame; 10281 Lisp_Object prop, frame;
10277 { 10282 {
10278 struct frame *f = check_x_frame (frame); 10283 struct frame *f = check_x_frame (frame);
10279 Atom prop_atom; 10284 Atom prop_atom;
10280 10285
10291 } 10296 }
10292 10297
10293 10298
10294 DEFUN ("x-window-property", Fx_window_property, Sx_window_property, 10299 DEFUN ("x-window-property", Fx_window_property, Sx_window_property,
10295 1, 2, 0, 10300 1, 2, 0,
10296 "Value is the value of window property PROP on FRAME.\n\ 10301 /* Value is the value of window property PROP on FRAME.
10297 If FRAME is nil or omitted, use the selected frame. Value is nil\n\ 10302 If FRAME is nil or omitted, use the selected frame. Value is nil
10298 if FRAME hasn't a property with name PROP or if PROP has no string\n\ 10303 if FRAME hasn't a property with name PROP or if PROP has no string
10299 value.") 10304 value. */
10300 (prop, frame) 10305 (prop, frame))
10301 Lisp_Object prop, frame; 10306 Lisp_Object prop, frame;
10302 { 10307 {
10303 struct frame *f = check_x_frame (frame); 10308 struct frame *f = check_x_frame (frame);
10304 Atom prop_atom; 10309 Atom prop_atom;
10305 int rc; 10310 int rc;
10934 *root_x += XINT (dx); 10939 *root_x += XINT (dx);
10935 } 10940 }
10936 10941
10937 10942
10938 DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0, 10943 DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0,
10939 "Show STRING in a \"tooltip\" window on frame FRAME.\n\ 10944 /* Show STRING in a "tooltip" window on frame FRAME.
10940 A tooltip window is a small X window displaying a string.\n\ 10945 A tooltip window is a small X window displaying a string.
10941 \n\ 10946
10942 FRAME nil or omitted means use the selected frame.\n\ 10947 FRAME nil or omitted means use the selected frame.
10943 \n\ 10948
10944 PARMS is an optional list of frame parameters which can be\n\ 10949 PARMS is an optional list of frame parameters which can be used to
10945 used to change the tooltip's appearance.\n\ 10950 change the tooltip's appearance.
10946 \n\ 10951
10947 Automatically hide the tooltip after TIMEOUT seconds.\n\ 10952 Automatically hide the tooltip after TIMEOUT seconds. TIMEOUT nil
10948 TIMEOUT nil means use the default timeout of 5 seconds.\n\ 10953 means use the default timeout of 5 seconds.
10949 \n\ 10954
10950 If the list of frame parameters PARAMS contains a `left' parameters,\n\ 10955 If the list of frame parameters PARAMS contains a `left' parameters,
10951 the tooltip is displayed at that x-position. Otherwise it is\n\ 10956 the tooltip is displayed at that x-position. Otherwise it is
10952 displayed at the mouse position, with offset DX added (default is 5 if\n\ 10957 displayed at the mouse position, with offset DX added (default is 5 if
10953 DX isn't specified). Likewise for the y-position; if a `top' frame\n\ 10958 DX isn't specified). Likewise for the y-position; if a `top' frame
10954 parameter is specified, it determines the y-position of the tooltip\n\ 10959 parameter is specified, it determines the y-position of the tooltip
10955 window, otherwise it is displayed at the mouse position, with offset\n\ 10960 window, otherwise it is displayed at the mouse position, with offset
10956 DY added (default is -10).\n\ 10961 DY added (default is -10).
10957 \n\ 10962
10958 A tooltip's maximum size is specified by `x-max-tooltip-size'.\n\ 10963 A tooltip's maximum size is specified by `x-max-tooltip-size'.
10959 Text larger than the specified size is clipped.") 10964 Text larger than the specified size is clipped. */
10960 (string, frame, parms, timeout, dx, dy) 10965 (string, frame, parms, timeout, dx, dy))
10961 Lisp_Object string, frame, parms, timeout, dx, dy; 10966 Lisp_Object string, frame, parms, timeout, dx, dy;
10962 { 10967 {
10963 struct frame *f; 10968 struct frame *f;
10964 struct window *w; 10969 struct window *w;
10965 Lisp_Object buffer, top, left, max_width, max_height; 10970 Lisp_Object buffer, top, left, max_width, max_height;
11143 return unbind_to (count, Qnil); 11148 return unbind_to (count, Qnil);
11144 } 11149 }
11145 11150
11146 11151
11147 DEFUN ("x-hide-tip", Fx_hide_tip, Sx_hide_tip, 0, 0, 0, 11152 DEFUN ("x-hide-tip", Fx_hide_tip, Sx_hide_tip, 0, 0, 0,
11148 "Hide the current tooltip window, if there is any.\n\ 11153 /* Hide the current tooltip window, if there is any.
11149 Value is t if tooltip was open, nil otherwise.") 11154 Value is t if tooltip was open, nil otherwise. */
11150 () 11155 ())
11151 { 11156 {
11152 int count; 11157 int count;
11153 Lisp_Object deleted, frame, timer; 11158 Lisp_Object deleted, frame, timer;
11154 struct gcpro gcpro1, gcpro2; 11159 struct gcpro gcpro1, gcpro2;
11155 11160
11233 *result = XmCR_CANCEL; 11238 *result = XmCR_CANCEL;
11234 } 11239 }
11235 11240
11236 11241
11237 DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 4, 0, 11242 DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 4, 0,
11238 "Read file name, prompting with PROMPT in directory DIR.\n\ 11243 /* Read file name, prompting with PROMPT in directory DIR.
11239 Use a file selection dialog.\n\ 11244 Use a file selection dialog.
11240 Select DEFAULT-FILENAME in the dialog's file selection box, if\n\ 11245 Select DEFAULT-FILENAME in the dialog's file selection box, if
11241 specified. Don't let the user enter a file name in the file\n\ 11246 specified. Don't let the user enter a file name in the file
11242 selection dialog's entry field, if MUSTMATCH is non-nil.") 11247 selection dialog's entry field, if MUSTMATCH is non-nil. */
11243 (prompt, dir, default_filename, mustmatch) 11248 (prompt, dir, default_filename, mustmatch))
11244 Lisp_Object prompt, dir, default_filename, mustmatch; 11249 Lisp_Object prompt, dir, default_filename, mustmatch;
11245 { 11250 {
11246 int result; 11251 int result;
11247 struct frame *f = SELECTED_FRAME (); 11252 struct frame *f = SELECTED_FRAME ();
11248 Lisp_Object file = Qnil; 11253 Lisp_Object file = Qnil;
11391 #include <X11/keysym.h> 11396 #include <X11/keysym.h>
11392 #endif 11397 #endif
11393 11398
11394 DEFUN ("x-backspace-delete-keys-p", Fx_backspace_delete_keys_p, 11399 DEFUN ("x-backspace-delete-keys-p", Fx_backspace_delete_keys_p,
11395 Sx_backspace_delete_keys_p, 0, 1, 0, 11400 Sx_backspace_delete_keys_p, 0, 1, 0,
11396 "Check if both Backspace and Delete keys are on the keyboard of FRAME.\n\ 11401 /* Check if both Backspace and Delete keys are on the keyboard of FRAME.
11397 FRAME nil means use the selected frame.\n\ 11402 FRAME nil means use the selected frame.
11398 Value is t if we know that both keys are present, and are mapped to the\n\ 11403 Value is t if we know that both keys are present, and are mapped to the
11399 usual X keysyms.") 11404 usual X keysyms. */
11400 (frame) 11405 (frame))
11401 Lisp_Object frame; 11406 Lisp_Object frame;
11402 { 11407 {
11403 #ifdef HAVE_XKBGETKEYBOARD 11408 #ifdef HAVE_XKBGETKEYBOARD
11404 XkbDescPtr kb; 11409 XkbDescPtr kb;
11405 struct frame *f = check_x_frame (frame); 11410 struct frame *f = check_x_frame (frame);
11588 Fput (Qundefined_color, Qerror_message, 11593 Fput (Qundefined_color, Qerror_message,
11589 build_string ("Undefined color")); 11594 build_string ("Undefined color"));
11590 11595
11591 init_x_parm_symbols (); 11596 init_x_parm_symbols ();
11592 11597
11593 DEFVAR_BOOL ("cross-disabled-images", &cross_disabled_images, 11598 DEFVAR_BOOL ("cross-disabled-images", &cross_disabled_images
11594 "Non-nil means always draw a cross over disabled images.\n\ 11599 /* Non-nil means always draw a cross over disabled images.
11595 Disabled images are those having an `:conversion disabled' property.\n\ 11600 Disabled images are those having an `:conversion disabled' property.
11596 A cross is always drawn on black & white displays."); 11601 A cross is always drawn on black & white displays. */);
11597 cross_disabled_images = 0; 11602 cross_disabled_images = 0;
11598 11603
11599 DEFVAR_LISP ("x-bitmap-file-path", &Vx_bitmap_file_path, 11604 DEFVAR_LISP ("x-bitmap-file-path", &Vx_bitmap_file_path
11600 "List of directories to search for bitmap files for X."); 11605 /* List of directories to search for bitmap files for X. */);
11601 Vx_bitmap_file_path = decode_env_path ((char *) 0, PATH_BITMAPS); 11606 Vx_bitmap_file_path = decode_env_path ((char *) 0, PATH_BITMAPS);
11602 11607
11603 DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape, 11608 DEFVAR_LISP ("x-pointer-shape", &Vx_pointer_shape
11604 "The shape of the pointer when over text.\n\ 11609 /* The shape of the pointer when over text.
11605 Changing the value does not affect existing frames\n\ 11610 Changing the value does not affect existing frames
11606 unless you set the mouse color."); 11611 unless you set the mouse color. */);
11607 Vx_pointer_shape = Qnil; 11612 Vx_pointer_shape = Qnil;
11608 11613
11609 DEFVAR_LISP ("x-resource-name", &Vx_resource_name, 11614 DEFVAR_LISP ("x-resource-name", &Vx_resource_name
11610 "The name Emacs uses to look up X resources.\n\ 11615 /* The name Emacs uses to look up X resources.
11611 `x-get-resource' uses this as the first component of the instance name\n\ 11616 `x-get-resource' uses this as the first component of the instance name
11612 when requesting resource values.\n\ 11617 when requesting resource values.
11613 Emacs initially sets `x-resource-name' to the name under which Emacs\n\ 11618 Emacs initially sets `x-resource-name' to the name under which Emacs
11614 was invoked, or to the value specified with the `-name' or `-rn'\n\ 11619 was invoked, or to the value specified with the `-name' or `-rn'
11615 switches, if present.\n\ 11620 switches, if present.
11616 \n\ 11621
11617 It may be useful to bind this variable locally around a call\n\ 11622 It may be useful to bind this variable locally around a call
11618 to `x-get-resource'. See also the variable `x-resource-class'."); 11623 to `x-get-resource'. See also the variable `x-resource-class'. */);
11619 Vx_resource_name = Qnil; 11624 Vx_resource_name = Qnil;
11620 11625
11621 DEFVAR_LISP ("x-resource-class", &Vx_resource_class, 11626 DEFVAR_LISP ("x-resource-class", &Vx_resource_class
11622 "The class Emacs uses to look up X resources.\n\ 11627 /* The class Emacs uses to look up X resources.
11623 `x-get-resource' uses this as the first component of the instance class\n\ 11628 `x-get-resource' uses this as the first component of the instance class
11624 when requesting resource values.\n\ 11629 when requesting resource values.
11625 Emacs initially sets `x-resource-class' to \"Emacs\".\n\ 11630
11626 \n\ 11631 Emacs initially sets `x-resource-class' to "Emacs".
11627 Setting this variable permanently is not a reasonable thing to do,\n\ 11632
11628 but binding this variable locally around a call to `x-get-resource'\n\ 11633 Setting this variable permanently is not a reasonable thing to do,
11629 is a reasonable practice. See also the variable `x-resource-name'."); 11634 but binding this variable locally around a call to `x-get-resource'
11635 is a reasonable practice. See also the variable `x-resource-name'. */);
11630 Vx_resource_class = build_string (EMACS_CLASS); 11636 Vx_resource_class = build_string (EMACS_CLASS);
11631 11637
11632 #if 0 /* This doesn't really do anything. */ 11638 #if 0 /* This doesn't really do anything. */
11633 DEFVAR_LISP ("x-nontext-pointer-shape", &Vx_nontext_pointer_shape, 11639 DEFVAR_LISP ("x-nontext-pointer-shape", &Vx_nontext_pointer_shape
11634 "The shape of the pointer when not over text.\n\ 11640 /* The shape of the pointer when not over text.
11635 This variable takes effect when you create a new frame\n\ 11641 This variable takes effect when you create a new frame
11636 or when you set the mouse color."); 11642 or when you set the mouse color. */);
11637 #endif 11643 #endif
11638 Vx_nontext_pointer_shape = Qnil; 11644 Vx_nontext_pointer_shape = Qnil;
11639 11645
11640 DEFVAR_LISP ("x-hourglass-pointer-shape", &Vx_hourglass_pointer_shape, 11646 DEFVAR_LISP ("x-hourglass-pointer-shape", &Vx_hourglass_pointer_shape
11641 "The shape of the pointer when Emacs is busy.\n\ 11647 /* The shape of the pointer when Emacs is busy.
11642 This variable takes effect when you create a new frame\n\ 11648 This variable takes effect when you create a new frame
11643 or when you set the mouse color."); 11649 or when you set the mouse color. */);
11644 Vx_hourglass_pointer_shape = Qnil; 11650 Vx_hourglass_pointer_shape = Qnil;
11645 11651
11646 DEFVAR_BOOL ("display-hourglass", &display_hourglass_p, 11652 DEFVAR_BOOL ("display-hourglass", &display_hourglass_p
11647 "Non-zero means Emacs displays an hourglass pointer on window systems."); 11653 /* Non-zero means Emacs displays an hourglass pointer on window systems. */);
11648 display_hourglass_p = 1; 11654 display_hourglass_p = 1;
11649 11655
11650 DEFVAR_LISP ("hourglass-delay", &Vhourglass_delay, 11656 DEFVAR_LISP ("hourglass-delay", &Vhourglass_delay
11651 "*Seconds to wait before displaying an hourglass pointer.\n\ 11657 /* *Seconds to wait before displaying an hourglass pointer.
11652 Value must be an integer or float."); 11658 Value must be an integer or float. */);
11653 Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY); 11659 Vhourglass_delay = make_number (DEFAULT_HOURGLASS_DELAY);
11654 11660
11655 #if 0 /* This doesn't really do anything. */ 11661 #if 0 /* This doesn't really do anything. */
11656 DEFVAR_LISP ("x-mode-pointer-shape", &Vx_mode_pointer_shape, 11662 DEFVAR_LISP ("x-mode-pointer-shape", &Vx_mode_pointer_shape
11657 "The shape of the pointer when over the mode line.\n\ 11663 /* The shape of the pointer when over the mode line.
11658 This variable takes effect when you create a new frame\n\ 11664 This variable takes effect when you create a new frame
11659 or when you set the mouse color."); 11665 or when you set the mouse color. */);
11660 #endif 11666 #endif
11661 Vx_mode_pointer_shape = Qnil; 11667 Vx_mode_pointer_shape = Qnil;
11662 11668
11663 DEFVAR_LISP ("x-sensitive-text-pointer-shape", 11669 DEFVAR_LISP ("x-sensitive-text-pointer-shape",
11664 &Vx_sensitive_text_pointer_shape, 11670 &Vx_sensitive_text_pointer_shape
11665 "The shape of the pointer when over mouse-sensitive text.\n\ 11671 /* The shape of the pointer when over mouse-sensitive text.
11666 This variable takes effect when you create a new frame\n\ 11672 This variable takes effect when you create a new frame
11667 or when you set the mouse color."); 11673 or when you set the mouse color. */);
11668 Vx_sensitive_text_pointer_shape = Qnil; 11674 Vx_sensitive_text_pointer_shape = Qnil;
11669 11675
11670 DEFVAR_LISP ("x-window-horizontal-drag-cursor", 11676 DEFVAR_LISP ("x-window-horizontal-drag-cursor",
11671 &Vx_window_horizontal_drag_shape, 11677 &Vx_window_horizontal_drag_shape
11672 "Pointer shape to use for indicating a window can be dragged horizontally.\n\ 11678 /* Pointer shape to use for indicating a window can be dragged horizontally.
11673 This variable takes effect when you create a new frame\n\ 11679 This variable takes effect when you create a new frame
11674 or when you set the mouse color."); 11680 or when you set the mouse color. */);
11675 Vx_window_horizontal_drag_shape = Qnil; 11681 Vx_window_horizontal_drag_shape = Qnil;
11676 11682
11677 DEFVAR_LISP ("x-cursor-fore-pixel", &Vx_cursor_fore_pixel, 11683 DEFVAR_LISP ("x-cursor-fore-pixel", &Vx_cursor_fore_pixel
11678 "A string indicating the foreground color of the cursor box."); 11684 /* A string indicating the foreground color of the cursor box. */);
11679 Vx_cursor_fore_pixel = Qnil; 11685 Vx_cursor_fore_pixel = Qnil;
11680 11686
11681 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size, 11687 DEFVAR_LISP ("x-max-tooltip-size", &Vx_max_tooltip_size
11682 "Maximum size for tooltips. Value is a pair (COLUMNS . ROWS).\n\ 11688 /* Maximum size for tooltips. Value is a pair (COLUMNS . ROWS).
11683 Text larger than this is clipped."); 11689 Text larger than this is clipped. */);
11684 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40)); 11690 Vx_max_tooltip_size = Fcons (make_number (80), make_number (40));
11685 11691
11686 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager, 11692 DEFVAR_LISP ("x-no-window-manager", &Vx_no_window_manager
11687 "Non-nil if no X window manager is in use.\n\ 11693 /* Non-nil if no X window manager is in use.
11688 Emacs doesn't try to figure this out; this is always nil\n\ 11694 Emacs doesn't try to figure this out; this is always nil
11689 unless you set it to something else."); 11695 unless you set it to something else. */);
11690 /* We don't have any way to find this out, so set it to nil 11696 /* We don't have any way to find this out, so set it to nil
11691 and maybe the user would like to set it to t. */ 11697 and maybe the user would like to set it to t. */
11692 Vx_no_window_manager = Qnil; 11698 Vx_no_window_manager = Qnil;
11693 11699
11694 DEFVAR_LISP ("x-pixel-size-width-font-regexp", 11700 DEFVAR_LISP ("x-pixel-size-width-font-regexp",
11695 &Vx_pixel_size_width_font_regexp, 11701 &Vx_pixel_size_width_font_regexp
11696 "Regexp matching a font name whose width is the same as `PIXEL_SIZE'.\n\ 11702 /* Regexp matching a font name whose width is the same as `PIXEL_SIZE'.
11697 \n\ 11703
11698 Since Emacs gets width of a font matching with this regexp from\n\ 11704 Since Emacs gets width of a font matching with this regexp from
11699 PIXEL_SIZE field of the name, font finding mechanism gets faster for\n\ 11705 PIXEL_SIZE field of the name, font finding mechanism gets faster for
11700 such a font. This is especially effective for such large fonts as\n\ 11706 such a font. This is especially effective for such large fonts as
11701 Chinese, Japanese, and Korean."); 11707 Chinese, Japanese, and Korean. */);
11702 Vx_pixel_size_width_font_regexp = Qnil; 11708 Vx_pixel_size_width_font_regexp = Qnil;
11703 11709
11704 DEFVAR_LISP ("image-cache-eviction-delay", &Vimage_cache_eviction_delay, 11710 DEFVAR_LISP ("image-cache-eviction-delay", &Vimage_cache_eviction_delay
11705 "Time after which cached images are removed from the cache.\n\ 11711 /* Time after which cached images are removed from the cache.
11706 When an image has not been displayed this many seconds, remove it\n\ 11712 When an image has not been displayed this many seconds, remove it
11707 from the image cache. Value must be an integer or nil with nil\n\ 11713 from the image cache. Value must be an integer or nil with nil
11708 meaning don't clear the cache."); 11714 meaning don't clear the cache. */);
11709 Vimage_cache_eviction_delay = make_number (30 * 60); 11715 Vimage_cache_eviction_delay = make_number (30 * 60);
11710 11716
11711 #ifdef USE_X_TOOLKIT 11717 #ifdef USE_X_TOOLKIT
11712 Fprovide (intern ("x-toolkit"), Qnil); 11718 Fprovide (intern ("x-toolkit"), Qnil);
11713 #ifdef USE_MOTIF 11719 #ifdef USE_MOTIF
11714 Fprovide (intern ("motif"), Qnil); 11720 Fprovide (intern ("motif"), Qnil);
11715 11721
11716 DEFVAR_LISP ("motif-version-string", &Vmotif_version_string, 11722 DEFVAR_LISP ("motif-version-string", &Vmotif_version_string
11717 "Version info for LessTif/Motif."); 11723 /* Version info for LessTif/Motif. */);
11718 Vmotif_version_string = build_string (XmVERSION_STRING); 11724 Vmotif_version_string = build_string (XmVERSION_STRING);
11719 #endif /* USE_MOTIF */ 11725 #endif /* USE_MOTIF */
11720 #endif /* USE_X_TOOLKIT */ 11726 #endif /* USE_X_TOOLKIT */
11721 11727
11722 defsubr (&Sx_get_resource); 11728 defsubr (&Sx_get_resource);