svn commit: r363810 - in head/contrib/bc: . include manuals manuals/bc manuals/dc src src/bc src/dc tests/bc

Stefan Eßer se at FreeBSD.org
Mon Aug 3 19:20:31 UTC 2020


Author: se
Date: Mon Aug  3 19:20:26 2020
New Revision: 363810
URL: https://svnweb.freebsd.org/changeset/base/363810

Log:
  Upgrade	to version 3.1.4
  
  This version omits the printing	of a copyright header in interactive mode
  and the dc command now exits after	execution of	the commands passed via	-e
  or -f instead of switching to interactive mode.	To pass	further	commands
  via STDIN when dc has been invoked with	-e or -f, add "-f -" to	the
  parameter list.

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

Modified: head/contrib/bc/Makefile.in
==============================================================================
--- head/contrib/bc/Makefile.in	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/Makefile.in	Mon Aug  3 19:20:26 2020	(r363810)
@@ -29,7 +29,7 @@
 #
 .POSIX:
 
-VERSION = 3.1.3
+VERSION = 3.1.4
 
 SRC = %%SRC%%
 OBJ = %%OBJ%%

Modified: head/contrib/bc/NEWS.md
==============================================================================
--- head/contrib/bc/NEWS.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/NEWS.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/README.md
==============================================================================
--- head/contrib/bc/README.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/README.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/include/bc.h
==============================================================================
--- head/contrib/bc/include/bc.h	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/include/bc.h	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/include/vm.h
==============================================================================
--- head/contrib/bc/include/vm.h	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/include/vm.h	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc.1.md.in
==============================================================================
--- head/contrib/bc/manuals/bc.1.md.in	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc.1.md.in	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/A.1
==============================================================================
--- head/contrib/bc/manuals/bc/A.1	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/A.1	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/A.1.md
==============================================================================
--- head/contrib/bc/manuals/bc/A.1.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/A.1.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/E.1
==============================================================================
--- head/contrib/bc/manuals/bc/E.1	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/E.1	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/E.1.md
==============================================================================
--- head/contrib/bc/manuals/bc/E.1.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/E.1.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EH.1
==============================================================================
--- head/contrib/bc/manuals/bc/EH.1	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EH.1	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EH.1.md
==============================================================================
--- head/contrib/bc/manuals/bc/EH.1.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EH.1.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EHN.1
==============================================================================
--- head/contrib/bc/manuals/bc/EHN.1	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EHN.1	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EHN.1.md
==============================================================================
--- head/contrib/bc/manuals/bc/EHN.1.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EHN.1.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EHNP.1
==============================================================================
--- head/contrib/bc/manuals/bc/EHNP.1	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EHNP.1	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EHNP.1.md
==============================================================================
--- head/contrib/bc/manuals/bc/EHNP.1.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EHNP.1.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EHP.1
==============================================================================
--- head/contrib/bc/manuals/bc/EHP.1	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EHP.1	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EHP.1.md
==============================================================================
--- head/contrib/bc/manuals/bc/EHP.1.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EHP.1.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EN.1
==============================================================================
--- head/contrib/bc/manuals/bc/EN.1	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EN.1	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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: head/contrib/bc/manuals/bc/EN.1.md
==============================================================================
--- head/contrib/bc/manuals/bc/EN.1.md	Mon Aug  3 19:18:38 2020	(r363809)
+++ head/contrib/bc/manuals/bc/EN.1.md	Mon Aug  3 19:20:26 2020	(r363810)
@@ -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-head mailing list