Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Ken Irving
On Mon, Oct 19, 2015 at 12:49:25PM -0700, Linda Walsh wrote: ... > I observe similar inconsistencies and confusion around > the use of 'dynamic vars' -- not really being global, not really > being local, but supposedly on some dynamic frame, "somewhere", > but not anywhere they've been declared or

Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Bob Proulx
Linda Walsh wrote: > Greg Wooledge wrote: > >A simple example: > >diff -u <(sort file1) <(sort file2) > You claim <(sort file1) is a filename? Me too. > >touch a > >mv <(sort a) <(sort a) > mv: cannot move ‘/dev/fd/63’ to ‘/dev/fd/62’: Operation not permitted > > The OS claims that <() gen

Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Chet Ramey
On 10/19/15 1:36 PM, Ken Irving wrote: > The manpage section on process substitution could perhaps present the > concept more clearly by starting with something like the sentence just > above, e.g., very roughly: > > Process Substitution, taking the form of <(list) or >(list), > expands t

Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Greg Wooledge
On Mon, Oct 19, 2015 at 12:49:25PM -0700, Linda Walsh wrote: > Greg Wooledge wrote: > >A simple example: > > > >diff -u <(sort file1) <(sort file2) > > You claim <(sort file1) is a filename? $ ls -l <(sort .bashrc) lr-x-- 1 wooledg wooledg 64 Oct 19 15:56 /dev/fd/63 -> pipe:[55954]

Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Linda Walsh
Greg Wooledge wrote: On Sat, Oct 17, 2015 at 05:43:15PM -0700, Linda Walsh wrote: Chet Ramey wrote: I think you're missing that process substitution is a word expansion that is defined to expand to a filename. - ??? I've never seen a usage where it expands to a filename and is tr

a few unintended translations of command names

2015-10-19 Thread Benno Schulenberg
Hi, In bash-4.4-beta the command names 'true' and 'false' have been mistakenly translated in the Greek, Italian, Slovak and Indonesian PO files. The latter two also mistakenly translate 'times'. As the command synopses are gettextized only in order to allow translators to translate possible arg

Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Ken Irving
On Sun, Oct 18, 2015 at 07:36:49PM -0400, Chet Ramey wrote: > On 10/17/15 8:43 PM, Linda Walsh wrote: > > > > Chet Ramey wrote: ... > >> I think you're missing that process substitution is a word expansion > >> that is defined to expand to a filename. When it uses /dev/fd, it > >> uses pipes and

[patches] removing empty sections and adding consistent blank lines

2015-10-19 Thread Benno Schulenberg
In the CHANGES-4.4 document, section 4. New Features in Readline lists zero items but is immediately followed by some text, which makes it seem that this text are the new features in readline. In the CHANGES document, empty sections have been left out (for the most part). So the first attached p

Substring expansion error when offset contains a colon

2015-10-19 Thread grishalevit
When using ${parameter:offset:length} expansion, the parser doesn't account for all the ways that a colon can appear in "offset". For example: $ echo ${PARAM:${OFFSET:-0}} -bash: ${OFFSET: bad substitution or: # declare -A A=([a:b]=0) # echo ${PARAM:${A[a:b]}} -bash: ${A[a: bad substitution I

[patch] adding a missing bracket to the manual

2015-10-19 Thread Benno Schulenberg
In the Info document of bash-4.4-beta it says: cd [-L|[-P [-e]] [-@] [DIRECTORY] which is missing a closing bracket somewhere. On the man page and in 'help cd' it says: cd [-L|[-P [-e]] [-@]] [dir] At first glance this seems to say that -@ can only be used when also -L is used. On cl

Re: language inconsistency(wart) & RFE

2015-10-19 Thread Chet Ramey
On 10/16/15 9:18 PM, Linda Walsh wrote: > Ok, thinking this from a different way. > > shopt -s implicit_vars_local > or > shopt -s localize_func_implicit_vars whatever... > > Right now, in a function, you *can* use local in a function > to make a local var. Thing is, both 'declare' and 'type

Re: trap ... INT when exec

2015-10-19 Thread Chet Ramey
On 10/19/15 6:06 AM, Basin Ilya wrote: > Hi list. > An attempt to open a named pipe created with mkfifo cannot be > interrupted with SIGINT, if trap ... INT installed. This was fixed back in January in the devel branch. I attached the minor patch. Chet -- ``The lyf so short, the craft so long

Re: language inconsistency(wart) & RFE

2015-10-19 Thread Greg Wooledge
On Sat, Oct 17, 2015 at 08:55:31AM -0700, Linda Walsh wrote: > If I needed a way to declare something global, yes... > But what I am wanting is a way to allow changing the defaults > of the implicit variable creation (which could still be > explicitly declared with "-g" if one wanted their re

Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Greg Wooledge
On Sat, Oct 17, 2015 at 05:43:15PM -0700, Linda Walsh wrote: > Chet Ramey wrote: > >I think you're missing that process substitution is a word expansion > >that is defined to expand to a filename. > - > ??? I've never seen a usage where it expands to a filename and > is treated as such.

trap ... INT when exec

2015-10-19 Thread Basin Ilya
Hi list. An attempt to open a named pipe created with mkfifo cannot be interrupted with SIGINT, if trap ... INT installed. (reading from an opened fifo is interruptible and similar attempt to open a /dev/tcp socket is interruptible too) #!/bin/bash set -e function errtrap { es=$?

Re: Design question(s), re: why use of tmp-files or named-pipes(/dev/fd/N) instead of plain pipes?

2015-10-19 Thread Stephane Chazelas
2015-10-18 19:36:49 -0400, Chet Ramey: > On 10/17/15 8:43 PM, Linda Walsh wrote: [...] > > ??? I've never seen a usage where it expands to a filename and > > is treated as such. > > Every example of process substitution ever given expands to a filename, > and the result is treated as a filenam