- read_history_range: don't apply the heuristic and try to append a
history line to an existing history entry if we don't have any
history entries. Bug and fix from Edward Huff <ejhuff@gmail.com>
+
+ 6/12
+ ----
+bashline.c
+ - attempt_shell_completion: don't all the programmable completion for
+ INITIALWORD if programmable completion is disabled
+ - attempt_shell_completion: make sure in_command_position remains set
+ for an empty command word on an otherwise blank line, making the
+ presence of assignment statements optional. Report from
+ Luca Boccassi <bluca@debian.org>
}
else if (s >= e && n[0] == '\0' && text[0] == '\0' && start > 0)
{
- foundcs = 0; /* empty command name following assignments */
- in_command_position = was_assignment;
+ foundcs = 0; /* empty command name following optional assignments */
+ in_command_position += was_assignment;
}
else if (s == start && e == end && STREQ (n, text) && start > 0)
{
/* If we have defined a compspec for the initial (command) word, call
it and process the results like any other programmable completion. */
- if (in_command_position && foundcs == 0 && iw_compspec)
+ if (in_command_position && have_progcomps && foundcs == 0 && iw_compspec)
prog_complete_matches = programmable_completions (INITIALWORD, text, s, e, &foundcs);
FREE (n);
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
+/* Define if you have the `mremap' function. */
+#undef HAVE_MREMAP
+
/* Define if you have the `munmap' function. */
#undef HAVE_MUNMAP
rm -f conftest.mmap conftest.txt
for ac_func in __argz_count __argz_next __argz_stringify dcgettext mempcpy \
- munmap stpcpy strcspn
+ munmap mremap stpcpy strcspn
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
dnl AC_FUNC_MALLOC
AC_FUNC_MMAP
AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
- munmap stpcpy strcspn])
+ munmap mremap stpcpy strcspn])
INTL_DEP= INTL_INC= LIBINTL_H=
if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
-Time: 08 June 2018 16:16:11 EDT
+Time: 12 June 2018 15:50:58 EDT
</BODY>
</HTML>
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
-%%CreationDate: Fri Jun 8 16:15:59 2018
+%%CreationDate: Tue Jun 12 15:50:57 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
-%%CreationDate: Fri Jun 8 16:15:59 2018
+%%CreationDate: Tue Jun 12 15:50:57 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
-%%CreationDate: Fri Jun 8 16:16:00 2018
+%%CreationDate: Tue Jun 12 15:50:57 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
# define NO_VALLOC
#endif
+/* SIZEOF_LONG * 4 - 2, usable bins from 1..NBUCKETS-1 */
#define NBUCKETS 30
#define ISALLOC ((char) 0xf7) /* magic byte that implies allocation */
#define LESSCORE_MIN 10
#define LESSCORE_FRC 13
+#define MMAP_THRESHOLD 15 /* must be greater than SPLIT_MAX, COMBINE_MAX */
+
#define STARTBUCK 1
/* Flags for the internal functions. */
/* If ok, use the same block, just marking its size as changed. */
if (RIGHT_BUCKET(nbytes, nunits) || RIGHT_BUCKET(nbytes, nunits-1))
{
-#if 0
- m = (char *)mem + p->mh_nbytes;
-#else
/* Compensate for increment above. */
m -= 4;
-#endif
+
*m++ = 0; *m++ = 0; *m++ = 0; *m++ = 0;
m = (char *)mem + (p->mh_nbytes = n);
if (((long) ptr & (alignment - 1)) == 0)
return ptr;
/* Otherwise, get address of byte in the block that has that alignment. */
-#if 0
- aligned = (char *) (((long) ptr + alignment - 1) & -alignment);
-#else
aligned = (char *) (((long) ptr + alignment - 1) & (~alignment + 1));
-#endif
/* Store a suitable indication of how to free the block,
so that free can find the true beginning of it. */
{
v = malloc_bucket_stats (i);
if (v.nmal > 0)
- fprintf (fp, "%8lu\t%4d\t%6d\t%5d\t%8d\t%d %5d %8d\n", (unsigned long)v.blocksize, v.nfree, v.nused, v.nmal, v.nmorecore, v.nlesscore, v.nsplit, v.ncoalesce);
+ fprintf (fp, "%8lu\t%4d\t%6d\t%5d\t%8d\t%8d %5d %8d\n", (unsigned long)v.blocksize, v.nfree, v.nused, v.nmal, v.nmorecore, v.nlesscore, v.nsplit, v.ncoalesce);
totfree += v.nfree * v.blocksize;
totused += v.nused * v.blocksize;
}
int s;
{
#if defined (MALLOC_DEBUG) && defined (USING_BASH_MALLOC)
- if (malloc_trace_at_exit)
+ if (malloc_trace_at_exit && (subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PROCSUB)) == 0)
trace_malloc_stats (get_name_for_error (), (char *)NULL);
/* mlocation_write_table (); */
#endif