diff options
Diffstat (limited to 'pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch')
-rw-r--r-- | pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch | 607 |
1 files changed, 0 insertions, 607 deletions
diff --git a/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch b/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch deleted file mode 100644 index 48837310962..00000000000 --- a/pkgs/shells/bash/cygwin-bash-4.4.11-2.src.patch +++ /dev/null @@ -1,607 +0,0 @@ ---- bashline.c 2017-01-23 13:28:06.955247200 -0600 -+++ bashline.c 2017-01-23 13:55:07.992877600 -0600 -@@ -76,6 +76,16 @@ - # include "pcomplete.h" - #endif - -+#if __CYGWIN__ -+# ifdef __x86_64__ -+# define IMP(x) __imp_##x -+# else -+# define IMP(x) _imp__##x -+# endif -+#else -+# define IMP(x) x -+#endif -+ - /* These should agree with the defines for emacs_mode and vi_mode in - rldefs.h, even though that's not a public readline header file. */ - #ifndef EMACS_EDITING_MODE -@@ -271,6 +281,11 @@ int no_empty_command_completion; - are the only possible matches, even if FIGNORE says to. */ - int force_fignore = 1; - -+#if __CYGWIN__ -+/* If set, shorten "foo.exe" to "foo" when they are the same file. */ -+int completion_strip_exe; -+#endif /* __CYGWIN__ */ -+ - /* Perform spelling correction on directory names during word completion */ - int dircomplete_spelling = 0; - -@@ -498,11 +513,12 @@ initialize_readline () - kseq[0] = CTRL('J'); - kseq[1] = '\0'; - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == rl_vi_editing_mode) -+ extern rl_command_func_t *IMP(rl_vi_editing_mode); -+ if (func == rl_vi_editing_mode || func == IMP(rl_vi_editing_mode)) - rl_unbind_key_in_map (CTRL('J'), emacs_meta_keymap); - kseq[0] = CTRL('M'); - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == rl_vi_editing_mode) -+ if (func == rl_vi_editing_mode || func == IMP(rl_vi_editing_mode)) - rl_unbind_key_in_map (CTRL('M'), emacs_meta_keymap); - #if defined (VI_MODE) - rl_unbind_key_in_map (CTRL('E'), vi_movement_keymap); -@@ -521,7 +537,8 @@ initialize_readline () - kseq[0] = '~'; - kseq[1] = '\0'; - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == 0 || func == rl_tilde_expand) -+ extern rl_command_func_t *IMP(rl_tilde_expand); -+ if (func == 0 || func == rl_tilde_expand || func == IMP(rl_tilde_expand)) - rl_bind_keyseq_in_map (kseq, bash_complete_username, emacs_meta_keymap); - - rl_bind_key_if_unbound_in_map ('~', bash_possible_username_completions, emacs_ctlx_keymap); -@@ -544,7 +561,8 @@ initialize_readline () - kseq[0] = TAB; - kseq[1] = '\0'; - func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); -- if (func == 0 || func == rl_tab_insert) -+ extern rl_command_func_t *IMP(rl_tab_insert); -+ if (func == 0 || func == rl_tab_insert || func == IMP(rl_tab_insert)) - rl_bind_key_in_map (TAB, dynamic_complete_history, emacs_meta_keymap); - - /* Tell the completer that we want a crack first. */ -@@ -2194,6 +2212,21 @@ globword: - - if (match && executable_completion ((searching_path ? val : cval), searching_path)) - { -+#if __CYGWIN__ -+ if (completion_strip_exe) -+ { -+ size_t val_len = strlen (val); -+ char *candidate; -+ if (val_len > 4 && !strcasecmp (&val[val_len - 4], ".exe") -+ && (candidate = strdup (val))) -+ { -+ candidate[val_len - 4] = '\0'; -+ if (same_file (val, candidate, NULL, NULL)) -+ temp[strlen (temp) - 4] = '\0'; -+ free (candidate); -+ } -+ } -+#endif - if (cval != val) - free (cval); - free (val); -@@ -2929,6 +2962,17 @@ test_for_directory (name) - int r; - - fn = bash_tilde_expand (name, 0); -+#if __CYGWIN -+ /* stat("//server") can only be successful as a directory, but can take -+ seconds to time out on failure. It is much faster to assume that -+ "//server" is a valid name than it is to wait for a stat, even if it -+ gives false positives on bad names. */ -+ if (fn[0] == '/' && fn[1] == '/' && ! strchr (&fn[2], '/')) -+ { -+ free (fn); -+ return 1; -+ } -+#endif - r = file_isdir (fn); - free (fn); - ---- builtins/read.def 2017-01-23 13:28:07.017686500 -0600 -+++ builtins/read.def 2017-01-23 13:55:07.992877600 -0600 -@@ -85,7 +85,6 @@ $END - - #ifdef __CYGWIN__ - # include <fcntl.h> --# include <io.h> - #endif - - #include "../bashintl.h" -@@ -530,10 +529,6 @@ read_builtin (list) - fflush (stderr); - } - --#if defined (__CYGWIN__) && defined (O_TEXT) -- setmode (0, O_TEXT); --#endif -- - ps2 = 0; - for (print_ps2 = eof = retval = 0;;) - { -@@ -664,6 +659,14 @@ read_builtin (list) - if (c == '\0' && delim != '\0') - continue; /* skip NUL bytes in input */ - -+#ifdef __CYGWIN__ -+ { -+ extern igncr; -+ if (igncr && c == '\r' && delim != '\r') -+ continue; /* skip carriage return */ -+ } -+#endif -+ - if ((skip_ctlesc == 0 && c == CTLESC) || (skip_ctlnul == 0 && c == CTLNUL)) - { - saw_escape++; ---- builtins/set.def 2016-06-02 19:10:10.000000000 -0500 -+++ builtins/set.def 2017-01-23 13:55:07.992877600 -0600 -@@ -56,6 +56,13 @@ extern int dont_save_function_defs; - #if defined (READLINE) - extern int no_line_editing; - #endif /* READLINE */ -+#ifdef __CYGWIN__ -+extern int igncr; -+static int set_minus_o_option_maybe (int, const char *, int); -+# define INTERACTIVE_ONLY ,1 -+#else -+# define INTERACTIVE_ONLY -+#endif - - $BUILTIN set - $FUNCTION set_builtin -@@ -92,6 +99,9 @@ Options: - #if defined (HISTORY) - history enable command history - #endif -+#ifdef __CYGWIN__ -+ igncr on Cygwin, ignore \r in line endings -+#endif - ignoreeof the shell will not exit upon reading EOF - interactive-comments - allow comments to appear in interactive commands -@@ -192,29 +202,39 @@ const struct { - int *variable; - setopt_set_func_t *set_func; - setopt_get_func_t *get_func; -+#ifdef __CYGWIN__ -+ /* Cygwin users have taken to exporting SHELLOPTS for the cygwin-specific -+ igncr. As a result, we want to ensure SHELLOPTS parsing does not turn -+ on interactive options when exported from an interactive shell, but -+ parse in a non-interactive setting, so as not to break POSIX /bin/sh */ -+ int interactive_only; -+#endif - } o_options[] = { - { "allexport", 'a', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (BRACE_EXPANSION) - { "braceexpand",'B', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #endif - #if defined (READLINE) -- { "emacs", '\0', (int *)NULL, set_edit_mode, get_edit_mode }, -+ { "emacs", '\0', (int *)NULL, set_edit_mode, get_edit_mode INTERACTIVE_ONLY }, - #endif - { "errexit", 'e', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "errtrace", 'E', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "functrace", 'T', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "hashall", 'h', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (BANG_HISTORY) -- { "histexpand", 'H', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -+ { "histexpand", 'H', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL INTERACTIVE_ONLY }, - #endif /* BANG_HISTORY */ - #if defined (HISTORY) -- { "history", '\0', &enable_history_list, bash_set_history, (setopt_get_func_t *)NULL }, -+ { "history", '\0', &enable_history_list, bash_set_history, (setopt_get_func_t *)NULL INTERACTIVE_ONLY }, -+#endif -+#ifdef __CYGWIN__ -+ { "igncr", '\0', &igncr, NULL, (setopt_get_func_t *)NULL }, - #endif - { "ignoreeof", '\0', &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL }, - { "interactive-comments", '\0', &interactive_comments, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "keyword", 'k', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (JOB_CONTROL) -- { "monitor", 'm', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -+ { "monitor", 'm', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL INTERACTIVE_ONLY }, - #endif - { "noclobber", 'C', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "noexec", 'n', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -@@ -233,7 +253,7 @@ const struct { - { "privileged", 'p', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - { "verbose", 'v', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - #if defined (READLINE) -- { "vi", '\0', (int *)NULL, set_edit_mode, get_edit_mode }, -+ { "vi", '\0', (int *)NULL, set_edit_mode, get_edit_mode INTERACTIVE_ONLY }, - #endif - { "xtrace", 'x', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, - {(char *)NULL, 0 , (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, -@@ -455,6 +475,15 @@ int - set_minus_o_option (on_or_off, option_name) - int on_or_off; - char *option_name; -+#ifdef __CYGWIN__ -+{ -+ /* See Cygwin comments above. */ -+ return set_minus_o_option_maybe (on_or_off, option_name, 0); -+} -+static int -+set_minus_o_option_maybe (int on_or_off, const char *option_name, -+ int avoid_interactive) -+#endif /* __CYGWIN__ */ - { - register int i; - -@@ -462,6 +491,10 @@ set_minus_o_option (on_or_off, option_na - { - if (STREQ (option_name, o_options[i].name)) - { -+#ifdef __CYGWIN__ -+ if (o_options[i].interactive_only && avoid_interactive) -+ return EXECUTION_SUCCESS; -+#endif - if (o_options[i].letter == 0) - { - previous_option_value = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name); -@@ -588,7 +621,11 @@ parse_shellopts (value) - vptr = 0; - while (vname = extract_colon_unit (value, &vptr)) - { -+#ifdef __CYGWIN__ -+ set_minus_o_option_maybe (FLAG_ON, vname, !interactive_shell); -+#else - set_minus_o_option (FLAG_ON, vname); -+#endif - free (vname); - } - } ---- builtins/shopt.def 2016-05-06 14:00:02.000000000 -0500 -+++ builtins/shopt.def 2017-01-23 13:55:07.992877600 -0600 -@@ -92,6 +92,10 @@ extern int glob_asciirange; - extern int lastpipe_opt; - extern int inherit_errexit; - -+#ifdef __CYGWIN__ -+extern int completion_strip_exe; -+#endif -+ - #if defined (EXTENDED_GLOB) - extern int extended_glob; - #endif -@@ -169,6 +173,9 @@ static struct { - { "compat41", &shopt_compat41, set_compatibility_level }, - { "compat42", &shopt_compat42, set_compatibility_level }, - { "compat43", &shopt_compat43, set_compatibility_level }, -+#ifdef __CYGWIN__ -+ { "completion_strip_exe", &completion_strip_exe, NULL }, -+#endif - #if defined (READLINE) - { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, - { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand }, ---- config-top.h 2016-05-19 13:34:02.000000000 -0500 -+++ config-top.h 2017-01-23 13:55:07.992877600 -0600 -@@ -87,10 +87,10 @@ - #define DEFAULT_BASHRC "~/.bashrc" - - /* System-wide .bashrc file for interactive shells. */ --/* #define SYS_BASHRC "/etc/bash.bashrc" */ -+#define SYS_BASHRC "/etc/bash.bashrc" - - /* System-wide .bash_logout for login shells. */ --/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */ -+#define SYS_BASH_LOGOUT "/etc/bash.bash_logout" - - /* Define this to make non-interactive shells begun with argv[0][0] == '-' - run the startup files when not in posix mode. */ -@@ -100,7 +100,7 @@ - sshd and source the .bashrc if so (like the rshd behavior). This checks - for the presence of SSH_CLIENT or SSH2_CLIENT in the initial environment, - which can be fooled under certain not-uncommon circumstances. */ --/* #define SSH_SOURCE_BASHRC */ -+#define SSH_SOURCE_BASHRC - - /* Define if you want the case-capitalizing operators (~[~]) and the - `capcase' variable attribute (declare -c). */ ---- doc/Makefile.in 2015-12-06 18:55:56.000000000 -0600 -+++ doc/Makefile.in 2017-01-23 13:55:07.992877600 -0600 -@@ -189,7 +189,7 @@ bashref.html: $(BASHREF_FILES) $(HSUSER) - $(MAKEINFO) --html --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi - - bash.info: bashref.info -- ${SHELL} ${INFOPOST} < $(srcdir)/bashref.info > $@ ; \ -+ ${SHELL} ${INFOPOST} < bashref.info > $@ ; \ - - bash.txt: bash.1 - bash.ps: bash.1 -@@ -252,9 +252,9 @@ install: info installdirs - -$(INSTALL_DATA) $(srcdir)/bashbug.1 $(DESTDIR)$(man1dir)/bashbug${man1ext} - -$(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir) - # uncomment the next lines to install the builtins man page --# sed 's:bash\.1:man1/&:' $(srcdir)/builtins.1 > $${TMPDIR:-/var/tmp}/builtins.1 --# -$(INSTALL_DATA) $${TMPDIR:-/var/tmp}/builtins.1 $(DESTDIR)$(man1dir)/bash_builtins${man1ext} --# -$(RM) $${TMPDIR:-/var/tmp}/builtins.1 -+ sed 's:bash\.1:man1/&:' $(srcdir)/builtins.1 > $${TMPDIR:-/var/tmp}/builtins.1 -+ -$(INSTALL_DATA) $${TMPDIR:-/var/tmp}/builtins.1 $(DESTDIR)$(man1dir)/bash_builtins${man1ext} -+ -$(RM) $${TMPDIR:-/var/tmp}/builtins.1 - -if test -f bash.info; then d=.; else d=$(srcdir); fi; \ - $(INSTALL_DATA) $$d/bash.info $(DESTDIR)$(infodir)/bash.info - # run install-info if it is present to update the info directory ---- doc/bash.1 2016-08-26 08:45:17.000000000 -0500 -+++ doc/bash.1 2017-01-23 13:55:08.008447700 -0600 -@@ -9607,6 +9607,10 @@ filenames. - This variable is set by default, which is the default bash behavior in - versions through 4.2. - .TP 8 -+.B completion_strip_exe -+If set, whenever bash sees \fIfoo.exe\fP during completion, it checks if -+\fIfoo\fP is the same file and strips the suffix. -+.TP 8 - .B direxpand - If set, - .B bash ---- doc/bashref.texi 2016-09-07 16:13:36.000000000 -0500 -+++ doc/bashref.texi 2017-01-23 13:55:08.008447700 -0600 -@@ -5123,6 +5123,10 @@ filenames. - This variable is set by default, which is the default Bash behavior in - versions through 4.2. - -+@item completion_strip_exe -+If set, whenever bash sees @file{foo.exe} during completion, it checks if -+@file{foo} is the same file and strips the suffix. -+ - @item direxpand - If set, Bash - replaces directory names with the results of word expansion when performing ---- doc/builtins.1 2012-02-21 13:32:05.000000000 -0600 -+++ doc/builtins.1 2017-01-23 13:55:08.008447700 -0600 -@@ -19,6 +19,6 @@ shift, shopt, source, suspend, test, tim - ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1) - .SH BASH BUILTIN COMMANDS - .nr zZ 1 --.so bash.1 -+.so man1/bash.1 - .SH SEE ALSO - bash(1), sh(1) ---- general.c 2016-08-11 10:16:56.000000000 -0500 -+++ general.c 2017-01-23 13:55:08.008447700 -0600 -@@ -48,6 +48,10 @@ - - #include <tilde/tilde.h> - -+#ifdef __CYGWIN__ -+# include <sys/cygwin.h> -+#endif -+ - #if !defined (errno) - extern int errno; - #endif /* !errno */ -@@ -718,7 +722,8 @@ make_absolute (string, dot_path) - { - char pathbuf[PATH_MAX + 1]; - -- cygwin_conv_to_full_posix_path (string, pathbuf); -+ cygwin_conv_path (CCP_WIN_A_TO_POSIX | CCP_ABSOLUTE, string, pathbuf, -+ sizeof pathbuf); - result = savestring (pathbuf); - } - #else ---- input.c 2015-09-24 18:49:23.000000000 -0500 -+++ input.c 2017-01-23 13:55:08.008447700 -0600 -@@ -44,6 +44,10 @@ - #include "quit.h" - #include "trap.h" - -+#ifdef __CYGWIN__ -+int igncr; -+#endif -+ - #if !defined (errno) - extern int errno; - #endif /* !errno */ -@@ -561,6 +565,19 @@ buffered_getchar () - { - CHECK_TERMSIG; - -+#ifdef __CYGWIN__ -+ /* shopt igncr discards carriage returns from the input stream. -+ If cr is the only character left in the buffer, recurse to pick -+ up the next byte; otherwise flatten the buffer. */ -+ if (igncr) -+ { -+ int ch; -+ while ((ch = bufstream_getc (buffers[bash_input.location.buffered_fd])) -+ == '\r') -+ ; -+ return ch; -+ } -+#endif - #if !defined (DJGPP) - return (bufstream_getc (buffers[bash_input.location.buffered_fd])); - #else ---- lib/sh/pathphys.c 2013-05-28 14:33:58.000000000 -0500 -+++ lib/sh/pathphys.c 2017-01-23 13:55:08.008447700 -0600 -@@ -35,6 +35,7 @@ - #include <stdio.h> - #include <chartypes.h> - #include <errno.h> -+#include <stdlib.h> - - #include "shell.h" - -@@ -76,6 +77,9 @@ sh_physpath (path, flags) - char *path; - int flags; - { -+#ifdef __CYGWIN__ -+ return realpath (path, NULL); -+#endif - char tbuf[PATH_MAX+1], linkbuf[PATH_MAX+1]; - char *result, *p, *q, *qsave, *qbase, *workpath; - int double_slash_path, linklen, nlink; -@@ -214,11 +218,7 @@ error: - { - q = result; - /* Duplicating some code here... */ --#if defined (__CYGWIN__) -- qbase = (ISALPHA((unsigned char)workpath[0]) && workpath[1] == ':') ? workpath + 3 : workpath + 1; --#else - qbase = workpath + 1; --#endif - double_slash_path = DOUBLE_SLASH (workpath); - qbase += double_slash_path; - ---- lib/sh/tmpfile.c 2016-08-11 10:05:58.000000000 -0500 -+++ lib/sh/tmpfile.c 2017-01-23 13:55:08.008447700 -0600 -@@ -101,7 +101,7 @@ get_tmpdir (flags) - if (tdir && (file_iswdir (tdir) == 0 || strlen (tdir) > PATH_MAX)) - tdir = 0; - -- if (tdir == 0) -+ if (tdir == 0 || !file_iswdir (tdir)) - tdir = get_sys_tmpdir (); - - #if defined (HAVE_PATHCONF) && defined (_PC_NAME_MAX) ---- mksyntax.c 2012-07-29 18:48:38.000000000 -0500 -+++ mksyntax.c 2017-01-23 13:55:08.008447700 -0600 -@@ -29,13 +29,13 @@ - - #ifdef HAVE_UNISTD_H - # include <unistd.h> -+#else -+extern int optind; -+extern char *optarg; - #endif - - #include "syntax.h" - --extern int optind; --extern char *optarg; -- - #ifndef errno - extern int errno; - #endif ---- parse.y 2016-09-11 10:31:46.000000000 -0500 -+++ parse.y 2017-01-23 13:55:08.008447700 -0600 -@@ -1539,14 +1539,20 @@ yy_string_get () - string = bash_input.location.string; - - /* If the string doesn't exist, or is empty, EOF found. */ -- if (string && *string) -+ while (string && *string) - { - c = *string++; - bash_input.location.string = string; -+#ifdef __CYGWIN__ -+ { -+ extern int igncr; -+ if (igncr && c == '\r') -+ continue; -+ } -+#endif - return (c); - } -- else -- return (EOF); -+ return (EOF); - } - - static int ---- subst.c 2017-01-23 13:28:06.955247200 -0600 -+++ subst.c 2017-01-23 13:55:08.008447700 -0600 -@@ -43,6 +43,7 @@ - #include "posixstat.h" - #include "bashintl.h" - -+#define NEED_SH_SETLINEBUF_DECL - #include "shell.h" - #include "parser.h" - #include "flags.h" -@@ -5964,6 +5965,13 @@ read_comsub (fd, quoted, rflag) - #endif - continue; - } -+#ifdef __CYGWIN__ -+ { -+ extern int igncr; -+ if (igncr && c == '\r') -+ continue; -+ } -+#endif - - /* Add the character to ISTRING, possibly after resizing it. */ - RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, DEFAULT_ARRAY_SIZE); -@@ -6088,6 +6096,28 @@ command_substitute (string, quoted) - goto error_exit; - } - -+#ifdef __CYGWIN__ -+ /* Passing a pipe through std fds can cause hangs when talking to a -+ non-cygwin child. Move it. */ -+ if (fildes[0] < 3) -+ { -+ int fd = fcntl (fildes[0], F_DUPFD, 3); -+ close (fildes[0]); -+ fildes[0] = fd; -+ } -+ if (fildes[1] < 3) -+ { -+ int fd = fcntl (fildes[1], F_DUPFD, 3); -+ close (fildes[1]); -+ fildes[1] = fd; -+ } -+ if (fildes[0] < 0 || fildes[1] < 0) -+ { -+ sys_error (_("cannot make pipe for command substitution")); -+ goto error_exit; -+ } -+#endif /* __CYGWIN__ */ -+ - old_pid = last_made_pid; - #if defined (JOB_CONTROL) - old_pipeline_pgrp = pipeline_pgrp; ---- support/bashversion.c 2008-09-09 08:31:53.000000000 -0500 -+++ support/bashversion.c 2017-01-23 13:55:08.024037200 -0600 -@@ -26,6 +26,9 @@ - - #if defined (HAVE_UNISTD_H) - # include <unistd.h> -+#else -+extern int optind; -+extern char *optarg; - #endif - - #include "bashansi.h" -@@ -41,9 +44,6 @@ - #define LFLAG 0x0020 - #define XFLAG 0x0040 - --extern int optind; --extern char *optarg; -- - extern char *dist_version; - extern int patch_level; - ---- support/mkversion.sh 2008-08-13 07:25:57.000000000 -0500 -+++ support/mkversion.sh 2017-01-23 13:55:08.024037200 -0600 -@@ -29,7 +29,7 @@ source_dir="." - while [ $# -gt 0 ]; do - case "$1" in - -o) shift; OUTFILE=$1; shift ;; -- -b) shift; inc_build=yes ;; -+ -b) shift; ;; # inc_build=yes ;; # hacked out for cygport - -s) shift; rel_status=$1; shift ;; - -p) shift; patch_level=$1; shift ;; - -d) shift; dist_version=$1; shift ;; ---- variables.c 2016-06-15 15:05:52.000000000 -0500 -+++ variables.c 2017-01-23 13:55:08.024037200 -0600 -@@ -5239,6 +5239,7 @@ sv_winsize (name) - /* Update the value of HOME in the export environment so tilde expansion will - work on cygwin. */ - #if defined (__CYGWIN__) -+void - sv_home (name) - char *name; - { |