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