25247431 zsh 5.3.1
authorDanek Duvall <danek.duvall@oracle.com>
Thu, 19 Jan 2017 14:29:43 -0800
changeset 7589 7eccd056eff6
parent 7586 3db1c2ef2aa9
child 7590 5461fab14904
25247431 zsh 5.3.1 22463812 after gawk upgrade zsh makefile needs updating 25368896 zsh "watch" feature broken PSARC 2017/010 zsh version-agnostic vendor-functions directory
components/desktop/pulseaudio/Makefile
components/desktop/pulseaudio/pulseaudio.p5m
components/zsh/Makefile
components/zsh/patches/23199587.patch
components/zsh/patches/completion.patch
components/zsh/patches/fixes.patch
components/zsh/patches/misc.patch
components/zsh/patches/watch.patch
components/zsh/zsh.p5m
--- a/components/desktop/pulseaudio/Makefile	Wed Dec 21 07:38:10 2016 -0800
+++ b/components/desktop/pulseaudio/Makefile	Thu Jan 19 14:29:43 2017 -0800
@@ -74,7 +74,7 @@
 CONFIGURE_OPTIONS += --enable-solaris
 CONFIGURE_OPTIONS += --with-database=gdbm
 CONFIGURE_OPTIONS += --sysconfdir=$(ETCDIR)
-CONFIGURE_OPTIONS += --with-zsh-completion-dir=/usr/share/zsh/5.2/functions/Completion/Unix
+CONFIGURE_OPTIONS += --with-zsh-completion-dir=/usr/share/zsh/vendor-functions/Completion
 
 # To avoid using the current system default, one is explicitly specified here.
 CONFIGURE_ENV += PYTHON=$(PYTHON)
--- a/components/desktop/pulseaudio/pulseaudio.p5m	Wed Dec 21 07:38:10 2016 -0800
+++ b/components/desktop/pulseaudio/pulseaudio.p5m	Thu Jan 19 14:29:43 2017 -0800
@@ -362,6 +362,6 @@
 file path=usr/share/vala/vapi/libpulse-simple.vapi
 file path=usr/share/vala/vapi/libpulse.deps
 file path=usr/share/vala/vapi/libpulse.vapi
-file path=usr/share/zsh/5.2/functions/Completion/Unix/_pulseaudio
+file path=usr/share/zsh/vendor-functions/Completion/_pulseaudio
 license pulseaudio.license license="GPLv2, LGPLv2.1"
 
--- a/components/zsh/Makefile	Wed Dec 21 07:38:10 2016 -0800
+++ b/components/zsh/Makefile	Thu Jan 19 14:29:43 2017 -0800
@@ -20,21 +20,21 @@
 #
 
 #
-# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 BUILD_BITS= 64
 include ../../make-rules/shared-macros.mk
 include $(WS_MAKE_RULES)/shared-targets.mk
 
 COMPONENT_NAME=		zsh
-COMPONENT_VERSION=	5.2
+COMPONENT_VERSION=	5.3.1
 COMPONENT_PROJECT_URL=	http://www.zsh.org/
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.xz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:f17916320ffaa844bbd7ce48ceeb5945fc5f3eff64b149b4229bbfbdf3795a9d
+    sha256:fc886cb2ade032d006da8322c09a7e92b2309177811428b121192d44832920da
 COMPONENT_ARCHIVE_URL=	http://downloads.sourceforge.net/project/zsh/zsh/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
 
-TPNO=			26447
+TPNO=			33339
 
 BUILD_TARGET=
 INSTALL_TARGET=
@@ -42,7 +42,6 @@
 
 CONFIGURE_LIBDIR.64= $(CONFIGURE_LIBDIR.32)
 
-CONFIGURE_OPTIONS += -n
 CONFIGURE_OPTIONS += --enable-cppflags="$(CPP_LARGEFILES)"
 CONFIGURE_OPTIONS += --enable-dynamic
 CONFIGURE_OPTIONS += --enable-etcdir=$(ETCDIR)
@@ -52,22 +51,13 @@
 ifeq ($(OS_VERSION),5.11)
 CONFIGURE_OPTIONS += --enable-libs="-lnsl"
 endif
+CONFIGURE_OPTIONS += --enable-additional-fpath=/usr/share/zsh/vendor-functions/Completion
 CONFIGURE_OPTIONS += --enable-maildir-support
 CONFIGURE_OPTIONS += --enable-multibyte
 CONFIGURE_OPTIONS += --enable-pcre
 CONFIGURE_OPTIONS += --with-tcsetpgrp
 CONFIGURE_OPTIONS += --disable-gdbm
 
-# pcre-config --libs unnecessarily emits "-R$(USRLIBDIR64)"; we remove it so that it
-# doesn't end up in the binaries.
-COMPONENT_POST_CONFIGURE_ACTION = \
-	(cd $(@D); \
-	sed -e "s,-R$(USRLIBDIR64),," \
-		config.status > config.status.new; \
-	mv config.status.new config.status; \
-	chmod 755 config.status; \
-	./config.status)
-
 COMPOVERRIDES = $(shell test -d find && find Completion -type f -print)
 
 $(PROTOETCDIR)/%: % $(PROTOETCDIR)
@@ -76,11 +66,6 @@
 $(PROTOETCDIR)/zprofile: $(PROTOETCDIR)
 	$(RM) [email protected]; $(SYMLINK) profile [email protected]
 
-# makepro.awk leaves turds behind when using gawk 3.1.5 and a UTF-8 locale.
-# Upgrading gawk would fix the problem, but for now, all we can do is change
-# the language.
-COMPONENT_BUILD_ENV += LC_ALL=C
-
 # The configure test for NIS tests to make sure that NIS is working, not whether
 # it's available to compile against.  We actually want to go through the switch
 # in all cases, so we force it off, regardless of whether the build environment
--- a/components/zsh/patches/23199587.patch	Wed Dec 21 07:38:10 2016 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-commit 8c29b34032ebb714d2c593286aa29e5c64be55ab
-Author: Oliver Kiddle <[email protected]>
-Date:   Mon Mar 7 13:15:40 2016 +0100
-
-    38043: allow any completion widget to cycle matches for menu completion to fix reverse menu completion
-
-diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c
-index ae3a640..ae7068f 100644
---- a/Src/Zle/compcore.c
-+++ b/Src/Zle/compcore.c
[email protected]@ -30,10 +30,6 @@
- #include "complete.mdh"
- #include "compcore.pro"
- 
--/* The last completion widget called. */
--
--static Widget lastcompwidget;
--
- /* Flags saying what we have to do with the result. */
- 
- /**/
[email protected]@ -471,8 +467,7 @@ before_complete(UNUSED(Hookdef dummy), int *lst)
- 
-     /* If we are doing a menu-completion... */
- 
--    if (minfo.cur && menucmp && *lst != COMP_LIST_EXPAND && 
--	(menucmp != 1 || !compwidget || compwidget == lastcompwidget)) {
-+    if (minfo.cur && menucmp && *lst != COMP_LIST_EXPAND) {
- 	do_menucmp(*lst);
- 	return 1;
-     }
[email protected]@ -481,7 +476,6 @@ before_complete(UNUSED(Hookdef dummy), int *lst)
- 	onlyexpl = listdat.valid = 0;
- 	return 1;
-     }
--    lastcompwidget = compwidget;
- 
-     /* We may have to reset the cursor to its position after the   *
-      * string inserted by the last completion. */
-diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c
-index 162436b..8aeb6c3 100644
---- a/Src/Zle/complist.c
-+++ b/Src/Zle/complist.c
[email protected]@ -3399,7 +3399,7 @@ domenuselect(Hookdef dummy, Chdata dat)
- 	do_single(*(minfo.cur));
-     }
-     if (wasnext || broken) {
--	menucmp = 2;
-+	menucmp = 1;
- 	showinglist = ((validlist && !nolist) ? -2 : 0);
- 	minfo.asked = 0;
- 	if (!noselect) {
-diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
-index cc4b7d6..a89b2a3 100644
---- a/Src/Zle/zle_tricky.c
-+++ b/Src/Zle/zle_tricky.c
[email protected]@ -100,8 +100,7 @@ mod_export int usemenu, useglob;
- /**/
- mod_export int wouldinstab;
- 
--/* != 0 if we are in the middle of a menu completion. May be == 2 to force *
-- * menu completion even if using different widgets.                        */
-+/* != 0 if we are in the middle of a menu completion. */
- 
- /**/
- mod_export int menucmp;
--- a/components/zsh/patches/completion.patch	Wed Dec 21 07:38:10 2016 -0800
+++ b/components/zsh/patches/completion.patch	Thu Jan 19 14:29:43 2017 -0800
@@ -1,460 +1,448 @@
---- zsh-5.0.5/Completion/Solaris/Command/_dladm	Wed Nov 27 11:00:18 2013
-+++ zsh-5.0.5/Completion/Solaris/Command/_dladm	Fri Mar 28 16:00:53 2014
[email protected]@ -1,5 +1,5 @@
- #compdef dladm
--# Synced with the S11U1 build 19 man page
-+# Synced with the S11U2 build 34 man page
- 
- _dladm_links() {
- 	compadd "[email protected]" - $(dladm show-link -p -o link)
[email protected]@ -61,15 +61,19 @@
- 	compadd "[email protected]" - $(dladm show-ib -p -o link)
+diff --git a/Completion/Solaris/Command/_dladm b/Completion/Solaris/Command/_dladm
+index cb598de..d6d0aa0 100644
+--- a/Completion/Solaris/Command/_dladm
++++ b/Completion/Solaris/Command/_dladm
[email protected]@ -60,15 +60,19 @@ _dladm_iblinks() {
+   compadd "[email protected]" - $(_call_program iblinks dladm show-ib -p -o link)
  }
  
 +_dladm_eoiblinks() {
-+	compadd "[email protected]" - $(dladm show-eoib -p -o link)
++  compadd "[email protected]" - $(_call_program eoiblinks dladm show-eoib -p -o link)
 +}
 +
  _dladm() {
- 	local context state line expl
- 	typeset -A opt_args
- 	local -a subcmds
- 	local -a linkprops linkprops_general linkprops_nonvlanvnic linkprops_wifi
--	local -a linkprops_ether linkprops_ib linkprops_iptun
--	local -a link_properties link_stats_properties vnic_properties
--	local -a aggr_properties aggr_lacp_properties aggr_ext_properties
--	local -a vlan_properties wifi_properties wifi_connect_properties
-+	local -a linkprops_ether linkprops_ib linkprops_iptun linkprops_aggr
-+	local -a phys_properties link_properties vnic_properties
-+	local -a aggr_properties aggr_lacp_properties aggr_dlmp_properties aggr_ext_properties
-+	local -a vlan_properties wifi_properties wifi_connect_properties eoib_properties
- 	local -a ether_properties linkprop_properties secobj_properties
- 	local -a bridge_properties bridge_stats_properties bridge_link_properties
- 	local -a bridge_link_stats_properties bridge_fwd_properties
[email protected]@ -81,7 +85,7 @@
- 	# TODO: some subcommands may take different arguments based on options
+   local curcontext="$curcontext" state line expl
+   typeset -A opt_args
+   local -a subcmds
+   local -a linkprops linkprops_general linkprops_nonvlanvnic linkprops_wifi
+-  local -a linkprops_ether linkprops_ib linkprops_iptun
+-  local -a link_properties link_stats_properties vnic_properties
+-  local -a aggr_properties aggr_lacp_properties aggr_ext_properties
+-  local -a vlan_properties wifi_properties wifi_connect_properties
++  local -a linkprops_ether linkprops_ib linkprops_iptun linkprops_aggr
++  local -a phys_properties link_properties vnic_properties
++  local -a aggr_properties aggr_lacp_properties aggr_dlmp_properties aggr_ext_properties
++  local -a vlan_properties wifi_properties wifi_connect_properties eoib_properties
+   local -a ether_properties linkprop_properties secobj_properties
+   local -a bridge_properties bridge_stats_properties bridge_link_properties
+   local -a bridge_link_stats_properties bridge_fwd_properties
[email protected]@ -80,7 +84,7 @@ _dladm() {
+   # TODO: some subcommands may take different arguments based on options
  
- 	subcmds=(
--		"help" "show-ether" "show-ib" "show-usage"
-+		"help" "show-ether"
- 		{"rename","show"}"-link"
- 		{"add","create","delete","modify","remove","show"}"-aggr"
- 		{"connect","disconnect","scan","show"}"-wifi"
[email protected]@ -94,6 +98,7 @@
- 		{"create","modify","delete","add","remove","show"}"-bridge"
- 		{"create","modify","delete","show"}"-iptun"
- 		{"create","delete","show"}"-part"
-+		{"create","delete","show"}"-eoib" "show-ib"
- 	)
+   subcmds=(
+-    help show-ether show-ib
++    help show-ether
+     {add,create,delete,modify,remove,show}-{aggr,bridge}
+     {rename,show}-link
+     {connect,disconnect,scan,show}-wifi
[email protected]@ -88,7 +92,8 @@ _dladm() {
+     {create,delete,modify,show}-vlan
+     {delete,show}-phys
+     {create,delete,modify,show}-{vnic,iptun}
+-    {create,delete,show}-{etherstub,secobj,part,cap}
++    {create,delete,show}-{etherstub,secobj,part,cap,eoib}
++    show-ib
+   )
  
- 	if [[ $service == "dladm" ]]; then
[email protected]@ -110,10 +115,12 @@
- 	fi
+   if [[ $service == "dladm" ]]; then
[email protected]@ -105,10 +110,11 @@ _dladm() {
+   fi
  
- 	link_properties=( "link" "zone" "class" "mtu" "state" "over" )
--	link_stats_properties=( "link" "ipackets" "rbytes" "ierrors" "opackets" "obytes" "oerrors" )
+   link_properties=( link zone class mtu state over )
+-  link_stats_properties=( link ipackets rbytes ierrors opackets obytes oerrors )
++  phys_properties=( link media state speed duplex device vfs-avail vfs-inuse flags )
  
-+	phys_properties=( "link" "media" "state" "speed" "duplex" "device" "vfs-avail" "vfs-inuse" "flags" )
-+
- 	aggr_properties=( "link" "policy" "addrpolicy" "lacpactivity" "lacptimer" "mode" "flags" )
- 	aggr_lacp_properties=( "link" "port" "aggregatable" "sync" "coll" "dist" "defaulted" "expired" )
-+	aggr_dlmp_properties=( "link" "port" "flags" "state" "targets" "xtargets" )
- 	aggr_ext_properties=( "link" "port" "speed" "duplex" "state" "address" "portstate" )
+   aggr_properties=( link policy addrpolicy lacpactivity lacptimer mode flags )
+   aggr_lacp_properties=( link port aggregatable sync coll dist defaulted expired )
++  aggr_dlmp_properties=( link port flags state targets xtargets )
+   aggr_ext_properties=( link port speed duplex state address portstate )
  
- 	vlan_properties=( "link" "vid" "over" "flags" )
[email protected]@ -123,11 +130,12 @@
+   vlan_properties=( link vid over flags )
[email protected]@ -118,11 +124,12 @@ _dladm() {
  
- 	ether_properties=( "link" "ptype" "state" "auto" "speed-duplex" "pause" "rem_fault" )
+   ether_properties=( link ptype state auto speed-duplex pause rem_fault )
  
--	linkprop_properties=( "link" "property" "value" "default" "possible" )
-+	linkprop_properties=( "link" "property" "value" "effective" "default" "possible" )
+-  linkprop_properties=( link property value default possible )
++  linkprop_properties=( link property value effective default possible )
  
- 	secobj_properties=( "object" "class" )
+   secobj_properties=( object class )
  
--	vnic_properties=( "link" "over" "speed" "macaddr" "macaddrtype" )
-+	vnic_properties=( "link" "over" "speed" "macaddr" "macaddrtype" "macaddrtypes" 
-+		"vid" "vids" "evs" "vport" "tenant" "vfs-assigned" )
+-  vnic_properties=( link over speed macaddr macaddrtype )
++  vnic_properties=( link over speed macaddr macaddrtype macaddrtypes vid
++    vids evs vport tenant vfs-assigned )
  
- 	bridge_properties=( "bridge"  "address" "priority" "bmaxage" "bhellotime" "bfwddelay" 
- 		"forceproto" "tctime" "tccount" "tchange" "desroot" "rootcost" "rootport"
[email protected]@ -144,23 +152,21 @@
+   bridge_properties=( bridge  address priority bmaxage bhellotime bfwddelay
+     forceproto tctime tccount tchange desroot rootcost rootport
[email protected]@ -139,23 +146,21 @@ _dladm() {
  
- 	part_properties=( "link" "pkey" "over" "state" "flags" )
+   part_properties=( link pkey over state flags )
  
--	ib_properties=( "link" "hcaguid" "portguid" "port" "state" "pkeys" )
-+	ib_properties=( "link" "hcaguid" "portguid" "port" "state" "gwname" "gwport" "gwid" "gwflags" "pkeys" )
-+	eoib_properties=( "link" "gwname" "gwport" "gwid" "speed" "macaddress" "over" "flags" )
+-  ib_properties=( link hcaguid portguid port state pkeys )
++  ib_properties=( link hcaguid portguid port state gwname gwport gwid gwflags pkeys )
++  eoib_properties=( link gwname gwport gwid speed macaddress over flags )
  
- 	linkprops_general=(
- 		"autopush:streams modules:"
- 		"cos:value:(0 1 2 3 4 5 6 7)"
- 		"cpus:processors:"
--		"cpus-effective"
- 		"etsbw-lcl:percentage:"
- 		"etsbw-lcl-advice"
--		"etsbw-lcl-effective"
--		"etsbw-rmt-effective"
-+		"etsbw-rmt-advice"
-+		"iov:value:(auto inherit on off)"
- 		"lro:value:(off on auto)"
--		"lro-effective"
- 		"mac-address:MAC address:"
- 		"maxbw:bandwith:"
- 		"pool:pools:"
--		"pool-effective"
- 		"priority:priority:(high medium low)"
- 		"rxringsavail"
- 		"rxrings:value:"
[email protected]@ -176,13 +182,10 @@
- 		"stp_mcheck:value:(0 1)"
- 		"protection:value:(mac-nospoof ip-nospoof dhcp-nospoof restricted)"
- 		"vsi-mgrid:IPv6 address:"
--		"vsi-mgrid-effective"
- 		"vsi-mgrid-enc:encoding:(oracle_v1 none)"
--		"vsi-mgrid-enc-effective"
- 		"vsi-typeid:value:"
--		"vsi-typeid-effective"
- 		"vsi-vers:value:"
--		"vsi-vers-effective"
-+		"vswitching:value:(local remote auto)"
- 		"zone:value:_zones"
- 	)
- 	linkprops_nonvlanvnic=(
[email protected]@ -190,7 +193,6 @@
- 		"learn_decay:value:"
- 		"learn_limit:value:"
- 		"rxfanout:value:"
--		"rxfanout-effective:value:"
- 		"stp:value:(0 1)"
- 	)
- 	linkprops_wifi=(
[email protected]@ -218,13 +220,11 @@
- 		"en_10fdx_cap:value:(0 1)"
- 		"en_10hdx_cap:value:(0 1)"
- 		"flowctrl:value:(auto no rx tx pfc bi)"
--		"flowctrl-effective"
- 		"gvrp-timeout:value:"
- 		"mtu:value:"
- 		"ntcs"
- 		"pfcmap:value:"
--		"pfcmap-lcl-effective"
--		"pfcmap-rmt-effective"
-+		"pfcmap-rmt"
- 		"speed"
- 		"tagmode:value:(normal vlanonly)"
- 		"vlan-announce:value:(off gvrp)"
[email protected]@ -236,9 +236,14 @@
- 		"hoplimit:value:"
- 		"encaplimit:value:"
- 	)
-+	linkprops_aggr=(
-+		"probe-enabled:value:(true false)"
-+		"probe-ip:value:"
-+		"probe-fdt"
-+	)
- 	linkprops=(
- 		$linkprops_general $linkprops_wifi $linkprops_ether
--		$linkprops_ib $linkprops_iptun
-+		$linkprops_ib $linkprops_iptun $linkprops_aggr
- 	)
+   linkprops_general=(
+     'autopush:streams modules'
+     'cos:value:(0 1 2 3 4 5 6 7)'
+     'cpus:processors'
+-    'cpus-effective'
+     'etsbw-lcl:percentage:'
+     'etsbw-lcl-advice'
+-    'etsbw-lcl-effective'
+-    'etsbw-rmt-effective'
++    'etsbw-rmt-advice'
++    'iov:value:(auto inherit on off)'
+     'lro:value:(off on auto)'
+-    'lro-effective'
+     'mac-address:MAC address'
+     'maxbw:bandwith'
+     'pool:pools'
+-    'pool-effective'
+     'priority:priority:(high medium low)'
+     'rxringsavail'
+     'rxrings:value'
[email protected]@ -171,13 +176,10 @@ _dladm() {
+     'stp_mcheck:value:(0 1)'
+     'protection:value:(mac-nospoof ip-nospoof dhcp-nospoof restricted)'
+     'vsi-mgrid:IPv6 address'
+-    'vsi-mgrid-effective'
+     'vsi-mgrid-enc:encoding:(oracle_v1 none)'
+-    'vsi-mgrid-enc-effective'
+     'vsi-typeid:value'
+-    'vsi-typeid-effective'
+     'vsi-vers:value'
+-    'vsi-vers-effective'
++    'vswitching:value:(local remote auto)'
+     'zone:zone:_zones'
+   )
+   linkprops_nonvlanvnic=(
[email protected]@ -185,7 +187,6 @@ _dladm() {
+     'learn_decay:value'
+     'learn_limit:value'
+     'rxfanout:value'
+-    'rxfanout-effective:value'
+     'stp:value:(0 1)'
+   )
+   linkprops_wifi=(
[email protected]@ -213,13 +214,11 @@ _dladm() {
+     'en_10fdx_cap:value:(0 1)'
+     'en_10hdx_cap:value:(0 1)'
+     'flowctrl:value:(auto no rx tx pfc bi)'
+-    'flowctrl-effective'
+     'gvrp-timeout:value'
+     'mtu:value'
+     'ntcs'
+     'pfcmap:value'
+-    'pfcmap-lcl-effective'
+-    'pfcmap-rmt-effective'
++    'pfcmap-rmt'
+     'speed'
+     'tagmode:value:(normal vlanonly)'
+     'vlan-announce:value:(off gvrp)'
[email protected]@ -231,9 +230,14 @@ _dladm() {
+     "hoplimit:value"
+     "encaplimit:value"
+   )
++  linkprops_aggr=(
++    'probe-enabled:value:(true false)'
++    'probe-ip:value:'
++    'probe-fdt'
++  )
+   linkprops=(
+     $linkprops_general $linkprops_wifi $linkprops_ether
+-    $linkprops_ib $linkprops_iptun
++    $linkprops_ib $linkprops_iptun $linkprops_aggr
+   )
  
- 	case $service in
[email protected]@ -252,12 +257,7 @@
- 			'(-p --parseable)'{-p,--parseable}'[Parseable output]' \
- 			'-Z[Display ZONE column in output]' \
- 			'-z[zone]:zonename:_values -s , "zone" $(zoneadm list)' \
--			- set1 \
- 			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $link_properties' \
--			- set2 \
--			'(-s --statistics)'{-s,--statistics}'[Display link statistics]' \
--			'(-i --interval)'{-i,--interval}'[Specify an interval]:interval:' \
--			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $link_stats_properties' \
- 			':link name:_dladm_links'
- 		;;
+   case $service in
[email protected]@ -247,12 +251,7 @@ _dladm() {
+       '(-p --parseable)'{-p,--parseable}'[parseable output]' \
+       '-Z[display ZONE column in output]' \
+       '-z[zone]:zone:_sequence _zones' \
+-      - set1 \
+       '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $link_properties' \
+-      - set2 \
+-      '(-s --statistics)'{-s,--statistics}'[display link statistics]' \
+-      '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \
+-      '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $link_stats_properties' \
+       ':link name:_dladm_links'
+   ;;
  
[email protected]@ -273,14 +273,15 @@
- 			'-D[Show Data Center Bridging information]:featureset:(ets pfc)' \
- 			'-H[Show hardware resource usage]' \
- 			'-L[Display location information]' \
-+			'-l[For ETS DCB, show additional local information]' \
-+			'-r[For ETS DCB, show additional remote information]' \
- 			'(-P --persistent)'{-P,--persistent}'[Display persistent link configuration]' \
- 			'(-p --parseable)'{-p,--parseable}'[Parseable output]' \
- 			'-m[Display MAC address information]' \
-+			'-V[Display SR-IOV information]' \
- 			'-Z[Display ZONE column in output]' \
- 			'-z[zone]:zonename:_values -s , "zone" $(zoneadm list)' \
--			'(-s --statistics)'{-s,--statistics}'[Display link statistics]' \
--			'(-i --interval)'{-i,--interval}'[Specify an interval]:interval:' \
--			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" link media state speed duplex device' \
-+			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $phys_properties' \
- 			':physical link name:_dladm_devs'
- 		;;
[email protected]@ -268,14 +267,15 @@ _dladm() {
+       '-D[show Data Center Bridging information]:featureset:(ets pfc)' \
+       '-H[show hardware resource usage]' \
+       '-L[display location information]' \
++      '-l[For ETS DCB, show additional local information]' \
++      '-r[For ETS DCB, show additional remote information]' \
+       '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \
+       '(-p --parseable)'{-p,--parseable}'[parseable output]' \
+       '-m[display MAC address information]' \
++      '-V[Display SR-IOV information]' \
+       '-Z[display ZONE column in output]' \
+       '-z[zone]:zone:_sequence _zones' \
+-      '(-s --statistics)'{-s,--statistics}'[display link statistics]' \
+-      '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \
+-      '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" link media state speed duplex device' \
++      '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $phys_properties' \
+       ':physical link name:_dladm_devs'
+   ;;
  
[email protected]@ -304,7 +305,7 @@
[email protected]@ -299,7 +299,7 @@ _dladm() {
  
- 	("modify-aggr")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Aggregation should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[Modifications should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-l --link)'{-l,--link}'[Component link]:link:_dladm_links' \
- 			'(-m --mode)'{-m,--mode}'[Aggregation mode]:mode:(dlmp trunk)' \
[email protected]@ -324,7 +325,7 @@
+   (modify-aggr)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[modifications should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \
+       '(-m --mode)'{-m,--mode}'[aggregation mode]:mode:(dlmp trunk)' \
[email protected]@ -319,7 +319,7 @@ _dladm() {
  
- 	("add-aggr")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Aggregation should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[Additions should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-l --link)'{-l,--link}'[Component link]:link:_dladm_links' \
- 			':aggregate link name:_dladm_aggrs'
[email protected]@ -332,7 +333,7 @@
+   (add-aggr)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[additions should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \
+       ':aggregate link name:_dladm_aggrs'
[email protected]@ -327,7 +327,7 @@ _dladm() {
  
- 	("remove-aggr")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Aggregation should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[Removals should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-l --link)'{-l,--link}'[Component link]:link:_dladm_aggr_ports' \
- 			':aggregate link name:_dladm_aggrs'
[email protected]@ -342,8 +343,6 @@
- 		_arguments -A "-*" \
- 			'(-P --persistent)'{-P,--persistent}'[Display persistent link configuration]' \
- 			'(-p --parseable)'{-p,--parseable}'[Parseable output]' \
--			'(-s --statistics)'{-s,--statistics}'[Display link statistics]' \
--			'(-i --interval)'{-i,--interval}'[Specify an interval]:interval:' \
- 			'-Z[Display ZONE column in output]' \
- 			'-z[zone]:zonename:_values -s , "zone" $(zoneadm list)' \
- 			':aggregate link name:_dladm_links' \
[email protected]@ -352,6 +351,9 @@
- 			- lacp \
- 			'(-L --lacp)'{-L,--lacp}'[LACP information]' \
- 			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $aggr_lacp_properties' \
-+			- dlmp \
-+			'-S[Display detailed probe information]' \
-+			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $aggr_dlmp_properties' \
- 			- extended \
- 			'(-x --extended)'{-x,--extended}'[Extended information]' \
- 			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $aggr_ext_properties'
[email protected]@ -376,7 +378,7 @@
+   (remove-aggr)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[aggregation should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[removals should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-l --link)'{-l,--link}'[component link]:link:_dladm_aggr_ports' \
+       ':aggregate link name:_dladm_aggrs'
[email protected]@ -337,8 +337,6 @@ _dladm() {
+     _arguments -A "-*" \
+       '(-P --persistent)'{-P,--persistent}'[display persistent link configuration]' \
+       '(-p --parseable)'{-p,--parseable}'[parseable output]' \
+-      '(-s --statistics)'{-s,--statistics}'[display link statistics]' \
+-      '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \
+       '-Z[display ZONE column in output]' \
+       '-z[zone]:zone:_sequence _zones' \
+       ':aggregate link name:_dladm_links' \
[email protected]@ -347,6 +345,9 @@ _dladm() {
+       - lacp \
+       '(-L --lacp)'{-L,--lacp}'[LACP information]' \
+       '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_lacp_properties' \
++      - dlmp \
++      '-S[Display detailed probe information]' \
++      '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_dlmp_properties' \
+       - extended \
+       '(-x --extended)'{-x,--extended}'[extended information]' \
+       '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $aggr_ext_properties'
[email protected]@ -371,7 +372,7 @@ _dladm() {
  
- 	("modify-vlan")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[VLAN should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[Modifications should be temporary]' \
- 			'(-f --force)'{-f,--force}'[Force VLAN creation]' \
- 			'(-R --root-dir)'{-R,--root-dir}'[Root directory]:directory:_path_files -/' \
- 			'(-l --link)'{-l,--link}'[Component link]:link:_dladm_links' \
[email protected]@ -474,7 +476,7 @@
+   (modify-vlan)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[VLAN should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[modifications should be temporary]' \
+       '(-f --force)'{-f,--force}'[force VLAN creation]' \
+       '(-R --root-dir)'{-R,--root-dir}'[root directory]:directory:_path_files -/' \
+       '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \
[email protected]@ -469,7 +470,7 @@ _dladm() {
  
- 	("create-secobj")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Creation should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[Object should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-c --class)'{-c,--class}'[Class]:class:(wep wpa)' \
- 			'(-f --file)'{-f,--file}'[File containing object value]:file:_path_files' \
[email protected]@ -499,12 +501,17 @@
- 	("create-vnic")
- 		# TODO: MAC address completion could be richer
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Creation should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[VNIC should be temporary]' \
-+			- nonEVS \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-l --link)'{-l,--link}'[Component link]:link:_dladm_links' \
- 			'(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \
- 			'-v[VLAN ID]:id:' \
- 			'(-p --prop)'{-p,--prop}'[Property values]:value:_values -s , "property" ${(M)linkprops_general\:#*\:*}' \
-+			':VNIC name:' \
-+			- EVS \
-+			'(-c --connect)'{-c,--connect}'[Elastic Virtual Switch name]:evs name: ' \
-+			'(-T --tenant)'{-T,--tenant}'[Tenant name]:tenant: ' \
- 			':VNIC name:'
- 		;;
+   (create-secobj)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[object should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-c --class)'{-c,--class}'[class]:class:(wep wpa)' \
+       '(-f --file)'{-f,--file}'[file containing object value]:file:_path_files' \
[email protected]@ -494,12 +495,17 @@ _dladm() {
+   (create-vnic)
+     # TODO: MAC address completion could be richer
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[VNIC should be temporary]' \
++      - nonEVS \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \
+       '(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \
+       '-v[VLAN ID]:id:' \
+       '(-p --prop)'{-p,--prop}'[property values]:value:_values -s , "property" ${(M)linkprops_general\:#*\:*}' \
++      ':VNIC name:' \
++      - EVS \
++      '(-c --connect)'{-c,--connect}'[Elastic Virtual Switch name]:evs name: ' \
++      '(-T --tenant)'{-T,--tenant}'[Tenant name]:tenant: ' \
+       ':VNIC name:'
+   ;;
  
[email protected]@ -518,7 +525,7 @@
- 	("modify-vnic")
- 		# TODO: MAC address completion could be richer
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Creation should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[Modifications should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-l --link)'{-l,--link}'[Component link]:link:_dladm_links' \
- 			'(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \
[email protected]@ -536,8 +543,8 @@
- 			'(-p --parseable)'{-p,--parseable}'[Parseable output]' \
- 			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $vnic_properties' \
- 			'(-l --link)'{-l,--link}'[Limit to VNICs on link]:link:_dladm_links' \
--			'(-s --statistics)'{-s,--statistics}'[Display VNIC statistics]' \
--			'(-i --interval)'{-i,--interval}'[Specify an interval]:interval:' \
-+			'-c[Display EVS information]' \
-+			'-V[Display SR-IOV information]' \
- 			'-Z[Display ZONE column in output]' \
- 			'-z[zone]:zonename:_values -s , "zone" $(zoneadm list)' \
- 			':VNIC name:_dladm_vnics'
[email protected]@ -545,7 +552,7 @@
[email protected]@ -513,7 +519,7 @@ _dladm() {
+   (modify-vnic)
+     # TODO: MAC address completion could be richer
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[modifications should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-l --link)'{-l,--link}'[component link]:link:_dladm_links' \
+       '(-m --mac-address)'{-m,--mac-address}'[MAC address]:address:(factory random auto vrrp)' \
[email protected]@ -531,8 +537,6 @@ _dladm() {
+       '(-p --parseable)'{-p,--parseable}'[parseable output]' \
+       '(-o --output)'{-o,--output}'[properties to display]:property:_values -s , "property" $vnic_properties' \
+       '(-l --link)'{-l,--link}'[limit to VNICs on link]:link:_dladm_links' \
+-      '(-s --statistics)'{-s,--statistics}'[display VNIC statistics]' \
+-      '(-i --interval)'{-i,--interval}'[specify an interval]:interval:' \
+       '-Z[display ZONE column in output]' \
+       '-v[display all VLAN information]' \
+       '-z[zone]:zone:_sequence _zones' \
[email protected]@ -541,7 +545,7 @@ _dladm() {
  
- 	("create-etherstub")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Creation should be temporary]' \
-+			'(-t --temporary)'{-t,--temporary}'[Etherstub should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			':etherstub name:'
- 		;;
[email protected]@ -564,16 +571,6 @@
- 			':etherstub name:_dladm_etherstubs'
- 		;;
+   (create-etherstub)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[creation should be temporary]' \
++      '(-t --temporary)'{-t,--temporary}'[etherstub should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       ':etherstub name:'
+   ;;
[email protected]@ -560,16 +564,6 @@ _dladm() {
+       ':etherstub name:_dladm_etherstubs'
+   ;;
  
--	("show-usage")
--		_arguments -A "-*" \
--			'(-f --file)'{-f,--file}'[Read records from file]:file:_path_files' \
--			'(-F --format)'{-F,--format}'[Plotfile format]:plotfile format:(gnuplot)' \
--			'(-p --plot)'{-p,--plot}'[Write plot to file]:' \
--			'(-e --start)'{-e,--start}'[Start time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \
--			'(-s --stop)'{-s,--stop}'[Stop time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \
--			':link name:_dladm_links'
--		;;
+-  (show-usage)
+-    _arguments -A "-*" \
+-      '(-f --file)'{-f,--file}'[read records from file]:file:_path_files' \
+-      '(-F --format)'{-F,--format}'[plotfile format]:plotfile format:(gnuplot)' \
+-      '(-p --plot)'{-p,--plot}'[write plot to file]:' \
+-      '(-e --start)'{-e,--start}'[start time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \
+-      '(-s --stop)'{-s,--stop}'[stop time]:date/time (MM/DD/YYYY,hh\:mm\:ss)' \
+-      ':link name:_dladm_links'
+-  ;;
 -
- 	("create-bridge")
- 		_arguments -A "-*" \
- 			'(-P --protect)'{-P,--protect}'[Specify a protection method]:protection method:(stp trill)' \
[email protected]@ -587,7 +584,6 @@
- 			':bridge name:'
- 		;;
+   (create-bridge)
+     _arguments -A "-*" \
+       '(-P --protect)'{-P,--protect}'[specify a protection method]:protection method:(stp trill)' \
[email protected]@ -583,7 +577,6 @@ _dladm() {
+       ':bridge name:'
+   ;;
  
 -
- 	("modify-bridge")
- 		_arguments -A "-*" \
- 			'(-P --protect)'{-P,--protect}'[Specify a protection method]:protection method:(stp trill)' \
[email protected]@ -600,7 +596,6 @@
- 			':bridge name:_dladm_bridges'
- 		;;
+   (modify-bridge)
+     _arguments -A "-*" \
+       '(-P --protect)'{-P,--protect}'[specify a protection method]:protection method:(stp trill)' \
[email protected]@ -596,14 +589,12 @@ _dladm() {
+       ':bridge name:_dladm_bridges'
+   ;;
+ 
+-
+   (delete-bridge)
+     _arguments -A "-*" \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       ':bridge name:_dladm_bridges'
+   ;;
  
 -
- 	("delete-bridge")
- 		_arguments -A "-*" \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
[email protected]@ -607,7 +602,6 @@
- 			':bridge name:_dladm_bridges'
- 		;;
+   (add-bridge|remove-bridge)
+     _arguments -A "-*" \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
[email protected]@ -611,7 +602,6 @@ _dladm() {
+       ':bridge name:_dladm_bridges'
+   ;;
  
 -
- 	("add-bridge"|"remove-bridge")
- 		_arguments -A "-*" \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
[email protected]@ -615,7 +609,6 @@
- 			':bridge name:_dladm_bridges'
- 		;;
- 
--
- 	("show-bridge")
- 		# XXX $bridge_stats_properties get added into -o completions for set1
- 		# XXX $bridge_link_stats_properties get added into -o completions for set3
[email protected]@ -644,10 +637,9 @@
- 			':bridge name:_dladm_bridges'
- 		;;
+   (show-bridge)
+     # XXX $bridge_stats_properties get added into -o completions for set1
+     # XXX $bridge_link_stats_properties get added into -o completions for set3
[email protected]@ -640,10 +630,9 @@ _dladm() {
+       ':bridge name:_dladm_bridges'
+     ;
  
 -
- 	("create-iptun")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Temporary tunnel]' \
-+			'(-t --temporary)'{-t,--temporary}'[Tunnel should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-T --type)'{-T,--type}'[Tunnel type]:tunnel type:(ipv4 ipv6 6to4)' \
- 			'(-a --address)'{-a,--address}'[Endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \
[email protected]@ -656,7 +648,7 @@
+   (create-iptun)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[temporary tunnel]' \
++      '(-t --temporary)'{-t,--temporary}'[tunnel should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-T --type)'{-T,--type}'[tunnel type]:tunnel type:(ipv4 ipv6 6to4)' \
+       '(-a --address)'{-a,--address}'[endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \
[email protected]@ -652,7 +641,7 @@ _dladm() {
  
- 	("modify-iptun")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Temporary modification]' \
-+			'(-t --temporary)'{-t,--temporary}'[Modifications should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-a --address)'{-a,--address}'[Endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \
- 			':tunnel name:_dladm_iptuns'
[email protected]@ -664,7 +656,7 @@
+   (modify-iptun)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[temporary modification]' \
++      '(-t --temporary)'{-t,--temporary}'[modifications should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-a --address)'{-a,--address}'[endpoint addresses]:address/host:_values -s , "address/host" $tunnel_values' \
+       ':tunnel name:_dladm_iptuns'
[email protected]@ -660,7 +649,7 @@ _dladm() {
  
- 	("delete-iptun")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Temporary deletion]' \
-+			'(-t --temporary)'{-t,--temporary}'[Deletion should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			':tunnel name:_dladm_iptuns'
- 		;;
[email protected]@ -681,7 +673,7 @@
+   (delete-iptun)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[temporary deletion]' \
++      '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       ':tunnel name:_dladm_iptuns'
+   ;;
[email protected]@ -677,7 +666,7 @@ _dladm() {
  
- 	("create-part")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Temporary partition]' \
-+			'(-t --temporary)'{-t,--temporary}'[Partition should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			'(-f --force)'{-f,--force}'[Force partition creation]' \
- 			'(-l --link)'{-l,--link}'[IP-over-IB physical link name]:IB link:_dladm_iblinks' \
[email protected]@ -692,7 +684,7 @@
- 
- 	("delete-part")
- 		_arguments -A "-*" \
--			'(-t --temporary)'{-t,--temporary}'[Temporary deletion]' \
-+			'(-t --temporary)'{-t,--temporary}'[Deletion should be temporary]' \
- 			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
- 			':link name:_dladm_parts'
- 		;;
[email protected]@ -714,6 +706,35 @@
- 			':IB link name:_dladm_iblinks'
- 		;;
+   (create-part)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[temporary partition]' \
++      '(-t --temporary)'{-t,--temporary}'[partition should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       '(-f --force)'{-f,--force}'[force partition creation]' \
+       '(-l --link)'{-l,--link}'[IP-over-IB physical link name]:IB link:_dladm_iblinks' \
[email protected]@ -688,7 +677,7 @@ _dladm() {
  
-+	("create-eoib")
-+		_arguments -A "-*" \
-+			'(-t --temporary)'{-t,--temporary}'[EoIB Link should be temporary]' \
-+			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
-+			'(-l --link)'{-l,--link}'[InfiniBand link]:IB link:_dladm_iblinks' \
-+			'(-g --gateway)'{-g,--gateway}'[Gateway name]:gateway name: ' \
-+			'-c[Gateway ethernet port]:gateway port: ' \
-+			':EoIB link name:'
-+		;;
-+
-+	("delete-eoib")
-+		_arguments -A "-*" \
-+			'(-t --temporary)'{-t,--temporary}'[Deletion should be temporary]' \
-+			'(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
-+			':EoIB link name:_dladm_eoiblinks'
-+		;;
+   (delete-part)
+     _arguments -A "-*" \
+-      '(-t --temporary)'{-t,--temporary}'[temporary deletion]' \
++      '(-t --temporary)'{-t,--temporary}'[deletion should be temporary]' \
+       '(-R --root)'{-R,--root}'[root directory]:directory:_path_files -/' \
+       ':link name:_dladm_parts'
+   ;;
[email protected]@ -725,6 +714,35 @@ _dladm() {
+       ':cap link'
+   ;;
+ 
++  (create-eoib)
++    _arguments -A "-*" \
++      '(-t --temporary)'{-t,--temporary}'[EoIB Link should be temporary]' \
++      '(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
++      '(-l --link)'{-l,--link}'[InfiniBand link]:IB link:_dladm_iblinks' \
++      '(-g --gateway)'{-g,--gateway}'[Gateway name]:gateway name: ' \
++      '-c[Gateway ethernet port]:gateway port: ' \
++      ':EoIB link name:'
++    ;;
 +
-+	("show-eoib")
-+		_arguments -A "-*" \
-+			'(-P --persistent)'{-P,--persistent}'[Display persistent link configuration]' \
-+			'(-p --parseable)'{-p,--parseable}'[Parseable output]' \
-+			'(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $eoib_properties' \
-+			'(-g --gateway)'{-g,--gateway}'[Gateway name]:gateway name: ' \
-+			'(-l --link)'{-l,--link}'[InfiniBand link]:IB link:_dladm_iblinks' \
-+			'-Z[Display ZONE column in output]' \
-+			'-z[zone]:zonename:_values -s , "zone" $(zoneadm list)' \
-+			':EoIB link name:_dladm_eoiblinks'
-+		;;
++  (delete-eoib)
++    _arguments -A "-*" \
++      '(-t --temporary)'{-t,--temporary}'[Deletion should be temporary]' \
++      '(-R --root)'{-R,--root}'[Root directory]:directory:_path_files -/' \
++      ':EoIB link name:_dladm_eoiblinks'
++    ;;
 +
- 	(*)
- 		_message "unknown dladm subcommand: $service"
- 		;;
---- zsh-5.0.5/Completion/Solaris/Command/_flowadm	Wed Nov 27 11:00:18 2013
-+++ zsh-5.0.5/Completion/Solaris/Command/_flowadm	Fri Mar 28 11:07:23 2014
[email protected]@ -1,5 +1,5 @@
- #compdef flowadm
--# Synced with the S11U1 build 19 man page
-+# Synced with the S11U2 build 34 man page
- 
- _flowadm() {
- 
[email protected]@ -35,6 +35,8 @@
- 
- props=(
- 	"maxbw"
-+	"priority"
-+	"hwflow"
++  (show-eoib)
++    _arguments -A "-*" \
++      '(-P --persistent)'{-P,--persistent}'[Display persistent link configuration]' \
++      '(-p --parseable)'{-p,--parseable}'[Parseable output]' \
++      '(-o --output)'{-o,--output}'[Properties to display]:property:_values -s , "property" $eoib_properties' \
++      '(-g --gateway)'{-g,--gateway}'[Gateway name]:gateway name: ' \
++      '(-l --link)'{-l,--link}'[InfiniBand link]:IB link:_dladm_iblinks' \
++      '-Z[Display ZONE column in output]' \
++      '-z[zone]:zonename:_values -s , "zone" $(zoneadm list)' \
++      ':EoIB link name:_dladm_eoiblinks'
++    ;;
++
+   (*)
+     _default
+   ;;
+diff --git a/Completion/Solaris/Command/_flowadm b/Completion/Solaris/Command/_flowadm
+index e4d682f..3dc5741 100644
+--- a/Completion/Solaris/Command/_flowadm
++++ b/Completion/Solaris/Command/_flowadm
[email protected]@ -12,7 +12,7 @@ subcmds=(
+   reset-flowprop show-flowprop
  )
+ tr=( tcp udp sctp icmp icmpv6 )
+-props=( maxbw )
++props=( maxbw priority hwflow )
  
  if [[ $service == "flowadm" ]]; then
[email protected]@ -56,7 +58,7 @@
+ 	_arguments -C -A "-*" \
[email protected]@ -33,7 +33,7 @@ case $service in
  
  	("show-flow")
  	_arguments -A "-*" \
@@ -606,45 +594,45 @@
  			'*:milestone FMRI:_svcs_fmri -m'
  		;;
  
---- zsh-5.0.5/Completion/Solaris/Command/_svcs	Wed Nov 27 11:00:18 2013
-+++ zsh-5.0.5/Completion/Solaris/Command/_svcs	Fri Mar 28 10:10:24 2014
+diff --git a/Completion/Solaris/Command/_svcs b/Completion/Solaris/Command/_svcs
+index c1f01ad..eab561a 100644
+--- a/Completion/Solaris/Command/_svcs
++++ b/Completion/Solaris/Command/_svcs
 @@ -1,4 +1,5 @@
  #compdef svcs
 +# Synced with the S11U2 build 34 man page
  
- _svcs() {
- 	local -a cols
[email protected]@ -11,19 +12,20 @@
- 	)
+ local -a cols
+ 
[email protected]@ -12,17 +13,18 @@ cols=(
+ )
  
- 	_arguments -s \
--		'(-l -x -d -D)-a[list all instances]' \
--		'(-l -x -D -a -R)-d[list dependencies]' \
--		'(-l -x -d -a -R)-D[list dependents]' \
--		'(-l -x)-H[suppress header line]' \
-+		'(-l -L -x -d -D)-a[list all instances]' \
-+		'(-l -L -x -D -a -R)-d[list dependencies]' \
-+		'(-l -L -x -d -a -R)-D[list dependents]' \
-+		'(-l -L -x)-H[suppress header line]' \
- 		'(-x -d -D -a -R -s)-l[print detailed status about services and instances]' \
--		'(-l -x)-o[display specific columns]:column:_values -s , "column" ${^cols/\:/[}\]' \
--		'(-l -x)-p[list processes]' \
--		'(-l -x -d -D)-R[list services with the given restarter]:instance FMRI:_svcs_fmri -i' \
--		'(-l -x)-s[sort by a column]:column:(($cols))' \
--		'(-l -x)-S[reverse sort by a column]:column:(($cols))' \
-+		'(-a -d -D -H -l -o -p -R -s -S)-L[print path to service logfile]' \
-+		'(-l -L -x)-o[display specific columns]:column:_values -s , "column" ${^cols/\:/[}\]' \
-+		'(-l -L -x)-p[list processes]' \
-+		'(-l -L -x -d -D)-R[list services with the given restarter]:instance FMRI:_svcs_fmri -i' \
-+		'(-l -L -x)-s[sort by a column]:column:(($cols))' \
-+		'(-l -L -x)-S[reverse sort by a column]:column:(($cols))' \
- 		'-v[verbose columns]' \
- 		'(-l)-x[display explanation for service states]' \
--		'(-l -x)-\?[print help]' \
-+		'(-l -L -x)-\?[print help]' \
- 		'*:FMRI or pattern:_svcs_fmri -i'
- }
- 
+ _arguments -s \
+-  '(-l -x -d -D)-a[list all instances]' \
+-  '(-l -x -D -a -R)-d[list dependencies]' \
+-  '(-l -x -d -a -R)-D[list dependents]' \
+-  '(-l -x)-H[suppress header line]' \
++  '(-l -L -x -d -D)-a[list all instances]' \
++  '(-l -L -x -D -a -R)-d[list dependencies]' \
++  '(-l -L -x -d -a -R)-D[list dependents]' \
++  '(-l -L -x)-H[suppress header line]' \
+   '(-x -d -D -a -R -s)-l[print detailed status about services and instances]' \
+-  '(-l -x)-o[display specific columns]:column:_values -s , "column" ${^cols/\:/[}\]' \
+-  '(-l -x)-p[list processes]' \
+-  '(-l -x -d -D)-R[list services with the given restarter]:instance FMRI:_svcs_fmri -i' \
+-  '(-l -x)-s[sort by a column]:column:(($cols))' \
+-  '(-l -x)-S[reverse sort by a column]:column:(($cols))' \
++  '(-a -d -D -H -l -o -p -R -s -S)-L[print path to service logfile]' \
++  '(-l -L -x)-o[display specific columns]:column:_values -s , "column" ${^cols/\:/[}\]' \
++  '(-l -L -x)-p[list processes]' \
++  '(-l -L -x -d -D)-R[list services with the given restarter]:instance FMRI:_svcs_fmri -i' \
++  '(-l -L -x)-s[sort by a column]:column:(($cols))' \
++  '(-l -L -x)-S[reverse sort by a column]:column:(($cols))' \
+   '-v[verbose columns]' \
+   '(-l)-x[display explanation for service states]' \
+-  '(-l -x)-\?[print help]' \
++  '(-l -L -x)-\?[print help]' \
+   '*:FMRI or pattern:_svcs_fmri -i'
 --- zsh-5.0.5/Completion/Solaris/Command/_zlogin	Wed Nov 27 11:00:18 2013
 +++ zsh-5.0.5/Completion/Solaris/Command/_zlogin	Fri Mar 28 10:06:07 2014
 @@ -1,5 +1,5 @@
--- a/components/zsh/patches/fixes.patch	Wed Dec 21 07:38:10 2016 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-Pick up a couple of post-5.2 patches from the list (so no need to push
-these upstream).
-
-Fix a segfault in zsh (workers/37337).
-
-diff --git a/Src/Zle/zle.h b/Src/Zle/zle.h
-index 2d672de..e9b1428 100644
---- a/Src/Zle/zle.h
-+++ b/Src/Zle/zle.h
[email protected]@ -213,6 +213,8 @@ struct widget {
- #define ZLE_KEEPSUFFIX	(1<<9)	/* DON'T remove added suffix */
- #define ZLE_NOTCOMMAND  (1<<10)	/* widget should not alter lastcmd */
- #define ZLE_ISCOMP      (1<<11)	/* usable for new style completion */
-+#define WIDGET_INUSE    (1<<12) /* widget is in use */
-+#define WIDGET_FREE     (1<<13) /* request to free when no longer in use */
- 
- /* thingies */
- 
-diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
-index 38427e8..1f0c07d 100644
---- a/Src/Zle/zle_main.c
-+++ b/Src/Zle/zle_main.c
[email protected]@ -1344,6 +1344,8 @@ execzlefunc(Thingy func, char **args, int set_bindk)
- 	    eofsent = 1;
- 	    ret = 1;
- 	} else {
-+	    int inuse = wflags & WIDGET_INUSE;
-+	    w->flags |= WIDGET_INUSE;
- 	    if(!(wflags & ZLE_KEEPSUFFIX))
- 		removesuffix();
- 	    if(!(wflags & ZLE_MENUCMP)) {
[email protected]@ -1367,6 +1369,12 @@ execzlefunc(Thingy func, char **args, int set_bindk)
- 		ret = w->u.fn(args);
- 		unqueue_signals();
- 	    }
-+	    if (!inuse) {
-+		if (w->flags & WIDGET_FREE)
-+		    freewidget(w);
-+		else
-+		    w->flags &= ~WIDGET_INUSE;
-+	    }
- 	    if (!(wflags & ZLE_NOTCOMMAND))
- 		lastcmd = wflags;
- 	}
[email protected]@ -1387,6 +1395,8 @@ execzlefunc(Thingy func, char **args, int set_bindk)
- 	    int osc = sfcontext, osi = movefd(0);
- 	    int oxt = isset(XTRACE);
- 	    LinkList largs = NULL;
-+	    int inuse = w->flags & WIDGET_INUSE;
-+	    w->flags |= WIDGET_INUSE;
- 
- 	    if (*args) {
- 		largs = newlinklist();
[email protected]@ -1402,8 +1412,15 @@ execzlefunc(Thingy func, char **args, int set_bindk)
- 	    opts[XTRACE] = oxt;
- 	    sfcontext = osc;
- 	    endparamscope();
--	    lastcmd = w->flags;
--	    w->flags = 0;
-+	    lastcmd = w->flags & ~(WIDGET_INUSE|WIDGET_FREE);
-+	    if (inuse) {
-+		w->flags &= WIDGET_INUSE|WIDGET_FREE;
-+	    } else {
-+		if (w->flags & WIDGET_FREE)
-+		    freewidget(w);
-+		else
-+		    w->flags = 0;
-+	    }
- 	    r = 1;
- 	    redup(osi, 0);
- 	}
-diff --git a/Src/Zle/zle_thingy.c b/Src/Zle/zle_thingy.c
-index 271fd8e..21495b6 100644
---- a/Src/Zle/zle_thingy.c
-+++ b/Src/Zle/zle_thingy.c
[email protected]@ -253,9 +253,14 @@ unbindwidget(Thingy t, int override)
- /* Free a widget. */
- 
- /**/
--static void
-+void
- freewidget(Widget w)
- {
-+    if (w->flags & WIDGET_INUSE) {
-+	w->flags |= WIDGET_FREE;
-+	return;
-+    }
-+
-     if (w->flags & WIDGET_NCOMP) {
- 	zsfree(w->u.comp.wid);
- 	zsfree(w->u.comp.func);
-
-
-Fix a bug with bindkey and unicode characters (users/21071).
-
-diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
-index 069580f..d6d116b 100644
---- a/Src/Zle/zle_keymap.c
-+++ b/Src/Zle/zle_keymap.c
[email protected]@ -1503,7 +1503,7 @@ getkeymapcmd(Keymap km, Thingy *funcp, char **strp)
- 		    f->widget->flags & ZLE_VIOPER);
- #ifdef MULTIBYTE_SUPPORT
- 	    if ((f == Th(z_selfinsert) || f == Th(z_selfinsertunmeta)) &&
--		!lastchar_wide_valid) {
-+		!lastchar_wide_valid && !ispfx) {
- 		int len;
- 		VARARR(char, mbc, MB_CUR_MAX);
- 		ZLE_INT_T inchar = getrestchar(lastchar, mbc, &len);
-
-
-_subscript - fix completion of associative array keys (workers/37788)
-
-diff --git a/Completion/Zsh/Context/_subscript b/Completion/Zsh/Context/_subscript
-index 0ccc0c4..679f129 100644
---- a/Completion/Zsh/Context/_subscript
-+++ b/Completion/Zsh/Context/_subscript
[email protected]@ -81,8 +81,8 @@ elif compset -P '\('; then
- elif [[ ${(Pt)${compstate[parameter]}} = assoc* ]]; then
-   local suf MATCH MBEGIN MEND
-   local -a keys
--  keys=(${${(kP)compstate[parameter]}//(#m)[\$\\\[\]\(\)\[\{\}]/\\$MATCH})
--  keys=(${keys//#%(#m)[*@]/(e)$MATCH})
-+  keys=("${(@)${(@k)${(P)compstate[parameter]}}//(#m)[\$\\\[\]\(\)\[\{\}]/\\$MATCH}")
-+  keys=("${(@)keys//#%(#m)[*@]/(e)$MATCH}")
-   [[ "$RBUFFER" != (|\\)\]* ]] && suf="$osuf"
- 
-   _wanted association-keys expl 'association key' \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/zsh/patches/misc.patch	Thu Jan 19 14:29:43 2017 -0800
@@ -0,0 +1,34 @@
+Fix a crash when completing with _values after an =.  Fixed upstream
+post-5.3.1, posted in zsh-workers 40362.
+
+diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
+index 7bf9535..5b9ceec 100644
+--- a/Src/Zle/computil.c
++++ b/Src/Zle/computil.c
[email protected]@ -3569,8 +3569,8 @@ bin_compvalues(char *nam, char **args, UNUSED(Options ops), UNUSED(int func))
+ 	    Cvval val = cv_get_val(cv_laststate.d, args[1]);
+ 
+ 	    if (val && val->arg) {
+-		setsparam(args[2], val->arg->descr);
+-		setsparam(args[3], val->arg->action);
++		setsparam(args[2], ztrdup(val->arg->descr));
++		setsparam(args[3], ztrdup(val->arg->action));
+ 
+ 		if (args[4])
+ 		    setsparam(args[4], ztrdup(val->name));
+
+Reduce noise in completion when POSIX_IDENTIFIERS is set.  Fixed upstream
+post-5.3.1, posted in zsh-workers 40372
+
+diff --git a/Completion/compinit b/Completion/compinit
+index 2715c47..cc663cb 100644
+--- a/Completion/compinit
++++ b/Completion/compinit
[email protected]@ -154,6 +154,7 @@ _comp_options=(
+     NO_markdirs
+     NO_octalzeroes
+     NO_posixbuiltins
++    NO_posixidentifiers
+     NO_shwordsplit
+     NO_shglob
+     NO_warncreateglobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/zsh/patches/watch.patch	Thu Jan 19 14:29:43 2017 -0800
@@ -0,0 +1,151 @@
+This patch was submitted upstream by Jens Elkner, who reported it on #pkg5;
+it was accepted after the 5.3.1 release.
+
+--- zsh-5.0.7/Src/watch.c.orig	Thu Jul 31 20:41:49 2014
++++ zsh-5.0.7/Src/watch.c	Wed Jan 11 16:37:49 2017
[email protected]@ -87,6 +87,9 @@
+ 
+ #if !defined(WATCH_STRUCT_UTMP) && defined(HAVE_STRUCT_UTMPX) && defined(REAL_UTMPX_FILE)
+ # define WATCH_STRUCT_UTMP struct utmpx
++# define setutent setutxent
++# define getutent getutxent
++# define endutent endutxent 
+ /*
+  * In utmpx, the ut_name field is replaced by ut_user.
+  * Howver, on some systems ut_name may already be defined this
[email protected]@ -141,9 +144,9 @@
+ #  define WATCH_WTMP_FILE "/dev/null"
+ # endif
+ 
+-static int wtabsz;
+-static WATCH_STRUCT_UTMP *wtab;
+-static time_t lastutmpcheck;
++static int wtabsz = 0;
++static WATCH_STRUCT_UTMP *wtab = NULL;
++static time_t lastutmpcheck = 0;
+ 
+ /* get the time of login/logout for WATCH */
+ 
[email protected]@ -449,34 +452,44 @@
+ /* initialize the user List */
+ 
+ /**/
+-static void
+-readwtab(void)
++static int
++readwtab(WATCH_STRUCT_UTMP **head, int initial_sz)
+ {
+-    WATCH_STRUCT_UTMP *uptr;
+-    int wtabmax = 32;
+-    FILE *in;
++    WATCH_STRUCT_UTMP *uptr, *tmp;
++    int wtabmax = initial_sz < 2 ? 32 : initial_sz;
++    int sz = 0;
+ 
+-    wtabsz = 0;
+-    if (!(in = fopen(WATCH_UTMP_FILE, "r")))
+-	return;
+-    uptr = wtab = (WATCH_STRUCT_UTMP *)zalloc(wtabmax * sizeof(WATCH_STRUCT_UTMP));
+-    while (fread(uptr, sizeof(WATCH_STRUCT_UTMP), 1, in))
++
++    uptr = *head = (WATCH_STRUCT_UTMP *)zalloc(wtabmax * sizeof(WATCH_STRUCT_UTMP));
++	setutent();
++    while ((tmp = getutent()) != NULL)
+ # ifdef USER_PROCESS
+-	if   (uptr->ut_type == USER_PROCESS)
++	if   (tmp->ut_type == USER_PROCESS)
+ # else /* !USER_PROCESS */
+-	if   (uptr->ut_name[0])
++	if   (tmp->ut_name[0])
+ # endif /* !USER_PROCESS */
+ 	{
++		memcpy(uptr, tmp, sizeof (WATCH_STRUCT_UTMP));
+ 	    uptr++;
+-	    if (++wtabsz == wtabmax)
+-		uptr = (wtab = (WATCH_STRUCT_UTMP *)realloc((void *) wtab, (wtabmax *= 2) *
+-						      sizeof(WATCH_STRUCT_UTMP))) + wtabsz;
++	    if (++sz == wtabmax) {
++			uptr = (WATCH_STRUCT_UTMP *)
++				realloc(*head, (wtabmax *= 2) * sizeof(WATCH_STRUCT_UTMP));
++			if (uptr == NULL) {
++				/* memory pressure - so stop consuming and use, what we have
++				 * Other option is to exit() here, as zmalloc does on error */
++				sz--;
++				break;
++			}
++			*head = uptr;
++			uptr += sz;
++		}
+ 	}
+-    fclose(in);
++    endutent();
+ 
+-    if (wtabsz)
+-	qsort((void *) wtab, wtabsz, sizeof(WATCH_STRUCT_UTMP),
++    if (sz)
++	qsort((void *) *head, sz, sizeof(WATCH_STRUCT_UTMP),
+ 	           (int (*) _((const void *, const void *)))ucmp);
++	return sz;
+ }
+ 
+ /* Check for login/logout events; executed before *
[email protected]@ -486,55 +499,28 @@
+ void
+ dowatch(void)
+ {
+-    FILE *in;
+     WATCH_STRUCT_UTMP *utab, *uptr, *wptr;
+     struct stat st;
+     char **s;
+     char *fmt;
+-    int utabsz = 0, utabmax = wtabsz + 4;
+-    int uct, wct;
++    int utabsz, uct, wct;
+ 
+     s = watch;
+ 
+     holdintr();
+-    if (!wtab) {
+-	readwtab();
+-	noholdintr();
+-	return;
+-    }
++    if (!wtab)
++	wtabsz = readwtab(&wtab, 32);
+     if ((stat(WATCH_UTMP_FILE, &st) == -1) || (st.st_mtime <= lastutmpcheck)) {
+ 	noholdintr();
+ 	return;
+     }
+     lastutmpcheck = st.st_mtime;
+-    uptr = utab = (WATCH_STRUCT_UTMP *) zalloc(utabmax * sizeof(WATCH_STRUCT_UTMP));
+-
+-    if (!(in = fopen(WATCH_UTMP_FILE, "r"))) {
+-	free(utab);
+-	noholdintr();
+-	return;
+-    }
+-    while (fread(uptr, sizeof *uptr, 1, in))
+-# ifdef USER_PROCESS
+-	if (uptr->ut_type == USER_PROCESS)
+-# else /* !USER_PROCESS */
+-	if (uptr->ut_name[0])
+-# endif /* !USER_PROCESS */
+-	{
+-	    uptr++;
+-	    if (++utabsz == utabmax)
+-		uptr = (utab = (WATCH_STRUCT_UTMP *)realloc((void *) utab, (utabmax *= 2) *
+-						      sizeof(WATCH_STRUCT_UTMP))) + utabsz;
+-	}
+-    fclose(in);
++    utabsz = readwtab(&utab, wtabsz + 4);
+     noholdintr();
+     if (errflag) {
+ 	free(utab);
+ 	return;
+     }
+-    if (utabsz)
+-	qsort((void *) utab, utabsz, sizeof(WATCH_STRUCT_UTMP),
+-	           (int (*) _((const void *, const void *)))ucmp);
+ 
+     wct = wtabsz;
+     uct = utabsz;
--- a/components/zsh/zsh.p5m	Wed Dec 21 07:38:10 2016 -0800
+++ b/components/zsh/zsh.p5m	Thu Jan 19 14:29:43 2017 -0800
@@ -19,7 +19,7 @@
 #
 
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
@@ -36,7 +36,7 @@
 set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
 set name=info.upstream value="Zsh Development Group <[email protected]>"
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
-set name=org.opensolaris.arc-caseid value=PSARC/2007/533
+set name=org.opensolaris.arc-caseid value=PSARC/2007/533 value=PSARC/2017/010
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 link path=etc/zprofile target=profile
 file path=etc/zshrc mode=0644 overlay=allow preserve=true
@@ -129,13 +129,17 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_bsdinstall
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_chflags
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_csup
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_cu
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_cvsup
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_fetch
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_freebsd-update
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_fstat
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_fw_update
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_gstat
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_jails
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_jexec
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_jls
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_jot
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_kld
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_mixerctl
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_pfctl
@@ -145,7 +149,9 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_portsnap
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_powerd
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_procstat
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_rcctl
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_sockstat
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_sysrc
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_systat
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/BSD/_watch-snoop
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Base/_all_labels
@@ -249,6 +255,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Debian/_dcut
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Debian/_deb_architectures
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Debian/_deb_packages
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Debian/_debbugs_bugnumber
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Debian/_debchange
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Debian/_debcheckout
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Debian/_debdiff
@@ -291,22 +298,29 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_brctl
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_btrfs
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_chrt
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_cpupower
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_cryptsetup
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_ethtool
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_fuse_arguments
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_fuse_values
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_fusermount
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_gpasswd
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_htop
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_iconvconfig
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_ionice
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_ipset
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_iptables
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_iwconfig
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_kpartx
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_losetup
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_lsusb
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_ltrace
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_mdadm
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_mii-tool
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_modutils
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_mondo
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_nmcli
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_pidof
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_pkgtool
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_rpmbuild
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Linux/_schedtool
@@ -356,6 +370,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Solaris/_zones
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_a2ps
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_aap
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_absolute_command_paths
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_adb
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ant
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_antiword
@@ -369,8 +384,10 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_attr
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_augeas
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_awk
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_baudrates
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_baz
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_beep
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_bibtex
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_bind_addresses
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_bison
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_bittorrent
@@ -401,6 +418,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_cp
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_cpio
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_cplay
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_cscope
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_cssh
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ctags_tags
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_curl
@@ -419,10 +437,13 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_diff
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_diff_options
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_diffstat
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_dig
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_dir_list
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_directories
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_django
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_dmesg
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_dmidecode
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_doas
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_domains
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_dsh
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_du
@@ -476,6 +497,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_groups
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_growisofs
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_gs
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_gsettings
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_guilt
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_gzip
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_have_glob_qual
@@ -489,6 +511,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_imagemagick
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_init_d
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_initctl
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_iostat
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ip
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_irssi
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ispell
@@ -504,11 +527,14 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ldd
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_less
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_lha
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_libvirt
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_links
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_list_files
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_lldb
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ln
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_loadkeys
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_locale
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_localedef
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_locales
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_locate
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_look
@@ -553,7 +579,9 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_npm
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_nslookup
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_objdump
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_object_files
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_od
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_openstack
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_other_accounts
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_pack
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_patch
@@ -570,6 +598,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_perldoc
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_pgrep
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_php
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_picocom
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_pids
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_pine
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ping
@@ -615,6 +644,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_samba
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_sccs
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_screen
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_script
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_sed
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_service
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_services
@@ -637,6 +667,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_subversion
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_sudo
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_surfraw
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_sys_calls
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_sysctl
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_tail
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_tar
@@ -658,11 +689,15 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_tmux
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_todo.sh
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_toilet
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_top
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_topgit
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_totd
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_touch
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_tput
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_tr
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_tracepath
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_tree
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_truss
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_ttys
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_twidge
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_twisted
@@ -711,6 +746,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Unix/_zsh
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_acroread
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_dcop
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_evince
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_gnome-gv
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_gqview
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_gv
@@ -765,6 +801,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_xterm
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_xv
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/X/_xwit
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_add-zle-hook-widget
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_add-zsh-hook
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_alias
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_aliases
@@ -779,6 +816,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_command_names
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_compadd
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_compdef
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_completers
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_condition
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_default
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_delimiters
@@ -845,6 +883,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_vars
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_wait
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_which
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_widgets
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_zargs
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_zattr
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Completion/Zsh/_zcalc
@@ -874,6 +913,8 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/MIME/zsh-mime-contexts
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/MIME/zsh-mime-handler
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/MIME/zsh-mime-setup
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Math/zmathfunc
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Misc/add-zle-hook-widget
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Misc/add-zsh-hook
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Misc/allopt
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Misc/checkmail
@@ -973,9 +1014,11 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_check_com
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_formats
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_get_cmd
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_hexdump
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_hook
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_maxexports
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_nvcsformats
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_patch2subject
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_quilt
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_realpath
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/VCS_Info/VCS_INFO_reposub
@@ -1056,6 +1099,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/replace-string-again
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/select-bracketed
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/select-quoted
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/select-word-match
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/select-word-style
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/send-invisible
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/smart-insert-last-word
@@ -1066,6 +1110,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/up-case-word-match
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/up-line-or-beginning-search
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/url-quote-magic
+file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/vi-pipe
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/which-command
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/zcalc-auto-insert
 file path=usr/share/zsh/$(COMPONENT_VERSION)/functions/Zle/zed-set-file-name
@@ -1179,6 +1224,7 @@
 file path=usr/share/zsh/$(COMPONENT_VERSION)/help/ztcp
 file path=usr/share/zsh/$(COMPONENT_VERSION)/scripts/newuser
 dir  path=usr/share/zsh/site-functions
+dir  path=usr/share/zsh/vendor-functions/Completion
 license vorbiscomment.license license=MIT
 license pattern.license license="University of Toronto"
 license license license="Zsh License"