aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/w32console.c24
-rw-r--r--src/w32menu.c96
-rw-r--r--src/w32proc.c262
-rw-r--r--src/w32select.c54
-rw-r--r--src/w32term.c50
5 files changed, 251 insertions, 235 deletions
diff --git a/src/w32console.c b/src/w32console.c
index 41693c63a85..490c1e10373 100644
--- a/src/w32console.c
+++ b/src/w32console.c
@@ -420,11 +420,11 @@ w32_sys_ring_bell (void)
420} 420}
421 421
422DEFUN ("set-message-beep", Fset_message_beep, Sset_message_beep, 1, 1, 0, 422DEFUN ("set-message-beep", Fset_message_beep, Sset_message_beep, 1, 1, 0,
423 "Set the sound generated when the bell is rung.\n\ 423 doc: /* Set the sound generated when the bell is rung.
424SOUND is 'asterisk, 'exclamation, 'hand, 'question, 'ok, or 'silent\n\ 424SOUND is 'asterisk, 'exclamation, 'hand, 'question, 'ok, or 'silent
425to use the corresponding system sound for the bell. The 'silent sound\n\ 425to use the corresponding system sound for the bell. The 'silent sound
426prevents Emacs from making any sound at all.\n\ 426prevents Emacs from making any sound at all.
427SOUND is nil to use the normal beep.") 427SOUND is nil to use the normal beep. */)
428 (sound) 428 (sound)
429 Lisp_Object sound; 429 Lisp_Object sound;
430{ 430{
@@ -682,7 +682,7 @@ initialize_w32_display (void)
682} 682}
683 683
684DEFUN ("set-screen-color", Fset_screen_color, Sset_screen_color, 2, 2, 0, 684DEFUN ("set-screen-color", Fset_screen_color, Sset_screen_color, 2, 2, 0,
685 "Set screen colors.") 685 doc: /* Set screen colors. */)
686 (foreground, background) 686 (foreground, background)
687 Lisp_Object foreground; 687 Lisp_Object foreground;
688 Lisp_Object background; 688 Lisp_Object background;
@@ -694,7 +694,7 @@ DEFUN ("set-screen-color", Fset_screen_color, Sset_screen_color, 2, 2, 0,
694} 694}
695 695
696DEFUN ("set-cursor-size", Fset_cursor_size, Sset_cursor_size, 1, 1, 0, 696DEFUN ("set-cursor-size", Fset_cursor_size, Sset_cursor_size, 1, 1, 0,
697 "Set cursor size.") 697 doc: /* Set cursor size. */)
698 (size) 698 (size)
699 Lisp_Object size; 699 Lisp_Object size;
700{ 700{
@@ -728,11 +728,11 @@ syms_of_ntterm ()
728{ 728{
729 DEFVAR_BOOL ("w32-use-full-screen-buffer", 729 DEFVAR_BOOL ("w32-use-full-screen-buffer",
730 &w32_use_full_screen_buffer, 730 &w32_use_full_screen_buffer,
731 "Non-nil means make terminal frames use the full screen buffer dimensions.\n\ 731 doc: /* Non-nil means make terminal frames use the full screen buffer dimensions.
732This is desirable when running Emacs over telnet, and is the default.\n\ 732This is desirable when running Emacs over telnet, and is the default.
733A value of nil means use the current console window dimensions; this\n\ 733A value of nil means use the current console window dimensions; this
734may be preferrable when working directly at the console with a large\n\ 734may be preferrable when working directly at the console with a large
735scroll-back buffer."); 735scroll-back buffer. */);
736 w32_use_full_screen_buffer = 1; 736 w32_use_full_screen_buffer = 1;
737 737
738 defsubr (&Sset_screen_color); 738 defsubr (&Sset_screen_color);
diff --git a/src/w32menu.c b/src/w32menu.c
index d35af3025d1..2bf57e1870c 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -584,38 +584,37 @@ list_of_items (pane)
584} 584}
585 585
586DEFUN ("x-popup-menu", Fx_popup_menu, Sx_popup_menu, 2, 2, 0, 586DEFUN ("x-popup-menu", Fx_popup_menu, Sx_popup_menu, 2, 2, 0,
587 "Pop up a deck-of-cards menu and return user's selection.\n\ 587 doc: /* Pop up a deck-of-cards menu and return user's selection.
588POSITION is a position specification. This is either a mouse button event\n\ 588POSITION is a position specification. This is either a mouse button
589or a list ((XOFFSET YOFFSET) WINDOW)\n\ 589event or a list ((XOFFSET YOFFSET) WINDOW) where XOFFSET and YOFFSET
590where XOFFSET and YOFFSET are positions in pixels from the top left\n\ 590are positions in pixels from the top left corner of WINDOW's frame
591corner of WINDOW's frame. (WINDOW may be a frame object instead of a window.)\n\ 591\(WINDOW may be a frame object instead of a window). This controls the
592This controls the position of the center of the first line\n\ 592position of the center of the first line in the first pane of the
593in the first pane of the menu, not the top left of the menu as a whole.\n\ 593menu, not the top left of the menu as a whole. If POSITION is t, it
594If POSITION is t, it means to use the current mouse position.\n\ 594means to use the current mouse position.
595\n\ 595
596MENU is a specifier for a menu. For the simplest case, MENU is a keymap.\n\ 596MENU is a specifier for a menu. For the simplest case, MENU is a keymap.
597The menu items come from key bindings that have a menu string as well as\n\ 597The menu items come from key bindings that have a menu string as well as
598a definition; actually, the \"definition\" in such a key binding looks like\n\ 598a definition; actually, the \"definition\" in such a key binding looks like
599\(STRING . REAL-DEFINITION). To give the menu a title, put a string into\n\ 599\(STRING . REAL-DEFINITION). To give the menu a title, put a string into
600the keymap as a top-level element.\n\n\ 600the keymap as a top-level element.
601If REAL-DEFINITION is nil, that puts a nonselectable string in the menu.\n\ 601
602Otherwise, REAL-DEFINITION should be a valid key binding definition.\n\ 602If REAL-DEFINITION is nil, that puts a nonselectable string in the menu.
603\n\ 603Otherwise, REAL-DEFINITION should be a valid key binding definition.
604You can also use a list of keymaps as MENU.\n\ 604
605 Then each keymap makes a separate pane.\n\ 605You can also use a list of keymaps as MENU. Then each keymap makes a
606When MENU is a keymap or a list of keymaps, the return value\n\ 606separate pane. When MENU is a keymap or a list of keymaps, the return
607is a list of events.\n\n\ 607value is a list of events.
608\n\ 608
609Alternatively, you can specify a menu of multiple panes\n\ 609Alternatively, you can specify a menu of multiple panes with a list of
610 with a list of the form (TITLE PANE1 PANE2...),\n\ 610the form (TITLE PANE1 PANE2...), where each pane is a list of
611where each pane is a list of form (TITLE ITEM1 ITEM2...).\n\ 611form (TITLE ITEM1 ITEM2...).
612Each ITEM is normally a cons cell (STRING . VALUE);\n\ 612Each ITEM is normally a cons cell (STRING . VALUE); but a string can
613but a string can appear as an item--that makes a nonselectable line\n\ 613appear as an item--that makes a nonselectable line in the menu.
614in the menu.\n\ 614With this form of menu, the return value is VALUE from the chosen item.
615With this form of menu, the return value is VALUE from the chosen item.\n\ 615
616\n\ 616If POSITION is nil, don't display the menu at all, just precalculate the
617If POSITION is nil, don't display the menu at all, just precalculate the\n\ 617cached information about equivalent key sequences. */)
618cached information about equivalent key sequences.")
619 (position, menu) 618 (position, menu)
620 Lisp_Object position, menu; 619 Lisp_Object position, menu;
621{ 620{
@@ -808,20 +807,21 @@ cached information about equivalent key sequences.")
808#ifdef HAVE_MENUS 807#ifdef HAVE_MENUS
809 808
810DEFUN ("x-popup-dialog", Fx_popup_dialog, Sx_popup_dialog, 2, 2, 0, 809DEFUN ("x-popup-dialog", Fx_popup_dialog, Sx_popup_dialog, 2, 2, 0,
811 "Pop up a dialog box and return user's selection.\n\ 810 doc: /* Pop up a dialog box and return user's selection.
812POSITION specifies which frame to use.\n\ 811POSITION specifies which frame to use.
813This is normally a mouse button event or a window or frame.\n\ 812This is normally a mouse button event or a window or frame.
814If POSITION is t, it means to use the frame the mouse is on.\n\ 813If POSITION is t, it means to use the frame the mouse is on.
815The dialog box appears in the middle of the specified frame.\n\ 814The dialog box appears in the middle of the specified frame.
816\n\ 815
817CONTENTS specifies the alternatives to display in the dialog box.\n\ 816CONTENTS specifies the alternatives to display in the dialog box.
818It is a list of the form (TITLE ITEM1 ITEM2...).\n\ 817It is a list of the form (TITLE ITEM1 ITEM2...).
819Each ITEM is a cons cell (STRING . VALUE).\n\ 818Each ITEM is a cons cell (STRING . VALUE).
820The return value is VALUE from the chosen item.\n\n\ 819The return value is VALUE from the chosen item.
821An ITEM may also be just a string--that makes a nonselectable item.\n\ 820
822An ITEM may also be nil--that means to put all preceding items\n\ 821An ITEM may also be just a string--that makes a nonselectable item.
823on the left of the dialog box and all following items on the right.\n\ 822An ITEM may also be nil--that means to put all preceding items
824\(By default, approximately half appear on each side.)") 823on the left of the dialog box and all following items on the right.
824\(By default, approximately half appear on each side.) */)
825 (position, contents) 825 (position, contents)
826 Lisp_Object position, contents; 826 Lisp_Object position, contents;
827{ 827{
@@ -2229,8 +2229,8 @@ syms_of_w32menu ()
2229 staticpro (&Qdebug_on_next_call); 2229 staticpro (&Qdebug_on_next_call);
2230 2230
2231 DEFVAR_LISP ("menu-updating-frame", &Vmenu_updating_frame, 2231 DEFVAR_LISP ("menu-updating-frame", &Vmenu_updating_frame,
2232 "Frame for which we are updating a menu.\n\ 2232 doc: /* Frame for which we are updating a menu.
2233The enable predicate for a menu command should check this variable."); 2233The enable predicate for a menu command should check this variable. */);
2234 Vmenu_updating_frame = Qnil; 2234 Vmenu_updating_frame = Qnil;
2235 2235
2236 defsubr (&Sx_popup_menu); 2236 defsubr (&Sx_popup_menu);
diff --git a/src/w32proc.c b/src/w32proc.c
index 56ec9349e8d..7c9aad6b0a5 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -1646,14 +1646,14 @@ extern BOOL init_winsock (int load_now);
1646extern Lisp_Object Vsystem_name; 1646extern Lisp_Object Vsystem_name;
1647 1647
1648DEFUN ("w32-has-winsock", Fw32_has_winsock, Sw32_has_winsock, 0, 1, 0, 1648DEFUN ("w32-has-winsock", Fw32_has_winsock, Sw32_has_winsock, 0, 1, 0,
1649 "Test for presence of the Windows socket library `winsock'.\n\ 1649 doc: /* Test for presence of the Windows socket library `winsock'.
1650Returns non-nil if winsock support is present, nil otherwise.\n\ 1650Returns non-nil if winsock support is present, nil otherwise.
1651\n\ 1651
1652If the optional argument LOAD-NOW is non-nil, the winsock library is\n\ 1652If the optional argument LOAD-NOW is non-nil, the winsock library is
1653also loaded immediately if not already loaded. If winsock is loaded,\n\ 1653also loaded immediately if not already loaded. If winsock is loaded,
1654the winsock local hostname is returned (since this may be different from\n\ 1654the winsock local hostname is returned (since this may be different from
1655the value of `system-name' and should supplant it), otherwise t is\n\ 1655the value of `system-name' and should supplant it), otherwise t is
1656returned to indicate winsock support is present.") 1656returned to indicate winsock support is present. */)
1657 (load_now) 1657 (load_now)
1658 Lisp_Object load_now; 1658 Lisp_Object load_now;
1659{ 1659{
@@ -1682,10 +1682,10 @@ returned to indicate winsock support is present.")
1682 1682
1683DEFUN ("w32-unload-winsock", Fw32_unload_winsock, Sw32_unload_winsock, 1683DEFUN ("w32-unload-winsock", Fw32_unload_winsock, Sw32_unload_winsock,
1684 0, 0, 0, 1684 0, 0, 0,
1685 "Unload the Windows socket library `winsock' if loaded.\n\ 1685 doc: /* Unload the Windows socket library `winsock' if loaded.
1686This is provided to allow dial-up socket connections to be disconnected\n\ 1686This is provided to allow dial-up socket connections to be disconnected
1687when no longer needed. Returns nil without unloading winsock if any\n\ 1687when no longer needed. Returns nil without unloading winsock if any
1688socket connections still exist.") 1688socket connections still exist. */)
1689 () 1689 ()
1690{ 1690{
1691 return term_winsock () ? Qt : Qnil; 1691 return term_winsock () ? Qt : Qnil;
@@ -1704,9 +1704,9 @@ socket connections still exist.")
1704 } while (0) 1704 } while (0)
1705 1705
1706DEFUN ("w32-short-file-name", Fw32_short_file_name, Sw32_short_file_name, 1, 1, 0, 1706DEFUN ("w32-short-file-name", Fw32_short_file_name, Sw32_short_file_name, 1, 1, 0,
1707 "Return the short file name version (8.3) of the full path of FILENAME.\n\ 1707 doc: /* Return the short file name version (8.3) of the full path of FILENAME.
1708If FILENAME does not exist, return nil.\n\ 1708If FILENAME does not exist, return nil.
1709All path elements in FILENAME are converted to their short names.") 1709All path elements in FILENAME are converted to their short names. */)
1710 (filename) 1710 (filename)
1711 Lisp_Object filename; 1711 Lisp_Object filename;
1712{ 1712{
@@ -1729,9 +1729,9 @@ All path elements in FILENAME are converted to their short names.")
1729 1729
1730DEFUN ("w32-long-file-name", Fw32_long_file_name, Sw32_long_file_name, 1730DEFUN ("w32-long-file-name", Fw32_long_file_name, Sw32_long_file_name,
1731 1, 1, 0, 1731 1, 1, 0,
1732 "Return the long file name version of the full path of FILENAME.\n\ 1732 doc: /* Return the long file name version of the full path of FILENAME.
1733If FILENAME does not exist, return nil.\n\ 1733If FILENAME does not exist, return nil.
1734All path elements in FILENAME are converted to their long names.") 1734All path elements in FILENAME are converted to their long names. */)
1735 (filename) 1735 (filename)
1736 Lisp_Object filename; 1736 Lisp_Object filename;
1737{ 1737{
@@ -1750,15 +1750,15 @@ All path elements in FILENAME are converted to their long names.")
1750 return build_string (longname); 1750 return build_string (longname);
1751} 1751}
1752 1752
1753DEFUN ("w32-set-process-priority", Fw32_set_process_priority, Sw32_set_process_priority, 1753DEFUN ("w32-set-process-priority", Fw32_set_process_priority,
1754 2, 2, 0, 1754 Sw32_set_process_priority, 2, 2, 0,
1755 "Set the priority of PROCESS to PRIORITY.\n\ 1755 doc: /* Set the priority of PROCESS to PRIORITY.
1756If PROCESS is nil, the priority of Emacs is changed, otherwise the\n\ 1756If PROCESS is nil, the priority of Emacs is changed, otherwise the
1757priority of the process whose pid is PROCESS is changed.\n\ 1757priority of the process whose pid is PROCESS is changed.
1758PRIORITY should be one of the symbols high, normal, or low;\n\ 1758PRIORITY should be one of the symbols high, normal, or low;
1759any other symbol will be interpreted as normal.\n\ 1759any other symbol will be interpreted as normal.
1760\n\ 1760
1761If successful, the return value is t, otherwise nil.") 1761If successful, the return value is t, otherwise nil. */)
1762 (process, priority) 1762 (process, priority)
1763 Lisp_Object process, priority; 1763 Lisp_Object process, priority;
1764{ 1764{
@@ -1804,19 +1804,20 @@ If successful, the return value is t, otherwise nil.")
1804} 1804}
1805 1805
1806 1806
1807DEFUN ("w32-get-locale-info", Fw32_get_locale_info, Sw32_get_locale_info, 1, 2, 0, 1807DEFUN ("w32-get-locale-info", Fw32_get_locale_info,
1808 "Return information about the Windows locale LCID.\n\ 1808 Sw32_get_locale_info, 1, 2, 0,
1809By default, return a three letter locale code which encodes the default\n\ 1809 doc: /* Return information about the Windows locale LCID.
1810language as the first two characters, and the country or regionial variant\n\ 1810By default, return a three letter locale code which encodes the default
1811as the third letter. For example, ENU refers to `English (United States)',\n\ 1811language as the first two characters, and the country or regionial variant
1812while ENC means `English (Canadian)'.\n\ 1812as the third letter. For example, ENU refers to `English (United States)',
1813\n\ 1813while ENC means `English (Canadian)'.
1814If the optional argument LONGFORM is t, the long form of the locale\n\ 1814
1815name is returned, e.g. `English (United States)' instead; if LONGFORM\n\ 1815If the optional argument LONGFORM is t, the long form of the locale
1816is a number, it is interpreted as an LCTYPE constant and the corresponding\n\ 1816name is returned, e.g. `English (United States)' instead; if LONGFORM
1817locale information is returned.\n\ 1817is a number, it is interpreted as an LCTYPE constant and the corresponding
1818\n\ 1818locale information is returned.
1819If LCID (a 16-bit number) is not a valid locale, the result is nil.") 1819
1820If LCID (a 16-bit number) is not a valid locale, the result is nil. */)
1820 (lcid, longform) 1821 (lcid, longform)
1821 Lisp_Object lcid, longform; 1822 Lisp_Object lcid, longform;
1822{ 1823{
@@ -1859,10 +1860,11 @@ If LCID (a 16-bit number) is not a valid locale, the result is nil.")
1859} 1860}
1860 1861
1861 1862
1862DEFUN ("w32-get-current-locale-id", Fw32_get_current_locale_id, Sw32_get_current_locale_id, 0, 0, 0, 1863DEFUN ("w32-get-current-locale-id", Fw32_get_current_locale_id,
1863 "Return Windows locale id for current locale setting.\n\ 1864 Sw32_get_current_locale_id, 0, 0, 0,
1864This is a numerical value; use `w32-get-locale-info' to convert to a\n\ 1865 doc: /* Return Windows locale id for current locale setting.
1865human-readable form.") 1866This is a numerical value; use `w32-get-locale-info' to convert to a
1867human-readable form. */)
1866 () 1868 ()
1867{ 1869{
1868 return make_number (GetThreadLocale ()); 1870 return make_number (GetThreadLocale ());
@@ -1896,10 +1898,11 @@ BOOL CALLBACK enum_locale_fn (LPTSTR localeNum)
1896 return TRUE; 1898 return TRUE;
1897} 1899}
1898 1900
1899DEFUN ("w32-get-valid-locale-ids", Fw32_get_valid_locale_ids, Sw32_get_valid_locale_ids, 0, 0, 0, 1901DEFUN ("w32-get-valid-locale-ids", Fw32_get_valid_locale_ids,
1900 "Return list of all valid Windows locale ids.\n\ 1902 Sw32_get_valid_locale_ids, 0, 0, 0,
1901Each id is a numerical value; use `w32-get-locale-info' to convert to a\n\ 1903 doc: /* Return list of all valid Windows locale ids.
1902human-readable form.") 1904Each id is a numerical value; use `w32-get-locale-info' to convert to a
1905human-readable form. */)
1903 () 1906 ()
1904{ 1907{
1905 Vw32_valid_locale_ids = Qnil; 1908 Vw32_valid_locale_ids = Qnil;
@@ -1912,11 +1915,11 @@ human-readable form.")
1912 1915
1913 1916
1914DEFUN ("w32-get-default-locale-id", Fw32_get_default_locale_id, Sw32_get_default_locale_id, 0, 1, 0, 1917DEFUN ("w32-get-default-locale-id", Fw32_get_default_locale_id, Sw32_get_default_locale_id, 0, 1, 0,
1915 "Return Windows locale id for default locale setting.\n\ 1918 doc: /* Return Windows locale id for default locale setting.
1916By default, the system default locale setting is returned; if the optional\n\ 1919By default, the system default locale setting is returned; if the optional
1917parameter USERP is non-nil, the user default locale setting is returned.\n\ 1920parameter USERP is non-nil, the user default locale setting is returned.
1918This is a numerical value; use `w32-get-locale-info' to convert to a\n\ 1921This is a numerical value; use `w32-get-locale-info' to convert to a
1919human-readable form.") 1922human-readable form. */)
1920 (userp) 1923 (userp)
1921 Lisp_Object userp; 1924 Lisp_Object userp;
1922{ 1925{
@@ -1927,8 +1930,8 @@ human-readable form.")
1927 1930
1928 1931
1929DEFUN ("w32-set-current-locale", Fw32_set_current_locale, Sw32_set_current_locale, 1, 1, 0, 1932DEFUN ("w32-set-current-locale", Fw32_set_current_locale, Sw32_set_current_locale, 1, 1, 0,
1930 "Make Windows locale LCID be the current locale setting for Emacs.\n\ 1933 doc: /* Make Windows locale LCID be the current locale setting for Emacs.
1931If successful, the new locale id is returned, otherwise nil.") 1934If successful, the new locale id is returned, otherwise nil. */)
1932 (lcid) 1935 (lcid)
1933 Lisp_Object lcid; 1936 Lisp_Object lcid;
1934{ 1937{
@@ -1960,8 +1963,9 @@ BOOL CALLBACK enum_codepage_fn (LPTSTR codepageNum)
1960 return TRUE; 1963 return TRUE;
1961} 1964}
1962 1965
1963DEFUN ("w32-get-valid-codepages", Fw32_get_valid_codepages, Sw32_get_valid_codepages, 0, 0, 0, 1966DEFUN ("w32-get-valid-codepages", Fw32_get_valid_codepages,
1964 "Return list of all valid Windows codepages.") 1967 Sw32_get_valid_codepages, 0, 0, 0,
1968 doc: /* Return list of all valid Windows codepages. */)
1965 () 1969 ()
1966{ 1970{
1967 Vw32_valid_codepages = Qnil; 1971 Vw32_valid_codepages = Qnil;
@@ -1973,18 +1977,20 @@ DEFUN ("w32-get-valid-codepages", Fw32_get_valid_codepages, Sw32_get_valid_codep
1973} 1977}
1974 1978
1975 1979
1976DEFUN ("w32-get-console-codepage", Fw32_get_console_codepage, Sw32_get_console_codepage, 0, 0, 0, 1980DEFUN ("w32-get-console-codepage", Fw32_get_console_codepage,
1977 "Return current Windows codepage for console input.") 1981 Sw32_get_console_codepage, 0, 0, 0,
1982 doc: /* Return current Windows codepage for console input. */)
1978 () 1983 ()
1979{ 1984{
1980 return make_number (GetConsoleCP ()); 1985 return make_number (GetConsoleCP ());
1981} 1986}
1982 1987
1983 1988
1984DEFUN ("w32-set-console-codepage", Fw32_set_console_codepage, Sw32_set_console_codepage, 1, 1, 0, 1989DEFUN ("w32-set-console-codepage", Fw32_set_console_codepage,
1985 "Make Windows codepage CP be the current codepage setting for Emacs.\n\ 1990 Sw32_set_console_codepage, 1, 1, 0,
1986The codepage setting affects keyboard input and display in tty mode.\n\ 1991 doc: /* Make Windows codepage CP be the current codepage setting for Emacs.
1987If successful, the new CP is returned, otherwise nil.") 1992The codepage setting affects keyboard input and display in tty mode.
1993If successful, the new CP is returned, otherwise nil. */)
1988 (cp) 1994 (cp)
1989 Lisp_Object cp; 1995 Lisp_Object cp;
1990{ 1996{
@@ -2000,18 +2006,20 @@ If successful, the new CP is returned, otherwise nil.")
2000} 2006}
2001 2007
2002 2008
2003DEFUN ("w32-get-console-output-codepage", Fw32_get_console_output_codepage, Sw32_get_console_output_codepage, 0, 0, 0, 2009DEFUN ("w32-get-console-output-codepage", Fw32_get_console_output_codepage,
2004 "Return current Windows codepage for console output.") 2010 Sw32_get_console_output_codepage, 0, 0, 0,
2011 doc: /* Return current Windows codepage for console output. */)
2005 () 2012 ()
2006{ 2013{
2007 return make_number (GetConsoleOutputCP ()); 2014 return make_number (GetConsoleOutputCP ());
2008} 2015}
2009 2016
2010 2017
2011DEFUN ("w32-set-console-output-codepage", Fw32_set_console_output_codepage, Sw32_set_console_output_codepage, 1, 1, 0, 2018DEFUN ("w32-set-console-output-codepage", Fw32_set_console_output_codepage,
2012 "Make Windows codepage CP be the current codepage setting for Emacs.\n\ 2019 Sw32_set_console_output_codepage, 1, 1, 0,
2013The codepage setting affects keyboard input and display in tty mode.\n\ 2020 doc: /* Make Windows codepage CP be the current codepage setting for Emacs.
2014If successful, the new CP is returned, otherwise nil.") 2021The codepage setting affects keyboard input and display in tty mode.
2022If successful, the new CP is returned, otherwise nil. */)
2015 (cp) 2023 (cp)
2016 Lisp_Object cp; 2024 Lisp_Object cp;
2017{ 2025{
@@ -2027,9 +2035,10 @@ If successful, the new CP is returned, otherwise nil.")
2027} 2035}
2028 2036
2029 2037
2030DEFUN ("w32-get-codepage-charset", Fw32_get_codepage_charset, Sw32_get_codepage_charset, 1, 1, 0, 2038DEFUN ("w32-get-codepage-charset", Fw32_get_codepage_charset,
2031 "Return charset of codepage CP.\n\ 2039 Sw32_get_codepage_charset, 1, 1, 0,
2032Returns nil if the codepage is not valid.") 2040 doc: /* Return charset of codepage CP.
2041Returns nil if the codepage is not valid. */)
2033 (cp) 2042 (cp)
2034 Lisp_Object cp; 2043 Lisp_Object cp;
2035{ 2044{
@@ -2047,9 +2056,10 @@ Returns nil if the codepage is not valid.")
2047} 2056}
2048 2057
2049 2058
2050DEFUN ("w32-get-valid-keyboard-layouts", Fw32_get_valid_keyboard_layouts, Sw32_get_valid_keyboard_layouts, 0, 0, 0, 2059DEFUN ("w32-get-valid-keyboard-layouts", Fw32_get_valid_keyboard_layouts,
2051 "Return list of Windows keyboard languages and layouts.\n\ 2060 Sw32_get_valid_keyboard_layouts, 0, 0, 0,
2052The return value is a list of pairs of language id and layout id.") 2061 doc: /* Return list of Windows keyboard languages and layouts.
2062The return value is a list of pairs of language id and layout id. */)
2053 () 2063 ()
2054{ 2064{
2055 int num_layouts = GetKeyboardLayoutList (0, NULL); 2065 int num_layouts = GetKeyboardLayoutList (0, NULL);
@@ -2072,9 +2082,10 @@ The return value is a list of pairs of language id and layout id.")
2072} 2082}
2073 2083
2074 2084
2075DEFUN ("w32-get-keyboard-layout", Fw32_get_keyboard_layout, Sw32_get_keyboard_layout, 0, 0, 0, 2085DEFUN ("w32-get-keyboard-layout", Fw32_get_keyboard_layout,
2076 "Return current Windows keyboard language and layout.\n\ 2086 Sw32_get_keyboard_layout, 0, 0, 0,
2077The return value is the cons of the language id and the layout id.") 2087 doc: /* Return current Windows keyboard language and layout.
2088The return value is the cons of the language id and the layout id. */)
2078 () 2089 ()
2079{ 2090{
2080 DWORD kl = (DWORD) GetKeyboardLayout (dwWindowsThreadId); 2091 DWORD kl = (DWORD) GetKeyboardLayout (dwWindowsThreadId);
@@ -2084,10 +2095,11 @@ The return value is the cons of the language id and the layout id.")
2084} 2095}
2085 2096
2086 2097
2087DEFUN ("w32-set-keyboard-layout", Fw32_set_keyboard_layout, Sw32_set_keyboard_layout, 1, 1, 0, 2098DEFUN ("w32-set-keyboard-layout", Fw32_set_keyboard_layout,
2088 "Make LAYOUT be the current keyboard layout for Emacs.\n\ 2099 Sw32_set_keyboard_layout, 1, 1, 0,
2089The keyboard layout setting affects interpretation of keyboard input.\n\ 2100 doc: /* Make LAYOUT be the current keyboard layout for Emacs.
2090If successful, the new layout id is returned, otherwise nil.") 2101The keyboard layout setting affects interpretation of keyboard input.
2102If successful, the new layout id is returned, otherwise nil. */)
2091 (layout) 2103 (layout)
2092 Lisp_Object layout; 2104 Lisp_Object layout;
2093{ 2105{
@@ -2150,75 +2162,75 @@ syms_of_ntproc ()
2150 defsubr (&Sw32_set_keyboard_layout); 2162 defsubr (&Sw32_set_keyboard_layout);
2151 2163
2152 DEFVAR_LISP ("w32-quote-process-args", &Vw32_quote_process_args, 2164 DEFVAR_LISP ("w32-quote-process-args", &Vw32_quote_process_args,
2153 "Non-nil enables quoting of process arguments to ensure correct parsing.\n\ 2165 doc: /* Non-nil enables quoting of process arguments to ensure correct parsing.
2154Because Windows does not directly pass argv arrays to child processes,\n\ 2166Because Windows does not directly pass argv arrays to child processes,
2155programs have to reconstruct the argv array by parsing the command\n\ 2167programs have to reconstruct the argv array by parsing the command
2156line string. For an argument to contain a space, it must be enclosed\n\ 2168line string. For an argument to contain a space, it must be enclosed
2157in double quotes or it will be parsed as multiple arguments.\n\ 2169in double quotes or it will be parsed as multiple arguments.
2158\n\ 2170
2159If the value is a character, that character will be used to escape any\n\ 2171If the value is a character, that character will be used to escape any
2160quote characters that appear, otherwise a suitable escape character\n\ 2172quote characters that appear, otherwise a suitable escape character
2161will be chosen based on the type of the program."); 2173will be chosen based on the type of the program. */);
2162 Vw32_quote_process_args = Qt; 2174 Vw32_quote_process_args = Qt;
2163 2175
2164 DEFVAR_LISP ("w32-start-process-show-window", 2176 DEFVAR_LISP ("w32-start-process-show-window",
2165 &Vw32_start_process_show_window, 2177 &Vw32_start_process_show_window,
2166 "When nil, new child processes hide their windows.\n\ 2178 doc: /* When nil, new child processes hide their windows.
2167When non-nil, they show their window in the method of their choice.\n\ 2179When non-nil, they show their window in the method of their choice.
2168This variable doesn't affect GUI applications, which will never be hidden."); 2180This variable doesn't affect GUI applications, which will never be hidden. */);
2169 Vw32_start_process_show_window = Qnil; 2181 Vw32_start_process_show_window = Qnil;
2170 2182
2171 DEFVAR_LISP ("w32-start-process-share-console", 2183 DEFVAR_LISP ("w32-start-process-share-console",
2172 &Vw32_start_process_share_console, 2184 &Vw32_start_process_share_console,
2173 "When nil, new child processes are given a new console.\n\ 2185 doc: /* When nil, new child processes are given a new console.
2174When non-nil, they share the Emacs console; this has the limitation of\n\ 2186When non-nil, they share the Emacs console; this has the limitation of
2175allowing only only DOS subprocess to run at a time (whether started directly\n\ 2187allowing only only DOS subprocess to run at a time (whether started directly
2176or indirectly by Emacs), and preventing Emacs from cleanly terminating the\n\ 2188or indirectly by Emacs), and preventing Emacs from cleanly terminating the
2177subprocess group, but may allow Emacs to interrupt a subprocess that doesn't\n\ 2189subprocess group, but may allow Emacs to interrupt a subprocess that doesn't
2178otherwise respond to interrupts from Emacs."); 2190otherwise respond to interrupts from Emacs. */);
2179 Vw32_start_process_share_console = Qnil; 2191 Vw32_start_process_share_console = Qnil;
2180 2192
2181 DEFVAR_LISP ("w32-start-process-inherit-error-mode", 2193 DEFVAR_LISP ("w32-start-process-inherit-error-mode",
2182 &Vw32_start_process_inherit_error_mode, 2194 &Vw32_start_process_inherit_error_mode,
2183 "When nil, new child processes revert to the default error mode.\n\ 2195 doc: /* When nil, new child processes revert to the default error mode.
2184When non-nil, they inherit their error mode setting from Emacs, which stops\n\ 2196When non-nil, they inherit their error mode setting from Emacs, which stops
2185them blocking when trying to access unmounted drives etc."); 2197them blocking when trying to access unmounted drives etc. */);
2186 Vw32_start_process_inherit_error_mode = Qt; 2198 Vw32_start_process_inherit_error_mode = Qt;
2187 2199
2188 DEFVAR_INT ("w32-pipe-read-delay", &Vw32_pipe_read_delay, 2200 DEFVAR_INT ("w32-pipe-read-delay", &Vw32_pipe_read_delay,
2189 "Forced delay before reading subprocess output.\n\ 2201 doc: /* Forced delay before reading subprocess output.
2190This is done to improve the buffering of subprocess output, by\n\ 2202This is done to improve the buffering of subprocess output, by
2191avoiding the inefficiency of frequently reading small amounts of data.\n\ 2203avoiding the inefficiency of frequently reading small amounts of data.
2192\n\ 2204
2193If positive, the value is the number of milliseconds to sleep before\n\ 2205If positive, the value is the number of milliseconds to sleep before
2194reading the subprocess output. If negative, the magnitude is the number\n\ 2206reading the subprocess output. If negative, the magnitude is the number
2195of time slices to wait (effectively boosting the priority of the child\n\ 2207of time slices to wait (effectively boosting the priority of the child
2196process temporarily). A value of zero disables waiting entirely."); 2208process temporarily). A value of zero disables waiting entirely. */);
2197 Vw32_pipe_read_delay = 50; 2209 Vw32_pipe_read_delay = 50;
2198 2210
2199 DEFVAR_LISP ("w32-downcase-file-names", &Vw32_downcase_file_names, 2211 DEFVAR_LISP ("w32-downcase-file-names", &Vw32_downcase_file_names,
2200 "Non-nil means convert all-upper case file names to lower case.\n\ 2212 doc: /* Non-nil means convert all-upper case file names to lower case.
2201This applies when performing completions and file name expansion.\n\ 2213This applies when performing completions and file name expansion.
2202Note that the value of this setting also affects remote file names,\n\ 2214Note that the value of this setting also affects remote file names,
2203so you probably don't want to set to non-nil if you use case-sensitive\n\ 2215so you probably don't want to set to non-nil if you use case-sensitive
2204filesystems via ange-ftp."); 2216filesystems via ange-ftp. */);
2205 Vw32_downcase_file_names = Qnil; 2217 Vw32_downcase_file_names = Qnil;
2206 2218
2207#if 0 2219#if 0
2208 DEFVAR_LISP ("w32-generate-fake-inodes", &Vw32_generate_fake_inodes, 2220 DEFVAR_LISP ("w32-generate-fake-inodes", &Vw32_generate_fake_inodes,
2209 "Non-nil means attempt to fake realistic inode values.\n\ 2221 doc: /* Non-nil means attempt to fake realistic inode values.
2210This works by hashing the truename of files, and should detect \n\ 2222This works by hashing the truename of files, and should detect
2211aliasing between long and short (8.3 DOS) names, but can have\n\ 2223aliasing between long and short (8.3 DOS) names, but can have
2212false positives because of hash collisions. Note that determing\n\ 2224false positives because of hash collisions. Note that determing
2213the truename of a file can be slow."); 2225the truename of a file can be slow. */);
2214 Vw32_generate_fake_inodes = Qnil; 2226 Vw32_generate_fake_inodes = Qnil;
2215#endif 2227#endif
2216 2228
2217 DEFVAR_LISP ("w32-get-true-file-attributes", &Vw32_get_true_file_attributes, 2229 DEFVAR_LISP ("w32-get-true-file-attributes", &Vw32_get_true_file_attributes,
2218 "Non-nil means determine accurate link count in file-attributes.\n\ 2230 doc: /* Non-nil means determine accurate link count in file-attributes.
2219This option slows down file-attributes noticeably, so is disabled by\n\ 2231This option slows down file-attributes noticeably, so is disabled by
2220default. Note that it is only useful for files on NTFS volumes,\n\ 2232default. Note that it is only useful for files on NTFS volumes,
2221where hard links are supported."); 2233where hard links are supported. */);
2222 Vw32_get_true_file_attributes = Qnil; 2234 Vw32_get_true_file_attributes = Qnil;
2223} 2235}
2224/* end of ntproc.c */ 2236/* end of ntproc.c */
diff --git a/src/w32select.c b/src/w32select.c
index 8772a4bbe6c..92090ccde0f 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -51,7 +51,7 @@ static size_t clipboard_storage_size = 0;
51 51
52#if 0 52#if 0
53DEFUN ("w32-open-clipboard", Fw32_open_clipboard, Sw32_open_clipboard, 0, 1, 0, 53DEFUN ("w32-open-clipboard", Fw32_open_clipboard, Sw32_open_clipboard, 0, 1, 0,
54 "This opens the clipboard with the given frame pointer.") 54 doc: /* This opens the clipboard with the given frame pointer. */)
55 (frame) 55 (frame)
56 Lisp_Object frame; 56 Lisp_Object frame;
57{ 57{
@@ -69,8 +69,10 @@ DEFUN ("w32-open-clipboard", Fw32_open_clipboard, Sw32_open_clipboard, 0, 1, 0,
69 return (ok ? frame : Qnil); 69 return (ok ? frame : Qnil);
70} 70}
71 71
72DEFUN ("w32-empty-clipboard", Fw32_empty_clipboard, Sw32_empty_clipboard, 0, 0, 0, 72DEFUN ("w32-empty-clipboard", Fw32_empty_clipboard,
73 "This empties the clipboard and assigns ownership to the window which opened the clipboard.") 73 Sw32_empty_clipboard, 0, 0, 0,
74 doc: /* Empty the clipboard.
75Assigns ownership of the clipboard to the window which opened it. */)
74 () 76 ()
75{ 77{
76 BOOL ok = FALSE; 78 BOOL ok = FALSE;
@@ -84,8 +86,9 @@ DEFUN ("w32-empty-clipboard", Fw32_empty_clipboard, Sw32_empty_clipboard, 0, 0,
84 return (ok ? Qt : Qnil); 86 return (ok ? Qt : Qnil);
85} 87}
86 88
87DEFUN ("w32-close-clipboard", Fw32_close_clipboard, Sw32_close_clipboard, 0, 0, 0, 89DEFUN ("w32-close-clipboard", Fw32_close_clipboard,
88 "This closes the clipboard.") 90 Sw32_close_clipboard, 0, 0, 0,
91 doc: /* Close the clipboard. */)
89 () 92 ()
90{ 93{
91 BOOL ok = FALSE; 94 BOOL ok = FALSE;
@@ -101,8 +104,9 @@ DEFUN ("w32-close-clipboard", Fw32_close_clipboard, Sw32_close_clipboard, 0, 0,
101 104
102#endif 105#endif
103 106
104DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data, Sw32_set_clipboard_data, 1, 2, 0, 107DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data,
105 "This sets the clipboard data to the given text.") 108 Sw32_set_clipboard_data, 1, 2, 0,
109 doc: /* This sets the clipboard data to the given text. */)
106 (string, frame) 110 (string, frame)
107 Lisp_Object string, frame; 111 Lisp_Object string, frame;
108{ 112{
@@ -248,8 +252,9 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data, Sw32_set_clipboard_dat
248 return (ok ? string : Qnil); 252 return (ok ? string : Qnil);
249} 253}
250 254
251DEFUN ("w32-get-clipboard-data", Fw32_get_clipboard_data, Sw32_get_clipboard_data, 0, 1, 0, 255DEFUN ("w32-get-clipboard-data", Fw32_get_clipboard_data,
252 "This gets the clipboard data in text format.") 256 Sw32_get_clipboard_data, 0, 1, 0,
257 doc: /* This gets the clipboard data in text format. */)
253 (frame) 258 (frame)
254 Lisp_Object frame; 259 Lisp_Object frame;
255{ 260{
@@ -394,13 +399,13 @@ DEFUN ("w32-get-clipboard-data", Fw32_get_clipboard_data, Sw32_get_clipboard_dat
394/* Support checking for a clipboard selection. */ 399/* Support checking for a clipboard selection. */
395 400
396DEFUN ("x-selection-exists-p", Fx_selection_exists_p, Sx_selection_exists_p, 401DEFUN ("x-selection-exists-p", Fx_selection_exists_p, Sx_selection_exists_p,
397 0, 1, 0, 402 0, 1, 0,
398 "Whether there is an owner for the given X Selection.\n\ 403 doc: /* Whether there is an owner for the given X Selection.
399The arg should be the name of the selection in question, typically one of\n\ 404The arg should be the name of the selection in question, typically one of
400the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.\n\ 405the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
401\(Those are literal upper-case symbol names, since that's what X expects.)\n\ 406\(Those are literal upper-case symbol names, since that's what X expects.)
402For convenience, the symbol nil is the same as `PRIMARY',\n\ 407For convenience, the symbol nil is the same as `PRIMARY',
403and t is the same as `SECONDARY'.") 408and t is the same as `SECONDARY'. */)
404 (selection) 409 (selection)
405 Lisp_Object selection; 410 Lisp_Object selection;
406{ 411{
@@ -442,18 +447,17 @@ syms_of_w32select ()
442 defsubr (&Sx_selection_exists_p); 447 defsubr (&Sx_selection_exists_p);
443 448
444 DEFVAR_LISP ("selection-coding-system", &Vselection_coding_system, 449 DEFVAR_LISP ("selection-coding-system", &Vselection_coding_system,
445 "Coding system for communicating with other X clients.\n\ 450 doc: /* Coding system for communicating with other programs.
446When sending or receiving text via cut_buffer, selection, and clipboard,\n\ 451When sending or receiving text via cut_buffer, selection, and clipboard,
447the text is encoded or decoded by this coding system.\n\ 452the text is encoded or decoded by this coding system. */);
448A default value is `compound-text'");
449 Vselection_coding_system=intern ("iso-latin-1-dos"); 453 Vselection_coding_system=intern ("iso-latin-1-dos");
450 454
451 DEFVAR_LISP ("next-selection-coding-system", &Vnext_selection_coding_system, 455 DEFVAR_LISP ("next-selection-coding-system", &Vnext_selection_coding_system,
452 "Coding system for the next communication with other X clients.\n\ 456 doc: /* Coding system for the next communication with other programs.
453Usually, `selection-coding-system' is used for communicating with\n\ 457Usually, `selection-coding-system' is used for communicating with
454other X clients. But, if this variable is set, it is used for the\n\ 458other programs. But, if this variable is set, it is used for the
455next communication only. After the communication, this variable is\n\ 459next communication only. After the communication, this variable is
456set to nil."); 460set to nil. */);
457 Vnext_selection_coding_system = Qnil; 461 Vnext_selection_coding_system = Qnil;
458 462
459 QCLIPBOARD = intern ("CLIPBOARD"); staticpro (&QCLIPBOARD); 463 QCLIPBOARD = intern ("CLIPBOARD"); staticpro (&QCLIPBOARD);
diff --git a/src/w32term.c b/src/w32term.c
index 1c6b35f14aa..3a60008ab12 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -10925,43 +10925,43 @@ syms_of_w32term ()
10925 10925
10926 DEFVAR_INT ("w32-num-mouse-buttons", 10926 DEFVAR_INT ("w32-num-mouse-buttons",
10927 &Vw32_num_mouse_buttons, 10927 &Vw32_num_mouse_buttons,
10928 "Number of physical mouse buttons."); 10928 doc: /* Number of physical mouse buttons. */);
10929 Vw32_num_mouse_buttons = Qnil; 10929 Vw32_num_mouse_buttons = Qnil;
10930 10930
10931 DEFVAR_LISP ("w32-swap-mouse-buttons", 10931 DEFVAR_LISP ("w32-swap-mouse-buttons",
10932 &Vw32_swap_mouse_buttons, 10932 &Vw32_swap_mouse_buttons,
10933 "Swap the mapping of middle and right mouse buttons.\n\ 10933 doc: /* Swap the mapping of middle and right mouse buttons.
10934When nil, middle button is mouse-2 and right button is mouse-3."); 10934When nil, middle button is mouse-2 and right button is mouse-3. */);
10935 Vw32_swap_mouse_buttons = Qnil; 10935 Vw32_swap_mouse_buttons = Qnil;
10936 10936
10937 DEFVAR_LISP ("w32-grab-focus-on-raise", 10937 DEFVAR_LISP ("w32-grab-focus-on-raise",
10938 &Vw32_grab_focus_on_raise, 10938 &Vw32_grab_focus_on_raise,
10939 "Raised frame grabs input focus.\n\ 10939 doc: /* Raised frame grabs input focus.
10940When t, `raise-frame' grabs input focus as well. This fits well\n\ 10940When t, `raise-frame' grabs input focus as well. This fits well
10941with the normal Windows click-to-focus policy, but might not be\n\ 10941with the normal Windows click-to-focus policy, but might not be
10942desirable when using a point-to-focus policy."); 10942desirable when using a point-to-focus policy. */);
10943 Vw32_grab_focus_on_raise = Qt; 10943 Vw32_grab_focus_on_raise = Qt;
10944 10944
10945 DEFVAR_LISP ("w32-capslock-is-shiftlock", 10945 DEFVAR_LISP ("w32-capslock-is-shiftlock",
10946 &Vw32_capslock_is_shiftlock, 10946 &Vw32_capslock_is_shiftlock,
10947 "Apply CapsLock state to non character input keys.\n\ 10947 doc: /* Apply CapsLock state to non character input keys.
10948When nil, CapsLock only affects normal character input keys."); 10948When nil, CapsLock only affects normal character input keys. */);
10949 Vw32_capslock_is_shiftlock = Qnil; 10949 Vw32_capslock_is_shiftlock = Qnil;
10950 10950
10951 DEFVAR_LISP ("w32-recognize-altgr", 10951 DEFVAR_LISP ("w32-recognize-altgr",
10952 &Vw32_recognize_altgr, 10952 &Vw32_recognize_altgr,
10953 "Recognize right-alt and left-ctrl as AltGr.\n\ 10953 doc: /* Recognize right-alt and left-ctrl as AltGr.
10954When nil, the right-alt and left-ctrl key combination is\n\ 10954When nil, the right-alt and left-ctrl key combination is
10955interpreted normally."); 10955interpreted normally. */);
10956 Vw32_recognize_altgr = Qt; 10956 Vw32_recognize_altgr = Qt;
10957 10957
10958 DEFVAR_BOOL ("w32-enable-unicode-output", 10958 DEFVAR_BOOL ("w32-enable-unicode-output",
10959 &w32_enable_unicode_output, 10959 &w32_enable_unicode_output,
10960 "Enable the use of Unicode for text output if non-nil.\n\ 10960 doc: /* Enable the use of Unicode for text output if non-nil.
10961Unicode output may prevent some third party applications for displaying\n\ 10961Unicode output may prevent some third party applications for displaying
10962Far-East Languages on Windows 95/98 from working properly.\n\ 10962Far-East Languages on Windows 95/98 from working properly.
10963NT uses Unicode internally anyway, so this flag will probably have no\n\ 10963NT uses Unicode internally anyway, so this flag will probably have no
10964affect on NT machines."); 10964affect on NT machines. */);
10965 w32_enable_unicode_output = 1; 10965 w32_enable_unicode_output = 1;
10966 10966
10967 help_echo = Qnil; 10967 help_echo = Qnil;
@@ -10975,23 +10975,23 @@ affect on NT machines.");
10975 help_echo_pos = -1; 10975 help_echo_pos = -1;
10976 10976
10977 DEFVAR_BOOL ("x-stretch-cursor", &x_stretch_cursor_p, 10977 DEFVAR_BOOL ("x-stretch-cursor", &x_stretch_cursor_p,
10978 "*Non-nil means draw block cursor as wide as the glyph under it.\n\ 10978 doc: /* *Non-nil means draw block cursor as wide as the glyph under it.
10979For example, if a block cursor is over a tab, it will be drawn as\n\ 10979For example, if a block cursor is over a tab, it will be drawn as
10980wide as that tab on the display."); 10980wide as that tab on the display. */);
10981 x_stretch_cursor_p = 0; 10981 x_stretch_cursor_p = 0;
10982 10982
10983#if 0 /* TODO: Setting underline position from font properties. */ 10983#if 0 /* TODO: Setting underline position from font properties. */
10984 DEFVAR_BOOL ("x-use-underline-position-properties", 10984 DEFVAR_BOOL ("x-use-underline-position-properties",
10985 &x_use_underline_position_properties, 10985 &x_use_underline_position_properties,
10986 "*Non-nil means make use of UNDERLINE_POSITION font properties.\n\ 10986 doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties.
10987Nil means ignore them. If you encounter fonts with bogus\n\ 10987Nil means ignore them. If you encounter fonts with bogus
10988UNDERLINE_POSITION font properties, for example 7x13 on XFree prior\n\ 10988UNDERLINE_POSITION font properties, for example 7x13 on XFree prior
10989to 4.1, set this to nil."); 10989to 4.1, set this to nil. */);
10990 x_use_underline_position_properties = 1; 10990 x_use_underline_position_properties = 1;
10991#endif 10991#endif
10992 10992
10993 DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars, 10993 DEFVAR_LISP ("x-toolkit-scroll-bars", &Vx_toolkit_scroll_bars,
10994 "If not nil, Emacs uses toolkit scroll bars."); 10994 doc: /* If not nil, Emacs uses toolkit scroll bars. */);
10995 Vx_toolkit_scroll_bars = Qt; 10995 Vx_toolkit_scroll_bars = Qt;
10996 10996
10997 staticpro (&last_mouse_motion_frame); 10997 staticpro (&last_mouse_motion_frame);