Next: , Previous: , Up: System Interface   [Contents][Index]


58.9 Terminal Output

The terminal output functions send output to the terminal or keep track of output sent to the terminal. The function device-baud-rate tells you what SXEmacs thinks is the output speed of the terminal.

Function: device-baud-rate &optional device

This function’s value is the output speed of the terminal associated with device, as far as SXEmacs knows. device defaults to the selected device (usually the only device) if omitted.

Changing this value does not change the speed of actual data transmission, but the value is used for calculations such as padding. This value has no effect for window-system devices.

This is different in FSF Emacs, where the baud rate also affects decisions about whether to scroll part of the screen or repaint, even when using a window system.

The value is measured in bits per second.

SXEmacs attempts to automatically initialize the baud rate by querying the terminal. If you are running across a network, however, and different parts of the network work are at different baud rates, the value returned by SXEmacs may be different from the value used by your local terminal.

Some network protocols communicate the local terminal speed to the remote machine, so that SXEmacs and other programs can get the proper value, but others do not. If SXEmacs has the wrong value, it makes decisions that are less than optimal. To fix the problem, use set-device-baud-rate.

Function: set-device-baud-rate device baud-rate

This function sets the output speed of device. See device-baud-rate. device defaults to the selected device (usually the only device) if nil.

Function: send-string-to-terminal char-or-string &optional stdout-p device

This function sends char-or-string to the terminal without alteration. Control characters in char-or-string have terminal-dependent effects.

If device is nil, this function writes to SXEmacs’s stderr, or to stdout if stdout-p is non-nil. Otherwise, device should be a tty or stream device, and the function writes to the device’s normal or error output, according to stdout-p.

One use of this function is to define function keys on terminals that have downloadable function key definitions. For example, this is how on certain terminals to define function key 4 to move forward four characters by transmitting the characters C-u C-f to the computer:

(send-string-to-terminal "\eF4\^U\^F")
     ⇒ nil
Command: open-termscript filename

This function is used to open a termscript file that will record all the characters sent by SXEmacs to the terminal. If there are multiple tty or stream devices, all characters sent to all such devices are recorded.

The function returns nil. Termscript files are useful for investigating problems where SXEmacs garbles the screen, problems that are due to incorrect Termcap entries or to undesirable settings of terminal options more often than to actual SXEmacs bugs.

Once you are certain which characters were actually output, you can determine reliably whether they correspond to the Termcap specifications in use.

A nil value for filename stops recording terminal output.

See also open-dribble-file in Terminal Input.

(open-termscript "../junk/termscript")
     ⇒ nil

Next: , Previous: , Up: System Interface   [Contents][Index]