Index: Makefile =================================================================== --- Makefile (revision 489823) +++ Makefile (working copy) @@ -2,19 +2,20 @@ # $FreeBSD$ PORTNAME= bash -PATCHLEVEL= 23 -PORTVERSION= 4.4.${PATCHLEVEL:S/^0//g} -PORTREVISION?= 1 +#PATCHLEVEL= 0 +#PORTVERSION= 5.0.${PATCHLEVEL:S/^0//g} +PORTVERSION= 5.0 +PORTREVISION?= 0 CATEGORIES= shells MASTER_SITES= GNU -DISTNAME= ${PORTNAME}-${PORTVERSION:R} +#DISTNAME= ${PORTNAME}-${PORTVERSION:R} DIST_SUBDIR= ${PORTNAME} EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -PATCH_SITES= GNU/${PORTNAME}/${DISTNAME}-patches/ -PATCHFILES!= /usr/bin/jot -s " " -w \ - ${PORTNAME}${PORTVERSION:R:S/.//g}-%03d \ - ${PATCHLEVEL} 1 ${PATCHLEVEL} +#PATCH_SITES= GNU/${PORTNAME}/${DISTNAME}-patches/ +#PATCHFILES!= /usr/bin/jot -s " " -w \ +# ${PORTNAME}${PORTVERSION:R:S/.//g}-%03d \ +# ${PATCHLEVEL} 1 ${PATCHLEVEL} MAINTAINER= ehaupt@FreeBSD.org COMMENT= GNU Project's Bourne Again SHell @@ -22,21 +23,18 @@ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING -OPTIONS_DEFINE= COLONBREAKSWORDS FDESCFS HELP NLS STATIC SYSBASHRC SYSLOG DOCS -COLONBREAKSWORDS_DESC= Colons break words +OPTIONS_DEFINE= FDESCFS HELP NLS STATIC SYSBASHRC SYSLOG DOCS FDESCFS_DESC= Enable use of /dev/fd HELP_DESC= Enable builtin help SYSBASHRC_DESC= Enable system-wide rc files -OPTIONS_DEFAULT= COLONBREAKSWORDS HELP +OPTIONS_DEFAULT= HELP -USES= bison cpe iconv makeinfo pathfix +USES= bison cpe iconv makeinfo pathfix localbase GNU_CONFIGURE= yes OPTIONS_SUB= yes CPE_VENDOR= gnu -COLONBREAKSWORDS_EXTRA_PATCHES= ${PATCHDIR}/extrapatch-colonbreakswords - FDESCFS_CONFIGURE_ENV_OFF= bash_cv_dev_fd=absent FDESCFS_SUB_FILES= pkg-message @@ -83,6 +81,7 @@ .if ${PORT_OPTIONS:MSYSLOG} @${REINPLACE_CMD} \ -e "s|/\*.*#define SYSLOG_HISTORY .*\*/|#define SYSLOG_HISTORY|g" \ + -e "s|/\*.*#define SYSLOG_SHOPT .*\*/|#define SYSLOG_SHOPT 1|g" \ ${WRKSRC}/config-top.h .endif Index: distinfo =================================================================== --- distinfo (revision 489823) +++ distinfo (working copy) @@ -1,49 +1,3 @@ -TIMESTAMP = 1527921957 -SHA256 (bash/bash-4.4.tar.gz) = d86b3392c1202e8ff5a423b302e6284db7f8f435ea9f39b5b1b20fd3ac36dfcb -SIZE (bash/bash-4.4.tar.gz) = 9377313 -SHA256 (bash/bash44-001) = 3e28d91531752df9a8cb167ad07cc542abaf944de9353fe8c6a535c9f1f17f0f -SIZE (bash/bash44-001) = 1896 -SHA256 (bash/bash44-002) = 7020a0183e17a7233e665b979c78c184ea369cfaf3e8b4b11f5547ecb7c13c53 -SIZE (bash/bash44-002) = 1946 -SHA256 (bash/bash44-003) = 51df5a9192fdefe0ddca4bdf290932f74be03ffd0503a3d112e4199905e718b2 -SIZE (bash/bash44-003) = 1593 -SHA256 (bash/bash44-004) = ad080a30a4ac6c1273373617f29628cc320a35c8cd06913894794293dc52c8b3 -SIZE (bash/bash44-004) = 2350 -SHA256 (bash/bash44-005) = 221e4b725b770ad0bb6924df3f8d04f89eeca4558f6e4c777dfa93e967090529 -SIZE (bash/bash44-005) = 1439 -SHA256 (bash/bash44-006) = 6a8e2e2a6180d0f1ce39dcd651622fb6d2fd05db7c459f64ae42d667f1e344b8 -SIZE (bash/bash44-006) = 1805 -SHA256 (bash/bash44-007) = de1ccc07b7bfc9e25243ad854f3bbb5d3ebf9155b0477df16aaf00a7b0d5edaf -SIZE (bash/bash44-007) = 4640 -SHA256 (bash/bash44-008) = 86144700465933636d7b945e89b77df95d3620034725be161ca0ca5a42e239ba -SIZE (bash/bash44-008) = 2223 -SHA256 (bash/bash44-009) = 0b6bdd1a18a0d20e330cc3bc71e048864e4a13652e29dc0ebf3918bea729343c -SIZE (bash/bash44-009) = 3117 -SHA256 (bash/bash44-010) = 8465c6f2c56afe559402265b39d9e94368954930f9aa7f3dfa6d36dd66868e06 -SIZE (bash/bash44-010) = 1670 -SHA256 (bash/bash44-011) = dd56426ef7d7295e1107c0b3d06c192eb9298f4023c202ca2ba6266c613d170d -SIZE (bash/bash44-011) = 1603 -SHA256 (bash/bash44-012) = fac271d2bf6372c9903e3b353cb9eda044d7fe36b5aab52f21f3f21cd6a2063e -SIZE (bash/bash44-012) = 5768 -SHA256 (bash/bash44-013) = 1b25efacbc1c4683b886d065b7a089a3601964555bcbf11f3a58989d38e853b6 -SIZE (bash/bash44-013) = 1255 -SHA256 (bash/bash44-014) = a7f75cedb43c5845ab1c60afade22dcb5e5dc12dd98c0f5a3abcfb9f309bb17c -SIZE (bash/bash44-014) = 2834 -SHA256 (bash/bash44-015) = d37602ecbeb62d5a22c8167ea1e621fcdbaaa79925890a973a45c810dd01c326 -SIZE (bash/bash44-015) = 1233 -SHA256 (bash/bash44-016) = 501f91cc89fadced16c73aa8858796651473602c722bb29f86a8ba588d0ff1b1 -SIZE (bash/bash44-016) = 2069 -SHA256 (bash/bash44-017) = 773f90b98768d4662a22470ea8eec5fdd8e3439f370f94638872aaf884bcd270 -SIZE (bash/bash44-017) = 1143 -SHA256 (bash/bash44-018) = 5bc494b42f719a8b0d844b7bd9ad50ebaae560e97f67c833c9e7e9d53981a8cc -SIZE (bash/bash44-018) = 1319 -SHA256 (bash/bash44-019) = 27170d6edfe8819835407fdc08b401d2e161b1400fe9d0c5317a51104c89c11e -SIZE (bash/bash44-019) = 1671 -SHA256 (bash/bash44-020) = 1840e2cbf26ba822913662f74037594ed562361485390c52813b38156c99522c -SIZE (bash/bash44-020) = 5156 -SHA256 (bash/bash44-021) = bd8f59054a763ec1c64179ad5cb607f558708a317c2bdb22b814e3da456374c1 -SIZE (bash/bash44-021) = 1810 -SHA256 (bash/bash44-022) = 45331f0936e36ab91bfe44b936e33ed8a1b1848fa896e8a1d0f2ef74f297cb79 -SIZE (bash/bash44-022) = 1818 -SHA256 (bash/bash44-023) = 4fec236f3fbd3d0c47b893fdfa9122142a474f6ef66c20ffb6c0f4864dd591b6 -SIZE (bash/bash44-023) = 1557 +TIMESTAMP = 1547129229 +SHA256 (bash/bash-5.0.tar.gz) = b4a80f2ac66170b2913efbfb9f2594f1f76c7b1afd11f799e22035d63077fb4d +SIZE (bash/bash-5.0.tar.gz) = 10135110 Index: files/extrapatch-colonbreakswords =================================================================== --- files/extrapatch-colonbreakswords (revision 489868) +++ files/extrapatch-colonbreakswords (nonexistent) @@ -1,176 +0,0 @@ ---- bashline.c.orig 2014-03-02 13:26:23.000000000 -0500 -+++ bashline.c 2014-03-02 13:30:09.000000000 -0500 -@@ -255,6 +255,11 @@ - host list. */ - int perform_hostname_completion = 1; - -+/* If non-zero, we do hostname completion, breaking words at `@' and -+ trying to complete the stuff after the `@' from our own internal -+ host list. */ -+int colon_is_wordbreak = 1; -+ - /* If non-zero, we don't do command completion on an empty line. */ - int no_empty_command_completion; - -@@ -284,7 +289,8 @@ - - static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:"; - static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:"; --/* )) */ -+static char *bash_nocolon_word_break_characters = " \t\n\"'@><=;|&("; -+/* ))) */ - - static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/ - static char *custom_filename_quote_characters = 0; -@@ -403,6 +409,80 @@ - return (old_value); - } - -+/* When this function returns, rl_completer_word_break_characters points to -+ dynamically allocated memory. */ -+int -+enable_colon_wordbreak (on_or_off) -+ int on_or_off; -+{ -+ int old_value; -+ char *at, *nv, *nval; -+ -+ old_value = colon_is_wordbreak; -+ -+ if (on_or_off) -+ { -+ colon_is_wordbreak = 1; -+ rl_filename_quote_characters = default_filename_quote_characters; -+ } -+ else -+ { -+ colon_is_wordbreak = 0; -+ rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!{~"; /*}*/ -+ } -+ -+ /* Now we need to figure out how to appropriately modify and assign -+ rl_completer_word_break_characters depending on whether we want -+ the colon to be a word break or not. */ -+ -+ /* If this is the first time this has been called -+ (bash_readline_initialized == 0), use the sames values as before, but -+ allocate new memory for rl_completer_word_break_characters. */ -+ -+ if (bash_readline_initialized == 0 && -+ (rl_completer_word_break_characters == 0 || -+ rl_completer_word_break_characters == rl_basic_word_break_characters)) -+ { -+ if (on_or_off) -+ rl_completer_word_break_characters = savestring (bash_completer_word_break_characters); -+ else -+ rl_completer_word_break_characters = savestring (bash_nocolon_word_break_characters); -+ } -+ else -+ { -+ /* See if we have anything to do. */ -+ at = strchr (rl_completer_word_break_characters, ':'); -+ if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0)) -+ return old_value; -+ -+ /* We have something to do. Do it. */ -+ nval = (char *)xmalloc (strlen (rl_completer_word_break_characters) + 1 + on_or_off); -+ -+ if (on_or_off == 0) -+ { -+ /* Turn it off -- just remove `:' from word break chars. We want -+ to remove all occurrences of `:' from the char list, so we loop -+ rather than just copy the rest of the list over AT. */ -+ for (nv = nval, at = rl_completer_word_break_characters; *at; ) -+ if (*at != ':') -+ *nv++ = *at++; -+ else -+ at++; -+ *nv = '\0'; -+ } -+ else -+ { -+ nval[0] = ':'; -+ strcpy (nval + 1, rl_completer_word_break_characters); -+ } -+ -+ free (rl_completer_word_break_characters); -+ rl_completer_word_break_characters = nval; -+ } -+ -+ return (old_value); -+} -+ - /* Called once from parse.y if we are going to use readline. */ - void - initialize_readline () -@@ -573,8 +653,13 @@ - completion is enabled. */ - enable_hostname_completion (perform_hostname_completion); - -+ /* This sets rl_completer_word_break_characters and rl_filename_quote_characters -+ to the appropriate values, depending on whether or not a colon -+ should break completion words or not. */ -+ enable_colon_wordbreak (colon_is_wordbreak); -+ - /* characters that need to be quoted when appearing in filenames. */ -- rl_filename_quote_characters = default_filename_quote_characters; -+// rl_filename_quote_characters = default_filename_quote_characters; - set_filename_bstab (rl_filename_quote_characters); - - rl_filename_quoting_function = bash_quote_filename; ---- builtins/shopt.def.orig 2014-03-02 13:30:44.000000000 -0500 -+++ builtins/shopt.def 2014-03-02 13:31:38.000000000 -0500 -@@ -103,6 +103,8 @@ - extern int complete_fullquote; - - extern int enable_hostname_completion __P((int)); -+extern int colon_is_wordbreak; -+extern int enable_colon_wordbreak __P((int)); - #endif - - #if defined (PROGRAMMABLE_COMPLETION) -@@ -166,6 +168,9 @@ - { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand }, - { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL }, - #endif -+#if defined (READLINE) -+ { "colonbreakswords", &colon_is_wordbreak, enable_colon_wordbreak }, -+#endif - { "dotglob", &glob_dot_filenames, (shopt_set_func_t *)NULL }, - { "execfail", &no_exit_on_failed_exec, (shopt_set_func_t *)NULL }, - { "expand_aliases", &expand_aliases, (shopt_set_func_t *)NULL }, ---- doc/bash.1.orig 2014-03-02 13:32:14.000000000 -0500 -+++ doc/bash.1 2014-03-02 13:32:40.000000000 -0500 -@@ -9252,6 +9252,18 @@ - command in the same history entry. This allows - easy re-editing of multi-line commands. - .TP 8 -+.B colonbreakswords -+If set, and -+.B readline -+is being used, \fBbash\fP will treat \fB:\fP as -+separating word being completed (see -+.B Completing -+under -+.SM -+.B READLINE -+above). -+This is enabled by default. -+.TP 8 - .B compat31 - If set, - .B bash ---- doc/bashref.texi.orig 2014-03-02 13:33:17.000000000 -0500 -+++ doc/bashref.texi 2014-03-02 13:33:44.000000000 -0500 -@@ -4937,6 +4937,11 @@ - command in the same history entry. This allows - easy re-editing of multi-line commands. - -+@item colonbreakswords -+If set, and Readline is being used, Bash will treat @samp{:} as -+separating word being completed (@pxref{Commands For Completion}). -+This option is enabled by default. -+ - @item compat31 - If set, Bash - changes its behavior to that of version 3.1 with respect to quoted Property changes on: files/extrapatch-colonbreakswords ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: files/patch-lib_readline_display.c =================================================================== --- files/patch-lib_readline_display.c (revision 489868) +++ files/patch-lib_readline_display.c (working copy) @@ -1,9 +1,9 @@ ---- lib/readline/display.c.orig 2016-07-28 18:49:33 UTC +--- lib/readline/display.c.orig 2018-10-01 01:37:48 UTC +++ lib/readline/display.c -@@ -743,7 +743,10 @@ rl_redisplay () - inv_lbreaks[newlines = 0] = 0; - /* lpos is a physical cursor position, so it needs to be adjusted by the - number of invisible characters in the prompt, per line */ +@@ -837,7 +837,10 @@ rl_redisplay (void) + the line breaks in the prompt string in expand_prompt, taking invisible + characters into account, and if lpos exceeds the screen width, we copy + the data in the loop below. */ + if (local_prompt) lpos = prompt_physical_chars + modmark; + else Index: pkg-plist =================================================================== --- pkg-plist (revision 489823) +++ pkg-plist (working copy) @@ -62,10 +62,12 @@ %%NO_STATIC%%lib/bash/Makefile.inc %%NO_STATIC%%lib/bash/basename %%NO_STATIC%%lib/bash/dirname +%%NO_STATIC%%lib/bash/fdflags %%NO_STATIC%%lib/bash/finfo %%NO_STATIC%%lib/bash/head %%NO_STATIC%%lib/bash/id %%NO_STATIC%%lib/bash/ln +%%NO_STATIC%%lib/bash/loadables.h %%NO_STATIC%%lib/bash/logname %%NO_STATIC%%lib/bash/mkdir %%NO_STATIC%%lib/bash/mypid @@ -75,6 +77,7 @@ %%NO_STATIC%%lib/bash/push %%NO_STATIC%%lib/bash/realpath %%NO_STATIC%%lib/bash/rmdir +%%NO_STATIC%%lib/bash/seq %%NO_STATIC%%lib/bash/setpgid %%NO_STATIC%%lib/bash/sleep %%NO_STATIC%%lib/bash/strftime @@ -113,6 +116,7 @@ %%NLS%%share/locale/nb/LC_MESSAGES/bash.mo %%NLS%%share/locale/nl/LC_MESSAGES/bash.mo %%NLS%%share/locale/pl/LC_MESSAGES/bash.mo +%%NLS%%share/locale/pt/LC_MESSAGES/bash.mo %%NLS%%share/locale/pt_BR/LC_MESSAGES/bash.mo %%NLS%%share/locale/ro/LC_MESSAGES/bash.mo %%NLS%%share/locale/ru/LC_MESSAGES/bash.mo