aboutsummaryrefslogtreecommitdiffstats
path: root/src/macfns.c
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2005-07-23 07:48:10 +0000
committerYAMAMOTO Mitsuharu2005-07-23 07:48:10 +0000
commitb8ab86c320e30a0b09c8a5dbe2dfbfb326db2854 (patch)
tree82186b2d34f00ed0df0a8f7c9264301b4a55d0b0 /src/macfns.c
parentfc3216cb119b3f67cae6a9089666ba775a983c65 (diff)
downloademacs-b8ab86c320e30a0b09c8a5dbe2dfbfb326db2854.tar.gz
emacs-b8ab86c320e30a0b09c8a5dbe2dfbfb326db2854.zip
Don't include stdlib.h or string.h. Include atimer.h.
(gray_width, gray_height): Remove defines. (gray_bits, gray_bitmap_width, gray_bitmap_height) (gray_bitmap_bits): Remove variables. (lispy_function_keys): Remove extern. (free_frame_menubar): Add extern. (x_window_to_frame): Remove function. (unwind_create_tip_frame): Add declaration. (x_set_name_internal): New function. (x_set_name, x_set_title): Use it. (Fx_create_frame, Fx_display_grayscale_p, Fx_display_pixel_width) (Fx_display_pixel_height, Fx_display_planes) (Fx_display_color_cells, Fx_server_max_request_size) (Fx_server_vendor, Fx_server_version, Fx_display_screens) (Fx_display_mm_height, Fx_display_mm_width) (Fx_display_backing_store, Fx_display_visual_class) (Fx_display_save_under, Fx_synchronize, Fx_show_tip): Doc fixes.
Diffstat (limited to 'src/macfns.c')
-rw-r--r--src/macfns.c318
1 files changed, 106 insertions, 212 deletions
diff --git a/src/macfns.c b/src/macfns.c
index 4af1bc8101b..daa1767fd52 100644
--- a/src/macfns.c
+++ b/src/macfns.c
@@ -21,58 +21,34 @@ Boston, MA 02110-1301, USA. */
21/* Contributed by Andrew Choi (akochoi@mac.com). */ 21/* Contributed by Andrew Choi (akochoi@mac.com). */
22 22
23#include <config.h> 23#include <config.h>
24
25#include <stdio.h> 24#include <stdio.h>
26#include <math.h> 25#include <math.h>
27#include <limits.h>
28#include <errno.h>
29 26
30#include "lisp.h" 27#include "lisp.h"
31#include "charset.h"
32#include "macterm.h" 28#include "macterm.h"
33#include "frame.h" 29#include "frame.h"
34#include "window.h" 30#include "window.h"
35#include "buffer.h" 31#include "buffer.h"
36#include "dispextern.h"
37#include "fontset.h"
38#include "intervals.h" 32#include "intervals.h"
33#include "dispextern.h"
39#include "keyboard.h" 34#include "keyboard.h"
40#include "blockinput.h" 35#include "blockinput.h"
41#include "epaths.h" 36#include <epaths.h>
42#include "termhooks.h" 37#include "charset.h"
43#include "coding.h" 38#include "coding.h"
39#include "fontset.h"
44#include "systime.h" 40#include "systime.h"
41#include "termhooks.h"
42#include "atimer.h"
45 43
46/* #include "bitmaps/gray.xbm" */
47#define gray_width 2
48#define gray_height 2
49static unsigned char gray_bits[] = {
50 0x01, 0x02};
51
52/*#include <commdlg.h>
53#include <shellapi.h>*/
54#include <ctype.h> 44#include <ctype.h>
55#include <sys/types.h> 45#include <sys/types.h>
56#include <sys/stat.h> 46#include <sys/stat.h>
47#include <limits.h>
48#include <errno.h>
57#include <sys/param.h> 49#include <sys/param.h>
58 50
59#include <stdlib.h> 51extern void free_frame_menubar ();
60#include <string.h>
61
62/*extern void free_frame_menubar ();
63extern double atof ();
64extern int w32_console_toggle_lock_key (int vk_code, Lisp_Object new_state);
65extern int quit_char;*/
66
67extern char *lispy_function_keys[];
68
69/* The gray bitmap `bitmaps/gray'. This is done because macterm.c uses
70 it, and including `bitmaps/gray' more than once is a problem when
71 config.h defines `static' as an empty replacement string. */
72
73int gray_bitmap_width = gray_width;
74int gray_bitmap_height = gray_height;
75unsigned char *gray_bitmap_bits = gray_bits;
76 52
77/* Non-zero means we're allowed to display an hourglass cursor. */ 53/* Non-zero means we're allowed to display an hourglass cursor. */
78 54
@@ -109,46 +85,13 @@ Lisp_Object Vx_no_window_manager;
109 85
110Lisp_Object Vx_pixel_size_width_font_regexp; 86Lisp_Object Vx_pixel_size_width_font_regexp;
111 87
112/* Evaluate this expression to rebuild the section of syms_of_macfns
113 that initializes and staticpros the symbols declared below. Note
114 that Emacs 18 has a bug that keeps C-x C-e from being able to
115 evaluate this expression.
116
117(progn
118 ;; Accumulate a list of the symbols we want to initialize from the
119 ;; declarations at the top of the file.
120 (goto-char (point-min))
121 (search-forward "/\*&&& symbols declared here &&&*\/\n")
122 (let (symbol-list)
123 (while (looking-at "Lisp_Object \\(Q[a-z_]+\\)")
124 (setq symbol-list
125 (cons (buffer-substring (match-beginning 1) (match-end 1))
126 symbol-list))
127 (forward-line 1))
128 (setq symbol-list (nreverse symbol-list))
129 ;; Delete the section of syms_of_... where we initialize the symbols.
130 (search-forward "\n /\*&&& init symbols here &&&*\/\n")
131 (let ((start (point)))
132 (while (looking-at "^ Q")
133 (forward-line 2))
134 (kill-region start (point)))
135 ;; Write a new symbol initialization section.
136 (while symbol-list
137 (insert (format " %s = intern (\"" (car symbol-list)))
138 (let ((start (point)))
139 (insert (substring (car symbol-list) 1))
140 (subst-char-in-region start (point) ?_ ?-))
141 (insert (format "\");\n staticpro (&%s);\n" (car symbol-list)))
142 (setq symbol-list (cdr symbol-list)))))
143
144 */
145
146/*&&& symbols declared here &&&*/
147Lisp_Object Qnone; 88Lisp_Object Qnone;
148Lisp_Object Qsuppress_icon; 89Lisp_Object Qsuppress_icon;
149Lisp_Object Qundefined_color; 90Lisp_Object Qundefined_color;
150Lisp_Object Qcancel_timer; 91Lisp_Object Qcancel_timer;
151 92
93/* In dispnew.c */
94
152extern Lisp_Object Vwindow_system_version; 95extern Lisp_Object Vwindow_system_version;
153 96
154#if 0 /* Use xstricmp instead. */ 97#if 0 /* Use xstricmp instead. */
@@ -243,40 +186,11 @@ check_x_display_info (frame)
243 186
244 return dpyinfo; 187 return dpyinfo;
245} 188}
246
247/* Return the Emacs frame-object corresponding to a mac window.
248 It could be the frame's main window or an icon window. */
249
250/* This function can be called during GC, so use GC_xxx type test macros. */
251
252struct frame *
253x_window_to_frame (dpyinfo, wdesc)
254 struct mac_display_info *dpyinfo;
255 WindowPtr wdesc;
256{
257 Lisp_Object tail, frame;
258 struct frame *f;
259
260 for (tail = Vframe_list; GC_CONSP (tail); tail = XCDR (tail))
261 {
262 frame = XCAR (tail);
263 if (!GC_FRAMEP (frame))
264 continue;
265 f = XFRAME (frame);
266 if (!FRAME_W32_P (f) || FRAME_MAC_DISPLAY_INFO (f) != dpyinfo)
267 continue;
268 /*if (f->output_data.w32->hourglass_window == wdesc)
269 return f;*/
270
271 /* MAC_TODO: Check tooltips when supported. */
272 if (FRAME_MAC_WINDOW (f) == wdesc)
273 return f;
274 }
275 return 0;
276}
277 189
278 190
191
279static Lisp_Object unwind_create_frame P_ ((Lisp_Object)); 192static Lisp_Object unwind_create_frame P_ ((Lisp_Object));
193static Lisp_Object unwind_create_tip_frame P_ ((Lisp_Object));
280 194
281void x_set_foreground_color P_ ((struct frame *, Lisp_Object, Lisp_Object)); 195void x_set_foreground_color P_ ((struct frame *, Lisp_Object, Lisp_Object));
282void x_set_background_color P_ ((struct frame *, Lisp_Object, Lisp_Object)); 196void x_set_background_color P_ ((struct frame *, Lisp_Object, Lisp_Object));
@@ -302,6 +216,8 @@ static Lisp_Object x_default_scroll_bar_color_parameter P_ ((struct frame *,
302 216
303extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *)); 217extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *));
304 218
219
220
305/* Store the screen positions of frame F into XPTR and YPTR. 221/* Store the screen positions of frame F into XPTR and YPTR.
306 These are the positions of the containing window manager window, 222 These are the positions of the containing window manager window,
307 not Emacs's own window. */ 223 not Emacs's own window. */
@@ -1834,8 +1750,49 @@ x_set_tool_bar_lines (f, value, oldval)
1834} 1750}
1835 1751
1836 1752
1753
1754/* Set the Mac window title to NAME for frame F. */
1755
1756static void
1757x_set_name_internal (f, name)
1758 FRAME_PTR f;
1759 Lisp_Object name;
1760{
1761 if (FRAME_MAC_WINDOW (f))
1762 {
1763 if (STRING_MULTIBYTE (name))
1764#if TARGET_API_MAC_CARBON
1765 name = ENCODE_UTF_8 (name);
1766#else
1767 name = ENCODE_SYSTEM (name);
1768#endif
1769
1770 BLOCK_INPUT;
1771
1772 {
1773#if TARGET_API_MAC_CARBON
1774 CFStringRef windowTitle =
1775 cfstring_create_with_utf8_cstring (SDATA (name));
1776
1777 SetWindowTitleWithCFString (FRAME_MAC_WINDOW (f), windowTitle);
1778 CFRelease (windowTitle);
1779#else
1780 Str255 windowTitle;
1781 if (strlen (SDATA (name)) < 255)
1782 {
1783 strcpy (windowTitle, SDATA (name));
1784 c2pstr (windowTitle);
1785 SetWTitle (FRAME_MAC_WINDOW (f), windowTitle);
1786 }
1787#endif
1788 }
1789
1790 UNBLOCK_INPUT;
1791 }
1792}
1793
1837/* Change the name of frame F to NAME. If NAME is nil, set F's name to 1794/* Change the name of frame F to NAME. If NAME is nil, set F's name to
1838 w32_id_name. 1795 mac_id_name.
1839 1796
1840 If EXPLICIT is non-zero, that indicates that lisp code is setting the 1797 If EXPLICIT is non-zero, that indicates that lisp code is setting the
1841 name; if NAME is a string, set F's name to NAME and set 1798 name; if NAME is a string, set F's name to NAME and set
@@ -1865,7 +1822,7 @@ x_set_name (f, name, explicit)
1865 else if (f->explicit_name) 1822 else if (f->explicit_name)
1866 return; 1823 return;
1867 1824
1868 /* If NAME is nil, set the name to the w32_id_name. */ 1825 /* If NAME is nil, set the name to the mac_id_name. */
1869 if (NILP (name)) 1826 if (NILP (name))
1870 { 1827 {
1871 /* Check for no change needed in this very common case 1828 /* Check for no change needed in this very common case
@@ -1889,37 +1846,7 @@ x_set_name (f, name, explicit)
1889 if (! NILP (f->title)) 1846 if (! NILP (f->title))
1890 name = f->title; 1847 name = f->title;
1891 1848
1892 if (FRAME_MAC_WINDOW (f)) 1849 x_set_name_internal (f, name);
1893 {
1894 if (STRING_MULTIBYTE (name))
1895#if TARGET_API_MAC_CARBON
1896 name = ENCODE_UTF_8 (name);
1897#else
1898 name = ENCODE_SYSTEM (name);
1899#endif
1900
1901 BLOCK_INPUT;
1902
1903 {
1904#if TARGET_API_MAC_CARBON
1905 CFStringRef windowTitle =
1906 cfstring_create_with_utf8_cstring (SDATA (name));
1907
1908 SetWindowTitleWithCFString (FRAME_MAC_WINDOW (f), windowTitle);
1909 CFRelease (windowTitle);
1910#else
1911 Str255 windowTitle;
1912 if (strlen (SDATA (name)) < 255)
1913 {
1914 strcpy (windowTitle, SDATA (name));
1915 c2pstr (windowTitle);
1916 SetWTitle (FRAME_MAC_WINDOW (f), windowTitle);
1917 }
1918#endif
1919 }
1920
1921 UNBLOCK_INPUT;
1922 }
1923} 1850}
1924 1851
1925/* This function should be called when the user's lisp code has 1852/* This function should be called when the user's lisp code has
@@ -1970,38 +1897,10 @@ x_set_title (f, name, old_name)
1970 1897
1971 if (NILP (name)) 1898 if (NILP (name))
1972 name = f->name; 1899 name = f->name;
1900 else
1901 CHECK_STRING (name);
1973 1902
1974 if (FRAME_MAC_WINDOW (f)) 1903 x_set_name_internal (f, name);
1975 {
1976 if (STRING_MULTIBYTE (name))
1977#if TARGET_API_MAC_CARBON
1978 name = ENCODE_UTF_8 (name);
1979#else
1980 name = ENCODE_SYSTEM (name);
1981#endif
1982
1983 BLOCK_INPUT;
1984
1985 {
1986#if TARGET_API_MAC_CARBON
1987 CFStringRef windowTitle =
1988 cfstring_create_with_utf8_cstring (SDATA (name));
1989
1990 SetWindowTitleWithCFString (FRAME_MAC_WINDOW (f), windowTitle);
1991 CFRelease (windowTitle);
1992#else
1993 Str255 windowTitle;
1994 if (strlen (SDATA (name)) < 255)
1995 {
1996 strcpy (windowTitle, SDATA (name));
1997 c2pstr (windowTitle);
1998 SetWTitle (FRAME_MAC_WINDOW (f), windowTitle);
1999 }
2000#endif
2001 }
2002
2003 UNBLOCK_INPUT;
2004 }
2005} 1904}
2006 1905
2007void 1906void
@@ -2470,7 +2369,7 @@ unwind_create_frame (frame)
2470 2369
2471DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, 2370DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame,
2472 1, 1, 0, 2371 1, 1, 0,
2473 doc: /* Make a new window, which is called a \"frame\" in Emacs terms. 2372 doc: /* Make a new window, which is called a "frame" in Emacs terms.
2474Returns an Emacs frame object. 2373Returns an Emacs frame object.
2475ALIST is an alist of frame parameters. 2374ALIST is an alist of frame parameters.
2476If the parameters specify that the frame should not have a minibuffer, 2375If the parameters specify that the frame should not have a minibuffer,
@@ -2479,7 +2378,7 @@ then `default-minibuffer-frame' must be a frame whose minibuffer can
2479be shared by the new frame. 2378be shared by the new frame.
2480 2379
2481This function is an internal primitive--use `make-frame' instead. */) 2380This function is an internal primitive--use `make-frame' instead. */)
2482 (parms) 2381 (parms)
2483 Lisp_Object parms; 2382 Lisp_Object parms;
2484{ 2383{
2485 struct frame *f; 2384 struct frame *f;
@@ -2804,7 +2703,7 @@ x_get_focus_frame (frame)
2804 2703
2805DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, 2704DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
2806 doc: /* Internal function called by `color-defined-p', which see. */) 2705 doc: /* Internal function called by `color-defined-p', which see. */)
2807 (color, frame) 2706 (color, frame)
2808 Lisp_Object color, frame; 2707 Lisp_Object color, frame;
2809{ 2708{
2810 XColor foo; 2709 XColor foo;
@@ -2820,7 +2719,7 @@ DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
2820 2719
2821DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0, 2720DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
2822 doc: /* Internal function called by `color-values', which see. */) 2721 doc: /* Internal function called by `color-values', which see. */)
2823 (color, frame) 2722 (color, frame)
2824 Lisp_Object color, frame; 2723 Lisp_Object color, frame;
2825{ 2724{
2826 XColor foo; 2725 XColor foo;
@@ -2843,7 +2742,7 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
2843 2742
2844DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0, 2743DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0,
2845 doc: /* Internal function called by `display-color-p', which see. */) 2744 doc: /* Internal function called by `display-color-p', which see. */)
2846 (display) 2745 (display)
2847 Lisp_Object display; 2746 Lisp_Object display;
2848{ 2747{
2849 struct mac_display_info *dpyinfo = check_x_display_info (display); 2748 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -2856,12 +2755,12 @@ DEFUN ("xw-display-color-p", Fxw_display_color_p, Sxw_display_color_p, 0, 1, 0,
2856 2755
2857DEFUN ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p, 2756DEFUN ("x-display-grayscale-p", Fx_display_grayscale_p, Sx_display_grayscale_p,
2858 0, 1, 0, 2757 0, 1, 0,
2859 doc: /* Return t if the X display supports shades of gray. 2758 doc: /* Return t if DISPLAY supports shades of gray.
2860Note that color displays do support shades of gray. 2759Note that color displays do support shades of gray.
2861The optional argument DISPLAY specifies which display to ask about. 2760The optional argument DISPLAY specifies which display to ask about.
2862DISPLAY should be either a frame or a display name (a string). 2761DISPLAY should be either a frame or a display name (a string).
2863If omitted or nil, that stands for the selected frame's display. */) 2762If omitted or nil, that stands for the selected frame's display. */)
2864 (display) 2763 (display)
2865 Lisp_Object display; 2764 Lisp_Object display;
2866{ 2765{
2867 struct mac_display_info *dpyinfo = check_x_display_info (display); 2766 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -2874,11 +2773,11 @@ If omitted or nil, that stands for the selected frame's display. */)
2874 2773
2875DEFUN ("x-display-pixel-width", Fx_display_pixel_width, Sx_display_pixel_width, 2774DEFUN ("x-display-pixel-width", Fx_display_pixel_width, Sx_display_pixel_width,
2876 0, 1, 0, 2775 0, 1, 0,
2877 doc: /* Returns the width in pixels of the X display DISPLAY. 2776 doc: /* Returns the width in pixels of DISPLAY.
2878The optional argument DISPLAY specifies which display to ask about. 2777The optional argument DISPLAY specifies which display to ask about.
2879DISPLAY should be either a frame or a display name (a string). 2778DISPLAY should be either a frame or a display name (a string).
2880If omitted or nil, that stands for the selected frame's display. */) 2779If omitted or nil, that stands for the selected frame's display. */)
2881 (display) 2780 (display)
2882 Lisp_Object display; 2781 Lisp_Object display;
2883{ 2782{
2884 struct mac_display_info *dpyinfo = check_x_display_info (display); 2783 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -2888,11 +2787,11 @@ If omitted or nil, that stands for the selected frame's display. */)
2888 2787
2889DEFUN ("x-display-pixel-height", Fx_display_pixel_height, 2788DEFUN ("x-display-pixel-height", Fx_display_pixel_height,
2890 Sx_display_pixel_height, 0, 1, 0, 2789 Sx_display_pixel_height, 0, 1, 0,
2891 doc: /* Returns the height in pixels of the X display DISPLAY. 2790 doc: /* Returns the height in pixels of DISPLAY.
2892The optional argument DISPLAY specifies which display to ask about. 2791The optional argument DISPLAY specifies which display to ask about.
2893DISPLAY should be either a frame or a display name (a string). 2792DISPLAY should be either a frame or a display name (a string).
2894If omitted or nil, that stands for the selected frame's display. */) 2793If omitted or nil, that stands for the selected frame's display. */)
2895 (display) 2794 (display)
2896 Lisp_Object display; 2795 Lisp_Object display;
2897{ 2796{
2898 struct mac_display_info *dpyinfo = check_x_display_info (display); 2797 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -2902,11 +2801,11 @@ If omitted or nil, that stands for the selected frame's display. */)
2902 2801
2903DEFUN ("x-display-planes", Fx_display_planes, Sx_display_planes, 2802DEFUN ("x-display-planes", Fx_display_planes, Sx_display_planes,
2904 0, 1, 0, 2803 0, 1, 0,
2905 doc: /* Returns the number of bitplanes of the display DISPLAY. 2804 doc: /* Returns the number of bitplanes of DISPLAY.
2906The optional argument DISPLAY specifies which display to ask about. 2805The optional argument DISPLAY specifies which display to ask about.
2907DISPLAY should be either a frame or a display name (a string). 2806DISPLAY should be either a frame or a display name (a string).
2908If omitted or nil, that stands for the selected frame's display. */) 2807If omitted or nil, that stands for the selected frame's display. */)
2909 (display) 2808 (display)
2910 Lisp_Object display; 2809 Lisp_Object display;
2911{ 2810{
2912 struct mac_display_info *dpyinfo = check_x_display_info (display); 2811 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -2916,11 +2815,11 @@ If omitted or nil, that stands for the selected frame's display. */)
2916 2815
2917DEFUN ("x-display-color-cells", Fx_display_color_cells, Sx_display_color_cells, 2816DEFUN ("x-display-color-cells", Fx_display_color_cells, Sx_display_color_cells,
2918 0, 1, 0, 2817 0, 1, 0,
2919 doc: /* Returns the number of color cells of the display DISPLAY. 2818 doc: /* Returns the number of color cells of DISPLAY.
2920The optional argument DISPLAY specifies which display to ask about. 2819The optional argument DISPLAY specifies which display to ask about.
2921DISPLAY should be either a frame or a display name (a string). 2820DISPLAY should be either a frame or a display name (a string).
2922If omitted or nil, that stands for the selected frame's display. */) 2821If omitted or nil, that stands for the selected frame's display. */)
2923 (display) 2822 (display)
2924 Lisp_Object display; 2823 Lisp_Object display;
2925{ 2824{
2926 struct mac_display_info *dpyinfo = check_x_display_info (display); 2825 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -2932,11 +2831,11 @@ If omitted or nil, that stands for the selected frame's display. */)
2932DEFUN ("x-server-max-request-size", Fx_server_max_request_size, 2831DEFUN ("x-server-max-request-size", Fx_server_max_request_size,
2933 Sx_server_max_request_size, 2832 Sx_server_max_request_size,
2934 0, 1, 0, 2833 0, 1, 0,
2935 doc: /* Returns the maximum request size of the server of display DISPLAY. 2834 doc: /* Returns the maximum request size of the server of DISPLAY.
2936The optional argument DISPLAY specifies which display to ask about. 2835The optional argument DISPLAY specifies which display to ask about.
2937DISPLAY should be either a frame or a display name (a string). 2836DISPLAY should be either a frame or a display name (a string).
2938If omitted or nil, that stands for the selected frame's display. */) 2837If omitted or nil, that stands for the selected frame's display. */)
2939 (display) 2838 (display)
2940 Lisp_Object display; 2839 Lisp_Object display;
2941{ 2840{
2942 struct mac_display_info *dpyinfo = check_x_display_info (display); 2841 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -2945,18 +2844,18 @@ If omitted or nil, that stands for the selected frame's display. */)
2945} 2844}
2946 2845
2947DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, 2846DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0,
2948 doc: /* Returns the vendor ID string of the Mac OS system (Apple). 2847 doc: /* Returns the "vendor ID" string of the Mac OS system (Apple).
2949The optional argument DISPLAY specifies which display to ask about. 2848The optional argument DISPLAY specifies which display to ask about.
2950DISPLAY should be either a frame or a display name (a string). 2849DISPLAY should be either a frame or a display name (a string).
2951If omitted or nil, that stands for the selected frame's display. */) 2850If omitted or nil, that stands for the selected frame's display. */)
2952 (display) 2851 (display)
2953 Lisp_Object display; 2852 Lisp_Object display;
2954{ 2853{
2955 return build_string ("Apple Computers"); 2854 return build_string ("Apple Computers");
2956} 2855}
2957 2856
2958DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0, 2857DEFUN ("x-server-version", Fx_server_version, Sx_server_version, 0, 1, 0,
2959 doc: /* Returns the version numbers of the server of display DISPLAY. 2858 doc: /* Returns the version numbers of the Mac OS system.
2960The value is a list of three integers: the major and minor 2859The value is a list of three integers: the major and minor
2961version numbers, and the vendor-specific release 2860version numbers, and the vendor-specific release
2962number. See also the function `x-server-vendor'. 2861number. See also the function `x-server-vendor'.
@@ -2964,7 +2863,7 @@ number. See also the function `x-server-vendor'.
2964The optional argument DISPLAY specifies which display to ask about. 2863The optional argument DISPLAY specifies which display to ask about.
2965DISPLAY should be either a frame or a display name (a string). 2864DISPLAY should be either a frame or a display name (a string).
2966If omitted or nil, that stands for the selected frame's display. */) 2865If omitted or nil, that stands for the selected frame's display. */)
2967 (display) 2866 (display)
2968 Lisp_Object display; 2867 Lisp_Object display;
2969{ 2868{
2970 int mac_major_version; 2869 int mac_major_version;
@@ -2989,22 +2888,22 @@ If omitted or nil, that stands for the selected frame's display. */)
2989} 2888}
2990 2889
2991DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0, 2890DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0,
2992 doc: /* Return the number of screens on the server of display DISPLAY. 2891 doc: /* Return the number of screens on the server of DISPLAY.
2993The optional argument DISPLAY specifies which display to ask about. 2892The optional argument DISPLAY specifies which display to ask about.
2994DISPLAY should be either a frame or a display name (a string). 2893DISPLAY should be either a frame or a display name (a string).
2995If omitted or nil, that stands for the selected frame's display. */) 2894If omitted or nil, that stands for the selected frame's display. */)
2996 (display) 2895 (display)
2997 Lisp_Object display; 2896 Lisp_Object display;
2998{ 2897{
2999 return make_number (1); 2898 return make_number (1);
3000} 2899}
3001 2900
3002DEFUN ("x-display-mm-height", Fx_display_mm_height, Sx_display_mm_height, 0, 1, 0, 2901DEFUN ("x-display-mm-height", Fx_display_mm_height, Sx_display_mm_height, 0, 1, 0,
3003 doc: /* Return the height in millimeters of the X display DISPLAY. 2902 doc: /* Return the height in millimeters of DISPLAY.
3004The optional argument DISPLAY specifies which display to ask about. 2903The optional argument DISPLAY specifies which display to ask about.
3005DISPLAY should be either a frame or a display name (a string). 2904DISPLAY should be either a frame or a display name (a string).
3006If omitted or nil, that stands for the selected frame's display. */) 2905If omitted or nil, that stands for the selected frame's display. */)
3007 (display) 2906 (display)
3008 Lisp_Object display; 2907 Lisp_Object display;
3009{ 2908{
3010 /* MAC_TODO: this is an approximation, and only of the main display */ 2909 /* MAC_TODO: this is an approximation, and only of the main display */
@@ -3015,11 +2914,11 @@ If omitted or nil, that stands for the selected frame's display. */)
3015} 2914}
3016 2915
3017DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0, 2916DEFUN ("x-display-mm-width", Fx_display_mm_width, Sx_display_mm_width, 0, 1, 0,
3018 doc: /* Return the width in millimeters of the X display DISPLAY. 2917 doc: /* Return the width in millimeters of DISPLAY.
3019The optional argument DISPLAY specifies which display to ask about. 2918The optional argument DISPLAY specifies which display to ask about.
3020DISPLAY should be either a frame or a display name (a string). 2919DISPLAY should be either a frame or a display name (a string).
3021If omitted or nil, that stands for the selected frame's display. */) 2920If omitted or nil, that stands for the selected frame's display. */)
3022 (display) 2921 (display)
3023 Lisp_Object display; 2922 Lisp_Object display;
3024{ 2923{
3025 /* MAC_TODO: this is an approximation, and only of the main display */ 2924 /* MAC_TODO: this is an approximation, and only of the main display */
@@ -3031,12 +2930,12 @@ If omitted or nil, that stands for the selected frame's display. */)
3031 2930
3032DEFUN ("x-display-backing-store", Fx_display_backing_store, 2931DEFUN ("x-display-backing-store", Fx_display_backing_store,
3033 Sx_display_backing_store, 0, 1, 0, 2932 Sx_display_backing_store, 0, 1, 0,
3034 doc: /* Returns an indication of whether display DISPLAY does backing store. 2933 doc: /* Returns an indication of whether DISPLAY does backing store.
3035The value may be `always', `when-mapped', or `not-useful'. 2934The value may be `always', `when-mapped', or `not-useful'.
3036The optional argument DISPLAY specifies which display to ask about. 2935The optional argument DISPLAY specifies which display to ask about.
3037DISPLAY should be either a frame or a display name (a string). 2936DISPLAY should be either a frame or a display name (a string).
3038If omitted or nil, that stands for the selected frame's display. */) 2937If omitted or nil, that stands for the selected frame's display. */)
3039 (display) 2938 (display)
3040 Lisp_Object display; 2939 Lisp_Object display;
3041{ 2940{
3042 return intern ("not-useful"); 2941 return intern ("not-useful");
@@ -3044,14 +2943,14 @@ If omitted or nil, that stands for the selected frame's display. */)
3044 2943
3045DEFUN ("x-display-visual-class", Fx_display_visual_class, 2944DEFUN ("x-display-visual-class", Fx_display_visual_class,
3046 Sx_display_visual_class, 0, 1, 0, 2945 Sx_display_visual_class, 0, 1, 0,
3047 doc: /* Returns the visual class of the display DISPLAY. 2946 doc: /* Returns the visual class of DISPLAY.
3048The value is one of the symbols `static-gray', `gray-scale', 2947The value is one of the symbols `static-gray', `gray-scale',
3049`static-color', `pseudo-color', `true-color', or `direct-color'. 2948`static-color', `pseudo-color', `true-color', or `direct-color'.
3050 2949
3051The optional argument DISPLAY specifies which display to ask about. 2950The optional argument DISPLAY specifies which display to ask about.
3052DISPLAY should be either a frame or a display name (a string). 2951DISPLAY should be either a frame or a display name (a string).
3053If omitted or nil, that stands for the selected frame's display. */) 2952If omitted or nil, that stands for the selected frame's display. */)
3054 (display) 2953 (display)
3055 Lisp_Object display; 2954 Lisp_Object display;
3056{ 2955{
3057 struct mac_display_info *dpyinfo = check_x_display_info (display); 2956 struct mac_display_info *dpyinfo = check_x_display_info (display);
@@ -3075,11 +2974,11 @@ If omitted or nil, that stands for the selected frame's display. */)
3075 2974
3076DEFUN ("x-display-save-under", Fx_display_save_under, 2975DEFUN ("x-display-save-under", Fx_display_save_under,
3077 Sx_display_save_under, 0, 1, 0, 2976 Sx_display_save_under, 0, 1, 0,
3078 doc: /* Returns t if the display DISPLAY supports the save-under feature. 2977 doc: /* Returns t if DISPLAY supports the save-under feature.
3079The optional argument DISPLAY specifies which display to ask about. 2978The optional argument DISPLAY specifies which display to ask about.
3080DISPLAY should be either a frame or a display name (a string). 2979DISPLAY should be either a frame or a display name (a string).
3081If omitted or nil, that stands for the selected frame's display. */) 2980If omitted or nil, that stands for the selected frame's display. */)
3082 (display) 2981 (display)
3083 Lisp_Object display; 2982 Lisp_Object display;
3084{ 2983{
3085 return Qnil; 2984 return Qnil;
@@ -3169,7 +3068,7 @@ DISPLAY is the name of the display to connect to.
3169Optional second arg XRM-STRING is a string of resources in xrdb format. 3068Optional second arg XRM-STRING is a string of resources in xrdb format.
3170If the optional third arg MUST-SUCCEED is non-nil, 3069If the optional third arg MUST-SUCCEED is non-nil,
3171terminate Emacs if we can't open the connection. */) 3070terminate Emacs if we can't open the connection. */)
3172 (display, xrm_string, must_succeed) 3071 (display, xrm_string, must_succeed)
3173 Lisp_Object display, xrm_string, must_succeed; 3072 Lisp_Object display, xrm_string, must_succeed;
3174{ 3073{
3175 unsigned char *xrm_option; 3074 unsigned char *xrm_option;
@@ -3214,8 +3113,8 @@ DEFUN ("x-close-connection", Fx_close_connection,
3214 doc: /* Close the connection to DISPLAY's server. 3113 doc: /* Close the connection to DISPLAY's server.
3215For DISPLAY, specify either a frame or a display name (a string). 3114For DISPLAY, specify either a frame or a display name (a string).
3216If DISPLAY is nil, that stands for the selected frame's display. */) 3115If DISPLAY is nil, that stands for the selected frame's display. */)
3217 (display) 3116 (display)
3218 Lisp_Object display; 3117 Lisp_Object display;
3219{ 3118{
3220 struct mac_display_info *dpyinfo = check_x_display_info (display); 3119 struct mac_display_info *dpyinfo = check_x_display_info (display);
3221 int i; 3120 int i;
@@ -3241,7 +3140,7 @@ If DISPLAY is nil, that stands for the selected frame's display. */)
3241 3140
3242DEFUN ("x-display-list", Fx_display_list, Sx_display_list, 0, 0, 0, 3141DEFUN ("x-display-list", Fx_display_list, Sx_display_list, 0, 0, 0,
3243 doc: /* Return the list of display names that Emacs has connections to. */) 3142 doc: /* Return the list of display names that Emacs has connections to. */)
3244 () 3143 ()
3245{ 3144{
3246 Lisp_Object tail, result; 3145 Lisp_Object tail, result;
3247 3146
@@ -3253,13 +3152,8 @@ DEFUN ("x-display-list", Fx_display_list, Sx_display_list, 0, 0, 0,
3253} 3152}
3254 3153
3255DEFUN ("x-synchronize", Fx_synchronize, Sx_synchronize, 1, 2, 0, 3154DEFUN ("x-synchronize", Fx_synchronize, Sx_synchronize, 1, 2, 0,
3256 doc: /* If ON is non-nil, report errors as soon as the erring request is made. 3155 doc: /* This is a noop on Mac OS systems. */)
3257If ON is nil, allow buffering of requests. 3156 (on, display)
3258This is a noop on Mac OS systems.
3259The optional second argument DISPLAY specifies which display to act on.
3260DISPLAY should be either a frame or a display name (a string).
3261If DISPLAY is omitted or nil, that stands for the selected frame's display. */)
3262 (on, display)
3263 Lisp_Object display, on; 3157 Lisp_Object display, on;
3264{ 3158{
3265 return Qnil; 3159 return Qnil;
@@ -3318,7 +3212,7 @@ DEFUN ("x-delete-window-property", Fx_delete_window_property,
3318 Sx_delete_window_property, 1, 2, 0, 3212 Sx_delete_window_property, 1, 2, 0,
3319 doc: /* Remove window property PROP from X window of FRAME. 3213 doc: /* Remove window property PROP from X window of FRAME.
3320FRAME nil or omitted means use the selected frame. Value is PROP. */) 3214FRAME nil or omitted means use the selected frame. Value is PROP. */)
3321 (prop, frame) 3215 (prop, frame)
3322 Lisp_Object prop, frame; 3216 Lisp_Object prop, frame;
3323{ 3217{
3324#if 0 /* MAC_TODO : port window properties to Mac */ 3218#if 0 /* MAC_TODO : port window properties to Mac */
@@ -3346,7 +3240,7 @@ DEFUN ("x-window-property", Fx_window_property, Sx_window_property,
3346If FRAME is nil or omitted, use the selected frame. Value is nil 3240If FRAME is nil or omitted, use the selected frame. Value is nil
3347if FRAME hasn't a property with name PROP or if PROP has no string 3241if FRAME hasn't a property with name PROP or if PROP has no string
3348value. */) 3242value. */)
3349 (prop, frame) 3243 (prop, frame)
3350 Lisp_Object prop, frame; 3244 Lisp_Object prop, frame;
3351{ 3245{
3352#if 0 /* MAC_TODO : port window properties to Mac */ 3246#if 0 /* MAC_TODO : port window properties to Mac */
@@ -3948,7 +3842,7 @@ compute_tip_xy (f, parms, dx, dy, width, height, root_x, root_y)
3948 3842
3949DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0, 3843DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0,
3950 doc: /* Show STRING in a "tooltip" window on frame FRAME. 3844 doc: /* Show STRING in a "tooltip" window on frame FRAME.
3951A tooltip window is a small X window displaying a string. 3845A tooltip window is a small window displaying a string.
3952 3846
3953FRAME nil or omitted means use the selected frame. 3847FRAME nil or omitted means use the selected frame.
3954 3848
@@ -3958,7 +3852,7 @@ change the tooltip's appearance.
3958Automatically hide the tooltip after TIMEOUT seconds. TIMEOUT nil 3852Automatically hide the tooltip after TIMEOUT seconds. TIMEOUT nil
3959means use the default timeout of 5 seconds. 3853means use the default timeout of 5 seconds.
3960 3854
3961If the list of frame parameters PARAMS contains a `left' parameters, 3855If the list of frame parameters PARMS contains a `left' parameter,
3962the tooltip is displayed at that x-position. Otherwise it is 3856the tooltip is displayed at that x-position. Otherwise it is
3963displayed at the mouse position, with offset DX added (default is 5 if 3857displayed at the mouse position, with offset DX added (default is 5 if
3964DX isn't specified). Likewise for the y-position; if a `top' frame 3858DX isn't specified). Likewise for the y-position; if a `top' frame
@@ -4216,7 +4110,7 @@ Use a file selection dialog.
4216Select DEFAULT-FILENAME in the dialog's file selection box, if 4110Select DEFAULT-FILENAME in the dialog's file selection box, if
4217specified. Ensure that file exists if MUSTMATCH is non-nil. 4111specified. Ensure that file exists if MUSTMATCH is non-nil.
4218If ONLY-DIR-P is non-nil, the user can only select directories. */) 4112If ONLY-DIR-P is non-nil, the user can only select directories. */)
4219 (prompt, dir, default_filename, mustmatch, only_dir_p) 4113 (prompt, dir, default_filename, mustmatch, only_dir_p)
4220 Lisp_Object prompt, dir, default_filename, mustmatch, only_dir_p; 4114 Lisp_Object prompt, dir, default_filename, mustmatch, only_dir_p;
4221{ 4115{
4222 struct frame *f = SELECTED_FRAME (); 4116 struct frame *f = SELECTED_FRAME ();