- Copyright (C) 1985, 86,87,88,93,94,95, 1999, 2000, 2001
+ Copyright (C) 1985, 86,87,88,93,94,95,1999,2000,01,2003
Free Software Foundation, Inc.
This file is part of GNU Emacs.
Free Software Foundation, Inc.
This file is part of GNU Emacs.
baud_rate = (emacs_ospeed < sizeof baud_convert / sizeof baud_convert[0]
? baud_convert[emacs_ospeed] : 9600);
if (baud_rate == 0)
baud_rate = (emacs_ospeed < sizeof baud_convert / sizeof baud_convert[0]
? baud_convert[emacs_ospeed] : 9600);
if (baud_rate == 0)
#ifdef HAVE_LTCHARS
static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1};
#endif
#ifdef HAVE_TCHARS
static struct tchars new_tchars = {-1,-1,-1,-1,-1,-1};
#ifdef HAVE_LTCHARS
static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1};
#endif
#ifdef HAVE_TCHARS
static struct tchars new_tchars = {-1,-1,-1,-1,-1,-1};
/* Return nonzero if safe to use tabs in output.
At the time this is called, init_sys_modes has not been done yet. */
/* Return nonzero if safe to use tabs in output.
At the time this is called, init_sys_modes has not been done yet. */
SYS$QIOW (0, input_fd, IO$_SENSEMODE, &tty, 0, 0,
&tty.class, 12, 0, 0, 0, 0);
*widthp = tty.scr_wid;
SYS$QIOW (0, input_fd, IO$_SENSEMODE, &tty, 0, 0,
&tty.class, 12, 0, 0, 0, 0);
*widthp = tty.scr_wid;
- cursor_to (FRAME_HEIGHT (sf) - 1, 0);
- clear_end_of_line (FRAME_WIDTH (sf));
+ cursor_to (FRAME_LINES (sf) - 1, 0);
+ clear_end_of_line (FRAME_COLS (sf));
does this. Also it is known that telnet mode will hang
in such a way that Emacs must be stopped (perhaps this
is the same problem).
does this. Also it is known that telnet mode will hang
in such a way that Emacs must be stopped (perhaps this
is the same problem).
If TIOCREMOTE is turned off, then there is a bug in
hp-ux which sometimes loses data. Apparently the
code which blocks the master process when the internal
buffer fills up does not work. Other than this,
though, everything else seems to work fine.
If TIOCREMOTE is turned off, then there is a bug in
hp-ux which sometimes loses data. Apparently the
code which blocks the master process when the internal
buffer fills up does not work. Other than this,
though, everything else seems to work fine.
if (input_fd == 0)
{
status = SYS$ASSIGN (&input_dsc, &input_fd, 0, 0);
if (input_fd == 0)
{
status = SYS$ASSIGN (&input_dsc, &input_fd, 0, 0);
LIB$EMUL (&timeval, &large, &zero, time); /* Convert to VMS format */
SYS$CANTIM (1, 0);
LIB$EMUL (&timeval, &large, &zero, time); /* Convert to VMS format */
SYS$CANTIM (1, 0);
/* Once a second, till the timer expires, check all the flagged read
* descriptors to see if any input is available. If there is some then
* set the corresponding bit in the return copy of rfds.
/* Once a second, till the timer expires, check all the flagged read
* descriptors to see if any input is available. If there is some then
* set the corresponding bit in the return copy of rfds.
/* Wait for a SIGALRM (or maybe a SIGTINT) */
while (select_alarmed == 0 && *local_timeout != 0
&& process_tick == update_tick)
/* Wait for a SIGALRM (or maybe a SIGTINT) */
while (select_alarmed == 0 && *local_timeout != 0
&& process_tick == update_tick)
read_alarm_should_throw = 0;
if (! setjmp (read_alarm_throw))
nread = (*read_socket_hook) (0, buf, 256, 1);
read_alarm_should_throw = 0;
if (! setjmp (read_alarm_throw))
nread = (*read_socket_hook) (0, buf, 256, 1);
/* The following is necessary because 'access' emulation by VMS C (2.0) does
* not work correctly. (It also doesn't work well in version 2.3.)
*/
/* The following is necessary because 'access' emulation by VMS C (2.0) does
* not work correctly. (It also doesn't work well in version 2.3.)
*/
* access can treat the directory like a file. */
if (directory_file_name (path, dir_fn))
path = dir_fn;
* access can treat the directory like a file. */
if (directory_file_name (path, dir_fn))
path = dir_fn;
if (mode == F_OK)
return access (path, mode);
if (user == NULL && (user = (char *) getenv ("USER")) == NULL)
if (mode == F_OK)
return access (path, mode);
if (user == NULL && (user = (char *) getenv ("USER")) == NULL)
static int constant = ACL$C_FILE;
DESCRIPTOR (path_desc, path);
DESCRIPTOR (user_desc, user);
static int constant = ACL$C_FILE;
DESCRIPTOR (path_desc, path);
DESCRIPTOR (user_desc, user);
return access (filename, type);
/* Check write protection. */
return access (filename, type);
/* Check write protection. */
#define CHECKPRIV(bit) (prvmask.bit)
#define WRITABLE(field) (! ((xab.xab$w_pro >> field) & XAB$M_NOWRITE))
#define CHECKPRIV(bit) (prvmask.bit)
#define WRITABLE(field) (! ((xab.xab$w_pro >> field) & XAB$M_NOWRITE))
* when this is not the desired behavior, for instance, when writing an
* auto save file (you only want one version), or when you don't have
* write permission in the directory containing the file (but the file
* when this is not the desired behavior, for instance, when writing an
* auto save file (you only want one version), or when you don't have
* write permission in the directory containing the file (but the file
bits). To maintain portability, the VMS implementation of `chmod' wires
the W and D bits together. */
bits). To maintain portability, the VMS implementation of `chmod' wires
the W and D bits together. */
static struct fibdef fib; /* We need this initialized to zero */
char vms_file_written[NAM$C_MAXRSS];
static struct fibdef fib; /* We need this initialized to zero */
char vms_file_written[NAM$C_MAXRSS];
/* If we're not on an HFT we shouldn't do any of this. We determine
if we are on an HFT by trying to get an HFT error code. If this
/* If we're not on an HFT we shouldn't do any of this. We determine
if we are on an HFT by trying to get an HFT error code. If this