diff options
Diffstat (limited to 'app-shells/bash/files/bash-3.0-posixtrap.patch')
-rw-r--r-- | app-shells/bash/files/bash-3.0-posixtrap.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/app-shells/bash/files/bash-3.0-posixtrap.patch b/app-shells/bash/files/bash-3.0-posixtrap.patch new file mode 100644 index 0000000..eaa4879 --- /dev/null +++ b/app-shells/bash/files/bash-3.0-posixtrap.patch @@ -0,0 +1,30 @@ +Revert trap behavior for the sake of autoconf-generated configure scripts. +The problem here is that bash -c 'trap 0' works, but sh -c 'trap 0' doesn't +work because the bash developers are trying to adhere to POSIX in that case. +Since all the configure scripts are #!/bin/sh, this breaks them... That's bad +news and will need some time to fix, so it's easier to fix here for the +moment. + +http://bugs.gentoo.org/58703 + +--- bash-3.0/builtins/trap.def.noposix 2004-07-28 22:38:38.000000000 -0400 ++++ bash-3.0/builtins/trap.def 2004-07-28 22:39:01.948314454 -0400 +@@ -122,12 +122,18 @@ + + operation = SET; + first_arg = list->word->word; ++#if 0 + /* When in posix mode, the historical behavior of looking for a + missing first argument is disabled. To revert to the original + signal handling disposition, use `-' as the first argument. */ + if (posixly_correct == 0 && first_arg && *first_arg && + (*first_arg != '-' || first_arg[1]) && + signal_object_p (first_arg, opt) && list->next == 0) ++#else ++ if (first_arg && *first_arg && ++ (*first_arg != '-' || first_arg[1]) && ++ signal_object_p (first_arg, opt) && list->next == 0) ++#endif + operation = REVERT; + else + { |