summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0342
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0342')
-rw-r--r--data/vim/patches/8.1.0342239
1 files changed, 0 insertions, 239 deletions
diff --git a/data/vim/patches/8.1.0342 b/data/vim/patches/8.1.0342
deleted file mode 100644
index 3ea1ac3f5..000000000
--- a/data/vim/patches/8.1.0342
+++ /dev/null
@@ -1,239 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0342
-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.0342
-Problem: Crash when a callback deletes a window that is being used.
-Solution: Do not unload a buffer that is being displayed while redrawing the
- screen. Also avoid invoking callbacks while redrawing.
- (closes #2107)
-Files: src/buffer.c, src/misc2.c
-
-
-*** ../vim-8.1.0341/src/buffer.c 2018-08-21 18:50:11.153501902 +0200
---- src/buffer.c 2018-09-01 15:16:57.753412395 +0200
-***************
-*** 412,418 ****
- hash_remove(&buf_hashtab, hi);
- }
-
-! static char *e_buflocked = N_("E937: Attempt to delete a buffer that is in use");
-
- /*
- * Close the link to a buffer.
---- 412,439 ----
- hash_remove(&buf_hashtab, hi);
- }
-
-! /*
-! * Return TRUE when buffer "buf" can be unloaded.
-! * Give an error message and return FALSE when the buffer is locked or the
-! * screen is being redrawn and the buffer is in a window.
-! */
-! static int
-! can_unload_buffer(buf_T *buf)
-! {
-! int can_unload = !buf->b_locked;
-!
-! if (can_unload && updating_screen)
-! {
-! win_T *wp;
-!
-! FOR_ALL_WINDOWS(wp)
-! if (wp->w_buffer == buf)
-! can_unload = FALSE;
-! }
-! if (!can_unload)
-! EMSG(_("E937: Attempt to delete a buffer that is in use"));
-! return can_unload;
-! }
-
- /*
- * Close the link to a buffer.
-***************
-*** 474,484 ****
- {
- if (wipe_buf || unload_buf)
- {
-! if (buf->b_locked)
-! {
-! EMSG(_(e_buflocked));
- return;
-! }
- /* Wiping out or unloading a terminal buffer kills the job. */
- free_terminal(buf);
- }
---- 495,503 ----
- {
- if (wipe_buf || unload_buf)
- {
-! if (!can_unload_buffer(buf))
- return;
-!
- /* Wiping out or unloading a terminal buffer kills the job. */
- free_terminal(buf);
- }
-***************
-*** 501,511 ****
-
- /* Disallow deleting the buffer when it is locked (already being closed or
- * halfway a command that relies on it). Unloading is allowed. */
-! if (buf->b_locked > 0 && (del_buf || wipe_buf))
-! {
-! EMSG(_(e_buflocked));
- return;
-- }
-
- /* check no autocommands closed the window */
- if (win != NULL && win_valid_any_tab(win))
---- 520,527 ----
-
- /* Disallow deleting the buffer when it is locked (already being closed or
- * halfway a command that relies on it). Unloading is allowed. */
-! if ((del_buf || wipe_buf) && !can_unload_buffer(buf))
- return;
-
- /* check no autocommands closed the window */
- if (win != NULL && win_valid_any_tab(win))
-***************
-*** 1196,1203 ****
- return errormsg;
- }
-
-- static int empty_curbuf(int close_others, int forceit, int action);
--
- /*
- * Make the current buffer empty.
- * Used when it is wiped out and it's the last buffer.
---- 1212,1217 ----
-***************
-*** 1238,1243 ****
---- 1252,1258 ----
- need_fileinfo = FALSE;
- return retval;
- }
-+
- /*
- * Implementation of the commands for the buffer list.
- *
-***************
-*** 1359,1369 ****
- int forward;
- bufref_T bufref;
-
-! if (buf->b_locked)
-! {
-! EMSG(_(e_buflocked));
- return FAIL;
-- }
-
- set_bufref(&bufref, buf);
-
---- 1374,1381 ----
- int forward;
- bufref_T bufref;
-
-! if (!can_unload_buffer(buf))
- return FAIL;
-
- set_bufref(&bufref, buf);
-
-*** ../vim-8.1.0341/src/misc2.c 2018-07-29 16:09:14.636945607 +0200
---- src/misc2.c 2018-09-01 15:07:10.019535433 +0200
-***************
-*** 6366,6398 ****
- {
- win_T *old_curwin = curwin;
-
-! /* For Win32 mch_breakcheck() does not check for input, do it here. */
- # if defined(WIN32) && defined(FEAT_JOB_CHANNEL)
- channel_handle_events(FALSE);
- # endif
-
- # ifdef FEAT_NETBEANS_INTG
-! /* Process the queued netbeans messages. */
- netbeans_parse_messages();
- # endif
- # ifdef FEAT_JOB_CHANNEL
-! /* Write any buffer lines still to be written. */
- channel_write_any_lines();
-
-! /* Process the messages queued on channels. */
- channel_parse_messages();
- # endif
- # if defined(FEAT_CLIENTSERVER) && defined(FEAT_X11)
-! /* Process the queued clientserver messages. */
- server_parse_messages();
- # endif
- # ifdef FEAT_JOB_CHANNEL
-! /* Check if any jobs have ended. */
- job_check_ended();
- # endif
-
-! /* If the current window changed we need to bail out of the waiting loop.
-! * E.g. when a job exit callback closes the terminal window. */
- if (curwin != old_curwin)
- ins_char_typebuf(K_IGNORE);
- }
---- 6366,6403 ----
- {
- win_T *old_curwin = curwin;
-
-! // Do not handle messages while redrawing, because it may cause buffers to
-! // change or be wiped while they are being redrawn.
-! if (updating_screen)
-! return;
-!
-! // For Win32 mch_breakcheck() does not check for input, do it here.
- # if defined(WIN32) && defined(FEAT_JOB_CHANNEL)
- channel_handle_events(FALSE);
- # endif
-
- # ifdef FEAT_NETBEANS_INTG
-! // Process the queued netbeans messages.
- netbeans_parse_messages();
- # endif
- # ifdef FEAT_JOB_CHANNEL
-! // Write any buffer lines still to be written.
- channel_write_any_lines();
-
-! // Process the messages queued on channels.
- channel_parse_messages();
- # endif
- # if defined(FEAT_CLIENTSERVER) && defined(FEAT_X11)
-! // Process the queued clientserver messages.
- server_parse_messages();
- # endif
- # ifdef FEAT_JOB_CHANNEL
-! // Check if any jobs have ended.
- job_check_ended();
- # endif
-
-! // If the current window changed we need to bail out of the waiting loop.
-! // E.g. when a job exit callback closes the terminal window.
- if (curwin != old_curwin)
- ins_char_typebuf(K_IGNORE);
- }
-*** ../vim-8.1.0341/src/version.c 2018-08-31 23:06:18.735841246 +0200
---- src/version.c 2018-09-01 15:02:16.242604587 +0200
-***************
-*** 796,797 ****
---- 796,799 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 342,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-5. You find yourself brainstorming for new subjects to search.
-
- /// 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 ///