summaryrefslogtreecommitdiff
path: root/package/bash/bash30-010
diff options
context:
space:
mode:
Diffstat (limited to 'package/bash/bash30-010')
-rw-r--r--package/bash/bash30-010116
1 files changed, 116 insertions, 0 deletions
diff --git a/package/bash/bash30-010 b/package/bash/bash30-010
new file mode 100644
index 000000000..0885fe154
--- /dev/null
+++ b/package/bash/bash30-010
@@ -0,0 +1,116 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.0
+Patch-ID: bash30-010
+
+Bug-Reported-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Bug-Reference-ID: <E1Bo8Sq-0004u5-00@bouh>
+Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261142
+
+Bug-Description:
+
+When trying to auto-complete ~/../``/, I just get:
+malloc: bashline.c:1340: assertion botched
+free: start and end chunk sizes differ
+last command: kill -9 %2
+Stopping myself...
+
+
+Patch:
+
+*** ../bash-3.0/bashline.c Mon Jul 5 23:22:12 2004
+--- bashline.c Thu Sep 2 16:00:12 2004
+***************
+*** 101,104 ****
+--- 101,105 ----
+
+ /* Helper functions for Readline. */
++ static int bash_directory_expansion __P((char **));
+ static int bash_directory_completion_hook __P((char **));
+ static int filename_completion_ignore __P((char **));
+***************
+*** 293,297 ****
+ at = strchr (rl_completer_word_break_characters, '@');
+ if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0))
+! return;
+
+ /* We have something to do. Do it. */
+--- 294,298 ----
+ 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. */
+***************
+*** 1407,1414 ****
+ if (*hint_text == '~')
+ {
+! int l, tl, vl;
+ vl = strlen (val);
+ tl = strlen (hint_text);
+ l = vl - hint_len; /* # of chars added */
+ temp = (char *)xmalloc (l + 2 + tl);
+ strcpy (temp, hint_text);
+--- 1408,1424 ----
+ if (*hint_text == '~')
+ {
+! int l, tl, vl, dl;
+! char *rd;
+ vl = strlen (val);
+ tl = strlen (hint_text);
++ #if 0
+ l = vl - hint_len; /* # of chars added */
++ #else
++ rd = savestring (filename_hint);
++ bash_directory_expansion (&rd);
++ dl = strlen (rd);
++ l = vl - dl; /* # of chars added */
++ free (rd);
++ #endif
+ temp = (char *)xmalloc (l + 2 + tl);
+ strcpy (temp, hint_text);
+***************
+*** 2188,2191 ****
+--- 2198,2222 ----
+ }
+
++ /* Simulate the expansions that will be performed by
++ rl_filename_completion_function. This must be called with the address of
++ a pointer to malloc'd memory. */
++ static int
++ bash_directory_expansion (dirname)
++ char **dirname;
++ {
++ char *d;
++
++ d = savestring (*dirname);
++
++ if (rl_directory_rewrite_hook)
++ (*rl_directory_rewrite_hook) (&d);
++
++ if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&d))
++ {
++ free (*dirname);
++ *dirname = d;
++ }
++ }
++
+ /* Handle symbolic link references and other directory name
+ expansions while hacking completion. */
+
+*** ../bash-3.0/patchlevel.h Wed Aug 22 08:05:39 2001
+--- patchlevel.h Thu Sep 2 15:04:32 2004
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */