source:
patches/bash-3.2-fixes-2.patch@
645e8db
Last change on this file since 645e8db was 6704f71, checked in by , 18 years ago | |
---|---|
|
|
File size: 4.7 KB |
-
parse.y
Submitted By: Jim Gifford (jim at linuxfromscratch dot org) Date: 2006-10-31 Initial Package Version: 3.2 Origin: ftp://ftp.cwru.edu/pub/bash/bash-3.2-patches/ Upstream Status: From Upstream Description: Contains patches 001-003 from upstream diff -Naur bash-3.2.orig/parse.y bash-3.2/parse.y
old new 1029 1029 #define PST_CMDTOKEN 0x1000 /* command token OK - unused */ 1030 1030 #define PST_COMPASSIGN 0x2000 /* parsing x=(...) compound assignment */ 1031 1031 #define PST_ASSIGNOK 0x4000 /* assignment statement ok in this context */ 1032 #define PST_REGEXP 0x8000 /* parsing an ERE/BRE as a single word */ 1032 1033 1033 1034 /* Initial size to allocate for tokens, and the 1034 1035 amount to grow them by. */ … … 2591 2592 return (character); 2592 2593 } 2593 2594 2595 if (parser_state & PST_REGEXP) 2596 goto tokword; 2597 2594 2598 /* Shell meta-characters. */ 2595 2599 if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0)) 2596 2600 { … … 2698 2702 if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND)) 2699 2703 return (character); 2700 2704 2705 tokword: 2701 2706 /* Okay, if we got this far, we have to read a word. Read one, 2702 2707 and then check it against the known ones. */ 2703 2708 result = read_token_word (character); … … 2735 2740 /* itrace("parse_matched_pair: open = %c close = %c", open, close); */ 2736 2741 count = 1; 2737 2742 pass_next_character = backq_backslash = was_dollar = in_comment = 0; 2738 check_comment = (flags & P_COMMAND) && qc != ' \'' && qc != '"' && (flags & P_DQUOTE) == 0;2743 check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; 2739 2744 2740 2745 /* RFLAGS is the set of flags we want to pass to recursive calls. */ 2741 2746 rflags = (qc == '"') ? P_DQUOTE : (flags & P_DQUOTE); … … 3202 3207 if (tok == WORD && test_binop (yylval.word->word)) 3203 3208 op = yylval.word; 3204 3209 #if defined (COND_REGEXP) 3205 else if (tok == WORD && STREQ (yylval.word->word,"=~")) 3206 op = yylval.word; 3210 else if (tok == WORD && STREQ (yylval.word->word, "=~")) 3211 { 3212 op = yylval.word; 3213 parser_state |= PST_REGEXP; 3214 } 3207 3215 #endif 3208 3216 else if (tok == '<' || tok == '>') 3209 3217 op = make_word_from_token (tok); /* ( */ … … 3234 3242 3235 3243 /* rhs */ 3236 3244 tok = read_token (READ); 3245 parser_state &= ~PST_REGEXP; 3237 3246 if (tok == WORD) 3238 3247 { 3239 3248 tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL); … … 3419 3428 goto next_character; 3420 3429 } 3421 3430 3431 #ifdef COND_REGEXP 3432 /* When parsing a regexp as a single word inside a conditional command, 3433 we need to special-case characters special to both the shell and 3434 regular expressions. Right now, that is only '(' and '|'. */ /*)*/ 3435 if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|')) /*)*/ 3436 { 3437 if (character == '|') 3438 goto got_character; 3439 3440 push_delimiter (dstack, character); 3441 ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0); 3442 pop_delimiter (dstack); 3443 if (ttok == &matched_pair_error) 3444 return -1; /* Bail immediately. */ 3445 RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2, 3446 token_buffer_size, TOKEN_DEFAULT_GROW_SIZE); 3447 token[token_index++] = character; 3448 strcpy (token + token_index, ttok); 3449 token_index += ttoklen; 3450 FREE (ttok); 3451 dollar_present = all_digit_token = 0; 3452 goto next_character; 3453 } 3454 #endif /* COND_REGEXP */ 3455 3422 3456 #ifdef EXTENDED_GLOB 3423 3457 /* Parse a ksh-style extended pattern matching specification. */ 3424 if (extended_glob && PATTERN_CHAR (character))3458 if MBTEST(extended_glob && PATTERN_CHAR (character)) 3425 3459 { 3426 3460 peek_char = shell_getc (1); 3427 3461 if MBTEST(peek_char == '(') /* ) */ -
patchlevel.h
diff -Naur bash-3.2.orig/patchlevel.h bash-3.2/patchlevel.h
old new 25 25 regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh 26 26 looks for to find the patch level (for the sccs version string). */ 27 27 28 #define PATCHLEVEL 028 #define PATCHLEVEL 3 29 29 30 30 #endif /* _PATCHLEVEL_H_ */ -
po/ru.po
diff -Naur bash-3.2.orig/po/ru.po bash-3.2/po/ru.po
old new 12 12 "Last-Translator: Evgeniy Dushistov <dushistov@mail.ru>\n" 13 13 "Language-Team: Russian <ru@li.org>\n" 14 14 "MIME-Version: 1.0\n" 15 "Content-Type: text/plain; charset= UTF-8\n"15 "Content-Type: text/plain; charset=KOI8-R\n" 16 16 "Content-Transfer-Encoding: 8bit\n" 17 17 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 18 18
Note:
See TracBrowser
for help on using the repository browser.