summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0824
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0824')
-rw-r--r--data/vim/patches/8.1.0824676
1 files changed, 0 insertions, 676 deletions
diff --git a/data/vim/patches/8.1.0824 b/data/vim/patches/8.1.0824
deleted file mode 100644
index e38e26d0d..000000000
--- a/data/vim/patches/8.1.0824
+++ /dev/null
@@ -1,676 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0824
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0824
-Problem: SunOS/Solaris has a problem with ttys.
-Solution: Add mch_isatty() with extra handling for SunOS. (Ozaki Kiichi,
- closes #3865)
-Files: src/auto/configure, src/channel.c, src/config.h.in,
- src/configure.ac, src/os_unix.c, src/proto/pty.pro, src/pty.c,
- src/terminal.c
-
-
-*** ../vim-8.1.0823/src/auto/configure 2019-01-24 17:59:35.135217476 +0100
---- src/auto/configure 2019-01-26 14:57:08.963571107 +0100
-***************
-*** 11131,11137 ****
- unistd.h stropts.h errno.h sys/resource.h \
- sys/systeminfo.h locale.h sys/stream.h termios.h \
- libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
-! utime.h sys/param.h libintl.h libgen.h \
- util/debug.h util/msg18n.h frame.h sys/acl.h \
- sys/access.h sys/sysinfo.h wchar.h wctype.h
- do :
---- 11131,11137 ----
- unistd.h stropts.h errno.h sys/resource.h \
- sys/systeminfo.h locale.h sys/stream.h termios.h \
- libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
-! utime.h sys/param.h sys/ptms.h libintl.h libgen.h \
- util/debug.h util/msg18n.h frame.h sys/acl.h \
- sys/access.h sys/sysinfo.h wchar.h wctype.h
- do :
-*** ../vim-8.1.0823/src/channel.c 2019-01-24 23:11:44.631650199 +0100
---- src/channel.c 2019-01-26 14:56:30.315399239 +0100
-***************
-*** 1048,1054 ****
- # if defined(UNIX)
- /* Do not end the job when all output channels are closed, wait until
- * the job ended. */
-! if (isatty(in))
- channel->ch_to_be_closed |= (1U << PART_IN);
- # endif
- }
---- 1048,1054 ----
- # if defined(UNIX)
- /* Do not end the job when all output channels are closed, wait until
- * the job ended. */
-! if (mch_isatty(in))
- channel->ch_to_be_closed |= (1U << PART_IN);
- # endif
- }
-*** ../vim-8.1.0823/src/config.h.in 2019-01-24 17:59:35.135217476 +0100
---- src/config.h.in 2019-01-26 14:56:30.315399239 +0100
-***************
-*** 258,263 ****
---- 258,264 ----
- #undef HAVE_SYS_PARAM_H
- #undef HAVE_SYS_POLL_H
- #undef HAVE_SYS_PTEM_H
-+ #undef HAVE_SYS_PTMS_H
- #undef HAVE_SYS_RESOURCE_H
- #undef HAVE_SYS_SELECT_H
- #undef HAVE_SYS_STATFS_H
-*** ../vim-8.1.0823/src/configure.ac 2019-01-24 17:59:35.135217476 +0100
---- src/configure.ac 2019-01-26 14:56:30.315399239 +0100
-***************
-*** 3265,3271 ****
- unistd.h stropts.h errno.h sys/resource.h \
- sys/systeminfo.h locale.h sys/stream.h termios.h \
- libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
-! utime.h sys/param.h libintl.h libgen.h \
- util/debug.h util/msg18n.h frame.h sys/acl.h \
- sys/access.h sys/sysinfo.h wchar.h wctype.h)
-
---- 3265,3271 ----
- unistd.h stropts.h errno.h sys/resource.h \
- sys/systeminfo.h locale.h sys/stream.h termios.h \
- libc.h sys/statfs.h poll.h sys/poll.h pwd.h \
-! utime.h sys/param.h sys/ptms.h libintl.h libgen.h \
- util/debug.h util/msg18n.h frame.h sys/acl.h \
- sys/access.h sys/sysinfo.h wchar.h wctype.h)
-
-*** ../vim-8.1.0823/src/os_unix.c 2019-01-24 16:38:58.272712472 +0100
---- src/os_unix.c 2019-01-26 15:02:45.792035406 +0100
-***************
-*** 338,344 ****
- }
-
- /* Why is NeXT excluded here (and not in os_unixx.h)? */
-! #if defined(ECHOE) && defined(ICANON) && (defined(HAVE_TERMIO_H) || defined(HAVE_TERMIOS_H)) && !defined(__NeXT__)
- # define NEW_TTY_SYSTEM
- #endif
-
---- 338,346 ----
- }
-
- /* Why is NeXT excluded here (and not in os_unixx.h)? */
-! #if defined(ECHOE) && defined(ICANON) \
-! && (defined(HAVE_TERMIO_H) || defined(HAVE_TERMIOS_H)) \
-! && !defined(__NeXT__)
- # define NEW_TTY_SYSTEM
- #endif
-
-***************
-*** 3448,3453 ****
---- 3450,3507 ----
-
- #ifndef VMS
-
-+ /*
-+ * Get the file descriptor to use for tty operations.
-+ */
-+ static int
-+ get_tty_fd(int fd)
-+ {
-+ int tty_fd = fd;
-+
-+ #if defined(HAVE_SVR4_PTYS) && defined(SUN_SYSTEM)
-+ // On SunOS: Get the terminal parameters from "fd", or the slave device of
-+ // "fd" when it is a master device.
-+ if (mch_isatty(fd) > 1)
-+ {
-+ char *name;
-+
-+ name = ptsname(fd);
-+ if (name == NULL)
-+ return -1;
-+
-+ tty_fd = open(name, O_RDONLY | O_NOCTTY | O_EXTRA, 0);
-+ if (tty_fd < 0)
-+ return -1;
-+ }
-+ #endif
-+ return tty_fd;
-+ }
-+
-+ static int
-+ mch_tcgetattr(int fd, void *term)
-+ {
-+ int tty_fd;
-+ int retval = -1;
-+
-+ tty_fd = get_tty_fd(fd);
-+ if (tty_fd >= 0)
-+ {
-+ #ifdef NEW_TTY_SYSTEM
-+ # ifdef HAVE_TERMIOS_H
-+ retval = tcgetattr(tty_fd, (struct termios *)term);
-+ # else
-+ retval = ioctl(tty_fd, TCGETA, (struct termio *)term);
-+ # endif
-+ #else
-+ // for "old" tty systems
-+ retval = ioctl(tty_fd, TIOCGETP, (struct sgttyb *)term);
-+ #endif
-+ if (tty_fd != fd)
-+ close(tty_fd);
-+ }
-+ return retval;
-+ }
-+
- void
- mch_settmode(int tmode)
- {
-***************
-*** 3465,3475 ****
- if (first)
- {
- first = FALSE;
-! # if defined(HAVE_TERMIOS_H)
-! tcgetattr(read_cmd_fd, &told);
-! # else
-! ioctl(read_cmd_fd, TCGETA, &told);
-! # endif
- }
-
- tnew = told;
---- 3519,3525 ----
- if (first)
- {
- first = FALSE;
-! mch_tcgetattr(read_cmd_fd, &told);
- }
-
- tnew = told;
-***************
-*** 3527,3533 ****
- if (first)
- {
- first = FALSE;
-! ioctl(read_cmd_fd, TIOCGETP, &ttybold);
- }
-
- ttybnew = ttybold;
---- 3577,3583 ----
- if (first)
- {
- first = FALSE;
-! mch_tcgetattr(read_cmd_fd, &ttybold);
- }
-
- ttybnew = ttybold;
-***************
-*** 3587,3599 ****
- struct termio keys;
- # endif
-
-! if (
-! # if defined(HAVE_TERMIOS_H)
-! tcgetattr(fd, &keys) != -1
-! # else
-! ioctl(fd, TCGETA, &keys) != -1
-! # endif
-! )
- {
- info->backspace = keys.c_cc[VERASE];
- info->interrupt = keys.c_cc[VINTR];
---- 3637,3643 ----
- struct termio keys;
- # endif
-
-! if (mch_tcgetattr(fd, &keys) != -1)
- {
- info->backspace = keys.c_cc[VERASE];
- info->interrupt = keys.c_cc[VINTR];
-***************
-*** 3611,3617 ****
- /* for "old" tty systems */
- struct sgttyb keys;
-
-! if (ioctl(fd, TIOCGETP, &keys) != -1)
- {
- info->backspace = keys.sg_erase;
- info->interrupt = keys.sg_kill;
---- 3655,3661 ----
- /* for "old" tty systems */
- struct sgttyb keys;
-
-! if (mch_tcgetattr(fd, &keys) != -1)
- {
- info->backspace = keys.sg_erase;
- info->interrupt = keys.sg_kill;
-***************
-*** 4070,4103 ****
- int
- mch_report_winsize(int fd, int rows, int cols)
- {
-! # ifdef TIOCSWINSZ
-! struct winsize ws;
-
-! ws.ws_col = cols;
-! ws.ws_row = rows;
-! ws.ws_xpixel = cols * 5;
-! ws.ws_ypixel = rows * 10;
-! if (ioctl(fd, TIOCSWINSZ, &ws) == 0)
- {
-! ch_log(NULL, "ioctl(TIOCSWINSZ) success");
-! return OK;
-! }
-! ch_log(NULL, "ioctl(TIOCSWINSZ) failed");
-! # else
-! # ifdef TIOCSSIZE
-! struct ttysize ts;
-
-! ts.ts_cols = cols;
-! ts.ts_lines = rows;
-! if (ioctl(fd, TIOCSSIZE, &ws) == 0)
-! {
-! ch_log(NULL, "ioctl(TIOCSSIZE) success");
-! return OK;
-! }
-! ch_log(NULL, "ioctl(TIOCSSIZE) failed");
-! # endif
- # endif
-! return FAIL;
- }
- #endif
-
---- 4114,4148 ----
- int
- mch_report_winsize(int fd, int rows, int cols)
- {
-! int tty_fd;
-! int retval = -1;
-
-! tty_fd = get_tty_fd(fd);
-! if (tty_fd >= 0)
- {
-! # if defined(TIOCSWINSZ)
-! struct winsize ws;
-
-! ws.ws_col = cols;
-! ws.ws_row = rows;
-! ws.ws_xpixel = cols * 5;
-! ws.ws_ypixel = rows * 10;
-! retval = ioctl(tty_fd, TIOCSWINSZ, &ws);
-! ch_log(NULL, "ioctl(TIOCSWINSZ) %s",
-! retval == 0 ? "success" : "failed");
-! # elif defined(TIOCSSIZE)
-! struct ttysize ts;
-!
-! ts.ts_cols = cols;
-! ts.ts_lines = rows;
-! retval = ioctl(tty_fd, TIOCSSIZE, &ts);
-! ch_log(NULL, "ioctl(TIOCSSIZE) %s",
-! retval == 0 ? "success" : "failed");
- # endif
-! if (tty_fd != fd)
-! close(tty_fd);
-! }
-! return retval == 0 ? OK : FAIL;
- }
- #endif
-
-***************
-*** 4273,4279 ****
- {
- char *tty_name;
-
-! *pty_master_fd = OpenPTY(&tty_name); /* open pty */
- if (*pty_master_fd >= 0)
- {
- /* Leaving out O_NOCTTY may lead to waitpid() always returning
---- 4318,4324 ----
- {
- char *tty_name;
-
-! *pty_master_fd = mch_openpty(&tty_name); // open pty
- if (*pty_master_fd >= 0)
- {
- /* Leaving out O_NOCTTY may lead to waitpid() always returning
-***************
-*** 4721,4727 ****
- {
- /* push stream discipline modules */
- if (options & SHELL_COOKED)
-! SetupSlavePTY(pty_slave_fd);
- # ifdef TIOCSCTTY
- /* Try to become controlling tty (probably doesn't work,
- * unless run by root) */
---- 4766,4772 ----
- {
- /* push stream discipline modules */
- if (options & SHELL_COOKED)
-! setup_slavepty(pty_slave_fd);
- # ifdef TIOCSCTTY
- /* Try to become controlling tty (probably doesn't work,
- * unless run by root) */
-***************
-*** 5579,5585 ****
- if (pty_slave_fd >= 0)
- {
- /* push stream discipline modules */
-! SetupSlavePTY(pty_slave_fd);
- # ifdef TIOCSCTTY
- /* Try to become controlling tty (probably doesn't work,
- * unless run by root) */
---- 5624,5630 ----
- if (pty_slave_fd >= 0)
- {
- /* push stream discipline modules */
-! setup_slavepty(pty_slave_fd);
- # ifdef TIOCSCTTY
- /* Try to become controlling tty (probably doesn't work,
- * unless run by root) */
-*** ../vim-8.1.0823/src/proto/pty.pro 2018-05-17 13:52:49.000000000 +0200
---- src/proto/pty.pro 2019-01-26 15:12:08.822449336 +0100
-***************
-*** 1,4 ****
- /* pty.c */
-! int SetupSlavePTY(int fd);
-! int OpenPTY(char **ttyn);
- /* vim: set ft=c : */
---- 1,5 ----
- /* pty.c */
-! int setup_slavepty(int fd);
-! int mch_openpty(char **ttyn);
-! int mch_isatty(int fd);
- /* vim: set ft=c : */
-*** ../vim-8.1.0823/src/pty.c 2018-09-30 21:43:17.203693237 +0200
---- src/pty.c 2019-01-26 15:05:23.639798802 +0100
-***************
-*** 56,71 ****
- #endif
-
- #if HAVE_STROPTS_H
-! #include <sys/types.h>
-! #ifdef sinix
-! #define buf_T __system_buf_t__
-! #endif
-! #include <stropts.h>
-! #ifdef sinix
-! #undef buf_T
-! #endif
- # ifdef SUN_SYSTEM
- # include <sys/conf.h>
- # endif
- #endif
-
---- 56,74 ----
- #endif
-
- #if HAVE_STROPTS_H
-! # include <sys/types.h>
-! # ifdef sinix
-! # define buf_T __system_buf_t__
-! # endif
-! # include <stropts.h>
-! # ifdef sinix
-! # undef buf_T
-! # endif
- # ifdef SUN_SYSTEM
- # include <sys/conf.h>
-+ # if defined(HAVE_SYS_PTMS_H) && defined(HAVE_SVR4_PTYS)
-+ # include <sys/ptms.h>
-+ # endif
- # endif
- #endif
-
-***************
-*** 155,165 ****
- * pty on others. Needs to be tuned...
- */
- int
-! SetupSlavePTY(int fd)
- {
- if (fd < 0)
- return 0;
-! #if defined(I_PUSH) && defined(HAVE_SVR4_PTYS) && !defined(sgi) && !defined(linux) && !defined(__osf__) && !defined(M_UNIX)
- # if defined(HAVE_SYS_PTEM_H) || defined(hpux)
- if (ioctl(fd, I_PUSH, "ptem") != 0)
- return -1;
---- 158,169 ----
- * pty on others. Needs to be tuned...
- */
- int
-! setup_slavepty(int fd)
- {
- if (fd < 0)
- return 0;
-! #if defined(I_PUSH) && defined(HAVE_SVR4_PTYS) && !defined(sgi) \
-! && !defined(linux) && !defined(__osf__) && !defined(M_UNIX)
- # if defined(HAVE_SYS_PTEM_H) || defined(hpux)
- if (ioctl(fd, I_PUSH, "ptem") != 0)
- return -1;
-***************
-*** 178,184 ****
- #if defined(OSX) && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! OpenPTY(char **ttyn)
- {
- int f;
- static char TtyName[32];
---- 182,188 ----
- #if defined(OSX) && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! mch_openpty(char **ttyn)
- {
- int f;
- static char TtyName[32];
-***************
-*** 195,201 ****
- && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! OpenPTY(char **ttyn)
- {
- char *m, *s;
- int f;
---- 199,205 ----
- && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! mch_openpty(char **ttyn)
- {
- char *m, *s;
- int f;
-***************
-*** 219,225 ****
- #if defined(__sgi) && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! OpenPTY(char **ttyn)
- {
- int f;
- char *name;
---- 223,229 ----
- #if defined(__sgi) && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! mch_openpty(char **ttyn)
- {
- int f;
- char *name;
-***************
-*** 244,250 ****
- #if defined(MIPS) && defined(HAVE_DEV_PTC) && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! OpenPTY(char **ttyn)
- {
- int f;
- stat_T buf;
---- 248,254 ----
- #if defined(MIPS) && defined(HAVE_DEV_PTC) && !defined(PTY_DONE)
- #define PTY_DONE
- int
-! mch_openpty(char **ttyn)
- {
- int f;
- stat_T buf;
-***************
-*** 272,278 ****
- * Same for Mac OS X Leopard (10.5). */
- #define PTY_DONE
- int
-! OpenPTY(char **ttyn)
- {
- int f;
- char *m;
---- 276,282 ----
- * Same for Mac OS X Leopard (10.5). */
- #define PTY_DONE
- int
-! mch_openpty(char **ttyn)
- {
- int f;
- char *m;
-***************
-*** 313,319 ****
- #endif
-
- int
-! OpenPTY(char **ttyn)
- {
- int f;
- /* used for opening a new pty-pair: */
---- 317,323 ----
- #endif
-
- int
-! mch_openpty(char **ttyn)
- {
- int f;
- /* used for opening a new pty-pair: */
-***************
-*** 359,365 ****
- # endif
-
- int
-! OpenPTY(char **ttyn)
- {
- char *p, *q, *l, *d;
- int f;
---- 363,369 ----
- # endif
-
- int
-! mch_openpty(char **ttyn)
- {
- char *p, *q, *l, *d;
- int f;
-***************
-*** 410,413 ****
- }
- #endif
-
-! #endif /* FEAT_GUI || FEAT_TERMINAL */
---- 414,443 ----
- }
- #endif
-
-! /*
-! * Call isatty(fd), except for SunOS where it's done differently.
-! */
-! int
-! mch_isatty(int fd)
-! {
-! # if defined(I_STR) && defined(HAVE_SYS_PTMS_H) && defined(HAVE_SVR4_PTYS) \
-! && defined(SUN_SYSTEM)
-! // On SunOS, isatty() for /dev/ptmx returns false or sometimes can hang up
-! // in the inner ioctl(), and therefore first determine whether "fd" is a
-! // master device.
-! struct strioctl istr;
-!
-! istr.ic_cmd = ISPTM;
-! istr.ic_timout = 0;
-! istr.ic_dp = NULL;
-! istr.ic_len = 0;
-!
-! if (ioctl(fd, I_STR, &istr) == 0)
-! // Trick: return 2 in order to advice the caller that "fd" is a master
-! // device. cf. src/os_unix.c:get_tty_fd()
-! return 2;
-! # endif
-! return isatty(fd);
-! }
-!
-! #endif /* FEAT_GUI || FEAT_JOB_CHANNEL */
-*** ../vim-8.1.0823/src/terminal.c 2019-01-20 15:30:36.897328669 +0100
---- src/terminal.c 2019-01-26 14:56:30.319399259 +0100
-***************
-*** 873,879 ****
- {
- int fd = term->tl_job->jv_channel->ch_part[parts[i]].ch_fd;
-
-! if (isatty(fd))
- return parts[i];
- }
- #endif
---- 873,879 ----
- {
- int fd = term->tl_job->jv_channel->ch_part[parts[i]].ch_fd;
-
-! if (mch_isatty(fd))
- return parts[i];
- }
- #endif
-***************
-*** 2182,2188 ****
- * them for every typed character is a bit of overhead, but it's needed
- * for the first character typed, e.g. when Vim starts in a shell.
- */
-! if (isatty(tty_fd))
- {
- ttyinfo_T info;
-
---- 2182,2188 ----
- * them for every typed character is a bit of overhead, but it's needed
- * for the first character typed, e.g. when Vim starts in a shell.
- */
-! if (mch_isatty(tty_fd))
- {
- ttyinfo_T info;
-
-***************
-*** 5882,5888 ****
- for (part = PART_OUT; part < PART_COUNT; ++part)
- {
- fd = term->tl_job->jv_channel->ch_part[part].ch_fd;
-! if (isatty(fd))
- break;
- }
- if (part < PART_COUNT && mch_report_winsize(fd, rows, cols) == OK)
---- 5882,5888 ----
- for (part = PART_OUT; part < PART_COUNT; ++part)
- {
- fd = term->tl_job->jv_channel->ch_part[part].ch_fd;
-! if (mch_isatty(fd))
- break;
- }
- if (part < PART_COUNT && mch_report_winsize(fd, rows, cols) == OK)
-*** ../vim-8.1.0823/src/version.c 2019-01-26 14:11:15.083587014 +0100
---- src/version.c 2019-01-26 15:11:16.690665449 +0100
-***************
-*** 789,790 ****
---- 789,792 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 824,
- /**/
-
---
-Veni, Vidi, Video -- I came, I saw, I taped what I saw.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///