comparison man/lispref/os.texi @ 444:576fb035e263 r21-2-37

Import from CVS: tag r21-2-37
author cvs
date Mon, 13 Aug 2007 11:36:19 +0200
parents 3ecd8885ac67
children 30958064156d
comparison
equal deleted inserted replaced
443:a8296e22da4e 444:576fb035e263
1 @c -*-texinfo-*- 1 @c -*-texinfo-*-
2 @c This is part of the XEmacs Lisp Reference Manual. 2 @c This is part of the XEmacs Lisp Reference Manual.
3 @c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. 3 @c Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
4 @c See the file lispref.texi for copying conditions. 4 @c See the file lispref.texi for copying conditions.
5 @setfilename ../../info/os.info 5 @setfilename ../../info/os.info
6 @node System Interface, X-Windows, Processes, Top 6 @node System Interface, X-Windows, Processes, Top
7 @chapter Operating System Interface 7 @chapter Operating System Interface
8 8
75 It loads the library @file{site-start}, unless the option 75 It loads the library @file{site-start}, unless the option
76 @samp{-no-site-file} was specified. The library's file name is usually 76 @samp{-no-site-file} was specified. The library's file name is usually
77 @file{site-start.el}. 77 @file{site-start.el}.
78 @cindex @file{site-start.el} 78 @cindex @file{site-start.el}
79 79
80 @item 80 @item
81 It loads the file @file{~/.emacs} unless @samp{-q} was specified on 81 It loads the file @file{~/.emacs} unless @samp{-q} was specified on
82 the command line. (This is not done in @samp{-batch} mode.) The @samp{-u} 82 the command line. (This is not done in @samp{-batch} mode.) The @samp{-u}
83 option can specify the user name whose home directory should be used 83 option can specify the user name whose home directory should be used
84 instead of @file{~}. 84 instead of @file{~}.
85 85
86 @item 86 @item
87 It loads the library @file{default} unless @code{inhibit-default-init} 87 It loads the library @file{default} unless @code{inhibit-default-init}
88 is non-@code{nil}. (This is not done in @samp{-batch} mode or if 88 is non-@code{nil}. (This is not done in @samp{-batch} mode or if
89 @samp{-q} was specified on the command line.) The library's file name 89 @samp{-q} was specified on the command line.) The library's file name
90 is usually @file{default.el}. 90 is usually @file{default.el}.
91 @cindex @file{default.el} 91 @cindex @file{default.el}
96 @item 96 @item
97 It sets the major mode according to @code{initial-major-mode}, provided 97 It sets the major mode according to @code{initial-major-mode}, provided
98 the buffer @samp{*scratch*} is still current and still in Fundamental 98 the buffer @samp{*scratch*} is still current and still in Fundamental
99 mode. 99 mode.
100 100
101 @item 101 @item
102 It loads the terminal-specific Lisp file, if any, except when in batch 102 It loads the terminal-specific Lisp file, if any, except when in batch
103 mode or using a window system. 103 mode or using a window system.
104 104
105 @item 105 @item
106 It displays the initial echo area message, unless you have suppressed 106 It displays the initial echo area message, unless you have suppressed
107 that with @code{inhibit-startup-echo-area-message}. 107 that with @code{inhibit-startup-echo-area-message}.
108 108
109 @item 109 @item
110 It processes the action arguments from the command line. 110 It processes the action arguments from the command line.
111 111
112 @item 112 @item
113 It runs @code{term-setup-hook}. 113 It runs @code{term-setup-hook}.
114 114
115 @item 115 @item
116 It calls @code{frame-notice-user-settings}, which modifies the 116 It calls @code{frame-notice-user-settings}, which modifies the
117 parameters of the selected frame according to whatever the init files 117 parameters of the selected frame according to whatever the init files
118 specify. 118 specify.
119 119
120 @item 120 @item
121 It runs @code{window-setup-hook}. @xref{Terminal-Specific}. 121 It runs @code{window-setup-hook}. @xref{Terminal-Specific}.
122 122
123 @item 123 @item
124 It displays copyleft, nonwarranty, and basic use information, provided 124 It displays copyleft, nonwarranty, and basic use information, provided
125 there were no remaining command line arguments (a few steps above) and 125 there were no remaining command line arguments (a few steps above) and
126 the value of @code{inhibit-startup-message} is @code{nil}. 126 the value of @code{inhibit-startup-message} is @code{nil}.
127 @end enumerate 127 @end enumerate
128 128
270 @file{.emacs} file if you do not wish to load the 270 @file{.emacs} file if you do not wish to load the
271 terminal-initialization file. To do this, put the following in 271 terminal-initialization file. To do this, put the following in
272 your @file{.emacs} file: @code{(setq term-file-prefix nil)}. 272 your @file{.emacs} file: @code{(setq term-file-prefix nil)}.
273 @end defvar 273 @end defvar
274 274
275 @defvar term-setup-hook 275 @defvar term-setup-hook
276 This variable is a normal hook that XEmacs runs after loading your 276 This variable is a normal hook that XEmacs runs after loading your
277 @file{.emacs} file, the default initialization file (if any) and the 277 @file{.emacs} file, the default initialization file (if any) and the
278 terminal-specific Lisp file. 278 terminal-specific Lisp file.
279 279
280 You can use @code{term-setup-hook} to override the definitions made by a 280 You can use @code{term-setup-hook} to override the definitions made by a
344 344
345 @example 345 @example
346 -@var{option} 346 -@var{option}
347 @end example 347 @end example
348 348
349 The elements of the @code{command-switch-alist} look like this: 349 The elements of the @code{command-switch-alist} look like this:
350 350
351 @example 351 @example
352 (@var{option} . @var{handler-function}) 352 (@var{option} . @var{handler-function})
353 @end example 353 @end example
354 354
414 414
415 Killing XEmacs means ending the execution of the XEmacs process. The 415 Killing XEmacs means ending the execution of the XEmacs process. The
416 parent process normally resumes control. The low-level primitive for 416 parent process normally resumes control. The low-level primitive for
417 killing XEmacs is @code{kill-emacs}. 417 killing XEmacs is @code{kill-emacs}.
418 418
419 @defun kill-emacs &optional exit-data 419 @deffn Command kill-emacs &optional exit-data
420 This function exits the XEmacs process and kills it. 420 This function exits the XEmacs process and kills it.
421 421
422 If @var{exit-data} is an integer, then it is used as the exit status 422 If @var{exit-data} is an integer, then it is used as the exit status
423 of the XEmacs process. (This is useful primarily in batch operation; see 423 of the XEmacs process. (This is useful primarily in batch operation; see
424 @ref{Batch Mode}.) 424 @ref{Batch Mode}.)
425 425
426 If @var{exit-data} is a string, its contents are stuffed into the 426 If @var{exit-data} is a string, its contents are stuffed into the
427 terminal input buffer so that the shell (or whatever program next reads 427 terminal input buffer so that the shell (or whatever program next reads
428 input) can read them. 428 input) can read them.
429 @end defun 429 @end deffn
430 430
431 All the information in the XEmacs process, aside from files that have 431 All the information in the XEmacs process, aside from files that have
432 been saved, is lost when the XEmacs is killed. Because killing XEmacs 432 been saved, is lost when the XEmacs is killed. Because killing XEmacs
433 inadvertently can lose a lot of work, XEmacs queries for confirmation 433 inadvertently can lose a lot of work, XEmacs queries for confirmation
434 before actually terminating if you have buffers that need saving or 434 before actually terminating if you have buffers that need saving or
468 XEmacs job may not have a parent that can resume it again, and in any 468 XEmacs job may not have a parent that can resume it again, and in any
469 case you can give input to some other job such as a shell merely by 469 case you can give input to some other job such as a shell merely by
470 moving to a different window. Therefore, suspending is not allowed 470 moving to a different window. Therefore, suspending is not allowed
471 when XEmacs is an X client. 471 when XEmacs is an X client.
472 472
473 @defun suspend-emacs string 473 @deffn Command suspend-emacs &optional stuffstring
474 This function stops XEmacs and returns control to the superior process. 474 This function stops XEmacs and returns control to the superior process.
475 If and when the superior process resumes XEmacs, @code{suspend-emacs} 475 If and when the superior process resumes XEmacs, @code{suspend-emacs}
476 returns @code{nil} to its caller in Lisp. 476 returns @code{nil} to its caller in Lisp.
477 477
478 If @var{string} is non-@code{nil}, its characters are sent to be read 478 If optional arg @var{stuffstring} is non-@code{nil}, its characters are
479 as terminal input by XEmacs's superior shell. The characters in 479 sent to be read as terminal input by XEmacs's superior shell. The
480 @var{string} are not echoed by the superior shell; only the results 480 characters in @var{stuffstring} are not echoed by the superior shell;
481 appear. 481 only the results appear.
482 482
483 Before suspending, @code{suspend-emacs} runs the normal hook 483 Before suspending, @code{suspend-emacs} runs the normal hook
484 @code{suspend-hook}. In Emacs version 18, @code{suspend-hook} was not a 484 @code{suspend-hook}. In Emacs version 18, @code{suspend-hook} was not a
485 normal hook; its value was a single function, and if its value was 485 normal hook; its value was a single function, and if its value was
486 non-@code{nil}, then @code{suspend-emacs} returned immediately without 486 non-@code{nil}, then @code{suspend-emacs} returned immediately without
536 @group 536 @group
537 ---------- Echo Area ---------- 537 ---------- Echo Area ----------
538 Resumed! 538 Resumed!
539 @end group 539 @end group
540 @end smallexample 540 @end smallexample
541 @end defun 541 @end deffn
542 542
543 @defvar suspend-hook 543 @defvar suspend-hook
544 This variable is a normal hook run before suspending. 544 This variable is a normal hook run before suspending.
545 @end defvar 545 @end defvar
546 546
594 @item unisoft-unix 594 @item unisoft-unix
595 UniSoft UniPlus. 595 UniSoft UniPlus.
596 596
597 @item usg-unix-v 597 @item usg-unix-v
598 AT&T System V. 598 AT&T System V.
599
600 @item vax-vms
601 VAX VMS.
602 599
603 @item windows-nt 600 @item windows-nt
604 Microsoft windows NT. 601 Microsoft windows NT.
605 602
606 @item xenix 603 @item xenix
643 @code{user-mail-address}. @xref{User Identification}. (Since this is 640 @code{user-mail-address}. @xref{User Identification}. (Since this is
644 done when XEmacs starts up, the value actually used is the one saved when 641 done when XEmacs starts up, the value actually used is the one saved when
645 XEmacs was dumped. @xref{Building XEmacs}.) 642 XEmacs was dumped. @xref{Building XEmacs}.)
646 @end defvar 643 @end defvar
647 644
648 @defun getenv var 645 @deffn Command getenv var &optional interactivep
649 @cindex environment variable access 646 @cindex environment variable access
650 This function returns the value of the environment variable @var{var}, 647 This function returns the value of the environment variable @var{var},
651 as a string. Within XEmacs, the environment variable values are kept in 648 as a string. Within XEmacs, the environment variable values are kept in
652 the Lisp variable @code{process-environment}. 649 the Lisp variable @code{process-environment}.
653 650
651 When invoked interactively, @code{getenv} prints the value in the echo area.
652
654 @example 653 @example
655 @group 654 @group
656 (getenv "USER") 655 (getenv "USER")
657 @result{} "lewis" 656 @result{} "lewis"
658 @end group 657 @end group
666 TERM=ibmapa16 665 TERM=ibmapa16
667 SHELL=/bin/csh 666 SHELL=/bin/csh
668 HOME=/user/lewis 667 HOME=/user/lewis
669 @end group 668 @end group
670 @end example 669 @end example
671 @end defun 670 @end deffn
672 671
673 @c Emacs 19 feature 672 @deffn Command setenv variable &optional value unset
674 @deffn Command setenv variable value
675 This command sets the value of the environment variable named 673 This command sets the value of the environment variable named
676 @var{variable} to @var{value}. Both arguments should be strings. This 674 @var{variable} to @var{value}. Both arguments should be strings. This
677 function works by modifying @code{process-environment}; binding that 675 function works by modifying @code{process-environment}; binding that
678 variable with @code{let} is also reasonable practice. 676 variable with @code{let} is also reasonable practice.
679 @end deffn 677 @end deffn
680 678
681 @defvar process-environment 679 @defvar process-environment
682 This variable is a list of strings, each describing one environment 680 This variable is a list of strings, each describing one environment
683 variable. The functions @code{getenv} and @code{setenv} work by means 681 variable. The functions @code{getenv} and @code{setenv} work by
684 of this variable. 682 manipulating this variable.
685 683
686 @smallexample 684 @smallexample
687 @group 685 @group
688 process-environment 686 process-environment
689 @result{} ("l=/usr/stanford/lib/gnuemacs/lisp" 687 @result{} ("l=/usr/stanford/lib/gnuemacs/lisp"
690 "PATH=.:/user/lewis/bin:/usr/class:/nfsusr/local/bin" 688 "PATH=.:/user/lewis/bin:/usr/class:/nfsusr/local/bin"
691 "USER=lewis" 689 "USER=lewis"
692 @end group 690 @end group
693 @group 691 @group
694 "TERM=ibmapa16" 692 "TERM=ibmapa16"
695 "SHELL=/bin/csh" 693 "SHELL=/bin/csh"
696 "HOME=/user/lewis") 694 "HOME=/user/lewis")
697 @end group 695 @end group
698 @end smallexample 696 @end smallexample
699 @end defvar 697 @end defvar
727 This function returns a list of the current 1-minute, 5-minute and 725 This function returns a list of the current 1-minute, 5-minute and
728 15-minute load averages. The values are integers that are 100 times the 726 15-minute load averages. The values are integers that are 100 times the
729 system load averages. (The load averages indicate the number of 727 system load averages. (The load averages indicate the number of
730 processes trying to run.) 728 processes trying to run.)
731 729
732 When @var{use-floats} is non-@code{nil}, floats will be returned instead 730 When @var{use-floats} is non-@code{nil}, floats will be returned instead
733 of integers. These floats are not multiplied by 100. 731 of integers. These floats are not multiplied by 100.
734 732
735 @example 733 @example
736 @group 734 @group
737 (load-average) 735 (load-average)
748 @end example 746 @end example
749 747
750 If the 5-minute or 15-minute load averages are not available, return a 748 If the 5-minute or 15-minute load averages are not available, return a
751 shortened list, containing only those averages which are available. 749 shortened list, containing only those averages which are available.
752 750
753 On some systems, this function may require special privileges to run, or 751 On some systems, this function may require special privileges to run, or
754 it may be unimplemented for the particular system type. In that case, 752 it may be unimplemented for the particular system type. In that case,
755 the function will signal an error. 753 the function will signal an error.
756 @end defun 754 @end defun
757 755
758 @defun emacs-pid 756 @defun emacs-pid
759 This function returns the process @sc{id} of the Emacs process. 757 This function returns the process @sc{id} of the Emacs process.
760 @end defun
761
762 @defun setprv privilege-name &optional setp getprv
763 This function sets or resets a VMS privilege. (It does not exist on
764 Unix.) The first arg is the privilege name, as a string. The second
765 argument, @var{setp}, is @code{t} or @code{nil}, indicating whether the
766 privilege is to be turned on or off. Its default is @code{nil}. The
767 function returns @code{t} if successful, @code{nil} otherwise.
768
769 If the third argument, @var{getprv}, is non-@code{nil}, @code{setprv}
770 does not change the privilege, but returns @code{t} or @code{nil}
771 indicating whether the privilege is currently enabled.
772 @end defun 758 @end defun
773 759
774 @node User Identification 760 @node User Identification
775 @section User Identification 761 @section User Identification
776 762
805 @end defun 791 @end defun
806 792
807 @defvar user-full-name 793 @defvar user-full-name
808 This variable holds the name of the user running this Emacs. It is 794 This variable holds the name of the user running this Emacs. It is
809 initialized at startup time from the value of @code{NAME} environment 795 initialized at startup time from the value of @code{NAME} environment
810 variable. You can change the value of this variable to alter the result 796 variable. You can change the value of this variable to alter the result
811 of the @code{user-full-name} function. 797 of the @code{user-full-name} function.
812 @end defvar 798 @end defvar
813 799
814 @defun user-full-name &optional user 800 @defun user-full-name &optional user
815 This function returns the full name of @var{user}. If @var{user} is 801 This function returns the full name of @var{user}. If @var{user} is
816 @code{nil}, it defaults to the user running this Emacs. In that case, 802 @code{nil}, it defaults to the user running this Emacs. In that case,
817 the value of @code{user-full-name} variable, if non-@code{nil}, will be 803 the value of @code{user-full-name} variable, if non-@code{nil}, will be
818 used. 804 used.
819 805
820 If @var{user} is specified explicitly, @code{user-full-name} variable is 806 If @var{user} is specified explicitly, @code{user-full-name} variable is
821 ignored. 807 ignored.
822 808
823 @example 809 @example
824 @group 810 @group
825 (user-full-name) 811 (user-full-name)
853 @end group 839 @end group
854 @end example 840 @end example
855 @end defun 841 @end defun
856 842
857 @defun user-uid 843 @defun user-uid
858 This function returns the effective @sc{uid} of the user. 844 This function returns the effective @sc{uid} of the user.
859 @end defun 845 @end defun
860 846
861 @defun user-home-directory 847 @defun user-home-directory
862 This function returns the ``@code{HOME}'' directory of the user, and is 848 This function returns the ``@code{HOME}'' directory of the user, and is
863 intended to replace occurrences of ``@code{(getenv "HOME")}''. Under 849 intended to replace occurrences of ``@code{(getenv "HOME")}''. Under
1050 @item %Z 1036 @item %Z
1051 This stands for the time zone abbreviation. 1037 This stands for the time zone abbreviation.
1052 @end table 1038 @end table
1053 @end defun 1039 @end defun
1054 1040
1055 @defun decode-time time 1041 @defun decode-time &optional specified-time
1056 This function converts a time value into calendrical information. The 1042 This function converts a time value into calendrical information. The
1057 return value is a list of nine elements, as follows: 1043 optional @var{specified-time} should be a list of
1044 (@var{high} @var{low} . @var{ignored}) or (@var{high} . @var{low}), as from
1045 @code{current-time} and @code{file-attributes}, or @code{nil} to use the
1046 current time.
1047
1048 The return value is a list of nine elements, as follows:
1058 1049
1059 @example 1050 @example
1060 (@var{seconds} @var{minutes} @var{hour} @var{day} @var{month} @var{year} @var{dow} @var{dst} @var{zone}) 1051 (@var{seconds} @var{minutes} @var{hour} @var{day} @var{month} @var{year} @var{dow} @var{dst} @var{zone})
1061 @end example 1052 @end example
1062 1053
1115 This function adds a timeout, to be signaled after the timeout period 1106 This function adds a timeout, to be signaled after the timeout period
1116 has elapsed. @var{secs} is a number of seconds, expressed as an integer 1107 has elapsed. @var{secs} is a number of seconds, expressed as an integer
1117 or a float. @var{function} will be called after that many seconds have 1108 or a float. @var{function} will be called after that many seconds have
1118 elapsed, with one argument, the given @var{object}. If the optional 1109 elapsed, with one argument, the given @var{object}. If the optional
1119 @var{resignal} argument is provided, then after this timeout expires, 1110 @var{resignal} argument is provided, then after this timeout expires,
1120 `add-timeout' will automatically be called again with @var{resignal} as the 1111 @code{add-timeout} will automatically be called again with
1121 first argument. 1112 @var{resignal} as the first argument.
1122 1113
1123 This function returns an object which is the @dfn{id} of this particular 1114 This function returns an object which is the @dfn{id} of this particular
1124 timeout. You can pass that object to @code{disable-timeout} to turn off 1115 timeout. You can pass that object to @code{disable-timeout} to turn off
1125 the timeout before it has been signalled. 1116 the timeout before it has been signalled.
1126 1117
1168 @node Input Modes 1159 @node Input Modes
1169 @subsection Input Modes 1160 @subsection Input Modes
1170 @cindex input modes 1161 @cindex input modes
1171 @cindex terminal input modes 1162 @cindex terminal input modes
1172 1163
1173 @defun set-input-mode interrupt flow meta quit-char 1164 @defun set-input-mode interrupt flow meta &optional quit-char console
1174 This function sets the mode for reading keyboard input. If 1165 This function sets the mode for reading keyboard input. If
1175 @var{interrupt} is non-null, then XEmacs uses input interrupts. If it is 1166 @var{interrupt} is non-null, then XEmacs uses input interrupts. If it is
1176 @code{nil}, then it uses @sc{cbreak} mode. When XEmacs communicates 1167 @code{nil}, then it uses @sc{cbreak} mode. When XEmacs communicates
1177 directly with X, it ignores this argument and uses interrupts if that is 1168 directly with X, it ignores this argument and uses interrupts if that is
1178 the way it knows how to communicate. 1169 the way it knows how to communicate.
1201 1192
1202 The @code{current-input-mode} function returns the input mode settings 1193 The @code{current-input-mode} function returns the input mode settings
1203 XEmacs is currently using. 1194 XEmacs is currently using.
1204 1195
1205 @c Emacs 19 feature 1196 @c Emacs 19 feature
1206 @defun current-input-mode 1197 @defun current-input-mode &optional console
1207 This function returns current mode for reading keyboard input. It 1198 This function returns current mode for reading keyboard input. It
1208 returns a list, corresponding to the arguments of @code{set-input-mode}, 1199 returns a list, corresponding to the arguments of @code{set-input-mode},
1209 of the form @code{(@var{interrupt} @var{flow} @var{meta} @var{quit})} in 1200 of the form @code{(@var{interrupt} @var{flow} @var{meta} @var{quit})} in
1210 which: 1201 which:
1211 @table @var 1202 @table @var
1304 character after it is read from the terminal. Record-keeping features 1295 character after it is read from the terminal. Record-keeping features
1305 such as @code{recent-keys} and dribble files record the characters after 1296 such as @code{recent-keys} and dribble files record the characters after
1306 translation. 1297 translation.
1307 @end defvar 1298 @end defvar
1308 1299
1309 @defun keyboard-translate from to 1300 @defun keyboard-translate &rest pairs
1310 This function modifies @code{keyboard-translate-table} to translate 1301 This function modifies @code{keyboard-translate-table} to translate
1311 character code @var{from} into character code @var{to}. It creates 1302 character code @var{from} into character code @var{to}. It creates
1312 or enlarges the translate table if necessary. 1303 or enlarges the translate table if necessary. Multiple
1304 @var{from}-@var{to} pairs may be specified.
1313 @end defun 1305 @end defun
1314 @end ignore 1306 @end ignore
1315 1307
1316 @defvar function-key-map 1308 @defvar function-key-map
1317 This variable holds a keymap that describes the character sequences 1309 This variable holds a keymap that describes the character sequences
1439 This is also the maximum number of events @code{recent-keys} can 1431 This is also the maximum number of events @code{recent-keys} can
1440 return. By default, 100 events are stored. 1432 return. By default, 100 events are stored.
1441 @end defun 1433 @end defun
1442 1434
1443 @defun set-recent-keys-ring-size size 1435 @defun set-recent-keys-ring-size size
1444 This function changes the number of events stored by XEmacs and returned 1436 This function changes the number of events stored by XEmacs and returned
1445 by @code{recent-keys}. 1437 by @code{recent-keys}.
1446 1438
1447 For example, @code{(set-recent-keys-ring-size 250)} will make XEmacs 1439 For example, @code{(set-recent-keys-ring-size 250)} will make XEmacs
1448 remember last 250 events and will make @code{recent-keys} return last 1440 remember last 250 events and will make @code{recent-keys} return last
1449 250 events by default. 1441 250 events by default.
1450 @end defun 1442 @end defun
1451 1443
1452 @deffn Command open-dribble-file filename 1444 @deffn Command open-dribble-file filename
1453 @cindex dribble file 1445 @cindex dribble file
1454 This function opens a @dfn{dribble file} named @var{filename}. When a 1446 This function opens a @dfn{dribble file} named @var{filename}. When a
1455 dribble file is open, each input event from the keyboard or mouse (but 1447 dribble file is open, each input event from the keyboard or mouse (but
1456 not those from keyboard macros) is written in that file. A 1448 not those from keyboard macros) is written in that file. A
1457 non-character event is expressed using its printed representation 1449 non-character event is expressed using its printed representation
1503 speed to the remote machine, so that XEmacs and other programs can get 1495 speed to the remote machine, so that XEmacs and other programs can get
1504 the proper value, but others do not. If XEmacs has the wrong value, it 1496 the proper value, but others do not. If XEmacs has the wrong value, it
1505 makes decisions that are less than optimal. To fix the problem, use 1497 makes decisions that are less than optimal. To fix the problem, use
1506 @code{set-device-baud-rate}. 1498 @code{set-device-baud-rate}.
1507 1499
1508 @defun set-device-baud-rate &optional device 1500 @defun set-device-baud-rate device baud-rate
1509 This function sets the output speed of @var{device}. See 1501 This function sets the output speed of @var{device}. See
1510 @code{device-baud-rate}. @var{device} defaults to the selected device 1502 @code{device-baud-rate}. @var{device} defaults to the selected device
1511 (usually the only device) if omitted. 1503 (usually the only device) if @code{nil}.
1512 @end defun 1504 @end defun
1513 1505
1514 @defun send-string-to-terminal char-or-string &optional stdout-p device 1506 @defun send-string-to-terminal char-or-string &optional stdout-p device
1515 This function sends @var{char-or-string} to the terminal without 1507 This function sends @var{char-or-string} to the terminal without
1516 alteration. Control characters in @var{char-or-string} have 1508 alteration. Control characters in @var{char-or-string} have
1627 As X servers and other window systems replace character-only 1619 As X servers and other window systems replace character-only
1628 terminals, this problem is gradually being cured. For the mean time, 1620 terminals, this problem is gradually being cured. For the mean time,
1629 XEmacs provides a convenient way of enabling flow control if you want it: 1621 XEmacs provides a convenient way of enabling flow control if you want it:
1630 call the function @code{enable-flow-control}. 1622 call the function @code{enable-flow-control}.
1631 1623
1632 @defun enable-flow-control 1624 @deffn Command enable-flow-control &optional argument
1633 This function enables use of @kbd{C-s} and @kbd{C-q} for output flow 1625 This function enables use of @kbd{C-s} and @kbd{C-q} for output flow
1634 control, and provides the characters @kbd{C-\} and @kbd{C-^} as aliases 1626 control, and provides the characters @kbd{C-\} and @kbd{C-^} as aliases
1635 for them using @code{keyboard-translate-table} (@pxref{Translating Input}). 1627 for them using @code{keyboard-translate-table} (@pxref{Translating Input}).
1636 @end defun 1628
1629 With optional argument @var{argument} (interactively the prefix
1630 argument), enable flow control mode if @var{argument} is positive; else
1631 disable it.
1632 @end deffn
1637 1633
1638 You can use the function @code{enable-flow-control-on} in your 1634 You can use the function @code{enable-flow-control-on} in your
1639 @file{.emacs} file to enable flow control automatically on certain 1635 @file{.emacs} file to enable flow control automatically on certain
1640 terminal types. 1636 terminal types.
1641 1637