+) | zpm shell $target
+}
+
+# check for already merged packages
+if [ $update -eq 0 ] && [ $only_if_newer -eq 0 ]; then
+ have=$(filter_have $pkglist)
+ if [ -n "$have" ]; then
+ die "already merged: $have"
+ fi
+fi
+
+if [ $update -eq 0 ]; then
+ pkglist=$(filter_out_have $pkglist)
+fi
+
+if [ $only_if_newer -eq 1 ]; then
+ pkglist=$(filter_newer $pkglist)
+ if [ -z "$pkglist" ]; then
+ exit 0
+ fi
+fi