aboutsummaryrefslogtreecommitdiff
path: root/manuals
diff options
context:
space:
mode:
Diffstat (limited to 'manuals')
-rw-r--r--manuals/bc/A.189
-rw-r--r--manuals/bc/A.1.md68
-rw-r--r--manuals/bc/E.145
-rw-r--r--manuals/bc/E.1.md30
-rw-r--r--manuals/bc/EH.145
-rw-r--r--manuals/bc/EH.1.md30
-rw-r--r--manuals/bc/EHN.145
-rw-r--r--manuals/bc/EHN.1.md30
-rw-r--r--manuals/bc/EN.145
-rw-r--r--manuals/bc/EN.1.md30
-rw-r--r--manuals/bc/H.189
-rw-r--r--manuals/bc/H.1.md68
-rw-r--r--manuals/bc/HN.189
-rw-r--r--manuals/bc/HN.1.md68
-rw-r--r--manuals/bc/N.189
-rw-r--r--manuals/bc/N.1.md68
-rw-r--r--manuals/bcl.329
-rw-r--r--manuals/bcl.3.md26
-rw-r--r--manuals/build.md2
-rw-r--r--manuals/dc/A.145
-rw-r--r--manuals/dc/A.1.md40
-rw-r--r--manuals/dc/E.145
-rw-r--r--manuals/dc/E.1.md40
-rw-r--r--manuals/dc/EH.145
-rw-r--r--manuals/dc/EH.1.md40
-rw-r--r--manuals/dc/EHN.145
-rw-r--r--manuals/dc/EHN.1.md40
-rw-r--r--manuals/dc/EN.145
-rw-r--r--manuals/dc/EN.1.md40
-rw-r--r--manuals/dc/H.145
-rw-r--r--manuals/dc/H.1.md40
-rw-r--r--manuals/dc/HN.145
-rw-r--r--manuals/dc/HN.1.md40
-rw-r--r--manuals/dc/N.145
-rw-r--r--manuals/dc/N.1.md40
35 files changed, 1640 insertions, 25 deletions
diff --git a/manuals/bc/A.1 b/manuals/bc/A.1
index ff9973e3cc8d..bf6c9108456b 100644
--- a/manuals/bc/A.1
+++ b/manuals/bc/A.1
@@ -176,6 +176,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library and the extended math library before
@@ -318,6 +328,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R].
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "20." 4
\f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive).
Using this operand will change the value of \f[B]seed\f[R].
This is a \f[B]non-portable extension\f[R].
-.IP "18." 4
+.IP "21." 4
\f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and the value of \f[B]E\f[R] (exclusive).
If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s
@@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R].
In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is
\f[I]not\f[R] changed.
This is a \f[B]non-portable extension\f[R].
-.IP "19." 4
+.IP "22." 4
\f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R].
This is a \f[B]non-portable extension\f[R].
.PP
@@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not
meant to be used by users, but it can be.
.RE
.TP
+\f[B]plz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]plznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
+\f[B]pnlz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]pnlznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
\f[B]ubytes(x)\f[R]
Returns the numbers of unsigned integer bytes required to hold the
truncated absolute value of \f[B]x\f[R].
@@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/A.1.md b/manuals/bc/A.1.md
index 9ab4665e9ebd..e773d967284c 100644
--- a/manuals/bc/A.1.md
+++ b/manuals/bc/A.1.md
@@ -141,6 +141,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -248,6 +256,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -488,10 +507,18 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
-17. **rand()**: A pseudo-random integer between **0** (inclusive) and
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+20. **rand()**: A pseudo-random integer between **0** (inclusive) and
**BC_RAND_MAX** (inclusive). Using this operand will change the value of
**seed**. This is a **non-portable extension**.
-18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
+21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
value of **E** (exclusive). If **E** is negative or is a non-integer
(**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see
the **RESET** section) while **seed** remains unchanged. If **E** is larger
@@ -502,7 +529,7 @@ The following are valid operands in bc(1):
change the value of **seed**, unless the value of **E** is **0** or **1**.
In that case, **0** is returned, and **seed** is *not* changed. This is a
**non-portable extension**.
-19. **maxrand()**: The max integer returned by **rand()**. This is a
+22. **maxrand()**: The max integer returned by **rand()**. This is a
**non-portable extension**.
The integers generated by **rand()** and **irand(E)** are guaranteed to be as
@@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**.
This function is used to implement other bitwise functions; it is not meant
to be used by users, but it can be.
+**plz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**plznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
+**pnlz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**pnlznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
**ubytes(x)**
: Returns the numbers of unsigned integer bytes required to hold the truncated
@@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bc/E.1 b/manuals/bc/E.1
index f157f6668a48..bb563f5c96fc 100644
--- a/manuals/bc/E.1
+++ b/manuals/bc/E.1
@@ -154,6 +154,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library before running any code, including
@@ -287,6 +297,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R].
.IP "16." 4
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
+.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
.SS Numbers
.PP
Numbers are strings made up of digits, uppercase letters, and at most
@@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/E.1.md b/manuals/bc/E.1.md
index 5c9d83b97c4c..63367e436cc8 100644
--- a/manuals/bc/E.1.md
+++ b/manuals/bc/E.1.md
@@ -125,6 +125,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -228,6 +236,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -442,6 +461,14 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
## Numbers
@@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bc/EH.1 b/manuals/bc/EH.1
index aca8e3b65f34..0bdfaa9fe14b 100644
--- a/manuals/bc/EH.1
+++ b/manuals/bc/EH.1
@@ -154,6 +154,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library before running any code, including
@@ -287,6 +297,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R].
.IP "16." 4
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
+.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
.SS Numbers
.PP
Numbers are strings made up of digits, uppercase letters, and at most
@@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/EH.1.md b/manuals/bc/EH.1.md
index 89fc2b54f27f..044330b7fe0a 100644
--- a/manuals/bc/EH.1.md
+++ b/manuals/bc/EH.1.md
@@ -125,6 +125,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -228,6 +236,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -442,6 +461,14 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
## Numbers
@@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bc/EHN.1 b/manuals/bc/EHN.1
index 5aff4d53a344..f0519898ad7e 100644
--- a/manuals/bc/EHN.1
+++ b/manuals/bc/EHN.1
@@ -154,6 +154,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library before running any code, including
@@ -287,6 +297,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R].
.IP "16." 4
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
+.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
.SS Numbers
.PP
Numbers are strings made up of digits, uppercase letters, and at most
@@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/EHN.1.md b/manuals/bc/EHN.1.md
index 618a09286de1..25543500eea7 100644
--- a/manuals/bc/EHN.1.md
+++ b/manuals/bc/EHN.1.md
@@ -125,6 +125,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -228,6 +236,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -442,6 +461,14 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
## Numbers
@@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bc/EN.1 b/manuals/bc/EN.1
index e67cbf332c88..192dccfea2fc 100644
--- a/manuals/bc/EN.1
+++ b/manuals/bc/EN.1
@@ -154,6 +154,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library before running any code, including
@@ -287,6 +297,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -570,6 +592,23 @@ This is a \f[B]non-portable extension\f[R].
.IP "16." 4
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
+.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
.SS Numbers
.PP
Numbers are strings made up of digits, uppercase letters, and at most
@@ -1295,6 +1334,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/EN.1.md b/manuals/bc/EN.1.md
index c99a9a28a405..e77d64cd7a56 100644
--- a/manuals/bc/EN.1.md
+++ b/manuals/bc/EN.1.md
@@ -125,6 +125,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -228,6 +236,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -442,6 +461,14 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
## Numbers
@@ -1064,6 +1091,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bc/H.1 b/manuals/bc/H.1
index 2fab932ce05c..5f290f12ae32 100644
--- a/manuals/bc/H.1
+++ b/manuals/bc/H.1
@@ -176,6 +176,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library and the extended math library before
@@ -318,6 +328,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R].
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "20." 4
\f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive).
Using this operand will change the value of \f[B]seed\f[R].
This is a \f[B]non-portable extension\f[R].
-.IP "18." 4
+.IP "21." 4
\f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and the value of \f[B]E\f[R] (exclusive).
If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s
@@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R].
In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is
\f[I]not\f[R] changed.
This is a \f[B]non-portable extension\f[R].
-.IP "19." 4
+.IP "22." 4
\f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R].
This is a \f[B]non-portable extension\f[R].
.PP
@@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not
meant to be used by users, but it can be.
.RE
.TP
+\f[B]plz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]plznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
+\f[B]pnlz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]pnlznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
\f[B]ubytes(x)\f[R]
Returns the numbers of unsigned integer bytes required to hold the
truncated absolute value of \f[B]x\f[R].
@@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/H.1.md b/manuals/bc/H.1.md
index 9a1cbbf5d518..99c88db93230 100644
--- a/manuals/bc/H.1.md
+++ b/manuals/bc/H.1.md
@@ -141,6 +141,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -248,6 +256,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -488,10 +507,18 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
-17. **rand()**: A pseudo-random integer between **0** (inclusive) and
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+20. **rand()**: A pseudo-random integer between **0** (inclusive) and
**BC_RAND_MAX** (inclusive). Using this operand will change the value of
**seed**. This is a **non-portable extension**.
-18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
+21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
value of **E** (exclusive). If **E** is negative or is a non-integer
(**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see
the **RESET** section) while **seed** remains unchanged. If **E** is larger
@@ -502,7 +529,7 @@ The following are valid operands in bc(1):
change the value of **seed**, unless the value of **E** is **0** or **1**.
In that case, **0** is returned, and **seed** is *not* changed. This is a
**non-portable extension**.
-19. **maxrand()**: The max integer returned by **rand()**. This is a
+22. **maxrand()**: The max integer returned by **rand()**. This is a
**non-portable extension**.
The integers generated by **rand()** and **irand(E)** are guaranteed to be as
@@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**.
This function is used to implement other bitwise functions; it is not meant
to be used by users, but it can be.
+**plz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**plznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
+**pnlz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**pnlznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
**ubytes(x)**
: Returns the numbers of unsigned integer bytes required to hold the truncated
@@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bc/HN.1 b/manuals/bc/HN.1
index 1ca11d9b4579..4773ff77efea 100644
--- a/manuals/bc/HN.1
+++ b/manuals/bc/HN.1
@@ -176,6 +176,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library and the extended math library before
@@ -318,6 +328,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R].
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "20." 4
\f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive).
Using this operand will change the value of \f[B]seed\f[R].
This is a \f[B]non-portable extension\f[R].
-.IP "18." 4
+.IP "21." 4
\f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and the value of \f[B]E\f[R] (exclusive).
If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s
@@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R].
In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is
\f[I]not\f[R] changed.
This is a \f[B]non-portable extension\f[R].
-.IP "19." 4
+.IP "22." 4
\f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R].
This is a \f[B]non-portable extension\f[R].
.PP
@@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not
meant to be used by users, but it can be.
.RE
.TP
+\f[B]plz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]plznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
+\f[B]pnlz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]pnlznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
\f[B]ubytes(x)\f[R]
Returns the numbers of unsigned integer bytes required to hold the
truncated absolute value of \f[B]x\f[R].
@@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/HN.1.md b/manuals/bc/HN.1.md
index d61d15122bd8..d5b3324514ad 100644
--- a/manuals/bc/HN.1.md
+++ b/manuals/bc/HN.1.md
@@ -141,6 +141,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -248,6 +256,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -488,10 +507,18 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
-17. **rand()**: A pseudo-random integer between **0** (inclusive) and
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+20. **rand()**: A pseudo-random integer between **0** (inclusive) and
**BC_RAND_MAX** (inclusive). Using this operand will change the value of
**seed**. This is a **non-portable extension**.
-18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
+21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
value of **E** (exclusive). If **E** is negative or is a non-integer
(**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see
the **RESET** section) while **seed** remains unchanged. If **E** is larger
@@ -502,7 +529,7 @@ The following are valid operands in bc(1):
change the value of **seed**, unless the value of **E** is **0** or **1**.
In that case, **0** is returned, and **seed** is *not* changed. This is a
**non-portable extension**.
-19. **maxrand()**: The max integer returned by **rand()**. This is a
+22. **maxrand()**: The max integer returned by **rand()**. This is a
**non-portable extension**.
The integers generated by **rand()** and **irand(E)** are guaranteed to be as
@@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**.
This function is used to implement other bitwise functions; it is not meant
to be used by users, but it can be.
+**plz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**plznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
+**pnlz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**pnlznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
**ubytes(x)**
: Returns the numbers of unsigned integer bytes required to hold the truncated
@@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bc/N.1 b/manuals/bc/N.1
index f5dc39a246c4..56fca3d02b4d 100644
--- a/manuals/bc/N.1
+++ b/manuals/bc/N.1
@@ -176,6 +176,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-l\f[R], \f[B]--mathlib\f[R]
Sets \f[B]scale\f[R] (see the \f[B]SYNTAX\f[R] section) to \f[B]20\f[R]
and loads the included math library and the extended math library before
@@ -318,6 +328,18 @@ continues normally.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -636,11 +658,28 @@ This is a \f[B]non-portable extension\f[R].
\f[B]maxscale()\f[R]: The max allowable \f[B]scale\f[R].
This is a \f[B]non-portable extension\f[R].
.IP "17." 4
+\f[B]line_length()\f[R]: The line length set with
+\f[B]BC_LINE_LENGTH\f[R] (see the \f[B]ENVIRONMENT VARIABLES\f[R]
+section).
+This is a \f[B]non-portable extension\f[R].
+.IP "18." 4
+\f[B]global_stacks()\f[R]: \f[B]0\f[R] if global stacks are not enabled
+with the \f[B]-g\f[R] or \f[B]--global-stacks\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "19." 4
+\f[B]leading_zero()\f[R]: \f[B]0\f[R] if leading zeroes are not enabled
+with the \f[B]-z\f[R] or \f[B]\[en]leading-zeroes\f[R] options, non-zero
+otherwise.
+See the \f[B]OPTIONS\f[R] section.
+This is a \f[B]non-portable extension\f[R].
+.IP "20." 4
\f[B]rand()\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and \f[B]BC_RAND_MAX\f[R] (inclusive).
Using this operand will change the value of \f[B]seed\f[R].
This is a \f[B]non-portable extension\f[R].
-.IP "18." 4
+.IP "21." 4
\f[B]irand(E)\f[R]: A pseudo-random integer between \f[B]0\f[R]
(inclusive) and the value of \f[B]E\f[R] (exclusive).
If \f[B]E\f[R] is negative or is a non-integer (\f[B]E\f[R]\[cq]s
@@ -658,7 +697,7 @@ value of \f[B]E\f[R] is \f[B]0\f[R] or \f[B]1\f[R].
In that case, \f[B]0\f[R] is returned, and \f[B]seed\f[R] is
\f[I]not\f[R] changed.
This is a \f[B]non-portable extension\f[R].
-.IP "19." 4
+.IP "22." 4
\f[B]maxrand()\f[R]: The max integer returned by \f[B]rand()\f[R].
This is a \f[B]non-portable extension\f[R].
.PP
@@ -1937,6 +1976,46 @@ This function is used to implement other bitwise functions; it is not
meant to be used by users, but it can be.
.RE
.TP
+\f[B]plz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]plznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed with a leading zero, regardless
+of the use of the \f[B]-z\f[R] option (see the \f[B]OPTIONS\f[R]
+section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
+\f[B]pnlz(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and without a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, without a trailing newline.
+.RE
+.TP
+\f[B]pnlznl(x)\f[R]
+If \f[B]x\f[R] is not equal to \f[B]0\f[R] and greater that \f[B]-1\f[R]
+and less than \f[B]1\f[R], it is printed without a leading zero,
+regardless of the use of the \f[B]-z\f[R] option (see the
+\f[B]OPTIONS\f[R] section) and with a trailing newline.
+.RS
+.PP
+Otherwise, \f[B]x\f[R] is printed normally, with a trailing newline.
+.RE
+.TP
\f[B]ubytes(x)\f[R]
Returns the numbers of unsigned integer bytes required to hold the
truncated absolute value of \f[B]x\f[R].
@@ -2407,6 +2486,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), bc(1) will output lines to that length,
including the backslash (\f[B]\[rs]\f[R]).
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]BC_BANNER\f[R]
If this environment variable exists and contains an integer, then a
diff --git a/manuals/bc/N.1.md b/manuals/bc/N.1.md
index 6867a05d2184..51dad376b56d 100644
--- a/manuals/bc/N.1.md
+++ b/manuals/bc/N.1.md
@@ -141,6 +141,14 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-l**, **-\-mathlib**
: Sets **scale** (see the **SYNTAX** section) to **20** and loads the included
@@ -248,6 +256,17 @@ The following are the options that bc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -488,10 +507,18 @@ The following are valid operands in bc(1):
extension**.
16. **maxscale()**: The max allowable **scale**. This is a **non-portable
extension**.
-17. **rand()**: A pseudo-random integer between **0** (inclusive) and
+17. **line_length()**: The line length set with **BC_LINE_LENGTH** (see the
+ **ENVIRONMENT VARIABLES** section). This is a **non-portable extension**.
+18. **global_stacks()**: **0** if global stacks are not enabled with the **-g**
+ or **-\-global-stacks** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+19. **leading_zero()**: **0** if leading zeroes are not enabled with the **-z**
+ or **--leading-zeroes** options, non-zero otherwise. See the **OPTIONS**
+ section. This is a **non-portable extension**.
+20. **rand()**: A pseudo-random integer between **0** (inclusive) and
**BC_RAND_MAX** (inclusive). Using this operand will change the value of
**seed**. This is a **non-portable extension**.
-18. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
+21. **irand(E)**: A pseudo-random integer between **0** (inclusive) and the
value of **E** (exclusive). If **E** is negative or is a non-integer
(**E**'s *scale* is not **0**), an error is raised, and bc(1) resets (see
the **RESET** section) while **seed** remains unchanged. If **E** is larger
@@ -502,7 +529,7 @@ The following are valid operands in bc(1):
change the value of **seed**, unless the value of **E** is **0** or **1**.
In that case, **0** is returned, and **seed** is *not* changed. This is a
**non-portable extension**.
-19. **maxrand()**: The max integer returned by **rand()**. This is a
+22. **maxrand()**: The max integer returned by **rand()**. This is a
**non-portable extension**.
The integers generated by **rand()** and **irand(E)** are guaranteed to be as
@@ -1597,6 +1624,38 @@ The extended library is a **non-portable extension**.
This function is used to implement other bitwise functions; it is not meant
to be used by users, but it can be.
+**plz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**plznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed with a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
+**pnlz(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and without a trailing newline.
+
+ Otherwise, **x** is printed normally, without a trailing newline.
+
+**pnlznl(x)**
+
+: If **x** is not equal to **0** and greater that **-1** and less than **1**,
+ it is printed without a leading zero, regardless of the use of the **-z**
+ option (see the **OPTIONS** section) and with a trailing newline.
+
+ Otherwise, **x** is printed normally, with a trailing newline.
+
**ubytes(x)**
: Returns the numbers of unsigned integer bytes required to hold the truncated
@@ -2012,6 +2071,9 @@ bc(1) recognizes the following environment variables:
lines to that length, including the backslash (**\\**). The default line
length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**BC_BANNER**
: If this environment variable exists and contains an integer, then a non-zero
diff --git a/manuals/bcl.3 b/manuals/bcl.3
index c079a20c40ba..9370417dcfef 100644
--- a/manuals/bcl.3
+++ b/manuals/bcl.3
@@ -55,6 +55,11 @@ These items allow clients to set up bcl(3).
.PP
\f[B]void bcl_setAbortOnFatalError(bool\f[R] \f[I]abrt\f[R]\f[B]);\f[R]
.PP
+\f[B]bool bcl_leadingZeroes(\f[R]\f[I]void\f[R]\f[B]);\f[R]
+.PP
+\f[B]void bcl_setLeadingZeroes(bool\f[R]
+\f[I]leadingZeroes\f[R]\f[B]);\f[R]
+.PP
\f[B]void bcl_gc(\f[R]\f[I]void\f[R]\f[B]);\f[R]
.SS Contexts
.PP
@@ -231,8 +236,9 @@ bcl(3) is async-signal-safe if
\f[B]bcl_handleSignal(\f[R]\f[I]void\f[R]\f[B])\f[R] is used properly.
(See the \f[B]SIGNAL HANDLING\f[R] section.)
.PP
-bcl(3) assumes that it is allowed to use the \f[B]bcl_\f[R] and
-\f[B]bc_\f[R] prefixes for symbol names without collision.
+bcl(3) assumes that it is allowed to use the \f[B]bcl\f[R],
+\f[B]Bcl\f[R], \f[B]bc\f[R], and \f[B]Bc\f[R] prefixes for symbol names
+without collision.
.PP
All of the items in its interface are described below.
See the documentation for each function for what each function can
@@ -304,6 +310,8 @@ a fatal error occurs.
.RS
.PP
If activated, clients do not need to check for fatal errors.
+.PP
+The default is \f[B]false\f[R].
.RE
.TP
\f[B]void bcl_setAbortOnFatalError(bool\f[R] \f[I]abrt\f[R]\f[B])\f[R]
@@ -317,6 +325,23 @@ If \f[I]abrt\f[R] is \f[B]true\f[R], bcl(3) will cause a
If activated, clients do not need to check for fatal errors.
.RE
.TP
+\f[B]bool bcl_leadingZeroes(\f[R]\f[I]void\f[R]\f[B])\f[R]
+Queries and returns the state of whether leading zeroes are added to
+strings returned by \f[B]bcl_string()\f[R] when numbers are greater than
+\f[B]-1\f[R], less than \f[B]1\f[R], and not equal to \f[B]0\f[R].
+If \f[B]true\f[R] is returned, then leading zeroes will be added.
+.RS
+.PP
+The default is \f[B]false\f[R].
+.RE
+.TP
+\f[B]void bcl_setLeadingZeroes(bool\f[R] \f[I]leadingZeroes\f[R]\f[B])\f[R]
+Sets the state of whether leading zeroes are added to strings returned
+by \f[B]bcl_string()\f[R] when numbers are greater than \f[B]-1\f[R],
+less than \f[B]1\f[R], and not equal to \f[B]0\f[R].
+If \f[I]leadingZeroes\f[R] is \f[B]true\f[R], leading zeroes will be
+added to strings returned by \f[B]bcl_string()\f[R].
+.TP
\f[B]void bcl_gc(\f[R]\f[I]void\f[R]\f[B])\f[R]
Garbage collects cached instances of arbitrary-precision numbers.
This only frees the memory of numbers that are \f[I]not\f[R] in use, so
diff --git a/manuals/bcl.3.md b/manuals/bcl.3.md
index daf5f461cc94..fa630fc79f1a 100644
--- a/manuals/bcl.3.md
+++ b/manuals/bcl.3.md
@@ -61,6 +61,10 @@ These items allow clients to set up bcl(3).
**void bcl_setAbortOnFatalError(bool** _abrt_**);**
+**bool bcl_leadingZeroes(**_void_**);**
+
+**void bcl_setLeadingZeroes(bool** _leadingZeroes_**);**
+
**void bcl_gc(**_void_**);**
## Contexts
@@ -216,8 +220,8 @@ bcl(3) is a library that implements arbitrary-precision decimal math, as
bcl(3) is async-signal-safe if **bcl_handleSignal(**_void_**)** is used
properly. (See the **SIGNAL HANDLING** section.)
-bcl(3) assumes that it is allowed to use the **bcl_** and **bc_** prefixes for
-symbol names without collision.
+bcl(3) assumes that it is allowed to use the **bcl**, **Bcl**, **bc**, and
+**Bc** prefixes for symbol names without collision.
All of the items in its interface are described below. See the documentation for
each function for what each function can return.
@@ -280,6 +284,8 @@ each function for what each function can return.
If activated, clients do not need to check for fatal errors.
+ The default is **false**.
+
**void bcl_setAbortOnFatalError(bool** _abrt_**)**
: Sets the state of calling **abort()** on fatal errors. If *abrt* is
@@ -289,6 +295,22 @@ each function for what each function can return.
If activated, clients do not need to check for fatal errors.
+**bool bcl_leadingZeroes(**_void_**)**
+
+: Queries and returns the state of whether leading zeroes are added to strings
+ returned by **bcl_string()** when numbers are greater than **-1**, less than
+ **1**, and not equal to **0**. If **true** is returned, then leading zeroes
+ will be added.
+
+ The default is **false**.
+
+**void bcl_setLeadingZeroes(bool** _leadingZeroes_**)**
+
+: Sets the state of whether leading zeroes are added to strings returned by
+ **bcl_string()** when numbers are greater than **-1**, less than **1**, and
+ not equal to **0**. If *leadingZeroes* is **true**, leading zeroes will be
+ added to strings returned by **bcl_string()**.
+
**void bcl_gc(**_void_**)**
: Garbage collects cached instances of arbitrary-precision numbers. This only
diff --git a/manuals/build.md b/manuals/build.md
index f8fc786329eb..13e969e8e673 100644
--- a/manuals/build.md
+++ b/manuals/build.md
@@ -46,7 +46,7 @@ However, if you wish to build it yourself, this `bc` can be built using Visual
Studio or MSBuild.
Unfortunately, only one build configuration (besides Debug or Release) is
-supported: extra math, and history enabled, NLS (locale support) disabled, with
+supported: extra math enabled, history and NLS (locale support) disabled, with
both calculators built. The default [settings][11] are `BC_BANNER=1`,
`{BC,DC}_SIGINT_RESET=0`, `{BC,DC}_TTY_MODE=1`, `{BC,DC}_PROMPT=1`.
diff --git a/manuals/dc/A.1 b/manuals/dc/A.1
index f1151a812509..a7ff2e3a6963 100644
--- a/manuals/dc/A.1
+++ b/manuals/dc/A.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/A.1.md b/manuals/dc/A.1.md
index 3a09d4375395..0007cc76760a 100644
--- a/manuals/dc/A.1.md
+++ b/manuals/dc/A.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -942,6 +961,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),
diff --git a/manuals/dc/E.1 b/manuals/dc/E.1
index 9f8859b8f6b0..8760477a03ff 100644
--- a/manuals/dc/E.1
+++ b/manuals/dc/E.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/E.1.md b/manuals/dc/E.1.md
index 9e14d20f76b2..6a2c465e5642 100644
--- a/manuals/dc/E.1.md
+++ b/manuals/dc/E.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -782,6 +801,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),
diff --git a/manuals/dc/EH.1 b/manuals/dc/EH.1
index 050074bca762..4506001dfe55 100644
--- a/manuals/dc/EH.1
+++ b/manuals/dc/EH.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/EH.1.md b/manuals/dc/EH.1.md
index 1175c57ee85d..06ec59d4b3f7 100644
--- a/manuals/dc/EH.1.md
+++ b/manuals/dc/EH.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -782,6 +801,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),
diff --git a/manuals/dc/EHN.1 b/manuals/dc/EHN.1
index b552b611c3d7..1124d907bdd9 100644
--- a/manuals/dc/EHN.1
+++ b/manuals/dc/EHN.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/EHN.1.md b/manuals/dc/EHN.1.md
index b6aedde3e0d8..50cb37ef2586 100644
--- a/manuals/dc/EHN.1.md
+++ b/manuals/dc/EHN.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -782,6 +801,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),
diff --git a/manuals/dc/EN.1 b/manuals/dc/EN.1
index d1de8e208f32..beae0e46a9b6 100644
--- a/manuals/dc/EN.1
+++ b/manuals/dc/EN.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -872,6 +894,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1044,6 +1083,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/EN.1.md b/manuals/dc/EN.1.md
index 22983732721b..db6f27f34576 100644
--- a/manuals/dc/EN.1.md
+++ b/manuals/dc/EN.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -782,6 +801,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -943,6 +980,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),
diff --git a/manuals/dc/H.1 b/manuals/dc/H.1
index ba30beb54d95..b4ab9f511080 100644
--- a/manuals/dc/H.1
+++ b/manuals/dc/H.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/H.1.md b/manuals/dc/H.1.md
index 0fee947ec5c3..647d486adc38 100644
--- a/manuals/dc/H.1.md
+++ b/manuals/dc/H.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -942,6 +961,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),
diff --git a/manuals/dc/HN.1 b/manuals/dc/HN.1
index e7a76f01dc4a..eb35cb23ff7b 100644
--- a/manuals/dc/HN.1
+++ b/manuals/dc/HN.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/HN.1.md b/manuals/dc/HN.1.md
index caffefacce7d..70c962624833 100644
--- a/manuals/dc/HN.1.md
+++ b/manuals/dc/HN.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -942,6 +961,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),
diff --git a/manuals/dc/N.1 b/manuals/dc/N.1
index 30cfcadc7a07..c5cc36ac9b10 100644
--- a/manuals/dc/N.1
+++ b/manuals/dc/N.1
@@ -73,6 +73,16 @@ Forces interactive mode.
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-L\f[R], \f[B]--no-line-length\f[R]
+Disables line length checking and prints numbers without backslashes and
+newlines.
+In other words, this option sets \f[B]BC_LINE_LENGTH\f[R] to \f[B]0\f[R]
+(see the \f[B]ENVIRONMENT VARIABLES\f[R] section).
+.RS
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-P\f[R], \f[B]--no-prompt\f[R]
Disables the prompt in TTY mode.
(The prompt is only enabled in TTY mode.
@@ -118,6 +128,18 @@ See the \f[I]Extended Register Mode\f[R] subsection of the
This is a \f[B]non-portable extension\f[R].
.RE
.TP
+\f[B]-z\f[R], \f[B]--leading-zeroes\f[R]
+Makes bc(1) print all numbers greater than \f[B]-1\f[R] and less than
+\f[B]1\f[R], and not equal to \f[B]0\f[R], with a leading zero.
+.RS
+.PP
+This can be set for individual numbers with the \f[B]plz(x)\f[R],
+plznl(x)**, \f[B]pnlz(x)\f[R], and \f[B]pnlznl(x)\f[R] functions in the
+extended math library (see the \f[B]LIBRARY\f[R] section).
+.PP
+This is a \f[B]non-portable extension\f[R].
+.RE
+.TP
\f[B]-e\f[R] \f[I]expr\f[R], \f[B]--expression\f[R]=\f[I]expr\f[R]
Evaluates \f[I]expr\f[R].
If multiple expressions are given, they are evaluated in order.
@@ -1072,6 +1094,23 @@ Pushes the length of the array \f[I]r\f[R] onto the stack.
.PP
This is a \f[B]non-portable extension\f[R].
.RE
+.SS Global Settings
+.PP
+These commands retrieve global settings.
+These are the only commands that require multiple specific characters,
+and all of them begin with the letter \f[B]g\f[R].
+Only the characters below are allowed after the character \f[B]g\f[R];
+any other character produces a parse error (see the \f[B]ERRORS\f[R]
+section).
+.TP
+\f[B]gl\f[R]
+Pushes the line length set by \f[B]DC_LINE_LENGTH\f[R] (see the
+\f[B]ENVIRONMENT VARIABLES\f[R] section) onto the stack.
+.TP
+\f[B]gz\f[R]
+Pushes \f[B]0\f[R] onto the stack if the leading zero setting has not
+been enabled with the \f[B]-z\f[R] or \f[B]--leading-zeroes\f[R] options
+(see the \f[B]OPTIONS\f[R] section), non-zero otherwise.
.SH REGISTERS
.PP
Registers are names that can store strings, numbers, and arrays.
@@ -1249,6 +1288,12 @@ greater than \f[B]1\f[R] and is less than \f[B]UINT16_MAX\f[R]
(\f[B]2\[ha]16-1\f[R]), dc(1) will output lines to that length,
including the backslash newline combo.
The default line length is \f[B]70\f[R].
+.RS
+.PP
+The special value of \f[B]0\f[R] will disable line length checking and
+print numbers without regard to line length and without backslashes and
+newlines.
+.RE
.TP
\f[B]DC_SIGINT_RESET\f[R]
If dc(1) is not in interactive mode (see the \f[B]INTERACTIVE MODE\f[R]
diff --git a/manuals/dc/N.1.md b/manuals/dc/N.1.md
index 078554a4fc58..fea23028e483 100644
--- a/manuals/dc/N.1.md
+++ b/manuals/dc/N.1.md
@@ -69,6 +69,14 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-L**, **-\-no-line-length**
+
+: Disables line length checking and prints numbers without backslashes and
+ newlines. In other words, this option sets **BC_LINE_LENGTH** to **0** (see
+ the **ENVIRONMENT VARIABLES** section).
+
+ This is a **non-portable extension**.
+
**-P**, **-\-no-prompt**
: Disables the prompt in TTY mode. (The prompt is only enabled in TTY mode.
@@ -106,6 +114,17 @@ The following are the options that dc(1) accepts.
This is a **non-portable extension**.
+**-z**, **-\-leading-zeroes**
+
+: Makes bc(1) print all numbers greater than **-1** and less than **1**, and
+ not equal to **0**, with a leading zero.
+
+ This can be set for individual numbers with the **plz(x)**, plznl(x)**,
+ **pnlz(x)**, and **pnlznl(x)** functions in the extended math library (see
+ the **LIBRARY** section).
+
+ This is a **non-portable extension**.
+
**-e** *expr*, **-\-expression**=*expr*
: Evaluates *expr*. If multiple expressions are given, they are evaluated in
@@ -942,6 +961,24 @@ These commands manipulate arrays.
This is a **non-portable extension**.
+## Global Settings
+
+These commands retrieve global settings. These are the only commands that
+require multiple specific characters, and all of them begin with the letter
+**g**. Only the characters below are allowed after the character **g**; any
+other character produces a parse error (see the **ERRORS** section).
+
+**gl**
+
+: Pushes the line length set by **DC_LINE_LENGTH** (see the **ENVIRONMENT
+ VARIABLES** section) onto the stack.
+
+**gz**
+
+: Pushes **0** onto the stack if the leading zero setting has not been enabled
+ with the **-z** or **-\-leading-zeroes** options (see the **OPTIONS**
+ section), non-zero otherwise.
+
# REGISTERS
Registers are names that can store strings, numbers, and arrays. (Number/string
@@ -1108,6 +1145,9 @@ dc(1) recognizes the following environment variables:
lines to that length, including the backslash newline combo. The default
line length is **70**.
+ The special value of **0** will disable line length checking and print
+ numbers without regard to line length and without backslashes and newlines.
+
**DC_SIGINT_RESET**
: If dc(1) is not in interactive mode (see the **INTERACTIVE MODE** section),