Sponsored by:	Rubicon Communications, LLC (netgate.com)
This commit is contained in:
Glen Barber 2020-08-12 17:16:26 +00:00
commit 440cec3faf
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/projects/release-git/; revision=364173
1022 changed files with 39452 additions and 10159 deletions

View File

@ -180,7 +180,7 @@ MK_SYSTEM_LINKER= no
.if defined(CROSS_TOOLCHAIN_PREFIX)
CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
.endif
XBINUTILS= AS AR LD NM OBJCOPY RANLIB SIZE STRINGS
XBINUTILS= AS AR LD NM OBJCOPY RANLIB SIZE STRINGS STRIPBIN
.for BINUTIL in ${XBINUTILS}
.if defined(CROSS_BINUTILS_PREFIX) && \
exists(${CROSS_BINUTILS_PREFIX}/${${BINUTIL}})
@ -554,6 +554,20 @@ PKG_VERSION= ${_REVISION}${EXTRA_REVISION}
.endif
.endif # !defined(PKG_VERSION)
.if !defined(PKG_TIMESTAMP)
TIMEEPOCHNOW= %s
SOURCE_DATE_EPOCH= ${TIMEEPOCHNOW:gmtime}
.else
SOURCE_DATE_EPOCH= ${PKG_TIMESTAMP}
.endif
PKG_NAME_PREFIX?= FreeBSD
PKG_MAINTAINER?= re@FreeBSD.org
PKG_WWW?= https://www.FreeBSD.org
.export PKG_NAME_PREFIX
.export PKG_MAINTAINER
.export PKG_WWW
.if !defined(_MKSHOWCONFIG)
_CPUTYPE!= MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} -f /dev/null \
-m ${.CURDIR}/share/mk MK_AUTO_OBJ=no -V CPUTYPE
@ -750,7 +764,7 @@ CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCXXFLAGS} ${XCFLAGS}" \
AS="${XAS}" AR="${XAR}" LD="${XLD}" LLVM_LINK="${XLLVM_LINK}" \
NM=${XNM} OBJCOPY="${XOBJCOPY}" \
RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \
SIZE="${XSIZE}"
SIZE="${XSIZE}" STRIPBIN="${XSTRIPBIN}"
.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX})
# In the case of xdev-build tools, CROSS_BINUTILS_PREFIX won't be a
@ -1791,6 +1805,7 @@ KSTAGEDIR?= ${OBJTOP}/kernelstage
REPODIR?= ${OBJROOT}repo
PKG_FORMAT?= txz
PKGSIGNKEY?= # empty
PKG_OUTPUT_DIR?= ${PKG_VERSION}
.ORDER: stage-packages create-packages
.ORDER: create-packages create-world-packages
@ -1840,6 +1855,7 @@ create-packages-kernel: _pkgbootstrap _repodir .PHONY
${MAKE} -f Makefile.inc1 \
DESTDIR=${KSTAGEDIR} \
PKG_VERSION=${PKG_VERSION} DISTDIR=kernel \
SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \
create-kernel-packages
create-packages: .PHONY create-packages-world create-packages-kernel
@ -1856,6 +1872,7 @@ create-world-packages: _pkgbootstrap .PHONY
done > ${WSTAGEDIR}/packages.mk
${_+_}@cd ${.CURDIR}; \
${MAKE} -f Makefile.inc1 create-world-packages-jobs \
SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \
.MAKE.JOB.PREFIX=
.if make(create-world-packages-jobs)
@ -1883,7 +1900,7 @@ create-world-package-${pkgname}: .PHONY
create -f ${PKG_FORMAT} -M ${WSTAGEDIR}/${pkgname}.ucl \
-p ${WSTAGEDIR}/${pkgname}.plist \
-r ${WSTAGEDIR} \
-o ${REPODIR}/${PKG_ABI}/${PKG_VERSION}
-o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}
.endfor
_default_flavor= -default
@ -1905,6 +1922,9 @@ create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap
-e "s/%COMMENT%/FreeBSD ${INSTALLKERNEL} kernel ${flavor}/" \
-e "s/%DESC%/FreeBSD ${INSTALLKERNEL} kernel ${flavor}/" \
-e "s/ %VCS_REVISION%/${VCS_REVISION}/" \
-e "s/%PKG_NAME_PREFIX%/${PKG_NAME_PREFIX}/" \
-e "s/%PKG_MAINTAINER%/${PKG_MAINTAINER}/" \
-e "s|%PKG_WWW%|${PKG_WWW}|" \
${SRCDIR}/release/packages/kernel.ucl \
> ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \
awk -F\" ' \
@ -1916,7 +1936,7 @@ create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap
-M ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl \
-p ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \
-r ${KSTAGEDIR}/${DISTDIR} \
-o ${REPODIR}/${PKG_ABI}/${PKG_VERSION}
-o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}
. endfor
.endif
.if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes"
@ -1938,6 +1958,9 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kerne
-e "s/%COMMENT%/FreeBSD ${_kernel} kernel ${flavor}/" \
-e "s/%DESC%/FreeBSD ${_kernel} kernel ${flavor}/" \
-e "s/ %VCS_REVISION%/${VCS_REVISION}/" \
-e "s/%PKG_NAME_PREFIX%/${PKG_NAME_PREFIX}/" \
-e "s/%PKG_MAINTAINER%/${PKG_MAINTAINER}/" \
-e "s|%PKG_WWW%|${PKG_WWW}|" \
${SRCDIR}/release/packages/kernel.ucl \
> ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \
awk -F\" ' \
@ -1949,7 +1972,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kerne
-M ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl \
-p ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \
-r ${KSTAGEDIR}/kernel.${_kernel} \
-o ${REPODIR}/${PKG_ABI}/${PKG_VERSION}
-o ${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}
. endfor
. endif
. endfor
@ -1965,7 +1988,7 @@ sign-packages: _pkgbootstrap .PHONY
${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI)/${PKG_VERSION} \
${PKGSIGNKEY} ; \
cd ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/usr/bin/uname config ABI); \
ln -s ${PKG_VERSION} latest
ln -s ${PKG_OUTPUT_DIR} latest
#
#
@ -2178,9 +2201,6 @@ _yacc= usr.bin/yacc
_gensnmptree= usr.sbin/bsnmpd/gensnmptree
.endif
.if ${MK_LOCALES} != "no"
_localedef= usr.bin/localedef
.endif
# We need to build tblgen when we're building clang or lld, either as
# bootstrap tools, or as the part of the normal build.
@ -2229,9 +2249,13 @@ ${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd
_basic_bootstrap_tools_multilink=usr.bin/grep grep,egrep,fgrep
_basic_bootstrap_tools_multilink+=bin/test test,[
# bootstrap tools needed by buildworld:
_basic_bootstrap_tools=usr.bin/awk usr.bin/cut bin/expr usr.bin/gencat \
_basic_bootstrap_tools=usr.bin/cut bin/expr usr.bin/gencat \
usr.bin/join usr.bin/mktemp bin/rmdir usr.bin/sed usr.bin/sort \
usr.bin/truncate usr.bin/tsort
# Some build scripts use nawk instead of awk (this happens at least in
# cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh) so we need both awk
# and nawk in ${WORLDTMP}/legacy/bin.
_basic_bootstrap_tools_multilink+=usr.bin/awk awk,nawk
# file2c is required for building usr.sbin/config:
_basic_bootstrap_tools+=usr.bin/file2c
# uuencode/uudecode required for share/tabset
@ -2295,13 +2319,12 @@ ${_bt}-links: .PHONY
.for _tool in ${_bootstrap_tools_links}
${_bt}-link-${_tool}: .PHONY .MAKE
@if [ ! -e "${WORLDTMP}/legacy/bin/${_tool}" ]; then \
source_path=`which ${_tool}`; \
if [ ! -e "$${source_path}" ] ; then \
echo "Cannot find host tool '${_tool}'"; false; \
fi; \
ln -sfnv "$${source_path}" "${WORLDTMP}/legacy/bin/${_tool}"; \
fi
@rm -f "${WORLDTMP}/legacy/bin/${_tool}"; \
source_path=`which ${_tool}`; \
if [ ! -e "$${source_path}" ] ; then \
echo "Cannot find host tool '${_tool}'"; false; \
fi; \
cp -f "$${source_path}" "${WORLDTMP}/legacy/bin/${_tool}"
${_bt}-links: ${_bt}-link-${_tool}
.endfor
@ -2750,6 +2773,10 @@ _prebuild_libs+= gnu/lib/libdialog
gnu/lib/libdialog__L: lib/msun__L lib/ncurses/ncursesw__L
.endif
.if ${MK_GOOGLETEST} != "no"
_prebuild_libs+= lib/libregex
.endif
.if ${MK_LIBCPLUSPLUS} != "no"
_prebuild_libs+= lib/libc++
.endif

View File

@ -36,6 +36,10 @@
# xargs -n1 | sort | uniq -d;
# done
# 20200803: remove free_domain(9) and uma_zfree_domain(9)
OLD_FILES+=usr/share/man/man9/free_domain.9.gz
OLD_FILES+=usr/share/man/man9/uma_zfree_domain.9.gz
# 20200729: remove long expired serial drivers
OLD_FILES+=usr/share/man/man4/cy.4.gz
OLD_FILES+=usr/share/man/man4/rc.4.gz

View File

@ -27,6 +27,13 @@ r363180:
r363084:
nc(1) now implements SCTP mode, enabled by specifying the --sctp option.
r362681:
A new implementation of bc and dc has been imported. It offers
better standards compliance, performance, localization and comes
with extensive test cases that are optionally installed.
Use WITHOUT_GH_BC=yes to build and install the world with the
previous version instead of the new one, if required.
r362158, r362163:
struct export_args has changed so that the "user" specified for
the -maproot and -mapall exports(5) options may be in more than

View File

@ -26,6 +26,17 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
20200810:
r364092 modified the internal ABI used between the kernel NFS
modules. As such, all of these modules need to be rebuilt
from sources, so a version bump was done.
20200807:
Makefile.inc has been updated to work around the issue documented in
20200729. It was a case where the optimization of using symbolic links
to point to binaries created a situation where we'd run new binaries
with old libraries starting midway through the installworld process.
20200729:
r363679 has redefined some undefined behavior in regcomp(3); notably,
extraneous escapes of most ordinary characters will no longer be

View File

@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012 by Delphix. All rights reserved.
* Copyright (c) 2012, 2020 by Delphix. All rights reserved.
*/
#include <libzfs.h>
@ -484,7 +484,7 @@ translate_device(const char *pool, const char *device, err_type_t label_type,
record->zi_end = record->zi_start + VDEV_PAD_SIZE - 1;
break;
case TYPE_LABEL_PAD2:
record->zi_start = offsetof(vdev_label_t, vl_pad2);
record->zi_start = offsetof(vdev_label_t, vl_be);
record->zi_end = record->zi_start + VDEV_PAD_SIZE - 1;
break;
}

View File

@ -27,6 +27,7 @@
#pragma ident "%Z%%M% %I% %E% SMI"
#include <sys/types.h>
#include <sys/endian.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/zmod.h>

View File

@ -24,15 +24,15 @@
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
set -e
echo "\
/*\n\
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.\n\
* Use is subject to license terms.\n\
*/\n\
\n\
#pragma ident\t\"%Z%%M%\t%I%\t%E% SMI\"\n"
printf "%s" "
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
"
pattern='^#define[ ]\(E[A-Z0-9]*\)[ ]*\([A-Z0-9]*\).*$'
replace='inline int \1 = \2;@#pragma D binding "1.0" \1'

View File

@ -24,36 +24,34 @@
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
set -e
BSDECHO=-e
printf "%s" "
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
echo ${BSDECHO} "\
/*\n\
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.\n\
* Use is subject to license terms.\n\
*/\n\
\n\
#pragma ident\t\"%Z%%M%\t%I%\t%E% SMI\"\n\
\n\
#include <dt_errtags.h>
\n\
static const char *const _dt_errtags[] = {"
static const char *const _dt_errtags[] = {
"
pattern='^ \(D_[A-Z0-9_]*\),*'
replace=' "\1",'
sed -n "s/$pattern/$replace/p" || exit 1
echo ${BSDECHO} "\
};\n\
\n\
static const int _dt_ntag = sizeof (_dt_errtags) / sizeof (_dt_errtags[0]);\n\
\n\
printf "%s" "
};
static const int _dt_ntag = sizeof (_dt_errtags) / sizeof (_dt_errtags[0]);
const char *
dt_errtag(dt_errtag_t tag)
{
return (_dt_errtags[(tag > 0 && tag < _dt_ntag) ? tag : 0]);
}"
}
"
exit 0

View File

@ -24,32 +24,30 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
set -e
BSDECHO=-e
printf "%s" "
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#include <dtrace.h>
echo ${BSDECHO} "\
/*\n\
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.\n\
* Use is subject to license terms.\n\
*/\n\
\n\
#pragma ident\t\"%Z%%M%\t%I%\t%E% SMI\"\n\
\n\
#include <dtrace.h>\n\
\n\
/*ARGSUSED*/
const char *\n\
dtrace_subrstr(dtrace_hdl_t *dtp, int subr)\n\
{\n\
switch (subr) {"
const char *
dtrace_subrstr(dtrace_hdl_t *dtp, int subr)
{
switch (subr) {
"
nawk '
/^#define[ ]*DIF_SUBR_/ && $2 != "DIF_SUBR_MAX" {
printf("\tcase %s: return (\"%s\");\n", $2, tolower(substr($2, 10)));
}'
echo ${BSDECHO} "\
default: return (\"unknown\");\n\
}\n\
}"
printf "%s" "
default: return (\"unknown\");
}
}
"

View File

@ -24,15 +24,15 @@
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
set -e
echo "\
/*\n\
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.\n\
* Use is subject to license terms.\n\
*/\n\
\n\
#pragma ident\t\"%Z%%M%\t%I%\t%E% SMI\"\n"
printf "%s" "
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
"
pattern='^#define[ ]*_*\(SIG[A-Z0-9]*\)[ ]\{1,\}\([A-Z0-9]*\).*$'
replace='inline int \1 = \2;@#pragma D binding "1.0" \1'

View File

@ -837,6 +837,8 @@ extern int zpool_in_use(libzfs_handle_t *, int, pool_state_t *, char **,
extern int zpool_read_label(int, nvlist_t **);
extern int zpool_read_all_labels(int, nvlist_t **);
extern int zpool_clear_label(int);
extern int zpool_set_bootenv(zpool_handle_t *, const char *);
extern int zpool_get_bootenv(zpool_handle_t *, char *, size_t, off_t);
/* is this zvol valid for use as a dump device? */
extern int zvol_check_dump_config(char *);

View File

@ -21,7 +21,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 2017 by Delphix. All rights reserved.
* Copyright (c) 2011, 2020 by Delphix. All rights reserved.
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
* Copyright 2016 Nexenta Systems, Inc.
* Copyright 2016 Igor Kozhukhov <ikozhukhov@gmail.com>
@ -395,7 +395,7 @@ zpool_get_prop(zpool_handle_t *zhp, zpool_prop_t prop, char *buf, size_t len,
* Assuming bootfs is a valid dataset name.
*/
static boolean_t
bootfs_name_valid(const char *pool, char *bootfs)
bootfs_name_valid(const char *pool, const char *bootfs)
{
int len = strlen(pool);
@ -4233,6 +4233,42 @@ zpool_obj_to_path(zpool_handle_t *zhp, uint64_t dsobj, uint64_t obj,
free(mntpnt);
}
int
zpool_set_bootenv(zpool_handle_t *zhp, const char *envmap)
{
int error = lzc_set_bootenv(zhp->zpool_name, envmap);
if (error != 0) {
(void) zpool_standard_error_fmt(zhp->zpool_hdl, error,
dgettext(TEXT_DOMAIN,
"error setting bootenv in pool '%s'"), zhp->zpool_name);
}
return (error);
}
int
zpool_get_bootenv(zpool_handle_t *zhp, char *outbuf, size_t size, off_t offset)
{
nvlist_t *nvl;
int error = lzc_get_bootenv(zhp->zpool_name, &nvl);;
if (error != 0) {
(void) zpool_standard_error_fmt(zhp->zpool_hdl, error,
dgettext(TEXT_DOMAIN,
"error getting bootenv in pool '%s'"), zhp->zpool_name);
return (-1);
}
char *envmap = fnvlist_lookup_string(nvl, "envmap");
if (offset >= strlen(envmap)) {
fnvlist_free(nvl);
return (0);
}
strlcpy(outbuf, envmap + offset, size);
int bytes = MIN(strlen(envmap + offset), size);
fnvlist_free(nvl);
return (bytes);
}
#ifdef illumos
/*
* Read the EFI label from the config, if a label does not exist then

View File

@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2012, 2018 by Delphix. All rights reserved.
* Copyright (c) 2012, 2020 by Delphix. All rights reserved.
* Copyright (c) 2013 Steven Hartland. All rights reserved.
* Copyright (c) 2014 Integros [integros.com]
* Copyright 2017 RackTop Systems.
@ -1210,3 +1210,25 @@ lzc_initialize(const char *poolname, pool_initialize_func_t cmd_type,
return (error);
}
/*
* Set the bootenv contents for the given pool.
*/
int
lzc_set_bootenv(const char *pool, const char *env)
{
nvlist_t *args = fnvlist_alloc();
fnvlist_add_string(args, "envmap", env);
int error = lzc_ioctl(ZFS_IOC_SET_BOOTENV, pool, args, NULL);
fnvlist_free(args);
return (error);
}
/*
* Get the contents of the bootenv of the given pool.
*/
int
lzc_get_bootenv(const char *pool, nvlist_t **outnvl)
{
return (lzc_ioctl(ZFS_IOC_GET_BOOTENV, pool, NULL, outnvl));
}

View File

@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2012, 2016 by Delphix. All rights reserved.
* Copyright (c) 2012, 2020 by Delphix. All rights reserved.
* Copyright (c) 2013 by Martin Matuska <mm@FreeBSD.org>. All rights reserved.
* Copyright 2017 RackTop Systems.
* Copyright (c) 2017 Datto Inc.
@ -105,6 +105,8 @@ int lzc_channel_program_nosync(const char *, const char *, uint64_t,
int lzc_pool_checkpoint(const char *);
int lzc_pool_checkpoint_discard(const char *);
int lzc_set_bootenv(const char *, const char *);
int lzc_get_bootenv(const char *, nvlist_t **);
#ifdef __cplusplus
}
#endif

View File

@ -665,6 +665,7 @@ wq_init(workqueue_t *wq, int nfiles)
for (i = 0; i < nslots; i++) {
pthread_mutex_init(&wq->wq_wip[i].wip_lock, NULL);
pthread_cond_init(&wq->wq_wip[i].wip_cv, NULL);
wq->wq_wip[i].wip_batchid = wq->wq_next_batchid++;
}

View File

@ -38,6 +38,7 @@
#include <pthread.h>
#include <sys/ccompile.h>
#include <sys/endian.h>
#ifdef __cplusplus
extern "C" {
@ -65,6 +66,15 @@ extern "C" {
#define MIN(a, b) ((a) > (b) ? (b) : (a))
#endif
/* Sanity check for cross-build bootstrap tools */
#if !defined(BYTE_ORDER)
#error "Missing BYTE_ORDER defines"
#elif !defined(_LITTLE_ENDIAN)
#error "Missing _LITTLE_ENDIAN defines"
#elif !defined(_BIG_ENDIAN)
#error "Missing _BIG_ENDIAN defines"
#endif
#define TRUE 1
#define FALSE 0

View File

@ -29,7 +29,7 @@
#
.POSIX:
VERSION = 3.1.3
VERSION = 3.1.5
SRC = %%SRC%%
OBJ = %%OBJ%%

View File

@ -1,5 +1,32 @@
# News
## 3.1.5
This is a production release that fixes the Chinese locales (which caused `bc`
to crash) and a crash caused by `bc` executing code when it should not have been
able to.
***ALL USERS SHOULD UPGRADE.***
## 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

View File

@ -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/

View File

@ -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;

View File

@ -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, ...);

View File

@ -103,9 +103,6 @@ $set 6
3 "无法打开文件。%s"
4 "文件不是ASCII: %s"
5 "路径是一个目录:%s"
6 "无效的命令行选项:'%c'(\"%s\")"
$set 7
1 "选项需要一个参数:'%c'(\"%s\")"
2 "选项不需要参数。'%c'(\"%s\")"
6 "无效的命令行选项:\"%s\""
7 "选项需要一个参数:'%c'(\"%s\")"
8 "选项不需要参数。'%c'(\"%s\")"

View File

@ -103,9 +103,6 @@ $set 6
3 "无法打开文件。%s"
4 "文件不是ASCII: %s"
5 "路径是一个目录:%s"
6 "无效的命令行选项:'%c'(\"%s\")"
$set 7
1 "选项需要一个参数:'%c'(\"%s\")"
2 "选项不需要参数。'%c'(\"%s\")"
6 "无效的命令行选项:\"%s\""
7 "选项需要一个参数:'%c'(\"%s\")"
8 "选项不需要参数。'%c'(\"%s\")"

View File

@ -103,9 +103,6 @@ $set 6
3 "无法打开文件。%s"
4 "文件不是ASCII: %s"
5 "路径是一个目录:%s"
6 "无效的命令行选项:'%c'(\"%s\")"
$set 7
1 "选项需要一个参数:'%c'(\"%s\")"
2 "选项不需要参数。'%c'(\"%s\")"
6 "无效的命令行选项:\"%s\""
7 "选项需要一个参数:'%c'(\"%s\")"
8 "选项不需要参数。'%c'(\"%s\")"

View File

@ -91,7 +91,7 @@ $set 5
5 "递归读取()调用"
6 "变量或数组元素是错误的类型"
7 "堆栈的元素太少"
8 "参数数量错误需要%zu有%zu"
8 "参数数量错误需要%zu有%zu"
9 "未定义的函数:%s()"
10 “不能在表达式中使用空值”
@ -100,12 +100,9 @@ $set 6
1 "内存分配失败"
2 "I/O错误"
3 "无法打开文件%s"
3 "无法打开文件%s"
4 "文件不是ASCII: %s"
5 "路径是一个目录:%s"
6 "无效的命令行选项:'%c'(\"%s\")"
$set 7
1 "选项需要一个参数:'%c'(\"%s\")"
2 "选项不需要参数。'%c'(\"%s\")"
6 "无效的命令行选项:\"%s\""
7 "选项需要一个参数:'%c'(\"%s\")"
8 "选项不需要参数。'%c'(\"%s\")"

View File

@ -103,9 +103,6 @@ $set 6
3 "无法打开文件。%s"
4 "文件不是ASCII: %s"
5 "路径是一个目录:%s"
6 "无效的命令行选项:'%c'(\"%s\")"
$set 7
1 "选项需要一个参数:'%c'(\"%s\")"
2 "选项不需要参数。'%c'(\"%s\")"
6 "无效的命令行选项:\"%s\""
7 "选项需要一个参数:'%c'(\"%s\")"
8 "选项不需要参数。'%c'(\"%s\")"

View File

@ -195,10 +195,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -1615,12 +1615,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1915,14 +1916,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -153,10 +153,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -1524,12 +1524,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1161,14 +1162,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -137,10 +137,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -920,12 +920,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1158,14 +1159,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -134,10 +134,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -917,12 +917,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1158,14 +1159,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -134,10 +134,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -917,12 +917,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1153,14 +1154,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -130,10 +130,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -913,12 +913,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1153,14 +1154,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -130,10 +130,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -913,12 +913,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1161,14 +1162,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -137,10 +137,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -920,12 +920,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -143,13 +143,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
@ -187,10 +187,12 @@ This means that if a file is given before an expression, the file is
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
@ -202,10 +204,9 @@ If expressions are also given (see above), the expressions are evaluated
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 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -133,10 +133,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -167,9 +167,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**.
@ -179,9 +180,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:
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
bc(1) returns the following exit statuses:

View File

@ -143,13 +143,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
@ -187,10 +187,12 @@ This means that if a file is given before an expression, the file is
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
@ -202,10 +204,9 @@ If expressions are also given (see above), the expressions are evaluated
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 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -133,10 +133,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -167,9 +167,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**.
@ -179,9 +180,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:
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
bc(1) returns the following exit statuses:

View File

@ -182,13 +182,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
@ -226,10 +226,12 @@ This means that if a file is given before an expression, the file is
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
@ -241,10 +243,9 @@ If expressions are also given (see above), the expressions are evaluated
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
@ -1910,14 +1911,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -149,10 +149,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -183,9 +183,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**.
@ -195,9 +196,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**.
@ -1520,12 +1520,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -182,13 +182,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
@ -226,10 +226,12 @@ This means that if a file is given before an expression, the file is
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
@ -241,10 +243,9 @@ If expressions are also given (see above), the expressions are evaluated
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
@ -1910,14 +1911,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -149,10 +149,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -183,9 +183,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**.
@ -195,9 +196,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**.
@ -1520,12 +1520,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -177,13 +177,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
@ -221,10 +221,12 @@ This means that if a file is given before an expression, the file is
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
@ -236,10 +238,9 @@ If expressions are also given (see above), the expressions are evaluated
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
@ -1905,14 +1906,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -145,10 +145,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -179,9 +179,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**.
@ -191,9 +192,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**.
@ -1516,12 +1516,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -177,13 +177,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
@ -221,10 +221,12 @@ This means that if a file is given before an expression, the file is
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
@ -236,10 +238,9 @@ If expressions are also given (see above), the expressions are evaluated
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
@ -1905,14 +1906,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -145,10 +145,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -179,9 +179,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**.
@ -191,9 +192,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**.
@ -1516,12 +1516,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -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 expression, the file is
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 expressions are evaluated
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
@ -1915,14 +1916,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -153,10 +153,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -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**.
@ -1524,12 +1524,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -182,13 +182,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
@ -226,10 +226,12 @@ This means that if a file is given before an expression, the file is
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
@ -241,10 +243,9 @@ If expressions are also given (see above), the expressions are evaluated
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
@ -1910,14 +1911,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -149,10 +149,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -183,9 +183,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**.
@ -195,9 +196,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**.
@ -1520,12 +1520,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -182,13 +182,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
@ -226,10 +226,12 @@ This means that if a file is given before an expression, the file is
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
@ -241,10 +243,9 @@ If expressions are also given (see above), the expressions are evaluated
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
@ -1910,14 +1911,6 @@ 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
.PP
bc(1) returns the following exit statuses:

View File

@ -149,10 +149,10 @@ 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 is mostly for compatibility with the [GNU bc(1)][2].
: 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 a **non-portable extension**.
@ -183,9 +183,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**.
@ -195,9 +196,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**.
@ -1520,12 +1520,6 @@ bc(1) recognizes the following environment variables:
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
bc(1) returns the following exit statuses:

View File

@ -106,9 +106,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -118,9 +117,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -118,10 +118,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -133,10 +132,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -101,9 +101,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -113,9 +112,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -113,10 +113,9 @@ This means that if a file is given before an expression, the file is
read in and evaluated first.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the expressions and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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
@ -128,10 +127,12 @@ If expressions are also given (see above), the expressions are evaluated
in the order given.
.RS
.PP
In other dc(1) implementations, this option causes the program to
execute the files and then exit.
This dc(1) does not, unless the \f[B]DC_EXPR_EXIT\f[] is defined (see
the \f[B]ENVIRONMENT VARIABLES\f[] section).
After processing all expressions and files, dc(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

View File

@ -98,9 +98,8 @@ The following are the options that dc(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 dc(1) implementations, this option causes the program to execute
the expressions and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(1) will exit, unless **-**
(**stdin**) was given as an argument at least once to **-f** or **--file**.
This is a **non-portable extension**.
@ -110,9 +109,10 @@ The following are the options that dc(1) accepts.
through **stdin**. If expressions are also given (see above), the
expressions are evaluated in the order given.
In other dc(1) implementations, this option causes the program to execute
the files and then exit. This dc(1) does not, unless the
**DC_EXPR_EXIT** is defined (see the **ENVIRONMENT VARIABLES** section).
After processing all expressions and files, dc(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**.

View File

@ -108,13 +108,20 @@ void bc_args(int argc, char *argv[]) {
case 'e':
{
if (vm.no_exit_exprs)
bc_vm_verr(BC_ERROR_FATAL_OPTION, "-e (--expression)");
bc_args_exprs(opts.optarg);
break;
}
case 'f':
{
bc_args_file(opts.optarg);
if (!strcmp(opts.optarg, "-")) vm.no_exit_exprs = true;
else {
if (vm.no_exit_exprs)
bc_vm_verr(BC_ERROR_FATAL_OPTION, "-f (--file)");
bc_args_file(opts.optarg);
}
break;
}
@ -155,7 +162,7 @@ void bc_args(int argc, char *argv[]) {
case 'q':
{
assert(BC_IS_BC);
vm.flags |= BC_FLAG_Q;
// Do nothing.
break;
}
@ -205,9 +212,8 @@ void bc_args(int argc, char *argv[]) {
if (version) bc_vm_info(NULL);
if (do_exit) exit((int) vm.status);
if (vm.exprs.len > 1 || BC_IS_DC) vm.flags |= BC_FLAG_Q;
if (opts.optind < (size_t) argc)
if (opts.optind < (size_t) argc && vm.files.v == NULL)
bc_vec_init(&vm.files, sizeof(char*), NULL);
for (i = opts.optind; i < (size_t) argc; ++i)

View File

@ -52,6 +52,6 @@ void bc_main(int argc, char **argv) {
vm.parse = bc_parse_parse;
vm.expr = bc_parse_expr;
bc_vm_boot(argc, argv, "BC_LINE_LENGTH", "BC_ENV_ARGS", "BC_EXPR_EXIT");
bc_vm_boot(argc, argv, "BC_LINE_LENGTH", "BC_ENV_ARGS");
}
#endif // BC_ENABLED

View File

@ -179,10 +179,10 @@ static void bc_parse_params(BcParse *p, uint8_t flags) {
bc_lex_next(&p->l);
for (nparams = 0; p->l.t != BC_LEX_RPAREN; ++nparams) {
flags &= ~(BC_PARSE_PRINT | BC_PARSE_REL);
flags |= (BC_PARSE_ARRAY | BC_PARSE_NEEDVAL);
flags &= ~(BC_PARSE_PRINT | BC_PARSE_REL);
flags |= (BC_PARSE_ARRAY | BC_PARSE_NEEDVAL);
for (nparams = 0; p->l.t != BC_LEX_RPAREN; ++nparams) {
bc_parse_expr_status(p, flags, bc_parse_next_param);
@ -516,6 +516,12 @@ static void bc_parse_return(BcParse *p) {
}
}
static void bc_parse_noElse(BcParse *p) {
uint16_t *flag_ptr = BC_PARSE_TOP_FLAG_PTR(p);
*flag_ptr = (*flag_ptr & ~(BC_PARSE_FLAG_IF_END));
bc_parse_setLabel(p);
}
static void bc_parse_endBody(BcParse *p, bool brace) {
bool has_brace, new_else = false;
@ -610,12 +616,6 @@ static void bc_parse_startBody(BcParse *p, uint16_t flags) {
bc_vec_push(&p->flags, &flags);
}
void bc_parse_noElse(BcParse *p) {
uint16_t *flag_ptr = BC_PARSE_TOP_FLAG_PTR(p);
*flag_ptr = (*flag_ptr & ~(BC_PARSE_FLAG_IF_END));
bc_parse_setLabel(p);
}
static void bc_parse_if(BcParse *p) {
size_t idx;

View File

@ -52,6 +52,6 @@ void dc_main(int argc, char **argv) {
vm.parse = dc_parse_parse;
vm.expr = dc_parse_expr;
bc_vm_boot(argc, argv, "DC_LINE_LENGTH", "DC_ENV_ARGS", "DC_EXPR_EXIT");
bc_vm_boot(argc, argv, "DC_LINE_LENGTH", "DC_ENV_ARGS");
}
#endif // DC_ENABLED

View File

@ -1271,12 +1271,13 @@ static void bc_program_divmod(BcProgram *p) {
BcNum *n1, *n2;
size_t req;
bc_vec_expand(&p->results, p->results.len + 2);
// We don't need to update the pointer because
// the capacity is enough due to the line above.
res2 = bc_program_prepResult(p);
res = bc_program_prepResult(p);
// Update the pointer, just in case.
res2 = bc_vec_item_rev(&p->results, 1);
bc_program_binOpPrep(p, &opd1, &n1, &opd2, &n2, 2);
req = bc_num_mulReq(n1, n2, BC_PROG_SCALE(p));

View File

@ -452,7 +452,7 @@ static void bc_vm_clean(void) {
}
}
static void bc_vm_process(const char *text, bool is_stdin) {
static void bc_vm_process(const char *text) {
bc_parse_text(&vm.prs, text);
@ -464,22 +464,7 @@ static void bc_vm_process(const char *text, bool is_stdin) {
while (BC_PARSE_CAN_PARSE(vm.prs)) vm.parse(&vm.prs);
#if BC_ENABLED
if (BC_IS_BC) {
uint16_t *flags = BC_PARSE_TOP_FLAG_PTR(&vm.prs);
if (!is_stdin && vm.prs.flags.len == 1 &&
*flags == BC_PARSE_FLAG_IF_END)
{
bc_parse_noElse(&vm.prs);
}
if (BC_PARSE_NO_EXEC(&vm.prs)) return;
}
#endif // BC_ENABLED
bc_program_exec(&vm.prog);
if(BC_IS_DC || !BC_PARSE_NO_EXEC(&vm.prs)) bc_program_exec(&vm.prog);
assert(BC_IS_DC || vm.prog.results.len == 0);
@ -488,6 +473,28 @@ static void bc_vm_process(const char *text, bool is_stdin) {
} while (vm.prs.l.t != BC_LEX_EOF);
}
#if BC_ENABLED
static void bc_vm_endif(void) {
size_t i;
bool good;
if (BC_NO_ERR(!BC_PARSE_NO_EXEC(&vm.prs))) return;
good = true;
for (i = 0; good && i < vm.prs.flags.len; ++i) {
uint16_t flag = *((uint16_t*) bc_vec_item(&vm.prs.flags, i));
good = ((flag & BC_PARSE_FLAG_BRACE) != BC_PARSE_FLAG_BRACE);
}
if (good) {
while (BC_PARSE_IF_END(&vm.prs)) bc_vm_process("else {}");
}
else bc_parse_err(&vm.prs, BC_ERROR_PARSE_BLOCK);
}
#endif // BC_ENABLED
static void bc_vm_file(const char *file) {
char *data = NULL;
@ -504,11 +511,10 @@ static void bc_vm_file(const char *file) {
BC_SIG_UNLOCK;
bc_vm_process(data, false);
bc_vm_process(data);
#if BC_ENABLED
if (BC_IS_BC && BC_ERR(BC_PARSE_NO_EXEC(&vm.prs)))
bc_parse_err(&vm.prs, BC_ERROR_PARSE_BLOCK);
if (BC_IS_BC) bc_vm_endif();
#endif // BC_ENABLED
err:
@ -589,7 +595,7 @@ static void bc_vm_stdin(void) {
if (vm.history.stdin_has_data) continue;
#endif // BC_ENABLE_HISTORY
bc_vm_process(buffer.v, true);
bc_vm_process(buffer.v);
bc_vec_empty(&buffer);
if (vm.eof) break;
@ -602,21 +608,7 @@ static void bc_vm_stdin(void) {
else if (BC_ERR(string))
bc_parse_err(&vm.prs, BC_ERROR_PARSE_STRING);
#if BC_ENABLED
else if (BC_IS_BC && BC_ERR(BC_PARSE_NO_EXEC(&vm.prs))) {
size_t i;
bool good = true;
for (i = 0; good && i < vm.prs.flags.len; ++i) {
uint16_t flag = *((uint16_t*) bc_vec_item(&vm.prs.flags, i));
good = ((flag & BC_PARSE_FLAG_BRACE) != BC_PARSE_FLAG_BRACE);
}
if (good) {
while (BC_PARSE_IF_END(&vm.prs)) bc_vm_process("else {}", true);
}
else bc_parse_err(&vm.prs, BC_ERROR_PARSE_BLOCK);
}
else if (BC_IS_BC) bc_vm_endif();
#endif // BC_ENABLED
}
@ -706,7 +698,7 @@ static void bc_vm_gettext(void) {
#endif // BC_ENABLE_NLS
}
static void bc_vm_exec(const char* env_exp_exit) {
static void bc_vm_exec(void) {
size_t i;
bool has_file = false;
@ -743,7 +735,7 @@ static void bc_vm_exec(const char* env_exp_exit) {
more = bc_read_buf(&buf, vm.exprs.v, &len);
bc_vec_pushByte(&buf, '\0');
bc_vm_process(buf.v, false);
bc_vm_process(buf.v);
bc_vec_npop(&buf, buf.len);
@ -758,7 +750,7 @@ static void bc_vm_exec(const char* env_exp_exit) {
BC_SIG_UNLOCK;
if (getenv(env_exp_exit) != NULL) return;
if (!vm.no_exit_exprs) return;
}
for (i = 0; i < vm.files.len; ++i) {
@ -784,7 +776,7 @@ static void bc_vm_exec(const char* env_exp_exit) {
}
void bc_vm_boot(int argc, char *argv[], const char *env_len,
const char* const env_args, const char* env_exp_exit)
const char* const env_args)
{
int ttyin, ttyout, ttyerr;
struct sigaction sa;
@ -863,9 +855,7 @@ void bc_vm_boot(int argc, char *argv[], const char *env_len,
vm.maxes[BC_PROG_GLOBALS_IBASE] = BC_NUM_MAX_IBASE;
#endif // BC_ENABLED
if (BC_IS_BC && BC_I && !(vm.flags & BC_FLAG_Q)) bc_vm_info(NULL);
BC_SIG_UNLOCK;
bc_vm_exec(env_exp_exit);
bc_vm_exec();
}

View File

@ -39,6 +39,8 @@ misc2
misc3
misc4
misc5
misc6
misc7
void
rand
lib2

View File

@ -0,0 +1 @@
stdin1.txt

Some files were not shown because too many files have changed in this diff Show More