Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64'
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-unknown-linux-gnu'
-DCONF_VENDOR='unknown'
At 2018-12-27T17:34:49-0800, Eduardo Bustamante wrote:
> On Thu, Dec 27, 2018 at 5:15 PM Peng Yu wrote:
> (...)
> > Since the main() function is already there, why there is not already
> > an easy way to compile it? How do you do unit-testing then for the
> > code?
>
> This is very easy to
At 2018-12-27T19:47:08-0600, Peng Yu wrote:
> On Thu, Dec 27, 2018 at 7:37 PM G. Branden Robinson
> > As others have noted, if you are worried about marginal performance
> > impacts this small, margin you are probably writing in the wrong
> > language, or distracting yours
At 2018-12-27T18:39:26-0600, Peng Yu wrote:
> What I meant in my original email is that I want something for testing
> if there is a command line argument (one or more, the exact number
> does not matter). $# gives more than that info, because it tells not
> only whether is any command line
At 2018-12-27T19:24:22-0600, Peng Yu wrote:
> > I don't believe that at all. The number of positional parameters is kept
> > anyway. It's not recalculated when you compare it to another number, so
> > it's just as fast as a simple comparison of two integers.
>
> Getting the number $# is slow.
By
gcc -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I.. -I../include -I../lib -I.
-DDEBUG -g -O2 -Wno-parentheses -Wno-format-security evalstring.c
evalstring.c: In function ‘parse_and_execute_cleanup’:
evalstring.c:150:7: warning: implicit declaration of function
‘unfreeze_jobs_list’; did you mean
At 2019-05-28T17:01:52+0200, Tim Rühsen wrote:
> Since distributions like Debian doesn't deliver binaries from
> examples/,
That doesn't sound accurate to me. The Debian Policy Manual, §12.6,
encourages the shipping of examples:
https://www.debian.org/doc/debian-policy/ch-docs.html#examples
In
At 2019-05-19T16:43:41+0200, Henning wrote:
> I don't like to have dozens of key bindings I never use. Currently I
> am issuing lots of lots of bind -r/-u commands to get rid of the
> default bindings. This slows down console startup unnecessarily.
>
> I would really like to have an inputrc
hanks, Lawrence!
Regards,
Branden
From 2f831676ea69b64c4a8a44be7a675253e78527ce Mon Sep 17 00:00:00 2001
From: "G. Branden Robinson"
Date: Sun, 6 Jun 2021 14:22:41 +1000
Subject: [PATCH] [docs]: Adopt gender-indifferent language.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Con
Hi Chet,
At 2023-10-11T10:22:44-0400, Chet Ramey wrote:
> On 10/11/23 5:08 AM, G. Branden Robinson wrote:
> > Please consider reverting the following recent changes to the bash
> > man page. Bjarni should have run them by the groff list first,
> > because some of them are il
Hi Chet,
Please consider reverting the following recent changes to the bash man
page. Bjarni should have run them by the groff list first, because some
of them are ill-considered.
Bjarni,
I regret that I must repeat myself.[1]
Please do not offer yourself as an authority on correct man page
At 2023-08-15T23:24:31-0500, Dennis Williamson wrote:
> From man bash:
>
> readonly [-aAf] [-p] [name[=word] ...]
> The given names are marked readonly; the values of these
> names may not be changed by subsequent assignment. If the -f option is
> supplied, the functions
>
At 2023-11-10T10:54:52-0800, Eric Pruitt wrote:
> On Fri, Nov 10, 2023 at 01:22:54PM -0500, Greg Wooledge wrote:
> > It most definitely is *not* everywhere. It's part of GNU coreutils,
> > and is generally not present on any system that does't use those
> > (BSDs and commercial Unixes for
At 2022-06-08T12:05:06-0500, mcmuffin6o wrote:
> In section 3.5.3 Shell Parameter Expansion:
>
> In the sixth paragraph it correctly states that "Bash tests for a
> parameter that is unset *or* null" when you use the colon. It later
> attempts to restate this but fails by saying "if the colon is
At 2022-08-28T14:11:25-0400, Lawrence Velázquez wrote:
> I do not think bash needs to sprout functionality to support every
> data-exchange format of the month.
This sentiment is illustrative of the logarithmic memory scale of
grognards. The Bourne shell was first released as part of Version 7
At 2022-08-28T15:52:55-0400, Lawrence Velázquez wrote:
> On Sun, Aug 28, 2022, at 2:56 PM, G. Branden Robinson wrote:
> > How about next July, when JSON is as exactly old as the Bourne shell
> > was when JSON was deployed?
>
> I do not find "well *actually* JSON is old
At 2023-01-04T10:22:15-0500, Chet Ramey wrote:
> On 12/30/22 3:44 PM, Steffen Nurpmeso wrote:
>
> > Digital, logical, liberal, yuck :)
>
> We channeling Supertramp here?
藍
Some listen to the birds in the trees singing so happily...
..and some spend their years watching the moon bear wank
Hi Alex,
At 2022-11-25T22:02:46+0100, Alejandro Colomar wrote:
> I wrote a script, and am trying it on many systems. On RHEL8, which
> has bash 4, it didn't work. I could reduce the problem to the
> following command, which never returns true:
>
> test -v 1;
>
> In Debian Sid, where I
At 2023-07-31T09:30:30-0400, Chet Ramey wrote:
> Rather than embed more and more shell-specific output formats that
> readline doesn't parse into readline itself, I'm more inclined to add
> a hook to allow an application to print the value of a key binding
> itself.
[...]
> This would allow us,
At 2023-07-31T16:08:31+0200, Denys Vlasenko wrote:
> There is no reason to innovate in tools such as sed, awk, or sh.
These are terrible examples to use; look at the history of all three.
> They have fossilized.
No, they've been _standardized_. POSIX acknowledges that the common set
of
Hi Thomas,
At 2023-07-26T10:47:05+0200, Thomas ten Cate wrote:
> In the bash manual page (`man bash`), the ASCII tilde character '~'
> (0x7e) is replaced by the Unicode character '˜' (U+02DC SMALL TILDE):
>
> $ man bash | grep 'additional binary operator'
> An additional
Hi Chet,
At 2023-07-28T15:15:48-0400, Chet Ramey wrote:
> Applying the patch without any other changes to bash.1 results in
>
> $ groff -Tascii -P -c -I/usr/local/src/bash/bash-20230728/doc -man
> /usr/local/src/bash/bash-20230728/doc/bash.1 > bash.0
> troff:
Hi Chet,
At 2023-07-29T13:16:55-0400, Chet Ramey wrote:
> On 7/28/23 3:28 PM, G. Branden Robinson wrote:
> > Sorry about that. I fat-fingered it.
> >
> > An 'n' is needed after the second backslash, because we're interpolating
> > a register value.
>
> Than
Hi Chet,
At 2023-07-27T11:54:19-0400, Chet Ramey wrote:
> On 7/26/23 11:35 AM, G. Branden Robinson wrote:
> > Many projects don't need to worry about such extreme portability in
> > their man pages, but GNU Bash arguably does. (I'm open to
> > correction.)
>
&g
Hi Denys,
At 2023-07-31T13:38:00+0200, Denys Vlasenko wrote:
> On 7/28/23 19:51, Martin D Kealey wrote:
> > On the other hand, since everyone has now had 36+ years to update
> > their scripts to get rid of backticks,
>
> I don't know about others, but I missed the memo that `` is
> deprecated.
At 2023-05-06T08:06:40+, Shynur Xie wrote:
> Should Use Straight Single Quote instead of Curved
>
> View this page
>
> in browser:
>
> > Character sequences of the form $’string’ are treated as a special
> > kind of single quotes.
>
> should be
>
> > Character sequences of the form
, out of the box,
Solaris 10 nroff won't render the special characters \(ha and \(ti,
which does some violence to the Bash man page.[1]
Here are two examples.
At 2024-01-31T02:43:45-0600, G. Branden Robinson wrote:
> Diff of rendering (DWB):
[...]
> - An additional binary op
Hi Chet,
At 2024-02-12T14:45:30-0500, Chet Ramey wrote:
> On 2/12/24 2:00 PM, G. Branden Robinson wrote:
> > I see that most of my proposed man page changes from the recent
> > series landed in the devel branch. Thanks!
> >
> > I did notice that thi
[self-follow-up]
At 2024-02-12T13:00:43-0600, G. Branden Robinson wrote:
> I'm also attaching a sample document that people can use to test the
> nroff(1)/man(7) on their system.
If I had a nickel for every time I forget the attachment...
> Here's how I tested it with groff, mandoc(1),
At 2023-12-11T15:09:26+0800, Dan Jacobson wrote:
> Type ^R and some string,
> At the point while we are typing that the search fails, all that
> happens is the word "failed" gets added at front,
Not for me. I also get a visual bell for each character I add to the
pattern once the match fails.
The page defines it; might as well use it.
---
doc/bash.1 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/bash.1 b/doc/bash.1
index 8943e01e..fff8a817 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -2107,7 +2107,7 @@ .SS Shell Variables
This variable expands to a 32-bit
1. Use `EX`/`EE` extension.
groff_man(7):
.EX
.EEBegin and end example. After .EX, filling is disabled and a
constant‐width (monospaced) font is selected. Calling .EE
enables filling and restores the previous font.
.EX and .EE are extensions
Cross-reference arc4random(3) and stty(1) man pages. Protect the former
from hyphenation.
Also break an input line after a sentence.
---
doc/bash.1 | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/doc/bash.1 b/doc/bash.1
index f532d628..8943e01e 100644
---
troff:doc/bash.1:10090: warning: ignoring escape character before '+'
troff:doc/bash.1:11896: warning: ignoring escape character before 'P'
---
doc/bash.1 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/bash.1 b/doc/bash.1
index 35c076f0..9d44a6d4 100644
---
...instead of assuming the availability of a font named `CW`, and using
inconsistent quotation conventions when rendering to terminals with
nroff(1).
This resolves 25 instances of the following warning from groff 1.23.0.
troff:./doc/bash.1:360: warning: cannot select font 'CW'
To extract the
Historically in man(7), the inter-paragraph spacing (equivalently, the
spacing before section and subsection headings, and the value of the PD
register) is 0.4v (or four tenths of a "vee", the distance between
vertically adjacent text baselines) on typesetters, and 1v on terminals
(that is, a
With this series of changes, bash(1) formats quiescently for me using
groff 1.23.0 with the following command line.
nroff -ww -rCHECKSTYLE=1 -man -z doc/bash.1
Regards,
Branden
signature.asc
Description: PGP signature
By luck, at present, input like
times, as necessary, to indicate multiple
levels of indirection. The default is
.Q "+\ " .
does not get set as
times, as necessary, to indicate multiple
levels of indirection. The default is “+
”.
by any of groff {1.22.4,1.23.0,git}, mandoc, Heirloom Doctools,
---
doc/bash.1 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/bash.1 b/doc/bash.1
index 8c2fa229..ed67e4b0 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -6132,7 +6132,7 @@ .SS "Readline Variables"
treated specially by the kernel's terminal driver to their
readline
Hi Chet,
Sorry--I need to update 2 of the items in this series.
v2: Fix a goof where I regressed the escaped hyphen in "self-insert".
The man(7) in Seventh Edition Unix (1979) accepted at most six arguments
to any macro. Documenter's Workbench 3.3 troff retains this limitation,
as do at least
v2: Prevent confclit with PATCH v2 01/18.
Apply ellipsis advice from groff_man_style(7).
• The dummy character escape sequence \& follows the ellipsis when
further text will follow after space on the output line, keeping
its last period from being interpreted as the end of
Whether it arises will depend on word placement and line length.
*roff has a simplistic notion of what a "word" is.
groff_man_style(7):
... The formatter troff(1) collects words from the input and fills
output lines with as many as will fit. Words are separated by
spaces and
groff_man_style(7):
\cEnd a text line without inserting space or attempting a
break. Normally, if filling is enabled, the end of a
text line is treated like a space; an output line may
break there (if it does not, troff inserts an
I didn't pay close enough attention to Documenter's Workbench 3.3 troff
output when submitting the original version of this macro. Add a
necessary backslash to escape the newline at the beginning of a
conditional block. This omission was causing DWB to put a blank line on
the output every time
The man(7) in Seventh Edition Unix (1979) accepted at most six arguments
to any macro. Documenter's Workbench 3.3 troff retains this limitation,
as do at least some System V troffs that survive in commercial Unix
(such as Solaris 10 troff).
Quote the mulitiplicity of arguments so that they will
This will set them in Courier with modern formatters* when they render
to a typesetting device or to HTML, and does no damage on ancient ones.
Diff of rendering (groff, Heirloom Doctools, mandoc):
-MAILPATH='/var/mail/bfox?"You have mail":~/shell-mail?"$_ has
-mail!"'
+
Instead of variously using `this' and ``that'' quotation styles (mostly
the former), and which which render ugly on systems that hack up groff's
character mappings to force ` and ' to the grave accent (U+0060) and
neutral apostrophe (U+0027), respectively,[1] employ the new Q macro for
all (knock
Diff of rendering (DWB):
- parameter expands to a separate word. That is, $@ is
- equivalent to $1 "$2" ... If the double-quoted expan-
- sion occurs within a word, the expansion of the first
- parameter is joined with the
Dialing up groff 1.23.0 man(7)'s "CHECKSTYLE" warning feature provoked
the following diagnostic.
an.tmac:doc/bash.1:8043: style: 1 leading space(s) on input line
Leading spaces are warned about because they cause the line to break,
which is often a surprise to man page authors when text is
Author: G. Branden Robinson
Date: Mon Nov 20 08:33:57 2023 -0600
[man]: Don't enforce tag separation on `IP`.
The tags to `IP` macros are often very short, as with bullets or list
enumerators (and in fact we encourage this practice in our style advice,
promoting `TP` for definition
A *roff macro argument need be quoted only if it contains spaces (and
spaces within escape sequences don't count; for Ossanna/Kernighan troff,
that codicil applies only to the unadjustable break escape sequence,
`\ `, which this document uses occasionally--`\~` is preferable but not
as portable).
Diff of rendering (groff):
- reserved word if the next token begins with a ‘‐’. The TIMEFORMAT
variable
+ reserved word if the next token begins with a ‘-’. The TIMEFORMAT
variable
---
doc/bash.1 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/bash.1
Almost all other "literal" uses of the caret were already migrated to
`\(ha` instead.
groff_man_style(7):
... Some escape sequences are however required for correct
typesetting even in man pages and usually do not cause portability
problems.
Several of these render glyphs
Apply ellipsis advice from groff_man_style(7).
• The dummy character escape sequence \& follows the ellipsis when
further text will follow after space on the output line, keeping
its last period from being interpreted as the end of a sentence
and causing additional
Remove trailing whitespace from lines. They shouldn't matter to
*roff,[1] but "git diff" shows them as distractingly radioactive.
Diff of rendering (Heirloom Doctools, DWB):
- referred to as the region. When this variable is set to On,
+ referred to as the region.
Migrate uses of the double quote (U+0022) as a literal to \(dq special
character escape sequence. Generally these weren't _wrong_, but the man
page author then has to remember that they change their meaning when
they are placed inside macro arguments.
groff_man_style(7):
... Some escape
Almost all other "literal" uses of the apostrophe were already migrated
to `\(aq` instead.
groff_man_style(7):
... Some escape sequences are however required for correct
typesetting even in man pages and usually do not cause portability
problems.
Several of these render
When discussing literals like
"$@"
...boldface the double quotes too.
---
doc/bash.1 | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/doc/bash.1 b/doc/bash.1
index 200cf00e..e278c7c3 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -1453,15 +1453,20 @@ .SS Special
Diff of rendering (DWB):
- sonal initialization file /.bashrc if the shell is
+ sonal initialization file ~/.bashrc if the shell is
- files /.bash_profile, /.bash_login, or /.profile. By
- default, bash reads these files when it is
Hi Martin,
At 2024-04-12T14:55:22+1200, Martin D Kealey wrote:
> On Thu, 1 Feb 2024 at 07:54, G. Branden Robinson <
> g.branden.robin...@gmail.com> wrote:
>
> > v2: Prevent confclit with PATCH v2 01/18.
> > Apply ellipsis advice from groff_man_style(7).
> > • Th
At 2024-05-02T16:30:09+0300, Oğuz wrote:
> On Thu, May 2, 2024 at 3:55 PM Chet Ramey wrote:
> > A paraphrase of what?
>
> Issue 7 says this:
>
> By default, the jobs utility shall display the status of all stopped
> jobs, running background jobs and all jobs whose status has changed
> and have
At 2024-05-16T11:36:50-0400, Chet Ramey wrote:
> On 5/15/24 6:27 PM, Robert Elz wrote:
> > and any attempt to use a relative path (and you
> > can exclude ./anything or ../anything from that if you prefer - ie:
>
> Those are not relative paths.
!
POSIX 1003.1-202x/D4, §3.311 defines "relative
At 2024-03-25T21:05:02+0300, Oğuz wrote:
> On Mon, Mar 25, 2024 at 8:38 PM G. Branden Robinson
> wrote:
> > [1]
> > [1] http...
>
> I keep seeing this. Why don't you guys just paste the link?
I believe I am.
https://lists.gnu.org/archive/html/bug-bash/2024-03/msg0020
At 2024-03-25T19:13:39+0200, Oğuz wrote:
> On Mon, Mar 25, 2024 at 7:18 PM Gioele Barabucci wrote:
> > Just for reference, neither dash nor busybox sh preserve the
> > caller's trap:
>
> I don't know why you think they are relevant. dash doesn't even support
> `x=$(trap)', which is mandated by
At 2024-04-01T09:27:27-0400, Chet Ramey wrote:
> On 3/28/24 5:11 PM, G. Branden Robinson wrote:
> > Now that we're using a correct caret/circumflex/hat glyph on
> > modern typesetters (and terminals with a Unicode repertoire), drop the
> > thicket of partial-line motion a
When formatting for typesetters, a blank input line produces 1 vee (one
line height, basically) of vertical space, but the default
inter-paragraph distance in man(7) is 0.4v.
Fixes numerous style warnings from "nroff -rCHECKSTYLE=3 -man" in groff
1.23.0 of the following form.
Now that we're using a correct caret/circumflex/hat glyph on
modern typesetters (and terminals with a Unicode repertoire), drop the
thicket of partial-line motion and type size-altering escape sequences,
certain to frighten and confuse any unfrozen caveman page authors.
I expect this to slightly
Use a *roff minus sign for minus signs and the `-` character in email
addresses.
---
lib/readline/doc/history.3 | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/readline/doc/history.3 b/lib/readline/doc/history.3
index 30b4d7be..40b85b20 100644
---
Set a period in the intended face (roman, not bold).
Stop breaking a line in the middle of a sentence without motivation.
Diff of rendering:
(groff Git, 1.23.0, 1.22.4; mandoc; Heirloom Doctools nroff)
- G Apply the following “s”
- or “&” modifier once to each word in the
Replace no-op font selection escape sequence with what appears to have
been intended.
---
lib/readline/doc/history.3 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/readline/doc/history.3 b/lib/readline/doc/history.3
index 40b85b20..7b6ab73b 100644
---
This prevents lines in the displayed struct definition from oversetting
on DWB troff.
Diff of rendering (DWB only):
@@ -10150,11 +10150,11 @@
The state of the History library is encapsulated into a sin-
gle structure:
-/*
- * structure for
While font mounting position 3 is usually assigned a bold typeface, it
seems a bit fragile to not explicitly ask for bold. The concept of
mounting positions is also not something man page authors typically need
to think about.
---
doc/bash.1 | 6 +++---
1 file changed, 3 insertions(+), 3
Double quotes aren't any easier to use with AT troff just because you
tuck them inside a string definition. (The _name_ of the string doesn't
matter; that gets interpolated before "quote removal", if you will.)
https://www.gnu.org/software/groff/manual/groff.html.node/Calling-Macros.html
---
This unfilled block of text was oversetting the line on DWB nroff, which
uses a line length of 65n (just like Seventh Edition Unix nroff).
Recast comments to occupy less space.
Also bracket this inline code display with `EX`/`EE` macros; this sets
the code in a monospace/constant-width font on
When formatting for typesetters, a blank input line produces 1 vee (one
line height, basically) of vertical space, but the default
inter-paragraph distance in man(7) is 0.4v. Second, the package always
puts inter-paragraph spacing before a (sub)section heading anyway.
Third, forcing vertical
The following syntax is killing the page on AT troff. You get the
header and footer and nothing else--just an ocean of blank space.
.de Fn1
With traditional roff eyeballs, this is interpreted the same as this:
.deFn1
or:
.de Fn 1
...which may at last make the problem clear. Identifiers are
Diff of rendering (ignoring differences in character set, default line
length, and a font selection affecting only a period):
(groff Git, 1.23.0, 1.22.4; mandoc; Heirloom Doctools nroff; DWB nroff)
- expansion, word splitting, pathname expansion, and quote removal .
+ expansion, word
Use `\fP` to restore previous font in places where it adequately
returns to roman face rather than the explicit `\fR` (which can clobber
the "previous font selection" datum in the formatter).
---
doc/bash.1 | 30 +++---
1 file changed, 15 insertions(+), 15 deletions(-)
At 2024-05-20T03:42:04+0700, Robert Elz wrote:
> My memory is hopeless, and I'm sure someone on the list can supply the
> correct attribution, but one of the big name CS people once said
> something along the lines of "perfection isn't when there's nothing
> left to add, but when there's nothing
79 matches
Mail list logo