svn commit: r363807 - in vendor/bc/dist: . include manuals manuals/bc manuals/dc src src/bc src/dc tests/bc

Stefan Eßer se at FreeBSD.org
Mon Aug 3 18:55:45 UTC 2020


Author: se
Date: Mon Aug  3 18:55:39 2020
New Revision: 363807
URL: https://svnweb.freebsd.org/changeset/base/363807

Log:
  Import version 3.1.4
  
  This version makes dc exit after processing all commands passed via -e or -f
  instead of waiting for more input on STDIN (add "-f -" to the command line
  to emulate the behavior of versionm 3.1.3 and earlier, if desired).
  
  The version and copyright message are no longer printed for interactive
  sessions as was the case with the prior implementation in the FreeBSD base
  system.
  
  Obtained from:	https://git.yzena.com/gavin/bc

Added:
  vendor/bc/dist/tests/bc/misc6.txt   (contents, props changed)
  vendor/bc/dist/tests/bc/misc6_results.txt   (contents, props changed)
  vendor/bc/dist/tests/bc/misc7.txt   (contents, props changed)
  vendor/bc/dist/tests/bc/misc7_results.txt   (contents, props changed)
  vendor/bc/dist/tests/bc/stdin1.txt   (contents, props changed)
  vendor/bc/dist/tests/bc/stdin1_results.txt   (contents, props changed)
  vendor/bc/dist/tests/bc/stdin2.txt   (contents, props changed)
  vendor/bc/dist/tests/bc/stdin2_results.txt   (contents, props changed)
Modified:
  vendor/bc/dist/Makefile.in
  vendor/bc/dist/NEWS.md
  vendor/bc/dist/README.md
  vendor/bc/dist/include/bc.h
  vendor/bc/dist/include/vm.h
  vendor/bc/dist/manuals/bc.1.md.in
  vendor/bc/dist/manuals/bc/A.1
  vendor/bc/dist/manuals/bc/A.1.md
  vendor/bc/dist/manuals/bc/E.1
  vendor/bc/dist/manuals/bc/E.1.md
  vendor/bc/dist/manuals/bc/EH.1
  vendor/bc/dist/manuals/bc/EH.1.md
  vendor/bc/dist/manuals/bc/EHN.1
  vendor/bc/dist/manuals/bc/EHN.1.md
  vendor/bc/dist/manuals/bc/EHNP.1
  vendor/bc/dist/manuals/bc/EHNP.1.md
  vendor/bc/dist/manuals/bc/EHP.1
  vendor/bc/dist/manuals/bc/EHP.1.md
  vendor/bc/dist/manuals/bc/EN.1
  vendor/bc/dist/manuals/bc/EN.1.md
  vendor/bc/dist/manuals/bc/ENP.1
  vendor/bc/dist/manuals/bc/ENP.1.md
  vendor/bc/dist/manuals/bc/EP.1
  vendor/bc/dist/manuals/bc/EP.1.md
  vendor/bc/dist/manuals/bc/H.1
  vendor/bc/dist/manuals/bc/H.1.md
  vendor/bc/dist/manuals/bc/HN.1
  vendor/bc/dist/manuals/bc/HN.1.md
  vendor/bc/dist/manuals/bc/HNP.1
  vendor/bc/dist/manuals/bc/HNP.1.md
  vendor/bc/dist/manuals/bc/HP.1
  vendor/bc/dist/manuals/bc/HP.1.md
  vendor/bc/dist/manuals/bc/N.1
  vendor/bc/dist/manuals/bc/N.1.md
  vendor/bc/dist/manuals/bc/NP.1
  vendor/bc/dist/manuals/bc/NP.1.md
  vendor/bc/dist/manuals/bc/P.1
  vendor/bc/dist/manuals/bc/P.1.md
  vendor/bc/dist/manuals/dc.1.md.in
  vendor/bc/dist/manuals/dc/A.1
  vendor/bc/dist/manuals/dc/A.1.md
  vendor/bc/dist/manuals/dc/E.1
  vendor/bc/dist/manuals/dc/E.1.md
  vendor/bc/dist/manuals/dc/EH.1
  vendor/bc/dist/manuals/dc/EH.1.md
  vendor/bc/dist/manuals/dc/EHN.1
  vendor/bc/dist/manuals/dc/EHN.1.md
  vendor/bc/dist/manuals/dc/EHNP.1
  vendor/bc/dist/manuals/dc/EHNP.1.md
  vendor/bc/dist/manuals/dc/EHP.1
  vendor/bc/dist/manuals/dc/EHP.1.md
  vendor/bc/dist/manuals/dc/EN.1
  vendor/bc/dist/manuals/dc/EN.1.md
  vendor/bc/dist/manuals/dc/ENP.1
  vendor/bc/dist/manuals/dc/ENP.1.md
  vendor/bc/dist/manuals/dc/EP.1
  vendor/bc/dist/manuals/dc/EP.1.md
  vendor/bc/dist/manuals/dc/H.1
  vendor/bc/dist/manuals/dc/H.1.md
  vendor/bc/dist/manuals/dc/HN.1
  vendor/bc/dist/manuals/dc/HN.1.md
  vendor/bc/dist/manuals/dc/HNP.1
  vendor/bc/dist/manuals/dc/HNP.1.md
  vendor/bc/dist/manuals/dc/HP.1
  vendor/bc/dist/manuals/dc/HP.1.md
  vendor/bc/dist/manuals/dc/N.1
  vendor/bc/dist/manuals/dc/N.1.md
  vendor/bc/dist/manuals/dc/NP.1
  vendor/bc/dist/manuals/dc/NP.1.md
  vendor/bc/dist/manuals/dc/P.1
  vendor/bc/dist/manuals/dc/P.1.md
  vendor/bc/dist/src/args.c
  vendor/bc/dist/src/bc/bc.c
  vendor/bc/dist/src/bc/parse.c
  vendor/bc/dist/src/dc/dc.c
  vendor/bc/dist/src/vm.c
  vendor/bc/dist/tests/bc/all.txt

Modified: vendor/bc/dist/Makefile.in
==============================================================================
--- vendor/bc/dist/Makefile.in	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/Makefile.in	Mon Aug  3 18:55:39 2020	(r363807)
@@ -29,7 +29,7 @@
 #
 .POSIX:
 
-VERSION = 3.1.3
+VERSION = 3.1.4
 
 SRC = %%SRC%%
 OBJ = %%OBJ%%

Modified: vendor/bc/dist/NEWS.md
==============================================================================
--- vendor/bc/dist/NEWS.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/NEWS.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -1,5 +1,24 @@
 # News
 
+## 3.1.4
+
+This is a production release that fixes one bug, changes two behaviors, and
+removes one environment variable.
+
+The bug is like the one in the last release except it applies if files are being
+executed. I also made the fix more general.
+
+The behavior that was changed is that `bc` now exits when given `-e`, `-f`,
+`--expression` or `--file`. However, if the last one of those is `-f-` (using
+`stdin` as the file), `bc` does not exit. If `-f-` exists and is not the last of
+the `-e` and `-f` options (and equivalents), `bc` gives a fatal error and exits.
+
+Next, I removed the `BC_EXPR_EXIT` and `DC_EXPR_EXIT` environment variables
+since their use is not needed with the behavior change.
+
+Finally, I made it so `bc` does not print the header, though the `-q` and
+`--quiet` options were kept for compatibility with GNU `bc`.
+
 ## 3.1.3
 
 This is a production release that fixes one minor bug: if `bc` was invoked like

Modified: vendor/bc/dist/README.md
==============================================================================
--- vendor/bc/dist/README.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/README.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -262,8 +262,8 @@ Other projects based on this bc are:
   toybox `bc` should be reported there.
 
 * [FreeBSD `bc`][23]. While the `bc` in FreeBSD is kept up-to-date, it is better
-  to report bugs there, and the maintainers of the package will contact me if
-  necessary.
+  to [report bugs there][24], as well as [submit patches][25], and the
+  maintainers of the package will contact me if necessary.
 
 ## Language
 
@@ -332,4 +332,6 @@ Folders:
 [20]: https://git.yzena.com/gavin/bc
 [21]: https://gavinhoward.com/2020/04/i-am-moving-away-from-github/
 [22]: https://www.deepl.com/translator
-[23]: https://github.com/freebsd/freebsd/tree/master/contrib/bc
+[23]: https://svnweb.freebsd.org/base/head/contrib/bc/
+[24]: https://bugs.freebsd.org/
+[25]: https://reviews.freebsd.org/

Modified: vendor/bc/dist/include/bc.h
==============================================================================
--- vendor/bc/dist/include/bc.h	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/include/bc.h	Mon Aug  3 18:55:39 2020	(r363807)
@@ -159,9 +159,6 @@ void bc_parse_expr(BcParse *p, uint8_t flags);
 void bc_parse_parse(BcParse *p);
 void bc_parse_expr_status(BcParse *p, uint8_t flags, BcParseNext next);
 
-// This is necessary to clear up for if statements at the end of files.
-void bc_parse_noElse(BcParse *p);
-
 extern const char bc_sig_msg[];
 extern const uchar bc_sig_msg_len;
 

Modified: vendor/bc/dist/include/vm.h
==============================================================================
--- vendor/bc/dist/include/vm.h	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/include/vm.h	Mon Aug  3 18:55:39 2020	(r363807)
@@ -102,11 +102,10 @@
 #define BC_FLAG_G (UINTMAX_C(1)<<4)
 #endif // BC_ENABLED
 
-#define BC_FLAG_Q (UINTMAX_C(1)<<5)
-#define BC_FLAG_I (UINTMAX_C(1)<<6)
-#define BC_FLAG_P (UINTMAX_C(1)<<7)
-#define BC_FLAG_TTYIN (UINTMAX_C(1)<<8)
-#define BC_FLAG_TTY (UINTMAX_C(1)<<9)
+#define BC_FLAG_I (UINTMAX_C(1)<<5)
+#define BC_FLAG_P (UINTMAX_C(1)<<6)
+#define BC_FLAG_TTYIN (UINTMAX_C(1)<<7)
+#define BC_FLAG_TTY (UINTMAX_C(1)<<8)
 #define BC_TTYIN (vm.flags & BC_FLAG_TTYIN)
 #define BC_TTY (vm.flags & BC_FLAG_TTY)
 
@@ -279,12 +278,6 @@
 
 #define BC_VM_INVALID_CATALOG ((nl_catd) -1)
 
-// dc does not use is_stdin.
-#if !BC_ENABLED
-#define bc_vm_process(text, is_stdin) bc_vm_process(text)
-#else // BC_ENABLED
-#endif // BC_ENABLED
-
 typedef struct BcVm {
 
 	volatile sig_atomic_t status;
@@ -310,6 +303,7 @@ typedef struct BcVm {
 	uint16_t nchars;
 	uint16_t line_len;
 
+	bool no_exit_exprs;
 	bool eof;
 
 	BcBigDig maxes[BC_PROG_GLOBALS_LEN + BC_ENABLE_EXTRA_MATH];
@@ -360,7 +354,7 @@ typedef struct BcVm {
 
 void bc_vm_info(const char* const help);
 void bc_vm_boot(int argc, char *argv[], const char *env_len,
-                const char* const env_args, const char* env_exp_quit);
+                const char* const env_args);
 void bc_vm_shutdown(void);
 
 void bc_vm_printf(const char *fmt, ...);

Modified: vendor/bc/dist/manuals/bc.1.md.in
==============================================================================
--- vendor/bc/dist/manuals/bc.1.md.in	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc.1.md.in	Mon Aug  3 18:55:39 2020	(r363807)
@@ -195,11 +195,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 
-    This is mostly for compatibility with the [GNU bc(1)][2].
-
     This is a **non-portable extension**.
 
 **-s**, **--standard**
@@ -229,9 +229,10 @@ The following are the options that bc(1) accepts.
     evaluated in the order given. This means that if a file is given before an
     expression, the file is read in and evaluated first.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the expressions and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
+    However, if any other **-e**, **--expression**, **-f**, or **--file**
+    arguments are given after that, bc(1) will give a fatal error and exit.
 
     This is a **non-portable extension**.
 
@@ -241,9 +242,8 @@ The following are the options that bc(1) accepts.
     through **stdin**. If expressions are also given (see above), the
     expressions are evaluated in the order given.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the files and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
 
     This is a **non-portable extension**.
 
@@ -1614,12 +1614,6 @@ bc(1) recognizes the following environment variables:
     than **1** and is less than **UINT16_MAX** (**2\^16-1**), bc(1) will output
     lines to that length, including the backslash (**\\**). The default line
     length is **70**.
-
-**BC_EXPR_EXIT**
-
-:   If this variable exists (no matter the contents), bc(1) will exit
-    immediately after executing expressions and files given by the **-e** and/or
-    **-f** command-line options (and any equivalents).
 
 # EXIT STATUS
 

Modified: vendor/bc/dist/manuals/bc/A.1
==============================================================================
--- vendor/bc/dist/manuals/bc/A.1	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/A.1	Mon Aug  3 18:55:39 2020	(r363807)
@@ -187,13 +187,13 @@ This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
 .B \f[B]\-q\f[], \f[B]\-\-quiet\f[]
-Do not print copyright header.
-bc(1) will also suppress the header in non\-interactive mode.
+This option is for compatibility with the GNU
+bc(1) (https://www.gnu.org/software/bc/); it is a no\-op.
+Without this option, GNU bc(1) prints a copyright header.
+This bc(1) only prints the copyright header if one or more of the
+\f[B]\-v\f[], \f[B]\-V\f[], or \f[B]\-\-version\f[] options are given.
 .RS
 .PP
-This is mostly for compatibility with the GNU
-bc(1) (https://www.gnu.org/software/bc/).
-.PP
 This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
@@ -231,10 +231,12 @@ This means that if a file is given before an expressio
 read in and evaluated first.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the expressions and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
+However, if any other \f[B]\-e\f[], \f[B]\-\-expression\f[],
+\f[B]\-f\f[], or \f[B]\-\-file\f[] arguments are given after that, bc(1)
+will give a fatal error and exit.
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -246,10 +248,9 @@ If expressions are also given (see above), the express
 in the order given.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the files and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -1913,14 +1914,6 @@ greater than \f[B]1\f[] and is less than \f[B]UINT16_M
 (\f[B]2^16\-1\f[]), bc(1) will output lines to that length, including
 the backslash (\f[B]\\\f[]).
 The default line length is \f[B]70\f[].
-.RS
-.RE
-.TP
-.B \f[B]BC_EXPR_EXIT\f[]
-If this variable exists (no matter the contents), bc(1) will exit
-immediately after executing expressions and files given by the
-\f[B]\-e\f[] and/or \f[B]\-f\f[] command\-line options (and any
-equivalents).
 .RS
 .RE
 .SH EXIT STATUS

Modified: vendor/bc/dist/manuals/bc/A.1.md
==============================================================================
--- vendor/bc/dist/manuals/bc/A.1.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/A.1.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -153,11 +153,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 
-    This is mostly for compatibility with the [GNU bc(1)][2].
-
     This is a **non-portable extension**.
 
 **-s**, **--standard**
@@ -187,9 +187,10 @@ The following are the options that bc(1) accepts.
     evaluated in the order given. This means that if a file is given before an
     expression, the file is read in and evaluated first.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the expressions and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
+    However, if any other **-e**, **--expression**, **-f**, or **--file**
+    arguments are given after that, bc(1) will give a fatal error and exit.
 
     This is a **non-portable extension**.
 
@@ -199,9 +200,8 @@ The following are the options that bc(1) accepts.
     through **stdin**. If expressions are also given (see above), the
     expressions are evaluated in the order given.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the files and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
 
     This is a **non-portable extension**.
 
@@ -1523,12 +1523,6 @@ bc(1) recognizes the following environment variables:
     than **1** and is less than **UINT16_MAX** (**2\^16-1**), bc(1) will output
     lines to that length, including the backslash (**\\**). The default line
     length is **70**.
-
-**BC_EXPR_EXIT**
-
-:   If this variable exists (no matter the contents), bc(1) will exit
-    immediately after executing expressions and files given by the **-e** and/or
-    **-f** command-line options (and any equivalents).
 
 # EXIT STATUS
 

Modified: vendor/bc/dist/manuals/bc/E.1
==============================================================================
--- vendor/bc/dist/manuals/bc/E.1	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/E.1	Mon Aug  3 18:55:39 2020	(r363807)
@@ -148,13 +148,13 @@ This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
 .B \f[B]\-q\f[], \f[B]\-\-quiet\f[]
-Do not print copyright header.
-bc(1) will also suppress the header in non\-interactive mode.
+This option is for compatibility with the GNU
+bc(1) (https://www.gnu.org/software/bc/); it is a no\-op.
+Without this option, GNU bc(1) prints a copyright header.
+This bc(1) only prints the copyright header if one or more of the
+\f[B]\-v\f[], \f[B]\-V\f[], or \f[B]\-\-version\f[] options are given.
 .RS
 .PP
-This is mostly for compatibility with the GNU
-bc(1) (https://www.gnu.org/software/bc/).
-.PP
 This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
@@ -192,10 +192,12 @@ This means that if a file is given before an expressio
 read in and evaluated first.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the expressions and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
+However, if any other \f[B]\-e\f[], \f[B]\-\-expression\f[],
+\f[B]\-f\f[], or \f[B]\-\-file\f[] arguments are given after that, bc(1)
+will give a fatal error and exit.
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -207,10 +209,9 @@ If expressions are also given (see above), the express
 in the order given.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the files and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -1159,14 +1160,6 @@ greater than \f[B]1\f[] and is less than \f[B]UINT16_M
 (\f[B]2^16\-1\f[]), bc(1) will output lines to that length, including
 the backslash (\f[B]\\\f[]).
 The default line length is \f[B]70\f[].
-.RS
-.RE
-.TP
-.B \f[B]BC_EXPR_EXIT\f[]
-If this variable exists (no matter the contents), bc(1) will exit
-immediately after executing expressions and files given by the
-\f[B]\-e\f[] and/or \f[B]\-f\f[] command\-line options (and any
-equivalents).
 .RS
 .RE
 .SH EXIT STATUS

Modified: vendor/bc/dist/manuals/bc/E.1.md
==============================================================================
--- vendor/bc/dist/manuals/bc/E.1.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/E.1.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -137,11 +137,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 
-    This is mostly for compatibility with the [GNU bc(1)][2].
-
     This is a **non-portable extension**.
 
 **-s**, **--standard**
@@ -171,9 +171,10 @@ The following are the options that bc(1) accepts.
     evaluated in the order given. This means that if a file is given before an
     expression, the file is read in and evaluated first.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the expressions and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
+    However, if any other **-e**, **--expression**, **-f**, or **--file**
+    arguments are given after that, bc(1) will give a fatal error and exit.
 
     This is a **non-portable extension**.
 
@@ -183,9 +184,8 @@ The following are the options that bc(1) accepts.
     through **stdin**. If expressions are also given (see above), the
     expressions are evaluated in the order given.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the files and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
 
     This is a **non-portable extension**.
 
@@ -919,12 +919,6 @@ bc(1) recognizes the following environment variables:
     than **1** and is less than **UINT16_MAX** (**2\^16-1**), bc(1) will output
     lines to that length, including the backslash (**\\**). The default line
     length is **70**.
-
-**BC_EXPR_EXIT**
-
-:   If this variable exists (no matter the contents), bc(1) will exit
-    immediately after executing expressions and files given by the **-e** and/or
-    **-f** command-line options (and any equivalents).
 
 # EXIT STATUS
 

Modified: vendor/bc/dist/manuals/bc/EH.1
==============================================================================
--- vendor/bc/dist/manuals/bc/EH.1	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EH.1	Mon Aug  3 18:55:39 2020	(r363807)
@@ -145,13 +145,13 @@ This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
 .B \f[B]\-q\f[], \f[B]\-\-quiet\f[]
-Do not print copyright header.
-bc(1) will also suppress the header in non\-interactive mode.
+This option is for compatibility with the GNU
+bc(1) (https://www.gnu.org/software/bc/); it is a no\-op.
+Without this option, GNU bc(1) prints a copyright header.
+This bc(1) only prints the copyright header if one or more of the
+\f[B]\-v\f[], \f[B]\-V\f[], or \f[B]\-\-version\f[] options are given.
 .RS
 .PP
-This is mostly for compatibility with the GNU
-bc(1) (https://www.gnu.org/software/bc/).
-.PP
 This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
@@ -189,10 +189,12 @@ This means that if a file is given before an expressio
 read in and evaluated first.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the expressions and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
+However, if any other \f[B]\-e\f[], \f[B]\-\-expression\f[],
+\f[B]\-f\f[], or \f[B]\-\-file\f[] arguments are given after that, bc(1)
+will give a fatal error and exit.
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -204,10 +206,9 @@ If expressions are also given (see above), the express
 in the order given.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the files and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -1156,14 +1157,6 @@ greater than \f[B]1\f[] and is less than \f[B]UINT16_M
 (\f[B]2^16\-1\f[]), bc(1) will output lines to that length, including
 the backslash (\f[B]\\\f[]).
 The default line length is \f[B]70\f[].
-.RS
-.RE
-.TP
-.B \f[B]BC_EXPR_EXIT\f[]
-If this variable exists (no matter the contents), bc(1) will exit
-immediately after executing expressions and files given by the
-\f[B]\-e\f[] and/or \f[B]\-f\f[] command\-line options (and any
-equivalents).
 .RS
 .RE
 .SH EXIT STATUS

Modified: vendor/bc/dist/manuals/bc/EH.1.md
==============================================================================
--- vendor/bc/dist/manuals/bc/EH.1.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EH.1.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -134,11 +134,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 
-    This is mostly for compatibility with the [GNU bc(1)][2].
-
     This is a **non-portable extension**.
 
 **-s**, **--standard**
@@ -168,9 +168,10 @@ The following are the options that bc(1) accepts.
     evaluated in the order given. This means that if a file is given before an
     expression, the file is read in and evaluated first.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the expressions and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
+    However, if any other **-e**, **--expression**, **-f**, or **--file**
+    arguments are given after that, bc(1) will give a fatal error and exit.
 
     This is a **non-portable extension**.
 
@@ -180,9 +181,8 @@ The following are the options that bc(1) accepts.
     through **stdin**. If expressions are also given (see above), the
     expressions are evaluated in the order given.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the files and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
 
     This is a **non-portable extension**.
 
@@ -916,12 +916,6 @@ bc(1) recognizes the following environment variables:
     than **1** and is less than **UINT16_MAX** (**2\^16-1**), bc(1) will output
     lines to that length, including the backslash (**\\**). The default line
     length is **70**.
-
-**BC_EXPR_EXIT**
-
-:   If this variable exists (no matter the contents), bc(1) will exit
-    immediately after executing expressions and files given by the **-e** and/or
-    **-f** command-line options (and any equivalents).
 
 # EXIT STATUS
 

Modified: vendor/bc/dist/manuals/bc/EHN.1
==============================================================================
--- vendor/bc/dist/manuals/bc/EHN.1	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EHN.1	Mon Aug  3 18:55:39 2020	(r363807)
@@ -145,13 +145,13 @@ This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
 .B \f[B]\-q\f[], \f[B]\-\-quiet\f[]
-Do not print copyright header.
-bc(1) will also suppress the header in non\-interactive mode.
+This option is for compatibility with the GNU
+bc(1) (https://www.gnu.org/software/bc/); it is a no\-op.
+Without this option, GNU bc(1) prints a copyright header.
+This bc(1) only prints the copyright header if one or more of the
+\f[B]\-v\f[], \f[B]\-V\f[], or \f[B]\-\-version\f[] options are given.
 .RS
 .PP
-This is mostly for compatibility with the GNU
-bc(1) (https://www.gnu.org/software/bc/).
-.PP
 This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
@@ -189,10 +189,12 @@ This means that if a file is given before an expressio
 read in and evaluated first.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the expressions and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
+However, if any other \f[B]\-e\f[], \f[B]\-\-expression\f[],
+\f[B]\-f\f[], or \f[B]\-\-file\f[] arguments are given after that, bc(1)
+will give a fatal error and exit.
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -204,10 +206,9 @@ If expressions are also given (see above), the express
 in the order given.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the files and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -1156,14 +1157,6 @@ greater than \f[B]1\f[] and is less than \f[B]UINT16_M
 (\f[B]2^16\-1\f[]), bc(1) will output lines to that length, including
 the backslash (\f[B]\\\f[]).
 The default line length is \f[B]70\f[].
-.RS
-.RE
-.TP
-.B \f[B]BC_EXPR_EXIT\f[]
-If this variable exists (no matter the contents), bc(1) will exit
-immediately after executing expressions and files given by the
-\f[B]\-e\f[] and/or \f[B]\-f\f[] command\-line options (and any
-equivalents).
 .RS
 .RE
 .SH EXIT STATUS

Modified: vendor/bc/dist/manuals/bc/EHN.1.md
==============================================================================
--- vendor/bc/dist/manuals/bc/EHN.1.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EHN.1.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -134,11 +134,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 
-    This is mostly for compatibility with the [GNU bc(1)][2].
-
     This is a **non-portable extension**.
 
 **-s**, **--standard**
@@ -168,9 +168,10 @@ The following are the options that bc(1) accepts.
     evaluated in the order given. This means that if a file is given before an
     expression, the file is read in and evaluated first.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the expressions and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
+    However, if any other **-e**, **--expression**, **-f**, or **--file**
+    arguments are given after that, bc(1) will give a fatal error and exit.
 
     This is a **non-portable extension**.
 
@@ -180,9 +181,8 @@ The following are the options that bc(1) accepts.
     through **stdin**. If expressions are also given (see above), the
     expressions are evaluated in the order given.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the files and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
 
     This is a **non-portable extension**.
 
@@ -916,12 +916,6 @@ bc(1) recognizes the following environment variables:
     than **1** and is less than **UINT16_MAX** (**2\^16-1**), bc(1) will output
     lines to that length, including the backslash (**\\**). The default line
     length is **70**.
-
-**BC_EXPR_EXIT**
-
-:   If this variable exists (no matter the contents), bc(1) will exit
-    immediately after executing expressions and files given by the **-e** and/or
-    **-f** command-line options (and any equivalents).
 
 # EXIT STATUS
 

Modified: vendor/bc/dist/manuals/bc/EHNP.1
==============================================================================
--- vendor/bc/dist/manuals/bc/EHNP.1	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EHNP.1	Mon Aug  3 18:55:39 2020	(r363807)
@@ -140,13 +140,13 @@ This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
 .B \f[B]\-q\f[], \f[B]\-\-quiet\f[]
-Do not print copyright header.
-bc(1) will also suppress the header in non\-interactive mode.
+This option is for compatibility with the GNU
+bc(1) (https://www.gnu.org/software/bc/); it is a no\-op.
+Without this option, GNU bc(1) prints a copyright header.
+This bc(1) only prints the copyright header if one or more of the
+\f[B]\-v\f[], \f[B]\-V\f[], or \f[B]\-\-version\f[] options are given.
 .RS
 .PP
-This is mostly for compatibility with the GNU
-bc(1) (https://www.gnu.org/software/bc/).
-.PP
 This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
@@ -184,10 +184,12 @@ This means that if a file is given before an expressio
 read in and evaluated first.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the expressions and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
+However, if any other \f[B]\-e\f[], \f[B]\-\-expression\f[],
+\f[B]\-f\f[], or \f[B]\-\-file\f[] arguments are given after that, bc(1)
+will give a fatal error and exit.
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -199,10 +201,9 @@ If expressions are also given (see above), the express
 in the order given.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the files and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -1151,14 +1152,6 @@ greater than \f[B]1\f[] and is less than \f[B]UINT16_M
 (\f[B]2^16\-1\f[]), bc(1) will output lines to that length, including
 the backslash (\f[B]\\\f[]).
 The default line length is \f[B]70\f[].
-.RS
-.RE
-.TP
-.B \f[B]BC_EXPR_EXIT\f[]
-If this variable exists (no matter the contents), bc(1) will exit
-immediately after executing expressions and files given by the
-\f[B]\-e\f[] and/or \f[B]\-f\f[] command\-line options (and any
-equivalents).
 .RS
 .RE
 .SH EXIT STATUS

Modified: vendor/bc/dist/manuals/bc/EHNP.1.md
==============================================================================
--- vendor/bc/dist/manuals/bc/EHNP.1.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EHNP.1.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -130,11 +130,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 
-    This is mostly for compatibility with the [GNU bc(1)][2].
-
     This is a **non-portable extension**.
 
 **-s**, **--standard**
@@ -164,9 +164,10 @@ The following are the options that bc(1) accepts.
     evaluated in the order given. This means that if a file is given before an
     expression, the file is read in and evaluated first.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the expressions and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
+    However, if any other **-e**, **--expression**, **-f**, or **--file**
+    arguments are given after that, bc(1) will give a fatal error and exit.
 
     This is a **non-portable extension**.
 
@@ -176,9 +177,8 @@ The following are the options that bc(1) accepts.
     through **stdin**. If expressions are also given (see above), the
     expressions are evaluated in the order given.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the files and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
 
     This is a **non-portable extension**.
 
@@ -912,12 +912,6 @@ bc(1) recognizes the following environment variables:
     than **1** and is less than **UINT16_MAX** (**2\^16-1**), bc(1) will output
     lines to that length, including the backslash (**\\**). The default line
     length is **70**.
-
-**BC_EXPR_EXIT**
-
-:   If this variable exists (no matter the contents), bc(1) will exit
-    immediately after executing expressions and files given by the **-e** and/or
-    **-f** command-line options (and any equivalents).
 
 # EXIT STATUS
 

Modified: vendor/bc/dist/manuals/bc/EHP.1
==============================================================================
--- vendor/bc/dist/manuals/bc/EHP.1	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EHP.1	Mon Aug  3 18:55:39 2020	(r363807)
@@ -140,13 +140,13 @@ This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
 .B \f[B]\-q\f[], \f[B]\-\-quiet\f[]
-Do not print copyright header.
-bc(1) will also suppress the header in non\-interactive mode.
+This option is for compatibility with the GNU
+bc(1) (https://www.gnu.org/software/bc/); it is a no\-op.
+Without this option, GNU bc(1) prints a copyright header.
+This bc(1) only prints the copyright header if one or more of the
+\f[B]\-v\f[], \f[B]\-V\f[], or \f[B]\-\-version\f[] options are given.
 .RS
 .PP
-This is mostly for compatibility with the GNU
-bc(1) (https://www.gnu.org/software/bc/).
-.PP
 This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
@@ -184,10 +184,12 @@ This means that if a file is given before an expressio
 read in and evaluated first.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the expressions and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
+However, if any other \f[B]\-e\f[], \f[B]\-\-expression\f[],
+\f[B]\-f\f[], or \f[B]\-\-file\f[] arguments are given after that, bc(1)
+will give a fatal error and exit.
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -199,10 +201,9 @@ If expressions are also given (see above), the express
 in the order given.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the files and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -1151,14 +1152,6 @@ greater than \f[B]1\f[] and is less than \f[B]UINT16_M
 (\f[B]2^16\-1\f[]), bc(1) will output lines to that length, including
 the backslash (\f[B]\\\f[]).
 The default line length is \f[B]70\f[].
-.RS
-.RE
-.TP
-.B \f[B]BC_EXPR_EXIT\f[]
-If this variable exists (no matter the contents), bc(1) will exit
-immediately after executing expressions and files given by the
-\f[B]\-e\f[] and/or \f[B]\-f\f[] command\-line options (and any
-equivalents).
 .RS
 .RE
 .SH EXIT STATUS

Modified: vendor/bc/dist/manuals/bc/EHP.1.md
==============================================================================
--- vendor/bc/dist/manuals/bc/EHP.1.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EHP.1.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -130,11 +130,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 
-    This is mostly for compatibility with the [GNU bc(1)][2].
-
     This is a **non-portable extension**.
 
 **-s**, **--standard**
@@ -164,9 +164,10 @@ The following are the options that bc(1) accepts.
     evaluated in the order given. This means that if a file is given before an
     expression, the file is read in and evaluated first.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the expressions and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
+    However, if any other **-e**, **--expression**, **-f**, or **--file**
+    arguments are given after that, bc(1) will give a fatal error and exit.
 
     This is a **non-portable extension**.
 
@@ -176,9 +177,8 @@ The following are the options that bc(1) accepts.
     through **stdin**. If expressions are also given (see above), the
     expressions are evaluated in the order given.
 
-    In other bc(1) implementations, this option causes the program to execute
-    the files and then exit. This bc(1) does not, unless the
-    **BC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
+    After processing all expressions and files, bc(1) will exit, unless **-**
+    (**stdin**) was given as an argument at least once to **-f** or **--file**.
 
     This is a **non-portable extension**.
 
@@ -912,12 +912,6 @@ bc(1) recognizes the following environment variables:
     than **1** and is less than **UINT16_MAX** (**2\^16-1**), bc(1) will output
     lines to that length, including the backslash (**\\**). The default line
     length is **70**.
-
-**BC_EXPR_EXIT**
-
-:   If this variable exists (no matter the contents), bc(1) will exit
-    immediately after executing expressions and files given by the **-e** and/or
-    **-f** command-line options (and any equivalents).
 
 # EXIT STATUS
 

Modified: vendor/bc/dist/manuals/bc/EN.1
==============================================================================
--- vendor/bc/dist/manuals/bc/EN.1	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EN.1	Mon Aug  3 18:55:39 2020	(r363807)
@@ -148,13 +148,13 @@ This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
 .B \f[B]\-q\f[], \f[B]\-\-quiet\f[]
-Do not print copyright header.
-bc(1) will also suppress the header in non\-interactive mode.
+This option is for compatibility with the GNU
+bc(1) (https://www.gnu.org/software/bc/); it is a no\-op.
+Without this option, GNU bc(1) prints a copyright header.
+This bc(1) only prints the copyright header if one or more of the
+\f[B]\-v\f[], \f[B]\-V\f[], or \f[B]\-\-version\f[] options are given.
 .RS
 .PP
-This is mostly for compatibility with the GNU
-bc(1) (https://www.gnu.org/software/bc/).
-.PP
 This is a \f[B]non\-portable extension\f[].
 .RE
 .TP
@@ -192,10 +192,12 @@ This means that if a file is given before an expressio
 read in and evaluated first.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the expressions and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
+However, if any other \f[B]\-e\f[], \f[B]\-\-expression\f[],
+\f[B]\-f\f[], or \f[B]\-\-file\f[] arguments are given after that, bc(1)
+will give a fatal error and exit.
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -207,10 +209,9 @@ If expressions are also given (see above), the express
 in the order given.
 .RS
 .PP
-In other bc(1) implementations, this option causes the program to
-execute the files and then exit.
-This bc(1) does not, unless the \f[B]BC_EXPR_EXIT\f[] is defined (see
-the \f[B]ENVIRONMENT VARIABLES\f[] section).
+After processing all expressions and files, bc(1) will exit, unless
+\f[B]\-\f[] (\f[B]stdin\f[]) was given as an argument at least once to
+\f[B]\-f\f[] or \f[B]\-\-file\f[].
 .PP
 This is a \f[B]non\-portable extension\f[].
 .RE
@@ -1159,14 +1160,6 @@ greater than \f[B]1\f[] and is less than \f[B]UINT16_M
 (\f[B]2^16\-1\f[]), bc(1) will output lines to that length, including
 the backslash (\f[B]\\\f[]).
 The default line length is \f[B]70\f[].
-.RS
-.RE
-.TP
-.B \f[B]BC_EXPR_EXIT\f[]
-If this variable exists (no matter the contents), bc(1) will exit
-immediately after executing expressions and files given by the
-\f[B]\-e\f[] and/or \f[B]\-f\f[] command\-line options (and any
-equivalents).
 .RS
 .RE
 .SH EXIT STATUS

Modified: vendor/bc/dist/manuals/bc/EN.1.md
==============================================================================
--- vendor/bc/dist/manuals/bc/EN.1.md	Mon Aug  3 18:08:10 2020	(r363806)
+++ vendor/bc/dist/manuals/bc/EN.1.md	Mon Aug  3 18:55:39 2020	(r363807)
@@ -137,11 +137,11 @@ The following are the options that bc(1) accepts.
 
 **-q**, **--quiet**
 
-:   Do not print copyright header. bc(1) will also suppress the header in
-    non-interactive mode.
+:   This option is for compatibility with the [GNU bc(1)][2]; it is a no-op.
+    Without this option, GNU bc(1) prints a copyright header. This bc(1) only
+    prints the copyright header if one or more of the **-v**, **-V**, or
+    **--version** options are given.
 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list