Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[PATCH] remove obsolete functions



are there any objections to getting rid of these?

(note that the last modification date is often deceptive, usually it's
just bulk localising variables or something)

- _acroread -- tool abandoned in 2013
- _arg_compile -- last updated in 2001, no results on-line since
- _auto-apt -- tool abandoned in 2014, last packaged in 2016
- _clay -- language abandoned in 2014
- _cplay -- last compatible implementation abandoned in 2021
- _dcop -- framework discontinued with kde 4 (2008)
- _fsh -- tool abandoned in 2001
- _gqview -- tool abandoned in 2006
- mere/_mere -- last updated 2004, no results on-line
- _moosic -- tool abandoned in 2011
- _netscape -- browser discontinued in 2008? at the latest?
- _SUSEconfig -- tool discontinued with opensuse 12.3 (2013)
- _twidge -- tool abandoned in 2016, presumably doesn't work now

dana


diff --git a/Completion/Base/Utility/_arg_compile b/Completion/Base/Utility/_arg_compile
deleted file mode 100644
index e37c869ee..000000000
--- a/Completion/Base/Utility/_arg_compile
+++ /dev/null
@@ -1,199 +0,0 @@
-#autoload
-
-# A simple compiler for _arguments descriptions.  The first argument of
-# _arg_compile is the name of an array parameter in which the parse is
-# returned.  The remaining arguments form a series of `phrases'.  Each
-# `phrase' begins with one of the keywords "argument", "option", or "help"
-# and consists of a series of keywords and/or values.  The syntax is as
-# free-form as possible, but "argument" phrases generally must appear in
-# the same relative position as the corresponding argument on the command
-# line to be completed, and there are some restrictions on ordering of
-# keywords and values within each phrase.
-#
-# Anything appearing before the first phrase or after the last is passed
-# through verbatim.  (See TODO.)  If more detailed mixing of compiled and
-# uncompiled fragments is necessary, use two or more calls, either with
-# different array names or by passing the output of each previous call
-# through the next.
-#
-# In the documentation below, brackets [ ] indicate optional elements and
-# braces { } indicate elements that may be repeated zero or more times.
-# Except as noted, bracketed or braced elements may appear in any order
-# relative to each other, but tokens within each element are ordered.
-#
-#   argument [POS] [means MSG] [action ACT]
-#
-#     POS may be an integer N for the Nth argument or "*" for all, and
-#      must appear first if it appears at all.
-#     MSG is a string to be displayed above the matches in a listing.
-#     ACT is (currently) as described in the compsys manual.
-#
-#   option OPT [follow HOW] [explain STR] {unless XOR} \
-#    {[means MSG] [action ACT]} [through PAT [means MSG] [action ACT]]
-#
-#     OPT is the option, prefixed with "*" if it may appear more than once.
-#     HOW refers to a following argument, and may be one of:
-#       "close"   must appear in the same word (synonyms "join" or "-")
-#       "next"    the argument must appear in the next word (aka "split")
-#       "loose"   the argument may appear in the same or the next word ("+")
-#       "assign"  as loose, but must follow an "=" in the same word ("=")
-#     HOW should be suffixed with a colon if the following argument is
-#      _not_ required to appear.
-#     STR is to be displayed based on style `description'
-#     XOR is another option in combination with which OPT may not appear.
-#      It may be ":" to disable non-option completions when OPT is present.
-#     MSG is a string to be displayed above the matches in a listing.
-#     ACT is (currently) as described in the compsys manual.
-#     PAT is either "*" for "all remaining words on the line" or a pattern
-#      that, if matched, marks the end of the arguments of this option.
-#      The "through PAT ..." description must be the last.
-#     PAT may be suffixed with one colon to narrow the $words array to
-#      the remainder of the command line, or with two colons to narrow
-#      to the words before (not including) the next that matches PAT.
-#
-#   help PAT [means MSG] action ACT
-#
-#     ACT is applied to any option output by --help that matches PAT.
-#      Do not use "help" with commands that do not support --help.
-#     PAT may be suffixed with a colon if the following argument is
-#      _not_ required to appear (this is usually inferred from --help).
-#     MSG is a string to be displayed above the matches in a listing.
-
-# EXAMPLE:
-# This is from _gprof in the standard distribution.  Note that because of
-# the brace expansion trick used in the "function name" case, no attempt
-# is made to use `phrase' form; that part gets passed through unchanged.
-# It could simply be moved to the _arguments call ahead of "$args[@]".
-#
-# _arg_compile args -s -{a,b,c,D,h,i,l,L,s,T,v,w,x,y,z} \
-#              -{A,C,e,E,f,F,J,n,N,O,p,P,q,Q,Z}:'function name:->funcs' \
-#              option -I means directory action _dir_list \
-#              option -d follow close means "debug level" \
-#              option -k means "function names" action '->pair' \
-#              option -m means "minimum execution count" \
-#              argument means executable action '_files -g \*\(-\*\)' \
-#              argument means "profile file" action '_files -g gmon.\*' \
-#              help '*=name*' means "function name" action '->funcs' \
-#              help '*=dirs*' means "directory" action _dir_list
-# _arguments "$args[@]"
-
-# TODO:
-# Verbose forms of various actions, e.g. (but not exactly)
-#   "state foo"                  becomes "->foo"
-#   "completion X explain Y ..." becomes "((X\:Y ...))"
-#   etc.
-# Represent leading "*" in OPT some other way.
-# Represent trailing colons in HOW and PAT some other way.
-# Stricter syntax checking on HOW, sanity checks on XOR.
-# Something less obscure than "unless :" would be nice.
-# Warning or other syntax check for stuff after the last phrase.
-
-emulate -L zsh
-local -h argspec dspec helpspec prelude xor
-local -h -A amap dmap safe
-
-[[ -n "$1" ]] || return 1
-[[ ${(tP)${1}} = *-local ]] && { print -R NAME CONFLICT: $1 1>&2; return 1 }
-safe[reply]="$1"; shift
-
-# First consume and save anything before the argument phrases
-
-helpspec=()
-prelude=()
-
-while (($#))
-do
-  case $1 in
-  (argument|help|option) break;;
-  (*) prelude=("$prelude[@]" "$1"); shift;;
-  esac
-done
-
-# Consume all the argument phrases and build the argspec array
-
-while (($#))
-do
-  amap=()
-  dspec=()
-  case $1 in
-
-  # argument [POS] [means MSG] [action ACT]
-  (argument)
-    shift
-    while (($#))
-    do
-      case $1 in
-      (<1->|\*) amap[position]="$1"; shift;;
-      (means|action) amap[$1]="$2"; shift 2;;
-      (argument|option|help) break;;
-      (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;;
-      esac
-    done
-    if (( $#amap ))
-    then
-      argspec=("$argspec[@]" "${amap[position]}:${amap[means]}:${amap[action]}")
-    fi;;
-
-  # option OPT [follow HOW] [explain STR] {unless XOR} \
-  #  {[through PAT] [means MSG] [action ACT]}
-  (option)
-    amap[option]="$2"; shift 2
-    dmap=()
-    xor=()
-    while (( $# ))
-    do
-      (( ${+amap[$1]} || ${+dmap[through]} )) && break;
-      case $1 in
-      (follow)
-	amap[follow]="${2:s/join/-/:s/close/-/:s/next//:s/split//:s/loose/+/:s/assign/=/:s/none//}"
-	shift 2;;
-      (explain) amap[explain]="[$2]" ; shift 2;;
-      (unless) xor=("$xor[@]" "${(@)=2}"); shift 2;;
-      (through|means|action)
-	while (( $# ))
-	do
-	  (( ${+dmap[$1]} )) && break 2
-	  case $1 in
-	  (through|means|action) dmap[$1]=":${2}"; shift 2;;
-	  (argument|option|help|follow|explain|unless) break;;
-	  (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;;
-	  esac
-	done;;
-      (argument|option|help) break;;
-      (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;;
-      esac
-      if (( $#dmap ))
-      then
-	dspec=("$dspec[@]" "${dmap[through]}${dmap[means]:-:}${dmap[action]:-:}")
-      fi
-    done
-    if (( $#amap ))
-    then
-      argspec=("$argspec[@]" "${xor:+($xor)}${amap[option]}${amap[follow]}${amap[explain]}${dspec}")
-    fi;;
-
-  # help PAT [means MSG] action ACT
-  (help)
-    amap[pattern]="$2"; shift 2
-    while (($#))
-    do
-      (( ${+amap[$1]} )) && break;
-      case $1 in
-      (means|action) amap[$1]="$2"; shift 2;;
-      (argument|option|help) break;;
-      (*) print -R SYNTAX ERROR at "$@" 1>&2; return 1;;
-      esac
-    done
-    if (( $#amap ))
-    then
-      helpspec=("$helpspec[@]" "${amap[pattern]}:${amap[means]}:${amap[action]}")
-    fi;;
-  (*) break;;
-  esac
-done
-
-eval $safe[reply]'=( "${prelude[@]}" "${argspec[@]}" ${helpspec:+"-- ${helpspec[@]}"} "$@" )'
-
-# print -R _arguments "${prelude[@]:q}" "${argspec[@]:q}" ${helpspec:+"-- ${helpspec[@]:q}"} "$@:q"
-
-return 0
diff --git a/Completion/Debian/Command/_auto-apt b/Completion/Debian/Command/_auto-apt
deleted file mode 100644
index 2e6dccbc1..000000000
--- a/Completion/Debian/Command/_auto-apt
+++ /dev/null
@@ -1,31 +0,0 @@
-#compdef auto-apt
-
-local expl prev="$words[CURRENT-1]"
-
-# if there is a command in arguments ?
-if [[ -n $words[(r)(run|update|update-local|merge|del|check|list|search|debuilt|status)] ]] ; then
-
-  # yes, add completion for command arguments and command options
-  if [[ -n $words[(r)(update|update-local|merge)] && "$words[CURRENT]" = -* ]] ; then
-    _wanted option expl 'option' compadd - "-a" && return;
-  fi
-
-  if [[ -n $words[(r)(check|list|search)] && "$words[CURRENT]" = -* ]] ; then
-    _wanted option expl 'option' compadd - "-v" "-f" && return;
-  fi
-
-  case $prev in
-    run) _wanted command expl 'command' _files -g '*(/,*)' && return ;;
-    del) _wanted package expl 'package' _deb_packages avail && return ;;
-  esac
-else
-  _arguments \
-    '-a:distribution:_values -s , distribution main contrib non-free non-US none' \
-    '-p:hook:_values -s , hook exec open access stat none' \
-    '-D:dbfile:_files' \
-    '-F:filedb:_files' \
-    -h -s -y -q -i -X -x -L \
-    '*:command:(run update update-local merge del check list search debuild status)' && return
-fi
-
-return 1
diff --git a/Completion/Mandriva/Command/_rebootin b/Completion/Mandriva/Command/_rebootin
deleted file mode 100644
index 284ff08f1..000000000
--- a/Completion/Mandriva/Command/_rebootin
+++ /dev/null
@@ -1,29 +0,0 @@
-#compdef rebootin
-
-local context state line expl
-typeset -A opt_args
-local loader=${$(_call_program -p entries detectloader -q):-GRUB}
-
-_arguments -s \
-    '-n[no immediate reboot just set the flags for next reboot]' \
-    '-f[create a /fastboot file to reboot in fastboot mode]' \
-    '*::arguments:->loader_entry'
-
-case $state in
-  loader_entry)
-    case $loader in
-      GRUB)
-	if [ -r /boot/grub/menu.lst ]; then
-	  _wanted -C $context entries expl entry \
-	      compadd ${${(M)${(f)"$(</boot/grub/menu.lst)"}##title *}#title }
-	fi
-      ;;
-      LILO)
-	if [ -r /etc/lilo.conf ]; then
-	  _wanted -C $context entries expl entry \
-	      compadd $(awk -F= '{ if ($0 ~ /label=/) print $2 }' /etc/lilo.conf)
-	fi
-      ;;
-    esac
-  ;;
-esac
diff --git a/Completion/Unix/Command/_clay b/Completion/Unix/Command/_clay
deleted file mode 100644
index 581338b8b..000000000
--- a/Completion/Unix/Command/_clay
+++ /dev/null
@@ -1,42 +0,0 @@
-#compdef clay
-
-# Completion for the Clay Programming Language
-# http://claylabs.com/clay/
-
-_arguments -C \
-  "-o:specify output file:_files" \
-  "-target:set target platform for code generation" \
-  "-shared[create a dynamically linkable library]" \
-  "-emit-llvm[emit llvm code]" \
-  "-S[emit assembler code]" \
-  "-c[emit object code]" \
-  "-D-:set flag value" \
-  "-O-:set optimization level:(0 1 2 3)" \
-  "-g[keep debug symbol information]" \
-  "-exceptions[enable exception handling]" \
-  "-no-exceptions[disable exception handling]" \
-  "-inline[inline procedures marked 'forceinline']" \
-  "-no-inline[ignore 'inline' and 'forceinline' keyword]" \
-  "-import-externals[include externals from imported modules]" \
-  "-no-import-externals[don't include externals from imported modules]" \
-  "-pic[generate position independent code]" \
-  "-abort[abort on error (to get stacktrace in gdb)]" \
-  "-run[execute the program without writing to disk]" \
-  "-timing[show timing information]" \
-  "-full-match-errors[show universal patterns in match failure errors]" \
-  "-log-match:log overload matching behavior for calls" \
-  "-arch:build for Darwin architecture <arch>" \
-  "-F-:add <dir> to framework search path:_files -/" \
-  "-framework:link with framework <name>" \
-  "-L:add <dir> to library search path:_files -/" \
-  "-Wl,-:pass flags to linker" \
-  "-l-:link with library <lib>" \
-  "-I+:add <path> to clay module search path:_files -/" \
-  "-deps[keep track of the dependencies of the currently]" \
-  "-no-deps[don't generate dependencies file]" \
-  "-o-deps:write the dependencies to this file" \
-  "-e:compile and run <source> (implies -run)" \
-  "-M-:import <module>.*; for -e" \
-  "-v[display version info]" \
-  ":program file:_files -g '*.clay(-.)'"
-
diff --git a/Completion/Unix/Command/_cplay b/Completion/Unix/Command/_cplay
deleted file mode 100644
index f1755c1a1..000000000
--- a/Completion/Unix/Command/_cplay
+++ /dev/null
@@ -1,8 +0,0 @@
-#compdef cplay
-
-_arguments -s \
-  '-n[enable restricted mode]' \
-  '-r[toggle playlist repeat mode]' \
-  '-R[toggle playlist random mode]' \
-  '-v[toggle PCM and MASTER volume control]' \
-  '*:playlist or directory or audio file:_files -g "*.(mp3|mp2|ogg|669|amf|ams|dsm|far|it|med|mod|mt2|mtm|okt|s3m|stm|ult|gdm|xm|m3u|pls|spx|wav|au)(-.)"'
diff --git a/Completion/Unix/Command/_fsh b/Completion/Unix/Command/_fsh
deleted file mode 100644
index c39373117..000000000
--- a/Completion/Unix/Command/_fsh
+++ /dev/null
@@ -1,22 +0,0 @@
-#compdef fsh
-
-local curcontext="$curcontext" state line ret=1
-local -a _comp_priv_prefix
-
-_arguments -C \
-  '(- : *)'{-h,--help}'[display help information]' \
-  '(- : *)'{-V,--version}'[display version information]' \
-  '-r[specify method]:method:(rsh ssh)' \
-  '-l[specify login id]:login:_users' \
-  '(-T --timeout)'{-T,--timeout}':idle timeout:' \
-  ':remote host name:_hosts' \
-  '(-):command: _command_names -e' \
-  '*::args:->command' && ret=0
-
-if [[ -n "$state" ]]; then
-  shift 1 words
-  (( CURRENT-- ))
-  _normal && ret=0
-fi
-
-return ret
diff --git a/Completion/Unix/Command/_moosic b/Completion/Unix/Command/_moosic
deleted file mode 100644
index 475a0c75c..000000000
--- a/Completion/Unix/Command/_moosic
+++ /dev/null
@@ -1,487 +0,0 @@
-#compdef moosic
-
-_moosic_add_cmds() {
-
-    # querying for information
-    typeset -a queries
-    queries=(
-    "help:print brief description of command"
-    "current:print name of currently playing song"
-    "current-time:print the amount of time the current song has been playing"
-    "list:print the list of items in the current song queue"
-    "plainlist:print the current song queue without numbering each line"
-    "history:print a list of items that were recently played"
-    {status,state}":print the current state of the music daemon"
-    "length:print the number of items in the queue"
-    "ispaused:show whether the current song is paused or not"
-    "islooping:show whether the server is in loop mode"
-    "isadvancing:show whether the server is advancing through the song queue"
-    "version:print version information for client and server"
-    )
-
-
-    # appending to song queue
-    typeset -a appending
-    appending=(
-    {append,add}":add the files to be played to the end of the song queue"
-    {pl-append,pl-add}":add the items listed in the given playlist files to end of queue"
-    "prepend:add the files to be played to the beginning of the song queue"
-    "pl-prepend:add the items in the given playlist files to beginning of queue"
-    "mixin:add the files to the song queue and reshuffle the entire queue"
-    "pl-mixin:add items in given playlist files to song queue and reshuffle the entire queue"
-    "replace:replace the current contents of the song queue with files listed"
-    "pl-replace:replace current contents of song queue with songs given in playlists"
-    "insert:insert the given items at a given point in the song queue"
-    "pl-insert:insert items from playlist files at specified point in queue"
-    "putback:reinsert current song at start of song queue"
-    "stagger-add:adds file list to end of queue after rearranging queue into staggered order"
-    "stagger-merge:adds given file list to queue in interleaved fashion"
-    "interval-add:inserts given songs with regular frequency specified by interval argument"
-    )
-
-    # removing
-    typeset -a removing
-    removing=(
-    {cut,del}":removes all song queue items in given range"
-    "crop:removes all song queue items that do not fall within given range"
-    "remove:remove all song queue items matching any one of given regexps"
-    "filter:remove all queue items not matching all given regexps"
-    "clear:clear song queue"
-    "wipe:clear song queue and stop current song"
-    )
-
-    # rearranging
-    typeset -a rearranging
-    rearranging=(
-    "move:move all items in given range to new position in song queue"
-    "move-pattern:moves all items matching the given regexp to new position"
-    "swap:trade places of songs in two specified ranges"
-    {shuffle,reshuffle}":reshuffle song queue within an optional range"
-    "sort:sort queue within optional range"
-    "reverse:reverse order of song queue"
-    "partial-sort:sort items matching each regexp"
-    "stagger:stagger items matching each regexp"
-    "sub:perform regular expression substitution on all items in queue"
-    "suball:like sub, but replace all occurrences of the pattern"
-    )
-
-    # general management
-    typeset -a general
-    general=(
-    "next:jumps ahead, number of songs optional"
-    "previous:retreats to previously played song"
-    "goto:jumps to next song matching regexp"
-    "gobackto:jumps back to most recent previous song matching regexp"
-    "noadvance:halt queue advancement"
-    "advance:resume queue advancement"
-    "toggle-advance:toggle queue advancement"
-    "stop:stop playing current song, stop processing queue, put current song back"
-    "pause:suspend current song to resume it later"
-    "unpause:unpause current song"
-    "play:resume playing"
-    "loop:turn loop mode on"
-    "noloop:turn loop mode off"
-    "toggle-loop:toggle loop mode"
-    "reconfigure:daemon reload configuration file"
-    "showconfig:show daemon filetype associations"
-    "start-server:starts new instance of daemon with given options"
-    {quit,exit,die}":quit daemon"
-    )
-
-    _describe queries queries -J queries
-    _describe appending appending -J appending
-    _describe removing removing -J removing
-    _describe rearranging rearranging -J rearranging
-    _describe general general -J general
-}
-
-_moosic() {
-    typeset context state line
-    typeset -A opt_args
-
-    typeset -a filelist_opts
-    filelist_opts=(
-    '(-g --shuffle-global)'{-g,--shuffle-global}'[shuffle filelist after directory expansion]'
-    '(-d --shuffle-dir)'{-d,--shuffle-dir}'[shuffle results of expanding the directories]'
-    '(-a --shuffle-args)'{-a,--shuffle-args}'[shuffle actual command line arguments]'
-    '(-o --inorder)'{-o,--inorder}'[do not shuffle filelist]'
-    '(-s --sort)'{-s,--sort}'[sort filelist lexicographically after expansion]'
-    '(-r --no-recurse)'{-r,--no-recurse}'[do not recurse through directories]'
-    '(-n --no-file-munge)'{-n,--no-file-munge}'[do not modify names in expanded filelist]'
-    '(-f --auto-find)'{-f,--auto-find}'[perform fuzzy search for music files]'
-    '(-F --auto-grep)'{-F,--auto-grep}'[like --auto-find but with regexp]'
-    '(-U --allow-unplayable)'{-U,--allow-unplayable}'[allow addition of unknown song types]'
-    )
-
-    typeset -a auto_opts
-    auto_opts=(
-    '(-m --music-dir)'{-m,--music-dir}'[directory used for auto-find, auto-grep]:directory:_files'
-    )
-
-    typeset -a main_opts
-    main_opts=(
-    '(-i --ignore-case)'{-i,--ignore-case}'[treat regexps as if they are case-insensitive]'
-    '(-S --showcommands)'{-S,--showcommands}'[show all moosic commands, then exit]'
-    '(-h --help)'{-h,--help}'[print help message then exit]'
-    '(-v --version)'{-v,--version}'[print version information, then exit]'
-    '(-c --config-dir)'{-c,--config-dir}'[configuration directory]:directory:_files'
-    '(-t --tcp)'{-t,--tcp}'[talk to server at specified host and port]:host\:port:'
-    '(-N --no-startserver)'{-N,--no-startserver}'[do not start moosicd server]'
-    )
-
-    typeset -a list_opts
-    list_opts=(
-    '(-C --current-in-list)'{-C,--current-in-list}'[print currently playing song in list]'
-    )
-
-    # GLOBAL ARGUMENTS
-    # do not use the -A option here. It will break the processing of
-    # positional arguments.
-    _arguments $main_opts $list_opts $auto_opts $filelist_opts \
-               '1: :->cmd' \
-               '*:: :->posarg'
-
-    if [[ $state == cmd ]]; then
-        _moosic_add_cmds
-    elif [[ $state == posarg ]]; then
-        _moosic_cmd_${line[1]}
-    fi
-}
-
-# Do something, but only if the current word is 2.
-_do2() {
-    if (( CURRENT == 2 )); then
-        $@
-    else
-        _message 'no more arguments'
-    fi
-}
-
-### QUERY COMMANDS
-
-_moosic_cmd_help() {
-    _do2 '_moosic_add_cmds'
-}
-
-_moosic_cmd_current() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_current-time() {
-    _do2 '_message' 'strftime string'
-}
-
-_moosic_cmd_list() {
-    _do2 '_message' 'range'
-}
-
-_moosic_cmd_plainlist() {
-    _do2 '_message' 'range'
-}
-
-_moosic_cmd_history() {
-    _do2 '_message' 'maximum number of entries'
-}
-
-_moosic_cmd_status() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_state() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_length() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_ispaused() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_islooping() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_isadvancing() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_version() {
-    _message 'no arguments'
-}
-
-### APPENDING COMMANDS
-
-_moosic_song_files()
-{
-    _arguments -A '-*' $main_opts $filelist_opts $auto_opts \
-               '*:song file:_files'
-}
-
-_moosic_cmd_append() {
-    _moosic_song_files
-}
-
-_moosic_cmd_add() {
-    _moosic_song_files
-}
-
-_moosic_cmd_pl-append() {
-    _moosic_song_files
-}
-
-_moosic_cmd_pl-add() {
-    _moosic_song_files
-}
-
-_moosic_cmd_prepend() {
-    _moosic_song_files
-}
-
-_moosic_cmd_pl-prepend() {
-    _moosic_song_files
-}
-
-_moosic_cmd_mixin() {
-    _moosic_song_files
-}
-
-_moosic_cmd_pl-mixin() {
-    _moosic_song_files
-}
-
-_moosic_cmd_replace() {
-    _moosic_song_files
-}
-
-_moosic_cmd_pl-replace() {
-    _moosic_song_files
-}
-
-_moosic_cmd_insert() {
-    _moosic_song_files
-}
-
-_moosic_cmd_pl-insert() {
-    _moosic_song_files
-}
-
-_moosic_cmd_putback() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_stagger-add() {
-    _moosic_song_files
-}
-
-_moosic_cmd_stagger-merge() {
-    _moosic_song_files
-}
-
-_moosic_cmd_interval-add() {
-    _arguments -A '-*' $main_opts $filelist_opts \
-                  '1:interval:' \
-                  '*:song file:_files'
-}
-
-### REMOVING COMMANDS
-
-_moosic_cmd_cut() {
-    _do2 '_message' 'range'
-}
-
-_moosic_cmd_del() {
-    _do2 '_message' 'range'
-}
-
-_moosic_cmd_crop() {
-    _do2 '_message' 'range'
-}
-
-_moosic_cmd_remove() {
-    _do2 '_message' 'regex'
-}
-
-_moosic_cmd_filter() {
-    _do2 '_message' 'regex'
-}
-
-_moosic_cmd_clear() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_wipe() {
-    _message 'no arguments'
-}
-
-### REARRANGING COMMANDS
-
-_moosic_cmd_move() {
-    _arguments -A '-*' $main_opts \
-               '1:range:' \
-               '2:index:' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_move-pattern() {
-    _arguments -A '-*' $main_opts \
-               '1:regex:' \
-               '2:index:' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_swap() {
-    _arguments -A '-*' $main_opts \
-               '1:range:' \
-               '2:range:' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_shuffle() {
-    _arguments -A '-*' $main_opts \
-               '1:range (optional):' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_reshuffle() {
-    _arguments -A '-*' $main_opts \
-               '1:range (optional):' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_sort() {
-    _arguments -A '-*' $main_opts \
-               '1:range (optional):' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_reverse() {
-    _arguments -A '-*' $main_opts \
-               '1:range (optional):' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_partial-sort() {
-    _do2 '_message' 'regex'
-}
-
-_moosic_cmd_stagger() {
-    _do2 '_message' 'regex'
-}
-
-_moosic_cmd_sub() {
-    _arguments -A '-*' $main_opts \
-               '1:pattern:' \
-               '2:replacement:' \
-               '3:range (optional):' \
-               '*:no more arguments:'
-}
-
-_moosic_cmd_suball() {
-    _arguments -A '-*' $main_opts \
-               '1:pattern:' \
-               '2:replacement:' \
-               '3:range (optional):' \
-               '*:no more arguments:'
-}
-
-### GENERAL COMMANDS
-
-_moosic_cmd_next() {
-    if (( CURRENT == 2 )); then
-
-        typeset -a display display_cmd
-        if zstyle -a ":completion:${curcontext}:next" \
-                     'command' display_cmd; then
-            $display_cmd
-        else
-            display=(${(f)"$(moosic list)"})
-        fi
-
-        typeset -a numbers
-        numbers=({1..${#display}})
-
-        compadd -V songs -d display -a numbers
-    else
-        _message 'no more arguments'
-    fi
-}
-
-_moosic_cmd_previous() {
-    _do2 '_message' 'number to skip'
-}
-
-_moosic_cmd_goto() {
-    _do2 '_message' 'regex'
-}
-
-_moosic_cmd_gobackto() {
-    _do2 '_message' 'regex'
-}
-
-_moosic_cmd_noadvance() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_advance() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_toggle-advance() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_stop() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_pause() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_unpause() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_play() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_loop() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_noloop() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_toggle-loop() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_reconfigure() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_showconfig() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_start-server() {
-    _message 'options'
-}
-
-_moosic_cmd_quit() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_exit() {
-    _message 'no arguments'
-}
-
-_moosic_cmd_die() {
-    _message 'no arguments'
-}
-
-_moosic "$@"
diff --git a/Completion/Unix/Command/_twidge b/Completion/Unix/Command/_twidge
deleted file mode 100644
index d8b3b3def..000000000
--- a/Completion/Unix/Command/_twidge
+++ /dev/null
@@ -1,77 +0,0 @@
-#compdef twidge
-## completion for twidge 1.0.8, based on twidge(1)
-
-function _twidge_command {
-	typeset -a twidge_commands
-	typeset -i skip=1
-
-	twidge lscommands | while read cmd desc; do
-		if [[ $cmd == ---* ]] {
-			skip=0
-			continue
-		}
-		if (( skip )) {
-			continue
-		}
-		twidge_commands+="${cmd}:${desc}"
-	done
-
-	_describe command twidge_commands
-}
-
-function _twidge_args {
-	typeset -a args_common args_more args_other args_update
-
-	args_common=(
-		'(-a --all)'{-a,--all}'[receive all content]'
-		'(-e --exec)'{-e,--exec}'[execute command for each retrieved item]:command'
-		'(-l --long)'{-l,--long}'[long output format]'
-		'(-m --mailto)'{-m,--mailto}'[mail retrieved items]:mail address'
-	)
-
-	args_more=(
-		'(-s --saveid)'{-s,--saveid}'[save ID of most recent message]'
-		'(-u --unseen)'{-u,--unseen}'[only show unseen messages]'
-	)
-
-	args_other=(
-		'(-U --username)'{-U,--username}'[show updates of different user]:username'
-	)
-
-	args_update=(
-		'(-i --inreplyto)'{-i,--inreplyto}'[update in reply to a message]:message id'
-		'(-i --inreplyto 1)-r[read RFC2822 Mail]'
-		':status'
-	)
-
-	case ${words[1]} in
-		lsarchive)
-			_arguments $args_common $args_more $args_other
-			;;
-		ls(dm(|archive)|recent|replies|rt(|archive|replies)))
-			_arguments $args_common $args_more
-			;;
-		lsfollow(ers|ing))
-			_arguments $args_common :username
-			;;
-		dmsend)
-			_arguments :recipient :status
-			;;
-		(un|)follow)
-			_message username
-			;;
-		update)
-			_arguments $args_update
-			;;
-	esac
-}
-
-function _twidge {
-	_arguments \
-	'(-c --config)'{-c,--config}'[config file]:file:_files' \
-	'(-d --debug)'{-d,--debug}'[enable debugging output]' \
-	'(-): :_twidge_command' \
-	'(-)*:: :_twidge_args'
-}
-
-_twidge "$@"
diff --git a/Completion/X/Command/_acroread b/Completion/X/Command/_acroread
deleted file mode 100644
index 4a5cb5cb8..000000000
--- a/Completion/X/Command/_acroread
+++ /dev/null
@@ -1,119 +0,0 @@
-#compdef acroread
-
-local curcontext="$curcontext" state line
-local cmdfile
-
-if [[ -z $_acroread_version ]]; then
-  _acroread_version="$($words[1] -version 2>/dev/null)"
-fi
-
-if [[ -z $_acroread_version ]]; then
-  if [[ $words[1] = */* && -x $words[1] ]]; then
-    cmdfile=$words[1]
-  elif [[ -x $commands[$words[1]] ]]; then
-    cmdfile=$commands[$words[1]]
-  fi
-
-  # Try extracting the version number directly from the executable.
-  # (This will fail if the executable is a wrapper script for acroread.)
-  _acroread_version=${${(M)${(f)"$(<$cmdfile)"}:#ver=*}##ver=}
-
-  if [[ -z $_acroread_version ]]; then
-    local acropath=${${(s. .)${${(f)"$($words[1] -help 2>&1)"}[1]}}[2]}
-    if [[ -r $acropath ]]; then
-      _acroread_version=${${(M)${(f)"$(<$acropath)"}:#ver=*}##ver=}
-    fi
-  fi
-fi
-
-if [[ $_acroread_version == [789].* ]]; then
-  local -a extra_args
-  extra_args=()
-  if [[ $_acroread_version == [89].* ]]; then
-    extra_args+=(-man '-installCertificate:server ip::server port')
-  fi
-  if [[ $_acroread_version == 9.* ]]; then
-    extra_args+=(-openInNewInstance)
-  fi
-  _arguments -C \
-    "${extra_args[@]}" \
-    '--display=:X display:_x_display' \
-    '--screen=:X screen (overrides the screen part of DISPLAY)' \
-    --sync \
-    '-geometry:[<width>x<height>][{+|-}<x offset>{+|-}<y offset>]' \
-    -help \
-    -iconic \
-    '*-setenv:<var>=<value>' \
-    -tempFile \
-    '-tempFileTitle:title' \
-    -openInNewWindow \
-    -version \
-    '-visual:X visual:_x_visual' \
-    '-toPostScript:*::PostScript conversion options:= ->tops' \
-    '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return
-
-  [[ -n "$state" ]] && _arguments \
-    '-pairs:*:pdf_file_1 ps_file_1 ...:_files -g "*.(#i)(pdf|ps)(-.)"' \
-    -binary \
-    '-start:integer' \
-    '-end:integer' \
-    -optimizeForSpeed \
-    -landscape \
-    -reverse \
-    '(-even)-odd' \
-    '(-odd)-even' \
-    -commentsOff \
-    -annotsOff \
-    -stampsOff \
-    -markupsOn \
-    '(-level3)-level2' \
-    '(-level2)-level3' \
-    -printerhalftones \
-    -saveVM \
-    '-scale:integer' \
-    -shrink \
-    -expand \
-    '-size:page size (or custom size wxh in points):(letter tabloid ledger legal executive a3 a4 a5 b4 b5)' \
-    '-transQuality:transparency flattening level:(1 2 3 4 5)' \
-    '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return
-else
-  _x_arguments -C \
-    -help \
-    -helpall \
-    \*-iconic \
-    \*+iconic \
-    '-name:application name:_x_name' \
-    '*-setenv:<var>=<value>' \
-    -tempFile \
-    '-tempFileTitle:title' \
-    '(+useFrontEndProgram)-useFrontEndProgram' \
-    '(-useFrontEndProgram)+useFrontEndProgram' \
-    '-visual:X visual:_x_visual' \
-    '-xrm:X resource specification:_x_resource' \
-    '-toPostScript:*::PostScript conversion options:= ->tops' \
-    '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return
-
-  [[ -n "$state" ]] && _arguments \
-    '-pairs:*:pdf_file_1 ps_file_1 ...:_files -g "*.(#i)(pdf|ps)(-.)"' \
-    -binary \
-    '-start:integer' \
-    '-end:integer' \
-    -optimizeForSpeed \
-    -landscape \
-    -reverse \
-    '(-even)-odd' \
-    '(-odd)-even' \
-    -commentsOff \
-    '(-level2 -level3)-level1' \
-    '(-level1 -level3)-level2' \
-    '(-level1 -level2)-level3' \
-    -printerhalftones \
-    -saveVM \
-    '-scale:integer' \
-    -shrink \
-    '-size:page size (or custom size wxh in points):(letter tabloid ledger legal executive a3 a4 a5 b4 b5)' \
-    '-transQuality:transparency flattening level:(1 2 3 4 5)' \
-    '*:PDF file:_files -g "*.(#i)pdf(-.)"' && return
-fi
-
-return 1
diff --git a/Completion/X/Command/_dcop b/Completion/X/Command/_dcop
deleted file mode 100644
index a0329e110..000000000
--- a/Completion/X/Command/_dcop
+++ /dev/null
@@ -1,119 +0,0 @@
-#compdef dcop dcopstart dcopfind dcopref dcopclient dcopobject
-
-local curcontext="$curcontext" desc vals arg base max=0 ret=1
-local app obj fun
-local -a state line expl
-
-case $service in
-  dcop(client|object))
-    state=( dcopref )
-    max=2
-  ;;
-  dcopref) max=3 ;;
-  dcopstart)
-    if (( CURRENT > 2 )); then
-      _urls && return
-    fi
-  ;;
-  dcopfind)
-    local cmd=$words[1]
-    _arguments -C \
-      '-a[print application id instead of DCOPRef]' \
-      '-l[if object not found, run dcopstart and retry]' \
-      '*::args:->args' && ret=0
-    unset state
-    words=( $cmd $words )
-    (( CURRENT++ ))
-  ;;
-esac
-
-if (( max && CURRENT > max )); then
-  _message 'no more arguments'
-  return 1
-fi
-
-if [[ -z "$state" ]]; then
-  state=(application object function)
-  [[ $words[2] = DCOPRef* && CURRENT -ne 2 ]]
-  base=$?
-  state=( ${state[CURRENT-base]:-arg} )
-
-  [[ $state[1] = application && $service = dcop(|find) ]] && state+=( dcopref )
-fi
-
-while (( $#state )); do
-  unset app obj fun
-
-  if [[ $words[2] = (#b)DCOPRef*\(([^,]#)((#e)|,)([^\\\)]#)(*) ]]; then
-    if [[ -n $match[2] ]]; then
-      app=$match[1]
-      if [[ -n $match[4] ]]; then
-        obj=$match[3]
-	[[ -n $words[3] && CURRENT -gt 3 ]] && fun=$words[3]
-      fi
-    fi
-  else
-    case $CURRENT in
-      <5->) fun="$words[4]" ;&
-      4) obj="$words[3]" ;&
-      3) app="$words[2]" ;;
-    esac
-  fi
-  vals=( ${(f)"$(_call_program dcop-$state[1]s ${(M)words[1]##*/}dcop $app $obj 2>/dev/null)"} )
-
-  case "$state[1]" in
-    application|object)
-      [[ -n ${(M)vals:#*\(default\)} ]] && vals+=( default )
-      _wanted dcop-$state[1]s expl $state[1] compadd "$@" - ${vals% \(default\)} && ret=0
-    ;;
-
-    function)
-      [[ $service = dcopfind ]] && vals=( ${(M)vals:#bool *} )
-      _wanted dcop-$state[1]s expl $state[1] compadd "$@" - ${${vals#* }%\(*} && ret=0
-    ;;
-
-    arg)
-      arg=${${${(M)vals:#*$fun\(*}#*\(}%\)*},
-      arg=${${(s.,.)arg}[CURRENT-base-3]}
-      if [[ -n $arg ]]; then
-	if [[ $arg = (Q(|C)String|*int )* || $arg != *\ * ]]; then
-	  # don't mention the argument's type
-	  desc="${arg##* }"
-	else
-	  desc="${arg##* } (${arg% *})"
-	fi
-	case $arg in
-	  bool*) _wanted argument expl "$desc" compadd true false && return ;;
-	  (#i)*(file|path|dir)*) _wanted argument expl "$desc" _files && return ;;
-	  (#i)*url*) _wanted argument expl "$desc" _urls && return ;;
-	  *) _message -e argument "$desc" ;;
-	esac
-      else
-	_message 'no more arguments'
-      fi
-    ;;
-
-    dcopref)
-      if ! compset -P '*\('; then
-	_wanted dcoprefs expl 'dcop ref' compadd -S '' 'DCOPRef(' && ret=0
-      elif compset -P '*,'; then
-        if compset -S '(|\\)\)*'; then
-	  set -- -S '' "$@"
-	else
-	  set -- "$@" -S"${${QIPREFIX:+)}:-\)}$compstate[quote] "
-	fi
-        state+=( object )
-      else
-        if compset -S ',*'; then
-	  set -- "$@" -S ''
-	else
-	  set -- "$@" -S ,
-	fi
-        state+=( application )
-      fi
-    ;;
-  esac
-  shift state
-done
-
-return ret
diff --git a/Completion/X/Command/_gqview b/Completion/X/Command/_gqview
deleted file mode 100644
index f317ab538..000000000
--- a/Completion/X/Command/_gqview
+++ /dev/null
@@ -1,12 +0,0 @@
-#compdef gqview
-
-_arguments \
-  '(+t -t --without-tools --with-tools)'{+t,--with-tools}'[force show of tools]' \
-  '(+t -t --without-tools --with-tools)'{-t,--without-tools}'[force hide of tools]' \
-  '(--fullscreen -f)'{-f,--fullscreen}'[start in full screen mode]' \
-  '(--slideshow -s)'{-s,--slideshow}'[start in slideshow mode]' \
-  '(--list -l)'{-l,--list}'[open collection window for command line]' \
-  '--debug[turn on debug output]' \
-  '(--version -v)'{-v,--version}'[print version info]' \
-  '(--help -h)'{-h,--help}'[show help]' \
-  '*:picture file:_files -g "*.(#i)(jpg|jpe|jpeg|png|gif|tif|tiff|bmp)(-.)"'
diff --git a/Completion/X/Command/_netscape b/Completion/X/Command/_netscape
deleted file mode 100644
index 78b2da649..000000000
--- a/Completion/X/Command/_netscape
+++ /dev/null
@@ -1,93 +0,0 @@
-#compdef netscape
-
-local curcontext="$curcontext" state line expl ret=1 suf files
-typeset -A opt_args
-
-_x_arguments -C \
-  '-xrm:resource:_x_resource' \
-  '-help[show usage message]' \
-  '-version[show the version number and build date]' \
-  '-visual[use a specific server visual]:visual:_x_visual -b' \
-  '-install[install a private colormap]' \
-  '-no-install[use the default colormap]' \
-  '-ncols[max no. of colors to allocate for images]:n:' \
-  '-mono[force 1-bit-deep image display]' \
-  '-iconic[start up iconified]' \
-  '-remote[execute a command in an existing Netscape]:remote command:->remote' \
-  '-id[id of X window to send remote commands to]:window-id:' \
-  '-raise[raise window following remote command]' \
-  "-noraise[don't raise window following remote command]" \
-  '-nethelp[show nethelp]' \
-  -{dont-force-window-stacking,no-about-splash} \
-  -{,no-}{,irix-}session-management \
-  -{done-save,ignore}-geometry-prefs \
-  -{component-bar,composer,edit,messenger,mail,discussions,news} \
-  '*:location:->urls' && ret=0
-
-# Handle netscape remote commands
-if [[ "$state" = "remote" ]]; then  
-  local -a remote_commands
-  remote_commands=(openURL openFile saveAs mailto addBookmark)
-
-  compset -P '*\('
-  if compset -S '(|\\)\)*'; then
-    set - -S "" "$@"
-  else
-    set - -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " "$@"
-  fi
-  case $IPREFIX in
-    openURL*|addBookmark*) state=urls;;
-    openFile*) _files "$@" -W ~;;
-    saveAs*) 
-      if compset -P "*,"; then
-        _wanted types expl 'data type' \
-            compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' HTML Text PostScript && ret=0
-      else
-        compset -S ",*" || suf=","
-        _files -qS "$suf" -W ~ && ret=0
-      fi
-    ;;
-    mailto*)
-      _email_addresses -s, -c && ret=0
-    ;;
-    *)
-      compset -S '(|\\)\(*' || suf="${${QIPREFIX:+(}:-\(}"
-      _wanted commands expl 'remote command' \
-          compadd -qS "$suf" -M 'm:{a-zA-Z}={A-Za-z}' -a \
-                  remote_commands && ret=0
-    ;;
-  esac
-fi
-
-if [[ "$state" = "urls" ]]; then
-  _tags files urls
-  while _tags; do
-    _requested files expl 'file' _files "$@" && files=yes ret=0
-    if _requested urls; then
-      # Complete netscape urls
-      if compset -P about: ; then
-	_wanted values expl 'about what' \
-            compadd "$@" authors blank cache document fonts global hype \
-	    	image-cache license logo memory-cache mozilla plugins && ret=0
-      elif compset -P news: ; then
-	_newsgroups "$@" && ret=0
-      elif compset -P mailto: ; then
-        _email_addresses -c && ret=0
-      else
-	_tags prefixes
-	while _tags; do
-	  while _next_label prefixes expl 'URL prefix' "$@"; do
-            _urls "$expl[@]" && ret=0
-	    compset -S '[^:]*'
-            compadd -S '' "$expl[@]" about: news: mailto: mocha: javascript: && ret=0
-	  done
-	  (( ret )) || return 0
-	done
-        [[ -z "$files" ]] && _tags files
-      fi
-    fi
-    (( ret )) || return 0
-  done
-fi
-
-return ret
diff --git a/Completion/Zsh/Command/_mere b/Completion/Zsh/Command/_mere
deleted file mode 100644
index bd051e9fa..000000000
--- a/Completion/Zsh/Command/_mere
+++ /dev/null
@@ -1,3 +0,0 @@
-#compdef mere
-
-_files -g '*.[1-9]([a-z]|)(-.) *.man(-.)'
diff --git a/Completion/openSUSE/Command/_SUSEconfig b/Completion/openSUSE/Command/_SUSEconfig
deleted file mode 100644
index 737a80b17..000000000
--- a/Completion/openSUSE/Command/_SUSEconfig
+++ /dev/null
@@ -1,14 +0,0 @@
-#compdef SuSEconfig
-
-local modules
-modules=( /sbin/conf.d/SuSEconfig.*~(*.rpm*|*.swap|*.bak|*.orig|*~|\#*)(N:e) )
-
-_arguments \
-  '--help' \
-  '--quick' \
-  '--force' \
-  '--verbose' \
-  '--nonewpackage' \
-  '-norestarts' \
-  '-nomodule' \
-  '--module:module:compadd -a modules'
diff --git a/Functions/Misc/mere b/Functions/Misc/mere
deleted file mode 100644
index 410be9ab5..000000000
--- a/Functions/Misc/mere
+++ /dev/null
@@ -1,89 +0,0 @@
-# read a man page
-
-setopt localoptions extendedglob
-
-local manual="$1" col=col terminal=man magic line
-
-# /usr/bin/col on SunOS 4 doesn't support -x.
-if [[ -x /usr/5bin/col ]]; then
-  col=/usr/5bin/col;
-fi
-
-# SunOS 5 has no `man' terminal.
-if [[ -d /usr/share/lib/nterm &&
-    ! -e /usr/share/lib/nterm/tab.$terminal ]]; then
-  terminal=lp;
-fi
-
-# HP-UX has no `man' terminal.
-if [[ -d /usr/share/lib/term &&
-    ! -e /usr/share/lib/term/tab$terminal ]]; then
-  terminal=lp;
-fi
-
-# IRIX has no `man' terminal.
-if [[ -d /usr/lib/nterm &&
-    ! -e /usr/lib/nterm/tab.$terminal ]]; then
-  terminal=lp;
-fi
-
-# Unixware has no `man' terminal.
-if [[ -d /usr/ucblib/doctools/nterm &&
-    ! -e /usr/ucblib/doctools/nterm/tab.$terminal ]]; then
-  terminal=lp;
-fi
-
-# Solaris has SGML manuals.
-if [[ -f /usr/lib/sgml/sgml2roff ]] && 
-   [[ "$(read -er < $manual)" = "<!DOCTYPE"* ]]; then
-  /usr/lib/sgml/sgml2roff $manual | {
-    read -r line
-    if [[ $line = ".so "* ]]; then
-      # There is no cascading .so directive.
-      # On Solaris 7, at least.
-      /usr/lib/sgml/sgml2roff ${line#.so }
-    else
-      print -lr - "$line"
-      cat
-    fi
-  }
-else
-  read -u0 -k 2 magic < $manual
-  case $magic in
-  $'\037\235') zcat $manual;;
-  $'\037\213') gzip -dc $manual;;
-  *) cat $manual;;
-  esac
-fi | (
-  # cd is required to work soelim called by nroff.
-  case $manual in
-  */man/man*/*) cd ${manual:h:h};;
-  */man/sman*/*) cd ${manual:h:h};;
-  esac
-  read -r line
-  # The first line beginning with '\" shows preprocessors.
-  # Unknown preprocessors is ignored.
-  if [[ $line = "'\\\" "* ]]; then
-    typeset -A filter
-    filter=(
-      e neqn
-      g grap
-      p pic
-      r refer
-      t tbl
-      v vgrind
-    )
-    eval ${(j:|:)${${(s::)line#\'\\\" }//(#m)?/$filter[$MATCH]}}
-  elif [[ $line = "'\\\"! "* ]]; then
-    typeset -A filter
-    filter=(
-      eqn neqn
-    )
-    eval ${(j:|:)${${${${(s:|:)line#\'\\\"! }# ##}% ##}//(#m)*/$filter[$MATCH]}}
-  else
-    print -lr - "$line"
-    cat
-  fi |
-  nroff -T$terminal -man | $col -x
-) |
-${=MANPAGER:-${PAGER:-more}} -s




Messages sorted by: Reverse Date, Date, Thread, Author