Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Apr 2015 17:47:09 +0000 (UTC)
From:      Sean Bruno <sbruno@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r282103 - in projects/em_mq: . bin/ed bin/expr bin/sh contrib/ldns contrib/ldns/drill contrib/ldns/packaging contrib/libxo contrib/libxo/doc contrib/libxo/libxo contrib/libxo/m4 contrib...
Message-ID:  <201504271747.t3RHl9RX091846@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sbruno
Date: Mon Apr 27 17:47:08 2015
New Revision: 282103
URL: https://svnweb.freebsd.org/changeset/base/282103

Log:
  MFH @282102

Added:
  projects/em_mq/contrib/ldns/freebsd-configure.sh
     - copied unchanged from r282102, head/contrib/ldns/freebsd-configure.sh
  projects/em_mq/contrib/ldns/packaging/
     - copied from r282102, head/contrib/ldns/packaging/
  projects/em_mq/contrib/libxo/libxo/xo_open_marker.3
     - copied unchanged from r282102, head/contrib/libxo/libxo/xo_open_marker.3
  projects/em_mq/contrib/libxo/libxo/xo_set_version.3
     - copied unchanged from r282102, head/contrib/libxo/libxo/xo_set_version.3
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.H.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.H.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.H.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.H.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.HIPx.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.HIPx.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.HIPx.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.HIPx.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.HP.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.HP.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.HP.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.HP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.J.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.J.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.J.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.J.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.JP.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.JP.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.JP.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.JP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.T.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.T.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.T.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.T.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.X.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.X.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.X.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.X.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.XP.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.XP.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.XP.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.XP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.err
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.err
  projects/em_mq/contrib/libxo/tests/core/saved/test_10.out
     - copied unchanged from r282102, head/contrib/libxo/tests/core/saved/test_10.out
  projects/em_mq/contrib/libxo/tests/core/test_10.c
     - copied unchanged from r282102, head/contrib/libxo/tests/core/test_10.c
  projects/em_mq/contrib/libxo/xohtml/Makefile.am
     - copied unchanged from r282102, head/contrib/libxo/xohtml/Makefile.am
  projects/em_mq/contrib/libxo/xohtml/xohtml.1
     - copied unchanged from r282102, head/contrib/libxo/xohtml/xohtml.1
  projects/em_mq/etc/rc.d/tests/
     - copied from r282102, head/etc/rc.d/tests/
  projects/em_mq/share/doc/usd/10.exref/
     - copied from r282102, head/share/doc/usd/10.exref/
  projects/em_mq/share/doc/usd/11.vitut/
     - copied from r282102, head/share/doc/usd/11.vitut/
  projects/em_mq/share/doc/usd/12.vi/
     - copied from r282102, head/share/doc/usd/12.vi/
  projects/em_mq/share/doc/usd/13.viref/
     - copied from r282102, head/share/doc/usd/13.viref/
  projects/em_mq/sys/arm/conf/AML8726
     - copied unchanged from r282102, head/sys/arm/conf/AML8726
  projects/em_mq/sys/arm/freescale/imx/files.imx5
     - copied unchanged from r282102, head/sys/arm/freescale/imx/files.imx5
  projects/em_mq/sys/arm64/arm64/db_disasm.c
     - copied unchanged from r282102, head/sys/arm64/arm64/db_disasm.c
  projects/em_mq/sys/arm64/arm64/db_interface.c
     - copied unchanged from r282102, head/sys/arm64/arm64/db_interface.c
  projects/em_mq/sys/arm64/arm64/db_trace.c
     - copied unchanged from r282102, head/sys/arm64/arm64/db_trace.c
  projects/em_mq/sys/arm64/arm64/debug_monitor.c
     - copied unchanged from r282102, head/sys/arm64/arm64/debug_monitor.c
  projects/em_mq/sys/libkern/zlib.c
     - copied unchanged from r282102, head/sys/libkern/zlib.c
  projects/em_mq/sys/sys/zlib.h
     - copied unchanged from r282102, head/sys/sys/zlib.h
  projects/em_mq/sys/sys/zutil.h
     - copied unchanged from r282102, head/sys/sys/zutil.h
  projects/em_mq/sys/x86/x86/cpu_machdep.c
     - copied unchanged from r282102, head/sys/x86/x86/cpu_machdep.c
  projects/em_mq/sys/x86/x86/mp_x86.c
     - copied unchanged from r282102, head/sys/x86/x86/mp_x86.c
  projects/em_mq/tests/sys/aio/
     - copied from r282102, head/tests/sys/aio/
  projects/em_mq/tests/sys/fifo/
     - copied from r282102, head/tests/sys/fifo/
  projects/em_mq/tests/sys/file/
     - copied from r282102, head/tests/sys/file/
  projects/em_mq/tests/sys/kern/execve/
     - copied from r282102, head/tests/sys/kern/execve/
  projects/em_mq/tests/sys/kern/mmap_test.c
     - copied unchanged from r282102, head/tests/sys/kern/mmap_test.c
  projects/em_mq/tests/sys/kqueue/
     - copied from r282102, head/tests/sys/kqueue/
  projects/em_mq/tests/sys/mqueue/
     - copied from r282102, head/tests/sys/mqueue/
Deleted:
  projects/em_mq/etc/tests/rc.d/
  projects/em_mq/lib/libc/Makefile.amd64
  projects/em_mq/lib/libc/Makefile.i386
  projects/em_mq/lib/librt/Makefile.amd64
  projects/em_mq/lib/librt/Makefile.i386
  projects/em_mq/lib/libthr/Makefile.amd64
  projects/em_mq/lib/libthr/Makefile.i386
  projects/em_mq/lib/msun/Makefile.amd64
  projects/em_mq/lib/msun/Makefile.i386
  projects/em_mq/sys/arm/amlogic/aml8726/files.smp
  projects/em_mq/sys/arm/amlogic/aml8726/std.odroidc1
  projects/em_mq/sys/arm/amlogic/aml8726/std.vsatv102-m6
  projects/em_mq/sys/arm/freescale/imx/files.imx51
  projects/em_mq/sys/arm/freescale/imx/files.imx53
  projects/em_mq/sys/net/zlib.c
  projects/em_mq/sys/net/zlib.h
  projects/em_mq/sys/net/zutil.h
  projects/em_mq/tools/regression/aio/aiotest/
  projects/em_mq/tools/regression/aio/kqueue/
  projects/em_mq/tools/regression/execve/
  projects/em_mq/tools/regression/fifo/
  projects/em_mq/tools/regression/file/dup/
  projects/em_mq/tools/regression/file/fcntlflags/
  projects/em_mq/tools/regression/file/flock/
  projects/em_mq/tools/regression/file/ftruncate/
  projects/em_mq/tools/regression/file/newfileops_on_fork/
  projects/em_mq/tools/regression/kqueue/
  projects/em_mq/tools/regression/mmap/
  projects/em_mq/tools/regression/mqueue/
Modified:
  projects/em_mq/ObsoleteFiles.inc
  projects/em_mq/bin/ed/ed.1
  projects/em_mq/bin/expr/expr.1
  projects/em_mq/bin/sh/jobs.c
  projects/em_mq/contrib/ldns/drill/config.h
  projects/em_mq/contrib/ldns/drill/drill.1
  projects/em_mq/contrib/libxo/Makefile.am
  projects/em_mq/contrib/libxo/configure.ac
  projects/em_mq/contrib/libxo/doc/libxo.txt
  projects/em_mq/contrib/libxo/libxo/Makefile.am
  projects/em_mq/contrib/libxo/libxo/libxo.c
  projects/em_mq/contrib/libxo/libxo/xo.h
  projects/em_mq/contrib/libxo/libxo/xo_error.3
  projects/em_mq/contrib/libxo/libxo/xo_format.5
  projects/em_mq/contrib/libxo/libxo/xo_open_container.3
  projects/em_mq/contrib/libxo/libxo/xoconfig.h
  projects/em_mq/contrib/libxo/libxo/xoconfig.h.in
  projects/em_mq/contrib/libxo/libxo/xoversion.h
  projects/em_mq/contrib/libxo/m4/libtool.m4
  projects/em_mq/contrib/libxo/m4/ltoptions.m4
  projects/em_mq/contrib/libxo/m4/ltversion.m4
  projects/em_mq/contrib/libxo/tests/core/Makefile.am
  projects/em_mq/contrib/libxo/tests/core/saved/test_01.JP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_02.JP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.H.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.HIPx.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.HP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.J.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.JP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.T.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.X.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_05.XP.out
  projects/em_mq/contrib/libxo/tests/core/saved/test_09.JP.out
  projects/em_mq/contrib/libxo/tests/core/test_05.c
  projects/em_mq/contrib/libxo/xo/xo.1
  projects/em_mq/contrib/libxo/xohtml/xohtml.css
  projects/em_mq/contrib/libxo/xohtml/xohtml.sh.in
  projects/em_mq/contrib/libxo/xolint/Makefile.am
  projects/em_mq/contrib/libxo/xolint/xolint.1
  projects/em_mq/contrib/libxo/xolint/xolint.pl
  projects/em_mq/contrib/netbsd-tests/lib/libm/t_fmod.c
  projects/em_mq/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c
  projects/em_mq/contrib/tcpdump/interface.h
  projects/em_mq/contrib/tcpdump/netdissect.h
  projects/em_mq/contrib/tcpdump/print-ip.c
  projects/em_mq/contrib/tcpdump/print-pfsync.c
  projects/em_mq/contrib/unbound/Makefile.in
  projects/em_mq/contrib/unbound/compat/getentropy_linux.c
  projects/em_mq/contrib/unbound/config.h
  projects/em_mq/contrib/unbound/config.h.in
  projects/em_mq/contrib/unbound/configure
  projects/em_mq/contrib/unbound/configure.ac
  projects/em_mq/contrib/unbound/daemon/remote.c
  projects/em_mq/contrib/unbound/daemon/unbound.c
  projects/em_mq/contrib/unbound/daemon/worker.c
  projects/em_mq/contrib/unbound/doc/Changelog
  projects/em_mq/contrib/unbound/doc/README
  projects/em_mq/contrib/unbound/doc/example.conf
  projects/em_mq/contrib/unbound/doc/example.conf.in
  projects/em_mq/contrib/unbound/doc/libunbound.3
  projects/em_mq/contrib/unbound/doc/libunbound.3.in
  projects/em_mq/contrib/unbound/doc/unbound-anchor.8
  projects/em_mq/contrib/unbound/doc/unbound-anchor.8.in
  projects/em_mq/contrib/unbound/doc/unbound-checkconf.8
  projects/em_mq/contrib/unbound/doc/unbound-checkconf.8.in
  projects/em_mq/contrib/unbound/doc/unbound-control.8
  projects/em_mq/contrib/unbound/doc/unbound-control.8.in
  projects/em_mq/contrib/unbound/doc/unbound-host.1
  projects/em_mq/contrib/unbound/doc/unbound-host.1.in
  projects/em_mq/contrib/unbound/doc/unbound.8
  projects/em_mq/contrib/unbound/doc/unbound.8.in
  projects/em_mq/contrib/unbound/doc/unbound.conf.5
  projects/em_mq/contrib/unbound/doc/unbound.conf.5.in
  projects/em_mq/contrib/unbound/iterator/iter_scrub.c
  projects/em_mq/contrib/unbound/iterator/iter_utils.c
  projects/em_mq/contrib/unbound/iterator/iter_utils.h
  projects/em_mq/contrib/unbound/iterator/iterator.c
  projects/em_mq/contrib/unbound/libunbound/libworker.c
  projects/em_mq/contrib/unbound/libunbound/python/libunbound.i
  projects/em_mq/contrib/unbound/services/listen_dnsport.c
  projects/em_mq/contrib/unbound/services/localzone.c
  projects/em_mq/contrib/unbound/services/localzone.h
  projects/em_mq/contrib/unbound/smallapp/unbound-checkconf.c
  projects/em_mq/contrib/unbound/smallapp/unbound-control-setup.sh
  projects/em_mq/contrib/unbound/smallapp/unbound-control-setup.sh.in
  projects/em_mq/contrib/unbound/smallapp/unbound-control.c
  projects/em_mq/contrib/unbound/util/config_file.c
  projects/em_mq/contrib/unbound/util/config_file.h
  projects/em_mq/contrib/unbound/util/configlexer.lex
  projects/em_mq/contrib/unbound/util/configparser.y
  projects/em_mq/contrib/unbound/util/iana_ports.inc
  projects/em_mq/contrib/unbound/util/net_help.c
  projects/em_mq/contrib/unbound/util/rtt.c
  projects/em_mq/contrib/unbound/util/rtt.h
  projects/em_mq/contrib/unbound/validator/val_secalgo.c
  projects/em_mq/contrib/unbound/validator/val_utils.c
  projects/em_mq/contrib/unbound/validator/val_utils.h
  projects/em_mq/contrib/unbound/validator/validator.c
  projects/em_mq/etc/mtree/BSD.tests.dist
  projects/em_mq/etc/rc.d/Makefile
  projects/em_mq/etc/tests/Makefile
  projects/em_mq/lib/libarchive/config_freebsd.h
  projects/em_mq/lib/libc/Makefile
  projects/em_mq/lib/libc/gen/_once_stub.c
  projects/em_mq/lib/libc/gen/getutxent.3
  projects/em_mq/lib/libc/gen/nice.3
  projects/em_mq/lib/libc/gen/posix_spawn.3
  projects/em_mq/lib/libc/gen/posix_spawn_file_actions_addopen.3
  projects/em_mq/lib/libc/gen/posix_spawn_file_actions_init.3
  projects/em_mq/lib/libc/gen/posix_spawnattr_getflags.3
  projects/em_mq/lib/libc/gen/posix_spawnattr_getpgroup.3
  projects/em_mq/lib/libc/gen/posix_spawnattr_getschedparam.3
  projects/em_mq/lib/libc/gen/posix_spawnattr_getschedpolicy.3
  projects/em_mq/lib/libc/gen/posix_spawnattr_getsigdefault.3
  projects/em_mq/lib/libc/gen/posix_spawnattr_getsigmask.3
  projects/em_mq/lib/libc/gen/posix_spawnattr_init.3
  projects/em_mq/lib/libc/include/compat.h
  projects/em_mq/lib/libc/locale/duplocale.3
  projects/em_mq/lib/libc/locale/freelocale.3
  projects/em_mq/lib/libc/locale/newlocale.3
  projects/em_mq/lib/libc/locale/none.c
  projects/em_mq/lib/libc/locale/querylocale.3
  projects/em_mq/lib/libc/locale/uselocale.3
  projects/em_mq/lib/libc/net/sctp_recvmsg.3
  projects/em_mq/lib/libc/nls/catopen.3
  projects/em_mq/lib/libc/regex/re_format.7
  projects/em_mq/lib/libc/regex/regcomp.c
  projects/em_mq/lib/libc/regex/regex.3
  projects/em_mq/lib/libc/rpc/rpcbind.3
  projects/em_mq/lib/libc/stdio/flags.c
  projects/em_mq/lib/libc/stdio/open_memstream.3
  projects/em_mq/lib/libc/stdio/open_memstream.c
  projects/em_mq/lib/libc/stdio/open_wmemstream.c
  projects/em_mq/lib/libc/sys/closefrom.2
  projects/em_mq/lib/libc/sys/posix_openpt.2
  projects/em_mq/lib/libc/sys/procctl.2
  projects/em_mq/lib/libc/tests/db/Makefile
  projects/em_mq/lib/libc/tests/sys/Makefile
  projects/em_mq/lib/libedit/el.c
  projects/em_mq/lib/libgeom/geom_xml2tree.c
  projects/em_mq/lib/libmd/mdXhl.c
  projects/em_mq/lib/librt/Makefile
  projects/em_mq/lib/libstand/Makefile
  projects/em_mq/lib/libthr/Makefile
  projects/em_mq/lib/libthr/tests/Makefile
  projects/em_mq/lib/libthr/thread/thr_clean.c
  projects/em_mq/lib/libxo/Makefile
  projects/em_mq/lib/msun/Makefile
  projects/em_mq/lib/msun/man/j0.3
  projects/em_mq/lib/msun/man/lgamma.3
  projects/em_mq/lib/msun/man/nextafter.3
  projects/em_mq/lib/msun/tests/Makefile
  projects/em_mq/libexec/casper/dns/dns.c
  projects/em_mq/libexec/rtld-elf/rtld.c
  projects/em_mq/release/arm64/make-memstick.sh
  projects/em_mq/release/scripts/mk-vmimage.sh
  projects/em_mq/release/tools/vmimage.subr
  projects/em_mq/sbin/atm/atmconfig/atmconfig.8
  projects/em_mq/sbin/camcontrol/camcontrol.8
  projects/em_mq/sbin/growfs/Makefile
  projects/em_mq/sbin/growfs/growfs.c
  projects/em_mq/sbin/ipfw/ipfw2.c
  projects/em_mq/sbin/ipfw/ipfw2.h
  projects/em_mq/sbin/ipfw/tables.c
  projects/em_mq/share/doc/usd/Makefile
  projects/em_mq/share/man/man4/ada.4
  projects/em_mq/share/man/man4/smb.4
  projects/em_mq/share/man/man4/urtwn.4
  projects/em_mq/share/man/man9/BUS_BIND_INTR.9
  projects/em_mq/share/man/man9/BUS_CHILD_DELETED.9
  projects/em_mq/share/man/man9/BUS_CHILD_DETACHED.9
  projects/em_mq/share/man/man9/BUS_DESCRIBE_INTR.9
  projects/em_mq/share/man/man9/BUS_NEW_PASS.9
  projects/em_mq/share/man/man9/Makefile
  projects/em_mq/share/man/man9/VOP_ADVISE.9
  projects/em_mq/share/man/man9/VOP_ALLOCATE.9
  projects/em_mq/share/man/man9/bus_adjust_resource.9
  projects/em_mq/share/man/man9/bus_generic_new_pass.9
  projects/em_mq/share/man/man9/bus_set_pass.9
  projects/em_mq/share/man/man9/getenv.9
  projects/em_mq/share/man/man9/panic.9
  projects/em_mq/share/man/man9/refcount.9
  projects/em_mq/share/man/man9/sglist.9
  projects/em_mq/share/man/man9/shm_map.9
  projects/em_mq/share/misc/committers-src.dot
  projects/em_mq/share/mk/src.opts.mk
  projects/em_mq/sys/amd64/amd64/machdep.c
  projects/em_mq/sys/amd64/amd64/mp_machdep.c
  projects/em_mq/sys/amd64/include/md_var.h
  projects/em_mq/sys/amd64/include/smp.h
  projects/em_mq/sys/amd64/include/vm.h
  projects/em_mq/sys/amd64/vmm/amd/svm.c
  projects/em_mq/sys/amd64/vmm/vmm_instruction_emul.c
  projects/em_mq/sys/arm/allwinner/std.a10
  projects/em_mq/sys/arm/amlogic/aml8726/files.aml8726
  projects/em_mq/sys/arm/amlogic/aml8726/std.aml8726
  projects/em_mq/sys/arm/arm/cpufunc.c
  projects/em_mq/sys/arm/arm/locore-v4.S
  projects/em_mq/sys/arm/arm/locore-v6.S
  projects/em_mq/sys/arm/broadcom/bcm2835/bcm2835_mbox.c
  projects/em_mq/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
  projects/em_mq/sys/arm/broadcom/bcm2835/std.bcm2836
  projects/em_mq/sys/arm/conf/EFIKA_MX
  projects/em_mq/sys/arm/conf/IMX53
  projects/em_mq/sys/arm/conf/IMX6
  projects/em_mq/sys/arm/conf/ODROIDC1
  projects/em_mq/sys/arm/conf/RK3188
  projects/em_mq/sys/arm/conf/RPI2
  projects/em_mq/sys/arm/conf/VSATV102
  projects/em_mq/sys/arm/freescale/imx/std.imx51
  projects/em_mq/sys/arm/freescale/imx/std.imx53
  projects/em_mq/sys/arm64/arm64/nexus.c
  projects/em_mq/sys/arm64/arm64/pmap.c
  projects/em_mq/sys/arm64/arm64/stack_machdep.c
  projects/em_mq/sys/boot/common/md.c
  projects/em_mq/sys/boot/fdt/dts/arm/bcm2836.dtsi
  projects/em_mq/sys/boot/fdt/dts/arm/rpi2.dts
  projects/em_mq/sys/boot/i386/common/edd.h
  projects/em_mq/sys/boot/libstand32/Makefile
  projects/em_mq/sys/boot/userboot/libstand/Makefile
  projects/em_mq/sys/cam/scsi/scsi_da.c
  projects/em_mq/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
  projects/em_mq/sys/cddl/dev/dtrace/amd64/dtrace_asm.S
  projects/em_mq/sys/cddl/dev/dtrace/arm/dtrace_asm.S
  projects/em_mq/sys/cddl/dev/dtrace/dtrace_hacks.c
  projects/em_mq/sys/cddl/dev/dtrace/i386/dtrace_asm.S
  projects/em_mq/sys/cddl/dev/dtrace/mips/dtrace_asm.S
  projects/em_mq/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S
  projects/em_mq/sys/cddl/dev/profile/profile.c
  projects/em_mq/sys/compat/linux/linux_getcwd.c
  projects/em_mq/sys/conf/files
  projects/em_mq/sys/conf/files.amd64
  projects/em_mq/sys/conf/files.arm64
  projects/em_mq/sys/conf/files.i386
  projects/em_mq/sys/conf/files.pc98
  projects/em_mq/sys/conf/options.arm
  projects/em_mq/sys/dev/bxe/bxe.h
  projects/em_mq/sys/dev/cxgbe/t4_main.c
  projects/em_mq/sys/dev/e1000/if_igb.c
  projects/em_mq/sys/dev/ichsmb/ichsmb_pci.c
  projects/em_mq/sys/dev/iicbus/pcf8563.c
  projects/em_mq/sys/dev/ipmi/ipmi.c
  projects/em_mq/sys/dev/ipmi/ipmi_kcs.c
  projects/em_mq/sys/dev/ipmi/ipmi_smic.c
  projects/em_mq/sys/dev/ipmi/ipmivars.h
  projects/em_mq/sys/dev/mii/brgphy.c
  projects/em_mq/sys/dev/mxge/if_mxge.c
  projects/em_mq/sys/dev/pccbb/pccbb_pci.c
  projects/em_mq/sys/dev/pci/pci.c
  projects/em_mq/sys/dev/pci/pci_pci.c
  projects/em_mq/sys/dev/pci/pci_subr.c
  projects/em_mq/sys/dev/pci/pcib_private.h
  projects/em_mq/sys/dev/pci/pcivar.h
  projects/em_mq/sys/dev/smbus/smb.c
  projects/em_mq/sys/dev/smbus/smb.h
  projects/em_mq/sys/dev/smbus/smbconf.h
  projects/em_mq/sys/dev/smbus/smbus.c
  projects/em_mq/sys/dev/smbus/smbus.h
  projects/em_mq/sys/dev/smbus/smbus_if.m
  projects/em_mq/sys/dev/sound/pcm/dsp.c
  projects/em_mq/sys/dev/usb/controller/dwc_otg.c
  projects/em_mq/sys/dev/usb/wlan/if_urtwn.c
  projects/em_mq/sys/dev/vt/vt_core.c
  projects/em_mq/sys/fs/nfs/nfsport.h
  projects/em_mq/sys/fs/nfsclient/nfs_clvfsops.c
  projects/em_mq/sys/fs/nfsserver/nfs_nfsdkrpc.c
  projects/em_mq/sys/geom/uncompress/g_uncompress.c
  projects/em_mq/sys/geom/uzip/g_uzip.c
  projects/em_mq/sys/i386/i386/machdep.c
  projects/em_mq/sys/i386/i386/mp_machdep.c
  projects/em_mq/sys/i386/include/md_var.h
  projects/em_mq/sys/i386/include/smp.h
  projects/em_mq/sys/i386/include/vm.h
  projects/em_mq/sys/i386/xen/mp_machdep.c
  projects/em_mq/sys/kern/kern_descrip.c
  projects/em_mq/sys/kern/kern_exec.c
  projects/em_mq/sys/kern/kern_gzio.c
  projects/em_mq/sys/kern/kern_proc.c
  projects/em_mq/sys/kern/kern_shutdown.c
  projects/em_mq/sys/kern/kern_thr.c
  projects/em_mq/sys/kern/link_elf.c
  projects/em_mq/sys/kern/link_elf_obj.c
  projects/em_mq/sys/kern/sysv_shm.c
  projects/em_mq/sys/kern/uipc_shm.c
  projects/em_mq/sys/kern/vfs_aio.c
  projects/em_mq/sys/kern/vfs_bio.c
  projects/em_mq/sys/kern/vfs_vnops.c
  projects/em_mq/sys/modules/oce/Makefile
  projects/em_mq/sys/modules/zlib/Makefile
  projects/em_mq/sys/net/if_vlan.c
  projects/em_mq/sys/net/netisr.c
  projects/em_mq/sys/netgraph/ng_deflate.c
  projects/em_mq/sys/netinet/ip_carp.c
  projects/em_mq/sys/netinet/ip_fw.h
  projects/em_mq/sys/netinet/ip_ipsec.c
  projects/em_mq/sys/netinet/libalias/libalias.3
  projects/em_mq/sys/netinet/sctp_indata.c
  projects/em_mq/sys/netinet/tcp_subr.c
  projects/em_mq/sys/netinet6/ip6_forward.c
  projects/em_mq/sys/netinet6/ip6_ipsec.c
  projects/em_mq/sys/netipsec/ipsec.c
  projects/em_mq/sys/netipsec/ipsec.h
  projects/em_mq/sys/netipsec/ipsec_output.c
  projects/em_mq/sys/netipsec/xform_ah.c
  projects/em_mq/sys/netipsec/xform_esp.c
  projects/em_mq/sys/netipsec/xform_ipcomp.c
  projects/em_mq/sys/netpfil/ipfw/ip_fw2.c
  projects/em_mq/sys/netpfil/ipfw/ip_fw_nat.c
  projects/em_mq/sys/netpfil/ipfw/ip_fw_private.h
  projects/em_mq/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/em_mq/sys/netpfil/ipfw/ip_fw_table.c
  projects/em_mq/sys/netpfil/ipfw/ip_fw_table.h
  projects/em_mq/sys/opencrypto/cryptodeflate.c
  projects/em_mq/sys/opencrypto/deflate.h
  projects/em_mq/sys/sparc64/pci/apb.c
  projects/em_mq/sys/sys/cdefs.h
  projects/em_mq/sys/sys/fcntl.h
  projects/em_mq/sys/sys/mbuf.h
  projects/em_mq/sys/sys/param.h
  projects/em_mq/sys/sys/procctl.h
  projects/em_mq/sys/sys/systm.h
  projects/em_mq/sys/sys/vnode.h
  projects/em_mq/sys/ufs/ffs/ffs_alloc.c
  projects/em_mq/sys/ufs/ffs/ffs_vfsops.c
  projects/em_mq/sys/ufs/ufs/inode.h
  projects/em_mq/sys/vm/sg_pager.c
  projects/em_mq/sys/vm/uma_int.h
  projects/em_mq/sys/x86/acpica/srat.c
  projects/em_mq/sys/x86/include/mca.h
  projects/em_mq/sys/x86/pci/qpi.c
  projects/em_mq/sys/x86/x86/mca.c
  projects/em_mq/tests/sys/Makefile
  projects/em_mq/tests/sys/kern/Makefile
  projects/em_mq/tools/regression/aio/aiop/Makefile
  projects/em_mq/tools/regression/aio/aiop/aiop.c
  projects/em_mq/tools/regression/file/closefrom/closefrom.c
  projects/em_mq/tools/regression/gaithrstress/gaithrstress.c
  projects/em_mq/tools/regression/lib/libc/stdio/test-open_memstream.c
  projects/em_mq/tools/regression/lib/libc/stdio/test-open_wmemstream.c
  projects/em_mq/tools/regression/netinet/arphold/arphold.c
  projects/em_mq/tools/regression/p1003_1b/Makefile
  projects/em_mq/tools/regression/p1003_1b/fifo.c
  projects/em_mq/tools/regression/p1003_1b/sched.c
  projects/em_mq/tools/regression/p1003_1b/yield.c
  projects/em_mq/tools/tools/tscdrift/tscdrift.c
  projects/em_mq/usr.bin/calendar/calendars/calendar.freebsd
  projects/em_mq/usr.bin/calendar/calendars/calendar.holiday
  projects/em_mq/usr.bin/hexdump/display.c
  projects/em_mq/usr.bin/kdump/kdump.c
  projects/em_mq/usr.bin/nfsstat/Makefile
  projects/em_mq/usr.bin/nfsstat/nfsstat.1
  projects/em_mq/usr.bin/nfsstat/nfsstat.c
  projects/em_mq/usr.bin/perror/perror.1
  projects/em_mq/usr.bin/perror/perror.c
  projects/em_mq/usr.bin/procstat/procstat_rusage.c
  projects/em_mq/usr.bin/protect/protect.1
  projects/em_mq/usr.bin/protect/protect.c
  projects/em_mq/usr.bin/whois/whois.c
  projects/em_mq/usr.sbin/bhyve/ioapic.c
  projects/em_mq/usr.sbin/bhyve/ioapic.h
  projects/em_mq/usr.sbin/bhyve/pci_emul.c
  projects/em_mq/usr.sbin/bhyve/pci_irq.c
  projects/em_mq/usr.sbin/bhyve/pci_irq.h
  projects/em_mq/usr.sbin/bhyve/pm.c
  projects/em_mq/usr.sbin/bluetooth/Makefile
  projects/em_mq/usr.sbin/ctld/login.c
  projects/em_mq/usr.sbin/etcupdate/etcupdate.8
  projects/em_mq/usr.sbin/etcupdate/etcupdate.sh
  projects/em_mq/usr.sbin/etcupdate/tests/always_test.sh
  projects/em_mq/usr.sbin/etcupdate/tests/conflicts_test.sh
  projects/em_mq/usr.sbin/etcupdate/tests/fbsdid_test.sh
  projects/em_mq/usr.sbin/etcupdate/tests/ignore_test.sh
  projects/em_mq/usr.sbin/etcupdate/tests/preworld_test.sh
  projects/em_mq/usr.sbin/etcupdate/tests/tests_test.sh
  projects/em_mq/usr.sbin/etcupdate/tests/tzsetup_test.sh
  projects/em_mq/usr.sbin/iovctl/iovctl.conf.5
  projects/em_mq/usr.sbin/jail/jail.8
  projects/em_mq/usr.sbin/ntp/doc/ntptime.8
  projects/em_mq/usr.sbin/pciconf/err.c
  projects/em_mq/usr.sbin/smbmsg/smbmsg.c
Directory Properties:
  projects/em_mq/   (props changed)
  projects/em_mq/contrib/ldns/   (props changed)
  projects/em_mq/contrib/tcpdump/   (props changed)
  projects/em_mq/contrib/unbound/   (props changed)
  projects/em_mq/etc/   (props changed)
  projects/em_mq/lib/libc/   (props changed)
  projects/em_mq/sbin/   (props changed)
  projects/em_mq/sbin/ipfw/   (props changed)
  projects/em_mq/share/   (props changed)
  projects/em_mq/share/doc/usd/10.exref/exref/ex.rm   (props changed)
  projects/em_mq/share/doc/usd/10.exref/summary/ex.summary   (props changed)
  projects/em_mq/share/doc/usd/11.vitut/edittut.ms   (props changed)
  projects/em_mq/share/doc/usd/12.vi/summary/vi.summary   (props changed)
  projects/em_mq/share/doc/usd/12.vi/vi/vi.chars   (props changed)
  projects/em_mq/share/doc/usd/12.vi/vi/vi.in   (props changed)
  projects/em_mq/share/doc/usd/12.vi/viapwh/vi.apwh.ms   (props changed)
  projects/em_mq/share/doc/usd/13.viref/ex.cmd.roff   (props changed)
  projects/em_mq/share/doc/usd/13.viref/ref.so   (props changed)
  projects/em_mq/share/doc/usd/13.viref/set.opt.roff   (props changed)
  projects/em_mq/share/doc/usd/13.viref/vi.cmd.roff   (props changed)
  projects/em_mq/share/doc/usd/13.viref/vi.ref   (props changed)
  projects/em_mq/share/man/man4/   (props changed)
  projects/em_mq/sys/   (props changed)
  projects/em_mq/sys/amd64/vmm/   (props changed)
  projects/em_mq/sys/boot/   (props changed)
  projects/em_mq/sys/cddl/contrib/opensolaris/   (props changed)
  projects/em_mq/sys/conf/   (props changed)
  projects/em_mq/usr.bin/calendar/   (props changed)
  projects/em_mq/usr.bin/procstat/   (props changed)
  projects/em_mq/usr.sbin/bhyve/   (props changed)
  projects/em_mq/usr.sbin/jail/   (props changed)

Modified: projects/em_mq/ObsoleteFiles.inc
==============================================================================
--- projects/em_mq/ObsoleteFiles.inc	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/ObsoleteFiles.inc	Mon Apr 27 17:47:08 2015	(r282103)
@@ -56,18 +56,6 @@ OLD_FILES+=usr/include/altq/altq_rmclass
 OLD_FILES+=usr/include/altq/altq_cbq.h
 OLD_FILES+=usr/include/altq/altq_rio.h
 OLD_DIRS+=usr/include/altq
-# 20150410
-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
 # 20150329
 .if ${TARGET_ARCH} == "arm"
 OLD_FILES+=usr/include/bootconfig.h

Modified: projects/em_mq/bin/ed/ed.1
==============================================================================
--- projects/em_mq/bin/ed/ed.1	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/bin/ed/ed.1	Mon Apr 27 17:47:08 2015	(r282103)
@@ -738,7 +738,7 @@ It is an error if no substitutions are p
 lines.
 The current address is set the last line affected.
 .Pp
-.Ar Re
+.Ar \&Re
 and
 .Ar replacement
 may be delimited by any character other than space and newline

Modified: projects/em_mq/bin/expr/expr.1
==============================================================================
--- projects/em_mq/bin/expr/expr.1	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/bin/expr/expr.1	Mon Apr 27 17:47:08 2015	(r282103)
@@ -90,17 +90,17 @@ Return the evaluation of
 .Ar expr1
 if neither expression evaluates to an empty string or zero;
 otherwise, returns zero.
-.It Ar expr1 Li "{=, >, >=, <, <=, !=}" Ar expr2
+.It Ar expr1 Bro =, >, >=, <, <=, != Brc Ar expr2
 Return the results of integer comparison if both arguments are integers;
 otherwise, returns the results of string comparison using the locale-specific
 collation sequence.
 The result of each comparison is 1 if the specified relation is true,
 or 0 if the relation is false.
-.It Ar expr1 Li "{+, -}" Ar expr2
+.It Ar expr1 Bro +, - Brc Ar expr2
 Return the results of addition or subtraction of integer-valued arguments.
-.It Ar expr1 Li "{*, /, %}" Ar expr2
+.It Ar expr1 Bro *, /, % Brc Ar expr2
 Return the results of multiplication, integer division, or remainder of integer-valued arguments.
-.It Ar expr1 Li : Ar expr2
+.It Ar expr1 Li \&: Ar expr2
 The
 .Dq Li \&:
 operator matches

Modified: projects/em_mq/bin/sh/jobs.c
==============================================================================
--- projects/em_mq/bin/sh/jobs.c	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/bin/sh/jobs.c	Mon Apr 27 17:47:08 2015	(r282103)
@@ -1057,7 +1057,7 @@ waitforjob(struct job *jp, int *origstat
 			CLEAR_PENDING_INT;
 	}
 #if JOBS
-	else if (rootshell && iflag && propagate_int &&
+	else if (rootshell && propagate_int &&
 			WIFSIGNALED(status) && WTERMSIG(status) == SIGINT)
 		kill(getpid(), SIGINT);
 #endif

Modified: projects/em_mq/contrib/ldns/drill/config.h
==============================================================================
--- projects/em_mq/contrib/ldns/drill/config.h	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/contrib/ldns/drill/config.h	Mon Apr 27 17:47:08 2015	(r282103)
@@ -122,7 +122,7 @@
 #define PACKAGE_NAME "ldns"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "ldns 1.6.16"
+#define PACKAGE_STRING "ldns 1.6.17"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "libdns"
@@ -131,7 +131,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.6.16"
+#define PACKAGE_VERSION "1.6.17"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1

Modified: projects/em_mq/contrib/ldns/drill/drill.1
==============================================================================
--- projects/em_mq/contrib/ldns/drill/drill.1	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/contrib/ldns/drill/drill.1	Mon Apr 27 17:47:08 2015	(r282103)
@@ -83,6 +83,11 @@ Chase the signature(s) of 'name' to a kn
 the tree as possible.
 
 .TP
+\fB\-I  \fIIPv4 or IPv6 address\fR
+Source address to query from.  The source address has to be present
+on an interface of the host running drill.
+
+.TP
 \fB\-V \fIlevel\fR
 Be more verbose. Set level to 5 to see the actual query that is sent.
 
@@ -217,6 +222,12 @@ specify named base64 tsig key, and optio
 \fB\-z \fR
 don't randomize the nameserver list before sending queries.
 
+.SH "EXIT STATUS"
+The exit status is 0 if the looked up answer is secure and trusted,
+or insecure.
+The exit status is not 0 if the looked up answer is untrusted or bogus,
+or an error occurred while performing the lookup.
+
 .SH "FILES"
 .TP
 /etc/unbound/root.key

Copied: projects/em_mq/contrib/ldns/freebsd-configure.sh (from r282102, head/contrib/ldns/freebsd-configure.sh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/em_mq/contrib/ldns/freebsd-configure.sh	Mon Apr 27 17:47:08 2015	(r282103, copy of r282102, head/contrib/ldns/freebsd-configure.sh)
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+set -e
+
+ldns=$(dirname $(realpath $0))
+cd $ldns
+
+libtoolize --copy
+autoheader
+autoconf
+./configure --prefix= --exec-prefix=/usr
+
+cd $ldns/drill
+autoheader
+autoconf
+./configure --prefix= --exec-prefix=/usr

Modified: projects/em_mq/contrib/libxo/Makefile.am
==============================================================================
--- projects/em_mq/contrib/libxo/Makefile.am	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/contrib/libxo/Makefile.am	Mon Apr 27 17:47:08 2015	(r282103)
@@ -10,7 +10,7 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = libxo xo xolint tests doc
+SUBDIRS = libxo xo xolint xohtml tests doc
 bin_SCRIPTS=libxo-config
 dist_doc_DATA = Copyright
 

Modified: projects/em_mq/contrib/libxo/configure.ac
==============================================================================
--- projects/em_mq/contrib/libxo/configure.ac	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/contrib/libxo/configure.ac	Mon Apr 27 17:47:08 2015	(r282103)
@@ -12,7 +12,7 @@
 #
 
 AC_PREREQ(2.2)
-AC_INIT([libxo], [0.2.0], [phil@juniper.net])
+AC_INIT([libxo], [0.3.2], [phil@juniper.net])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability])
 
 # Support silent build rules.  Requires at least automake-1.11.
@@ -133,6 +133,14 @@ AC_ARG_ENABLE([debug],
 AC_MSG_RESULT([$LIBXO_DEBUG])
 AM_CONDITIONAL([LIBXO_DEBUG], [test "$LIBXO_DEBUG" != "no"])
 
+AC_MSG_CHECKING([whether to build with text-only rendering])
+AC_ARG_ENABLE([text-only],
+    [  --enable-text-only    Turn on text-only rendering],
+    [LIBXO_TEXT_ONLY=yes; AC_DEFINE([LIBXO_TEXT_ONLY], [1], [Enable text-only rendering])],
+    [LIBXO_TEXT_ONLY=no])
+AC_MSG_RESULT([$LIBXO_TEXT_ONLY])
+AM_CONDITIONAL([LIBXO_TEXT_ONLY], [test "$LIBXO_TEXT_ONLY" != "no"])
+
 AC_CHECK_LIB([m], [lrint])
 AM_CONDITIONAL([HAVE_LIBM], [test "$HAVE_LIBM" != "no"])
 
@@ -233,6 +241,7 @@ AC_CONFIG_FILES([
   libxo/xoversion.h
   xo/Makefile
   xolint/Makefile
+  xohtml/Makefile
   packaging/libxo.pc
   doc/Makefile
   tests/Makefile
@@ -253,6 +262,7 @@ AC_MSG_NOTICE([summary of build options:
   bindir:           ${XO_BINDIR}
   includedir:       ${XO_INCLUDEDIR}
   share dir:        ${XO_SHAREDIR}
+  oxtradoc dir:     ${SLAX_OXTRADOCDIR}
 
   compiler:         ${CC} (${HAVE_GCC:-no})
   compiler flags:   ${CFLAGS}
@@ -262,4 +272,5 @@ AC_MSG_NOTICE([summary of build options:
   debug:            ${LIBXO_DEBUG:-no}
   printf-like:      ${HAVE_PRINTFLIKE:-no}
   libxo-options:    ${LIBXO_OPTS:-no}
+  text-only:        ${LIBXO_TEXT_ONLY:-no}
 ])

Modified: projects/em_mq/contrib/libxo/doc/libxo.txt
==============================================================================
--- projects/em_mq/contrib/libxo/doc/libxo.txt	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/contrib/libxo/doc/libxo.txt	Mon Apr 27 17:47:08 2015	(r282103)
@@ -134,7 +134,7 @@ A single libxo function call in source c
       <host>my-box</host>
       <domain>example.com</domain>
     JSON:
-      "host": my-box",
+      "host": "my-box",
       "domain": "example.com"
       
 For brevity, the HTML output is emitted.
@@ -228,17 +228,17 @@ data, including data type, description, 
     <div class="line">
       <div class="data" data-tag="blocks">36</div>
       <div class="padding">      </div>
-      <div class="data data-tag="path">./src</div>
+      <div class="data" data-tag="path">./src</div>
     </div>
     <div class="line">
       <div class="data" data-tag="blocks">40</div>
       <div class="padding">      </div>
-      <div class="data data-tag="path">./bin</div>
+      <div class="data" data-tag="path">./bin</div>
     </div>
     <div class="line">
       <div class="data" data-tag="blocks">90</div>
       <div class="padding">      </div>
-      <div class="data data-tag="path">./</div>
+      <div class="data" data-tag="path">./</div>
     </div>
 
 ** Format Strings @format-strings@
@@ -285,6 +285,7 @@ content.  The roles are listed below; on
 |---+--------------+-------------------------------------------------|
 | M | Name         | Description                                     |
 |---+--------------+-------------------------------------------------|
+| C | color/effect | Field has color and effect controls             |
 | D | decoration   | Field is non-text (e.g., colon, comma)          |
 | E | error        | Field is an error message                       |
 | L | label        | Field is text that prefixes a value             |
@@ -298,6 +299,56 @@ content.  The roles are listed below; on
 | ] | stop anchor  | End a section of anchored variable-width text   |
 |---+--------------+-------------------------------------------------|
 
+**** The Color Role ({C:})
+
+Colors and effects control how text values are displayed; they are
+used for display styles (TEXT and HTML).  The color content can be
+either static, when placed directly within the field descriptor, or a
+printf-style format descriptor can be used, if preceded by a slash ("/"):
+
+    xo_emit("{C:bold}{Lwc:Cost}{:cost/%u}{C:reset}\n", cost);
+    xo_emit("{C:/fg-%s,bg-%s}{Lwc:Cost}{:cost/%u}{C:reset}\n",
+            fg_color, bg_color, cost);
+
+The content should be a comma-separated list of zero or more colors or
+display effects.  Colors and effects remain in effect until
+modified by other "C" roles.  If the content is empty, the "reset"
+action is performed.
+
+|---------------+-------------------------------------------------|
+|  Name         | Description                                     |
+|---------------+-------------------------------------------------|
+|  bg-XXXXX     | Change background color                         |
+|  bold         | Start bold text effect                          |
+|  fg-XXXXX     | Change foreground color                         |
+|  inverse      | Start inverse (aka reverse) text effect         |
+|  no-bold      | Stop bold text effect                           |
+|  no-inverse   | Stop inverse (aka reverse) text effect          |
+|  no-underline | Stop underline text effect                      |
+|  normal       | Reset effects (only)                            |
+|  reset        | Reset colors and effects (restore defaults)     |
+|  underline    | Start underline text effect                     |
+|---------------+-------------------------------------------------|
+
+The following color names are supported:
+
+|---------------|
+|  Name         |
+|---------------|
+| black         |
+| blue          |
+| cyan          |
+| default       |
+| green         |
+| magenta       |
+| red           |
+| white         |
+| yellow        |
+|---------------|
+
+Color names are prefixed with either "fg-" or "bg-" to change the
+foreground and background colors, respectively.
+
 **** The Decoration Role ({D:})
 
 Decorations are typically punctuation marks such as colons,
@@ -1404,9 +1455,21 @@ functions like xo_failure, xo_warn, xo_e
 initialized by xo_parse_args, but subsequent calls to xo_set_program
 can override this value.
 
+    xo_set_program(argv[0]);
+
 Note that the value is not copied, so the memory passed to
 xo_set_program (and xo_parse_args) must be maintained by the caller.
 
+*** xo_set_version
+
+The xo_set_version function records a version number to be emitted as
+part of the data for encoding styles (XML and JSON).  This version
+number is suitable for tracking changes in the content, allowing a
+user of the data to discern which version of the data model is in use.
+
+     void xo_set_version (const char *version);
+     void xo_set_version_h (xo_handle_t *xop, const char *version);
+
 *** Field Information (xo_info_t) @info@
 
 HTML data can include additional information in attributes that
@@ -1705,6 +1768,32 @@ The "-V" option does not report errors, 
 all field names, sorted alphabetically.  The output can help spot
 inconsistencies and spelling errors.
 
+* xohtml
+
+xohtml is a tool for turning the output of libxo-enabled commands into
+html files suitable for display in modern HTML web browsers.  It can
+be used to test and debug HTML output, as well as to make the user
+ache to escape the world of 70s terminal devices.
+
+xohtml is given a command, either on the command line or via the "-c"
+option.  If not command is given, standard input is used.  The
+command's output is wrapped in HTML tags, with references to
+supporting CSS and Javascript files, and written to standard output or
+the file given in the "-f" option.  The "-b" option can be used to
+provide an alternative base path for the support files.
+
+|--------------+---------------------------------------------------|
+| Option       | Meaning                                           |
+|--------------+---------------------------------------------------|
+| -b <base>    | Base path for finding css/javascript files        |
+| -c <command> | Command to execute                                |
+| -f <file>    | Output file name                                  |
+|--------------+---------------------------------------------------|
+
+The "-c" option takes a full command with arguments, including
+any libxo options needed to generate html ("--libxo=html").  This
+value must be quoted if it consists of multiple tokens.
+
 * FAQs
 
 This section contains the set of questions that users typically ask,

Modified: projects/em_mq/contrib/libxo/libxo/Makefile.am
==============================================================================
--- projects/em_mq/contrib/libxo/libxo/Makefile.am	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/contrib/libxo/libxo/Makefile.am	Mon Apr 27 17:47:08 2015	(r282103)
@@ -38,12 +38,15 @@ man_MANS = \
     xo_no_setlocale.3 \
     xo_open_container.3 \
     xo_open_list.3 \
+    xo_open_marker.3 \
     xo_parse_args.3 \
     xo_set_allocator.3 \
     xo_set_flags.3 \
     xo_set_info.3 \
     xo_set_options.3 \
     xo_set_style.3 \
+    xo_set_version.3 \
     xo_set_writer.3
 
-EXTRA_DIST =
+EXTRA_DIST = ${man_MANS}
+

Modified: projects/em_mq/contrib/libxo/libxo/libxo.c
==============================================================================
--- projects/em_mq/contrib/libxo/libxo/libxo.c	Mon Apr 27 17:39:40 2015	(r282102)
+++ projects/em_mq/contrib/libxo/libxo/libxo.c	Mon Apr 27 17:47:08 2015	(r282103)
@@ -121,6 +121,50 @@ typedef struct xo_stack_s {
     char *xs_keys;		/* XPath predicate for any key fields */
 } xo_stack_t;
 
+/* "colors" refers to fancy ansi codes */
+#define XO_COL_DEFAULT		0
+#define XO_COL_BLACK		1
+#define XO_COL_RED		2
+#define XO_COL_GREEN		3
+#define XO_COL_YELLOW		4
+#define XO_COL_BLUE		5
+#define XO_COL_MAGENTA		6
+#define XO_COL_CYAN		7
+#define XO_COL_WHITE		8
+
+#define XO_NUM_COLORS		9
+
+/* "effects" refers to fancy ansi codes */
+/*
+ * Yes, there's no blink.  We're civilized.  We like users.  Blink
+ * isn't something one does to someone you like.  Friends don't let
+ * friends use blink.  On friends.  You know what I mean.  Blink is
+ * like, well, it's like bursting into show tunes at a funeral.  It's
+ * just not done.  Not something anyone wants.  And on those rare
+ * instances where it might actually be appropriate, it's still wrong.
+ * It's likely done my the wrong person for the wrong reason.  Just
+ * like blink.  And if I implemented blink, I'd be like a funeral
+ * director who adds "Would you like us to burst into show tunes?" on
+ * the list of questions asking while making funeral arrangements.
+ * It's formalizing wrongness in the wrong way.  And we're just too
+ * civilized to do that.   Hhhmph!
+ */
+#define XO_EFF_RESET		(1<<0)
+#define XO_EFF_NORMAL		(1<<1)
+#define XO_EFF_BOLD		(1<<2)
+#define XO_EFF_UNDERLINE	(1<<3)
+#define XO_EFF_INVERSE		(1<<4)
+
+#define XO_EFF_CLEAR_BITS 	XO_EFF_RESET
+
+typedef uint8_t xo_effect_t;
+typedef uint8_t xo_color_t;
+typedef struct xo_colors_s {
+    xo_effect_t xoc_effects;	/* Current effect set */
+    xo_color_t xoc_col_fg;	/* Foreground color */
+    xo_color_t xoc_col_bg;	/* Background color */
+} xo_colors_t;
+
 /*
  * xo_handle_t: this is the principle data structure for libxo.
  * It's used as a store for state, options, and content.
@@ -136,7 +180,6 @@ struct xo_handle_s {
     xo_formatter_t xo_formatter; /* Custom formating function */
     xo_checkpointer_t xo_checkpointer; /* Custom formating support function */
     void *xo_opaque;		/* Opaque data for write function */
-    FILE *xo_fp;		/* XXX File pointer */
     xo_buffer_t xo_data;	/* Output data */
     xo_buffer_t xo_fmt;	   	/* Work area for building format strings */
     xo_buffer_t xo_attrs;	/* Work area for building XML attributes */
@@ -154,6 +197,11 @@ struct xo_handle_s {
     int xo_anchor_min_width;	/* Desired width of anchored text */
     unsigned xo_units_offset;	/* Start of units insertion point */
     unsigned xo_columns;	/* Columns emitted during this xo_emit call */
+    uint8_t xo_color_map_fg[XO_NUM_COLORS]; /* Foreground color mappings */
+    uint8_t xo_color_map_bg[XO_NUM_COLORS]; /* Background color mappings */
+    xo_colors_t xo_colors;	/* Current color and effect values */
+    xo_buffer_t xo_color_buf;	/* HTML: buffer of colors and effects */
+    char *xo_version;		/* Version string */
 };
 
 /* Flags for formatting functions */
@@ -161,7 +209,7 @@ typedef unsigned long xo_xff_flags_t;
 #define XFF_COLON	(1<<0)	/* Append a ":" */
 #define XFF_COMMA	(1<<1)	/* Append a "," iff there's more output */
 #define XFF_WS		(1<<2)	/* Append a blank */
-#define XFF_ENCODE_ONLY	(1<<3)	/* Only emit for encoding formats (xml and json) */
+#define XFF_ENCODE_ONLY	(1<<3)	/* Only emit for encoding formats (xml, json) */
 
 #define XFF_QUOTE	(1<<4)	/* Force quotes */
 #define XFF_NOQUOTE	(1<<5)	/* Force no quotes */
@@ -277,6 +325,24 @@ static void
 xo_anchor_clear (xo_handle_t *xop);
 
 /*
+ * xo_style is used to retrieve the current style.  When we're built
+ * for "text only" mode, we use this function to drive the removal
+ * of most of the code in libxo.  We return a constant and the compiler
+ * happily removes the non-text code that is not longer executed.  This
+ * trims our code nicely without needing to trampel perfectly readable
+ * code with ifdefs.
+ */
+static inline unsigned short
+xo_style (xo_handle_t *xop UNUSED)
+{
+#ifdef LIBXO_TEXT_ONLY
+    return XO_STYLE_TEXT;
+#else /* LIBXO_TEXT_ONLY */
+    return xop->xo_style;
+#endif /* LIBXO_TEXT_ONLY */
+}
+
+/*
  * Callback to write data to a FILE pointer
  */
 static int
@@ -321,6 +387,24 @@ xo_buf_init (xo_buffer_t *xbp)
 }
 
 /*
+ * Reset the buffer to empty
+ */
+static void
+xo_buf_reset (xo_buffer_t *xbp)
+{
+    xbp->xb_curp = xbp->xb_bufp;
+}
+
+/*
+ * Reset the buffer to empty
+ */
+static int
+xo_buf_is_empty (xo_buffer_t *xbp)
+{
+    return (xbp->xb_curp == xbp->xb_bufp);
+}
+
+/*
  * Initialize the contents of an xo_buffer_t.
  */
 static void
@@ -363,8 +447,8 @@ xo_no_setlocale (void)
 /*
  * We need to decide if stdout is line buffered (_IOLBF).  Lacking a
  * standard way to decide this (e.g. getlinebuf()), we have configure
- * look to find __flbf, which glibc supported.  If not, we'll rely
- * on isatty, with the assumption that terminals are the only thing
+ * look to find __flbf, which glibc supported.  If not, we'll rely on
+ * isatty, with the assumption that terminals are the only thing
  * that's line buffered.  We _could_ test for "steam._flags & _IOLBF",
  * which is all __flbf does, but that's even tackier.  Like a
  * bedazzled Elvis outfit on an ugly lap dog sort of tacky.  Not
@@ -399,6 +483,13 @@ xo_init_handle (xo_handle_t *xop)
 	xop->xo_flags |= XOF_FLUSH_LINE;
 
     /*
+     * We only want to do color output on terminals, but we only want
+     * to do this if the user has asked for color.
+     */
+    if ((xop->xo_flags & XOF_COLOR_ALLOWED) && isatty(1))
+	xop->xo_flags |= XOF_COLOR;
+
+    /*
      * We need to initialize the locale, which isn't really pretty.
      * Libraries should depend on their caller to set up the
      * environment.  But we really can't count on the caller to do
@@ -497,7 +588,7 @@ xo_default (xo_handle_t *xop)
 
 /*
  * Return the number of spaces we should be indenting.  If
- * we are pretty-printing, theis is indent * indent_by.
+ * we are pretty-printing, this is indent * indent_by.
  */
 static int
 xo_indent (xo_handle_t *xop)
@@ -647,6 +738,21 @@ xo_buf_append (xo_buffer_t *xbp, const c
     xbp->xb_curp += len;
 }
 
+/*
+ * Append the given NUL-terminated string to the given buffer
+ */
+static void
+xo_buf_append_str (xo_buffer_t *xbp, const char *str)
+{
+    int len = strlen(str);
+
+    if (!xo_buf_has_room(xbp, len))
+	return;
+
+    memcpy(xbp->xb_curp, str, len);
+    xbp->xb_curp += len;
+}
+
 static void
 xo_buf_escape (xo_handle_t *xop, xo_buffer_t *xbp,
 	       const char *str, int len, xo_xff_flags_t flags)
@@ -656,7 +762,7 @@ xo_buf_escape (xo_handle_t *xop, xo_buff
 
     memcpy(xbp->xb_curp, str, len);
 
-    switch (xop->xo_style) {
+    switch (xo_style(xop)) {
     case XO_STYLE_XML:
     case XO_STYLE_HTML:
 	len = xo_escape_xml(xbp, len, (flags & XFF_ATTR));
@@ -711,7 +817,7 @@ xo_vsnprintf (xo_handle_t *xop, xo_buffe
     else
 	rc = vsnprintf(xbp->xb_curp, left, fmt, va_local);
 
-    if (rc > xbp->xb_size) {
+    if (rc >= left) {
 	if (!xo_buf_has_room(xbp, rc)) {
 	    va_end(va_local);
 	    return -1;
@@ -721,7 +827,7 @@ xo_vsnprintf (xo_handle_t *xop, xo_buffe
 	 * After we call vsnprintf(), the stage of vap is not defined.
 	 * We need to copy it before we pass.  Then we have to do our
 	 * own logic below to move it along.  This is because the
-	 * implementation can have va_list be a point (bsd) or a
+	 * implementation can have va_list be a pointer (bsd) or a
 	 * structure (macosx) or anything in between.
 	 */
 
@@ -730,7 +836,7 @@ xo_vsnprintf (xo_handle_t *xop, xo_buffe
 
 	left = xbp->xb_size - (xbp->xb_curp - xbp->xb_bufp);
 	if (xop->xo_formatter)
-	    xop->xo_formatter(xop, xbp->xb_curp, left, fmt, va_local);
+	    rc = xop->xo_formatter(xop, xbp->xb_curp, left, fmt, va_local);
 	else
 	    rc = vsnprintf(xbp->xb_curp, left, fmt, va_local);
     }
@@ -1219,7 +1325,7 @@ xo_message_hcv (xo_handle_t *xop, int co
 
     int need_nl = (fmt[strlen(fmt) - 1] != '\n');
 
-    switch (xop->xo_style) {
+    switch (xo_style(xop)) {
     case XO_STYLE_XML:
 	xbp = &xop->xo_data;
 	if (xop->xo_flags & XOF_PRETTY)
@@ -1431,6 +1537,10 @@ xo_destroy (xo_handle_t *xop_arg)
     xo_buf_cleanup(&xop->xo_fmt);
     xo_buf_cleanup(&xop->xo_predicate);
     xo_buf_cleanup(&xop->xo_attrs);
+    xo_buf_cleanup(&xop->xo_color_buf);
+
+    if (xop->xo_version)
+	xo_free(xop->xo_version);
 
     if (xop_arg == NULL) {
 	bzero(&xo_default_handle, sizeof(xo_default_handle));
@@ -1457,7 +1567,7 @@ xo_style_t
 xo_get_style (xo_handle_t *xop)
 {
     xop = xo_default(xop);
-    return xop->xo_style;
+    return xo_style(xop);
 }
 
 static int
@@ -1492,6 +1602,8 @@ xo_name_to_flag (const char *name)
 	return XOF_INFO;
     if (strcmp(name, "warn-xml") == 0)
 	return XOF_WARN_XML;
+    if (strcmp(name, "color") == 0)
+	return XOF_COLOR_ALLOWED;
     if (strcmp(name, "columns") == 0)
 	return XOF_COLUMNS;
     if (strcmp(name, "dtrt") == 0)
@@ -1547,6 +1659,11 @@ xo_set_options (xo_handle_t *xop, const 
 
     xop = xo_default(xop);
 
+#ifdef LIBXO_COLOR_ON_BY_DEFAULT
+    /* If the installer used --enable-color-on-by-default, then we allow it */
+    xop->xo_flags |= XOF_COLOR_ALLOWED;
+#endif /* LIBXO_COLOR_ON_BY_DEFAULT */
+
     /*
      * We support a simpler, old-school style of giving option
      * also, using a single character for each option.  It's
@@ -1557,6 +1674,10 @@ xo_set_options (xo_handle_t *xop, const 
 
 	for (input++ ; *input; input++) {
 	    switch (*input) {
+	    case 'c':
+		xop->xo_flags |= XOF_COLOR_ALLOWED;
+		break;
+
 	    case 'f':
 		xop->xo_flags |= XOF_FLUSH;
 		break;
@@ -1634,6 +1755,11 @@ xo_set_options (xo_handle_t *xop, const 
 	if (vp)
 	    *vp++ = '\0';
 
+	if (strcmp("colors", cp) == 0) {
+	    /* XXX Look for colors=red-blue+green-yellow */
+	    continue;
+	}
+
 	new_style = xo_name_to_style(cp);
 	if (new_style >= 0) {
 	    if (style >= 0)
@@ -1645,7 +1771,9 @@ xo_set_options (xo_handle_t *xop, const 
 	    if (new_flag != 0)
 		xop->xo_flags |= new_flag;
 	    else {
-		if (strcmp(cp, "indent") == 0) {
+		if (strcmp(cp, "no-color") == 0) {
+		    xop->xo_flags &= ~XOF_COLOR_ALLOWED;
+		} else if (strcmp(cp, "indent") == 0) {
 		    xop->xo_indent_by = atoi(vp);
 		} else {
 		    xo_warnx("unknown option: '%s'", cp);
@@ -1801,7 +1929,7 @@ xo_line_ensure_open (xo_handle_t *xop, x
     if (xop->xo_flags & XOF_DIV_OPEN)
 	return;
 
-    if (xop->xo_style != XO_STYLE_HTML)
+    if (xo_style(xop) != XO_STYLE_HTML)
 	return;
 
     xop->xo_flags |= XOF_DIV_OPEN;
@@ -1819,7 +1947,7 @@ xo_line_close (xo_handle_t *xop)
 {
     static char div_close[] = "</div>";
 
-    switch (xop->xo_style) {
+    switch (xo_style(xop)) {
     case XO_STYLE_HTML:
 	if (!(xop->xo_flags & XOF_DIV_OPEN))
 	    xo_line_ensure_open(xop, 0);
@@ -1976,7 +2104,7 @@ xo_format_string_direct (xo_handle_t *xo
 	if (width < 0)
 	    width = iswcntrl(wc) ? 0 : 1;
 
-	if (xop->xo_style == XO_STYLE_TEXT || xop->xo_style == XO_STYLE_HTML) {
+	if (xo_style(xop) == XO_STYLE_TEXT || xo_style(xop) == XO_STYLE_HTML) {
 	    if (max > 0 && cols + width > max)
 		break;
 	}
@@ -1985,7 +2113,7 @@ xo_format_string_direct (xo_handle_t *xo
 	case XF_ENC_UTF8:
 
 	    /* Output in UTF-8 needs to be escaped, based on the style */
-	    switch (xop->xo_style) {
+	    switch (xo_style(xop)) {
 	    case XO_STYLE_XML:
 	    case XO_STYLE_HTML:
 		if (wc == '<')
@@ -2071,7 +2199,7 @@ xo_format_string (xo_handle_t *xop, xo_b
     wchar_t *wcp = NULL;
     int len, cols = 0, rc = 0;
     int off = xbp->xb_curp - xbp->xb_bufp, off2;
-    int need_enc = (xop->xo_style == XO_STYLE_TEXT)
+    int need_enc = (xo_style(xop) == XO_STYLE_TEXT)
 	? XF_ENC_LOCALE : XF_ENC_UTF8;
 
     if (xo_check_conversion(xop, xfp->xf_enc, need_enc))
@@ -2185,7 +2313,7 @@ static void
 xo_data_append_content (xo_handle_t *xop, const char *str, int len)
 {
     int cols;
-    int need_enc = (xop->xo_style == XO_STYLE_TEXT)
+    int need_enc = (xo_style(xop) == XO_STYLE_TEXT)
 	? XF_ENC_LOCALE : XF_ENC_UTF8;
 
     cols = xo_format_string_direct(xop, &xop->xo_data, XFF_UNESCAPE,
@@ -2246,9 +2374,9 @@ xo_format_data (xo_handle_t *xop, xo_buf
     xo_format_t xf;
     const char *cp, *ep, *sp, *xp = NULL;
     int rc, cols;
-    int style = (flags & XFF_XML) ? XO_STYLE_XML : xop->xo_style;
+    int style = (flags & XFF_XML) ? XO_STYLE_XML : xo_style(xop);
     unsigned make_output = !(flags & XFF_NO_OUTPUT);
-    int need_enc = (xop->xo_style == XO_STYLE_TEXT)
+    int need_enc = (xo_style(xop) == XO_STYLE_TEXT)
 	? XF_ENC_LOCALE : XF_ENC_UTF8;
     
     if (xbp == NULL)
@@ -2310,11 +2438,11 @@ xo_format_data (xo_handle_t *xop, xo_buf
 	/* Hidden fields are only visible to JSON and XML */
 	if (xop->xo_flags & XFF_ENCODE_ONLY) {
 	    if (style != XO_STYLE_XML
-		    && xop->xo_style != XO_STYLE_JSON)
+		    && xo_style(xop) != XO_STYLE_JSON)
 		xf.xf_skip = 1;
 	} else if (xop->xo_flags & XFF_DISPLAY_ONLY) {
 	    if (style != XO_STYLE_TEXT
-		    && xop->xo_style != XO_STYLE_HTML)
+		    && xo_style(xop) != XO_STYLE_HTML)
 		xf.xf_skip = 1;
 	}
 
@@ -2420,8 +2548,8 @@ xo_format_data (xo_handle_t *xop, xo_buf
 		rc = xo_format_string(xop, xbp, flags, &xf);
 
 		if ((flags & XFF_TRIM_WS)
-			&& (xop->xo_style == XO_STYLE_XML
-				|| xop->xo_style == XO_STYLE_JSON))
+			&& (xo_style(xop) == XO_STYLE_XML
+				|| xo_style(xop) == XO_STYLE_JSON))
 		    rc = xo_trim_ws(xbp, rc);
 
 	    } else {
@@ -2567,6 +2695,20 @@ xo_fix_encoding (xo_handle_t *xop UNUSED
 }
 
 static void
+xo_color_append_html (xo_handle_t *xop)
+{
+    /*
+     * If the color buffer has content, we add it now.  It's already
+     * prebuilt and ready, since we want to add it to every <div>.
+     */
+    if (!xo_buf_is_empty(&xop->xo_color_buf)) {
+	xo_buffer_t *xbp = &xop->xo_color_buf;
+
+	xo_data_append(xop, xbp->xb_bufp, xbp->xb_curp - xbp->xb_bufp);
+    }
+}
+
+static void
 xo_buf_append_div (xo_handle_t *xop, const char *class, xo_xff_flags_t flags,
 		   const char *name, int nlen,
 		   const char *value, int vlen,
@@ -2663,6 +2805,16 @@ xo_buf_append_div (xo_handle_t *xop, con
     xo_data_append(xop, div_start, sizeof(div_start) - 1);
     xo_data_append(xop, class, strlen(class));
 
+    /*
+     * If the color buffer has content, we add it now.  It's already
+     * prebuilt and ready, since we want to add it to every <div>.
+     */
+    if (!xo_buf_is_empty(&xop->xo_color_buf)) {
+	xo_buffer_t *xbp = &xop->xo_color_buf;
+
+	xo_data_append(xop, xbp->xb_bufp, xbp->xb_curp - xbp->xb_bufp);
+    }
+
     if (name) {
 	xo_data_append(xop, div_tag, sizeof(div_tag) - 1);
 	xo_data_escape(xop, name, nlen);
@@ -2753,7 +2905,7 @@ xo_buf_append_div (xo_handle_t *xop, con
 static void
 xo_format_text (xo_handle_t *xop, const char *str, int len)
 {
-    switch (xop->xo_style) {
+    switch (xo_style(xop)) {
     case XO_STYLE_TEXT:
 	xo_buf_append_locale(xop, &xop->xo_data, str, len);
 	break;
@@ -2768,7 +2920,8 @@ static void
 xo_format_title (xo_handle_t *xop, const char *str, int len,
 		 const char *fmt, int flen)
 {
-    static char div_open[] = "<div class=\"title\">";
+    static char div_open[] = "<div class=\"title";
+    static char div_middle[] = "\">";
     static char div_close[] = "</div>";
 
     if (flen == 0) {
@@ -2776,7 +2929,7 @@ xo_format_title (xo_handle_t *xop, const
 	flen = 2;
     }
 
-    switch (xop->xo_style) {
+    switch (xo_style(xop)) {
     case XO_STYLE_XML:
     case XO_STYLE_JSON:
 	/*
@@ -2794,12 +2947,14 @@ xo_format_title (xo_handle_t *xop, const
     int rc;
     int need_enc = XF_ENC_LOCALE;
 
-    if (xop->xo_style == XO_STYLE_HTML) {
+    if (xo_style(xop) == XO_STYLE_HTML) {
 	need_enc = XF_ENC_UTF8;
 	xo_line_ensure_open(xop, 0);
 	if (xop->xo_flags & XOF_PRETTY)
 	    xo_buf_indent(xop, xop->xo_indent_by);
 	xo_buf_append(&xop->xo_data, div_open, sizeof(div_open) - 1);
+	xo_color_append_html(xop);
+	xo_buf_append(&xop->xo_data, div_middle, sizeof(div_middle) - 1);
     }
 
     start = xbp->xb_curp - xbp->xb_bufp; /* Reset start */
@@ -2862,7 +3017,7 @@ xo_format_title (xo_handle_t *xop, const
     }
 
     /* If we're styling HTML, then we need to escape it */
-    if (xop->xo_style == XO_STYLE_HTML) {
+    if (xo_style(xop) == XO_STYLE_HTML) {
 	rc = xo_escape_xml(xbp, rc, 0);
     }
 
@@ -2870,7 +3025,7 @@ xo_format_title (xo_handle_t *xop, const
 	xbp->xb_curp += rc;
 
  move_along:
-    if (xop->xo_style == XO_STYLE_HTML) {
+    if (xo_style(xop) == XO_STYLE_HTML) {
 	xo_data_append(xop, div_close, sizeof(div_close) - 1);
 	if (xop->xo_flags & XOF_PRETTY)
 	    xo_data_append(xop, "\n", 1);
@@ -2978,7 +3133,7 @@ xo_format_value (xo_handle_t *xop, const
 	}
     }
 
-    switch (xop->xo_style) {
+    switch (xo_style(xop)) {
     case XO_STYLE_TEXT:
 	if (flags & XFF_ENCODE_ONLY)
 	    flags |= XFF_NO_OUTPUT;
@@ -3103,7 +3258,9 @@ xo_format_value (xo_handle_t *xop, const
 	}
 
 	if (flags & XFF_LEAF_LIST) {
-	    if (first && pretty)
+	    if (!first && pretty)
+		xo_data_append(xop, "\n", 1);
+	    if (pretty)
 		xo_buf_indent(xop, -1);
 	} else {
 	    if (pretty)
@@ -3122,10 +3279,10 @@ xo_format_value (xo_handle_t *xop, const
 			xbp->xb_bufp[off] = '_';
 	    }
 	    xo_data_append(xop, "\":", 2);
+	    if (pretty)
+	        xo_data_append(xop, " ", 1);
 	}
 
-	if (pretty)
-	    xo_data_append(xop, " ", 1);
 	if (quote)
 	    xo_data_append(xop, "\"", 1);
 
@@ -3142,7 +3299,7 @@ xo_format_content (xo_handle_t *xop, con
 		   const char *xml_tag, int display_only,
 		   const char *str, int len, const char *fmt, int flen)
 {
-    switch (xop->xo_style) {
+    switch (xo_style(xop)) {
     case XO_STYLE_TEXT:
 	if (len) {
 	    xo_data_append_content(xop, str, len);
@@ -3195,6 +3352,362 @@ xo_format_content (xo_handle_t *xop, con
     }
 }
 
+static const char *xo_color_names[] = {
+    "default",	/* XO_COL_DEFAULT */
+    "black",	/* XO_COL_BLACK */
+    "red",	/* XO_CLOR_RED */
+    "green",	/* XO_COL_GREEN */
+    "yellow",	/* XO_COL_YELLOW */
+    "blue",	/* XO_COL_BLUE */
+    "magenta",	/* XO_COL_MAGENTA */
+    "cyan",	/* XO_COL_CYAN */
+    "white",	/* XO_COL_WHITE */
+    NULL
+};
+
+static int
+xo_color_find (const char *str)
+{
+    int i;
+
+    for (i = 0; xo_color_names[i]; i++) {
+	if (strcmp(xo_color_names[i], str) == 0)
+	    return i;
+    }
+
+    return -1;
+}
+
+static const char *xo_effect_names[] = {
+    "reset",			/* XO_EFF_RESET */
+    "normal",			/* XO_EFF_NORMAL */
+    "bold",			/* XO_EFF_BOLD */
+    "underline",		/* XO_EFF_UNDERLINE */
+    "inverse",			/* XO_EFF_INVERSE */
+    NULL
+};
+
+static const char *xo_effect_on_codes[] = {
+    "0",			/* XO_EFF_RESET */
+    "0",			/* XO_EFF_NORMAL */
+    "1",			/* XO_EFF_BOLD */
+    "4",			/* XO_EFF_UNDERLINE */
+    "7",			/* XO_EFF_INVERSE */
+    NULL
+};
+
+#if 0
+/*
+ * See comment below re: joy of terminal standards.  These can
+ * be use by just adding:
+ *	if (newp->xoc_effects & bit)
+ *	    code = xo_effect_on_codes[i];
+ * +	else
+ * +	    code = xo_effect_off_codes[i];
+ * in xo_color_handle_text.
+ */
+static const char *xo_effect_off_codes[] = {
+    "0",			/* XO_EFF_RESET */
+    "0",			/* XO_EFF_NORMAL */
+    "21",			/* XO_EFF_BOLD */
+    "24",			/* XO_EFF_UNDERLINE */
+    "27",			/* XO_EFF_INVERSE */
+    NULL
+};
+#endif /* 0 */
+
+static int
+xo_effect_find (const char *str)
+{
+    int i;
+
+    for (i = 0; xo_effect_names[i]; i++) {
+	if (strcmp(xo_effect_names[i], str) == 0)
+	    return i;
+    }
+
+    return -1;
+}
+
+static void
+xo_colors_parse (xo_handle_t *xop, xo_colors_t *xocp, char *str)
+{
+#ifdef LIBXO_TEXT_ONLY
+    return;
+#endif /* LIBXO_TEXT_ONLY */
+
+    char *cp, *ep, *np, *xp;
+    int len = strlen(str);
+    int rc;
+
+    /*

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504271747.t3RHl9RX091846>