Re: hyphens (-) and underscores (_) are not treated as equivalent with completion-map-case and completion-ignore-case enabled
On 1/19/21 8:30 AM, aw...@cdak.net wrote: Bash Version: 5.1 Patch Level: 4 Release Status: release Description: man bash says: > completion-map-case (Off) > If set to On, and completion-ignore-case is enabled, readline treats hyphens (-) and underscores (_) as equivalent when performing case-insensitive filename matching and completion. $ bind -v|grep case set completion-ignore-case on set completion-map-case on Repeat-By: So it should be enabled and when I type $ touch _test $ chmod +x -t it completes to $ chmod +x _test But neither $ ./-t $ ls -t complete. If I turn off progcomp with `shopt -u progcomp` (as suggested here https://unix.stackexchange.com/questions/629844/bash-completion) it allows the `ls` example to complete but not the other. Thanks for the report. Those two options work for filename completion, but not command completion (the bulk of which is handled outside readline). I'll take a look at exposing that functionality outside readline, since it's currently part of readline's filename completion, but that will take some time and probably require a version bump. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRUc...@case.eduhttp://tiswww.cwru.edu/~chet/
Re: Parallel make race in 5.1
On 1/19/21 9:19 AM, Richard Purdie wrote: Hi, In bash 5.1 we're seeing a parallel make race during build, as found a couple of times in our automated CI for Yocto Project: Thanks for the report. Interesting. I haven't seen this one either. The issue is around pipesize.h which in 5.1 can be built by two different triggers, builtins/ulimit.o or redir.o. They can race against each other and rewrite files causing the above failure. I suppose that workaround will do, since it should only be built one time, no matter how many times you run make. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRUc...@case.eduhttp://tiswww.cwru.edu/~chet/
Parallel make race in 5.1
Hi, In bash 5.1 we're seeing a parallel make race during build, as found a couple of times in our automated CI for Yocto Project: https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/1720/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/2969/steps/25/logs/stdio The issue is around pipesize.h which in 5.1 can be built by two different triggers, builtins/ulimit.o or redir.o. They can race against each other and rewrite files causing the above failure. We added a bit of a hacky workaround: Index: bash-5.1/Makefile.in === --- bash-5.1.orig/Makefile.in +++ bash-5.1/Makefile.in @@ -746,7 +746,7 @@ ${DEFDIR}/bashgetopt.o: $(BUILTIN_SRCDIR ${DEFDIR}/builtext.h: $(BUILTIN_DEFS) @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1 -${DEFDIR}/pipesize.h: +${DEFDIR}/pipesize.h: $(BUILTINS_LIBRARY) @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) pipesize.h ) || exit 1 $(SDIR)/man2html$(EXEEXT): ${SUPPORT_SRC}/man2html.c Cheers, Richard
hyphens (-) and underscores (_) are not treated as equivalent with completion-map-case and completion-ignore-case enabled
Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -DDEFAULT_PATH_VALUE='/usr/local/sbin:/usr/local/bin:/usr/bin' -DSTANDARD_UTILS_PATH='/usr/bin' -DSYS_BASHRC='/etc/bash.bashrc' -DSYS_BASH_LOGOUT='/etc/bash.bash_logout' -DNON_INTERACTIVE_LOGIN_SHELLS uname output: Linux w-arch 5.10.7-arch1-1 #1 SMP PREEMPT Wed, 13 Jan 2021 12:02:01 + x86_64 GNU/Linux Machine Type: x86_64-pc-linux-gnu Bash Version: 5.1 Patch Level: 4 Release Status: release Description: man bash says: > completion-map-case (Off) > If set to On, and completion-ignore-case is enabled, readline treats hyphens (-) and underscores (_) as equivalent when performing case-insensitive filename matching and completion. $ bind -v|grep case set completion-ignore-case on set completion-map-case on Repeat-By: So it should be enabled and when I type $ touch _test $ chmod +x -t it completes to $ chmod +x _test But neither $ ./-t $ ls -t complete. If I turn off progcomp with `shopt -u progcomp` (as suggested here https://unix.stackexchange.com/questions/629844/bash-completion) it allows the `ls` example to complete but not the other.
Re: nameref to array[@] doesn't always expand to multiple words
19 Ocak 2021 Salı tarihinde Greg Wooledge yazdı: > On Tue, Jan 19, 2021 at 01:38:13PM +0300, Oğuz wrote: > > $ declare -n c=a[@] > > "However, nameref variables can reference array variables and > subscripted array variables." > > Is a[@] a "subscripted array variable"? > It is, `@' is the subscript here. -- Oğuz
Re: nameref to array[@] doesn't always expand to multiple words
On Tue, Jan 19, 2021 at 01:38:13PM +0300, Oğuz wrote: > $ declare -n c=a[@] "However, nameref variables can reference array variables and subscripted array variables." Is a[@] a "subscripted array variable"?
nameref to array[@] doesn't always expand to multiple words
See: $ a=(1 2 3) $ b=a[@] $ declare -n c=a[@] $ $ printf '<%s>\n' "${!b}" <1> <2> <3> $ printf '<%s>\n' "$c" <1 2 3> $ printf '<%s>\n' "${!b}$c" <1> <2> <31> <2> <3> This is reproducible on devel too. Oğuz