[PATCH] typo in wait.def doc

2017-02-23 Thread Nick Pongratz
Pretty trivial in the grand scheme of things, just wanted to report
that the documentation for wait repeats "a".

---
diff --git a/builtins/wait.def b/builtins/wait.def
index 974f959b..46e764c5 100644
--- a/builtins/wait.def
+++ b/builtins/wait.def
@@ -28,7 +28,7 @@ Wait for job completion and return exit status.
 Waits for each process identified by an ID, which may be a process ID or a
 job specification, and reports its termination status.  If ID is not
 given, waits for all currently active child processes, and the return
-status is zero.  If ID is a a job specification, waits for all processes
+status is zero.  If ID is a job specification, waits for all processes
 in that job's pipeline.

 If the -n option is supplied, waits for the next job to terminate and
---

Nick Pongratz
Systems Engineer
Singlewire Software



Re: [PATCH] typo in wait.def doc

2017-02-23 Thread Chet Ramey
On 2/23/17 8:56 AM, Nick Pongratz wrote:
> Pretty trivial in the grand scheme of things, just wanted to report
> that the documentation for wait repeats "a".

Thanks for the report.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRUc...@case.eduhttp://cnswww.cns.cwru.edu/~chet/



Tokenizer problem affecting argument history

2017-02-23 Thread ecki
Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: x86_64-pc-linux-gnu-gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' 
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu' 
-DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL 
-DHAVE_CONFIG_H   -I. -I./include -I. -I./include -I./lib  
-DDEFAULT_PATH_VALUE='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
 -DSTANDARD_UTILS_PATH='/bin:/usr/bin:/sbin:/usr/sbin' 
-DSYS_BASHRC='/etc/bash/bashrc' -DSYS_BASH_LOGOUT='/etc/bash/bash_logout' 
-DNON_INTERACTIVE_LOGIN_SHELLS -DSSH_SOURCE_BASHRC -DUSE_MKTEMP -DUSE_MKSTEMP 
-march=corei7 -O2 -pipe
uname output: Linux lokalhorst.net.tofex.de 4.4.0-gentoo-r1 #1 SMP Mon Jan 25 
18:18:38 CET 2016 x86_64 Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz GenuineIntel 
GNU/Linux
Machine Type: x86_64-pc-linux-gnu

Bash Version: 4.3
Patch Level: 48
Release Status: release

Description:
When evaluating complex commands containing "$()" expressions, and later
accessing arguments with !$, !* or !:, results are not as expected,
as the "$()" expression is broken into non-executable parts (see below).

At least the manpage should clearly state such behaviour - I didn't find
that within 10 minute search.

Repeat-By:
$ mkdir -p /tmp/Step1
$ ls /$(echo tmp)/Step1
...
$ echo !:*
echo /$ ( echo tmp ) /Step1
bash: syntax error near unexpected token `('

Fix:
None so far.




Re: Tokenizer problem affecting argument history

2017-02-23 Thread Chet Ramey
On 2/23/17 5:58 AM, e...@tofex.de wrote:
> Configuration Information [Automatically generated, do not change]:
> Machine: x86_64
> OS: linux-gnu
> Compiler: x86_64-pc-linux-gnu-gcc
> Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' 
> -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu' 
> -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL 
> -DHAVE_CONFIG_H   -I. -I./include -I. -I./include -I./lib  
> -DDEFAULT_PATH_VALUE='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
>  -DSTANDARD_UTILS_PATH='/bin:/usr/bin:/sbin:/usr/sbin' 
> -DSYS_BASHRC='/etc/bash/bashrc' -DSYS_BASH_LOGOUT='/etc/bash/bash_logout' 
> -DNON_INTERACTIVE_LOGIN_SHELLS -DSSH_SOURCE_BASHRC -DUSE_MKTEMP -DUSE_MKSTEMP 
> -march=corei7 -O2 -pipe
> uname output: Linux lokalhorst.net.tofex.de 4.4.0-gentoo-r1 #1 SMP Mon Jan 25 
> 18:18:38 CET 2016 x86_64 Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz 
> GenuineIntel GNU/Linux
> Machine Type: x86_64-pc-linux-gnu
> 
> Bash Version: 4.3
> Patch Level: 48
> Release Status: release
> 
> Description:
>   When evaluating complex commands containing "$()" expressions, and later
>   accessing arguments with !$, !* or !:, results are not as expected,
>   as the "$()" expression is broken into non-executable parts (see below).
> 
>   At least the manpage should clearly state such behaviour - I didn't find
>   that within 10 minute search.
> 
> Repeat-By:
>   $ mkdir -p /tmp/Step1
>   $ ls /$(echo tmp)/Step1
>   ...
>   $ echo !:*
>   echo /$ ( echo tmp ) /Step1
>   bash: syntax error near unexpected token `('

The history library knows very little shell syntax.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRUc...@case.eduhttp://cnswww.cns.cwru.edu/~chet/



Follow-up to Non-expanding here-documents inside command substitution

2017-02-23 Thread Kevin Grigorenko
On February 11th 2017, there was a discussion on the topic of 
"Non-expanding here-documents inside command substitution are subject to 
newline joining" where it was confirmed that Bash contains a bug. Two 
questions:


1. Is there a plan to fix this or should a patch be submitted?
2. Regarding the response:

> [POSIX] is not necessarily ambiguous, but it does require close
> reading.

Can you please explain how it was concluded that it's a bug based on the 
specification?


Thank you

--
Kevin G