diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2013-11-04 17:08:47 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 22:57:36 +0200 |
commit | 76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch) | |
tree | 9b98e6e193c7870cb27ac861394c1c4592850922 /source/ap/vim/patches/7.3.083 | |
parent | 9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff) | |
download | current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz |
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013
Slackware 14.1 x86_64 stable is released!
It's been another interesting release cycle here at Slackware bringing
new features like support for UEFI machines, updated compilers and
development tools, the switch from MySQL to MariaDB, and many more
improvements throughout the system. Thanks to the team, the upstream
developers, the dedicated Slackware community, and everyone else who
pitched in to help make this release a reality.
The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a
dual-sided
32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware
project by picking up a copy from store.slackware.com. We're taking
pre-orders now, and offer a discount if you sign up for a subscription.
Have fun! :-)
Diffstat (limited to 'source/ap/vim/patches/7.3.083')
-rw-r--r-- | source/ap/vim/patches/7.3.083 | 362 |
1 files changed, 0 insertions, 362 deletions
diff --git a/source/ap/vim/patches/7.3.083 b/source/ap/vim/patches/7.3.083 deleted file mode 100644 index f337d210..00000000 --- a/source/ap/vim/patches/7.3.083 +++ /dev/null @@ -1,362 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 7.3.083 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.3.083 -Problem: When a read() or write() is interrupted by a signal it fails. -Solution: Add read_eintr() and write_eintr(). -Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c, - src/os_unix.c, src/undo.c, src/vim.h - - -*** ../vim-7.3.082/src/fileio.c 2010-08-15 21:57:26.000000000 +0200 ---- src/fileio.c 2010-12-17 16:04:30.000000000 +0100 -*************** -*** 918,924 **** - { - /* Read the first line (and a bit more). Immediately rewind to - * the start of the file. If the read() fails "len" is -1. */ -! len = vim_read(fd, firstline, 80); - lseek(fd, (off_t)0L, SEEK_SET); - for (p = firstline; p < firstline + len; ++p) - if (*p >= 0x80) ---- 918,924 ---- - { - /* Read the first line (and a bit more). Immediately rewind to - * the start of the file. If the read() fails "len" is -1. */ -! len = read_eintr(fd, firstline, 80); - lseek(fd, (off_t)0L, SEEK_SET); - for (p = firstline; p < firstline + len; ++p) - if (*p >= 0x80) -*************** -*** 1373,1379 **** - /* - * Read bytes from the file. - */ -! size = vim_read(fd, ptr, size); - } - - if (size <= 0) ---- 1373,1379 ---- - /* - * Read bytes from the file. - */ -! size = read_eintr(fd, ptr, size); - } - - if (size <= 0) -*************** -*** 4000,4006 **** - #ifdef HAS_BW_FLAGS - write_info.bw_flags = FIO_NOCONVERT; - #endif -! while ((write_info.bw_len = vim_read(fd, copybuf, - BUFSIZE)) > 0) - { - if (buf_write_bytes(&write_info) == FAIL) ---- 4000,4006 ---- - #ifdef HAS_BW_FLAGS - write_info.bw_flags = FIO_NOCONVERT; - #endif -! while ((write_info.bw_len = read_eintr(fd, copybuf, - BUFSIZE)) > 0) - { - if (buf_write_bytes(&write_info) == FAIL) -*************** -*** 4813,4819 **** - #ifdef HAS_BW_FLAGS - write_info.bw_flags = FIO_NOCONVERT; - #endif -! while ((write_info.bw_len = vim_read(fd, smallbuf, - SMBUFSIZE)) > 0) - if (buf_write_bytes(&write_info) == FAIL) - break; ---- 4813,4819 ---- - #ifdef HAS_BW_FLAGS - write_info.bw_flags = FIO_NOCONVERT; - #endif -! while ((write_info.bw_len = read_eintr(fd, smallbuf, - SMBUFSIZE)) > 0) - if (buf_write_bytes(&write_info) == FAIL) - break; -*************** -*** 5330,5336 **** - - /* - * Call write() to write a number of bytes to the file. -! * Also handles encryption and 'encoding' conversion. - * - * Return FAIL for failure, OK otherwise. - */ ---- 5330,5336 ---- - - /* - * Call write() to write a number of bytes to the file. -! * Handles encryption and 'encoding' conversion. - * - * Return FAIL for failure, OK otherwise. - */ -*************** -*** 5702,5717 **** - crypt_encode(buf, len, buf); - #endif - -! /* Repeat the write(), it may be interrupted by a signal. */ -! while (len > 0) -! { -! wlen = vim_write(ip->bw_fd, buf, len); -! if (wlen <= 0) /* error! */ -! return FAIL; -! len -= wlen; -! buf += wlen; -! } -! return OK; - } - - #ifdef FEAT_MBYTE ---- 5702,5709 ---- - crypt_encode(buf, len, buf); - #endif - -! wlen = write_eintr(ip->bw_fd, buf, len); -! return (wlen < len) ? FAIL : OK; - } - - #ifdef FEAT_MBYTE -*************** -*** 6662,6669 **** - return -1; - } - -! while ((n = vim_read(fd_in, buffer, BUFSIZE)) > 0) -! if (vim_write(fd_out, buffer, n) != n) - { - errmsg = _("E208: Error writing to \"%s\""); - break; ---- 6654,6661 ---- - return -1; - } - -! while ((n = read_eintr(fd_in, buffer, BUFSIZE)) > 0) -! if (write_eintr(fd_out, buffer, n) != n) - { - errmsg = _("E208: Error writing to \"%s\""); - break; -*************** -*** 10304,10306 **** ---- 10296,10350 ---- - } - return reg_pat; - } -+ -+ #if defined(EINTR) || defined(PROTO) -+ /* -+ * Version of read() that retries when interrupted by EINTR (possibly -+ * by a SIGWINCH). -+ */ -+ long -+ read_eintr(fd, buf, bufsize) -+ int fd; -+ void *buf; -+ size_t bufsize; -+ { -+ long ret; -+ -+ for (;;) -+ { -+ ret = vim_read(fd, buf, bufsize); -+ if (ret >= 0 || errno != EINTR) -+ break; -+ } -+ return ret; -+ } -+ -+ /* -+ * Version of write() that retries when interrupted by EINTR (possibly -+ * by a SIGWINCH). -+ */ -+ long -+ write_eintr(fd, buf, bufsize) -+ int fd; -+ void *buf; -+ size_t bufsize; -+ { -+ long ret = 0; -+ long wlen; -+ -+ /* Repeat the write() so long it didn't fail, other than being interrupted -+ * by a signal. */ -+ while (ret < (long)bufsize) -+ { -+ wlen = vim_write(fd, buf + ret, bufsize - ret); -+ if (wlen < 0) -+ { -+ if (errno != EINTR) -+ break; -+ } -+ else -+ ret += wlen; -+ } -+ return ret; -+ } -+ #endif -*** ../vim-7.3.082/src/proto/fileio.pro 2010-08-15 21:57:28.000000000 +0200 ---- src/proto/fileio.pro 2010-12-17 15:01:26.000000000 +0100 -*************** -*** 54,57 **** ---- 54,59 ---- - int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs)); - int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname)); - char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash)); -+ long read_eintr __ARGS((int fd, void *buf, size_t bufsize)); -+ long write_eintr __ARGS((int fd, void *buf, size_t bufsize)); - /* vim: set ft=c : */ -*** ../vim-7.3.082/src/memfile.c 2010-08-15 21:57:25.000000000 +0200 ---- src/memfile.c 2010-12-17 16:02:54.000000000 +0100 -*************** -*** 1049,1055 **** - PERROR(_("E294: Seek error in swap file read")); - return FAIL; - } -! if ((unsigned)vim_read(mfp->mf_fd, hp->bh_data, size) != size) - { - PERROR(_("E295: Read error in swap file")); - return FAIL; ---- 1049,1055 ---- - PERROR(_("E294: Seek error in swap file read")); - return FAIL; - } -! if ((unsigned)read_eintr(mfp->mf_fd, hp->bh_data, size) != size) - { - PERROR(_("E295: Read error in swap file")); - return FAIL; -*************** -*** 1168,1174 **** - } - #endif - -! if ((unsigned)vim_write(mfp->mf_fd, data, size) != size) - result = FAIL; - - #ifdef FEAT_CRYPT ---- 1168,1174 ---- - } - #endif - -! if ((unsigned)write_eintr(mfp->mf_fd, data, size) != size) - result = FAIL; - - #ifdef FEAT_CRYPT -*** ../vim-7.3.082/src/memline.c 2010-12-08 13:16:58.000000000 +0100 ---- src/memline.c 2010-12-17 15:46:49.000000000 +0100 -*************** -*** 2062,2068 **** - fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0); - if (fd >= 0) - { -! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0)) - { - if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0) - { ---- 2062,2068 ---- - fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0); - if (fd >= 0) - { -! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0)) - { - if (STRNCMP(b0.b0_version, "VIM 3.0", 7) == 0) - { -*************** -*** 4392,4398 **** - fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0); - if (fd >= 0) - { -! if (read(fd, (char *)&b0, sizeof(b0)) == sizeof(b0)) - { - /* - * If the swapfile has the same directory as the ---- 4392,4398 ---- - fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0); - if (fd >= 0) - { -! if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0)) - { - /* - * If the swapfile has the same directory as the -*** ../vim-7.3.082/src/os_unix.c 2010-10-20 19:17:43.000000000 +0200 ---- src/os_unix.c 2010-12-17 16:17:43.000000000 +0100 -*************** -*** 4454,4460 **** - ++noread_cnt; - while (RealWaitForChar(fromshell_fd, 10L, NULL)) - { -! len = read(fromshell_fd, (char *)buffer - # ifdef FEAT_MBYTE - + buffer_off, (size_t)(BUFLEN - buffer_off) - # else ---- 4454,4460 ---- - ++noread_cnt; - while (RealWaitForChar(fromshell_fd, 10L, NULL)) - { -! len = read_eintr(fromshell_fd, buffer - # ifdef FEAT_MBYTE - + buffer_off, (size_t)(BUFLEN - buffer_off) - # else -*** ../vim-7.3.082/src/undo.c 2010-11-03 19:32:36.000000000 +0100 ---- src/undo.c 2010-12-17 15:39:24.000000000 +0100 -*************** -*** 1386,1392 **** - char_u mbuf[UF_START_MAGIC_LEN]; - int len; - -! len = vim_read(fd, mbuf, UF_START_MAGIC_LEN); - close(fd); - if (len < UF_START_MAGIC_LEN - || memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0) ---- 1386,1392 ---- - char_u mbuf[UF_START_MAGIC_LEN]; - int len; - -! len = read_eintr(fd, mbuf, UF_START_MAGIC_LEN); - close(fd); - if (len < UF_START_MAGIC_LEN - || memcmp(mbuf, UF_START_MAGIC, UF_START_MAGIC_LEN) != 0) -*** ../vim-7.3.082/src/vim.h 2010-12-02 16:01:23.000000000 +0100 ---- src/vim.h 2010-12-17 14:55:04.000000000 +0100 -*************** -*** 1642,1647 **** ---- 1642,1652 ---- - # define USE_INPUT_BUF - #endif - -+ #ifndef EINTR -+ # define read_eintr(fd, buf, count) vim_read((fd), (buf), (count)) -+ # define write_eintr(fd, buf, count) vim_write((fd), (buf), (count)) -+ #endif -+ - #ifdef MSWIN - /* On MS-Windows the third argument isn't size_t. This matters for Win64, - * where sizeof(size_t)==8, not 4 */ -*** ../vim-7.3.082/src/version.c 2010-12-17 12:19:14.000000000 +0100 ---- src/version.c 2010-12-17 16:10:58.000000000 +0100 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 83, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -9. As often as possible, skip rather than walk. - - /// 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 /// |