Sync with FreeBSD. Notable changes:
commit4f209d808d638b1dc57bff08a9cd5fcb7a463a68
authorpavalos <pavalos>
Wed, 27 Dec 2006 21:29:02 +0000 (27 21:29 +0000)
committerpavalos <pavalos>
Wed, 27 Dec 2006 21:29:02 +0000 (27 21:29 +0000)
tree8e1e978328f3991b0991b0f186464b91800611cb
parentbc4092b289783d28c33ecb36ea731a02a8ffaef4
Sync with FreeBSD.  Notable changes:

Kill extraneous whitespace.

Flush streams before calling system() so that the output appears in the
right place in the output stream when redirected to a file (when full
buffering is enabled).

Store a pointer to "null" in struct ndblock's defn member instead of a
duplicate allocated on the heap; the address defn points to is significant,
and is checked against the address of "null" in certain conditionals.

Fix m4 to properly handle bitwise operators &, ^, and |. Fix operator
precedence. Add short-circuit evaluation.

Respect locale settings from the environment.

Add a new m4 script to test the functionality of math operators in eval().
14 files changed:
usr.bin/m4/Makefile
usr.bin/m4/TEST/math.m4 [new file with mode: 0644]
usr.bin/m4/eval.c
usr.bin/m4/expr.c
usr.bin/m4/extern.h
usr.bin/m4/gnum4.c
usr.bin/m4/look.c
usr.bin/m4/m4.1
usr.bin/m4/main.c
usr.bin/m4/mdef.h
usr.bin/m4/misc.c
usr.bin/m4/pathnames.h
usr.bin/m4/stdd.h
usr.bin/m4/trace.c