Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Apr 2016 02:32:13 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r298092 - in projects/release-pkg: . bin/csh bin/sh cddl/lib/libdtrace contrib/elftoolchain/elfcopy contrib/ipfilter contrib/libpcap contrib/libxo contrib/libxo/doc contrib/libxo/encode...
Message-ID:  <201604160232.u3G2WDDn086746@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Sat Apr 16 02:32:12 2016
New Revision: 298092
URL: https://svnweb.freebsd.org/changeset/base/298092

Log:
  MFH
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/release-pkg/contrib/libxo/libxo/xo_emit_f.3
     - copied unchanged from r298091, head/contrib/libxo/libxo/xo_emit_f.3
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.E.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.E.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.E.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.E.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.H.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.H.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.H.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.H.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HIPx.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HIPx.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HIPx.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HIPx.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HP.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HP.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HP.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HP.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.J.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.J.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.J.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.J.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.JP.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.JP.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.JP.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.JP.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.T.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.T.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.T.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.T.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.X.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.X.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.X.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.X.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.XP.err
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.XP.err
  projects/release-pkg/contrib/libxo/tests/core/saved/test_12.XP.out
     - copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.XP.out
  projects/release-pkg/contrib/libxo/tests/core/test_12.c
     - copied unchanged from r298091, head/contrib/libxo/tests/core/test_12.c
  projects/release-pkg/lib/libpam/static_libpam/
     - copied from r298091, head/lib/libpam/static_libpam/
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7620a.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7620a.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7620n.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7620n.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7621.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7621.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7628an.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7628an.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt2880.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt2880.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt3050.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt3050.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt3352.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt3352.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt3883.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt3883.dtsi
  projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt5350.dtsi
     - copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt5350.dtsi
  projects/release-pkg/sys/cam/cam_iosched.c
     - copied unchanged from r298091, head/sys/cam/cam_iosched.c
  projects/release-pkg/sys/cam/cam_iosched.h
     - copied unchanged from r298091, head/sys/cam/cam_iosched.h
  projects/release-pkg/sys/dev/hyperv/vmbus/amd64/
     - copied from r298091, head/sys/dev/hyperv/vmbus/amd64/
  projects/release-pkg/sys/dev/hyperv/vmbus/i386/
     - copied from r298091, head/sys/dev/hyperv/vmbus/i386/
  projects/release-pkg/sys/mips/conf/MEDIATEK
     - copied unchanged from r298091, head/sys/mips/conf/MEDIATEK
  projects/release-pkg/sys/mips/conf/MEDIATEK_BASE
     - copied unchanged from r298091, head/sys/mips/conf/MEDIATEK_BASE
  projects/release-pkg/sys/mips/conf/MT7620A_FDT
     - copied unchanged from r298091, head/sys/mips/conf/MT7620A_FDT
  projects/release-pkg/sys/mips/conf/MT7620N_FDT
     - copied unchanged from r298091, head/sys/mips/conf/MT7620N_FDT
  projects/release-pkg/sys/mips/conf/MT7621_FDT
     - copied unchanged from r298091, head/sys/mips/conf/MT7621_FDT
  projects/release-pkg/sys/mips/conf/MT7628_FDT
     - copied unchanged from r298091, head/sys/mips/conf/MT7628_FDT
  projects/release-pkg/sys/mips/conf/RT3050_FDT
     - copied unchanged from r298091, head/sys/mips/conf/RT3050_FDT
  projects/release-pkg/sys/mips/conf/RT3352_FDT
     - copied unchanged from r298091, head/sys/mips/conf/RT3352_FDT
  projects/release-pkg/sys/mips/conf/RT3883_FDT
     - copied unchanged from r298091, head/sys/mips/conf/RT3883_FDT
  projects/release-pkg/sys/mips/conf/RT5350_FDT
     - copied unchanged from r298091, head/sys/mips/conf/RT5350_FDT
  projects/release-pkg/sys/netpfil/ipfw/ip_fw_eaction.c
     - copied unchanged from r298091, head/sys/netpfil/ipfw/ip_fw_eaction.c
Deleted:
  projects/release-pkg/contrib/libxo/libxo/xo_config.h.in
  projects/release-pkg/lib/libpam/static_modules/
Modified:
  projects/release-pkg/Makefile
  projects/release-pkg/Makefile.inc1
  projects/release-pkg/Makefile.libcompat
  projects/release-pkg/ObsoleteFiles.inc
  projects/release-pkg/UPDATING
  projects/release-pkg/bin/csh/Makefile
  projects/release-pkg/bin/sh/Makefile
  projects/release-pkg/bin/sh/parser.c
  projects/release-pkg/cddl/lib/libdtrace/tcp.d
  projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c
  projects/release-pkg/contrib/ipfilter/bpf_filter.c
  projects/release-pkg/contrib/ipfilter/mli_ipl.c   (contents, props changed)
  projects/release-pkg/contrib/libpcap/pcap-snf.c
  projects/release-pkg/contrib/libxo/Makefile.am
  projects/release-pkg/contrib/libxo/configure.ac
  projects/release-pkg/contrib/libxo/doc/libxo-manual.html
  projects/release-pkg/contrib/libxo/doc/libxo.txt
  projects/release-pkg/contrib/libxo/encoder/cbor/enc_cbor.c
  projects/release-pkg/contrib/libxo/libxo-config.in
  projects/release-pkg/contrib/libxo/libxo/libxo.c
  projects/release-pkg/contrib/libxo/libxo/xo.h
  projects/release-pkg/contrib/libxo/libxo/xo_format.5
  projects/release-pkg/contrib/libxo/libxo/xo_parse_args.3
  projects/release-pkg/contrib/libxo/packaging/libxo.pc.in
  projects/release-pkg/contrib/libxo/packaging/libxo.rb.base.in
  projects/release-pkg/contrib/libxo/tests/core/Makefile.am
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.E.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.H.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.HIPx.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.HP.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.J.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.JP.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.T.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.X.out
  projects/release-pkg/contrib/libxo/tests/core/saved/test_01.XP.out
  projects/release-pkg/contrib/libxo/tests/core/test_01.c
  projects/release-pkg/contrib/libxo/tests/core/test_02.c
  projects/release-pkg/contrib/libxo/tests/gettext/gt_01.c
  projects/release-pkg/include/Makefile
  projects/release-pkg/lib/libc/aarch64/sys/brk.S
  projects/release-pkg/lib/libc/aarch64/sys/cerror.S
  projects/release-pkg/lib/libc/aarch64/sys/sbrk.S
  projects/release-pkg/lib/libcam/camlib.c
  projects/release-pkg/lib/libcam/camlib.h
  projects/release-pkg/lib/libcasper/services/cap_dns/cap_dns.c
  projects/release-pkg/lib/libgssapi/gss_add_cred.c
  projects/release-pkg/lib/libgssapi/gss_encapsulate_token.c
  projects/release-pkg/lib/libgssapi/gss_get_mic.c
  projects/release-pkg/lib/libgssapi/gss_inquire_context.c
  projects/release-pkg/lib/libgssapi/gss_mech_switch.c
  projects/release-pkg/lib/libgssapi/gss_pseudo_random.c
  projects/release-pkg/lib/libgssapi/gss_verify_mic.c
  projects/release-pkg/lib/libgssapi/gss_wrap.c
  projects/release-pkg/lib/libgssapi/gss_wrap_size_limit.c
  projects/release-pkg/lib/libmagic/Makefile
  projects/release-pkg/lib/libpam/Makefile
  projects/release-pkg/lib/libpam/libpam/Makefile
  projects/release-pkg/lib/libpam/modules/Makefile
  projects/release-pkg/lib/libpam/modules/Makefile.inc
  projects/release-pkg/lib/libthr/arch/riscv/include/pthread_md.h
  projects/release-pkg/lib/libxo/add.man
  projects/release-pkg/lib/libxo/xo_config.h
  projects/release-pkg/lib/libypclnt/ypclnt_passwd.c
  projects/release-pkg/lib/msun/tests/Makefile
  projects/release-pkg/lib/ncurses/ncurses/Makefile
  projects/release-pkg/release/Makefile
  projects/release-pkg/sbin/devd/devd.conf.5
  projects/release-pkg/sbin/dump/optr.c
  projects/release-pkg/sbin/fsck_ffs/globs.c
  projects/release-pkg/sbin/ifconfig/sfp.c
  projects/release-pkg/sbin/ipfw/ipfw2.c
  projects/release-pkg/sbin/ipfw/ipfw2.h
  projects/release-pkg/sbin/ipfw/ipv6.c
  projects/release-pkg/sbin/ipfw/tables.c
  projects/release-pkg/sbin/mount_nfs/mount_nfs.c
  projects/release-pkg/sbin/pfctl/parse.y
  projects/release-pkg/sbin/reboot/nextboot.8
  projects/release-pkg/sbin/reboot/nextboot.sh
  projects/release-pkg/sbin/savecore/savecore.c
  projects/release-pkg/share/examples/Makefile
  projects/release-pkg/share/man/man4/dtrace_tcp.4
  projects/release-pkg/share/man/man5/src.conf.5
  projects/release-pkg/share/man/man7/build.7
  projects/release-pkg/share/mk/bsd.README
  projects/release-pkg/share/mk/bsd.dep.mk
  projects/release-pkg/share/mk/bsd.lib.mk
  projects/release-pkg/share/mk/bsd.progs.mk
  projects/release-pkg/share/mk/bsd.sys.mk
  projects/release-pkg/share/mk/local.sys.mk
  projects/release-pkg/share/sendmail/Makefile
  projects/release-pkg/share/syscons/scrnmaps/Makefile
  projects/release-pkg/share/zoneinfo/Makefile
  projects/release-pkg/sys/amd64/amd64/apic_vector.S
  projects/release-pkg/sys/amd64/amd64/exception.S
  projects/release-pkg/sys/amd64/amd64/minidump_machdep.c
  projects/release-pkg/sys/amd64/conf/GENERIC
  projects/release-pkg/sys/amd64/conf/NOTES
  projects/release-pkg/sys/arm/allwinner/a10_common.c
  projects/release-pkg/sys/arm/altera/socfpga/socfpga_common.c
  projects/release-pkg/sys/arm/amlogic/aml8726/aml8726_machdep.c
  projects/release-pkg/sys/arm/annapurna/alpine/common.c
  projects/release-pkg/sys/arm/arm/gic.c
  projects/release-pkg/sys/arm/arm/machdep_intr.c
  projects/release-pkg/sys/arm/arm/mp_machdep.c
  projects/release-pkg/sys/arm/arm/nexus.c
  projects/release-pkg/sys/arm/arm/pmap-v4.c
  projects/release-pkg/sys/arm/arm/pmap-v6.c
  projects/release-pkg/sys/arm/at91/at91_common.c
  projects/release-pkg/sys/arm/at91/at91_mci.c
  projects/release-pkg/sys/arm/at91/at91_pio.c
  projects/release-pkg/sys/arm/at91/at91_pmc.c
  projects/release-pkg/sys/arm/at91/at91_rtc.c
  projects/release-pkg/sys/arm/at91/at91_ssc.c
  projects/release-pkg/sys/arm/at91/at91_twi.c
  projects/release-pkg/sys/arm/at91/if_ate.c
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_common.c
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_intr.c
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2836.c
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2836.h
  projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2836_mp.c
  projects/release-pkg/sys/arm/cavium/cns11xx/if_ece.c
  projects/release-pkg/sys/arm/conf/A20
  projects/release-pkg/sys/arm/conf/ALPINE
  projects/release-pkg/sys/arm/conf/ARMADA38X
  projects/release-pkg/sys/arm/conf/BEAGLEBONE
  projects/release-pkg/sys/arm/conf/EXYNOS5.common
  projects/release-pkg/sys/arm/conf/IMX6
  projects/release-pkg/sys/arm/conf/ODROIDC1
  projects/release-pkg/sys/arm/conf/PANDABOARD
  projects/release-pkg/sys/arm/conf/RK3188
  projects/release-pkg/sys/arm/conf/RPI-B
  projects/release-pkg/sys/arm/conf/RPI2
  projects/release-pkg/sys/arm/conf/SOCKIT.common
  projects/release-pkg/sys/arm/conf/VIRT
  projects/release-pkg/sys/arm/conf/VSATV102
  projects/release-pkg/sys/arm/conf/VYBRID
  projects/release-pkg/sys/arm/conf/ZEDBOARD
  projects/release-pkg/sys/arm/freescale/imx/imx6_machdep.c
  projects/release-pkg/sys/arm/freescale/imx/imx_common.c
  projects/release-pkg/sys/arm/freescale/imx/imx_gpio.c
  projects/release-pkg/sys/arm/freescale/vybrid/vf_common.c
  projects/release-pkg/sys/arm/include/intr.h
  projects/release-pkg/sys/arm/include/smp.h
  projects/release-pkg/sys/arm/lpc/lpc_intc.c
  projects/release-pkg/sys/arm/mv/mpic.c
  projects/release-pkg/sys/arm/mv/mv_common.c
  projects/release-pkg/sys/arm/nvidia/tegra124/std.tegra124
  projects/release-pkg/sys/arm/qemu/virt_common.c
  projects/release-pkg/sys/arm/rockchip/rk30xx_common.c
  projects/release-pkg/sys/arm/samsung/exynos/exynos5_common.c
  projects/release-pkg/sys/arm/ti/aintc.c
  projects/release-pkg/sys/arm/ti/omap4/omap4_prcm_clks.c
  projects/release-pkg/sys/arm/ti/ti_common.c
  projects/release-pkg/sys/arm/ti/ti_gpio.c
  projects/release-pkg/sys/arm/ti/ti_gpio.h
  projects/release-pkg/sys/arm/versatile/versatile_common.c
  projects/release-pkg/sys/arm/xilinx/zy7_machdep.c
  projects/release-pkg/sys/arm/xscale/ixp425/ixp425_qmgr.c
  projects/release-pkg/sys/arm64/arm64/gic_fdt.c
  projects/release-pkg/sys/arm64/arm64/gic_v3_its.c
  projects/release-pkg/sys/arm64/arm64/nexus.c
  projects/release-pkg/sys/arm64/arm64/pmap.c
  projects/release-pkg/sys/arm64/include/vmparam.h
  projects/release-pkg/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c
  projects/release-pkg/sys/boot/i386/libi386/biosacpi.c
  projects/release-pkg/sys/cam/ata/ata_all.c
  projects/release-pkg/sys/cam/ata/ata_all.h
  projects/release-pkg/sys/cam/ata/ata_da.c
  projects/release-pkg/sys/cam/cam.c
  projects/release-pkg/sys/cam/cam_ccb.h
  projects/release-pkg/sys/cam/cam_periph.c
  projects/release-pkg/sys/cam/cam_xpt.c
  projects/release-pkg/sys/cam/scsi/scsi_da.c
  projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
  projects/release-pkg/sys/compat/linux/linux_ioctl.c
  projects/release-pkg/sys/conf/NOTES
  projects/release-pkg/sys/conf/files
  projects/release-pkg/sys/conf/files.amd64
  projects/release-pkg/sys/conf/files.arm
  projects/release-pkg/sys/conf/files.i386
  projects/release-pkg/sys/conf/kern.post.mk
  projects/release-pkg/sys/conf/options
  projects/release-pkg/sys/conf/options.amd64
  projects/release-pkg/sys/conf/options.arm
  projects/release-pkg/sys/conf/options.i386
  projects/release-pkg/sys/conf/options.mips
  projects/release-pkg/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c   (contents, props changed)
  projects/release-pkg/sys/contrib/rdma/krping/krping.c
  projects/release-pkg/sys/contrib/rdma/krping/krping.h
  projects/release-pkg/sys/contrib/rdma/krping/krping_dev.c
  projects/release-pkg/sys/ddb/db_command.c
  projects/release-pkg/sys/ddb/db_ps.c
  projects/release-pkg/sys/ddb/db_sym.c
  projects/release-pkg/sys/dev/acpica/acpi_pci.c
  projects/release-pkg/sys/dev/ahci/ahci.c
  projects/release-pkg/sys/dev/cardbus/cardbus.c
  projects/release-pkg/sys/dev/fdt/fdt_common.h
  projects/release-pkg/sys/dev/fdt/fdt_powerpc.c
  projects/release-pkg/sys/dev/flash/mx25l.c
  projects/release-pkg/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  projects/release-pkg/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
  projects/release-pkg/sys/dev/hyperv/vmbus/hv_channel_mgmt.c
  projects/release-pkg/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
  projects/release-pkg/sys/dev/isp/isp.c
  projects/release-pkg/sys/dev/isp/isp_library.c
  projects/release-pkg/sys/dev/isp/ispvar.h
  projects/release-pkg/sys/dev/pci/pci.c
  projects/release-pkg/sys/dev/pci/pci_if.m
  projects/release-pkg/sys/dev/pci/pci_iov.c
  projects/release-pkg/sys/dev/pci/pci_private.h
  projects/release-pkg/sys/dev/pci/pcivar.h
  projects/release-pkg/sys/dev/rt/if_rt.c
  projects/release-pkg/sys/dev/wbwd/wbwd.c
  projects/release-pkg/sys/fs/cd9660/cd9660_vfsops.c
  projects/release-pkg/sys/fs/msdosfs/msdosfs_conv.c
  projects/release-pkg/sys/fs/msdosfs/msdosfs_fat.c
  projects/release-pkg/sys/fs/msdosfs/msdosfs_lookup.c
  projects/release-pkg/sys/geom/gate/g_gate.c
  projects/release-pkg/sys/geom/geom_io.c
  projects/release-pkg/sys/geom/geom_subr.c
  projects/release-pkg/sys/geom/mirror/g_mirror.c
  projects/release-pkg/sys/geom/raid3/g_raid3.c
  projects/release-pkg/sys/i386/conf/GENERIC
  projects/release-pkg/sys/i386/i386/apic_vector.s
  projects/release-pkg/sys/i386/i386/db_disasm.c
  projects/release-pkg/sys/i386/i386/exception.s
  projects/release-pkg/sys/i386/i386/pmap.c
  projects/release-pkg/sys/i386/ibcs2/imgact_coff.c
  projects/release-pkg/sys/isa/pnp.c
  projects/release-pkg/sys/kern/kern_dump.c
  projects/release-pkg/sys/kern/kern_environment.c
  projects/release-pkg/sys/kern/kern_kthread.c
  projects/release-pkg/sys/kern/kern_proc.c
  projects/release-pkg/sys/kern/kern_racct.c
  projects/release-pkg/sys/kern/kern_rctl.c
  projects/release-pkg/sys/kern/kern_shutdown.c
  projects/release-pkg/sys/kern/kern_sysctl.c
  projects/release-pkg/sys/kern/link_elf.c
  projects/release-pkg/sys/kern/link_elf_obj.c
  projects/release-pkg/sys/kern/sysv_sem.c
  projects/release-pkg/sys/kern/uipc_mbuf.c
  projects/release-pkg/sys/kern/uipc_mqueue.c
  projects/release-pkg/sys/kern/uipc_sem.c
  projects/release-pkg/sys/kern/uipc_shm.c
  projects/release-pkg/sys/kern/uipc_sockbuf.c
  projects/release-pkg/sys/kern/uipc_syscalls.c
  projects/release-pkg/sys/kern/vfs_cluster.c
  projects/release-pkg/sys/kern/vfs_export.c
  projects/release-pkg/sys/kern/vfs_lookup.c
  projects/release-pkg/sys/libkern/strtol.c
  projects/release-pkg/sys/libkern/strtoq.c
  projects/release-pkg/sys/libkern/strtoul.c
  projects/release-pkg/sys/libkern/strtouq.c
  projects/release-pkg/sys/mips/adm5120/obio.c
  projects/release-pkg/sys/mips/alchemy/obio.c
  projects/release-pkg/sys/mips/atheros/apb.c
  projects/release-pkg/sys/mips/idt/obio.c
  projects/release-pkg/sys/mips/include/intr.h
  projects/release-pkg/sys/mips/include/smp.h
  projects/release-pkg/sys/mips/mediatek/mtk_ehci.c
  projects/release-pkg/sys/mips/mediatek/mtk_gpio_v1.c
  projects/release-pkg/sys/mips/mediatek/mtk_gpio_v2.c
  projects/release-pkg/sys/mips/mediatek/mtk_intr_gic.c
  projects/release-pkg/sys/mips/mediatek/mtk_ohci.c
  projects/release-pkg/sys/mips/mediatek/mtk_pcie.c
  projects/release-pkg/sys/mips/mediatek/mtk_soc.c
  projects/release-pkg/sys/mips/mediatek/mtk_usb_phy.c
  projects/release-pkg/sys/mips/mediatek/mtk_xhci.c
  projects/release-pkg/sys/mips/mips/exception.S
  projects/release-pkg/sys/mips/mips/machdep.c
  projects/release-pkg/sys/mips/mips/nexus.c
  projects/release-pkg/sys/mips/mips/tick.c
  projects/release-pkg/sys/mips/nlm/xlp_pci.c
  projects/release-pkg/sys/mips/nlm/xlp_simplebus.c
  projects/release-pkg/sys/mips/rmi/xlr_pci.c
  projects/release-pkg/sys/mips/rt305x/obio.c
  projects/release-pkg/sys/mips/rt305x/rt305x_gpio.c
  projects/release-pkg/sys/modules/cam/Makefile
  projects/release-pkg/sys/modules/hyperv/vmbus/Makefile
  projects/release-pkg/sys/modules/ipfw/Makefile
  projects/release-pkg/sys/net/bpf_filter.c
  projects/release-pkg/sys/net/if.c
  projects/release-pkg/sys/net/if_arcsubr.c
  projects/release-pkg/sys/net/if_atmsubr.c
  projects/release-pkg/sys/net/if_bridge.c
  projects/release-pkg/sys/net/if_disc.c
  projects/release-pkg/sys/net/if_ethersubr.c
  projects/release-pkg/sys/net/if_fddisubr.c
  projects/release-pkg/sys/net/if_fwsubr.c
  projects/release-pkg/sys/net/if_iso88025subr.c
  projects/release-pkg/sys/net/if_loop.c
  projects/release-pkg/sys/net/if_spppsubr.c
  projects/release-pkg/sys/net/radix.c
  projects/release-pkg/sys/net/raw_usrreq.c
  projects/release-pkg/sys/netgraph/atm/ccatm/ng_ccatm.c
  projects/release-pkg/sys/netgraph/ng_socket.c
  projects/release-pkg/sys/netgraph/ng_source.c
  projects/release-pkg/sys/netinet/if_ether.c
  projects/release-pkg/sys/netinet/igmp.c
  projects/release-pkg/sys/netinet/in_mcast.c
  projects/release-pkg/sys/netinet/ip_divert.c
  projects/release-pkg/sys/netinet/ip_fw.h
  projects/release-pkg/sys/netinet/ip_icmp.c
  projects/release-pkg/sys/netinet/ip_icmp.h
  projects/release-pkg/sys/netinet/ip_input.c
  projects/release-pkg/sys/netinet/ip_mroute.c
  projects/release-pkg/sys/netinet/ip_options.c
  projects/release-pkg/sys/netinet/ip_output.c
  projects/release-pkg/sys/netinet/libalias/alias_db.c
  projects/release-pkg/sys/netinet/raw_ip.c
  projects/release-pkg/sys/netinet/sctp_syscalls.c
  projects/release-pkg/sys/netinet/sctp_usrreq.c
  projects/release-pkg/sys/netinet/udp_usrreq.c
  projects/release-pkg/sys/netinet6/in6.c
  projects/release-pkg/sys/netinet6/ip6_output.c
  projects/release-pkg/sys/netinet6/nd6_rtr.c
  projects/release-pkg/sys/netinet6/raw_ip6.c
  projects/release-pkg/sys/netinet6/udp6_usrreq.c
  projects/release-pkg/sys/netipsec/ipsec_mbuf.c
  projects/release-pkg/sys/netipsec/key.c
  projects/release-pkg/sys/netipsec/keysock.c
  projects/release-pkg/sys/netipsec/xform_ipcomp.c
  projects/release-pkg/sys/netpfil/ipfw/ip_fw2.c
  projects/release-pkg/sys/netpfil/ipfw/ip_fw_iface.c
  projects/release-pkg/sys/netpfil/ipfw/ip_fw_private.h
  projects/release-pkg/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/release-pkg/sys/netpfil/ipfw/ip_fw_table.c
  projects/release-pkg/sys/netpfil/ipfw/ip_fw_table_value.c
  projects/release-pkg/sys/ofed/drivers/infiniband/hw/mlx4/main.c
  projects/release-pkg/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
  projects/release-pkg/sys/ofed/drivers/net/mlx4/en_netdev.c
  projects/release-pkg/sys/ofed/drivers/net/mlx4/en_rx.c
  projects/release-pkg/sys/ofed/drivers/net/mlx4/en_tx.c
  projects/release-pkg/sys/ofed/drivers/net/mlx4/mlx4_en.h
  projects/release-pkg/sys/powerpc/ofw/ofw_pcibus.c
  projects/release-pkg/sys/powerpc/powerpc/db_disasm.c
  projects/release-pkg/sys/powerpc/powerpc/elf32_machdep.c
  projects/release-pkg/sys/powerpc/powerpc/elf64_machdep.c
  projects/release-pkg/sys/powerpc/psim/iobus.c
  projects/release-pkg/sys/riscv/riscv/nexus.c
  projects/release-pkg/sys/rpc/svc_vc.c
  projects/release-pkg/sys/sparc64/ebus/ebus.c
  projects/release-pkg/sys/sparc64/pci/ofw_pcibus.c
  projects/release-pkg/sys/sys/bio.h
  projects/release-pkg/sys/sys/buf.h
  projects/release-pkg/sys/sys/conf.h
  projects/release-pkg/sys/sys/kernel.h
  projects/release-pkg/sys/sys/module.h
  projects/release-pkg/sys/sys/systm.h
  projects/release-pkg/sys/x86/acpica/OsdEnvironment.c
  projects/release-pkg/sys/x86/x86/busdma_bounce.c
  projects/release-pkg/sys/x86/x86/local_apic.c
  projects/release-pkg/sys/x86/x86/nexus.c
  projects/release-pkg/sys/xdr/xdr_mem.c
  projects/release-pkg/targets/pseudo/userland/lib/Makefile.depend
  projects/release-pkg/tests/sys/aio/aio_test.c
  projects/release-pkg/tests/sys/file/flock_helper.c
  projects/release-pkg/tools/build/options/WITHOUT_INSTALLLIB
  projects/release-pkg/tools/build/options/WITHOUT_TOOLCHAIN
  projects/release-pkg/tools/build/options/WITH_DIRDEPS_BUILD
  projects/release-pkg/tools/build/options/WITH_META_MODE
  projects/release-pkg/tools/regression/capsicum/libcasper/dns.c
  projects/release-pkg/usr.bin/awk/Makefile
  projects/release-pkg/usr.bin/bsdiff/bsdiff/bsdiff.c
  projects/release-pkg/usr.bin/bsdiff/bspatch/bspatch.c
  projects/release-pkg/usr.bin/calendar/dates.c
  projects/release-pkg/usr.bin/calendar/io.c
  projects/release-pkg/usr.bin/mkcsmapper_static/Makefile
  projects/release-pkg/usr.bin/mkesdb_static/Makefile
  projects/release-pkg/usr.bin/rpcgen/rpc_cout.c
  projects/release-pkg/usr.bin/rpcgen/rpc_main.c
  projects/release-pkg/usr.bin/rpcgen/rpc_parse.c
  projects/release-pkg/usr.bin/rpcgen/rpc_svcout.c
  projects/release-pkg/usr.bin/rpcgen/rpc_util.c
  projects/release-pkg/usr.bin/showmount/showmount.c
  projects/release-pkg/usr.bin/sort/bwstring.c
  projects/release-pkg/usr.bin/sort/coll.c
  projects/release-pkg/usr.bin/sort/file.c
  projects/release-pkg/usr.bin/truss/syscalls.c
  projects/release-pkg/usr.bin/vi/catalog/Makefile
  projects/release-pkg/usr.bin/xlint/lint1/func.c
  projects/release-pkg/usr.bin/xstr/xstr.c
  projects/release-pkg/usr.sbin/bhyve/pci_emul.h
  projects/release-pkg/usr.sbin/bhyve/pci_passthru.c
  projects/release-pkg/usr.sbin/ctm/ctm/ctm.1
  projects/release-pkg/usr.sbin/fdformat/fdformat.c
  projects/release-pkg/usr.sbin/fdread/fdread.c
  projects/release-pkg/usr.sbin/fdread/fdutil.c
  projects/release-pkg/usr.sbin/fmtree/excludes.c
  projects/release-pkg/usr.sbin/fstyp/fstyp.c
  projects/release-pkg/usr.sbin/keyserv/keyserv.c
  projects/release-pkg/usr.sbin/kgmon/kgmon.c
  projects/release-pkg/usr.sbin/lmcconfig/lmcconfig.c
  projects/release-pkg/usr.sbin/mountd/mountd.c
  projects/release-pkg/usr.sbin/nfscbd/nfscbd.c
  projects/release-pkg/usr.sbin/nfsd/nfsd.c
  projects/release-pkg/usr.sbin/pmcstudy/pmcstudy.c
  projects/release-pkg/usr.sbin/portsnap/phttpget/phttpget.c
  projects/release-pkg/usr.sbin/ppp/command.c
  projects/release-pkg/usr.sbin/ppp/filter.c
  projects/release-pkg/usr.sbin/ppp/radius.c
  projects/release-pkg/usr.sbin/rmt/rmt.c
  projects/release-pkg/usr.sbin/tzsetup/tzsetup.c
Directory Properties:
  projects/release-pkg/   (props changed)
  projects/release-pkg/cddl/   (props changed)
  projects/release-pkg/contrib/elftoolchain/   (props changed)
  projects/release-pkg/contrib/ipfilter/   (props changed)
  projects/release-pkg/contrib/libpcap/   (props changed)
  projects/release-pkg/contrib/libxo/   (props changed)
  projects/release-pkg/include/   (props changed)
  projects/release-pkg/lib/libc/   (props changed)
  projects/release-pkg/sbin/   (props changed)
  projects/release-pkg/sbin/ipfw/   (props changed)
  projects/release-pkg/share/   (props changed)
  projects/release-pkg/share/man/man4/   (props changed)
  projects/release-pkg/share/zoneinfo/   (props changed)
  projects/release-pkg/sys/   (props changed)
  projects/release-pkg/sys/boot/   (props changed)
  projects/release-pkg/sys/cddl/contrib/opensolaris/   (props changed)
  projects/release-pkg/sys/conf/   (props changed)
  projects/release-pkg/sys/contrib/ipfilter/   (props changed)
  projects/release-pkg/sys/dev/hyperv/   (props changed)
  projects/release-pkg/sys/modules/hyperv/   (props changed)
  projects/release-pkg/targets/   (props changed)
  projects/release-pkg/usr.bin/calendar/   (props changed)
  projects/release-pkg/usr.sbin/bhyve/   (props changed)

Modified: projects/release-pkg/Makefile
==============================================================================
--- projects/release-pkg/Makefile	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/Makefile	Sat Apr 16 02:32:12 2016	(r298092)
@@ -125,7 +125,7 @@ TGTS=	all all-man buildenv buildenvvars 
 	obj objlink rerelease showconfig tags toolchain update \
 	_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
 	_build-tools _cross-tools _includes _libraries \
-	build32 distribute32 install32 build32 distribute32 install32 \
+	build32 distribute32 install32 buildsoft distributesoft installsoft \
 	builddtb xdev xdev-build xdev-install \
 	xdev-links native-xtools stageworld stagekernel stage-packages \
 	create-world-packages create-kernel-packages create-packages \
@@ -408,7 +408,7 @@ MAKEFAIL=cat
 
 universe_prologue:  upgrade_checks
 universe: universe_prologue
-universe_prologue:
+universe_prologue: .PHONY
 	@echo "--------------------------------------------------------------"
 	@echo ">>> make universe started on ${STARTTIME}"
 	@echo "--------------------------------------------------------------"
@@ -494,7 +494,7 @@ universe_kernconf_${TARGET}_${kernel}: .
 	    "check _.${TARGET}.${kernel} for details"| ${MAKEFAIL}))
 .endfor
 universe: universe_epilogue
-universe_epilogue:
+universe_epilogue: .PHONY
 	@echo "--------------------------------------------------------------"
 	@echo ">>> make universe completed on `LC_ALL=C date`"
 	@echo "                      (started ${STARTTIME})"

Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/Makefile.inc1	Sat Apr 16 02:32:12 2016	(r298092)
@@ -144,6 +144,15 @@ CLEANDIR=	clean cleandepend
 CLEANDIR=	cleandir
 .endif
 
+.if ${MK_META_MODE} == "yes"
+# If filemon is used then we can rely on the build being incremental-safe.
+# The .meta files will also track the build command and rebuild should
+# it change.
+.if empty(.MAKE.MODE:Mnofilemon)
+NO_CLEAN=	t
+.endif
+.endif
+
 LOCAL_TOOL_DIRS?=
 PACKAGEDIR?=	${DESTDIR}/${DISTDIR}
 
@@ -316,6 +325,10 @@ CROSSENV+=	MAKEOBJDIRPREFIX=${OBJTREE} \
 		MACHINE_ARCH=${TARGET_ARCH} \
 		MACHINE=${TARGET} \
 		CPUTYPE=${TARGET_CPUTYPE}
+.if ${MK_META_MODE} != "no"
+# Don't rebuild build-tools targets during normal build.
+CROSSENV+=	BUILD_TOOLS_META=.NOMETA_CMP
+.endif
 .if ${MK_GROFF} != "no"
 CROSSENV+=	GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \
 		GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \
@@ -327,6 +340,7 @@ CROSSENV+=	${TARGET_CFLAGS}
 
 # bootstrap-tools stage
 BMAKEENV=	INSTALL="sh ${.CURDIR}/tools/install.sh" \
+		TOOLS_PREFIX=${WORLDTMP} \
 		PATH=${BPATH}:${PATH} \
 		WORLDTMP=${WORLDTMP} \
 		MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}"
@@ -672,12 +686,12 @@ WMAKE_TGTS+=	build${libcompat}
 buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
 .ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
 
-buildworld_prologue:
+buildworld_prologue: .PHONY
 	@echo "--------------------------------------------------------------"
 	@echo ">>> World build started on `LC_ALL=C date`"
 	@echo "--------------------------------------------------------------"
 
-buildworld_epilogue:
+buildworld_epilogue: .PHONY
 	@echo
 	@echo "--------------------------------------------------------------"
 	@echo ">>> World build completed on `LC_ALL=C date`"
@@ -1897,7 +1911,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
 		${_lib_casper} \
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
-		lib/libopie lib/libpam ${_lib_libthr} \
+		lib/libopie lib/libpam/libpam ${_lib_libthr} \
 		${_lib_libradius} lib/libsbuf lib/libtacplus \
 		lib/libgeom \
 		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
@@ -1909,6 +1923,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		${_secure_lib_libcrypto} ${_lib_libldns} \
 		${_secure_lib_libssh} ${_secure_lib_libssl} \
 		gnu/lib/libdialog
+
 .if ${MK_GNUCXX} != "no"
 _prebuild_libs+= gnu/lib/libstdc++ gnu/lib/libsupc++
 gnu/lib/libstdc++__L: lib/msun__L
@@ -2076,7 +2091,7 @@ ${_lib}__PL: .PHONY .MAKE
 .endif
 .endfor
 
-.for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs}
+.for _lib in ${_startup_libs} ${_prebuild_libs} ${_generic_libs}
 ${_lib}__L: .PHONY .MAKE
 .if exists(${.CURDIR}/${_lib})
 	${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \
@@ -2087,18 +2102,6 @@ ${_lib}__L: .PHONY .MAKE
 .endif
 .endfor
 
-# libpam is special: we need to build static PAM modules before
-# static PAM library, and dynamic PAM library before dynamic PAM
-# modules.
-lib/libpam__L: .PHONY .MAKE
-	${_+_}@${ECHODIR} "===> lib/libpam (obj,all,install)"; \
-		cd ${.CURDIR}/lib/libpam; \
-		${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ obj; \
-		${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \
-		    -D_NO_LIBPAM_SO_YET all; \
-		${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \
-		    -D_NO_LIBPAM_SO_YET install
-
 _prereq_libs: ${_prereq_libs:S/$/__PL/}
 _startup_libs: ${_startup_libs:S/$/__L/}
 _prebuild_libs: ${_prebuild_libs:S/$/__L/}

Modified: projects/release-pkg/Makefile.libcompat
==============================================================================
--- projects/release-pkg/Makefile.libcompat	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/Makefile.libcompat	Sat Apr 16 02:32:12 2016	(r298092)
@@ -88,8 +88,13 @@ LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${L
 		LIBDIR=/usr/lib${libcompat} \
 		SHLIBDIR=/usr/lib${libcompat} \
 		DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
+.if ${MK_META_MODE} != "no"
+# Don't rebuild build-tools targets during normal build.
+LIBCOMPATWMAKEENV+=	BUILD_TOOLS_META=.NOMETA_CMP
+.endif
 LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
 		CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \
+		CPP="${XCPP} ${LIBCOMPATCFLAGS}" \
 		DESTDIR=${LIBCOMPATTMP} \
 		-DNO_CPU_CFLAGS \
 		MK_CTF=no \

Modified: projects/release-pkg/ObsoleteFiles.inc
==============================================================================
--- projects/release-pkg/ObsoleteFiles.inc	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/ObsoleteFiles.inc	Sat Apr 16 02:32:12 2016	(r298092)
@@ -1732,7 +1732,6 @@ OLD_FILES+=usr/share/man/man4/lindev.4.g
 # 20140425
 OLD_FILES+=usr/lib/libssp_p.a
 OLD_FILES+=usr/lib/libstand_p.a
-OLD_FILES+=usr/lib32/libc_pic.a
 OLD_FILES+=usr/lib32/libssp_p.a
 OLD_FILES+=usr/lib32/libstand_p.a
 # 20140314: AppleTalk

Modified: projects/release-pkg/UPDATING
==============================================================================
--- projects/release-pkg/UPDATING	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/UPDATING	Sat Apr 16 02:32:12 2016	(r298092)
@@ -31,6 +31,33 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20160414:
+	The CAM I/O scheduler has been committed to the kernel. There should be
+	no user visible impact. This does enable NCQ Trim on ada SSDs. While the
+	list of known rogues that claim support for this but actually corrupt
+	data is believed to be complete, be on the lookout for data
+	corruption. The known rogue list is believed to be complete:
+
+		o Crucial MX100, M550 drives with MU01 firmware.
+		o Micron M510 and M550 drives with MU01 firmware.
+		o Micron M500 prior to MU07 firmware
+		o Samsung 830, 840, and 850 all firmwares
+		o FCCT M500 all firmwares
+
+	Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware
+	with working NCQ TRIM. For Micron branded drives, see your sales rep for
+	updated firmware. Black listed drives will work correctly because these
+	drives work correctly so long as no NCQ TRIMs are sent to them. Given
+	this list is the same as found in Linux, it's believed there are no
+	other rogues in the market place. All other models from the above
+	vendors work.
+
+	To be safe, if you are at all concerned, you can quirk each of your
+	drives to prevent NCQ from being sent by setting:
+		kern.cam.ada.X.quirks="0x2"
+	in loader.conf. If the drive requires the 4k sector quirk, set the
+	quirks entry to 0x3.
+
 20160330:
 	The FAST_DEPEND build option has been removed and its functionality is
 	now the one true way.  The old mkdep(1) style of 'make depend' has

Modified: projects/release-pkg/bin/csh/Makefile
==============================================================================
--- projects/release-pkg/bin/csh/Makefile	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/bin/csh/Makefile	Sat Apr 16 02:32:12 2016	(r298092)
@@ -110,7 +110,7 @@ csh.1: tcsh.man
 
 build-tools: gethost
 
-gethost: gethost.c sh.err.h tc.const.h sh.h
+gethost: gethost.c sh.err.h tc.const.h sh.h ${BUILD_TOOLS_META}
 	@rm -f ${.TARGET}
 	${CC} -o gethost ${LDFLAGS} ${CFLAGS:C/-DHAVE_ICONV//} \
 	    ${TCSHDIR}/gethost.c

Modified: projects/release-pkg/bin/sh/Makefile
==============================================================================
--- projects/release-pkg/bin/sh/Makefile	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/bin/sh/Makefile	Sat Apr 16 02:32:12 2016	(r298092)
@@ -45,10 +45,10 @@ builtins.c builtins.h: mkbuiltins builti
 # XXX this is just to stop the default .c rule being used, so that the
 # intermediate object has a fixed name.
 # XXX we have a default .c rule, but no default .o rule.
-.o:
+mknodes.o mksyntax.o: ${BUILD_TOOLS_META}
 	${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
-mknodes: mknodes.o
-mksyntax: mksyntax.o
+mknodes: mknodes.o ${BUILD_TOOLS_META}
+mksyntax: mksyntax.o ${BUILD_TOOLS_META}
 
 .ORDER: nodes.c nodes.h
 nodes.c nodes.h: mknodes nodetypes nodes.c.pat

Modified: projects/release-pkg/bin/sh/parser.c
==============================================================================
--- projects/release-pkg/bin/sh/parser.c	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/bin/sh/parser.c	Sat Apr 16 02:32:12 2016	(r298092)
@@ -1616,7 +1616,6 @@ parsesub: {
 	int flags;
 	char *p;
 	static const char types[] = "}-+?=";
-	int bracketed_name = 0; /* used to handle ${[0-9]*} variables */
 	int linno;
 	int length;
 	int c1;
@@ -1640,7 +1639,6 @@ parsesub: {
 		subtype = VSNORMAL;
 		flags = 0;
 		if (c == '{') {
-			bracketed_name = 1;
 			c = pgetc_linecont();
 			subtype = 0;
 		}
@@ -1665,7 +1663,7 @@ varname:
 				flags |= VSLINENO;
 			}
 		} else if (is_digit(c)) {
-			if (bracketed_name) {
+			if (subtype != VSNORMAL) {
 				do {
 					STPUTC(c, out);
 					c = pgetc_linecont();

Modified: projects/release-pkg/cddl/lib/libdtrace/tcp.d
==============================================================================
--- projects/release-pkg/cddl/lib/libdtrace/tcp.d	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/cddl/lib/libdtrace/tcp.d	Sat Apr 16 02:32:12 2016	(r298092)
@@ -108,16 +108,16 @@ typedef struct tcpsinfo {
 	uint32_t tcps_snxt;		/* next sequence # to send */
 	uint32_t tcps_rack;		/* sequence # we have acked */
 	uint32_t tcps_rnxt;		/* next sequence # expected */
-	uint32_t tcps_swnd;		/* send window size */
+	u_long tcps_swnd;		/* send window size */
 	int32_t tcps_snd_ws;		/* send window scaling */
 	uint32_t tcps_swl1;		/* window update seg seq number */
 	uint32_t tcps_swl2;		/* window update seg ack number */
 	uint32_t tcps_rup;		/* receive urgent pointer */
 	uint32_t tcps_radv;		/* advertised window */
-	uint32_t tcps_rwnd;		/* receive window size */
+	u_long tcps_rwnd;		/* receive window size */
 	int32_t tcps_rcv_ws;		/* receive window scaling */
-	uint32_t tcps_cwnd;		/* congestion window */
-	uint32_t tcps_cwnd_ssthresh;	/* threshold for congestion avoidance */
+	u_long tcps_cwnd;		/* congestion window */
+	u_long tcps_cwnd_ssthresh;	/* threshold for congestion avoidance */
 	uint32_t tcps_srecover;	/* for use in NewReno Fast Recovery */
 	uint32_t tcps_sack_fack;	/* SACK sequence # we have acked */
 	uint32_t tcps_sack_snxt;	/* next SACK seq # for retransmission */

Modified: projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c
==============================================================================
--- projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c	Sat Apr 16 02:32:12 2016	(r298092)
@@ -343,7 +343,7 @@ create_scn(struct elfcopy *ecp)
 	GElf_Shdr	 ish;
 	size_t		 indx;
 	uint64_t	 oldndx, newndx;
-	int		 elferr, sec_flags;
+	int		 elferr, sec_flags, reorder;
 
 	/*
 	 * Insert a pseudo section that contains the ELF header
@@ -367,6 +367,7 @@ create_scn(struct elfcopy *ecp)
 		errx(EXIT_FAILURE, "elf_getshstrndx failed: %s",
 		    elf_errmsg(-1));
 
+	reorder = 0;
 	is = NULL;
 	while ((is = elf_nextscn(ecp->ein, is)) != NULL) {
 		if (gelf_getshdr(is, &ish) == NULL)
@@ -482,8 +483,20 @@ create_scn(struct elfcopy *ecp)
 		/* create section header based on input object. */
 		if (strcmp(name, ".symtab") != 0 &&
 		    strcmp(name, ".strtab") != 0 &&
-		    strcmp(name, ".shstrtab") != 0)
+		    strcmp(name, ".shstrtab") != 0) {
 			copy_shdr(ecp, s, NULL, 0, sec_flags);
+			/*
+			 * elfcopy puts .symtab, .strtab and .shstrtab
+			 * sections in the end of the output object.
+			 * If the input objects have more sections
+			 * after any of these 3 sections, the section
+			 * table will be reordered. section symbols
+			 * should be regenerated for relocations.
+			 */
+			if (reorder)
+				ecp->flags &= ~SYMTAB_INTACT;
+		} else
+			reorder = 1;
 
 		if (strcmp(name, ".symtab") == 0) {
 			ecp->flags |= SYMTAB_EXIST;

Modified: projects/release-pkg/contrib/ipfilter/bpf_filter.c
==============================================================================
--- projects/release-pkg/contrib/ipfilter/bpf_filter.c	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/contrib/ipfilter/bpf_filter.c	Sat Apr 16 02:32:12 2016	(r298092)
@@ -132,7 +132,7 @@ m_xword(m, k, err)
 		return EXTRACT_LONG(cp);
 	}
 	m0 = m->m_next;
-	if (m0 == 0 || M_LEN(m0) + len - k < 4)
+	if (m0 == NULL || M_LEN(m0) + len - k < 4)
 		goto bad;
 	*err = 0;
 	np = MTOD(m0, u_char *);
@@ -168,7 +168,7 @@ m_xhalf(m, k, err)
 		return EXTRACT_SHORT(cp);
 	}
 	m0 = m->m_next;
-	if (m0 == 0)
+	if (m0 == NULL)
 		goto bad;
 	*err = 0;
 	return (cp[0] << 8) | MTOD(m0, u_char *)[0];
@@ -205,7 +205,7 @@ bpf_filter(pc, p, wirelen, buflen)
 	} else
 		m = NULL;
 
-	if (pc == 0)
+	if (pc == NULL)
 		/*
 		 * No filter means accept all.
 		 */

Modified: projects/release-pkg/contrib/ipfilter/mli_ipl.c
==============================================================================
--- projects/release-pkg/contrib/ipfilter/mli_ipl.c	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/contrib/ipfilter/mli_ipl.c	Sat Apr 16 02:32:12 2016	(r298092)
@@ -64,9 +64,9 @@ ipfrwlock_t	ipf_global, ipf_mutex, ipf_i
 int     (*ipf_checkp) __P((struct ip *, int, void *, int, mb_t **));
 
 #ifdef IPFILTER_LKM
-static int *ipff_addr = 0;
+static int *ipff_addr;
 static int ipff_value;
-static __psunsigned_t *ipfk_addr = 0;
+static __psunsigned_t *ipfk_addr;
 static __psunsigned_t ipfk_code[4];
 #endif
 static void nifattach();
@@ -85,7 +85,7 @@ typedef	struct	nif	{
 	int	nf_unit;
 } nif_t;
 
-static nif_t *nif_head = 0;
+static nif_t *nif_head;
 static int nif_interfaces = 0;
 extern int in_interfaces;
 #if IRIX >= 60500

Modified: projects/release-pkg/contrib/libpcap/pcap-snf.c
==============================================================================
--- projects/release-pkg/contrib/libpcap/pcap-snf.c	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/contrib/libpcap/pcap-snf.c	Sat Apr 16 02:32:12 2016	(r298092)
@@ -57,10 +57,11 @@ snf_pcap_stats(pcap_t *p, struct pcap_st
 static void
 snf_platform_cleanup(pcap_t *p)
 {
-	struct pcap_snf *ps = p->priv;
+	struct pcap_snf *ps;
 
 	if (p == NULL)
 		return;
+	ps = p->priv;
 
 	snf_ring_close(ps->snf_ring);
 	snf_close(ps->snf_handle);

Modified: projects/release-pkg/contrib/libxo/Makefile.am
==============================================================================
--- projects/release-pkg/contrib/libxo/Makefile.am	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/contrib/libxo/Makefile.am	Sat Apr 16 02:32:12 2016	(r298092)
@@ -77,6 +77,7 @@ GH_PAGES_PACKAGE_DIR = ${GH_PAGES_DIR}/$
 packages:
 	@-[ -d ${GH_PAGES_DIR} ] && set -x \
 		&& echo "Updating packages on gh-pages ..." \
+                && mkdir -p ${GH_PAGES_DIR}/${GH_PACKAGING_DIR} \
 		&& SHA1="`openssl sha1 ${PACKAGE_FILE} | awk '{print $$2}'`" \
 		&& SHA256="`openssl sha256 ${PACKAGE_FILE} | awk '{print $$2}'`" \
 		&& SIZE="`ls -l ${PACKAGE_FILE} | awk '{print $$5}'`" \

Modified: projects/release-pkg/contrib/libxo/configure.ac
==============================================================================
--- projects/release-pkg/contrib/libxo/configure.ac	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/contrib/libxo/configure.ac	Sat Apr 16 02:32:12 2016	(r298092)
@@ -12,7 +12,7 @@
 #
 
 AC_PREREQ(2.2)
-AC_INIT([libxo], [0.4.6], [phil@juniper.net])
+AC_INIT([libxo], [0.6.1], [phil@juniper.net])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability])
 
 # Support silent build rules.  Requires at least automake-1.11.
@@ -74,6 +74,7 @@ AC_CHECK_HEADERS([ctype.h errno.h stdio.
 AC_CHECK_HEADERS([string.h sys/param.h unistd.h ])
 AC_CHECK_HEADERS([sys/sysctl.h])
 AC_CHECK_HEADERS([threads.h])
+AC_CHECK_HEADERS([monitor.h])
 
 dnl humanize_number(3) is a great function, but it's not standard.
 dnl Note Macosx has the function in libutil.a but doesn't ship the
@@ -148,10 +149,18 @@ fi
 AC_SUBST(GETTEXT_CFLAGS)
 AC_SUBST(GETTEXT_LIBS)
 
-GETTEXT_BINDIR=${GETTEXT_PREFIX}/bin
-AC_SUBST(GETTEXT_BINDIR)
 GETTEXT_LIBDIR=${GETTEXT_PREFIX}/lib
 AC_SUBST(GETTEXT_LIBDIR)
+if test -x ${GETTEXT_PREFIX}/bin/msgfmt ; then
+    GETTEXT_BINDIR=${GETTEXT_PREFIX}/bin
+elif test -x ${GETTEXT_PREFIX}/local/bin/msgfmt ; then
+    GETTEXT_BINDIR=${GETTEXT_PREFIX}/local/bin
+else
+    AC_MSG_NOTICE("could not find msgfmt tool")
+    # Use a (bad) fall back value
+    GETTEXT_BINDIR=${GETTEXT_PREFIX}/bin
+fi
+AC_SUBST(GETTEXT_BINDIR)
 
 AM_CONDITIONAL([HAVE_GETTEXT], [test "$HAVE_GETTEXT" = "yes"])
 
@@ -287,6 +296,18 @@ if test "${LIBXO_WCWIDTH}" != "no"; then
   AC_DEFINE([LIBXO_WCWIDTH], [1], [Enable local wcwidth implementation])
 fi
 
+AC_MSG_CHECKING([retain hash bucket size])
+AC_ARG_WITH(retain-size,
+        [  --with-retain-size=[DIR]           Specify retain hash bucket size (in bits)],
+        [XO_RETAIN_SIZE=$withval],
+        [XO_RETAIN_SIZE=default]
+)
+
+AC_MSG_RESULT([$XO_RETAIN_SIZE])
+if test "${XO_RETAIN_SIZE}" != "default"; then
+  AC_DEFINE_UNQUOTED([XO_RETAIN_SIZE], ${XO_RETAIN_SIZE}, [Retain hash bucket size])
+fi
+
 AC_CHECK_LIB([m], [lrint])
 AM_CONDITIONAL([HAVE_LIBM], [test "$HAVE_LIBM" != "no"])
 
@@ -347,12 +368,15 @@ XO_SRCDIR=${srcdir}
 XO_LIBDIR=${libdir}
 XO_BINDIR=${bindir}
 XO_INCLUDEDIR=${includedir}
+XO_CFLAGS="${CFLAGS}"
 
+AC_SUBST(XO_LIBS)
 AC_SUBST(XO_SRCDIR)
 AC_SUBST(XO_LIBDIR)
 AC_SUBST(XO_BINDIR)
 AC_SUBST(XO_INCLUDEDIR)
 AC_SUBST(XO_LIBEXT)
+AC_SUBST(XO_CFLAGS)
 
 AC_ARG_WITH(encoder-dir,
         [  --with-encoder-dir=[DIR]           Specify location of encoder libraries],
@@ -449,4 +473,5 @@ AC_MSG_NOTICE([summary of build options:
   isthreaded:       ${HAVE_ISTHREADED:-no}
   thread-local:     ${THREAD_LOCAL:-no}
   local wcwidth:    ${LIBXO_WCWIDTH:-no}
+  retain size:      ${XO_RETAIN_SIZE:-no}
 ])

Modified: projects/release-pkg/contrib/libxo/doc/libxo-manual.html
==============================================================================
--- projects/release-pkg/contrib/libxo/doc/libxo-manual.html	Sat Apr 16 02:11:04 2016	(r298091)
+++ projects/release-pkg/contrib/libxo/doc/libxo-manual.html	Sat Apr 16 02:32:12 2016	(r298092)
@@ -515,7 +515,7 @@ li.indline1 {
  
   } 
   @top-right {
-       content: "August 2015";
+       content: "April 2016";
  
   } 
   @top-center {
@@ -22009,7 +22009,7 @@ jQuery(function ($) {
 </tr>
 <tr>
 <td class="header left"></td>
-<td class="header right">August 24, 2015</td>
+<td class="header right">April 15, 2016</td>
 </tr>
 </table></div>
 <p id="title" class="title">libxo: The Easy Way to Generate text, XML, JSON, and HTML output<br><span class="filename">libxo-manual</span></p>
@@ -22130,46 +22130,54 @@ jQuery(function ($) {
 <a href="#field-modifiers">Field Modifiers</a><ul class="toc">
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_1">2.2.2.1   </div>
-<a href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
+<a href="#the-argument-modifier-a">The Argument Modifier ({a:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_2">2.2.2.2   </div>
-<a href="#the-display-modifier-d">The Display Modifier ({d:})</a>
+<a href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_3">2.2.2.3   </div>
-<a href="#e-modifier">The Encoding Modifier ({e:})</a>
+<a href="#the-display-modifier-d">The Display Modifier ({d:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_4">2.2.2.4   </div>
-<a href="#gettext-modifier">The Gettext Modifier ({g:})</a>
+<a href="#e-modifier">The Encoding Modifier ({e:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_5">2.2.2.5   </div>
-<a href="#the-humanize-modifier-h">The Humanize Modifier ({h:})</a>
+<a href="#gettext-modifier">The Gettext Modifier ({g:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_6">2.2.2.6   </div>
-<a href="#the-key-modifier-k">The Key Modifier ({k:})</a>
+<a href="#the-humanize-modifier-h">The Humanize Modifier ({h:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_7">2.2.2.7   </div>
-<a href="#the-leaf-list-modifier-l">The Leaf-List Modifier ({l:})</a>
+<a href="#the-key-modifier-k">The Key Modifier ({k:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_8">2.2.2.8   </div>
-<a href="#the-no-quotes-modifier-n">The No-Quotes Modifier ({n:})</a>
+<a href="#the-leaf-list-modifier-l">The Leaf-List Modifier ({l:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_9">2.2.2.9   </div>
-<a href="#plural-modifier">The Plural Modifier ({p:})</a>
+<a href="#the-no-quotes-modifier-n">The No-Quotes Modifier ({n:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_10">2.2.2.10   </div>
-<a href="#the-quotes-modifier-q">The Quotes Modifier ({q:})</a>
+<a href="#plural-modifier">The Plural Modifier ({p:})</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_2_11">2.2.2.11   </div>
+<a href="#the-quotes-modifier-q">The Quotes Modifier ({q:})</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_2_2_2_12">2.2.2.12   </div>
+<a href="#the-trim-modifier-t">The Trim Modifier ({t:})</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_2_2_2_13">2.2.2.13   </div>
 <a href="#the-white-space-modifier-w">The White Space Modifier ({w:})</a>
 </li>
 </ul>
@@ -22208,42 +22216,38 @@ jQuery(function ($) {
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_2_11">2.2.11   </div>
+<a href="#retain">Retaining Parsed Format Information</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_2_2_12">2.2.12   </div>
 <a href="#example">Example</a>
 </li>
 </ul>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_2_3">2.3   </div>
-<a href="#command-line-arguments">Command-line Arguments</a>
-</li>
-<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4">2.4   </div>
 <a href="#representing-hierarchy">Representing Hierarchy</a><ul class="toc">
 <li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_1">2.4.1   </div>
+<div class="section-number" id="toc_doc_section_2_3_1">2.3.1   </div>
 <a href="#containers">Containers</a>
 </li>
 <li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_2">2.4.2   </div>
+<div class="section-number" id="toc_doc_section_2_3_2">2.3.2   </div>
 <a href="#lists-and-instances">Lists and Instances</a>
 </li>
 <li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_3">2.4.3   </div>
+<div class="section-number" id="toc_doc_section_2_3_3">2.3.3   </div>
 <a href="#dtrt-mode">DTRT Mode</a>
 </li>
 <li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_4">2.4.4   </div>
+<div class="section-number" id="toc_doc_section_2_3_4">2.3.4   </div>
 <a href="#markers">Markers</a>
 </li>
 </ul>
 </li>
 <li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_5">2.5   </div>
-<a href="#handles">Handles</a>
-</li>
-<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_6">2.6   </div>
-<a href="#utf-8">UTF-8</a>
+<div class="section-number" id="toc_doc_section_2_4">2.4   </div>
+<a href="#command-line-arguments">Command-line Arguments</a>
 </li>
 </ul>
 </li>
@@ -22252,7 +22256,7 @@ jQuery(function ($) {
 <a href="#the-libxo-api">The libxo API</a><ul class="toc top-toc">
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_3_1">3.1   </div>
-<a href="#handles-2">Handles</a><ul class="toc">
+<a href="#handles">Handles</a><ul class="toc">
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_3_1_1">3.1.1   </div>
 <a href="#xo_create">xo_create</a>
@@ -22306,14 +22310,18 @@ jQuery(function ($) {
 <a href="#emitting-content-xo_emit">Emitting Content (xo_emit)</a><ul class="toc">
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_3_2_1">3.2.1   </div>
-<a href="#xo_attr">Attributes (xo_attr)</a>
+<a href="#xo_emit_field">Single Field Emitting Functions (xo_emit_field)</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_3_2_2">3.2.2   </div>
-<a href="#flushing-output-xo_flush">Flushing Output (xo_flush)</a>
+<a href="#xo_attr">Attributes (xo_attr)</a>
 </li>
 <li class="tocline1">
 <div class="section-number" id="toc_doc_section_3_2_3">3.2.3   </div>
+<a href="#flushing-output-xo_flush">Flushing Output (xo_flush)</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_3_2_4">3.2.4   </div>
 <a href="#finishing-output-xo_finish">Finishing Output (xo_finish)</a>
 </li>
 </ul>
@@ -22851,10 +22859,8 @@ jQuery(function ($) {
 <ul>
 <li><a href="#encoding-styles" title="Encoding Styles">Section 2.1</a></li>
 <li><a href="#format-strings" title="Format Strings">Section 2.2</a></li>
-<li><a href="#command-line-arguments" title="Command-line Arguments">Section 2.3</a></li>
-<li><a href="#representing-hierarchy" title="Representing Hierarchy">Section 2.4</a></li>
-<li><a href="#handles" title="Handles">Section 2.5</a></li>
-<li><a href="#utf-8" title="UTF-8">Section 2.6</a></li>
+<li><a href="#representing-hierarchy" title="Representing Hierarchy">Section 2.3</a></li>
+<li><a href="#command-line-arguments" title="Command-line Arguments">Section 2.4</a></li>
 </ul>
 <div class="content">
 <h2 id="doc_section_2_1">
@@ -22992,7 +22998,8 @@ jQuery(function ($) {
 <li><a href="#the-encoding-format-eformat" title="The Encoding Format (eformat)">Section 2.2.8</a></li>
 <li><a href="#content-strings" title="Content Strings">Section 2.2.9</a></li>
 <li><a href="#printf-like" title="Argument Validation">Section 2.2.10</a></li>
-<li><a href="#example" title="Example">Section 2.2.11</a></li>
+<li><a href="#retain" title="Retaining Parsed Format Information">Section 2.2.11</a></li>
+<li><a href="#example" title="Example">Section 2.2.12</a></li>
 </ul>
 <div class="content">
 <h3 id="doc_section_2_2_1">
@@ -23356,6 +23363,11 @@ jQuery(function ($) {
 </tr></thead>
 <tbody>
 <tr>
+<td>a</td>
+<td>argument</td>
+<td>The content appears as a 'const char *' argument</td>
+</tr>
+<tr>
 <td>c</td>
 <td>colon</td>
 <td>A colon (":") is appended after the label</td>
@@ -23435,87 +23447,107 @@ jQuery(function ($) {
 <p id="doc_section_2_2_2_p_2">Roles and modifiers can also use more verbose names, when preceeded by a comma. For example, the modifier string "Lwc" (or "L,white,colon") means the field has a label role (text that describes the next field) and should be followed by a colon ('c') and a space ('w'). The modifier string "Vkq" (or ":key,quote") means the field has a value role (the default role), that it is a key for the current instance, and that the value should be quoted when encoded for JSON.</p>
 <p id="doc_section_2_2_2_p_3">Section Contents: </p>
 <ul>
-<li><a href="#the-colon-modifier-c" title="The Colon Modifier ({c:})">Section 2.2.2.1</a></li>
-<li><a href="#the-display-modifier-d" title="The Display Modifier ({d:})">Section 2.2.2.2</a></li>
-<li><a href="#e-modifier" title="The Encoding Modifier ({e:})">Section 2.2.2.3</a></li>
-<li><a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.4</a></li>
-<li><a href="#the-humanize-modifier-h" title="The Humanize Modifier ({h:})">Section 2.2.2.5</a></li>
-<li><a href="#the-key-modifier-k" title="The Key Modifier ({k:})">Section 2.2.2.6</a></li>
-<li><a href="#the-leaf-list-modifier-l" title="The Leaf-List Modifier ({l:})">Section 2.2.2.7</a></li>
-<li><a href="#the-no-quotes-modifier-n" title="The No-Quotes Modifier ({n:})">Section 2.2.2.8</a></li>
-<li><a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.9</a></li>
-<li><a href="#the-quotes-modifier-q" title="The Quotes Modifier ({q:})">Section 2.2.2.10</a></li>
-<li><a href="#the-white-space-modifier-w" title="The White Space Modifier ({w:})">Section 2.2.2.11</a></li>
+<li><a href="#the-argument-modifier-a" title="The Argument Modifier ({a:})">Section 2.2.2.1</a></li>
+<li><a href="#the-colon-modifier-c" title="The Colon Modifier ({c:})">Section 2.2.2.2</a></li>
+<li><a href="#the-display-modifier-d" title="The Display Modifier ({d:})">Section 2.2.2.3</a></li>
+<li><a href="#e-modifier" title="The Encoding Modifier ({e:})">Section 2.2.2.4</a></li>
+<li><a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.5</a></li>
+<li><a href="#the-humanize-modifier-h" title="The Humanize Modifier ({h:})">Section 2.2.2.6</a></li>
+<li><a href="#the-key-modifier-k" title="The Key Modifier ({k:})">Section 2.2.2.7</a></li>
+<li><a href="#the-leaf-list-modifier-l" title="The Leaf-List Modifier ({l:})">Section 2.2.2.8</a></li>
+<li><a href="#the-no-quotes-modifier-n" title="The No-Quotes Modifier ({n:})">Section 2.2.2.9</a></li>
+<li><a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.10</a></li>
+<li><a href="#the-quotes-modifier-q" title="The Quotes Modifier ({q:})">Section 2.2.2.11</a></li>
+<li><a href="#the-trim-modifier-t" title="The Trim Modifier ({t:})">Section 2.2.2.12</a></li>
+<li><a href="#the-white-space-modifier-w" title="The White Space Modifier ({w:})">Section 2.2.2.13</a></li>
 </ul>
 <div class="content">
 <h4 id="doc_section_2_2_2_1">
 <div class="self-section-number">
 <a href="#doc_section_2_2_2_1">2.2.2.1</a> </div>
-<a id="the-colon-modifier-c" href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
+<a id="the-argument-modifier-a" href="#the-argument-modifier-a">The Argument Modifier ({a:})</a>
 </h4>
-<p id="doc_section_2_2_2_1_p_1">The colon modifier appends a single colon to the data value:</p>
+<p id="doc_section_2_2_2_1_p_1">The argument modifier indicates that the content of the field descriptor will be placed as a UTF-8 string (const char *) argument within the xo_emit parameters.</p>
 <div id="doc_figure_u.48"></div> <pre>
     EXAMPLE:
-      xo_emit("{Lc:Name}{:name}\n", "phil");
+      xo_emit("{La:} {a:}\n", "Label text", "label", "value");
     TEXT:
-      Name:phil
-	    </pre> <p id="doc_section_2_2_2_1_p_3">The colon modifier is only used for the TEXT and HTML output styles. It is commonly combined with the space modifier ('{w:}'). It is purely a convenience feature.</p>
+      Label text value
+    JSON:
+      "label": "value"
+    XML:
+      &lt;label&gt;value&lt;/label&gt;
+	    </pre> <p id="doc_section_2_2_2_1_p_3">The argument modifier allows field names for value fields to be passed on the stack, avoiding the need to build a field descriptor using snprintf. For many field roles, the argument modifier is not needed, since those roles have specific mechanisms for arguments, such as "{C:fg&#8209;%s}".</p>
 </div>
 <div class="content">
 <h4 id="doc_section_2_2_2_2">
 <div class="self-section-number">
 <a href="#doc_section_2_2_2_2">2.2.2.2</a> </div>
-<a id="the-display-modifier-d" href="#the-display-modifier-d">The Display Modifier ({d:})</a>
+<a id="the-colon-modifier-c" href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
 </h4>
-<p id="doc_section_2_2_2_2_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
+<p id="doc_section_2_2_2_2_p_1">The colon modifier appends a single colon to the data value:</p>
 <div id="doc_figure_u.49"></div> <pre>
     EXAMPLE:
+      xo_emit("{Lc:Name}{:name}\n", "phil");
+    TEXT:
+      Name:phil
+	    </pre> <p id="doc_section_2_2_2_2_p_3">The colon modifier is only used for the TEXT and HTML output styles. It is commonly combined with the space modifier ('{w:}'). It is purely a convenience feature.</p>
+</div>
+<div class="content">
+<h4 id="doc_section_2_2_2_3">
+<div class="self-section-number">
+<a href="#doc_section_2_2_2_3">2.2.2.3</a> </div>
+<a id="the-display-modifier-d" href="#the-display-modifier-d">The Display Modifier ({d:})</a>
+</h4>
+<p id="doc_section_2_2_2_3_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
+<div id="doc_figure_u.50"></div> <pre>
+    EXAMPLE:
       xo_emit("{Lcw:Name}{d:name} {:id/%d}\n", "phil", 1);
     TEXT:
       Name: phil 1
     XML:
       &lt;id&gt;1&lt;/id&gt;
-	    </pre> <p id="doc_section_2_2_2_2_p_3">The display modifier is the opposite of the encoding modifier, and they are often used to give to distinct views of the underlying data.</p>
+	    </pre> <p id="doc_section_2_2_2_3_p_3">The display modifier is the opposite of the encoding modifier, and they are often used to give to distinct views of the underlying data.</p>
 </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_3">
+<h4 id="doc_section_2_2_2_4">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_3">2.2.2.3</a> </div>
+<a href="#doc_section_2_2_2_4">2.2.2.4</a> </div>
 <a id="e-modifier" href="#e-modifier">The Encoding Modifier ({e:})</a>
 </h4>
-<p id="doc_section_2_2_2_3_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
-<div id="doc_figure_u.50"></div> <pre>
+<p id="doc_section_2_2_2_4_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
+<div id="doc_figure_u.51"></div> <pre>
     EXAMPLE:
       xo_emit("{Lcw:Name}{:name} {e:id/%d}\n", "phil", 1);
     TEXT:
       Name: phil
     XML:
       &lt;name&gt;phil&lt;/name&gt;&lt;id&gt;1&lt;/id&gt;
-	    </pre> <p id="doc_section_2_2_2_3_p_3">The encoding modifier is the opposite of the display modifier, and they are often used to give to distinct views of the underlying data.</p>
+	    </pre> <p id="doc_section_2_2_2_4_p_3">The encoding modifier is the opposite of the display modifier, and they are often used to give to distinct views of the underlying data.</p>
 </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_4">
+<h4 id="doc_section_2_2_2_5">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_4">2.2.2.4</a> </div>
+<a href="#doc_section_2_2_2_5">2.2.2.5</a> </div>
 <a id="gettext-modifier" href="#gettext-modifier">The Gettext Modifier ({g:})</a>
 </h4>
-<p id="doc_section_2_2_2_4_p_1">The gettext modifier is used to translate individual fields using the gettext domain (typically set using the "{G:}" role) and current language settings. Once libxo renders the field value, it is passed to gettext(3), where it is used as a key to find the native language translation.</p>
-<p id="doc_section_2_2_2_4_p_2">In the following example, the strings "State" and "full" are passed to gettext() to find locale-based translated strings.</p>
-<div id="doc_figure_u.51"></div> <pre>
+<p id="doc_section_2_2_2_5_p_1">The gettext modifier is used to translate individual fields using the gettext domain (typically set using the "{G:}" role) and current language settings. Once libxo renders the field value, it is passed to gettext(3), where it is used as a key to find the native language translation.</p>
+<p id="doc_section_2_2_2_5_p_2">In the following example, the strings "State" and "full" are passed to gettext() to find locale-based translated strings.</p>
+<div id="doc_figure_u.52"></div> <pre>
     xo_emit("{Lgwc:State}{g:state}\n", "full");
-	    </pre> <p id="doc_section_2_2_2_4_p_4">See <a href="#gettext-role" title="The Gettext Role ({G:})">Section 2.2.1.3</a>, <a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.9</a>, and <a href="#howto-i18n" title="Howto: Internationalization (i18n)">Section 9.5</a> for additional details.</p>
+	    </pre> <p id="doc_section_2_2_2_5_p_4">See <a href="#gettext-role" title="The Gettext Role ({G:})">Section 2.2.1.3</a>, <a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.10</a>, and <a href="#howto-i18n" title="Howto: Internationalization (i18n)">Section 9.5</a> for additional details.</p>
 </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_5">
+<h4 id="doc_section_2_2_2_6">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_5">2.2.2.5</a> </div>
+<a href="#doc_section_2_2_2_6">2.2.2.6</a> </div>
 <a id="the-humanize-modifier-h" href="#the-humanize-modifier-h">The Humanize Modifier ({h:})</a>
 </h4>
-<p id="doc_section_2_2_2_5_p_1">The humanize modifier is used to render large numbers as in a human-readable format. While numbers like "44470272" are completely readable to computers and savants, humans will generally find "44M" more meaningful.</p>
-<p id="doc_section_2_2_2_5_p_2">"hn" can be used as an alias for "humanize".</p>
-<p id="doc_section_2_2_2_5_p_3">The humanize modifier only affects display styles (TEXT and HMTL). The "no&#8209;humanize" option (See <a href="#LIBXO_OPTIONS" title="LIBXO_OPTIONS">Section 3.4.6</a>) will block the function of the humanize modifier.</p>
-<p id="doc_section_2_2_2_5_p_4">There are a number of modifiers that affect details of humanization. These are only available in as full names, not single characters. The "hn&#8209;space" modifier places a space between the number and any multiplier symbol, such as "M" or "K" (ex: "44 K"). The "hn&#8209;decimal" modifier will add a decimal point and a single tenths digit when the number is less than 10 (ex: "4.4K"). The "hn&#8209;1000" modifier will use 1000 as divisor instead of 1024, following the JEDEC-standard instead of the more natural binary powers-of-two tradition.</p>
-<div id="doc_figure_u.52"></div> <pre>
+<p id="doc_section_2_2_2_6_p_1">The humanize modifier is used to render large numbers as in a human-readable format. While numbers like "44470272" are completely readable to computers and savants, humans will generally find "44M" more meaningful.</p>
+<p id="doc_section_2_2_2_6_p_2">"hn" can be used as an alias for "humanize".</p>
+<p id="doc_section_2_2_2_6_p_3">The humanize modifier only affects display styles (TEXT and HMTL). The "no&#8209;humanize" option (See <a href="#LIBXO_OPTIONS" title="LIBXO_OPTIONS">Section 3.4.6</a>) will block the function of the humanize modifier.</p>
+<p id="doc_section_2_2_2_6_p_4">There are a number of modifiers that affect details of humanization. These are only available in as full names, not single characters. The "hn&#8209;space" modifier places a space between the number and any multiplier symbol, such as "M" or "K" (ex: "44 K"). The "hn&#8209;decimal" modifier will add a decimal point and a single tenths digit when the number is less than 10 (ex: "4.4K"). The "hn&#8209;1000" modifier will use 1000 as divisor instead of 1024, following the JEDEC-standard instead of the more natural binary powers-of-two tradition.</p>
+<div id="doc_figure_u.53"></div> <pre>
     EXAMPLE:
         xo_emit("{h:input/%u}, {h,hn-space:output/%u}, "
             "{h,hn-decimal:errors/%u}, {h,hn-1000:capacity/%u}, "
@@ -23523,19 +23555,19 @@ jQuery(function ($) {
             input, output, errors, capacity, remaining);
     TEXT:
         21, 57 K, 96M, 44M, 1.2G
-	    </pre> <p id="doc_section_2_2_2_5_p_6">In the HTML style, the original numeric value is rendered in the "data&#8209;number" attribute on the &lt;div&gt; element:</p>
-<div id="doc_figure_u.53"></div> <pre>
+	    </pre> <p id="doc_section_2_2_2_6_p_6">In the HTML style, the original numeric value is rendered in the "data&#8209;number" attribute on the &lt;div&gt; element:</p>
+<div id="doc_figure_u.54"></div> <pre>
     &lt;div class="data" data-tag="errors"
          data-number="100663296"&gt;96M&lt;/div&gt;
 	    </pre> </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_6">
+<h4 id="doc_section_2_2_2_7">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_6">2.2.2.6</a> </div>
+<a href="#doc_section_2_2_2_7">2.2.2.7</a> </div>
 <a id="the-key-modifier-k" href="#the-key-modifier-k">The Key Modifier ({k:})</a>
 </h4>
-<p id="doc_section_2_2_2_6_p_1">The key modifier is used to indicate that a particular field helps uniquely identify an instance of list data.</p>
-<div id="doc_figure_u.54"></div> <pre>
+<p id="doc_section_2_2_2_7_p_1">The key modifier is used to indicate that a particular field helps uniquely identify an instance of list data.</p>
+<div id="doc_figure_u.55"></div> <pre>
     EXAMPLE:
         xo_open_list("user");
         for (i = 0; i &lt; num_users; i++) {
@@ -23545,16 +23577,16 @@ jQuery(function ($) {
             xo_close_instance("user");
         }
         xo_close_list("user");
-	    </pre> <p id="doc_section_2_2_2_6_p_3">Currently the key modifier is only used when generating XPath value for the HTML output style when XOF_XPATH is set, but other uses are likely in the near future.</p>
+	    </pre> <p id="doc_section_2_2_2_7_p_3">Currently the key modifier is only used when generating XPath value for the HTML output style when XOF_XPATH is set, but other uses are likely in the near future.</p>
 </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_7">
+<h4 id="doc_section_2_2_2_8">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_7">2.2.2.7</a> </div>
+<a href="#doc_section_2_2_2_8">2.2.2.8</a> </div>
 <a id="the-leaf-list-modifier-l" href="#the-leaf-list-modifier-l">The Leaf-List Modifier ({l:})</a>
 </h4>
-<p id="doc_section_2_2_2_7_p_1">The leaf-list modifier is used to distinguish lists where each instance consists of only a single value. In XML, these are rendered as single elements, where JSON renders them as arrays.</p>
-<div id="doc_figure_u.55"></div> <pre>
+<p id="doc_section_2_2_2_8_p_1">The leaf-list modifier is used to distinguish lists where each instance consists of only a single value. In XML, these are rendered as single elements, where JSON renders them as arrays.</p>
+<div id="doc_figure_u.56"></div> <pre>
     EXAMPLE:
         for (i = 0; i &lt; num_users; i++) {
             xo_emit("Member {l:user}\n", user[i].u_name);
@@ -23564,16 +23596,16 @@ jQuery(function ($) {
         &lt;user&gt;pallavi&lt;/user&gt;
     JSON:
         "user": [ "phil", "pallavi" ]
-	    </pre> <p id="doc_section_2_2_2_7_p_3">The name of the field must match the name of the leaf list.</p>
+	    </pre> <p id="doc_section_2_2_2_8_p_3">The name of the field must match the name of the leaf list.</p>
 </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_8">
+<h4 id="doc_section_2_2_2_9">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_8">2.2.2.8</a> </div>
+<a href="#doc_section_2_2_2_9">2.2.2.9</a> </div>
 <a id="the-no-quotes-modifier-n" href="#the-no-quotes-modifier-n">The No-Quotes Modifier ({n:})</a>
 </h4>
-<p id="doc_section_2_2_2_8_p_1">The no-quotes modifier (and its twin, the 'quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
-<div id="doc_figure_u.56"></div> <pre>
+<p id="doc_section_2_2_2_9_p_1">The no-quotes modifier (and its twin, the 'quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
+<div id="doc_figure_u.57"></div> <pre>
     EXAMPLE:
       const char *bool = is_true ? "true" : "false";
       xo_emit("{n:fancy/%s}", bool);
@@ -23581,45 +23613,61 @@ jQuery(function ($) {
       "fancy": true
 	    </pre> </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_9">
+<h4 id="doc_section_2_2_2_10">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_9">2.2.2.9</a> </div>
+<a href="#doc_section_2_2_2_10">2.2.2.10</a> </div>
 <a id="plural-modifier" href="#plural-modifier">The Plural Modifier ({p:})</a>
 </h4>
-<p id="doc_section_2_2_2_9_p_1">The plural modifier selects the appropriate plural form of an expression based on the most recent number emitted and the current language settings. The contents of the field should be the singular and plural English values, separated by a comma:</p>
-<div id="doc_figure_u.57"></div> <pre>
+<p id="doc_section_2_2_2_10_p_1">The plural modifier selects the appropriate plural form of an expression based on the most recent number emitted and the current language settings. The contents of the field should be the singular and plural English values, separated by a comma:</p>
+<div id="doc_figure_u.58"></div> <pre>
     xo_emit("{:bytes} {Ngp:byte,bytes}\n", bytes);
-	    </pre> <p id="doc_section_2_2_2_9_p_3">The plural modifier is meant to work with the gettext modifier ({g:}) but can work independently. See <a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.4</a>.</p>
-<p id="doc_section_2_2_2_9_p_4">When used without the gettext modifier or when the message does not appear in the message catalog, the first token is chosen when the last numeric value is equal to 1; otherwise the second value is used, mimicking the simple pluralization rules of English.</p>
-<p id="doc_section_2_2_2_9_p_5">When used with the gettext modifier, the ngettext(3) function is called to handle the heavy lifting, using the message catalog to convert the singular and plural forms into the native language.</p>
+	    </pre> <p id="doc_section_2_2_2_10_p_3">The plural modifier is meant to work with the gettext modifier ({g:}) but can work independently. See <a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.5</a>.</p>
+<p id="doc_section_2_2_2_10_p_4">When used without the gettext modifier or when the message does not appear in the message catalog, the first token is chosen when the last numeric value is equal to 1; otherwise the second value is used, mimicking the simple pluralization rules of English.</p>
+<p id="doc_section_2_2_2_10_p_5">When used with the gettext modifier, the ngettext(3) function is called to handle the heavy lifting, using the message catalog to convert the singular and plural forms into the native language.</p>
 </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_10">
+<h4 id="doc_section_2_2_2_11">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_10">2.2.2.10</a> </div>
+<a href="#doc_section_2_2_2_11">2.2.2.11</a> </div>
 <a id="the-quotes-modifier-q" href="#the-quotes-modifier-q">The Quotes Modifier ({q:})</a>
 </h4>
-<p id="doc_section_2_2_2_10_p_1">The quotes modifier (and its twin, the 'no&#8209;quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
-<div id="doc_figure_u.58"></div> <pre>
+<p id="doc_section_2_2_2_11_p_1">The quotes modifier (and its twin, the 'no&#8209;quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
+<div id="doc_figure_u.59"></div> <pre>
     EXAMPLE:
       xo_emit("{q:time/%d}", 2014);
     JSON:
       "year": "2014"
+	    </pre> <p id="doc_section_2_2_2_11_p_3">The heuristic is based on the format; if the format uses any of the following conversion specifiers, then no quotes are used:</p>
+<div id="doc_figure_u.60"></div> <pre>
+    d i o u x X D O U e E f F g G a A c C p
 	    </pre> </div>
 <div class="content">
-<h4 id="doc_section_2_2_2_11">
+<h4 id="doc_section_2_2_2_12">
 <div class="self-section-number">
-<a href="#doc_section_2_2_2_11">2.2.2.11</a> </div>
+<a href="#doc_section_2_2_2_12">2.2.2.12</a> </div>
+<a id="the-trim-modifier-t" href="#the-trim-modifier-t">The Trim Modifier ({t:})</a>
+</h4>
+<p id="doc_section_2_2_2_12_p_1">The trim modifier removes any leading or trailing whitespace from the value.</p>
+<div id="doc_figure_u.61"></div> <pre>
+    EXAMPLE:
+      xo_emit("{t:description}", "   some  input   ");
+    JSON:
+      "description": "some input"
+	    </pre> </div>
+<div class="content">
+<h4 id="doc_section_2_2_2_13">
+<div class="self-section-number">
+<a href="#doc_section_2_2_2_13">2.2.2.13</a> </div>
 <a id="the-white-space-modifier-w" href="#the-white-space-modifier-w">The White Space Modifier ({w:})</a>
 </h4>
-<p id="doc_section_2_2_2_11_p_1">The white space modifier appends a single space to the data value:</p>
-<div id="doc_figure_u.59"></div> <pre>
+<p id="doc_section_2_2_2_13_p_1">The white space modifier appends a single space to the data value:</p>
+<div id="doc_figure_u.62"></div> <pre>
     EXAMPLE:
       xo_emit("{Lw:Name}{:name}\n", "phil");
     TEXT:
       Name phil
-	    </pre> <p id="doc_section_2_2_2_11_p_3">The white space modifier is only used for the TEXT and HTML output styles. It is commonly combined with the colon modifier ('{c:}'). It is purely a convenience feature.</p>
-<p id="doc_section_2_2_2_11_p_4">Note that the sense of the 'w' modifier is reversed for the units role ({Uw:}); a blank is added before the contents, rather than after it.</p>
+	    </pre> <p id="doc_section_2_2_2_13_p_3">The white space modifier is only used for the TEXT and HTML output styles. It is commonly combined with the colon modifier ('{c:}'). It is purely a convenience feature.</p>
+<p id="doc_section_2_2_2_13_p_4">Note that the sense of the 'w' modifier is reversed for the units role ({Uw:}); a blank is added before the contents, rather than after it.</p>
 </div>
 </div>
 <div class="content">
@@ -23632,7 +23680,7 @@ jQuery(function ($) {
 <p id="doc_section_2_2_3_p_2">If the format string is not provided for a value field, it defaults to "%s".</p>
 <p id="doc_section_2_2_3_p_3">Note a field definition can contain zero or more printf-style 'directives', which are sequences that start with a '%' and end with one of following characters: "diouxXDOUeEfFgGaAcCsSp". Each directive is matched by one of more arguments to the xo_emit function.</p>
 <p id="doc_section_2_2_3_p_4">The format string has the form:</p>
-<div id="doc_figure_u.60"></div> <pre>
+<div id="doc_figure_u.63"></div> <pre>
   '%' format-modifier * format-character
 	    </pre> <p id="doc_section_2_2_3_p_6">The format- modifier can be:</p>
 <p id="doc_section_2_2_3_p_7"> </p>
@@ -23829,8 +23877,42 @@ jQuery(function ($) {
 <a id="utf-8-and-locale-strings" href="#utf-8-and-locale-strings">UTF-8 and Locale Strings</a>
 </h3>
 <p id="doc_section_2_2_4_p_1">For strings, the 'h' and 'l' modifiers affect the interpretation of the bytes pointed to argument. The default '%s' string is a 'char *' pointer to a string encoded as UTF-8. Since UTF-8 is compatible with ASCII data, a normal 7-bit ASCII string can be used. '%ls' expects a 'wchar_t *' pointer to a wide-character string, encoded as a 32-bit Unicode values. '%hs' expects a 'char *' pointer to a multi-byte string encoded with the current locale, as given by the LC_CTYPE, LANG, or LC_ALL environment varibles. The first of this list of variables is used and if none of the variables are set, the locale defaults to "UTF&#8209;8".</p>
-<p id="doc_section_2_2_4_p_2">For example, a function is passed a locale-base name, a hat size, and a time value. The hat size is formatted in a UTF-8 (ASCII) string, and the time value is formatted into a wchar_t string.</p>
-<div id="doc_figure_u.61"></div> <pre>
+<p id="doc_section_2_2_4_p_2">libxo will convert these arguments as needed to either UTF-8 (for XML, JSON, and HTML styles) or locale-based strings for display in text style.</p>
+<div id="doc_figure_u.64"></div> <pre>
+   xo_emit("Alll strings are utf-8 content {:tag/%ls}",
+           L"except for wide strings");
+	    </pre> <p id="doc_section_2_2_4_p_4">"%S" is equivalent to "%ls".</p>
+<div id="doc_table_u.7"><table summary="" class="tt full" cellpadding="3" cellspacing="0">
+<thead><tr>
+<th class="left">Format</th>
+<th class="left">Argument Type</th>
+<th class="left">Argument Contents</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>%s</td>
+<td>const char *</td>
+<td>UTF-8 string</td>
+</tr>
+<tr>
+<td>%S</td>
+<td>const char *</td>
+<td>UTF-8 string (alias for '%s')</td>
+</tr>
+<tr>
+<td>%ls</td>

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



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