]>
Commit | Line | Data |
---|---|---|
3ee03ca8 AM |
1 | http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00147.html |
2 | ||
3 | *** bash-4.0/parse.y 2009-01-08 08:29:12.000000000 -0500 | |
4 | --- bash-4.0/parse.y 2009-02-22 16:08:54.000000000 -0500 | |
5 | *************** | |
6 | *** 3307,3311 **** | |
7 | ||
8 | /* Meta-characters that can introduce a reserved word. Not perfect yet. */ | |
9 | ! if MBTEST((tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch)) | |
10 | { | |
11 | /* Add this character. */ | |
12 | --- 3307,3311 ---- | |
13 | ||
14 | /* Meta-characters that can introduce a reserved word. Not perfect yet. */ | |
15 | ! if MBTEST((tflags & LEX_PASSNEXT) == 0 && (tflags & LEX_RESWDOK) == 0 && (tflags & LEX_CKCASE) && (tflags & LEX_INCOMMENT) == 0 && shellmeta(ch)) | |
16 | { | |
17 | /* Add this character. */ | |
18 | http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00176.html | |
19 | ||
20 | *** bash-4.0/builtins/exit.def 2009-01-04 14:32:22.000000000 -0500 | |
21 | --- bash-4.0/builtins/exit.def 2009-02-23 22:56:58.000000000 -0500 | |
22 | *************** | |
23 | *** 114,118 **** | |
24 | if (jobs[i] && STOPPED (i)) | |
25 | stopmsg = JSTOPPED; | |
26 | ! else if (check_jobs_at_exit && stopmsg == 0 && RUNNING (i)) | |
27 | stopmsg = JRUNNING; | |
28 | ||
29 | --- 114,118 ---- | |
30 | if (jobs[i] && STOPPED (i)) | |
31 | stopmsg = JSTOPPED; | |
32 | ! else if (check_jobs_at_exit && stopmsg == 0 && jobs[i] && RUNNING (i)) | |
33 | stopmsg = JRUNNING; | |
34 | ||
35 | http://bugs.gentoo.org/211947 | |
36 | ||
37 | fix from Takashi YOSHII: dont use target ldflags for build apps | |
38 | ||
39 | --- bash/Makefile.in | |
40 | +++ bash/Makefile.in | |
41 | @@ -143,7 +143,7 @@ | |
42 | CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) | |
43 | ||
44 | LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS) | |
45 | -LDFLAGS_FOR_BUILD = $(LDFLAGS) | |
46 | +LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD) | |
47 | ||
48 | INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC) | |
49 | ||
50 | http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00158.html | |
51 | ||
52 | make `return` accept negative values again | |
53 | ||
54 | hack by me (vapier@gentoo.org) ... i'm not familiar with bash source code, so | |
55 | i imagine this isn't the best way to do it ... | |
56 | ||
57 | --- bash/builtins/return.def | |
58 | +++ bash/builtins/return.def | |
59 | @@ -60,9 +60,23 @@ | |
60 | return_builtin (list) | |
61 | WORD_LIST *list; | |
62 | { | |
63 | + int neg = 0; | |
64 | + if (list && list->word && list->word->word) { | |
65 | + char *word = list->word->word; | |
66 | + if (*word == '-') { | |
67 | + while (*word++) | |
68 | + if (!isdigit(*word)) | |
69 | + break; | |
70 | + if (!*word) | |
71 | + neg = 1; | |
72 | + } | |
73 | + } | |
74 | + | |
75 | + if (!neg) { | |
76 | if (no_options (list)) | |
77 | return (EX_USAGE); | |
78 | list = loptend; /* skip over possible `--' */ | |
79 | + } | |
80 | ||
81 | return_catch_value = get_exitstat (list); | |
82 | ||
83 | http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00142.html | |
84 | ||
85 | *** bash-4.0/pcomplete.c 2009-02-01 17:12:31.000000000 -0500 | |
86 | --- bash/pcomplete.c 2009-02-22 17:08:25.000000000 -0500 | |
87 | *************** | |
88 | *** 1033,1036 **** | |
89 | --- 1033,1037 ---- | |
90 | ||
91 | pps = &ps; | |
92 | + save_parser_state (pps); | |
93 | begin_unwind_frame ("gen-shell-function-matches"); | |
94 | add_unwind_protect (restore_parser_state, (char *)pps); | |
95 | http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00177.html | |
96 | ||
97 | *** bash-4.0/parse.y 2009-01-08 08:29:12.000000000 -0500 | |
98 | --- bash-4.0/parse.y 2009-02-23 22:40:55.000000000 -0500 | |
99 | *************** | |
100 | *** 1616,1623 **** | |
101 | int *ret; | |
102 | ||
103 | ! ret = (int *)xmalloc (3 * sizeof (int)); | |
104 | ret[0] = last_read_token; | |
105 | ret[1] = token_before_that; | |
106 | ret[2] = two_tokens_ago; | |
107 | return ret; | |
108 | } | |
109 | --- 1616,1624 ---- | |
110 | int *ret; | |
111 | ||
112 | ! ret = (int *)xmalloc (4 * sizeof (int)); | |
113 | ret[0] = last_read_token; | |
114 | ret[1] = token_before_that; | |
115 | ret[2] = two_tokens_ago; | |
116 | + ret[3] = current_token; | |
117 | return ret; | |
118 | } | |
119 | *************** | |
120 | *** 1632,1635 **** | |
121 | --- 1633,1637 ---- | |
122 | token_before_that = ts[1]; | |
123 | two_tokens_ago = ts[2]; | |
124 | + current_token = ts[3]; | |
125 | } | |
126 |