diff --git a/Makefile b/Makefile
index e5cfe7b3fb9e..603124a03ae0 100644
--- a/Makefile
+++ b/Makefile
@@ -127,7 +127,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
installworld kernel-toolchain libraries lint maninstall \
obj objlink rerelease showconfig tags toolchain update \
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
- _build-tools _compiler-metadata _cross-tools _includes _libraries \
+ _build-tools _build-metadata _cross-tools _includes _libraries \
build32 distribute32 install32 buildsoft distributesoft installsoft \
builddtb xdev xdev-build xdev-install \
xdev-links native-xtools stageworld stagekernel stage-packages \
diff --git a/Makefile.inc1 b/Makefile.inc1
index bde0d7b0f342..71b6db35a501 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -643,6 +643,51 @@ LIBCOMPAT= SOFT
.include "Makefile.libcompat"
.endif
+# META_MODE normally ignores host file changes since every build updates
+# timestamps (see NO_META_IGNORE_HOST in sys.mk). There are known times
+# when the ABI breaks though that we want to force rebuilding WORLDTMP
+# to get updated host tools.
+.if ${MK_META_MODE} == "yes" && defined(NO_CLEAN) && \
+ !defined(NO_META_IGNORE_HOST) && !defined(NO_META_IGNORE_HOST_HEADERS)
+# r318736 - ino64 major ABI breakage
+META_MODE_BAD_ABI_VERS+= 1200031
+
+.if !defined(OBJDIR_HOST_OSRELDATE)
+.if exists(${OBJTREE}${.CURDIR}/host-osreldate.h)
+OBJDIR_HOST_OSRELDATE!= \
+ awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
+ ${OBJTREE}${.CURDIR}/host-osreldate.h
+.else
+OBJDIR_HOST_OSRELDATE= 0
+.endif
+.export OBJDIR_HOST_OSRELDATE
+.endif
+
+# Note that this logic is the opposite of normal BOOTSTRAP handling. We want
+# to compare the WORLDTMP's OSRELDATE to the host's OSRELDATE. If the WORLDTMP
+# is older than the ABI-breakage OSRELDATE of the HOST then we rebuild.
+.for _ver in ${META_MODE_BAD_ABI_VERS}
+.if ${OSRELDATE} >= ${_ver} && ${OBJDIR_HOST_OSRELDATE} < ${_ver}
+_meta_mode_need_rebuild= ${_ver}
+.endif
+.endfor
+.if defined(_meta_mode_need_rebuild)
+.info META_MODE: Rebuilding host tools due to ABI breakage in __FreeBSD_version ${_meta_mode_need_rebuild}.
+NO_META_IGNORE_HOST_HEADERS= 1
+.export NO_META_IGNORE_HOST_HEADERS
+.endif
+.endif
+# This is only used for META_MODE+filemon to track what the oldest
+# __FreeBSD_version is in WORLDTMP. This purposely does NOT have
+# a make dependency on /usr/include/osreldate.h as the file should
+# only be copied when it is missing or meta mode determines it has changed.
+# Since host files are normally ignored without NO_META_IGNORE_HOST
+# the file will never be updated unless that flag is specified. This
+# allows tracking the oldest osreldate to force rebuilds via
+# META_MODE_BADABI_REVS above.
+host-osreldate.h: # DO NOT ADD /usr/include/osreldate.h here
+ @cp -f /usr/include/osreldate.h ${.TARGET}
+
WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
IMAKEENV= ${CROSSENV}
@@ -820,12 +865,13 @@ _cross-tools:
@rm -f ${.OBJDIR}/compiler-metadata.mk
${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools
${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools
-_compiler-metadata:
+_build-metadata:
@echo
@echo "--------------------------------------------------------------"
- @echo ">>> stage 3.1: recording compiler metadata"
+ @echo ">>> stage 3.1: recording build metadata"
@echo "--------------------------------------------------------------"
${_+_}cd ${.CURDIR}; ${WMAKE} compiler-metadata.mk
+ ${_+_}cd ${.CURDIR}; ${WMAKE} host-osreldate.h
_includes:
@echo
@echo "--------------------------------------------------------------"
@@ -864,7 +910,7 @@ WMAKE_TGTS+= _cleanobj
WMAKE_TGTS+= _obj
.endif
WMAKE_TGTS+= _build-tools _cross-tools
-WMAKE_TGTS+= _compiler-metadata
+WMAKE_TGTS+= _build-metadata
WMAKE_TGTS+= _includes
.endif
.if !defined(NO_LIBS)
@@ -1964,7 +2010,7 @@ NXBMAKE= ${NXBENV} ${MAKE} \
MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
MK_GDB=no MK_TESTS=no \
SSP_CFLAGS= \
- MK_HTML=no NO_LINT=yes MK_MAN=no \
+ MK_HTML=no NO_LINT=yes MK_MAN=no MK_MAN_UTILS=yes \
-DNO_PIC MK_PROFILE=no -DNO_SHARED \
-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
@@ -2038,6 +2084,8 @@ native-xtools: .PHONY
usr.bin/lex \
usr.bin/limits \
usr.bin/lorder \
+ ${_libopenbsd} \
+ ${_makewhatis} \
usr.bin/mktemp \
usr.bin/mt \
usr.bin/patch \
@@ -2528,8 +2576,8 @@ check-old: check-old-files check-old-libs check-old-dirs .PHONY
# showconfig - show build configuration.
#
showconfig: .PHONY
- @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1; \
- ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1) 2>&1 | grep ^MK_ | sort -u
+ @(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes; \
+ ${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes) 2>&1 | grep ^MK_ | sort -u
.if !empty(KRNLOBJDIR) && !empty(KERNCONF)
DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/
diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 181bdc87ebbd..b2c2884aa3c5 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -150,6 +150,492 @@ OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_
OLD_DIRS+=usr/lib/clang/4.0.0/lib/freebsd
OLD_DIRS+=usr/lib/clang/4.0.0/lib
OLD_DIRS+=usr/lib/clang/4.0.0
+# 20170609: drop obsolete manpage link (if_rtwn.ko -> rtwn.ko)
+OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz
+# 20170531: removal of groff
+OLD_FILES+=usr/bin/addftinfo
+OLD_FILES+=usr/bin/afmtodit
+OLD_FILES+=usr/bin/checknr
+OLD_FILES+=usr/bin/colcrt
+OLD_FILES+=usr/bin/eqn
+OLD_FILES+=usr/bin/grn
+OLD_FILES+=usr/bin/grodvi
+OLD_FILES+=usr/bin/groff
+OLD_FILES+=usr/bin/grog
+OLD_FILES+=usr/bin/grolbp
+OLD_FILES+=usr/bin/grolj4
+OLD_FILES+=usr/bin/grops
+OLD_FILES+=usr/bin/grotty
+OLD_FILES+=usr/bin/hpftodit
+OLD_FILES+=usr/bin/indxbib
+OLD_FILES+=usr/bin/lkbib
+OLD_FILES+=usr/bin/lookbib
+OLD_FILES+=usr/bin/mmroff
+OLD_FILES+=usr/bin/neqn
+OLD_FILES+=usr/bin/nroff
+OLD_FILES+=usr/bin/pfbtops
+OLD_FILES+=usr/bin/pic
+OLD_FILES+=usr/bin/post-grohtml
+OLD_FILES+=usr/bin/pre-grohtml
+OLD_FILES+=usr/bin/psroff
+OLD_FILES+=usr/bin/refer
+OLD_FILES+=usr/bin/tbl
+OLD_FILES+=usr/bin/tfmtodit
+OLD_FILES+=usr/bin/troff
+OLD_FILES+=usr/bin/vgrind
+OLD_FILES+=usr/libexec/vfontedpr
+OLD_FILES+=usr/share/dict/eign
+OLD_FILES+=usr/share/groff_font/devX100-12/CB
+OLD_FILES+=usr/share/groff_font/devX100-12/CBI
+OLD_FILES+=usr/share/groff_font/devX100-12/CI
+OLD_FILES+=usr/share/groff_font/devX100-12/CR
+OLD_FILES+=usr/share/groff_font/devX100-12/DESC
+OLD_FILES+=usr/share/groff_font/devX100-12/HB
+OLD_FILES+=usr/share/groff_font/devX100-12/HBI
+OLD_FILES+=usr/share/groff_font/devX100-12/HI
+OLD_FILES+=usr/share/groff_font/devX100-12/HR
+OLD_FILES+=usr/share/groff_font/devX100-12/NB
+OLD_FILES+=usr/share/groff_font/devX100-12/NBI
+OLD_FILES+=usr/share/groff_font/devX100-12/NI
+OLD_FILES+=usr/share/groff_font/devX100-12/NR
+OLD_FILES+=usr/share/groff_font/devX100-12/S
+OLD_FILES+=usr/share/groff_font/devX100-12/TB
+OLD_FILES+=usr/share/groff_font/devX100-12/TBI
+OLD_FILES+=usr/share/groff_font/devX100-12/TI
+OLD_FILES+=usr/share/groff_font/devX100-12/TR
+OLD_DIRS+=usr/share/groff_font/devX100-12
+OLD_FILES+=usr/share/groff_font/devX100/CB
+OLD_FILES+=usr/share/groff_font/devX100/CBI
+OLD_FILES+=usr/share/groff_font/devX100/CI
+OLD_FILES+=usr/share/groff_font/devX100/CR
+OLD_FILES+=usr/share/groff_font/devX100/DESC
+OLD_FILES+=usr/share/groff_font/devX100/HB
+OLD_FILES+=usr/share/groff_font/devX100/HBI
+OLD_FILES+=usr/share/groff_font/devX100/HI
+OLD_FILES+=usr/share/groff_font/devX100/HR
+OLD_FILES+=usr/share/groff_font/devX100/NB
+OLD_FILES+=usr/share/groff_font/devX100/NBI
+OLD_FILES+=usr/share/groff_font/devX100/NI
+OLD_FILES+=usr/share/groff_font/devX100/NR
+OLD_FILES+=usr/share/groff_font/devX100/S
+OLD_FILES+=usr/share/groff_font/devX100/TB
+OLD_FILES+=usr/share/groff_font/devX100/TBI
+OLD_FILES+=usr/share/groff_font/devX100/TI
+OLD_FILES+=usr/share/groff_font/devX100/TR
+OLD_DIRS+=usr/share/groff_font/devX100
+OLD_FILES+=usr/share/groff_font/devX75-12/CB
+OLD_FILES+=usr/share/groff_font/devX75-12/CBI
+OLD_FILES+=usr/share/groff_font/devX75-12/CI
+OLD_FILES+=usr/share/groff_font/devX75-12/CR
+OLD_FILES+=usr/share/groff_font/devX75-12/DESC
+OLD_FILES+=usr/share/groff_font/devX75-12/HB
+OLD_FILES+=usr/share/groff_font/devX75-12/HBI
+OLD_FILES+=usr/share/groff_font/devX75-12/HI
+OLD_FILES+=usr/share/groff_font/devX75-12/HR
+OLD_FILES+=usr/share/groff_font/devX75-12/NB
+OLD_FILES+=usr/share/groff_font/devX75-12/NBI
+OLD_FILES+=usr/share/groff_font/devX75-12/NI
+OLD_FILES+=usr/share/groff_font/devX75-12/NR
+OLD_FILES+=usr/share/groff_font/devX75-12/S
+OLD_FILES+=usr/share/groff_font/devX75-12/TB
+OLD_FILES+=usr/share/groff_font/devX75-12/TBI
+OLD_FILES+=usr/share/groff_font/devX75-12/TI
+OLD_FILES+=usr/share/groff_font/devX75-12/TR
+OLD_DIRS+=usr/share/groff_font/devX75-12
+OLD_FILES+=usr/share/groff_font/devX75/CB
+OLD_FILES+=usr/share/groff_font/devX75/CBI
+OLD_FILES+=usr/share/groff_font/devX75/CI
+OLD_FILES+=usr/share/groff_font/devX75/CR
+OLD_FILES+=usr/share/groff_font/devX75/DESC
+OLD_FILES+=usr/share/groff_font/devX75/HB
+OLD_FILES+=usr/share/groff_font/devX75/HBI
+OLD_FILES+=usr/share/groff_font/devX75/HI
+OLD_FILES+=usr/share/groff_font/devX75/HR
+OLD_FILES+=usr/share/groff_font/devX75/NB
+OLD_FILES+=usr/share/groff_font/devX75/NBI
+OLD_FILES+=usr/share/groff_font/devX75/NI
+OLD_FILES+=usr/share/groff_font/devX75/NR
+OLD_FILES+=usr/share/groff_font/devX75/S
+OLD_FILES+=usr/share/groff_font/devX75/TB
+OLD_FILES+=usr/share/groff_font/devX75/TBI
+OLD_FILES+=usr/share/groff_font/devX75/TI
+OLD_FILES+=usr/share/groff_font/devX75/TR
+OLD_DIRS+=usr/share/groff_font/devX75
+OLD_FILES+=usr/share/groff_font/devascii/B
+OLD_FILES+=usr/share/groff_font/devascii/BI
+OLD_FILES+=usr/share/groff_font/devascii/CW
+OLD_FILES+=usr/share/groff_font/devascii/DESC
+OLD_FILES+=usr/share/groff_font/devascii/I
+OLD_FILES+=usr/share/groff_font/devascii/L
+OLD_FILES+=usr/share/groff_font/devascii/R
+OLD_FILES+=usr/share/groff_font/devascii/S
+OLD_DIRS+=usr/share/groff_font/devascii
+OLD_FILES+=usr/share/groff_font/devcp1047/B
+OLD_FILES+=usr/share/groff_font/devcp1047/BI
+OLD_FILES+=usr/share/groff_font/devcp1047/CW
+OLD_FILES+=usr/share/groff_font/devcp1047/DESC
+OLD_FILES+=usr/share/groff_font/devcp1047/I
+OLD_FILES+=usr/share/groff_font/devcp1047/L
+OLD_FILES+=usr/share/groff_font/devcp1047/R
+OLD_FILES+=usr/share/groff_font/devcp1047/S
+OLD_DIRS+=usr/share/groff_font/devcp1047
+OLD_FILES+=usr/share/groff_font/devdvi/CW
+OLD_FILES+=usr/share/groff_font/devdvi/CWEC
+OLD_FILES+=usr/share/groff_font/devdvi/CWI
+OLD_FILES+=usr/share/groff_font/devdvi/CWIEC
+OLD_FILES+=usr/share/groff_font/devdvi/CWITC
+OLD_FILES+=usr/share/groff_font/devdvi/CWTC
+OLD_FILES+=usr/share/groff_font/devdvi/CompileFonts
+OLD_FILES+=usr/share/groff_font/devdvi/DESC
+OLD_FILES+=usr/share/groff_font/devdvi/EX
+OLD_FILES+=usr/share/groff_font/devdvi/HB
+OLD_FILES+=usr/share/groff_font/devdvi/HBEC
+OLD_FILES+=usr/share/groff_font/devdvi/HBI
+OLD_FILES+=usr/share/groff_font/devdvi/HBIEC
+OLD_FILES+=usr/share/groff_font/devdvi/HBITC
+OLD_FILES+=usr/share/groff_font/devdvi/HBTC
+OLD_FILES+=usr/share/groff_font/devdvi/HI
+OLD_FILES+=usr/share/groff_font/devdvi/HIEC
+OLD_FILES+=usr/share/groff_font/devdvi/HITC
+OLD_FILES+=usr/share/groff_font/devdvi/HR
+OLD_FILES+=usr/share/groff_font/devdvi/HREC
+OLD_FILES+=usr/share/groff_font/devdvi/HRTC
+OLD_FILES+=usr/share/groff_font/devdvi/MI
+OLD_FILES+=usr/share/groff_font/devdvi/Makefile
+OLD_FILES+=usr/share/groff_font/devdvi/S
+OLD_FILES+=usr/share/groff_font/devdvi/SA
+OLD_FILES+=usr/share/groff_font/devdvi/SB
+OLD_FILES+=usr/share/groff_font/devdvi/SC
+OLD_FILES+=usr/share/groff_font/devdvi/TB
+OLD_FILES+=usr/share/groff_font/devdvi/TBEC
+OLD_FILES+=usr/share/groff_font/devdvi/TBI
+OLD_FILES+=usr/share/groff_font/devdvi/TBIEC
+OLD_FILES+=usr/share/groff_font/devdvi/TBITC
+OLD_FILES+=usr/share/groff_font/devdvi/TBTC
+OLD_FILES+=usr/share/groff_font/devdvi/TI
+OLD_FILES+=usr/share/groff_font/devdvi/TIEC
+OLD_FILES+=usr/share/groff_font/devdvi/TITC
+OLD_FILES+=usr/share/groff_font/devdvi/TR
+OLD_FILES+=usr/share/groff_font/devdvi/TREC
+OLD_FILES+=usr/share/groff_font/devdvi/TRTC
+OLD_FILES+=usr/share/groff_font/devdvi/ec.map
+OLD_FILES+=usr/share/groff_font/devdvi/msam.map
+OLD_FILES+=usr/share/groff_font/devdvi/msbm.map
+OLD_FILES+=usr/share/groff_font/devdvi/tc.map
+OLD_FILES+=usr/share/groff_font/devdvi/texb.map
+OLD_FILES+=usr/share/groff_font/devdvi/texex.map
+OLD_FILES+=usr/share/groff_font/devdvi/texi.map
+OLD_FILES+=usr/share/groff_font/devdvi/texmi.map
+OLD_FILES+=usr/share/groff_font/devdvi/texr.map
+OLD_FILES+=usr/share/groff_font/devdvi/texsy.map
+OLD_FILES+=usr/share/groff_font/devdvi/textex.map
+OLD_FILES+=usr/share/groff_font/devdvi/textt.map
+OLD_DIRS+=usr/share/groff_font/devdvi
+OLD_FILES+=usr/share/groff_font/devhtml/B
+OLD_FILES+=usr/share/groff_font/devhtml/BI
+OLD_FILES+=usr/share/groff_font/devhtml/CB
+OLD_FILES+=usr/share/groff_font/devhtml/CBI
+OLD_FILES+=usr/share/groff_font/devhtml/CI
+OLD_FILES+=usr/share/groff_font/devhtml/CR
+OLD_FILES+=usr/share/groff_font/devhtml/DESC
+OLD_FILES+=usr/share/groff_font/devhtml/I
+OLD_FILES+=usr/share/groff_font/devhtml/R
+OLD_FILES+=usr/share/groff_font/devhtml/S
+OLD_DIRS+=usr/share/groff_font/devhtml
+OLD_FILES+=usr/share/groff_font/devkoi8-r/B
+OLD_FILES+=usr/share/groff_font/devkoi8-r/BI
+OLD_FILES+=usr/share/groff_font/devkoi8-r/CW
+OLD_FILES+=usr/share/groff_font/devkoi8-r/DESC
+OLD_FILES+=usr/share/groff_font/devkoi8-r/I
+OLD_FILES+=usr/share/groff_font/devkoi8-r/L
+OLD_FILES+=usr/share/groff_font/devkoi8-r/R
+OLD_FILES+=usr/share/groff_font/devkoi8-r/S
+OLD_DIRS+=usr/share/groff_font/devkoi8-r
+OLD_FILES+=usr/share/groff_font/devlatin1/B
+OLD_FILES+=usr/share/groff_font/devlatin1/BI
+OLD_FILES+=usr/share/groff_font/devlatin1/CW
+OLD_FILES+=usr/share/groff_font/devlatin1/DESC
+OLD_FILES+=usr/share/groff_font/devlatin1/I
+OLD_FILES+=usr/share/groff_font/devlatin1/L
+OLD_FILES+=usr/share/groff_font/devlatin1/R
+OLD_FILES+=usr/share/groff_font/devlatin1/S
+OLD_DIRS+=usr/share/groff_font/devlatin1
+OLD_FILES+=usr/share/groff_font/devlbp/CB
+OLD_FILES+=usr/share/groff_font/devlbp/CI
+OLD_FILES+=usr/share/groff_font/devlbp/CR
+OLD_FILES+=usr/share/groff_font/devlbp/DESC
+OLD_FILES+=usr/share/groff_font/devlbp/EB
+OLD_FILES+=usr/share/groff_font/devlbp/EI
+OLD_FILES+=usr/share/groff_font/devlbp/ER
+OLD_FILES+=usr/share/groff_font/devlbp/HB
+OLD_FILES+=usr/share/groff_font/devlbp/HBI
+OLD_FILES+=usr/share/groff_font/devlbp/HI
+OLD_FILES+=usr/share/groff_font/devlbp/HNB
+OLD_FILES+=usr/share/groff_font/devlbp/HNBI
+OLD_FILES+=usr/share/groff_font/devlbp/HNI
+OLD_FILES+=usr/share/groff_font/devlbp/HNR
+OLD_FILES+=usr/share/groff_font/devlbp/HR
+OLD_FILES+=usr/share/groff_font/devlbp/TB
+OLD_FILES+=usr/share/groff_font/devlbp/TBI
+OLD_FILES+=usr/share/groff_font/devlbp/TI
+OLD_FILES+=usr/share/groff_font/devlbp/TR
+OLD_DIRS+=usr/share/groff_font/devlbp
+OLD_FILES+=usr/share/groff_font/devlj4/AB
+OLD_FILES+=usr/share/groff_font/devlj4/ABI
+OLD_FILES+=usr/share/groff_font/devlj4/AI
+OLD_FILES+=usr/share/groff_font/devlj4/ALBB
+OLD_FILES+=usr/share/groff_font/devlj4/ALBR
+OLD_FILES+=usr/share/groff_font/devlj4/AOB
+OLD_FILES+=usr/share/groff_font/devlj4/AOI
+OLD_FILES+=usr/share/groff_font/devlj4/AOR
+OLD_FILES+=usr/share/groff_font/devlj4/AR
+OLD_FILES+=usr/share/groff_font/devlj4/CB
+OLD_FILES+=usr/share/groff_font/devlj4/CBI
+OLD_FILES+=usr/share/groff_font/devlj4/CI
+OLD_FILES+=usr/share/groff_font/devlj4/CLARENDON
+OLD_FILES+=usr/share/groff_font/devlj4/CORONET
+OLD_FILES+=usr/share/groff_font/devlj4/CR
+OLD_FILES+=usr/share/groff_font/devlj4/DESC
+OLD_FILES+=usr/share/groff_font/devlj4/GB
+OLD_FILES+=usr/share/groff_font/devlj4/GBI
+OLD_FILES+=usr/share/groff_font/devlj4/GI
+OLD_FILES+=usr/share/groff_font/devlj4/GR
+OLD_FILES+=usr/share/groff_font/devlj4/LGB
+OLD_FILES+=usr/share/groff_font/devlj4/LGI
+OLD_FILES+=usr/share/groff_font/devlj4/LGR
+OLD_FILES+=usr/share/groff_font/devlj4/MARIGOLD
+OLD_FILES+=usr/share/groff_font/devlj4/OB
+OLD_FILES+=usr/share/groff_font/devlj4/OBI
+OLD_FILES+=usr/share/groff_font/devlj4/OI
+OLD_FILES+=usr/share/groff_font/devlj4/OR
+OLD_FILES+=usr/share/groff_font/devlj4/S
+OLD_FILES+=usr/share/groff_font/devlj4/SYMBOL
+OLD_FILES+=usr/share/groff_font/devlj4/TB
+OLD_FILES+=usr/share/groff_font/devlj4/TBI
+OLD_FILES+=usr/share/groff_font/devlj4/TI
+OLD_FILES+=usr/share/groff_font/devlj4/TNRB
+OLD_FILES+=usr/share/groff_font/devlj4/TNRBI
+OLD_FILES+=usr/share/groff_font/devlj4/TNRI
+OLD_FILES+=usr/share/groff_font/devlj4/TNRR
+OLD_FILES+=usr/share/groff_font/devlj4/TR
+OLD_FILES+=usr/share/groff_font/devlj4/UB
+OLD_FILES+=usr/share/groff_font/devlj4/UBI
+OLD_FILES+=usr/share/groff_font/devlj4/UCB
+OLD_FILES+=usr/share/groff_font/devlj4/UCBI
+OLD_FILES+=usr/share/groff_font/devlj4/UCI
+OLD_FILES+=usr/share/groff_font/devlj4/UCR
+OLD_FILES+=usr/share/groff_font/devlj4/UI
+OLD_FILES+=usr/share/groff_font/devlj4/UR
+OLD_FILES+=usr/share/groff_font/devlj4/WINGDINGS
+OLD_DIRS+=usr/share/groff_font/devlj4
+OLD_FILES+=usr/share/groff_font/devps/AB
+OLD_FILES+=usr/share/groff_font/devps/ABI
+OLD_FILES+=usr/share/groff_font/devps/AI
+OLD_FILES+=usr/share/groff_font/devps/AR
+OLD_FILES+=usr/share/groff_font/devps/BMB
+OLD_FILES+=usr/share/groff_font/devps/BMBI
+OLD_FILES+=usr/share/groff_font/devps/BMI
+OLD_FILES+=usr/share/groff_font/devps/BMR
+OLD_FILES+=usr/share/groff_font/devps/CB
+OLD_FILES+=usr/share/groff_font/devps/CBI
+OLD_FILES+=usr/share/groff_font/devps/CI
+OLD_FILES+=usr/share/groff_font/devps/CR
+OLD_FILES+=usr/share/groff_font/devps/DESC
+OLD_FILES+=usr/share/groff_font/devps/EURO
+OLD_FILES+=usr/share/groff_font/devps/HB
+OLD_FILES+=usr/share/groff_font/devps/HBI
+OLD_FILES+=usr/share/groff_font/devps/HI
+OLD_FILES+=usr/share/groff_font/devps/HNB
+OLD_FILES+=usr/share/groff_font/devps/HNBI
+OLD_FILES+=usr/share/groff_font/devps/HNI
+OLD_FILES+=usr/share/groff_font/devps/HNR
+OLD_FILES+=usr/share/groff_font/devps/HR
+OLD_FILES+=usr/share/groff_font/devps/Makefile
+OLD_FILES+=usr/share/groff_font/devps/NB
+OLD_FILES+=usr/share/groff_font/devps/NBI
+OLD_FILES+=usr/share/groff_font/devps/NI
+OLD_FILES+=usr/share/groff_font/devps/NR
+OLD_FILES+=usr/share/groff_font/devps/PB
+OLD_FILES+=usr/share/groff_font/devps/PBI
+OLD_FILES+=usr/share/groff_font/devps/PI
+OLD_FILES+=usr/share/groff_font/devps/PR
+OLD_FILES+=usr/share/groff_font/devps/S
+OLD_FILES+=usr/share/groff_font/devps/SS
+OLD_FILES+=usr/share/groff_font/devps/TB
+OLD_FILES+=usr/share/groff_font/devps/TBI
+OLD_FILES+=usr/share/groff_font/devps/TI
+OLD_FILES+=usr/share/groff_font/devps/TR
+OLD_FILES+=usr/share/groff_font/devps/ZCMI
+OLD_FILES+=usr/share/groff_font/devps/ZD
+OLD_FILES+=usr/share/groff_font/devps/ZDR
+OLD_FILES+=usr/share/groff_font/devps/afmname
+OLD_FILES+=usr/share/groff_font/devps/dingbats.map
+OLD_FILES+=usr/share/groff_font/devps/dingbats.rmap
+OLD_FILES+=usr/share/groff_font/devps/download
+OLD_FILES+=usr/share/groff_font/devps/freeeuro.pfa
+OLD_FILES+=usr/share/groff_font/devps/lgreekmap
+OLD_FILES+=usr/share/groff_font/devps/prologue
+OLD_FILES+=usr/share/groff_font/devps/symbol.sed
+OLD_FILES+=usr/share/groff_font/devps/symbolchars
+OLD_FILES+=usr/share/groff_font/devps/symbolsl.afm
+OLD_FILES+=usr/share/groff_font/devps/symbolsl.pfa
+OLD_FILES+=usr/share/groff_font/devps/text.enc
+OLD_FILES+=usr/share/groff_font/devps/textmap
+OLD_FILES+=usr/share/groff_font/devps/zapfdr.pfa
+OLD_DIRS+=usr/share/groff_font/devps
+OLD_FILES+=usr/share/groff_font/devutf8/B
+OLD_FILES+=usr/share/groff_font/devutf8/BI
+OLD_FILES+=usr/share/groff_font/devutf8/CW
+OLD_FILES+=usr/share/groff_font/devutf8/DESC
+OLD_FILES+=usr/share/groff_font/devutf8/I
+OLD_FILES+=usr/share/groff_font/devutf8/L
+OLD_FILES+=usr/share/groff_font/devutf8/R
+OLD_FILES+=usr/share/groff_font/devutf8/S
+OLD_DIRS+=usr/share/groff_font/devutf8
+OLD_DIRS+=usr/share/groff_font
+OLD_FILES+=usr/share/man/man1/addftinfo.1.gz
+OLD_FILES+=usr/share/man/man1/afmtodit.1.gz
+OLD_FILES+=usr/share/man/man1/checknr.1.gz
+OLD_FILES+=usr/share/man/man1/colcrt.1.gz
+OLD_FILES+=usr/share/man/man1/eqn.1.gz
+OLD_FILES+=usr/share/man/man1/grn.1.gz
+OLD_FILES+=usr/share/man/man1/grodvi.1.gz
+OLD_FILES+=usr/share/man/man1/groff.1.gz
+OLD_FILES+=usr/share/man/man1/grog.1.gz
+OLD_FILES+=usr/share/man/man1/grolbp.1.gz
+OLD_FILES+=usr/share/man/man1/grolj4.1.gz
+OLD_FILES+=usr/share/man/man1/grops.1.gz
+OLD_FILES+=usr/share/man/man1/grotty.1.gz
+OLD_FILES+=usr/share/man/man1/hpftodit.1.gz
+OLD_FILES+=usr/share/man/man1/indxbib.1.gz
+OLD_FILES+=usr/share/man/man1/lkbib.1.gz
+OLD_FILES+=usr/share/man/man1/lookbib.1.gz
+OLD_FILES+=usr/share/man/man1/mmroff.1.gz
+OLD_FILES+=usr/share/man/man1/neqn.1.gz
+OLD_FILES+=usr/share/man/man1/nroff.1.gz
+OLD_FILES+=usr/share/man/man1/pfbtops.1.gz
+OLD_FILES+=usr/share/man/man1/pic.1.gz
+OLD_FILES+=usr/share/man/man1/psroff.1.gz
+OLD_FILES+=usr/share/man/man1/refer.1.gz
+OLD_FILES+=usr/share/man/man1/tbl.1.gz
+OLD_FILES+=usr/share/man/man1/tfmtodit.1.gz
+OLD_FILES+=usr/share/man/man1/troff.1.gz
+OLD_FILES+=usr/share/man/man1/vgrind.1.gz
+OLD_FILES+=usr/share/man/man5/groff_font.5.gz
+OLD_FILES+=usr/share/man/man5/groff_out.5.gz
+OLD_FILES+=usr/share/man/man5/groff_tmac.5.gz
+OLD_FILES+=usr/share/man/man5/lj4_font.5.gz
+OLD_FILES+=usr/share/man/man5/tmac.5.gz
+OLD_FILES+=usr/share/man/man5/vgrindefs.5.gz
+OLD_FILES+=usr/share/man/man7/ditroff.7.gz
+OLD_FILES+=usr/share/man/man7/groff.7.gz
+OLD_FILES+=usr/share/man/man7/groff_char.7.gz
+OLD_FILES+=usr/share/man/man7/groff_diff.7.gz
+OLD_FILES+=usr/share/man/man7/groff_man.7.gz
+OLD_FILES+=usr/share/man/man7/groff_mdoc.7.gz
+OLD_FILES+=usr/share/man/man7/groff_me.7.gz
+OLD_FILES+=usr/share/man/man7/groff_mm.7.gz
+OLD_FILES+=usr/share/man/man7/groff_mmse.7.gz
+OLD_FILES+=usr/share/man/man7/groff_ms.7.gz
+OLD_FILES+=usr/share/man/man7/groff_trace.7.gz
+OLD_FILES+=usr/share/man/man7/groff_www.7.gz
+OLD_FILES+=usr/share/man/man7/mdoc.samples.7.gz
+OLD_FILES+=usr/share/man/man7/me.7.gz
+OLD_FILES+=usr/share/man/man7/mm.7.gz
+OLD_FILES+=usr/share/man/man7/mmse.7.gz
+OLD_FILES+=usr/share/man/man7/ms.7.gz
+OLD_FILES+=usr/share/man/man7/orig_me.7.gz
+OLD_FILES+=usr/share/man/man7/roff.7.gz
+OLD_FILES+=usr/share/me/acm.me
+OLD_FILES+=usr/share/me/chars.me
+OLD_FILES+=usr/share/me/deltext.me
+OLD_FILES+=usr/share/me/eqn.me
+OLD_FILES+=usr/share/me/float.me
+OLD_FILES+=usr/share/me/footnote.me
+OLD_FILES+=usr/share/me/index.me
+OLD_FILES+=usr/share/me/letterhead.me
+OLD_FILES+=usr/share/me/local.me
+OLD_FILES+=usr/share/me/null.me
+OLD_FILES+=usr/share/me/refer.me
+OLD_FILES+=usr/share/me/revisions
+OLD_FILES+=usr/share/me/sh.me
+OLD_FILES+=usr/share/me/tbl.me
+OLD_FILES+=usr/share/me/thesis.me
+OLD_DIRS+=usr/share/me
+OLD_FILES+=usr/share/misc/vgrindefs
+OLD_FILES+=usr/share/misc/vgrindefs.db
+OLD_FILES+=usr/share/tmac/X.tmac
+OLD_FILES+=usr/share/tmac/Xps.tmac
+OLD_FILES+=usr/share/tmac/a4.tmac
+OLD_FILES+=usr/share/tmac/an-old.tmac
+OLD_FILES+=usr/share/tmac/an.tmac
+OLD_FILES+=usr/share/tmac/andoc.tmac
+OLD_FILES+=usr/share/tmac/composite.tmac
+OLD_FILES+=usr/share/tmac/cp1047.tmac
+OLD_FILES+=usr/share/tmac/devtag.tmac
+OLD_FILES+=usr/share/tmac/doc.tmac
+OLD_FILES+=usr/share/tmac/dvi.tmac
+OLD_FILES+=usr/share/tmac/e.tmac
+OLD_FILES+=usr/share/tmac/ec.tmac
+OLD_FILES+=usr/share/tmac/eqnrc
+OLD_FILES+=usr/share/tmac/europs.tmac
+OLD_FILES+=usr/share/tmac/html-end.tmac
+OLD_FILES+=usr/share/tmac/html.tmac
+OLD_FILES+=usr/share/tmac/hyphen.ru
+OLD_FILES+=usr/share/tmac/hyphen.us
+OLD_FILES+=usr/share/tmac/hyphenex.us
+OLD_FILES+=usr/share/tmac/koi8-r.tmac
+OLD_FILES+=usr/share/tmac/latin1.tmac
+OLD_FILES+=usr/share/tmac/latin2.tmac
+OLD_FILES+=usr/share/tmac/latin9.tmac
+OLD_FILES+=usr/share/tmac/lbp.tmac
+OLD_FILES+=usr/share/tmac/lj4.tmac
+OLD_FILES+=usr/share/tmac/m.tmac
+OLD_FILES+=usr/share/tmac/man.local
+OLD_FILES+=usr/share/tmac/man.tmac
+OLD_FILES+=usr/share/tmac/mandoc.tmac
+OLD_FILES+=usr/share/tmac/mdoc.local
+OLD_FILES+=usr/share/tmac/mdoc.tmac
+OLD_FILES+=usr/share/tmac/mdoc/doc-common
+OLD_FILES+=usr/share/tmac/mdoc/doc-ditroff
+OLD_FILES+=usr/share/tmac/mdoc/doc-nroff
+OLD_FILES+=usr/share/tmac/mdoc/doc-syms
+OLD_FILES+=usr/share/tmac/mdoc/fr.ISO8859-1
+OLD_FILES+=usr/share/tmac/mdoc/ru.KOI8-R
+OLD_DIRS+=usr/share/tmac/mdoc
+OLD_FILES+=usr/share/tmac/me.tmac
+OLD_FILES+=usr/share/tmac/mm/0.MT
+OLD_FILES+=usr/share/tmac/mm/4.MT
+OLD_FILES+=usr/share/tmac/mm/5.MT
+OLD_FILES+=usr/share/tmac/mm/locale
+OLD_FILES+=usr/share/tmac/mm/mm.tmac
+OLD_FILES+=usr/share/tmac/mm/mmse.tmac
+OLD_FILES+=usr/share/tmac/mm/ms.cov
+OLD_FILES+=usr/share/tmac/mm/se_locale
+OLD_FILES+=usr/share/tmac/mm/se_ms.cov
+OLD_DIRS+=usr/share/tmac/mm
+OLD_FILES+=usr/share/tmac/ms.tmac
+OLD_FILES+=usr/share/tmac/mse.tmac
+OLD_FILES+=usr/share/tmac/papersize.tmac
+OLD_FILES+=usr/share/tmac/pic.tmac
+OLD_FILES+=usr/share/tmac/ps.tmac
+OLD_FILES+=usr/share/tmac/psatk.tmac
+OLD_FILES+=usr/share/tmac/psold.tmac
+OLD_FILES+=usr/share/tmac/pspic.tmac
+OLD_FILES+=usr/share/tmac/s.tmac
+OLD_FILES+=usr/share/tmac/safer.tmac
+OLD_FILES+=usr/share/tmac/tmac.orig_me
+OLD_FILES+=usr/share/tmac/tmac.vgrind
+OLD_FILES+=usr/share/tmac/trace.tmac
+OLD_FILES+=usr/share/tmac/troffrc
+OLD_FILES+=usr/share/tmac/troffrc-end
+OLD_FILES+=usr/share/tmac/tty-char.tmac
+OLD_FILES+=usr/share/tmac/tty.tmac
+OLD_FILES+=usr/share/tmac/unicode.tmac
+OLD_FILES+=usr/share/tmac/www.tmac
+OLD_DIRS+=usr/share/tmac
+# 20170607: remove incorrect atf_check(1) manpage link
+OLD_FILES+=usr/share/man/man1/atf_check.1.gz
# 20170601: remove stale manpage
OLD_FILES+=usr/share/man/man2/cap_rights_get.2.gz
# 20170601: old libifconfig and libifc
@@ -177,60 +663,109 @@ OLD_FILES+=usr/share/doc/papers/newvm.ascii.gz
OLD_FILES+=usr/share/doc/papers/releng.ascii.gz
OLD_FILES+=usr/share/doc/papers/sysperf.ascii.gz
OLD_FILES+=usr/share/doc/papers/timecounter.ascii.gz
+OLD_DIRS+=usr/share/doc/papers
OLD_FILES+=usr/share/doc/psd/01.cacm/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/01.cacm
OLD_FILES+=usr/share/doc/psd/02.implement/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/02.implement
OLD_FILES+=usr/share/doc/psd/03.iosys/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/03.iosys
OLD_FILES+=usr/share/doc/psd/04.uprog/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/04.uprog
OLD_FILES+=usr/share/doc/psd/05.sysman/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/05.sysman
OLD_FILES+=usr/share/doc/psd/06.Clang/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/06.Clang
OLD_FILES+=usr/share/doc/psd/12.make/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/12.make
OLD_FILES+=usr/share/doc/psd/13.rcs/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/13.rcs
OLD_FILES+=usr/share/doc/psd/13.rcs/rcs_func.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/13.rcs
OLD_FILES+=usr/share/doc/psd/15.yacc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/15.yacc
OLD_FILES+=usr/share/doc/psd/16.lex/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/16.lex
OLD_FILES+=usr/share/doc/psd/17.m4/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/17.m4
OLD_FILES+=usr/share/doc/psd/18.gprof/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/18.gprof
OLD_FILES+=usr/share/doc/psd/20.ipctut/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/20.ipctut
OLD_FILES+=usr/share/doc/psd/21.ipc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/21.ipc
OLD_FILES+=usr/share/doc/psd/22.rpcgen/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/22.rpcgen
OLD_FILES+=usr/share/doc/psd/23.rpc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/23.rpc
OLD_FILES+=usr/share/doc/psd/24.xdr/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/24.xdr
OLD_FILES+=usr/share/doc/psd/25.xdrrfc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/25.xdrrfc
OLD_FILES+=usr/share/doc/psd/26.rpcrfc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/26.rpcrfc
OLD_FILES+=usr/share/doc/psd/27.nfsrfc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/27.nfsrfc
OLD_FILES+=usr/share/doc/psd/Title.ascii.gz
OLD_FILES+=usr/share/doc/psd/contents.ascii.gz
+OLD_DIRS+=usr/share/doc/psd/
OLD_FILES+=usr/share/doc/smm/01.setup/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/01.setup
OLD_FILES+=usr/share/doc/smm/02.config/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/02.config
OLD_FILES+=usr/share/doc/smm/03.fsck/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/03.fsck
OLD_FILES+=usr/share/doc/smm/04.quotas/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/04.quotas
OLD_FILES+=usr/share/doc/smm/05.fastfs/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/05.fastfs
OLD_FILES+=usr/share/doc/smm/06.nfs/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/06.nfs
OLD_FILES+=usr/share/doc/smm/07.lpd/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/07.lpd
OLD_FILES+=usr/share/doc/smm/08.sendmailop/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/08.sendmailop
OLD_FILES+=usr/share/doc/smm/11.timedop/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/11.timedop
OLD_FILES+=usr/share/doc/smm/12.timed/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/12.timed
OLD_FILES+=usr/share/doc/smm/18.net/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/smm/18.net
OLD_FILES+=usr/share/doc/smm/Title.ascii.gz
OLD_FILES+=usr/share/doc/smm/contents.ascii.gz
+OLD_DIRS+=usr/share/doc/smm
OLD_FILES+=usr/share/doc/usd/04.csh/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/04.csh
OLD_FILES+=usr/share/doc/usd/05.dc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/05.dc
OLD_FILES+=usr/share/doc/usd/06.bc/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/06.bc
OLD_FILES+=usr/share/doc/usd/07.mail/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/07.mail
OLD_FILES+=usr/share/doc/usd/10.exref/paper.ascii.gz
OLD_FILES+=usr/share/doc/usd/10.exref/summary.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/10.exref
OLD_FILES+=usr/share/doc/usd/11.edit/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/11.edit
OLD_FILES+=usr/share/doc/usd/12.vi/paper.ascii.gz
OLD_FILES+=usr/share/doc/usd/12.vi/summary.ascii.gz
OLD_FILES+=usr/share/doc/usd/12.vi/viapwh.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/12.vi
OLD_FILES+=usr/share/doc/usd/13.viref/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/13.viref
OLD_FILES+=usr/share/doc/usd/18.msdiffs/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/18.msdiffs
OLD_FILES+=usr/share/doc/usd/19.memacros/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/19.memacros
OLD_FILES+=usr/share/doc/usd/20.meref/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/20.meref
OLD_FILES+=usr/share/doc/usd/21.troff/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/21.troff
OLD_FILES+=usr/share/doc/usd/22.trofftut/paper.ascii.gz
+OLD_DIRS+=usr/share/doc/usd/22.trofftut
OLD_FILES+=usr/share/doc/usd/Title.ascii.gz
OLD_FILES+=usr/share/doc/usd/contents.ascii.gz
+OLD_DIRS+=usr/share/doc/usd
# 20170523: 64-bit inode support, library version bumps
OLD_LIBS+=lib/libzfs.so.2
OLD_LIBS+=usr/lib/libarchive.so.6
diff --git a/UPDATING b/UPDATING
index ce32b102ed3d..75611981754a 100644
--- a/UPDATING
+++ b/UPDATING
@@ -81,6 +81,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
For further comments/feedback, poke adrian@ .
+20170531:
+ The GNU roff toolchain has been removed from base. To render manpages
+ which are not supported by mandoc(1), man(1) can fallback on GNU roff
+ from ports (and recommends to install it).
+ To render roff(7) documents, consider using GNU roff from ports or the
+ heirloom doctools roff toolchain from ports via pkg install groff or
+ via pkg install heirloom-doctools.
+
20170523:
The "ino64" 64-bit inode project has been committed, which extends
a number of types to 64 bits. Upgrading in place requires care and
diff --git a/bin/cat/tests/Makefile b/bin/cat/tests/Makefile
index 92e358245077..92e16aea1732 100644
--- a/bin/cat/tests/Makefile
+++ b/bin/cat/tests/Makefile
@@ -6,8 +6,14 @@ NETBSD_ATF_TESTS_SH= cat_test
${PACKAGE}FILES+= d_align.in
${PACKAGE}FILES+= d_align.out
+${PACKAGE}FILES+= d_b_output.in
+${PACKAGE}FILES+= d_b_output.out
${PACKAGE}FILES+= d_se_output.in
${PACKAGE}FILES+= d_se_output.out
+${PACKAGE}FILES+= d_s_output.in
+${PACKAGE}FILES+= d_s_output.out
+${PACKAGE}FILES+= d_vt_output.in
+${PACKAGE}FILES+= d_vt_output.out
.include
diff --git a/bin/chmod/Makefile b/bin/chmod/Makefile
index 58b1afc0aff1..3b2c2d1ecac6 100644
--- a/bin/chmod/Makefile
+++ b/bin/chmod/Makefile
@@ -1,7 +1,11 @@
# @(#)Makefile 8.1 (Berkeley) 5/31/93
# $FreeBSD$
+.include
+
PACKAGE=runtime
PROG= chmod
+SUBDIR.${MK_TESTS}+= tests
+
.include
diff --git a/bin/chmod/tests/Makefile b/bin/chmod/tests/Makefile
new file mode 100644
index 000000000000..1cf107f9d35b
--- /dev/null
+++ b/bin/chmod/tests/Makefile
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+ATF_TESTS_SH+= chmod_test
+
+.include
diff --git a/bin/chmod/tests/chmod_test.sh b/bin/chmod/tests/chmod_test.sh
new file mode 100755
index 000000000000..4a6a6a3d21ef
--- /dev/null
+++ b/bin/chmod/tests/chmod_test.sh
@@ -0,0 +1,160 @@
+#
+# Copyright (c) 2017 Dell EMC
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+
+atf_test_case RH_flag
+RH_flag_head()
+{
+ atf_set "descr" "Verify that setting modes recursively via -R doesn't " \
+ "affect symlinks specified via the arguments when -H " \
+ "is specified"
+}
+RH_flag_body()
+{
+ atf_check mkdir -m 0777 -p A/B
+ atf_check ln -s B A/C
+ atf_check chmod -h 0777 A/C
+ atf_check -o inline:'40755\n40777\n120777\n' stat -f '%p' A A/B A/C
+ atf_check chmod -RH 0700 A
+ atf_check -o inline:'40700\n40700\n120700\n' stat -f '%p' A A/B A/C
+ atf_check chmod -RH 0600 A/C
+ atf_check -o inline:'40700\n40600\n120700\n' stat -f '%p' A A/B A/C
+}
+
+atf_test_case RL_flag
+RL_flag_head()
+{
+ atf_set "descr" "Verify that setting modes recursively via -R doesn't " \
+ "affect symlinks specified via the arguments when -L " \
+ "is specified"
+}
+RL_flag_body()
+{
+ atf_check mkdir -m 0777 -p A/B
+ atf_check ln -s B A/C
+ atf_check chmod -h 0777 A/C
+ atf_check -o inline:'40755\n40777\n120777\n' stat -f '%p' A A/B A/C
+ atf_check chmod -RL 0700 A
+ atf_check -o inline:'40700\n40700\n120777\n' stat -f '%p' A A/B A/C
+ atf_check chmod -RL 0600 A/C
+ atf_check -o inline:'40700\n40600\n120777\n' stat -f '%p' A A/B A/C
+}
+
+atf_test_case RP_flag
+RP_flag_head()
+{
+ atf_set "descr" "Verify that setting modes recursively via -R doesn't " \
+ "affect symlinks specified via the arguments when -P " \
+ "is specified"
+}
+RP_flag_body()
+{
+ atf_check mkdir -m 0777 -p A/B
+ atf_check ln -s B A/C
+ atf_check chmod -h 0777 A/C
+ atf_check -o inline:'40755\n40777\n120777\n' stat -f '%p' A A/B A/C
+ atf_check chmod -RP 0700 A
+ atf_check -o inline:'40700\n40700\n120700\n' stat -f '%p' A A/B A/C
+ atf_check chmod -RP 0600 A/C
+ atf_check -o inline:'40700\n40700\n120600\n' stat -f '%p' A A/B A/C
+}
+
+atf_test_case f_flag cleanup
+f_flag_head()
+{
+ atf_set "descr" "Verify that setting a mode for a file with -f " \
+ "doesn't emit an error message/exit with a non-zero " \
+ "code"
+}
+
+f_flag_body()
+{
+ atf_check truncate -s 0 foo bar
+ atf_check chmod 0750 foo bar
+ atf_check chflags uchg foo
+ atf_check -e not-empty -s not-exit:0 chmod 0700 foo bar
+ atf_check -o inline:'100750\n100700\n' stat -f '%p' foo bar
+ atf_check -s exit:0 chmod -f 0600 foo bar
+ atf_check -o inline:'100750\n100600\n' stat -f '%p' foo bar
+}
+
+f_flag_cleanup()
+{
+ atf_check chflags 0 foo
+}
+
+atf_test_case h_flag
+h_flag_head()
+{
+ atf_set "descr" "Verify that setting a mode for a file with -f " \
+ "doesn't emit an error message/exit with a non-zero " \
+ "code"
+}
+
+h_flag_body()
+{
+ atf_check truncate -s 0 foo
+ atf_check chmod 0600 foo
+ atf_check -o inline:'100600\n' stat -f '%p' foo
+ umask 0077
+ atf_check ln -s foo bar
+ atf_check -o inline:'100600\n120700\n' stat -f '%p' foo bar
+ atf_check chmod -h 0500 bar
+ atf_check -o inline:'100600\n120500\n' stat -f '%p' foo bar
+ atf_check chmod 0660 bar
+ atf_check -o inline:'100660\n120500\n' stat -f '%p' foo bar
+}
+
+atf_test_case v_flag
+v_flag_head()
+{
+ atf_set "descr" "Verify that setting a mode with -v emits the file when " \
+ "doesn't emit an error message/exit with a non-zero " \
+ "code"
+}
+v_flag_body()
+{
+ atf_check truncate -s 0 foo bar
+ atf_check chmod 0600 foo
+ atf_check chmod 0750 bar
+ atf_check -o 'inline:bar\n' chmod -v 0600 foo bar
+ atf_check chmod -v 0600 foo bar
+ for f in foo bar; do
+ echo "$f: 0100600 [-rw------- ] -> 0100700 [-rwx------ ]";
+ done > output.txt
+ atf_check -o file:output.txt chmod -vv 0700 foo bar
+ atf_check chmod -vv 0700 foo bar
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case RH_flag
+ atf_add_test_case RL_flag
+ atf_add_test_case RP_flag
+ atf_add_test_case f_flag
+ atf_add_test_case h_flag
+ atf_add_test_case v_flag
+}
diff --git a/bin/dd/tests/dd2_test.sh b/bin/dd/tests/dd2_test.sh
index 80b9fe224de5..c0b33fc17226 100755
--- a/bin/dd/tests/dd2_test.sh
+++ b/bin/dd/tests/dd2_test.sh
@@ -26,6 +26,27 @@
# $FreeBSD$
+atf_test_case max_seek
+max_seek_head()
+{
+ atf_set "descr" "dd(1) can seek by the maximum amount"
+}
+max_seek_body()
+{
+ case `df -T . | tail -n 1 | cut -wf 2` in
+ "ufs")
+ atf_skip "UFS's maximum file size is too small";;
+ "zfs") ;; # ZFS is fine
+ "tmpfs")
+ atf_skip "tmpfs can't create arbitrarily large spare files";;
+ *) atf_skip "Unknown file system";;
+ esac
+
+ touch f.in
+ seek=`echo "2^63 / 4096 - 1" | bc`
+ atf_check -s exit:0 -e ignore dd if=f.in of=f.out bs=4096 seek=$seek
+}
+
atf_test_case seek_overflow
seek_overflow_head()
{
@@ -33,14 +54,7 @@ seek_overflow_head()
}
seek_overflow_body()
{
- atf_expect_fail "fails with 'dd: truncating f.out: File too large' - bug 219757"
-
touch f.in
- # Positive tests
- seek=`echo "2^63 / 4096 - 1" | bc`
- atf_check -s exit:0 -e ignore dd if=f.in of=f.out bs=4096 seek=$seek
-
- # Negative tests
seek=`echo "2^63 / 4096" | bc`
atf_check -s not-exit:0 -e match:"seek offsets cannot be larger than" \
dd if=f.in of=f.out bs=4096 seek=$seek
@@ -50,5 +64,6 @@ seek_overflow_body()
atf_init_test_cases()
{
- atf_add_test_case seek_overflow
+ atf_add_test_case max_seek
+ atf_add_test_case seek_overflow
}
diff --git a/bin/echo/Makefile b/bin/echo/Makefile
index 5d48e2146d98..4b5917d912eb 100644
--- a/bin/echo/Makefile
+++ b/bin/echo/Makefile
@@ -1,7 +1,13 @@
# @(#)Makefile 8.1 (Berkeley) 5/31/93
# $FreeBSD$
+.include
+
PACKAGE=runtime
PROG= echo
+.if ${MK_TESTS} != "no"
+SUBDIR+= tests
+.endif
+
.include
diff --git a/bin/echo/tests/Makefile b/bin/echo/tests/Makefile
new file mode 100644
index 000000000000..5957ecbc1fa1
--- /dev/null
+++ b/bin/echo/tests/Makefile
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+ATF_TESTS_SH+= echo_test
+
+.include
diff --git a/share/me/strip.sed b/bin/echo/tests/echo_test.sh
similarity index 54%
rename from share/me/strip.sed
rename to bin/echo/tests/echo_test.sh
index 3d80bf7cf873..ddfd8903beac 100644
--- a/share/me/strip.sed
+++ b/bin/echo/tests/echo_test.sh
@@ -1,7 +1,6 @@
-#! /bin/sed -f
#
-# Copyright (c) 1988, 1993
-# The Regents of the University of California. All rights reserved.
+# Copyright 2017 Shivansh Rai
+# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -11,18 +10,11 @@
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by the University of
-# California, Berkeley and its contributors.
-# 4. Neither the name of the University nor the names of its contributors
-# may be used to endorse or promote products derived from this software
-# without specific prior written permission.
#
-# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
@@ -31,14 +23,33 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# @(#)strip.sed 8.1 (Berkeley) 6/5/93
+# $FreeBSD$
#
-/%beginstrip%/{
- h
- s/.*/.\\" This version has had comments stripped; an unstripped version is available./p
- g
+atf_test_case n_output
+n_output_head() {
+ atf_set "descr" "Verify that echo(1) does not print the trailing " \
+ "newline character with option '-n'"
+}
+
+n_output_body() {
+ atf_check -s ignore -o inline:"Hello world" \
+ /bin/echo -n "Hello world"
+}
+
+atf_test_case append_c_output
+append_c_output_head() {
+ atf_set "descr" "Verify that echo(1) does not print the trailing newline " \
+ "character when '\c' is appended to the end of the string"
+}
+
+append_c_output_body() {
+ atf_check -s ignore -o inline:"Hello world" \
+ /bin/echo "Hello world\c"
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case n_output
+ atf_add_test_case append_c_output
}
-/%beginstrip%/,$s/[. ][ ]*\\".*//
-/^$/d
-/\\n@/d
diff --git a/bin/ln/Makefile b/bin/ln/Makefile
index d7c8b46fb0a0..48ef284b4f1b 100644
--- a/bin/ln/Makefile
+++ b/bin/ln/Makefile
@@ -1,6 +1,8 @@
# @(#)Makefile 8.2 (Berkeley) 5/31/93
# $FreeBSD$
+.include
+
PACKAGE=runtime
PROG= ln
MAN= ln.1 symlink.7
@@ -8,4 +10,8 @@ MAN= ln.1 symlink.7
LINKS= ${BINDIR}/ln ${BINDIR}/link
MLINKS= ln.1 link.1
+.if ${MK_TESTS} != "no"
+SUBDIR+= tests
+.endif
+
.include
diff --git a/bin/ln/tests/Makefile b/bin/ln/tests/Makefile
new file mode 100644
index 000000000000..7ac99a947560
--- /dev/null
+++ b/bin/ln/tests/Makefile
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+ATF_TESTS_SH+= ln_test
+
+.include
diff --git a/bin/ln/tests/ln_test.sh b/bin/ln/tests/ln_test.sh
new file mode 100644
index 000000000000..f059f56c950a
--- /dev/null
+++ b/bin/ln/tests/ln_test.sh
@@ -0,0 +1,217 @@
+#
+# Copyright 2017 Shivansh Rai
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+
+set_umask()
+{
+ if ! umask 022; then
+ atf_fail "setting umask failed"
+ fi
+}
+
+atf_test_case L_flag
+L_flag_head()
+{
+ atf_set "descr" "Verify that when creating a hard link to a " \
+ "symbolic link, '-L' option creates a hard" \
+ "link to the target of the symbolic link"
+}
+
+L_flag_body()
+{
+ set_umask
+ atf_check touch A
+ atf_check ln -s A B
+ atf_check ln -L B C
+ stat_A=$(stat -f %i A)
+ stat_C=$(stat -f %i C)
+ atf_check_equal "$stat_A" "$stat_C"
+ atf_check -o inline:'B: symbolic link to A\n' file B
+}
+
+atf_test_case P_flag
+P_flag_head()
+{
+ atf_set "descr" "Verify that when creating a hard link to a " \
+ "symbolic link, '-P' option creates a hard " \
+ "link to the symbolic link itself"
+}
+
+P_flag_body()
+{
+ set_umask
+ atf_check touch A
+ atf_check ln -s A B
+ atf_check ln -P B C
+ stat_B=$(stat -f %i B)
+ stat_C=$(stat -f %i C)
+ atf_check_equal "$stat_B" "$stat_C"
+}
+
+atf_test_case f_flag
+f_flag_head()
+{
+ atf_set "descr" "Verify that if the target file already exists, " \
+ "'-f' option unlinks it so that link may occur"
+}
+
+f_flag_body()
+{
+ set_umask
+ atf_check touch A B
+ atf_check ln -f A B
+ stat_A=$(stat -f %i A)
+ stat_B=$(stat -f %i B)
+ atf_check_equal "$stat_A" "$stat_B"
+}
+
+atf_test_case target_exists_hard
+target_exists_hard_head()
+{
+ atf_set "descr" "Verify whether creating a hard link fails if the " \
+ "target file already exists"
+}
+
+target_exists_hard_body()
+{
+ atf_check touch A B
+ atf_check -s exit:1 -e inline:'ln: B: File exists\n' \
+ ln A B
+}
+
+atf_test_case target_exists_symbolic
+target_exists_symbolic_head()
+{
+ atf_set "descr" "Verify whether creating a symbolic link fails if " \
+ "the target file already exists"
+}
+
+target_exists_symbolic_body()
+{
+ atf_check touch A B
+ atf_check -s exit:1 -e inline:'ln: B: File exists\n' \
+ ln -s A B
+}
+
+atf_test_case shf_flag_dir
+shf_flag_dir_head() {
+ atf_set "descr" "Verify that if the target directory is a symbolic " \
+ "link, '-shf' option prevents following the link"
+}
+
+shf_flag_dir_body()
+{
+ atf_check mkdir -m 0777 A B
+ atf_check ln -s A C
+ atf_check ln -shf B C
+ atf_check -o inline:'C: symbolic link to B\n' file C
+}
+
+atf_test_case snf_flag_dir
+snf_flag_dir_head() {
+ atf_set "descr" "Verify that if the target directory is a symbolic " \
+ "link, '-snf' option prevents following the link"
+}
+
+snf_flag_dir_body()
+{
+ atf_check mkdir -m 0777 A B
+ atf_check ln -s A C
+ atf_check ln -snf B C
+ atf_check -o inline:'C: symbolic link to B\n' file C
+}
+
+atf_test_case sf_flag
+sf_flag_head()
+{
+ atf_set "descr" "Verify that if the target file already exists, " \
+ "'-sf' option unlinks it and creates a symbolic link " \
+ "to the source file"
+}
+
+sf_flag_body()
+{
+ atf_check touch A B
+ atf_check ln -sf A B
+ atf_check -o inline:'B: symbolic link to A\n' file B
+}
+
+atf_test_case s_flag
+s_flag_head()
+{
+ atf_set "descr" "Verify that '-s' option creates a symbolic link"
+}
+
+s_flag_body()
+{
+ set_umask
+ atf_check touch A
+ atf_check ln -s A B
+ atf_check -o inline:'B: symbolic link to A\n' file B
+}
+
+atf_test_case s_flag_broken
+s_flag_broken_head()
+{
+ atf_set "descr" "Verify that if the source file does not exists, '-s' " \
+ "option creates a broken symbolic link to the source file"
+}
+
+s_flag_broken_body()
+{
+ atf_check ln -s A B
+ atf_check -o inline:'B: broken symbolic link to A\n' file B
+}
+
+atf_test_case sw_flag
+sw_flag_head()
+{
+ atf_set "descr" "Verify that '-sw' option produces a warning if the " \
+ "source of a symbolic link does not currently exist"
+}
+
+sw_flag_body()
+{
+ atf_check -s exit:0 -e inline:'ln: warning: A: No such file or directory\n' \
+ ln -sw A B
+ atf_check -o inline:'B: broken symbolic link to A\n' file B
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case L_flag
+ atf_add_test_case P_flag
+ atf_add_test_case f_flag
+ atf_add_test_case target_exists_hard
+ atf_add_test_case target_exists_symbolic
+ atf_add_test_case shf_flag_dir
+ atf_add_test_case snf_flag_dir
+ atf_add_test_case sf_flag
+ atf_add_test_case s_flag
+ atf_add_test_case s_flag_broken
+ atf_add_test_case sw_flag
+}
diff --git a/bin/pkill/pkill.1 b/bin/pkill/pkill.1
index 70b791213895..44df82f1e53b 100644
--- a/bin/pkill/pkill.1
+++ b/bin/pkill/pkill.1
@@ -29,7 +29,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd August 21, 2015
+.Dd June 5, 2017
.Dt PKILL 1
.Os
.Sh NAME
@@ -176,6 +176,8 @@ Select only the newest (most recently started) of the matching processes.
.It Fl o
Select only the oldest (least recently started) of the matching processes.
.It Fl q
+For
+.Nm pgrep ,
Do not write anything to standard output.
.It Fl s Ar sid
Restrict matches to processes with a session ID in the comma-separated
diff --git a/bin/sh/builtins.def b/bin/sh/builtins.def
index 7d170f349947..a3cea9f6e441 100644
--- a/bin/sh/builtins.def
+++ b/bin/sh/builtins.def
@@ -41,6 +41,9 @@
# without job control.
# The -h flag specifies that this command is to be excluded from systems
# based on the NO_HISTORY compile-time symbol.
+# The -n flag specifies that this command can safely be run in the same
+# process when it is the only command in a command substitution. Some
+# commands have special logic defined in safe_builtin().
# The -s flag specifies that this is a POSIX 'special built-in' command.
# The rest of the line specifies the command name or names used to run the
# command. The entry for bltincmd, which is run when the user does not specify
@@ -48,43 +51,43 @@
#
# NOTE: bltincmd must come first!
-bltincmd builtin
+bltincmd -n builtin
aliascmd alias
bgcmd -j bg
bindcmd bind
breakcmd -s break -s continue
cdcmd cd chdir
-commandcmd command
+commandcmd -n command
dotcmd -s .
-echocmd echo
+echocmd -n echo
evalcmd -s eval
execcmd -s exec
exitcmd -s exit
letcmd let
exportcmd -s export -s readonly
#exprcmd expr
-falsecmd false
+falsecmd -n false
fgcmd -j fg
freebsd_wordexpcmd freebsd_wordexp
getoptscmd getopts
hashcmd hash
histcmd -h fc
-jobidcmd jobid
-jobscmd jobs
-killcmd kill
+jobidcmd -n jobid
+jobscmd -n jobs
+killcmd -n kill
localcmd local
-printfcmd printf
-pwdcmd pwd
+printfcmd -n printf
+pwdcmd -n pwd
readcmd read
returncmd -s return
setcmd -s set
setvarcmd setvar
shiftcmd -s shift
-testcmd test [
-timescmd -s times
+testcmd -n test [
+timescmd -n -s times
trapcmd -s trap
-truecmd -s : true
-typecmd type
+truecmd -n -s : true
+typecmd -n type
ulimitcmd ulimit
umaskcmd umask
unaliascmd unalias
diff --git a/bin/sh/error.h b/bin/sh/error.h
index 7743a2ae2bd3..1872e8377333 100644
--- a/bin/sh/error.h
+++ b/bin/sh/error.h
@@ -73,7 +73,7 @@ extern volatile sig_atomic_t intpending;
#define INTOFF suppressint++
#define INTON { if (--suppressint == 0 && intpending) onint(); }
#define is_int_on() suppressint
-#define SETINTON(s) suppressint = (s)
+#define SETINTON(s) do { suppressint = (s); if (suppressint == 0 && intpending) onint(); } while (0)
#define FORCEINTON {suppressint = 0; if (intpending) onint();}
#define SET_PENDING_INT intpending = 1
#define CLEAR_PENDING_INT intpending = 0
diff --git a/bin/sh/eval.c b/bin/sh/eval.c
index 9386b16f0b82..7898693c968c 100644
--- a/bin/sh/eval.c
+++ b/bin/sh/eval.c
@@ -470,6 +470,7 @@ evalredir(union node *n, int flags)
if (e == EXERROR || e == EXEXEC) {
if (in_redirect) {
exitstatus = 2;
+ FORCEINTON;
return;
}
}
@@ -799,11 +800,8 @@ xtracecommand(struct arglist *varlist, int argc, char **argv)
static int
safe_builtin(int idx, int argc, char **argv)
{
- if (idx == BLTINCMD || idx == COMMANDCMD || idx == ECHOCMD ||
- idx == FALSECMD || idx == JOBIDCMD || idx == JOBSCMD ||
- idx == KILLCMD || idx == PRINTFCMD || idx == PWDCMD ||
- idx == TESTCMD || idx == TIMESCMD || idx == TRUECMD ||
- idx == TYPECMD)
+ /* Generated from builtins.def. */
+ if (safe_builtin_always(idx))
return (1);
if (idx == EXPORTCMD || idx == TRAPCMD || idx == ULIMITCMD ||
idx == UMASKCMD)
diff --git a/bin/sh/histedit.c b/bin/sh/histedit.c
index b6ea93e97848..8e2f927cfe06 100644
--- a/bin/sh/histedit.c
+++ b/bin/sh/histedit.c
@@ -376,10 +376,10 @@ histcmd(int argc, char **argv __unused)
char *editcmd;
fclose(efp);
+ INTON;
editcmd = stalloc(strlen(editor) + strlen(editfile) + 2);
sprintf(editcmd, "%s %s", editor, editfile);
evalstring(editcmd, 0); /* XXX - should use no JC command */
- INTON;
readcmdfile(editfile); /* XXX - should read back - quick tst */
unlink(editfile);
}
diff --git a/bin/sh/mkbuiltins b/bin/sh/mkbuiltins
index f449de4b1edc..fb77f509b0ba 100755
--- a/bin/sh/mkbuiltins
+++ b/bin/sh/mkbuiltins
@@ -66,6 +66,9 @@ const unsigned char builtincmd[] = {'
awk '{ for (i = 2 ; i <= NF ; i++) {
if ($i == "-s") {
spc = 1;
+ } else if ($i == "-n") {
+ # Handled later for builtins.h
+ continue
} else {
printf "\t\"\\%03o\\%03o%s\"\n", length($i), (spc ? 128 : 0) + NR-1, $i
spc = 0;
@@ -90,4 +93,45 @@ extern int (*const builtinfunc[])(int, char **);
extern const unsigned char builtincmd[];
'
awk '{ printf "int %s(int, char **);\n", $1}' $temp
+
+# Build safe_builtin_always()
+cat <
diff --git a/bin/sh/tests/errors/redirection-error8.0 b/bin/sh/tests/errors/redirection-error8.0
new file mode 100644
index 000000000000..91595457831e
--- /dev/null
+++ b/bin/sh/tests/errors/redirection-error8.0
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+$SH -c '{ { :; } /dev/null || kill -INT $$; echo continued'
+r=$?
+[ "$r" -gt 128 ] && [ "$(kill -l "$r")" = INT ]
diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d
new file mode 100644
index 000000000000..50c14d3cedb0
--- /dev/null
+++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d
@@ -0,0 +1,46 @@
+/*
+ * This file and its contents are supplied under the terms of the
+ * Common Development and Distribution License ("CDDL"), version 1.0.
+ * You may only use this file in accordance with the terms of version
+ * 1.0 of the CDDL.
+ *
+ * A full copy of the text of the CDDL should have accompanied this
+ * source. A copy of the CDDL is also available via the Internet at
+ * http://www.illumos.org/license/CDDL.
+ */
+
+/*
+ * Copyright 2017 Panzura. All rights reserved.
+ */
+
+/*
+ * ASSERTION:
+ * Positive test for normalization() of stddev()
+ *
+ * SECTION: Aggregations/Normalization
+ *
+ */
+
+#pragma D option quiet
+#pragma D option aggrate=1ms
+#pragma D option switchrate=50ms
+
+BEGIN
+{
+ i = 0;
+}
+
+tick-100ms
+/i < 11/
+{
+ @ = stddev(i * 100);
+ i++;
+}
+
+tick-100ms
+/i == 11/
+{
+ printf("normalized data:\n");
+ normalize(@, 10);
+ exit(0);
+}
diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out
new file mode 100644
index 000000000000..a629b1fdb5c2
--- /dev/null
+++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.normalize.d.out
@@ -0,0 +1,3 @@
+normalized data:
+
+ 31
diff --git a/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7 b/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
index 2b1d7218ca64..9766a18a8aab 100644
--- a/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
+++ b/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
@@ -23,7 +23,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 31, 2016
+.Dd June 7, 2017
.Dt ZPOOL-FEATURES 7
.Os
.Sh NAME
@@ -48,13 +48,15 @@ to send file systems between pools.
Since most features can be enabled independently of each other the on\-disk
format of the pool is specified by the set of all features marked as
.Sy active
-on the pool. If the pool was created by another software version this set may
+on the pool.
+If the pool was created by another software version this set may
include unsupported features.
.Ss Identifying features
Every feature has a guid of the form
.Sy com.example:feature_name .
The reverse DNS name ensures that the feature's guid is unique across all ZFS
-implementations. When unsupported features are encountered on a pool they will
+implementations.
+When unsupported features are encountered on a pool they will
be identified by their guids.
Refer to the documentation for the ZFS implementation that created the pool
for information about those features.
@@ -283,7 +285,8 @@ configuration.
.El
.Pp
This features allows ZFS to maintain more information about how free space
-is organized within the pool. If this feature is
+is organized within the pool.
+If this feature is
.Sy enabled ,
ZFS will
set this feature to
@@ -337,7 +340,8 @@ All bookmarks in the pool can be listed by running
.El
.Pp
Once this feature is enabled ZFS records the transaction group number
-in which new features are enabled. This has no user-visible impact,
+in which new features are enabled.
+This has no user-visible impact,
but other features may depend on this feature.
.Pp
This feature becomes
@@ -493,10 +497,6 @@ and will return to being
once all filesystems that have ever had their checksum set to
.Sy sha512
are destroyed.
-.Pp
-Booting off of a pools utilizing SHA-512/256 is
-.Em NOT
-yet supported.
.It Sy skein
.Bl -column "READ\-ONLY COMPATIBLE" "org.illumos:skein"
.It GUID Ta org.illumos:skein
@@ -539,12 +539,6 @@ and will return to being
once all filesystems that have ever had their checksum set to
.Sy skein
are destroyed.
-.Pp
-Booting off of pools using
-.Sy skein
-is
-.Em NOT
-supported.
.El
.Sh SEE ALSO
.Xr zpool 8
diff --git a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
index f25b744a0207..6df8cd02b8fb 100644
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
@@ -3316,6 +3316,7 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs_type_t type,
char errbuf[1024];
uint64_t zoned;
enum lzc_dataset_type ost;
+ zpool_handle_t *zpool_handle;
(void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN,
"cannot create '%s'"), path);
@@ -3355,7 +3356,8 @@ zfs_create(libzfs_handle_t *hdl, const char *path, zfs_type_t type,
if (p != NULL)
*p = '\0';
- zpool_handle_t *zpool_handle = zpool_open(hdl, pool_path);
+ if ((zpool_handle = zpool_open(hdl, pool_path)) == NULL)
+ return (-1);
if (props && (props = zfs_valid_proplist(hdl, type, props,
zoned, NULL, zpool_handle, errbuf)) == 0) {
diff --git a/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile b/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile
index 02201577bacb..b5e95bc8fd67 100644
--- a/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile
+++ b/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile
@@ -169,6 +169,8 @@ ${PACKAGE}FILES= \
tst.sizedkeys.d.out \
tst.stddev.d \
tst.stddev.d.out \
+ tst.stddev.normalize.d \
+ tst.stddev.normalize.d.out \
tst.subr.d \
tst.sum.d \
tst.sum.d.out \
diff --git a/contrib/groff/BUG-REPORT b/contrib/groff/BUG-REPORT
deleted file mode 100644
index 293101e34e58..000000000000
--- a/contrib/groff/BUG-REPORT
+++ /dev/null
@@ -1,55 +0,0 @@
- Groff Bug Report
-
-Please read the PROBLEMS file before sending in a bug report.
-
-Please fill in all fields, even if you think they are not relevant.
-
-Please delete the text in brackets before sending it in.
-
-Please report separate bugs separately.
-
-Send the completed form to bug-groff@gnu.org
-
-GROFF VERSION:
-[The version of groff you are using. For example, `1.05']
-
-MACHINE:
-[The machine you are using. For example, `Sun SPARCstation 2']
-
-OS:
-[The operating system you are using. For example, `SunOS 4.1.1']
-
-COMPILER:
-[The compiler you are used to compile groff. For example, `g++ 1.40.3']
-
-INPUT FILES:
-[Include all the files necessary to reproduce the problem that are not
-part of the standard groff distribution. This includes font
-description files, DESC files and macro files (with the exception of
-the -ms and -mm macros: we have them). Send them as a shell archive or
-as a uuencoded, compressed tar file.
-
-It's easier for us if you can provide an example that doesn't depend on
-any macro package, but obviously if you're reporting a problem with a
-macro package that won't be possible. Also a short example is more
-convenient than a long one, but don't worry if you can't find a short
-example. Don't say something like ``any file that X'': Always send a
-definite example.]
-
-COMMAND LINE:
-[The command line that we should run in order to observe the bug. For
-example, `gtroff -Tps bug.tr'. If the command line uses -ms or -mm,
-say whether these refer to the groff versions or the Unix versions of
-the macros.]
-
-DESCRIPTION OF INCORRECT BEHAVIOUR:
-[What goes wrong when that command line is run? For example, `gtroff
-gets a segmentation fault', or `The output looks bad because the bar
-over the x is too long and is too far over to the left.' If you get an
-error message, include it here without modification: Don't edit it to
-make it more readable.]
-
-SUGGESTED FIX [optional]:
-[If you can suggest a fix for the problem, include a context diff here.
-But don't delay sending in a bug report in the hope of finding a fix.
-Guesses about the cause of the bug are not usually helpful.]
diff --git a/contrib/groff/COPYING b/contrib/groff/COPYING
deleted file mode 100644
index b2fe7b6af353..000000000000
--- a/contrib/groff/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/contrib/groff/ChangeLog b/contrib/groff/ChangeLog
deleted file mode 100644
index 2155a818a6bf..000000000000
--- a/contrib/groff/ChangeLog
+++ /dev/null
@@ -1,5253 +0,0 @@
-2005-09-04 Werner LEMBERG
-
- * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
-
- * doc/webpage.ms: Updated.
-
- * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
-
-2005-09-04 Jörgen Grahn
-
- * tmac/groff_ms.man: Document `PO' better.
-
-2005-09-03 Werner LEMBERG
-
- * NEWS: Document grotty changes.
-
-2005-09-01 Keith Marshall
-
- Backward compatibility support for `man' program.
-
- * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
- assignment, prior `.ll' request and then package defaults, in this
- specified order of decreasing priority.
-
- * tmac/groff_man.man, doc/groff.texinfo: Document altered `LL'
- register initialization priorities.
-
-2005-08-29 Gary W. Swearingen
-
- * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
- section should look like.
-
-2005-08-29 Werner LEMBERG
-
- * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
- be abbreviated.
-
-2005-08-27 Bernd Warken
-
- * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
- fixes.
-
-2005-08-11 Bernd Warken
-
- * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
-
-2005-08-09 Bernd Warken
-
- * tmac/www.tmac (URL, MTO): Use bold series if color support is
- deactivated.
-
-2005-08-02 Bernd Warken
-
- * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
- as argument to $(INSTALL_INFO). The latter isn't portable.
- Remove $(HTMLEXAMPLEFILES) too.
-
- * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
- $(datadir)/doc too.
- Suppress warning messages and return always true.
-
- * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
-
-2005-07-02 Bernd Warken
-
- * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
- * man/groff_out.man: More markup and minor improvements.
- * src/roff/groff/groff.man: Minor improvements.
-
-2005-06-28 Werner LEMBERG
-
- * ChangeLog: Split off older entries into...
- * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
- files.
-
-2005-06-26 Bernd Warken
-
- * src/devices/xditview/gxditview.man: More minor fixes.
-
-2005-06-24 Werner LEMBERG
-
- * src/preproc/pic/troff.cpp (troff_output::set_fill,
- troff_output::set_color, troff_output::reset_color): Use .bcolor and
- .fcolor instead of \m and \M, respectively.
-
-2005-06-23 Bernd Warken
-
- * src/devices/xditview/gxditview.man: More minor fixes.
- * README: Formatting issues.
- Mention some problems with Debian.
-
-2005-06-23 Bernd Warken
-
- * src/devices/xditview/gxditview.man: Revised and improved.
-
-2005-06-22 Werner LEMBERG
-
- Another round in fixing getopt problems. Hopefully the last one!
- This time we use the getopt stuff from gnulib and define a prefix
- unconditionally so that there are no collisions with any other
- getopt implementations. This is a slight waste of space in case
- we already use a GNU getopt implementation, but on
- the other hand it really simplifies life.
-
- * src/include/getopt.h: Use gnulib version.
-
- * src/include/getopt_int.h: Use gnulib version.
-
- * src/include/groff-getopt.h: Removed. Obsolete now.
-
- * src/include/lib.h: Regarding getopt, don't handle any platform
- specially; just include getopt.h.
- (__GETOPT_PREFIX): Define (before getopt.h).
-
- * src/include/Makefile.sub (HDRS): Updated.
-
- * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
- gnulib version.
-
- * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
- __GETOPT_PREFIX.
-
- * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
- (__GETOPT_PREFIX): Define (before getopt.h).
-
-2005-06-21 Werner LEMBERG
-
- * src/include/lib.h: Provide a fix for Mac OS X to not include
- groff-getopt.h.
-
-2005-06-20 Denis M. Wilson
-
- * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
- `bind' to define a procedure which contains `showpage' means that an
- invocation of `showpage' may execute wrongly (the exact effect
- depending on the interpreter). Not usually a problem except under
- transformations, such as combining pages.
- (PEND): Don't call `clear'. Reason: Using `clear' in the definition
- of /PEND means that stack underflow will occur if the stack is
- deliberately non-empty before document inclusion. If included
- files are found to be generally badly behaved, we could replace the
- `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
- never found this necessary).
-
-2005-06-20 Jörgen Grahn
-
- * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
- earlier to get correct error message.
-
-2005-06-16 Bernd Warken
- * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
-
-2005-06-15 Werner LEMBERG
-
- Another try to update getopt files. This time we add a dummy
- gettext.h file to satisfy the dependency.
-
- * src/include/getopt.h, src/libs/libgroff/getopt.c,
- src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
-
- * src/include/getopt_int.h: New file (from GNU libc CVS).
-
- * src/include/gettext.h: Dummy file which just defines a gettext()
- macro.
-
- * src/include/groff-getopt.h: Updated.
-
- * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
-
-
- * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
- `const' keywords in return value.
-
- * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
- Remove redundant variable `old'.
- (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
-
- * src/preproc/tbl/main.cpp (process_table): Remove redundant
- variable `c'.
-
-
- Fix more friend name injection problems since modern C++ compilers
- fail otherwise. We simply provide (global) declarations for all
- functions declared as friends. This is not really necessary but
- doesn't harm.
-
- * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
- peek_char, and get_location.
-
- * src/preproc/refer/ref.h: Provide declarations for
- compare_reference, same_reference, same_year, same_date,
- same_author_last_name, and same_author_name.
-
- * src/roff/troff/div.h: Provide declarations for do_divert and
- page_offset.
-
- * src/roff/troff/env.h: Provide declarations for title_length,
- space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
- vertical_spacing, post_vertical_spacing, line_spacing, line_length,
- indent, temporary_indent, do_underline, do_input_trap, set_tabs,
- margin_character, no_number, number_lines, leader_character,
- tab_character, hyphenate_request, no_hyphenate,
- hyphen_line_max_request, hyphenation_space_request,
- hyphenation_margin_request, line_width, tabs_save, tabs_restore,
- line_tabs_request, widow_control_request, and do_divert.
-
- * src/roff/troff/input.cpp: Provide declaration for chop_macro.
-
- * src/roff/troff/node.cpp: Provide declarations for class
- tfont_spec.
- Provide declaration for make_tfont.
-
-2005-05-29 Werner LEMBERG
-
- * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
-
-2005-05-28 Werner LEMBERG
-
- * contrib/pdfmark/Makefile.sub (.ms.pdf): Use `--stylesheet', not
- `--style'.
-
- * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
- redundant semicolons.
-
- * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
- src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
- Define `MLIB'. Some compilers need this for linking with libgroff.
-
-2005-05-27 Werner LEMBERG
-
- * MANIFEST, README, doc/webpage.ms: Updated.
-
-2005-05-26 Werner LEMBERG
-
- * All affected files: Update postal address of FSF.
-
-2005-05-25 Keith Marshall
- Bernd Warken
-
- * README: More fixes.
-
- * README.CVS: Removed. Its contents is now part of the README file.
-
-2005-05-21 Werner LEMBERG
-
- * README: Updated. Based on a patch from Bernd Warken.
-
-2005-05-16 Keith Marshall
-
- Miscellaneous script portability enhancements.
-
- * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
- generated conftest.sh script, conforming to portability
- recommendation in autoconf docs.
- * configure: Likewise, for code generated by GROFF_CSH_HACK.
- * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
- to portability recommendation in autoconf docs.
- * contrib/gdiffmk/gdiffmk.sh: Likewise.
- * contrib/gdiffmk/tests/runtests.in: Likewise.
- * contrib/grap2graph/grap2graph.sh: Likewise.
- * contrib/groffer/groffer.sh: Likewise.
- * contrib/mm/mmroff.pl: Likewise.
- * contrib/mom/momdoc/appendices.html: Likewise.
- * contrib/pic2graph/pic2graph.sh: Likewise.
- * font/devps/generate/afmname: Likewise.
- * src/devices/xditview/ad2c: Likewise.
- * src/preproc/eqn/neqn.sh: Likewise.
- * src/roff/grog/grog.pl: Likewise.
- * src/roff/grog/grog.sh: Likewise.
- * src/roff/nroff/nroff.sh: Likewise.
- * PROBLEMS: Likewise, in embedded script examples.
-
-2005-05-16 Keith Marshall
-
- Improve portability of `pdfroff' shell script.
-
- * arch/misc/shdeps.sh: Add space in shebang, conforming to
- portability guidelines in `autoconf' docs.
- (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
- initialization code. Used by contrib/pdfmark/pdfroff.sh's
- `searchpath' function.
-
-2005-05-14 Werner LEMBERG
-
- * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
- contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
- needed for newer ImageMagick versions.
-
-2005-05-07 Werner LEMBERG
-
- * src/preproc/refer/refer.man: Many small typographic fixes.
-
-2005-05-06 Jeff Conrad
-
- * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
- Use `char *' cast for a_delete.
-
-2005-05-03 Werner LEMBERG
-
- * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
- src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
-
-2005-05-03 Jeff Conrad
-
- * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
- `a_delete' for `const char *'.
-
-2005-05-03 Werner LEMBERG
-
- * src/devices/grohtml/post-html.cpp,
- src/devices/grohtml/html-table.cpp,
- src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
- Replace malloc/free with new/delete/a_delete.
-
- * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
- are prohibited with ANSI C++.
- (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
- function has a variable number of arguments).
-
- * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
- Simplify function and update all callers.
-
-2005-05-02 Werner LEMBERG
-
- Undo getopt changes from 2005-04-30. We don't want a dependency
- on gettext.
-
- * src/include/getopt_int.h: Removed.
-
- * src/include/getopt.h, src/include/groff-getopt.h,
- src/include/Makefile.sub, src/libs/libgroff/getopt.c,
- src/libs/libgroff/getopt1.c: Revert to previous version.
-
-
- * src/include/nonposix.h (access) [_MSC_VER]: New macro.
-
- * src/include/posix.h (F_OK): Define conditionally.
-
- * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
- different variable name in second `for' loop to avoid MSVC compiler
- problem.
-
-2005-04-30 Werner LEMBERG
-
- AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
-
- * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
- * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
- * configure, src/include/config.hin: Regenerated.
-
- * PROBLEMS: Updated.
-
-
- Update getopt files.
-
- * src/include/getopt.h, src/libs/libgroff/getopt.c,
- src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
-
- * src/include/getopt_int.h: New file (from GNU libc CVS).
-
- * src/include/groff-getopt.h: Updated.
-
- * src/include/Makefile.sub (HDRS): Add getopt_int.h.
-
-
- * font/devutf8/NOTES: Updated.
-
-2005-04-28 Werner LEMBERG
-
- Bug fix for Win32 relocatable code. Based on a patch from Keith
- Marshall.
-
- * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
- also.
-
- * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
- (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
-
-2005-04-28 Keith Marshall
-
- Correct `gnu.eps' handling for build from distribution tarball, with
- separate source and build directories.
-
- * doc/Makefile.sub: (examples.stamp): New target; forces copy of
- grnexmpl.g, groff.css and gnu.eps from source to build directory;
- generate gnu.eps from gnu.xpm if required; touch examples.stamp.
- (prepare_examples): Make it depend on examples.stamp.
- (CLEANADD): Add examples.stamp.
-
-2005-04-27 Werner LEMBERG
-
- Implement the rule
-
- position: '(' position ')'
-
- in pic.
-
- * src/preproc/pic/pic.y (position, position_not_place): Handle
- additional parentheses.
-
- * doc/pic.ms: Updated.
-
-2005-04-23 Larry Jones
-
- * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
-
-2005-04-18 Werner LEMBERG
-
- * src/roff/groff/pipeline.c: Don't include ctype.h.
-
-2005-04-13 Werner LEMBERG
-
- * src/roff/nroff/nroff.man: Document option `-M'.
-
-2005-04-13 Bruce Lilly
-
- * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
-
-2005-04-01 Kees Zeelenberg
- Werner LEMBERG
-
- Add binary relocation support for Windows platforms.
-
- * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
-
- * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
-
- * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
- (search_path::search_path, search_path::open_file_cautious): Use
- `relocate'.
-
- * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
- src/include/Makefile.sub (HDRS): Updated.
-
-2005-04-01 Werner LEMBERG
-
- * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
- strsave/a_delete.
-
- * src/libs/libgroff/font.cpp: Replace strdup with strsave.
-
- * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
- lib.h already does it.
-
- * src/libs/libgroff/maxpathname.cpp: New file, defining
- path_name_max.
-
- * src/include/lib.h: Add prototype for path_name_max.
-
- * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
-
- * src/include/nonposix.h (PATH_EXT): New macro.
-
-2005-03-28 Werner LEMBERG
-
- Add support for double- and zero-width characters in grotty.
-
- * src/devices/grotty/tty.cpp (glyph): Add width.
- (tty_printer::make_underline, tty_printer::make_bold,
- tty_printer::add_character): Add parameter to pass character width.
- Update all callers.
- (tty_printer::end_page): Increase hpos by actual character width.
-
- * font/devutf8/R.proto: Specify zero width for non-spacing
- characters.
-
- * tmac/unicode.tmac: Remove definitions for non-spacing entities.
-
- * Makefile.comm (extraclean): Remove more junk files.
-
-2005-03-25 Werner LEMBERG
-
- * configure.ac: Undo change from 2005-03-24.
- * configure: Regenerated.
-
-2005-03-24 Werner LEMBERG
-
- * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
- (dist): Search Makefile while descending into $(EXTRADIRS).
-
- * doc/Makefile.in (.PHONY): Add.
- (clean): Don't remove *.png and *.eps.
- Don't handle *.gif.
- (realclean): Remove *.png and *.eps.
- (extraclean): Depend on distclean.
-
- * configure.ac: Add copyright.
- Handle contrib/pdfmark/Makefile.
-
- * configure: Regenerated.
-
-2005-03-18 Larry Kollar
-
- Add numbered and definition lists to www.tmac.
-
- * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
- www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
- auxiliary string registers.
- (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
- www-ol-ctr3, www-dl-shift): New auxiliary number registers.
- (www-level): Removed.
- (www-level1, www-level2, www-level3): Initialize to empty.
- (www-level0, www-level4, www-level5, www-level6, www-level7,
- www-level8, www-level9): New string registers.
- (www-push-li, www-pop-li): New macros.
- (www-push-level, www-pop-level): Renamed to...
- (www-push-ul-level, www-pop-ul-level): This.
- Updated.
- (www-push-ol-level, www-pop-ol-level): New macros.
- (ULS, ULE): Updated.
- (OLS, OLE, DLS, DLE): New user macros.
- (LI): Removed. It is aliased to one of...
- (www-li-ul, www-li-ol, www-li-dl): New macros.
-
- * tmac/groff_www.man: Document new macros.
-
- * NEWS: Updated.
-
-2005-03-18 Werner LEMBERG
-
- * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
- doc-operating-system-NetBSD-2.0.2): New strings.
-
- * tmac/groff_mdoc.man: Updated.
-
-2005-03-17 Werner LEMBERG
-
- * doc/Makefile.sub (CLEANADD): Add `groff.html'.
-
-2005-03-17 Werner LEMBERG
-
- * src/libs/libgroff/hypot.c: Renamed to...
- * src/libs/libgroff/hypot.cpp: This. Updated to C++.
-
- * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
-
- * src/include/lib.h: Updated.
-
-2005-03-16 Werner LEMBERG
-
- Add workaround for broken hypot() on Interix.
-
- * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
-
- * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
- (CSRCS): Add `hypot.c'.
-
- * src/include/lib.h: Declare `groff_hypot'.
-
- * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
- Use `groff_hypot'.
-
- * src/preproc/pic/pic.h: Don't declare `hypot'.
-
- * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
-
-2005-03-15 Gaius Mulley
-
- * src/devices/grohtml/post-html.cpp
- (html_printer::lookahead_for_tables): End .ce properly to avoid a
- segfault.
-
-2005-03-15 Werner LEMBERG
-
- makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
-
- * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
-
- * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
-
-2005-03-14 Werner LEMBERG
-
- Add Cyrillic support to devutf8 and devhtml.
-
- * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
-
- * tmac/unicode.tmac: New file.
-
- * tmac/tty.tmac: Include unicode.tmac if device is utf8.
-
- * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
-
- * NEWS: Updated.
-
-2005-03-02 Keith Marshall
-
- * src/libs/libdriver/printer.cpp (check_for_output_error): New
- function. It has been introduced to catch peculiar error contexts
- on MS-Windows platforms.
-
-2005-02-28 Werner LEMBERG
-
- * src/roff/troff/input.cpp (string_iterator::fill): Protect against
- null pointer.
-
- * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
-
- * configure: Regenerated.
-
- * NEWS: Updated.
-
-2005-02-28 Keith Marshall
-
- Integrate `pdfmark' into normal groff build system;
- install macro `pdfmark' packages, build and install `pdfroff',
- and PDF format documentation.
-
- * Makefile.comm: Add PDFDOCDIR.
-
- * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
- pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
- (unstall_dirs): Add pdfdocdir.
-
- * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
- `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
- (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
- GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
- (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
- (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
- set ALT_AWK_PROGS.
- (GROFF_AWK_PATH): New function; support `--with-awk' option, force
- use of GROFF_AWK_PREFS.
- (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
- and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
-
- * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
- Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
- also by modified GROFF_HTML_PROGRAMS).
-
-2005-02-27 Gaius Mulley
-
- * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
- paragraph spacing.
- (html_text::done_para): Unset `start_space'.
- (html_text::remove_para_align): Call `retrieve_para_space' for the
- spacing.
-
- * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
- `seen_space'.
- (html_printer::do_check_center): Emit vertical space if necessary.
-
- * src/roff/troff/env.cpp (environment_switch): Preserve
- `seen_space', `seen_eol', and `suppress_next_eol' while switching
- environments.
-
- * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
- `is_special'.
-
-2005-02-20 Werner LEMBERG
-
- * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
- eqn.
-
-2005-02-17 Werner LEMBERG
-
- * doc/pic.ms, man/groff.man: Fix typos.
-
- * doc/groff.texinfo: Fix typos.
- (\LEmacro): Get proper mathematical spacing.
-
-2005-02-16 Werner LEMBERG
-
- * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
- * configure: Regenerated with autoconf 2.59b.
-
-2005-02-16 Gaius Mulley
-
- * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
- html_printer::start_font): Fix handling of preformatted text.
-
-2005-02-15 Gaius Mulley
-
- These patches modify the indentation implementation to use `'. Many thanks to Peter and Larry for
- suggesting this solution. Grohtml only uses tables for `.IP' and
- related tags when the first operand has a short width.
-
- Similarly, they modify all vertical space code. By default, grohtml
- sets up a style sheet which uses no vertical space between `table',
- `pre', and `p' tags. It forces spaces when it needs them using
- `style="margin-top: 1em"'.
-
- * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
- (html_table::emit_table_header, html_table::emit_new_row):
- Rewritten.
- (html_table::set_space): New function.
- (html_indent::html_indent): Don't set `is_used'.
- (html_indent::begin): Rewritten.
- (html_indent::end): Remove code in function.
-
- * src/devices/grohtml/html-table.h: Updated.
- (html_table): Make `out' public.
-
- * src/devices/grohtml/html-text.cpp (html_text::html_text):
- Initialize `start_space' with FALSE.
- (html_text::end_tag) : Updated.
- (html_text::issue_tag): Add argument to handle space style.
- (html_text::start_tag) : Updated.
- (html_text::flush_text): Don't set `start_space'.
- (html_text::push_para): Don't set `p->really_issued'.
- (html_text::do_emittext): Updated.
- (html_text::do_para): Add paremeter to handle space.
- Update all callers.
- (html_text::retrieve_para_space): New function.
-
- * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
- (tag_definition): Remove `really_issued'.
- (html_text): Updated.
-
- * src/devices/grohtml/post-html.cpp (html_printer): Add variables
- `current_column' and `row_space'.
- Update constructor.
- (html_printer::emit_raw, html_printer::write_header,
- html_printer::do_indent, html_printer::do_check_center,
- html_printer::do_tab_ts): Handle vertical space.
- (html_printer:do_tab_te, html_printer::do_end_para): Call
- `remove_para_space'.
- (html_printer::do_col): Rewritten.
- (html_printer::flush_globs): Remove debugging code.
- (html_printer::is_line_start): New function.
- (html_printer::start_font): Use `is_line_start'.
- (html_printer::writeHeadMetaStyle): New function.
- (html_printer::do_file_components, html_printer::~html_printer):
- Call `writeHeadMetaStyle'.
-
- * tmac/www.tmac (www-handle-percent): New macro.
- (MPIMG): Handle percent values for width and height parameters.
- (DC): Updated.
-
- * tmac/groff_www.man: Updated.
-
-2005-02-14 Werner LEMBERG
-
- * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
- $psname and $italic_angle.
- Immediately restart file input loops if `split' returns an empty
- array.
-
-2005-02-13 Michail Vidiassov
- Werner LEMBERG
-
- Update afmtodit to better support Unicode (Michail).
- Update afmtodit to use Perl 5 syntax (Werner).
-
- * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
- `Getopts::Std'.
- Decorate variables with `my' where necessary.
- Use `defined' where necessary to avoid warnings.
- Don't use `do' for subroutine calls.
- Other minor syntax updates.
- Check for both `uXXXX[X[X]]' and `uniXXXX'.
- Handle glyph variants properly.
- (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
- strings.
-
- * src/utils/afmtodit/afmtodit.man: Updated.
-
-2005-02-13 Werner LEMBERG
-
- Make groff.texinfo work with texinfo 4.8.
-
- * doc/groff.texinfo (@Var): Use @r and @slanted.
- (@defdummy, @Def*): Use @c to avoid empty lines.
- (\angles): Replaced with...
- (\Langlemacro, \Ranglemacro): New TeX macros.
- (@Langlemacro, @Ranglemacro): New variables defined with @set.
- (@angles): Use @Langlemacro and @Ranglemacro.
- (\LE): Replaced with...
- (\LEmacro): New TeX macro.
- (@LEmacro): New variable defined with @set.
- (@LE): Use @LEmacro.
- (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
- variables defined with @set.
- (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
- (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
- Update all callers.
-
- Other minor updates.
-
- * doc/texinfo.tex: Update to texinfo version 4.8.
-
- * README.CVS: Updated.
-
-2005-02-09 Alejandro López-Valencia (tiny change)
-
- * doc/groff.texinfo (ms Document Control Registers): Document `HY'
- and `FAM' registers.
-
-2005-02-05 Werner LEMBERG
-
- * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
- tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
- Update BSD license.
-
-2005-02-01 Werner LEMBERG
-
- * src/roff/groff/groff.man: Add information about paper size.
-
-2005-01-25 Werner LEMBERG
-
- * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
- NetBSD bin/29114.
-
-2005-01-22 Ruslan Ermilov
-
- * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
- cases.
- (Re): Emit a warning if called without `.Rs'.
- (doc-finish-reference): Use parameter for decreasing
- `doc-reference-count'.
- (doc-print-reference): Pass specific count parameters to
- `doc-finish-reference'.
-
-2005-01-21 Werner LEMBERG
-
- * src/libs/libdriver/input.cpp (delete_current_env, do_file):
- Reset pointers to zero after deallocation. This fixes a crash
- if a driver is called with multiple input files. Reported by
- Ken Chilton .
-
- * src/devices/grops/grops.man: Add more info on DSC.
-
-2005-01-17 Ruslan Ermilov
-
- * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
- Remove dead code.
-
-2005-01-17 Werner LEMBERG
-
- * src/roff/troff/div.cpp (top_level_diversion::space): Protect
- against division by zero.
-
-2005-01-13 Ruslan Ermilov
-
- * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
-
-2004-12-19 Werner LEMBERG
-
- * install-sh: New version; taken from texinfo CVS.
-
-2004-12-17 Werner LEMBERG
-
- * tmac/devtag.tmac: Protect against loading twice.
- Protect agains compatibility mode.
- * tmac/www.tmac: Protect against loading twice.
- Load `devtag.tmac' before switching off compatibility mode.
- * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
-
-2004-12-16 Mike Bianchi
-
- * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
- * configure: Updated.
-
-2004-12-15 Thomas Klausner
-
- * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
-
-2004-12-15 Werner LEMBERG
-
- Make `test-groff' work again -- previously, wrong paths have been
- used. Additionally, it can now be called from anywhere.
-
- * test-groff.in: Don't test for groff binary. This is no longer
- necessary since the proper paths are determined by `configure'.
- (EXEEXT): Removed. No longer used.
- (srcdir, builddir): Use values provided by the configure script.
- (XENVIRONMENT): Updated.
-
- * INSTALL: Updated.
-
-2004-12-14 Gaius Mulley
-
- Make .tag and .taga work for all devices (but only grohtml actually
- handles them).
-
- * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
- (text_glob::is_br, page::add_tag, html_printer::troff_tag,
- html_printer::handle_assertion): Don't use hard-coded string
- lengths.
- (html_printer::lookahead_for_table): Reset `tbl' properly if
- necessary.
- (html_printer::devtag): New function, handling `devtag'.
- (html_printer::special): Don't handle `html-tag'.
-
- * src/include/printer.h, src/libs/libdriver/printer.cpp
- (printer::devtag): New virtual function.
-
- * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
- `devtag'.
-
- * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
- src/roff/troff/node.cpp: s/html-tag/devtag/.
-
- * src/roff/troff/input.cpp (tag, taga): Always call
- curenv->add_node.
-
- * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
- macros instead of HTML-TAG*.
-
- * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
-
- * tmac/www.tmac: Load devtag.tmac.
- Replace HTML-TAG* macros with DEVTAG* macros.
- (HTML, HTML-NS): Changed definitions.
- (URL): Use HTML-NS.
- (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
-
- * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
-
-2004-12-10 Werner LEMBERG
-
- Import Mike's `gdiffmk' package.
-
- * contrib/gdiffmk/*: New files.
- * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
- * NEWS: Updated.
-
-2004-12-08 Werner LEMBERG
-
- Import Keith's `pdfmark' package. Integration is very preliminary.
-
- * contrib/pdfmark/*: New files.
- * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
- * NEWS: Updated.
-
-2004-12-07 Gaius Mulley
-
- Fix a bug with title handling in HTML.
-
- * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
- text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
- length.
- (html_printer::handle_tag_within_title): New function.
- (html_printer::do_title): Use it.
-
- * tmac/s.tmac (TL): Don't set `need_eo_tl'.
- (cov*tl-au-print): Emit `.eo.tl' tag.
-
-2004-12-05 Alejandro López-Valencia
-
- * man/groff_char.man: Minor imrovements.
-
-2004-12-04 Werner LEMBERG
-
- * src/preproc/eqn/eqn.man: Revised.
-
-2004-11-25 Werner LEMBERG
-
- * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
- groff source files.
- Include config.h.
- Include limits.h.
- Remove X_NOT_STDC_ENV conditional.
- (Version_string, program_name): New global variables.
- (groff_flag): Removed.
- (MapFont): Updated.
- (usage): Take a stream as argument.
- Use `program_name'.
- Update all callers.
- (main): Add `long_options' array for `--help' and `--version'.
- Make `-g' a dummy option.
- Handle `-v' and unknown options.
- Remove unused `position' variable.
-
- * src/utils/xtotroff/Makefile.sub (MAN1): Define.
- (XLIBS): Add LIBGROFF.
-
- * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
- New files.
-
- * src/devices/xditview/Dvi.c (default_font_map): Split into three
- parts to avoid compiler warning.
- (resources): Don't initialize with `default_font_map'.
- (ClassInitialize): Initialize first element of `resources'.
-
- * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
- Removed.
-
- * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
- src/utils/pfbtops/pfbtops.man: Revised, updated.
-
- * configure.ac: Generate src/utils/xtotroff/Makefile.
- * configure: Regenerated.
-
-2004-11-24 Werner LEMBERG
-
- First fixes to get produce HTML.
-
- * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
- attribute.
-
- * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
- (HR, LI): Use `HTML
', not `HTML'.
-
- * doc/webpage.ms: Minor updates.
-
-2004-11-23 Larry Kollar
-
- Add option -S grohtml to determine the file split level.
-
- * src/devices/grohtml/post-html.cpp (split_level): New global
- variable.
- (html_header::determine_header_level): Use split_level.
- (main): Handle `-S' command line option.
- Sort options.
-
- * src/preproc/html/pre-html.cpp (scanArguments): Updated.
-
- * src/devices/grohtml/grohtml.man: Document it.
- Sort options.
-
- * NEWS: Document it.
-
-2004-11-23 Y T
-
- * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
- the volume and number refer entries.
-
-2004-11-22 Werner LEMBERG
-
- * src/devices/grohtml/html-table.cpp
- (html_table::emit_table_header): Don't emit `cols' attribute which
- doesn't exist in HTML 4.0 and is thus invalid.
-
- * NEWS: More minor fixes and updates.
-
-2004-11-18 Werner LEMBERG
-
- * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
- (HTML
): Minor clean-up.
-
- * tmac/groff_www.man: Updated.
-
- * src/devices/grohtml/grohtml.man: Revised and updated.
-
- * NEWS: Updated.
-
-2004-11-18 Gaius Mulley
-
- * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
- Fix space insertion.
- (html_printer::do_links): Fix rules generation around automatic
- heading links.
-
- * tmac/www.tmac (LK): Use HTML-TAG-NS.
- (HR): Simplify.
- No longer emit empty line for non-HTML devices.
-
-2004-11-17 Werner LEMBERG
-
- * doc/Makefile.in (prepare_examples, webpage.html): Handle
- `groff.css'.
-
- * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
- prepare_examples, webpage.html): Handle `groff.css'.
-
-2004-11-15 Werner LEMBERG
-
- * NEWS, README, doc/webpage.ms: Updated.
-
- * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
-
-2004-10-30 Gaius Mulley
-
- * src/include/printer.h (printer): Remove virtual function
- `round_width'.
- Update all source files.
-
- * src/devices/grohtml/post-html.cpp (html_printer): New member
- function `round_width'.
-
-2004-10-20 Tadziu Hoffmann
-
- * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
- column key letter suffix.
-
-2004-10-14 Werner LEMBERG
-
- * Makefile.in (check): Depend on `site.exp' and `docheck'.
- (docheck): Run dejagnu's `runtest' if it exists.
- (site.exp): Create dejagnu configuration file.
-
- * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
-
-2004-10-13 Werner LEMBERG
-
- * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
- src/devices/grohtml/post-html.cpp (make_val,
- html_printer::handle_state_assertion): Fix compiler warnings.
-
- * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
- (diversion::diversion): Fix order of initializers.
-
- * src/roff/troff/div.h: Don't include `mtsm.h'.
-
- * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
- (environment::environment): Fix order of initializers.
- (environment::make_tag, environment::construct_format_state): Fix
- compiler warnings.
-
- * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
- (input_iterator::input_iterator, macro::macro): Fix order of
- initializers.
-
- * src/roff/troff/mtsm.cpp: Include only necessary header files.
- (state_set::add, state_set::val): Fix compiler warnings.
-
- * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
- (bool_value_state, int_value_state, units_value_state,
- string_value_state): Remove comma after last element which causes
- an error with g++ 3.3.3.
-
- * src/roff/troff/node.cpp: Include `stringclass.h'.
- (hline_node::hline_node, vline_node::vline_node,
- space_char_hmotion_node, left_italic_corrected_node): Fix compiler
- warnings.
- (zero_width_node::zero_width_node): Fix order of initializers.
-
- * src/roff/troff/node.h: Don't include `mtsm.h'.
- (hmotion_node): Fix compiler warnings.
-
- * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
-
-2004-10-12 Gaius Mulley
-
- * doc/groff.css: New file.
-
- * doc/webpage.ms: Use `groff.css'.
- Other small fixes.
-
- * tmac/an-old.tmac (need_eo_h): New number register.
- (TH): Emit `.eo.tl' tag after title.
- (SH): Set `need_eo_h'.
- (an-trap): Handle `need_eo_h'.
- (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
-
- * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
- (TL): Always start diversion.
- Updated.
- (@AI): Always call `par@reset'.
- (@AB): Update code for -Thtml.
- (cov*tl-au-print): Handle -Thtml.
- (par@reset): Handle `need_eo_tl', `need_eo_h'.
- (@IP): Simplified.
- (@IT-html): Removed.
- (@SH): Set `need_eo_h' for -Thtml.
- (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
- Set `need_eo_tl'.
- (@NH): s/HTML-TAG/HTMl-TAG-NS/.
- Set `need_eo_h' for -Thtml.
- (@EQ, @EN): Don't handle -Thtml specially.
- (par@load-init): Don't handle -Thtml specially.
-
- * tmac/www.tmac (www:paraspace): New macro.
- (HTML-NS, HTML-TAG-NS): Use new `tag' request.
- (HTML, HTML-TAG-NEXT): New macros.
- (HnE): Emit tag `.eo.h' instead of break.
- (HR): s/HTML-NS/HTML/.
- (www-end-nowhere): End diversion only if `www-html' not set.
- Emit `.eo.tl' tag.
- (ULS, ULE): s|HTML|HTML|.
- (LI): Call `www:paraspace'.
- (HEAD): New macro.
-
-2004-10-11 Gaius Mulley
-
- * src/roff/troff/request.h (macro): Make `p' public.
- New variable `is_a_diversion'.
- New member function `is_diversion'.
-
-
- * src/devices/grohtml/html.h (simple_output): New member function
- `force_nl'.
-
- * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
- computation of `total'.
- (tabs::check_init): New function.
- (html_table::emit_table_header): Emit style data.
- (html_table::insert_column): Improved.
-
- * src/devices/grohtml/html-table.h: Updated.
-
- * src/devices/grohtml/html-text.cpp (html_text::html_text):
- Initialize `start_space' with TRUE.
- (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
- cases.
- (html_text::flush_text): Set `start_space' flag.
- (html_text::uses_indent, html_text::remove_para_space,
- html_text::get_alignment): New functions.
- (html_text::push_para): Updated.
- (html_text::do_para): Check for empty argument.
- Don't set `space_emitted'.
- (html_text::do_space, html_text::emit_space): Updated.
-
- * src/devices/grohtml/html-text.h (tag_definition): New variable
- `really_issued'.
- (html_text): New member function `uses_indent', `remove_para_space',
- `get_alignment'.
-
- * src/devices/grohtml/output.cpp (simple_output::force_nl): New
- function.
- (simple_output:nl): Always emit `\n'.
-
- * src/devices/grohtml/post-html.cpp: Include `string.h'.
- (BASE_POINT_SIZE): Removed.
- (base_point_size, head_info): New global variables.
- (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
- `is_eo_h'.
- (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
- tags, respectively.
- (page::add_and_encode): Pass additional parameter for tag flag.
- (assert_pos): New structure.
- (assert_state): New class.
- (html_printer): Remove `indentation', `prev_indent'.
- Add variables `troff_indent', `device_indent', `temp_indent'.
- Add variables `seen_indent', `next_indent', `seen_pageoffset',
- `next_pageoffset', `seen_linelenght', `next_linelength',
- `seen_center', `next_center', `seen_space', `seen_break', `as'.
- Add member functions `do_check_center', `do_space', `do_head',
- `get_troff_indent', `restore_troff_indent', `handle_assertion',
- `handle_state_assertion', `do_end_para', `set_char_and_width'.
- Change argument to `do_fill' to `char *'.
- Update constructor.
- (html_printer::emit_raw): Call `shutdown_table'.
- Use new functions.
- (html_printer::do_center): Simplified.
- (html_printer::do_title): Improved.
- (html_printer::write_header): Emit one more newline.
- Use new functions.
- (html_printer::do_heading, html_printer::do_indent,
- html_printer::do_eol, html_printer::do_tab_ts,
- html_printer::do_tab, html_printer::do_tab0,
- html_printer::calc_po_in, html_printer::next_horiz_pos,
- html_printer::remove_courier_tabs,
- html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
- Updated.
- (html_printer::do_linelength, html_printer::do_pageoffset,
- html_printer::do_indentation, html_printer::do_tempindent,
- html_printer::do_tab_te): Simplified.
- (html_printer::do_pointsize): Check whether point size is really
- associated a `.tl' tag.
- (html_printer::do_break): Rewritten.
- (html_printer::troff_tag): Improved.
- (html_printer::flush_globs): Updated.
- (html_printer::lookahead_for_tables): Handle `is_br'.
- Use new functions.
- (html_printer::set_char): Check `sbuf_style.f'.
- (html_printer::write_navigation): Use string comparison.
- (html_printer::~html_printer): Emit `head_info'.
- (html_printer::special): Rewritten.
- (get_str, make_val): New functions.
- (main): New option `s' to set the base point size.
-
- * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
-
-2004-10-10 Gaius Mulley
-
- * src/roff/troff/node.cpp: New extern `debug_state'.
- Include `stringclass.h' and `mtsm.h'.
- Implement new classes and class members from `node.h'.
- (real_output_file): Make `fp' public.
- (troff_output_file): New variables `cur_div_level' and `tag_list'.
- Update constructors.
- (troff_output_file::really_print_line): Check whether we should push
- the current troff state and use the state at the start of the
- invocation of this diversion.
- (troff_output_file::add_to_tag_list): New member function.
- (node::add_char): Handle `glyph_comp_np'.
-
- * src/roff/troff/node.h: Include `mtsm.h'.
- (node): New variables `state', `push_state', `div_nest_level',
- `is_special'. Update constructors, all descendants.
- Pass additional argument to `add_char' member function.
- New virtual member functions `is_tag', `debug_node',
- `debug_node_list'. Update all descendants.
- (tag_node): New class for handling tags.
- (output_file): Add variable `state'.
-
-2004-10-09 Gaius Mulley
-
- * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
- providing a minimal troff state machine to emit meta tags for the
- post-grohtml device driver.
-
- * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
- files.
-
-2004-10-09 Werner LEMBERG
-
- * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
-
-2004-10-06 Gaius Mulley
-
- * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
-
- * src/roff/troff/div.h: Include `mtsm.h'.
- (diversion): New variables `any_chars_added', `needs_push',
- `saved_seen_break', `saved_seen_space', `saved_seen_eol',
- `saved_suppress_next_eol', `modified_tag'.
- New virtual member function `is_diversion'. Update all descendants.
-
- * src/roff/troff/div.cpp (diversion::diversion,
- macro_diversion::macro_diversion): Updated.
- (do_divert): Handle `seen_break', `seen_space', `seen_eol',
- `suppress_next_eol'.
- (top_level_diversion::space): Handle `curenv->seen_space'.
- (page_offset): Update tag handling.
- (space_request, blank_line, flush_output): Don't call `add_html_tag'.
-
- * src/roff/troff/env.h (environment): Make `tabs' public.
- Remove `ignore_next_eol', `emitted_node'.
- Update `output_line', `output'.
- New variables `seen_space', `seen_eol', `suppress_next_eol',
- `seen_break'.
- New member functions `construct_state', `make_tag',
- `construct_format_state, `construct_new_line_state,
- `dump_troff_state'.
- Remove `add_html_tag', `make_html_tag'.
-
- * src/roff/troff/env.cpp: New externs `suppress_push',
- `get_diversion_state', `global_diverted_space'.
- (pending_output_line): New variable `was_centered'.
- Update constructor and all callers.
- (pending_output_line::output): Call `curenv->construct_format_state'.
- (environment::environment, environment::copy): Updated.
- (environment::output): Handle `was_centered'.
- (environment::add_char): Handle construct and diversion state.
- (environment::add_node): Handle construct state.
- (environment::newline): Handle `was_centered'.
- (environment::output_line): Updated.
- (environment::possibly_break_line): Updated.
- Update tag handling.
- (environment::add_html_tag): Replaced with...
- (environment::make_tag): New function.
- (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
- (environment::dump_troff_state): New debugging function.
- (environment::construct_state, environment::construct_format_state,
- environment::construct_new_line_state): New functions.
- (environment::do_break): Updated.
- Handle `global_diverted_space'.
- (environment::handle_tag): Update tag handling.
- (point_size, fill, do_break_request): Don't call `add_html_tag'.
- (no_fill): Don't call `add_html_tag'.
- Set `suppress_next_eol'.
- (center, right_justify, line_length, indent, temporary_indent,
- set_tabs):
- Update tag handling.
-
- * src/roff/troff/input.cpp: Don't include `stringclass.h'.
- (input_iterator): New variables `is_diversion', `diversion_state'.
- Update constructors.
- (input_stack): New member functions `get_div_level',
- `get_diversion_state', `check_end_diversion'.
- New variables `div_level', `diversion_state'. Initialize them.
- (suppress_push, global_diverted_space): New global variables.
- (input_stack::finish_get, input_stack::finish_peek,
- input_stack::remove_boundary, input_stack::end_file,
- input_stack::clear, input_stack::pop_macro): Call
- `check_end_diversion'.
- (input_stack::push): Handle `div_level' and `diversion_state'.
- (get_diversion_state): New function.
- (diverted_space_node::reread): Handle `global_diverted_space'.
- (macro::macro): Update constructors.
- (macro::is_diversion): New function.
- (macro::operator=): Set `is_a_diversion'.
- (string_iterator): New member function `is_diversion'.
- (string_iterator::string_iterator): Update constructors.
- (string_iterator::fill): Set `div_nest_level'.
- (macro_iterator): New member function `is_diversion'.
- (do_if_request): Handle `suppress_push'.
- (tag, taga): New functions.
- (init_input_requests): Add `tag' and `taga' requests.
-
-2004-10-05 Gaius Mulley
-
- * src/include/font.h (font): New member function
- `get_image_generator'.
- New variables `unscaled_charwidths' and `image_generator'.
-
- * src/libs/libgroff/font.cpp (font::get_width): Always return the
- character's unscaled width if `font::unscaled_charwidths' is set.
- (font::get_image_generator): New function.
- (font::load_desc): Check the `unscaled_charwidths' and
- `image_generator' keywords.
-
- * src/libs/libgroff/fontfile.cpp: Initialize
- `font::unscaled_charwidths' and `font::image_generator'.
-
- * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
-
- * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
-
- * man/groff_font.man: Document `unscaled_charwidths' and
- `image_generator'.
-
- * src/preproc/html/pre-html.cpp: Include `device.h'.
- (image_gen): New global variable.
- (imageList::createPage): Use `image_gen'.
- (main): Use `image_generator' keyword.
-
-2004-10-04 Gaius Mulley
-
- * tmac/html.tmac: Handle \[sqrtex].
-
-2004-10-04 Gaius Mulley
-
- * src/include/printer.h (printer): New virtual method `round_width'.
-
- * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
- src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
- src/devices/grotty/tty.cpp (printer::round_width): New function
- member.
-
- * src/devices/grohtml/post-html.cpp (printer::round_width): New
- function member.
- (html_printer::set_numbered_char): Use it.
-
-2004-10-03 Gaius Mulley
-
- * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
-
- * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
-
- * configure: Regenerated.
-
- * Makefile.in (GHOSTSCRIPT): New variable.
- (MDEFINES): Add GHOSTSCRIPT.
-
-2004-10-03 Werner LEMBERG
-
- * INSTALL.gen: Updated (taken from texinfo CVS).
-
-2004-09-28 Werner LEMBERG
-
- * NEWS: Updated.
-
-2004-09-28 Heinz-Jürgen Oertel
-
- * tmac/groff_www.man: Revised and updated.
-
-2004-09-26 Werner LEMBERG
-
- Fix \$@ and \$* to handle any number of arguments.
-
- * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
- characters.
-
- * src/roff/troff/input.cpp (input_iterator::internal_level):
- Removed.
- (input_stack): New member functions `increase_level' and
- `decrease_level'.
- (input_stack::get_level): Don't use `internal_level'.
- (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
- (end_quote_iterator): Completely removed.
- (interpolate_arg): Build string for \$@ and \$* which is then
- pushed onto the input stack.
-
-2004-09-23 Keith Marshall
-
- * tmac/groff_ms.man, doc/groff.texinfo: Document changes from
- 2004-09-19.
-
-2004-09-23 Werner LEMBERG
-
- * tmac/an-old.tmac (ne): Using default scaling operator.
-
-2004-09-19 Keith Marshall
-
- This change implements the following features:
-
- PORPHANS
- New numeric register: Defines number of lines following LP, PP,
- QP, IP or XP, which must be kept together, before any automatic
- page break. If insufficient space remains on the current page, a
- page break is forced before the new paragraph begins.
-
- HORPHANS
- New numeric register: Sets number of lines of following paragraph
- which must be kept with a heading, defined by NH or SH, before any
- automatic page break. If insufficient space remains on the
- current page, a page break is forced before the heading.
-
- GROWPS
- (Thanks to Joerg van den Hoff, for this idea).
-
- New numeric register: Sets the first level of heading (set with
- NH), which will keep the same point size as body text; e.g. if
- GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
- point size specified by \n[PS], but .NH 2 and .NH 1 will have
- progressively larger point sizes, determined by \n[PSINCR] (see
- below).
-
- PSINCR
- New numeric register: Sets the point size increment for each level
- of heading, (set with NH), below the threshold level set by
- GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
- then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
- and all other levels will remain at 10pt, (because \n[PS] = 10).
-
- SH
- Existing macro now accepts a numeric argument, to make heading
- size match that of NH with same argument value, when the
- GROWPS/PSINCR feature is enabled.
-
- SN-DOT
- New string, set by NH macro, replaces the existing (undocumented)
- use of SN, to represent the assigned section number.
-
- SN-NO-DOT
- New string, set by NH macro, represents the assigned section
- number, but omits the terminal period (periods at intermediate
- levels are retained).
-
- SN
- String set by NH macro, originally undocumented, now implemented
- as an alias for SN-DOT (which reproduces original behaviour).
-
- * tmac/s.tmac (PORPHANS): New register.
- (par*start): Use it.
- (HORPHANS, GROWPS, PSINCR): New registers.
- (SH-NO-TAG, @SH): Use them.
- (@NH): Improved.
-
-2004-09-19 Keith Marshall
-
- * NEWS, doc/groff.texinfo, tmac/groff_ms.man: Document the deletion
- of `Ds' and `De' macros.
-
-2004-09-10 Werner LEMBERG
-
- In tbl, handle \a as an interpreted leader character if in
- compatibility mode.
-
- * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
- LEADER_CHAR): New macros.
- (compatible_flag): New declaration.
-
- * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
- LEADER_3, and LEADER_4 to `state'.
- (table_input::get): Handle `\a'.
-
- * src/preproc/tbl/table.cpp (PREFIX): Removed.
- (LEADER_REG): New macro.
- (table::init_output): Define LEADER_REG string register if in
- compatibility mode.
-
- * src/preproc/tbl/tbl.man: Document it.
-
-2004-08-18 Werner LEMBERG
-
- * tmac/doc.tmac (An): Fix error message.
-
-2004-08-06 Werner LEMBERG
-
- * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
- file can't be opened. UNIX tbl has the same behaviour.
-
-2004-08-05 Y T
-
- * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
- (DBRead): If in compatibility mode, take into account the text
- when computing figure boundaries.
-
-2004-08-05 Werner LEMBERG
-
- * src/preproc/soelim/soelim.man: Improved. Based on suggestions
- from Tadziu Hoffmann.
-
-2004-08-03 Werner LEMBERG
-
- * doc/meref.me: Document `_M' register.
-
-2004-08-03 Martin Husemann
-
- Make hpftodit work correctly on big-endian systems.
-
- * src/utils/hpftodit/hpftodit.cpp (File): New method
- `get_uint32(char *)'.
- (entry): New member `orig_value'.
- (read_tags): Use new method.
- (output_font_name, read_and_output_pcltypeface, dump_ascii):
- Updated.
-
-2004-08-01 Werner LEMBERG
-
- * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
- are already in X11's `macros.t' file.
-
-2004-08-01 Jeff Conrad
-
- * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
- Fix casting bug.
- (read_and_output_pcltypeface): Handle strings with length <= 4.
-
-2004-07-27 Egil Kvaleberg
-
- * tmac/s.tmac (pg@top): Don't save `PO' register.
- (pg*end-col, pg*end-page): Directly use `PO' register.
-
-2004-07-27 Werner LEMBERG
-
- * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
-
- * src/preproc/refer/refer.cpp (output_references): Check for
- empty hash table.
- * src/preproc/refer/refer.man: Improve documentation of
- `bibliography' command.
-
-2004-07-26 Werner LEMBERG
-
- Add requests `fcolor' and `gcolor'.
-
- * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
- New functions.
- (init_env_requests): Add `fcolor' and `gcolor'.
-
- * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document new requests.
-
-2004-07-24 Werner LEMBERG
-
- Add support for fractional point sizes in ms macros. A value for
- PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
- by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
-
- * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
- PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
-
- * tmac/groff_ms.man, docs/groff.texinfo, NEWS: Document it.
-
-2004-07-19 Werner LEMBERG
-
- * src/preproc/pic/lex.cpp (for_input): Add member `from'.
- Update constructor.
- (do_for, for_input::get, for_input::peek): Handle negative `by'.
- * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
-
-2004-07-08 Thomas Klausner
-
- * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
- * tmac/groff_mdoc.man: Updated.
-
-2004-07-05 Werner LEMBERG
-
- * doc/groff.texinfo: Further improve documentation of `hcode'.
-
-2004-07-04 Sang Dae Yu
-
- Improve appearance of arrows in pic.
-
- * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
- arrow head thin.
- Use two line segments for drawing non-filled arrow head.
- (line_object::print, spline_object::print): Shorten line length to
- avoid arrow sticking.
- (arc_object::print): Take arrow direction into account.
-
-2004-07-03 Heinz-Jürgen Oertel
-
- * tmac/groff_www.man: Update documentation of .MPIMG.
-
-2004-07-03 Werner LEMBERG
-
- * tmac/an-old.tmac (RI): Always start with font `R'.
- (RI, IR): Properly end with font `R'.
-
-2004-07-02 Paul Eggert
-
- * man/ditroff.man, man/groff_font.man, man/groff_out.man,
- src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
- src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
- Don't pass more than six arguments to .R, .I, .B, etc., for
- compatibility with traditional troff macros.
-
-2004-07-02 Werner LEMBERG
-
- * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
- s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
- Update all users.
- (PUSH_COMP_MODE): New internal character constant.
- Update all users.
-
- * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
- PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
- (token::next, macro::append): Handle PUSH_COMP_MODE.
- (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
- POP_GROFFCOMP after each of the decoded arguments to make them
- independent from the compatibility mode status.
- (comp_mode): Add `COMP_ENABLE'.
- (do_define_string, do_define_macro): Handle COMP_ENABLE.
- (define_string, append_string, define_macro, define_indirect_macro,
- append_macro, append_indirect_macro): Handle `compatible_flag'.
- (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
-
- * man/groff_diff.man, doc/groff.texinfo: Updated.
-
-2004-07-01 Werner LEMBERG
-
- * doc/groff.texinfo: Improve documentation of `hcode'.
- Use @documentencoding and convert document to latin-1; to do that
- make latin characters active and assign proper macros (within a
- @tex...@end tex environment).
- * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
- * doc/Makefile.sub (groff): Ditto.
-
-2004-06-29 Werner LEMBERG
-
- Implement two new conditional operators `F ' and `S '
- which check whether is a valid font or style, respectively.
-
- * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
- (text_file::text_file): Updated.
- (text_file::error): Don't emit message if `silent' is set.
- (font::load_font): Add optional third argument (which is directly
- passed to `load'.
- (font::load): Add optional second argument to check the header of
- a font only, without emitting warning or error messages.
- * src/include/font.h (font): Updated.
-
- * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
- conditionals.
- * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
- fourth argument to check a font without mounting.
- (check_font, check_style): New functions.
- * src/roff/troff/node.h: Updated.
-
- * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
- Updated.
-
-2004-06-27 Werner LEMBERG
-
- Implement new string-valued register `.sty' to return the current
- style name.
-
- * env.cpp (environment::get_style_name_string): New function.
- (init_env_requests): Add `.sty' register.
- * env.h (environment): Updated.
- * node.cpp (font_info): Make `get_style_name' a friend.
- (get_style_name): New function.
- * node.h: Updated.
-
- * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
- Updated.
-
-2004-06-15 Werner LEMBERG
-
- * src/preproc/tbl/main.cpp (process_data) : Handle
- `nospaces' option.
-
-2004-06-10 Colin Percival
-
- * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
- and \n[mo] to avoid dependency on current date.
-
-2004-06-08 Werner LEMBERG
-
- * Makefile.sub (install_data): New target.
-
-2004-06-04 Werner LEMBERG
-
- * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
-
-2004-06-03 Werner LEMBERG
-
- * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
- order of libraries.
- (install_data): Add $(srcdir).
-
- * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
- libraries.
-
-2004-06-02 Werner LEMBERG
-
- * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
- Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
- Add test for Xmu library.
- (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
- GROFF_APPRESDIR_DEFAULT): New macros.
-
- * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
- and GROFF_APPRESDIR_DEFAULT.
-
- * configure: Regenerated.
-
- * Makefile.in (appresdir): New variable.
- (MDEFINES): Add appresdir.
-
- * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
- -Xt.
- (install_data, uninstall_sub): New targets to handle GXditview.ad.
-
- * src/utils/indxbib/Makefiles.ub (install_data): Depend on
- `$(srcdir)/eign', not `eign'.
-
- * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
-
- * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
- src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
- Protect (g)xditview with `\%' to avoid hyphenation.
- Other minor formatting.
-
-2004-06-01 Werner LEMBERG
-
- Integrate gxditview into groff's standard directory hierarchy.
-
- * src/xditview/*: Moved to ...
- * src/devices/xditview/*: Here.
- Moved DviChar.h and XFontName.h to src/include.
- Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
- Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
- Moved xtotroff.c to new directory src/utils/xtotroff.
- Provide proper Makefile.sub files (reusing the stuff from
- Imakefile.in).
- DESC renamed to DESC.in.
- Removed GXDitview-ad.h, INSTALL, Imakefile.in.
- Converted everything from K&R to ANSI C.
- Decorated with const where appropriate.
- Cast string constants with `String' and `char *' where appropriate.
- Made it compile with C++ (used as a C compiler).
- Removed other minor compiler warnings.
-
- * src/devices/xditview/device.c: Include config.h, string.h, and
- defs.h.
- Don't declare `exit', `strtok', `strchr', and `getenv'.
- (FONTPATH): Remove.
-
- * src/devices/xditview/font.c: Don't declare `XParseFontName' and
- `XFormatFontName'.
-
- * src/devices/xditview/xditview.c: Include config.h.
- Include stdio.h earlier.
- Protect declaration of `popen' and `pclose' with
- NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
- Replace `caddr_t' with `XtPointer'.
- (MakePromptFunc): New typedef.
- (DoPrint): Use RETSIGTYPE.
- (promptfunction): Change type to MakePromptFunc.
- (MakePrompt): Use MakePromptFunc for third argument.
- (xmalloc): Removed.
-
- * src/devices/xditview/ad2c: Add casts to `String'.
-
- * src/include/XFontName.h (XFontNameString): Don't use array
- notation.
- Add prototypes for `XParseFontName', `XFormatFontName',
- `XCompareFontName', and `XCopyFontName'.
-
- * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
- `XFontName.h'.
-
- * src/utils/xtotroff/xtotroff.c: Include getopt.h.
- Don't declare `XParseFontName' and `XFormatFontName'.
- (xmalloc): Removed.
- (main): Remove `optind' and `optarg'.
-
- * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
- (to select programs which need X).
- Make XDEVIDIRS depend on `FORCE'.
- (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
- X support).
- (MDEFINES): Updated.
- (LIBDIRS): Use XLIBDIRS.
- (CPROGDIRS): Use XPROGDIRS.
- (DEVDIRS): Remove font directories for gxditview.
- (ALLDIRS, DISTDIRS): Add XDEVDIRS.
- (EXTRADIRS): Remove src/xditview.
-
- * Makefile.sub (DISCLEANFILES): Updated.
-
- * Makefile.comm (LIBXUTIL): New variable.
- (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
- (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
-
- * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
-
- * aclocal.m4 (GROFF_X11): New function.
-
- * configure.ac: Call GROFF_X11.
- Don't create src/xditview/Imakefile.
- Don't emit notice how to build gxditview.
-
- * configure: Regenerated.
-
- * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
-
-2004-05-28 Akihiro Sagawa
-
- * Makefile.in (CPPFLAGS): Define.
- (MDEFINES): Add CPPFLAGS.
-
-2004-05-27 Werner LEMBERG
-
- * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
-
-2004-05-26 Niklas Edmundsson
-
- Fix problems with `friend name injections'.
-
- * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
- make_script_box), src/roff/troff/div.h (end_diversions),
- src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
- change 2004-04-08.
-
-2004-05-25 Bernd Warken
-
- * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
-
-2004-05-25 Werner LEMBERG
-
- * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
- src/libs/libgroff/color.cpp: Include lib.h.
-
-2004-05-25 Paul Eggert
-
- * PROBLEMS: Update documentation for problems with Sun C++ 5.0
- through Forte 6u1, and for how to get GNU make on Solaris.
-
-2004-05-24 Werner LEMBERG
-
- * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
- by Paul Eggert.
-
-2004-05-15 Keith Marshall
-
- * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
- rule.
-
-2004-05-14 Werner LEMBERG
-
- * REVISION: Set to 2.
-
- * aclocal.m4 (GROFF_STDINT_H): Removed.
- (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
-
- * configure.ac: Updated.
- * configure, src/include/config.hin: Regenerated.
-
- * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
- inttypes.h conditionally.
-
-2004-05-13 Werner LEMBERG
-
-Version 1.19.1 released
-=======================
-
-2004-05-10 Stephen Gildea
-
- * src/preproc/refer/label.y (same_author_last_name,
- same_author_name): Handle empty sort keys.
-
-2004-05-10 Werner LEMBERG
-
- * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
- tmac/TODO: Updated.
-
- * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
- doc-str-Lb-librt): Reset font.
- (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
- Provide `doc-str-Lb' to reset font.
- * tmac/groff_mdoc.man: Updated.
-
-2004-05-08 Jan Schaumann
-
- * src/preproc/html/pre-html.cpp (make_message): Make it work for
- snprintf versions which don't conform to ANSI C 99 (this is,
- counting the string's trailing null byte in the return value).
-
-2004-05-07 Keith Marshall
-
- * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
- that all implementations of sprintf handle null pointers correctly.
-
-2004-05-04 Werner LEMBERG
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document `.U' register.
-
- * src/roff/troff/env.cpp (environment::mark_last_line)
- [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
-
-2004-05-04 Larry Kollar
-
- New read-only register `.U'; it returns 1 in safer mode and 0
- otherwise.
-
- * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
- register.
-
-2004-05-03 Werner LEMBERG
-
- * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
-
-2004-04-17 Werner LEMBERG
-
- * src/include/font.h (font): Use `int' for ch_index.
- * src/libs/libgroff/font.cpp (font::alloc_ch_index,
- font::compact): Updated.
-
- * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
- warnings.
-
- * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
- (hyphen_word): Fix compiler warnings.
- * src/roff/troff/input.cpp (get_char_for_escape_name): Return
- `char'.
- Update all callers.
- (get_delim_number, get_line_arg): Change second argument type to
- `unsigned char'.
- (macro_header::copy, token::next, do_define_string,
- do_define_character, substring_request, asciify_macro,
- unformat_macro, read_size, non_interpreted_node::interpret,
- while_request, main: Fix compiler warnings.
- (read_color_draw_node): Initialize `col'.
-
- * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
- `start_col' and `end_col' of type `int'.
- (vertical_rule): Make `col' of type `int'.
-
- * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
- for EOF.
-
- * src/preproc/refer/label.y (uppercase_array, lowercase_array):
- New arrays.
- (format_serial): Use them to remove dependency on ASCII.
-
- * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
- compiler warning.
- * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
- Ditto.
-
- * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
- compiler warnings.
- (glyph): Change type of `hpos' to `int'.
-
- * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
- * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
-
- * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
-
- * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
-
-2004-04-16 Werner LEMBERG
-
- * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
- src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
- src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
- `double' instead of `float' everywhere.
- * src/preproc/grn/main.cpp: Use `double' instead of `float'
- everywhere.
- (main): Add return value.
- * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
- everywhere.
- Update all user functions.
-
- * src/include/search.h, src/include/ptable.h, src/include/printer.h,
- src/preproc/eqn/box.h, src/preproc/pic/object.h,
- src/preproc/refer/refer.h, src/preproc/tbl/table.h,
- src/preproc/tbl/table.cpp, src/roff/troff/env.h,
- src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
- src/roff/troff/input.cpp, src/roff/troff/request.h,
- src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
- declarations.
-
- * src/utils/indxbib/signal.c: Include stdlib.h.
-
-2004-04-14 Keith Marshall
-
- * tmac/s.tmac (@init, RP): Allow initialization of the PO register
- before the first page.
-
-2004-04-14 Thomas Klausner
-
- * tmac/doc-common (doc-volume-as-*): Use lowercase names.
- (doc-operating-system-*): Updated.
- * tmac/doc-syms (doc-str-St-*): Various small fixes.
- (doc-str-Lb-*): Add more library names.
-
-2004-04-10 Art Haas
-
- * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
- use anonymous type.
-
-2004-04-09 Art Haas
-
- * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
-
-2004-04-09 Keith Marshall
-
- * arch/misc/shdeps.sh: Generate better comment for sed script.
-
-2004-04-08 Art Haas
-
- * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
- src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
- src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
- src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
- (polyfill), src/preproc/grn/main.cpp (polyfill),
- src/preproc/refer/command.cpp (command_table),
- src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
- gcc 3.5 doesn't like).
-
-2004-04-08 Werner LEMBERG
-
- Removing many compiler warnings. groff should now compile with
- a C++ compiler used for C files also. [Simple variable renamings
- to avoid shadowing aren't logged in detail.]
-
- * src/devices/grodvi/dvi.cpp: Some local variable renamings.
- (draw_dvi_printer::draw) ['c']: Enclose in block.
-
- * src/devices/grohtml/post-html.cpp: Some local variable renamings.
- (page::add_line): Fix typos.
- * src/devices/grohtml/html-text.cpp: Some local variable renamings.
-
- * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
- Some local variable renamings.
- * src/devices/grolbp/lbp.h: Some local variable renamings.
-
- * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
- variable renamings.
-
- * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
- Remove redundant local variable declaration.
- * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
- Don't use `caddr_t' but `void *'.
- Enclose functions with `extern "C"' for C++.
-
- * src/libs/libdriver/input.cpp (remember_filename,
- remember_source_filename): Use cast for string constant.
-
- * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
- src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
- src/libs/libgroff/geometry.cpp: Some local variable renamings.
- * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
- style.
- Enclose functions with `extern "C"' for C++.
- * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
- (needs_quoting): Return `int'.
- (quote_arg): Add proper casts to malloc and realloc.
- * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
- various MS Windows environments.
- (spawnvp_wrapper): Add proper cast to malloc.
-
- * src/preproc/eqn/box.h: Remove redundant declarations of
- `make_script_box', `make_mark_box' and `make_lineup_box'.
- * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
- * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
- variable renamings.
-
- * src/preproc/grn/hpoint.cpp: Some local variable renamings.
- * src/preproc/grn/hgraph.cpp: Some local variable renamings.
- (dx, dy): Renamed functions to...
- (deltax, deltay): This.
- * src/preproc/grn/main.cpp: Some local variable renamings.
- (deffont): Add `const'.
- (initpic, conv): Use cast for string constant.
-
- * src/preproc/html/pre-html.cpp: Some local variable renamings.
- (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
- (char_buffer::run_output_filter): Second argument is unused.
- * src/preproc/html/pushback.cpp: Some local variable renamings.
-
- * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
- * src/preproc/pic/object.cpp: Some local variable renamings.
-
- * src/preproc/refer/label.y (lookup_label): Remove redundant
- declaration of local variable.
-
- * src/preproc/soelim.cpp: Remove redundant declaration of
- `interpret_lf_args'.
-
- * src/preproc/tbl/main.cpp: Some local variable renamings.
-
- * src/roff/groff/groff.cpp (main): Use cast for string constant.
- * src/roff/groff/pipeline.c: Enclose declarations of `error',
- `c_fatal', and `i_to_a' with `extern "C"' for C++.
- Don't use C++-style comments.
-
- * src/roff/troff/env.h: Remove redundant declaration of `title'.
- * src/roff/troff/node.h, src/roff/troff/env.cpp,
- src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
- renamings.
- * src/roff/troff/div.h: Remove redundant declaration of
- `end_diversions'.
- * src/roff/troff/troff.h: Remove redundant declaration of
- `cleanup_and_exit'
- * src/roff/troff/input.cpp: Remove redundant declaration of
- `handle_first_page_transition' and `process_input_stack'.
-
- * src/utils/hpftodit.cpp: Some local variable renamings.
-
- * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
- for C++.
- Don't define RETSIGTYPE.
- * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
-
- * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
- (error): Use `const' in argument.
- (main): Remove redundant declaration of `optind'.
- Move declaration of `Version_string' to top-level.
-
- * PROBLEMS: Document difficulties compiling signal.c if a C++
- compiler is used for C.
-
-2004-04-07 Werner LEMBERG
-
- * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
-
-2004-04-06 Keith Marshall
-
- Make scripts like nroff.sh and neqn.sh portable across various
- (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
- non-POSIX path separators. The idea is to extend those scripts to
- decide at run-time (of the script) which path separator to use.
-
- * arch/misc/Makefile.sub: New file.
- * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
- This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
- a proper definition of the variable `GROFF_RUNTIME'.
-
- * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
- (MDEFINES): Add SH_DEPS_SED_SCRIPT.
- (PROGDEPDIRS): New variable.
- `FORCE' it.
- (PROGDIRS): Add PROGDEPDIRS.
-
- * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
- Don't substitute @SEP@ and @BINDIR@.
- * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
- (PATH): Use GROFF_RUNTIME.
-
- * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
- Don't substitute @SEP@ and @BINDIR@.
- * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
- (PATH): Use GROFF_RUNTIME.
-
-2004-04-05 Keith Marshall
-
- * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
- Cygwin which doesn't handle stderr correctly.
-
-2004-03-08 Werner LEMBERG
-
- * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
- against empty argument. Problem reported by .
-
-2004-03-05 Keith Marshall
-
- * Makefile.in (SEP): Replaced with...
- (RT_SEP, SH_SEP): Separators for the target platform's native path
- separator and the build environment, respectively.
- (fontpath, tmacpath): Use RT_SEP.
- (MDEFINES): Updated.
-
- * contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
- * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
- * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
- * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
-
-2004-03-05 Werner LEMBERG
-
- * fonts/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
- reduce alignment problems with newer printers which use built-in
- TrueType fonts (instead of the older Intellifonts). The ideal
- solution is to provide a second set of groff metric files, but this
- is extremely time-consuming to produce, given that HP's metric
- files are very rudimentary.
-
-2004-03-01 Werner LEMBERG
-
- * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
- s/operand/argument/ in error message.
-
-2004-03-01 Keith Marshall
-
- * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
- is in use.
-
-2004-03-01 Antti Kantee
-
- * tmac/s.tmac (XE): Fix error message.
-
-2004-02-27 Jeff Conrad
-
- * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
- New macros.
-
- * src/roff/groff/pipeline.c: Declare strcasecmp.
- (run_pipeline) [_WIN32]: Use function name variants which don't
- start with `_'.
- Fix stream handling.
-
-2004-02-27 Keith Marshall
-
- * src/include/nonposix.h: Fix declaration of `system_shell_name'.
- Declare `spawnvp_wrapper' and macro definitions of spawnvp only
- for platforms which use the native Win32 runtime libraries.
- (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
-
- * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
- QUOTE_ARG_REALLOC_ERROR): Fix string.
-
- * src/preproc/html/pre-html.cpp: Remove declaration of
- `spawnvp_wrapper'.
- Don't use __MINGW32__.
- s/DEBUG_FILE/DEBUG_FILE_DIR/.
- (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
- (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
- (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
- calls to `set_redirection' and `WAIT'.
- [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
- Fix calls to `set_redirection' and `save_and_redirect'.
- (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
- to `set_redirection' and `save_and_redirect'.
- (usage): Fix message.
- (makeTempFiles, main): Use `DEBUG_FILE'.
-
-2004-02-21 Werner LEMBERG
-
- * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
-
-2004-02-21 Keith Marshall
-
- * src/libs/libgroff/quotearg.c: New file, providing proper argument
- quoting for MSVC's spawn* and exec* functions.
- * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
- spawnvp with proper quoting for MSVC.
-
- * src/libs/libgroff/assert.cpp (program_name),
- src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
- * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
-
- * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
-
- * src/include/error.h (program_name): Declare as `extern "C"'.
- * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
-
-2004-02-21 Jeff Conrad
-
- * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
- spawnvp_wrapper.
- [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
-
-2004-02-20 Jeff Conrad
-
- * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
- variable.
- (sbasename) [__MSDOS__ || ...]: New function.
- (system_shell_name) [__MSDOS__ || ...]: Use a different, more
- generic algorithm.
- (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
- (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
- of XXX.
- Use STDOUT_FILENO instead of hardcoded file handle.
- (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
-
-2004-02-19 Werner LEMBERG
-
- * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
- avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
-
-2004-02-18 Werner LEMBERG
-
- * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
- new font and mapping files.
-
-2004-02-18 Jeff Conrad
- Keith Marshall
-
- * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
- an input pipe. This is needed for the MSVC compiler to make troff's
- `-o' option work.
-
- * src/roff/troff/div.cpp: Include nonposix.h.
- (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
-
-2004-02-17 Werner LEMBERG
-
- * font/devlj4/generate/special.awk: New script.
- * font/devlj4/generate/Makefile (S): Use special.awk.
- * font/devlj4/*: Regenerated, including the following new files:
- Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
- MS Symbol (SYMBOL), Wingdings (WINGDINGS).
- * NEWS: Document new lj4 fonts and revised hpftodit.
-
-2004-02-17 Paco Andrés Verdú
-
- * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
-
-2004-01-25 Werner LEMBERG
-
- * src/libs/libgroff/progname.cpp: Replaced with...
- * src/libs/libgroff/progname.c: New file.
- * src/libs/libgroff/Makefile.sub: Updated accordingly.
-
-2004-01-17 Werner LEMBERG
-
- * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
-
-2004-01-16 Jeff Conrad
-
- * font/devlj4/generate/wingdings.map,
- font/devlj4/generate/symbol.map: Include unnamed glyphs.
- Use groff glyph names where possible.
- * src/devices/grolj4/lj4_font.man: Minor updates.
-
-2004-01-13 Werner LEMBERG
-
- * tmac/www.tmac (DC): Handle TTY devices.
-
- * doc/webpage.ms: Document viewCVS from ffii.org.
- * NEWS, README: Updated.
-
- * src/roff/groff/groff.man: Mention lj4_font man page.
-
- * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
- variables.
- (FONTS): Add SYMBOL and WINGDINGS.
- (SYMBOL, WINGDINGS): New targets.
-
-2004-01-13 Jeff Conrad
-
- * src/devices/grolj4/lj4_font.man: New man page.
- * src/devices/grolj4/Makefile.sub (MAN5): New variable.
- * src/devices/grolj4.man: Mention lj4_font man page.
-
- * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
- * src/utils/hpftodit/hpftodit.man: Document it.
- (CW): New macro.
- Remove details about fonts (which are now in lj4_font.man).
-
- * font/devlj4/generate/symbol.map,
- font/devlj4/generate/wingdings.map: New files.
-
-2004-01-12 Werner LEMBERG
-
- * README: Mention ffii's viewcvs access.
-
-2004-01-09 Werner LEMBERG
-
- * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
-
-2004-01-09 Jeff Conrad
-
- Revert most of the change from 2004-01-03 to better control used
- symbol sets.
-
- * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
- (text_symbol_sets, special_symbol_sets): New arrays.
- (symbol_set_table): New global variable.
- (read_symbol_sets): Use search order given in the text_symbol_sets
- and special_symbol_sets arrays. If command line flag -a is not
- given, search both arrays.
- (output_charset): Require x_height_tag only for command line flag -i.
-
-2004-01-06 Werner LEMBERG
-
- Implement string-valued registers \n[.m] and \n[.M] to return the
- name of the current drawing and background color, respectively.
-
- * src/roff/troff/symbol.h: Moved to...
- * src/include/symbol.h: Here.
- Small fixes to make it work outside of the `troff' directory.
- * src/roff/troff/symbol.cpp: Moved to...
- * src/libs/libgroff/symbol.cpp: Here.
- Small fixes to make it work outside of the `troff' directory.
-
- * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
- (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
- Updated.
-
- * src/include/color.h: Include symbol.h.
- (color): Add new field `nm'.
- * src/libs/libgroff/color.cpp (color::color): Updated.
-
- * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
- src/roff/troff/node.cpp, src/roff/troff/number.cpp,
- src/roff/troff/reg.cpp: Don't include symbol.h.
-
- * src/roff/troff/env.cpp: Don't include symbol.h.
- (environment::get_glyph_color_string,
- environment_get_fill_color_string): New member functions.
- (init_env_requests): Handle `.m' and `.M' registers.
- * src/roff/troff/input.cpp: Don't include symbol.h.
- (default_symbol): Moved to symbol.cpp/symbol.h.
- (do_glyph_color, do_fill_color, define_color): Pass symbol name
- to color constructor.
- * src/roff/troff/env.h: Updated.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document new registers.
-
-2004-01-05 Werner LEMBERG
-
- * src/roff/troff/node.cpp (space_node::get_breakpoints,
- space_node::nbreaks): Protect against zero `next' field.
-
-2004-01-03 Jeff Conrad
-
- In hpftodit, use the symbol sets offered in the TFM.
-
- * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
- (symbol_set, text_symbol_sets, special_symbol_sets,
- symbol_set_table): Removed.
- (get_printcode): Removed.
- (read_symbol_sets): Initialize `symbol_set' field with
- `NO_SYMBOL_SET'.
- Simplify code to just use the `kind' value.
- (output_charset): Improve output formatting.
- (dump_symbols): Simplified.
-
-2004-01-02 Werner LEMBERG
-
- * font/devlj4/generate/text.map: Add more MSL numbers.
-
-2004-01-02 Jeff Conrad
-
- * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
- (text_symbol_sets): Add more symbol sets.
- (debug_flag): New static variable (moved from `main').
- (get_printcode, show_symset): New functions.
- (main): Remove `debug_flag'.
- (output_charset): Use `show_symset'.
- (dump_symbols): Use `show_symset'.
- Print symsets for all glyphs.
- (read_map): Actually call `unicode_to_ucode_make' but this time
- correctly.
-
-2004-01-01 Werner LEMBERG
-
- * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
- Fix placement of comments.
-
-2004-01-01 Jeff Conrad
-
- * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
- option `-d' is given.
- (output_charset): Improve warning messages to give more information.
- (dump_symbols): Make information more precise.
- (usage): Updated.
- (read_map): Don't call unicode_to_ucode_name; the glyph names must
- appear as-is and shouldn't be decomposed.
-
-2003-12-31 Werner LEMBERG
-
- * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
- * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
- (FONTS): Add TrueType font families Arial and Times New Roman.
- (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
- * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
- `fl'.
-
-2003-12-31 Jeff Conrad
-
- * test-groff.in (SEP): Quote value.
- * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
- `tem' to `char*' to avoid deallocation of a pointer to a constant
- object which some compilers don't like.
-
-2003-12-31 Werner LEMBERG
-
- * font/devlj4/generate (text.map, special.map): Rewritten to work
- with the new hpftodit version.
-
-2003-12-30 Jeff Conrad
-
- * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
- set and 8bit character code for all glyphs also.
-
-2003-12-30 Werner LEMBERG
-
- * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
-
-2003-12-29 Werner LEMBERG
-
- More fixes for MSVC compiler.
-
- * doc/Makefile.sub, contrib/mom/Makefile.sub (GROFF_BIN_PATH): Use
- $(SEP).
-
- * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
- STDERR_FILENO) [_MSC_VER]: Define conditionally.
- (getpid) [_MSC_VER]: Remove.
- Include direct.h and process.h conditionally.
-
- * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
- parentheses for a_delete.
-
- * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
-
- * test-groff: Replaced with...
- * test-groff.in: This new template to handle path separator
- properly.
-
- * configure.ac: Check for direct.h and process.h.
- Generate test-groff script.
- * configure, src/include/config.hin: Regenerated.
-
-2003-12-28 Werner LEMBERG
-
- Add integral extension glyph.
- Add new option `-x' to afmtodit to suppress use of built-in AGL.
-
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
-
- * font/devps/generate/textmap: Provide entry for `integralex' to
- override (old) PUA value of the AGL.
- * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
- * font/devps/*: Regenerated.
-
- * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
- * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
-
-2003-12-27 Werner LEMBERG
-
- Add forgotten `coproduct' symbol (already available for DVI).
-
- * font/devhtml/R.proto, font/devps/generate/textmap,
- font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
- src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
- U+2210 (\[coproduct]).
-
-2003-12-26 Jeff Conrad
-
- hpftodit has been extended to handle TrueType metric files and
- more glyphs. See hpftodit.man for more details.
-
- * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
- ctype.h, and unicode.h.
- s/msl/charcode/ everywhere since we now handle Unicode values also.
- (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
- Use it where appropriate.
- (MULTIPLIER): Replaced with...
- (multiplier): New global static variable.
- (scale): Updated.
- (tag_type): Add more TFM tags.
- (tag_name): New array.
- (ENUM_TYPE, FLOAT_TYPE): Removed.
- (BYTE_TYPE): New value assigned.
- (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
- (text_symbol_sets, special_symbol_sets): Extended to cover more
- sets.
- (check_type): Add return value.
- (check_units): Add parameters to get ppi and upem values.
- Handle TrueType TFM data.
- (output_font_name): New function.
- (output_charset): Add parameter to handle TFM type.
- Handle TrueType TFMs also.
- (em_fract): New macro.
- (dump_tags): Be much more verbose and handle more tags.
- (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
- (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
- functions.
- (read_map): Add parameter to handle TFM type.
- Handle both MSL and Unicode mappings.
- (main): Add two new command line options `-a' and `-q'.
- Updated to make use of new functions.
- (usage): Updated.
-
- * src/utils/hpftodit/hpuni.cpp: New file.
-
- * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
- Updated.
-
-2003-12-25 Werner LEMBERG
-
- * src/include/nonposix.h (read) [_MSC_VER]: Define.
-
-2003-12-24 Werner LEMBERG
-
- * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
- by Michail Vidiassov .
-
-2003-12-20 Werner LEMBERG
-
- * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
- and u0049_0307.
- Add missing latin-2 glyphs.
- * font/devutf8/R.proto: Add missing latin-2 glyphs.
-
- * tmac/troffrc: Load `composite.tmac' earlier.
-
- * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
- u00{53,73}_0327, and u0049_0307.
- * tmac/X.tmac: Add u00{47,67}_0306.
- * tmac/tty-char.tmac: Use composite glyph names for readability.
-
- * NEWS: Updated.
-
- * src/include/unicode.h: Remove `extern' keywords.
-
-2003-12-20 Nilgün Belma Bugüner
-
- * tmac/latin5.tmac: New file.
-
-2003-12-19 Werner LEMBERG
-
- Add some glyphs needed for Turkish.
-
- * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
- and u0049_0307.
-
- * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
- * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
- u00{53,73}_0327, and u0049_0307.
-
-2003-12-18 Werner LEMBERG
-
- * src/devices/grops/ps.cc (ps_output::put_float): Revert change
- from 2001-10-04.
- Remove trailing zeros.
-
-2003-12-17 Werner LEMBERG
-
- Make \? transparent to end-of-sentence recognition.
-
- * src/roff/troff/input.cc (non_interpreted_node): Add
- `ends_sentence' member function.
-
-2003-12-16 Werner LEMBERG
-
- * doc/groff.texinfo: Document `dt' request correctly.
- Other minor typographical improvements.
-
-2003-12-10 Michail Vidiassov
-
- * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
-
-2003-12-10 Richard Stallman
-
- * LICENSE: Better wording.
-
-2003-12-09 Werner LEMBERG
-
- * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
- * configure, NEWS: Updated.
-
-2003-12-08 Werner LEMBERG
-
- * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
-
-2003-12-07 Bernd Warken
-
- * LICENSE: Updated.
-
-2003-12-07 Werner LEMBERG
-
- * INSTALL: Improved.
-
-2003-12-05 Keith Marshall
-
- Use path separator character of target platform for compiled-in
- default paths.
-
- * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
- * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
- * configure: Regenerated.
- * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
-
-2003-12-05 Werner LEMBERG
-
- * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
- Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
-
-2003-12-04 Bernd Warken
-
- * LICENSE: New file.
-
-2003-12-03 Werner LEMBERG
-
- * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
- ligatures present in AFM files since groff currently only
- understands some standard ligatures and nothing else.
-
-2003-12-03 Jeff Conrad
-
- * src/roff/groff/groff.cpp (main): Don't run the spooler if
- option -v is given.
-
- * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
- messages.
- Close stdout copy.
- Don't use Unix wait flags.
-
-2003-12-02 Werner LEMBERG
-
- * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
- src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
- src/roff/troff/uniuni.cpp: Moved to...
- * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
- src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
- src/libs/libgroff/uniuni.cpp: Here.
-
- * src/include/Makefile.sub.old (HDRS),
- src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
- src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
-
-2003-12-01 Keith Marshall
-
- * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
- `DEBUG_FILE'.
- Updated all users.
-
-2003-12-01 Werner LEMBERG
-
- * groff.texinfo: Document special behaviour of `.vs 0'.
- Improve documentation of `cflags' request.
- * NEWS: Updated.
-
-2003-11-29 Werner LEMBERG
-
- * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
- * font/devlj4/CORONET: Regenerated.
-
-2003-11-24 Werner LEMBERG
-
- * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
- if processing hyphenation patterns in traditional mode.
- Improve error messages.
-
-2003-11-20 Werner LEMBERG
-
- * src/roff/troff/node.cpp (troff_output_file::put_char_width,
- troff_output_file::put_char): Fix type of local variable `c'.
-
-2003-11-19 Werner LEMBERG
-
- * src/roff/groff/pipeline.c (P): Removed. Updated all function
- declarations.
- (i_to_a): Removed. libgroff already provides this function.
- (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
-
-2003-11-18 Keith Marshall
-
- * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
- HAVE_DECL_SYS_LIST.
-
-2003-11-17 Werner LEMBERG
-
- * COPYING: Use correct version.
-
-2003-11-11 Werner LEMBERG
-
- LynxOS 4.0.0 doesn't declare vfprintf.
-
- * configure.ac: Check for vfprintf.
- * configure: Regenerated.
- * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
- * src/include/config.hin: Regenerated.
-
-2003-11-10 Werner LEMBERG
-
- LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
-
- * configure.ac: Check for vsnprintf.
- * configure: Regenerated.
- * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
- `HAVE_VSNPRINTF'.
- * src/include/config.hin: Regenerated.
-
-2003-11-09 Werner LEMBERG
-
- * aclocal.m4: Updated syntax to autoconf 2.59.
- (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
- Don't check for gsos2.
- (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
- working abs_top_srcdir and abs_top_builddir.
-
- * configure.ac: Updated syntax to autoconf 2.59.
- Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
- Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
- * configure: Regenerated.
-
- * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
- s/@groff_top_builddir@/@abs_top_builddir@/.
-
- * src/roff/groff/pipeline.c (xstrsignal):
- s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
-
-2003-11-07 Werner LEMBERG
-
- * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
- make start angle smaller than end angle to circumvent a bug in tpic
- handling of some versions of dvipdfm (and dvipdfmx).
-
-2003-10-30 Werner LEMBERG
-
- * src/devices/grops/grops.man: Improve section on creating EPS.
-
-2003-10-29 Werner LEMBERG
-
- * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
- -P-pletter).
-
-2003-10-28 Werner LEMBERG
-
- * doc/groff.texinfo: Fix documentation of `.if'.
-
-2003-10-27 Michail Vidiassov
-
- * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
- the form `uniXXXX' also.
-
-2003-10-27 Werner LEMBERG
-
- * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
- contrib/pic2graph/pic2graph.sh: Implement secure management of
- temporary files.
- Pass `-P-pletter' to groff to avoid data outside of the converted
- area -- some versions of `convert' (for example 5.3.8) don't check
- the bounding box of the image but always use a fixed image size
- (letter paper format).
- * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
- contrib/pic2graph/pic2graph.man: Updated.
-
- * src/roff/groff/groff.man: Document $TMP and $TEMP.
-
-2003-10-26 Werner LEMBERG
-
- * src/preproc/pic/troff.cpp (troff_output::simple_circle,
- troff_output::simple_ellipse, troff_output::simple_arc,
- troff_output::simple_line, troff_output::simple_spline,
- troff_output::simple_polygon): Insert a space before arguments.
- (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
- latter doesn't produce a node, so the following `.sp -1' would do
- the wrong thing.
- Don't emit `.sp -1' after \M. This also doesn't produce a token
- (and we don't have to care about compatibility mode).
- (troff_output::set_color, troff_output::reset_color): Don't emit
- `.sp -1' after \M and \m.
-
- * src/roff/troff/input.cpp (old_have_input): New global variable.
- (input_stack::get): Handle `old_have_input'.
- (process_input_stack) : Call
- `trapping_blank_line' depending on `old_have_input', not
- `have_input'.
-
-2003-10-20 Keith Marshall
-
- * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
- (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
- default directory names for temporary files.
- [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
-
- * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
- [__MSDOS__] (run_pipeline): Honour environment variables.
- Don't use `tmpnam' but `tempnam' to work around messy
- implementation.
-
- * README.MinGW: New file.
-
-2003-10-16 Werner LEMBERG
-
- * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
- `(*t)->next' without testing validity of `*t'.
- (usage): Make it more readable.
-
-2003-10-16 Keith Marshall
-
- Make html device run under both MS-DOS and Win32.
-
- * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
- MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
- spawn or fork+exec has to be used, and whether parent must sleep
- until the child process terminates. Used in
- `char_buffer::run_output_filter'.
- (copyofstdoutfd): Removed.
- (char_buffer): Replace `write_file_html' and `write_file_troff'
- member functions with `emit_troff_output' and `run_output_filter'.
- (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
- macros.
- (replaceFd): Replaced with...
- (set_redirection): New auxiliary function.
- (waitForChild): Replaced with...
- (save_and_redirect): New auxiliary function for.
-
- (char_buffer::do_html, char_buffer::do_image): Simplified, using new
- functions.
-
-2003-10-14 Keith Marshall
-
- * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
- (GROFF_LIBC): New function.
- * configure.ac: Call GROFF_LIBC.
- Check for `kill'.
- * configure: Regenerated.
-
- * src/include/lib.h: Handle __MINGW32__.
- * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
- Add macro for `pipe'.
- Define P_tmpdir.
-
- * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
- correctly.
-
- * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
- Implement.
-
-2003-10-13 Werner LEMBERG
-
- Finally fix change 2003-08-26, based on ideas from Chuck Silvers
- .
-
- * contrib/mom/Makefile.sub: Use a stamp file in the `examples'
- directory.
-
-2003-10-12 Werner LEMBERG
-
- * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
- src/roff/troff/input.cc (usage): Updated.
-
- * NEWS, doc/groff.texinfo: Updated.
-
-2003-10-12 Peter Miller
-
- * src/libs/libgroff/searchpath.cpp
- (search_path::open_file_cautious): New function which also handles
- `-' as stdin and stdout depending on the access mode.
- * src/include/searchpath.h (search_path): Updated.
-
- * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
- * src/devices/grops/ps.h: Include `searchpath.h'.
- * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
- Open resource file with `include_search_path.open_file_cautious'.
- * src/devices/grops/grops.man: Document new `-I' switch.
-
- * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
- (main), src/devices/grolj4/lj4.cpp (main),
- src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
-
- * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
- Replaced with...
- (include_search_path): New global variable.
- (include_path_append): Removed.
- (main): Use `include_search_path.command_line_dir' to handle `-I'.
- (do_file): Simplify, using new
- `include_search_path.open_file_cautious'.
-
- * src/roff/groff/groff.cpp (print_commands): Accept file handle as
- parameter.
- (main): Pass arguments to `-I' to both troff and devices.
- Improve handling of `-V'.
- * src/roff/groff/groff.man: Document changes to -I and -V.
-
- * src/roff/troff/input.cpp (include_search_path): New global
- variable.
- (next_file, source, ps_bbox_request, transparent_file,
- process_input_file): Use new
- `include_search_path.open_file_cautious'.
- (main) Handle `-I' switch.
- * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
- Use new `include_search_path.open_file_cautious'.
- * src/roff/troff/node.h: New extern symbol `include_search_path'.
- * src/roff/troff/troff.man: Document new `-I' switch.
-
-2003-09-15 Ruslan Ermilov
-
- Support multiple calls of .Lb in LIBRARY section.
-
- * tmac/doc-common (doc-in-library-section): New register.
- (doc-section-library): New string.
- (Sh): Set `doc-in-library-section'.
- (Rd): Updated.
- * tmac/doc-syms (Lb): Insert breaks before and after arguments
- if in LIBRARY section.
- * tmac/doc.tmac (doc-save-global-vars): Updated.
- * NEWS, tmac/groff_mdoc.man: Updated.
-
-2003-09-14 Ruslan Ermilov
-
- * tmac/doc-common (doc-default-operating-system): New variable.
- (Os): Use it.
-
-2003-09-08 Werner LEMBERG
-
- * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
-
-2003-08-31 Werner LEMBERG
-
- * contrib/mom/Makefile.sub: Fix last change to make it really work.
- * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
- (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
- $(DEVFILES) are not empty.
- * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
-
-2003-08-26 Chuck Silvers
-
- * contrib/mom/Makefile.sub (prepare_make_examples): Make it work
- with parallel runs of `make'.
-
-2003-08-23 Stephen Gildea
-
- * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
- insert SORT_SEP. With certain combinations of sort specifications,
- refer sorted entries in the wrong order. In particular, entries
- with a missing field should be be sorted before all entries that
- have that field, before refer looks to the next field.
-
-2003-08-23 Werner LEMBERG
-
- * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
- g++ linker is used. Reported by Mark J. Reed
- .
-
-2003-08-16 Heinz-Jürgen Oertel
-
- Add key character `x' to tbl which makes tbl call a user-defined
- macro on a table cell.
-
- * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
- * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
- `set_modifier' after printing the compatibility request.
- (set_modifier): Print call to `m->macro' if not empty.
- * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
- `macro'.
- (process_format): Implement cases `x' and `X'.
- * src/preproc/tbl/tbl.man, NEWS: Updated.
-
-2003-08-15 Werner LEMBERG
-
- * doc/groff.texinfo: Minor fixes.
-
-2003-08-09 Werner LEMBERG
-
- * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
-
-2003-08-07 Werner LEMBERG
-
- * doc/Makefile.sub: Not all shells expand wildcards in the `for'
- argument list to nothing if there is no file to match. Use `ls' as
- a protection, similar to autoconf.
-
- * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
- empty argument lists.
-
- * doc/groff.texinfo: Improve documentation how vertical spacing
- and line breaks interact.
- Other minor fixes.
-
- * tmac/www.tmac: Initialize `www-htmlimage-gap'.
-
-2003-08-03 Werner LEMBERG
-
- * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
- EPS (using eps2eps or similar programs to compute the bounding box).
-
-2003-07-24 Werner LEMBERG
-
- * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
- * doc/texinfo.tex: Updated from texinfo 4.6.
- * README.CVS: From now on we need texinfo 4.6.
-
-2003-07-23 Werner LEMBERG
-
- Add requests `dei1' and `ami1' for completeness.
-
- * src/roff/troff/input.cc (calling_mode): Remove
- CALLING_DISABLE_COMP.
- (comp_mode): New enumeration.
- (do_define_string, define_string, define_nocomp_string,
- append_string, append_nocomp_string): Updated.
- (do_define_macro): Add third parameter.
- (define_macro, define_nocomp_macro, define_indirect_macro,
- append_macro, append_nocomp_macro, append_indirect_macro): Updated.
- (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
- functions.
- (ignore): Updated.
- (init_input_requests): Add `dei1' and `ami1'.
-
- * tmac/trace.tmac: Handle de1 and am1.
- (de): Improve tracing message.
- (am): Add missing `do'.
- (return): Use de1.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document new requests.
-
-2003-07-22 Heinz-Jürgen Oertel
-
- Add option -G to .MPIMG to insert a gap between text and the image.
-
- * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
- www-finish-left-ll): Updated.
- (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
- (MPIMG): Make option -L and -R optional.
- Implement option -G.
-
-2003-07-22 Gaius Mulley
-
- * src/devices/grohtml/post-html.cpp
- (html_printer::do_file_components): Don't use `stdout' as lvalue
- since it can be a macro.
-
-2003-07-22 Werner LEMBERG
-
- * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
- the corresponding test in aclocal.m4.
-
-2003-07-21 Werner LEMBERG
-
- * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
- names but RGB values directly. Otherwise pnmtopng depends on
- an external file `rgb.txt' which maps colour names to values.
-
-2003-07-20 Werner LEMBERG
-
- * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
- * configure, src/include/config.hin: Regenerated.
-
- * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
-
-2003-07-19 Werner LEMBERG
-
- * PROBLEMS: Add solution for UTF-8 problem with hyphens.
-
-2003-07-18 Werner LEMBERG
-
- * *.man: Switch to non-compatibility mode temporarily if GNU
- syntax extensions are used in the particular man page.
-
- * PROBLEMS: Add solutions for SGR problems.
-
-2003-07-17 Werner LEMBERG
-
- Don't ignore grotty's command line options if \X'tty: sgr ...' is
- used to change the drawing scheme.
-
- * src/devives/grotty/tty.cpp (bold_flag_option,
- underline_flag_option, italic_flag_option, reverse_flag_option,
- bold_underline_mode_option): New global variables.
- (update_options): New function.
- (tty_printer::special): Call update_options.
- (main): Don't set xxx_flag but xxx_flag_option, then call
- update_options.
-
-2003-07-14 Werner LEMBERG
-
- Make grotty emit proper Unicode box drawing characters for -Tutf8.
-
- * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
- values.
- (hline_char, vline_char): New global variables.
- (tty_printer::tty_printer): Initialize them.
- (tty_printer::draw): Emit START_LINE and END_LINE flags for both
- horizontal and vertical lines.
- (crossings): New global array.
- (tty_printer::end_page): Use it to determine the proper crossing
- character for -Tutf8.
-
-2003-07-12 Werner LEMBERG
-
- * doc/Makefilesub (HTMLDOCFILESALL): New macro.
- (HTMLDOCFILES): Revert to `pic.html'.
- (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
-
-2003-07-11 Werner LEMBERG
-
- * doc/pic.ms: Improve documentation of absolute coordinates.
- Document absolute positioning of pictures.
-
- * NEWS: Add new pic capability.
-
-2003-07-09 Hartmut Henkel
-
- * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
- Rewritten.
-
-2003-07-07 Werner LEMBERG
-
- Implement support for dashed and dotted ellipses in pic. Based on
- a patch from Hartmut Henkel .
-
- * src/preproc/pic/common.cpp (common_output::ellipse_arc,
- common_output::dashed_ellipse, common_output::dotted_ellipse): New
- functions. Ellipse arcs are approximated with circle arcs.
- * src/preproc/pic/common.h (common_output): Updated.
- * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
- functions.
- * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
-
- * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
-
-2003-07-06 Werner LEMBERG
-
- Make grotty work on platforms which have unsigned char as the
- default for char. Based on a patch by Thomas Klausner
- .
-
- * src/devices/grotty/tty.cpp (schar): New typedef.
- Updated calls to declare_ptable and implement_ptable.
- (glyph): Use schar for back_color_idx and fore_color_idx.
- (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
- (tty_printer::tty_color, tty_printer::tty_printer,
- tty_printer::color_to_idx, tty_printer::put_color): Updated.
-
-2003-07-06 Ruslan Ermilov
-
- * src/roff/nroff/nroff.sh: Add option -d for completeness.
- * src/roff/nroff/nroff.man: Updated.
-
-2003-07-05 Werner LEMBERG
-
- * NEWS, tmac/groff_www.man: Updated.
- * doc/Makefile.sub: Updated.
-
-2003-07-05 Gaius Mulley
-
- Implement support for multiple HTML output files.
-
- * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
- -j command line option.
-
- * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
- global variables.
- (file): New fields `new_output_file', `require_links',
- `output_file_name'.
- (file::file): Updated.
- (files::set_file_name, files::set_links_required,
- files::are_links_required, files::is_new_output_file,
- files::file_name, files::next_file_name): New functions.
- (header_desc): New fields `no_of_level_one_headings',
- `header_filename'.
- (header_desc::header_desc): Updated.
- (header_desc::write_headings): Handle multiple files.
- (html_printer::write_header): Save file name in which header occurs.
- (html_printer::determine_header_level): Possibly split files on
- level one headings.
- (html_printer::do_links, html_printer::troff_tag): Updated.
- (html_printer::insert_split_file, html_printer::do_job_name,
- html_printer::emit_link, html_printer::write_navigation,
- html_printer::do_file_components): New functions.
- (html_printer::~html_printer): Handle multiple files.
- (main): Handle command line option `-j'.
-
- * src/devices/grohtml/grohtml.man: Updated.
-
- * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
- which splits file.
-
- * tmac/www.tmac (JOBNAME): New macro.
- * tmac/s.tmac (SH-NO-TAG): New macro.
- (@SH): Call SH-NO-TAG.
- (@NH): Updated.
-
-2003-07-05 Ruslan Ermilov
-
- * tmac/groff_mdoc.man: Improve documentation of punctuation
- characters.
-
-2003-07-04 Ruslan Ermilov
-
- * tmac/doc.tmac (Bd): Change to doc-Li-font later.
-
-2003-07-03 Werner LEMBERG
-
- * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
-
-2003-07-01 Ruslan Ermilov
-
- * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
- after `/*' and `*/'.
- Fix spacing.
- (Fn, Fo): Reduce indentation in synopsis.
-
- * tmac/doc-common (doc-check-depth): New macro.
- (doc-end-macro, Sh, Ss): Use it.
- (Cd): Fix behaviour in synopsis.
- (In): Make it parsed and callable.
- If not in the synopsis, represent the C header file enclosed in
- angle brackets.
- (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
- Use minus, not hyphen.
-
- * tmc/groff_mdoc.man: Updated.
-
-2003-07-01 Werner LEMBERG
-
- Integrated grap2graph, contributed by Eric S. Raymond.
-
- * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
- New files.
- * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
- contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
-
-2003-07-01 Colin Watson
-
- * src/xditview/*.c: Add prototypes, fix return types, add includes.
- Based on work by Fumitoshi UKAI .
-
-2003-06-31 Ruslan Ermilov
-
- * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
-
-2003-06-31 Werner LEMBERG
-
- * doc/Makefile.sub (CLEANADD): Remove all files created by
- running `make groff.{pdf,dvi}'.
-
- * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
- src/xditview also.
-
-2003-06-30 Werner LEMBERG
-
- * Makefile.in (SHELL): Define as @SHELL@.
- (mkinstalldirs): Use $(SHELL).
- (MDEFINES): Add $(SHELL).
- * Makefile.comm (SHELL): Removed.
-
-2003-06-29 Werner LEMBERG
-
- * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
- The X11 documentation files use them.
- * tmac/groff_ms.man, doc/groff.texinfo: Document them.
-
-2003-06-15 Robert Goulding
-
- * tmac/e.tmac (@C): Handle .ad also.
-
-2003-06-12 Werner LEMBERG
-
- * src/preproc/tbl/tbl.man: Document formatting of text blocks.
-
- * src/roff/troff/input.cc (token::next) :
- Assign `n' even here. It is possible to construct a node
- immediately following an escape character:
-
- .di xx
- \?\\\?a
- .br
- .di
- .xx
-
-2003-06-10 Werner LEMBERG
-
- * README.WIN32: Removed.
- * MANIFEST: Updated.
-
-2003-06-07 Werner LEMBERG
-
- * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
-
-2003-06-05 Werner LEMBERG
-
- * src/preproc/pic/pic.y : Implement workaround for bug
- in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
-
-2003-06-03 Werner LEMBERG
-
- * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
- is done by the calling function.
-
-2003-05-22 Ruslan Ermilov
-
- * tmac/X.tmac: Fix definition of `em'.
-
-2003-05-22 Werner LEMBERG
-
- * src/roff/troff/input.cc (return_macro_request): Fix detection of
- argument.
-
-2003-05-18 Werner LEMBERG
-
- * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
- to make items work which consist only of a tag.
-
-2003-05-17 Werner LEMBERG
-
- * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
- aren't stretched in a tag (this can fail with unformatted boxes).
- Instead, insert a break and go back one line.
-
-2003-05-16 Werner LEMBERG
-
- * src/roff/troff/input.cc (return_macro_request): If called with
- argument pop macro twice. We need this to trace `return'.
-
- * tmac/trace.tmac: Handle `return'.
- Fix typos.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document.
-
-2003-05-15 Larry Kollar
-
- * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
- registers `FPS', `FVS', and `FPD'.
-
-2003-05-15 Werner LEMBERG
-
- * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
- correctly.
-
-2003-05-03 Ruslan Ermilov
-
- * tmac/groff_mdoc.man: Slight improvements.
-
-2003-05-03 Werner LEMBERG
-
- * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
- `doc-header-space' after header line if register `cR' is set.
-
-2003-05-02 Werner LEMBERG
-
- * TODO: Updated.
-
-2003-05-01 Ruslan Ermilov
-
- * tmac/doc-common (Nd): Use \[em].
-
-2003-05-01 Werner LEMBERG
-
- * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
- doc-footer-space): Initialize to 0.5i.
- (doc-setup-page-layout): Don't set doc-header-space and
- doc-footer-space.
-
-2003-04-30 Werner LEMBERG
-
- * REVISION: Set to 1.
-
- * doc/pic.ms: Document possible problems with `figname'.
-
-2003-04-29 Werner LEMBERG
-
-Version 1.19 released
-=====================
-
- * VERSION: Set to 1.19.
- * REVISION: Set to 0.
- * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
-
- * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
- Define charset as `US-ASCII' in html output.
-
- * tmac/www.tmac (ULE): Add missing scaling indicator.
-
- * win32-diffs: Removed.
-
-2003-04-28 Werner LEMBERG
-
- * doc/groff.texinfo: Document `dn' and `dl' registers if used with
- `.da' and `.boxa'.
- Document how to insert discardable whitespace with `.ss'.
-
-2003-04-27 Werner LEMBERG
-
- * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
- work with plain TeX also.
-
- * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
-
-2003-04-25 Gaius Mulley
-
- * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
- Use a loose DTD.
-
-2003-04-24 Werner LEMBERG
-
- * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
- vbox with positive height and zero depth if in TeX mode.
-
- * NEWS: Document glyph name changes for grodvi and grolj4.
-
-2003-04-23 Werner LEMBERG
-
- * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
- * doc/pic.ms: Fixed.
-
-2003-04-21 Werner LEMBERG
-
- HP-UX 10.20 has `snprintf' but it isn't declared.
-
- * configure.ac: Add declaration test for snprintf.
- * configure: Regenerated.
- * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
- * src/include/config.hin: Regenerated.
-
-2003-04-19 Werner LEMBERG