summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0863
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0863')
-rw-r--r--data/vim/patches/8.1.0863191
1 files changed, 0 insertions, 191 deletions
diff --git a/data/vim/patches/8.1.0863 b/data/vim/patches/8.1.0863
deleted file mode 100644
index f1b2567ae..000000000
--- a/data/vim/patches/8.1.0863
+++ /dev/null
@@ -1,191 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0863
-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.0863
-Problem: Cannot see what signal caused a job to end.
-Solution: Add "termsig" to job_info(). (Ozaki Kiichi, closes #3786)
-Files: runtime/doc/eval.txt, src/channel.c, src/os_unix.c, src/structs.h,
- src/testdir/test_channel.vim
-
-
-*** ../vim-8.1.0862/runtime/doc/eval.txt 2019-01-29 22:58:02.397136325 +0100
---- runtime/doc/eval.txt 2019-01-31 15:43:59.196879123 +0100
-***************
-*** 5711,5716 ****
---- 5745,5755 ----
- "exit_cb" function to be called on exit
- "stoponexit" |job-stoponexit|
-
-+ Only in Unix:
-+ "termsig" the signal which terminated the process
-+ (See |job_stop()| for the values)
-+ only valid when "status" is "dead"
-+
- Without any arguments, returns a List with all Job objects.
-
- job_setoptions({job}, {options}) *job_setoptions()*
-*** ../vim-8.1.0862/src/channel.c 2019-01-29 22:29:03.550799929 +0100
---- src/channel.c 2019-01-31 15:41:28.489759542 +0100
-***************
-*** 5152,5157 ****
---- 5152,5160 ----
- vim_free(job->jv_tty_in);
- vim_free(job->jv_tty_out);
- vim_free(job->jv_stoponexit);
-+ #ifdef UNIX
-+ vim_free(job->jv_termsig);
-+ #endif
- free_callback(job->jv_exit_cb, job->jv_exit_partial);
- if (job->jv_argv != NULL)
- {
-***************
-*** 5908,5913 ****
---- 5911,5919 ----
- dict_add_number(dict, "exitval", job->jv_exitval);
- dict_add_string(dict, "exit_cb", job->jv_exit_cb);
- dict_add_string(dict, "stoponexit", job->jv_stoponexit);
-+ #ifdef UNIX
-+ dict_add_string(dict, "termsig", job->jv_termsig);
-+ #endif
-
- l = list_alloc();
- if (l != NULL)
-*** ../vim-8.1.0862/src/os_unix.c 2019-01-27 16:55:44.276707556 +0100
---- src/os_unix.c 2019-01-31 15:46:43.263894208 +0100
-***************
-*** 5655,5660 ****
---- 5655,5677 ----
- close(pty_slave_fd);
- }
-
-+ static char_u *
-+ get_signal_name(int sig)
-+ {
-+ int i;
-+ char_u numbuf[NUMBUFLEN];
-+
-+ if (sig == SIGKILL)
-+ return vim_strsave((char_u *)"kill");
-+
-+ for (i = 0; signal_info[i].sig != -1; i++)
-+ if (sig == signal_info[i].sig)
-+ return strlow_save((char_u *)signal_info[i].name);
-+
-+ vim_snprintf((char *)numbuf, NUMBUFLEN, "%d", sig);
-+ return vim_strsave(numbuf);
-+ }
-+
- char *
- mch_job_status(job_T *job)
- {
-***************
-*** 5691,5698 ****
- if (WIFSIGNALED(status))
- {
- job->jv_exitval = -1;
-! if (job->jv_status < JOB_ENDED)
-! ch_log(job->jv_channel, "Job terminated by a signal");
- goto return_dead;
- }
- return "run";
---- 5708,5717 ----
- if (WIFSIGNALED(status))
- {
- job->jv_exitval = -1;
-! job->jv_termsig = get_signal_name(WTERMSIG(status));
-! if (job->jv_status < JOB_ENDED && job->jv_termsig != NULL)
-! ch_log(job->jv_channel, "Job terminated by signal \"%s\"",
-! job->jv_termsig);
- goto return_dead;
- }
- return "run";
-***************
-*** 5738,5744 ****
---- 5757,5766 ----
- /* LINTED avoid "bitwise operation on signed value" */
- job->jv_exitval = WEXITSTATUS(status);
- else if (WIFSIGNALED(status))
-+ {
- job->jv_exitval = -1;
-+ job->jv_termsig = get_signal_name(WTERMSIG(status));
-+ }
- if (job->jv_status < JOB_ENDED)
- {
- ch_log(job->jv_channel, "Job ended");
-*** ../vim-8.1.0862/src/structs.h 2019-01-26 17:28:22.232599086 +0100
---- src/structs.h 2019-01-31 15:41:28.493759517 +0100
-***************
-*** 1550,1556 ****
- char_u *jv_tty_in; /* controlling tty input, allocated */
- char_u *jv_tty_out; /* controlling tty output, allocated */
- jobstatus_T jv_status;
-! char_u *jv_stoponexit; /* allocated */
- int jv_exitval;
- char_u *jv_exit_cb; /* allocated */
- partial_T *jv_exit_partial;
---- 1550,1559 ----
- char_u *jv_tty_in; /* controlling tty input, allocated */
- char_u *jv_tty_out; /* controlling tty output, allocated */
- jobstatus_T jv_status;
-! char_u *jv_stoponexit; /* allocated */
-! #ifdef UNIX
-! char_u *jv_termsig; /* allocated */
-! #endif
- int jv_exitval;
- char_u *jv_exit_cb; /* allocated */
- partial_T *jv_exit_partial;
-*** ../vim-8.1.0862/src/testdir/test_channel.vim 2019-01-29 22:58:02.401136295 +0100
---- src/testdir/test_channel.vim 2019-01-31 15:41:28.493759517 +0100
-***************
-*** 2002,2004 ****
---- 2002,2028 ----
- unlet g:out
- endtry
- endfunc
-+
-+ func Test_job_exitval_and_termsig()
-+ if !has('unix')
-+ return
-+ endif
-+
-+ " Terminate job normally
-+ let cmd = ['echo']
-+ let job = job_start(cmd)
-+ call WaitForAssert({-> assert_equal("dead", job_status(job))})
-+ let info = job_info(job)
-+ call assert_equal(0, info.exitval)
-+ call assert_equal("", info.termsig)
-+
-+ " Terminate job by signal
-+ let cmd = ['sleep', '10']
-+ let job = job_start(cmd)
-+ sleep 10m
-+ call job_stop(job)
-+ call WaitForAssert({-> assert_equal("dead", job_status(job))})
-+ let info = job_info(job)
-+ call assert_equal(-1, info.exitval)
-+ call assert_equal("term", info.termsig)
-+ endfunc
-*** ../vim-8.1.0862/src/version.c 2019-01-31 15:34:35.864056935 +0100
---- src/version.c 2019-01-31 15:43:04.689200630 +0100
-***************
-*** 785,786 ****
---- 785,788 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 863,
- /**/
-
---
-It's not hard to meet expenses, they're everywhere.
-
- /// 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 ///