Roman Rakus f2e060
			     BASH PATCH REPORT
Roman Rakus f2e060
			     =================
Roman Rakus f2e060
Roman Rakus f2e060
Bash-Release:	4.0
Roman Rakus f2e060
Patch-ID:	bash40-035
Roman Rakus f2e060
Roman Rakus f2e060
Bug-Reported-by:	Freddy Vulto <fvulto@gmail.com>
Roman Rakus f2e060
Bug-Reference-ID:	<e9c463930909171341p7cbe6e43pa3788ebbe3adec4d@mail.gmail.com>
Roman Rakus f2e060
Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2009-09/msg00044.html
Roman Rakus f2e060
Roman Rakus f2e060
Bug-Description:
Roman Rakus f2e060
Roman Rakus f2e060
Bash-4.0 incorrectly treated single and double quotes as delimiters rather
Roman Rakus f2e060
than introducing quoted strings when splitting the line into words for
Roman Rakus f2e060
programmable completion functions.
Roman Rakus f2e060
Roman Rakus f2e060
Patch:
Roman Rakus f2e060
Roman Rakus f2e060
*** ../bash-4.0-patched/pcomplete.c	2009-03-08 21:24:31.000000000 -0400
Roman Rakus f2e060
--- pcomplete.c	2009-09-26 16:30:16.000000000 -0400
Roman Rakus f2e060
***************
Roman Rakus f2e060
*** 1176,1186 ****
Roman Rakus f2e060
    WORD_LIST *ret;
Roman Rakus f2e060
    char *delims;
Roman Rakus f2e060
  
Roman Rakus f2e060
! #if 0
Roman Rakus f2e060
!   delims = "()<>;&| \t\n";	/* shell metacharacters break words */
Roman Rakus f2e060
! #else
Roman Rakus f2e060
!   delims = rl_completer_word_break_characters;
Roman Rakus f2e060
! #endif
Roman Rakus f2e060
    ret = split_at_delims (line, llen, delims, sentinel, nwp, cwp);
Roman Rakus f2e060
    return (ret);
Roman Rakus f2e060
  }
Roman Rakus f2e060
--- 1176,1188 ----
Roman Rakus f2e060
    WORD_LIST *ret;
Roman Rakus f2e060
    char *delims;
Roman Rakus f2e060
+   int i, j;
Roman Rakus f2e060
  
Roman Rakus f2e060
!   delims = xmalloc (strlen (rl_completer_word_break_characters) + 1);
Roman Rakus f2e060
!   for (i = j = 0; rl_completer_word_break_characters[i]; i++)
Roman Rakus f2e060
!     if (rl_completer_word_break_characters[i] != '\'' && rl_completer_word_break_characters[i] != '"')
Roman Rakus f2e060
!       delims[j++] = rl_completer_word_break_characters[i];
Roman Rakus f2e060
!   delims[j] = '\0';
Roman Rakus f2e060
    ret = split_at_delims (line, llen, delims, sentinel, nwp, cwp);
Roman Rakus f2e060
+   free (delims);
Roman Rakus f2e060
    return (ret);
Roman Rakus f2e060
  }
Roman Rakus f2e060
*** ../bash-4.0/patchlevel.h	2009-01-04 14:32:40.000000000 -0500
Roman Rakus f2e060
--- patchlevel.h	2009-02-22 16:11:31.000000000 -0500
Roman Rakus f2e060
***************
Roman Rakus f2e060
*** 26,30 ****
Roman Rakus f2e060
     looks for to find the patch level (for the sccs version string). */
Roman Rakus f2e060
  
Roman Rakus f2e060
! #define PATCHLEVEL 34
Roman Rakus f2e060
  
Roman Rakus f2e060
  #endif /* _PATCHLEVEL_H_ */
Roman Rakus f2e060
--- 26,30 ----
Roman Rakus f2e060
     looks for to find the patch level (for the sccs version string). */
Roman Rakus f2e060
  
Roman Rakus f2e060
! #define PATCHLEVEL 35
Roman Rakus f2e060
  
Roman Rakus f2e060
  #endif /* _PATCHLEVEL_H_ */