]> git.pld-linux.org Git - packages/bash.git/blob - bash-fixes.patch
ede1dadedcc36ed623b59d2c6bc5aa3c4aaafc69
[packages/bash.git] / bash-fixes.patch
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   
This page took 0.049599 seconds and 2 git commands to generate.