diff --git a/bindkey.tcsh b/bindkey.tcsh new file mode 100644 index 0000000..30f1c0f --- /dev/null +++ b/bindkey.tcsh @@ -0,0 +1,703 @@ +# +# bindkey.tcsh Bind keys on escape sequences of xterm +# and linux console +# +# Copyright: 1993-2007 Werner Fink, 1996-2002 SuSE Linux AG, Germany +# Copyright: 2007 SuSE LINUX Products GmbH, Nuernberg, Germany. +# +# Author: Werner Fink + +# +# Default values +# +if ( ! ${?TERM} ) setenv TERM linux +if ( ! ${?CSHEDIT} ) setenv CSHEDIT emacs + +# +# VI line editing +# +if ( "$CSHEDIT" == "vi" ) then + bindkey -v +else + bindkey "^[ " magic-space + bindkey "^[!" expand-history +endif +# +# Common standard keypad and cursor +# +bindkey "^[[1~" beginning-of-line +bindkey "^[[2~" yank +bindkey "^[[3~" delete-char +bindkey "^[[4~" end-of-line +bindkey "^[[5~" history-search-backward +bindkey "^[[6~" history-search-forward +if ( "$TERM" == "xterm" ) then + bindkey "^[[2;2~" yank + bindkey "^[[3;2~" delete-char + bindkey "^[[5;2~" history-search-backward + bindkey "^[[6;2~" history-search-forward + bindkey "^[[2;3~" yank + bindkey "^[[3;3~" delete-char + bindkey "^[[5;3~" history-search-backward + bindkey "^[[6;3~" history-search-forward + bindkey "^[[2;4~" yank + bindkey "^[[3;4~" delete-char + bindkey "^[[5;4~" history-search-backward + bindkey "^[[6;4~" history-search-forward + bindkey "^[[2;5~" yank + bindkey "^[[3;5~" delete-char + bindkey "^[[5;5~" history-search-backward + bindkey "^[[6;5~" history-search-forward + bindkey "^[[2;6~" yank + bindkey "^[[3;6~" delete-char + bindkey "^[[5;6~" history-search-backward + bindkey "^[[6;6~" history-search-forward + bindkey "^[[2;7~" yank + bindkey "^[[3;7~" delete-char + bindkey "^[[5;7~" history-search-backward + bindkey "^[[6;7~" history-search-forward + bindkey "^[[2;8~" yank + bindkey "^[[3;8~" delete-char + bindkey "^[[5;8~" history-search-backward + bindkey "^[[6;8~" history-search-forward +endif +bindkey "^[[C" forward-char +bindkey "^[[D" backward-char +bindkey "^[[A" up-history +bindkey "^[[B" down-history +if ( "$TERM" == "xterm" ) then + bindkey -c "^[[E" "source /etc/csh.cshrc" + bindkey -c "^[[1;2E" "source /etc/csh.cshrc" + bindkey -c "^[[1;3E" "source /etc/csh.cshrc" + bindkey -c "^[[1;4E" "source /etc/csh.cshrc" + bindkey -c "^[[1;5E" "source /etc/csh.cshrc" + bindkey -c "^[[1;6E" "source /etc/csh.cshrc" + bindkey -c "^[[1;7E" "source /etc/csh.cshrc" + bindkey -c "^[[1;8E" "source /etc/csh.cshrc" + bindkey "^[[2C" forward-word + bindkey "^[[2D" backward-word + bindkey "^[[2A" history-search-backward + bindkey "^[[2B" history-search-forward + bindkey "^[[1;2C" forward-word + bindkey "^[[1;2D" backward-word + bindkey "^[[1;2A" history-search-backward + bindkey "^[[1;2B" history-search-forward + bindkey "^[[1;3C" forward-word + bindkey "^[[1;3D" backward-word + bindkey "^[[1;3A" history-search-backward + bindkey "^[[1;3B" history-search-forward + bindkey "^[[1;4C" forward-word + bindkey "^[[1;4D" backward-word + bindkey "^[[1;4A" history-search-backward + bindkey "^[[1;4B" history-search-forward + bindkey "^[[5C" forward-word + bindkey "^[[5D" backward-word + bindkey "^[[5A" history-search-backward + bindkey "^[[5B" history-search-forward + bindkey "^[[1;5C" forward-word + bindkey "^[[1;5D" backward-word + bindkey "^[[1;5A" history-search-backward + bindkey "^[[1;5B" history-search-forward + bindkey "^[[1;6C" forward-word + bindkey "^[[1;6D" backward-word + bindkey "^[[1;6A" history-search-backward + bindkey "^[[1;6B" history-search-forward + bindkey "^[[1;7C" forward-word + bindkey "^[[1;7D" backward-word + bindkey "^[[1;7A" history-search-backward + bindkey "^[[1;7B" history-search-forward + bindkey "^[[1;8C" forward-word + bindkey "^[[1;8D" backward-word + bindkey "^[[1;8A" history-search-backward + bindkey "^[[1;8B" history-search-forward +else + bindkey -c "^[[G" "source /etc/csh.cshrc" +endif +# +# Avoid network problems +# ... \177 (ASCII-DEL) and \010 (ASCII-BS) +# do `backward-delete-char' +# Note: `delete-char' is maped to \033[3~ +# Therefore xterm's responce on pressing +# key Delete or KP-Delete should be +# \033[3~ ... NOT \177 +# +bindkey "^?" backward-delete-char +bindkey "^H" backward-delete-char +# +# Home and End +# +if ( "$TERM" == "xterm" ) then + # + # Normal keypad and cursor of xterm + # + bindkey "^[[1~" history-search-backward + bindkey "^[[4~" set-mark-command + bindkey "^[[H" beginning-of-line + bindkey "^[[F" end-of-line + bindkey "^[[1;2H" beginning-of-line + bindkey "^[[1;2F" end-of-line + bindkey "^[[1;3H" beginning-of-line + bindkey "^[[1;3F" end-of-line + bindkey "^[[1;4H" beginning-of-line + bindkey "^[[1;4F" end-of-line + bindkey "^[[1;5H" beginning-of-line + bindkey "^[[1;5F" end-of-line + bindkey "^[[1;6H" beginning-of-line + bindkey "^[[1;6F" end-of-line + bindkey "^[[1;7H" beginning-of-line + bindkey "^[[1;7F" end-of-line + bindkey "^[[1;8H" beginning-of-line + bindkey "^[[1;8F" end-of-line + bindkey "^[[2H" beginning-of-line + bindkey "^[[2F" end-of-line + bindkey "^[[5H" beginning-of-line + bindkey "^[[5F" end-of-line + # Home and End of application keypad and cursor of xterm + bindkey "^[OH" beginning-of-line + bindkey "^[OF" end-of-line + bindkey "^[O2H" beginning-of-line + bindkey "^[O2F" end-of-line + bindkey "^[O5H" beginning-of-line + bindkey "^[O5F" end-of-line +else +if ( "$TERM" == "kvt" ) then + bindkey "^[[1~" history-search-backward + bindkey "^[[4~" set-mark-command + bindkey "^[OH" beginning-of-line + bindkey "^[OF" end-of-line +endif + # + # TERM=linux or console + # + bindkey "^[[1~" beginning-of-line + bindkey "^[[4~" end-of-line +endif +# +# Application keypad and cursor of xterm +# +if ( "$TERM" == "xterm" ) then + bindkey "^[OD" backward-char + bindkey "^[OC" forward-char + bindkey "^[OA" up-history + bindkey "^[OB" down-history + bindkey -c "^[OE" "source /etc/csh.cshrc" + bindkey "^[O2D" backward-word + bindkey "^[O2C" forward-word + bindkey "^[O2A" history-search-backward + bindkey "^[O2B" history-search-forward + bindkey "^[O3D" backward-word + bindkey "^[O3C" forward-word + bindkey "^[O3A" history-search-backward + bindkey "^[O3B" history-search-forward + bindkey "^[O4D" backward-word + bindkey "^[O4C" forward-word + bindkey "^[O4A" history-search-backward + bindkey "^[O4B" history-search-forward + bindkey "^[O5D" backward-word + bindkey "^[O5C" forward-word + bindkey "^[O5A" history-search-backward + bindkey "^[O5B" history-search-forward + bindkey "^[O6D" backward-word + bindkey "^[O6C" forward-word + bindkey "^[O6A" history-search-backward + bindkey "^[O6B" history-search-forward + bindkey "^[O7D" backward-word + bindkey "^[O7C" forward-word + bindkey "^[O7A" history-search-backward + bindkey "^[O7B" history-search-forward + bindkey "^[O8D" backward-word + bindkey "^[O8C" forward-word + bindkey "^[O8A" history-search-backward + bindkey "^[O8B" history-search-forward + # DEC keyboard KP_F1 - KP_F4 or + # XTerm of XFree86 in VT220 mode F1 - F4 + bindkey -s "^[OP" "^[" + bindkey "^[OQ" vi-undo + bindkey "^[OR" undefined-key + bindkey "^[OS" kill-line + bindkey -s "^[O2P" "^[" + bindkey "^[O2Q" vi-undo + bindkey "^[O2R" undefined-key + bindkey "^[O2S" kill-line + bindkey -s "^[O3P" "^[" + bindkey "^[O3Q" vi-undo + bindkey "^[O3R" undefined-key + bindkey "^[O3S" kill-line + bindkey -s "^[O4P" "^[" + bindkey "^[O4Q" vi-undo + bindkey "^[O4R" undefined-key + bindkey "^[O4S" kill-line + bindkey -s "^[O5P" "^[" + bindkey "^[O5Q" vi-undo + bindkey "^[O5R" undefined-key + bindkey "^[O5S" kill-line + bindkey -s "^[O6P" "^[" + bindkey "^[O6Q" vi-undo + bindkey "^[O6R" undefined-key + bindkey "^[O6S" kill-line + bindkey -s "^[O7P" "^[" + bindkey "^[O7Q" vi-undo + bindkey "^[O7R" undefined-key + bindkey "^[O7S" kill-line + bindkey -s "^[O8P" "^[" + bindkey "^[O8Q" vi-undo + bindkey "^[O8R" undefined-key + bindkey "^[O8S" kill-line + bindkey -s "^[O1;2P" "^[" + bindkey "^[O1;2Q" vi-undo + bindkey "^[O1;2R" undefined-key + bindkey "^[O1;2S" kill-line + bindkey -s "^[O1;3P" "^[" + bindkey "^[O1;3Q" vi-undo + bindkey "^[O1;3R" undefined-key + bindkey "^[O1;3S" kill-line + bindkey -s "^[O1;4P" "^[" + bindkey "^[O1;4Q" vi-undo + bindkey "^[O1;4R" undefined-key + bindkey "^[O1;4S" kill-line + bindkey -s "^[O1;5P" "^[" + bindkey "^[O1;5Q" vi-undo + bindkey "^[O1;5R" undefined-key + bindkey "^[O1;5S" kill-line + bindkey -s "^[O1;6P" "^[" + bindkey "^[O1;6Q" vi-undo + bindkey "^[O1;6R" undefined-key + bindkey "^[O1;6S" kill-line + bindkey -s "^[O1;7P" "^[" + bindkey "^[O1;7Q" vi-undo + bindkey "^[O1;7R" undefined-key + bindkey "^[O1;7S" kill-line + bindkey -s "^[O1;8P" "^[" + bindkey "^[O1;8Q" vi-undo + bindkey "^[O1;8R" undefined-key + bindkey "^[O1;8S" kill-line +endif +if ( "$TERM" == "gnome" ) then + # or gnome terminal F1 - F4 + bindkey -s "^[OP" "^[" + bindkey "^[OQ" vi-undo + bindkey "^[OR" undefined-key + bindkey "^[OS" kill-line +endif +# +# Function keys F1 - F12 +# +if ( "$TERM" == "linux" ) then + # + # On console the first five function keys + # + bindkey -s "^[[[A" "^[" + bindkey "^[[[B" vi-undo + bindkey "^[[[C" undefined-key + bindkey "^[[[D" kill-line + bindkey "^[[[E" undefined-key +else + # + # The first five standard function keys + # + bindkey -s "^[[11~" "^[" + bindkey "^[[12~" vi-undo + bindkey "^[[13~" undefined-key + bindkey "^[[14~" kill-line + bindkey "^[[15~" undefined-key +endif +bindkey "^[[17~" undefined-key +bindkey "^[[18~" undefined-key +bindkey "^[[19~" undefined-key +bindkey "^[[20~" undefined-key +bindkey "^[[21~" undefined-key +bindkey "^[[23~" undefined-key +bindkey "^[[24~" undefined-key +bindkey "^[[25~" undefined-key +bindkey "^[[26~" undefined-key +# DEC keyboard: F15=^[[28~ is Help +bindkey "^[[28~" undefined-key +# DEC keyboard: F16=^[[29~ is Menu +bindkey "^[[29~" undefined-key +bindkey "^[[31~" undefined-key +bindkey "^[[32~" undefined-key +bindkey "^[[33~" undefined-key +bindkey "^[[34~" undefined-key +bindkey "^[[35~" undefined-key +bindkey "^[[36~" undefined-key +if ( "$TERM" == "xterm" ) then + bindkey "^[[1;2P" undefined-key + bindkey "^[[1;2Q" undefined-key + bindkey "^[[1;2R" undefined-key + bindkey "^[[1;2S" undefined-key + bindkey "^[[15;2~" undefined-key + bindkey "^[[17;2~" undefined-key + bindkey "^[[18;2~" undefined-key + bindkey "^[[19;2~" undefined-key + bindkey "^[[20;2~" undefined-key + bindkey "^[[21;2~" undefined-key + bindkey "^[[23;2~" undefined-key + bindkey "^[[24;2~" undefined-key + bindkey "^[[1;3P" undefined-key + bindkey "^[[1;3Q" undefined-key + bindkey "^[[1;3R" undefined-key + bindkey "^[[1;3S" undefined-key + bindkey "^[[15;3~" undefined-key + bindkey "^[[17;3~" undefined-key + bindkey "^[[18;3~" undefined-key + bindkey "^[[19;3~" undefined-key + bindkey "^[[20;3~" undefined-key + bindkey "^[[21;3~" undefined-key + bindkey "^[[23;3~" undefined-key + bindkey "^[[24;3~" undefined-key + bindkey "^[[1;4P" undefined-key + bindkey "^[[1;4Q" undefined-key + bindkey "^[[1;4R" undefined-key + bindkey "^[[1;4S" undefined-key + bindkey "^[[15;4~" undefined-key + bindkey "^[[17;4~" undefined-key + bindkey "^[[18;4~" undefined-key + bindkey "^[[19;4~" undefined-key + bindkey "^[[20;4~" undefined-key + bindkey "^[[21;4~" undefined-key + bindkey "^[[23;4~" undefined-key + bindkey "^[[24;4~" undefined-key + bindkey "^[[1;5P" undefined-key + bindkey "^[[1;5Q" undefined-key + bindkey "^[[1;5R" undefined-key + bindkey "^[[1;5S" undefined-key + bindkey "^[[15;5~" undefined-key + bindkey "^[[17;5~" undefined-key + bindkey "^[[18;5~" undefined-key + bindkey "^[[19;5~" undefined-key + bindkey "^[[20;5~" undefined-key + bindkey "^[[21;5~" undefined-key + bindkey "^[[23;5~" undefined-key + bindkey "^[[24;5~" undefined-key + bindkey "^[[1;6P" undefined-key + bindkey "^[[1;6Q" undefined-key + bindkey "^[[1;6R" undefined-key + bindkey "^[[1;6S" undefined-key + bindkey "^[[15;6~" undefined-key + bindkey "^[[17;6~" undefined-key + bindkey "^[[18;6~" undefined-key + bindkey "^[[19;6~" undefined-key + bindkey "^[[20;6~" undefined-key + bindkey "^[[21;6~" undefined-key + bindkey "^[[23;6~" undefined-key + bindkey "^[[24;6~" undefined-key + bindkey "^[[1;7P" undefined-key + bindkey "^[[1;7Q" undefined-key + bindkey "^[[1;7R" undefined-key + bindkey "^[[1;7S" undefined-key + bindkey "^[[15;7~" undefined-key + bindkey "^[[17;7~" undefined-key + bindkey "^[[18;7~" undefined-key + bindkey "^[[19;7~" undefined-key + bindkey "^[[20;7~" undefined-key + bindkey "^[[21;7~" undefined-key + bindkey "^[[23;7~" undefined-key + bindkey "^[[24;7~" undefined-key + bindkey "^[[1;8P" undefined-key + bindkey "^[[1;8Q" undefined-key + bindkey "^[[1;8R" undefined-key + bindkey "^[[1;8S" undefined-key + bindkey "^[[15;8~" undefined-key + bindkey "^[[17;8~" undefined-key + bindkey "^[[18;8~" undefined-key + bindkey "^[[19;8~" undefined-key + bindkey "^[[20;8~" undefined-key + bindkey "^[[21;8~" undefined-key + bindkey "^[[23;8~" undefined-key + bindkey "^[[24;8~" undefined-key +endif +# +if ( "$TERM" == "xterm" ) then + # + # Application keypad and cursor of xterm + # with NumLock ON + # + # Operators + bindkey -s "^[Oo" "/" + bindkey -s "^[Oj" "*" + bindkey -s "^[Om" "-" + bindkey -s "^[Ok" "+" + bindkey -s "^[Ol" "," + bindkey "^[OM" newline + bindkey -s "^[On" "." + # Numbers + bindkey -s "^[Op" "0" + bindkey -s "^[Oq" "1" + bindkey -s "^[Or" "2" + bindkey -s "^[Os" "3" + bindkey -s "^[Ot" "4" + bindkey -s "^[Ou" "5" + bindkey -s "^[Ov" "6" + bindkey -s "^[Ow" "7" + bindkey -s "^[Ox" "8" + bindkey -s "^[Oy" "9" +endif +# +if ( "$TERM" == "kterm" ) then + bindkey "^[[\000" undefined-key +endif +# +if ( "$TERM" == "mlterm" ) then + bindkey -c "^[[E" "source /etc/csh.cshrc" + bindkey "^[OH" beginning-of-line + bindkey "^[OF" end-of-line + bindkey "^[^[OH" beginning-of-line + bindkey "^[^[OF" end-of-line + bindkey "^[[1;2C" forward-word + bindkey "^[[1;2D" backward-word + bindkey "^[[1;2A" history-search-backward + bindkey "^[[1;2B" history-search-forward + bindkey "^[[1;3C" forward-word + bindkey "^[[1;3D" backward-word + bindkey "^[[1;3A" history-search-backward + bindkey "^[[1;3B" history-search-forward + bindkey "^[[1;4C" forward-word + bindkey "^[[1;4D" backward-word + bindkey "^[[1;4A" history-search-backward + bindkey "^[[1;4B" history-search-forward + bindkey "^[[1;5C" forward-word + bindkey "^[[1;5D" backward-word + bindkey "^[[1;5A" history-search-backward + bindkey "^[[1;5B" history-search-forward + bindkey "^[[1;6C" forward-word + bindkey "^[[1;6D" backward-word + bindkey "^[[1;6A" history-search-backward + bindkey "^[[1;6B" history-search-forward + bindkey "^[[1;7C" forward-word + bindkey "^[[1;7D" backward-word + bindkey "^[[1;7A" history-search-backward + bindkey "^[[1;7B" history-search-forward + bindkey "^[[1;8C" forward-word + bindkey "^[[1;8D" backward-word + bindkey "^[[1;8A" history-search-backward + bindkey "^[[1;8B" history-search-forward + bindkey "^[[11;2~" undefined-key + bindkey "^[[12;2~" undefined-key + bindkey "^[[13;2~" undefined-key + bindkey "^[[14;2~" undefined-key + bindkey "^[[15;2~" undefined-key + bindkey "^[[17;2~" undefined-key + bindkey "^[[18;2~" undefined-key + bindkey "^[[19;2~" undefined-key + bindkey "^[[20;2~" undefined-key + bindkey "^[[21;2~" undefined-key + bindkey "^[[23;2~" undefined-key + bindkey "^[[24;2~" undefined-key + bindkey "^[[11;3~" undefined-key + bindkey "^[[12;3~" undefined-key + bindkey "^[[13;3~" undefined-key + bindkey "^[[14;3~" undefined-key + bindkey "^[[15;3~" undefined-key + bindkey "^[[17;3~" undefined-key + bindkey "^[[18;3~" undefined-key + bindkey "^[[19;3~" undefined-key + bindkey "^[[20;3~" undefined-key + bindkey "^[[21;3~" undefined-key + bindkey "^[[23;3~" undefined-key + bindkey "^[[24;3~" undefined-key + bindkey "^[[11;4~" undefined-key + bindkey "^[[12;4~" undefined-key + bindkey "^[[13;4~" undefined-key + bindkey "^[[14;4~" undefined-key + bindkey "^[[15;4~" undefined-key + bindkey "^[[17;4~" undefined-key + bindkey "^[[18;4~" undefined-key + bindkey "^[[19;4~" undefined-key + bindkey "^[[20;4~" undefined-key + bindkey "^[[21;4~" undefined-key + bindkey "^[[23;4~" undefined-key + bindkey "^[[24;4~" undefined-key + bindkey "^[[11;5~" undefined-key + bindkey "^[[12;5~" undefined-key + bindkey "^[[13;5~" undefined-key + bindkey "^[[14;5~" undefined-key + bindkey "^[[15;5~" undefined-key + bindkey "^[[17;5~" undefined-key + bindkey "^[[18;5~" undefined-key + bindkey "^[[19;5~" undefined-key + bindkey "^[[20;5~" undefined-key + bindkey "^[[21;5~" undefined-key + bindkey "^[[23;5~" undefined-key + bindkey "^[[24;5~" undefined-key + bindkey "^[[11;6~" undefined-key + bindkey "^[[12;6~" undefined-key + bindkey "^[[13;6~" undefined-key + bindkey "^[[14;6~" undefined-key + bindkey "^[[15;6~" undefined-key + bindkey "^[[17;6~" undefined-key + bindkey "^[[18;6~" undefined-key + bindkey "^[[19;6~" undefined-key + bindkey "^[[20;6~" undefined-key + bindkey "^[[21;6~" undefined-key + bindkey "^[[23;6~" undefined-key + bindkey "^[[24;6~" undefined-key + bindkey "^[[11;7~" undefined-key + bindkey "^[[12;7~" undefined-key + bindkey "^[[13;7~" undefined-key + bindkey "^[[14;7~" undefined-key + bindkey "^[[15;7~" undefined-key + bindkey "^[[17;7~" undefined-key + bindkey "^[[18;7~" undefined-key + bindkey "^[[19;7~" undefined-key + bindkey "^[[20;7~" undefined-key + bindkey "^[[21;7~" undefined-key + bindkey "^[[23;7~" undefined-key + bindkey "^[[24;7~" undefined-key + bindkey "^[[11;8~" undefined-key + bindkey "^[[12;8~" undefined-key + bindkey "^[[13;8~" undefined-key + bindkey "^[[14;8~" undefined-key + bindkey "^[[15;8~" undefined-key + bindkey "^[[17;8~" undefined-key + bindkey "^[[18;8~" undefined-key + bindkey "^[[19;8~" undefined-key + bindkey "^[[20;8~" undefined-key + bindkey "^[[21;8~" undefined-key + bindkey "^[[23;8~" undefined-key + bindkey "^[[24;8~" undefined-key + bindkey -s "^[1" "1" + bindkey -s "^[2" "2" + bindkey -s "^[3" "3" + bindkey -s "^[4" "4" + bindkey -s "^[5" "5" + bindkey -s "^[6" "6" + bindkey -s "^[7" "7" + bindkey -s "^[8" "8" + bindkey -s "^[9" "9" + bindkey -s "^[0" "0" +endif +# +if ( "$TERM" == "rxvt-unicode" ) then + bindkey '^[[23$' undefined-key + bindkey '^[[24$' undefined-key + bindkey "^[[11\^" undefined-key + bindkey "^[[12\^" undefined-key + bindkey "^[[13\^" undefined-key + bindkey "^[[14\^" undefined-key + bindkey "^[[15\^" undefined-key + bindkey "^[[17\^" undefined-key + bindkey "^[[18\^" undefined-key + bindkey "^[[19\^" undefined-key + bindkey "^[[20\^" undefined-key + bindkey "^[[21\^" undefined-key + bindkey "^[[23\^" undefined-key + bindkey "^[[24\^" undefined-key + bindkey -s "^[Oo" "/" + bindkey -s "^[Oj" "*" + bindkey -s "^[Om" "-" + bindkey -s "^[Ok" "+" + bindkey -s "^[Ol" "," + bindkey "^[OM" newline + bindkey -s "^[On" "." + bindkey -s "^[Op" "0" + bindkey -s "^[Oq" "1" + bindkey -s "^[Or" "2" + bindkey -s "^[Os" "3" + bindkey -s "^[Ot" "4" + bindkey -s "^[Ou" "5" + bindkey -s "^[Ov" "6" + bindkey -s "^[Ow" "7" + bindkey -s "^[Ox" "8" + bindkey -s "^[Oy" "9" + bindkey "^[^[Oo" undefined-key + bindkey "^[^[Oj" undefined-key + bindkey "^[^[Om" undefined-key + bindkey "^[^[Ok" undefined-key + bindkey "^[^[Ol" delete-char + bindkey "^[^[OM" newline + bindkey "^[^[On" delete-char + bindkey "^[^[Op" yank + bindkey "^[^[Oq" end-of-line + bindkey "^[^[Or" down-history + bindkey "^[^[Os" history-search-forward + bindkey "^[^[Ot" backward-char + bindkey -s "^[^[Ou" "source /etc/csh.cshrc" + bindkey "^[^[Ov" forward-char + bindkey "^[^[Ow" beginning-of-line + bindkey "^[^[Ox" up-history + bindkey "^[^[Oy" history-search-backward + bindkey "^[[c" forward-word + bindkey "^[[d" backward-word + bindkey "^[[a" history-search-backward + bindkey "^[[b" history-search-forward + bindkey "^[^[[c" forward-word + bindkey "^[^[[d" backward-word + bindkey "^[^[[a" history-search-backward + bindkey "^[^[[b" history-search-forward + bindkey "^[^[[C" forward-word + bindkey "^[^[[D" backward-word + bindkey "^[^[[A" history-search-backward + bindkey "^[^[[B" history-search-forward + bindkey "^[[2\^" yank + bindkey "^[[3\^" delete-char + bindkey "^[[5\^" history-search-backward + bindkey "^[[6\^" history-search-forward + bindkey "^[[7\^" beginning-of-line + bindkey "^[[8\^" end-of-line + bindkey '^[[2$' yank + bindkey '^[[3$' delete-char + bindkey '^[[5$' history-search-backward + bindkey '^[[6$' history-search-forward + bindkey '^[[7$' beginning-of-line + bindkey '^[[8$' end-of-line + bindkey '^[^[[2$' yank + bindkey '^[^[[3$' delete-char + bindkey '^[^[[5$' history-search-backward + bindkey '^[^[[6$' history-search-forward + bindkey '^[^[[7$' beginning-of-line + bindkey '^[^[[8$' end-of-line + bindkey "^[=" newline + bindkey "\000" yank + bindkey "\001" end-of-line + bindkey "\002" down-history + bindkey "\003" history-search-forward + bindkey "\004" backward-word + bindkey -s "\005" "source /etc/csh.cshrc" + bindkey "\006" forward-word + bindkey "\007" beginning-of-line + bindkey "\010" up-history + bindkey "\011" history-search-backward + bindkey "^[0" yank + bindkey "^[1" end-of-line + bindkey "^[2" down-history + bindkey "^[3" history-search-forward + bindkey "^[4" backward-word + bindkey -c "^[5" "source /etc/csh.cshrc" + bindkey "^[6" forward-word + bindkey "^[7" beginning-of-line + bindkey "^[8" up-history + bindkey "^[9" history-search-backward +endif +# +# EMACS line editing +# +if ( "$CSHEDIT" == "emacs" ) then + # + # ... xterm application cursor + # + if ( "$TERM" == "xterm" ) then + bindkey "^[^[OD" backward-word + bindkey "^[^[OC" forward-word + bindkey "^[^[OA" up-history + bindkey "^[^[OB" down-history + bindkey "^^[OD" backward-char + bindkey "^^[OC" forward-char + bindkey "^^[OA" up-history + bindkey "^^[OB" down-history + endif + # + # Standard cursor + # + bindkey "^[^[[D" backward-word + bindkey "^[^[[C" forward-word + bindkey "^[^[[A" up-history + bindkey "^[^[[B" down-history + bindkey "^^[[D" backward-char + bindkey "^^[[C" forward-char + bindkey "^^[[A" up-history + bindkey "^^[[B" down-history +endif +# +# end bindkey.tcsh +# diff --git a/complete.tcsh b/complete.tcsh new file mode 100644 index 0000000..956eab5 --- /dev/null +++ b/complete.tcsh @@ -0,0 +1,910 @@ +# +# complete.tcsh Define some intelligent command completions +# +# Modified version of complete.tcsh (1993) found in the source code +# the tcsh-6.03. Complemented with the following versions and extend +# with other features. This was a part of csh.cshrc until 1999/06/25. +# +# Author: 1993-99 Werner Fink +# +# 1999/06/28: resort to the order to fit complete.tcsh +# found in tcsh-6.08.05, add the mh completes. +# + set autolist=ambiguous + set noglob +# + set hosts + foreach _f ($HOME/.hosts /etc/csh.hosts $HOME/.rhosts /etc/hosts.equiv) + if ( -r $_f ) then + set hosts=($hosts `grep -E -shv '^#|\+' $_f |awk '{ print $1 }'`) + endif + end + if ( -r $HOME/.netrc ) then + set _f=`awk '/machine/ { print $2 }' < $HOME/.netrc` >& /dev/null + set hosts=($hosts $_f) + endif + set hosts=(`echo $hosts localhost $HOSTNAME|tr ' ' '\n'|sort -u -t '.'`) + unset _f + set _maildir = /var/spool/mail + set _ypdir = /var/yp + set _domain = "`domainname`" + if ($?MANPATH) then + set _manpath="{${MANPATH:as/:/,/}}/{man,cat}" + else + set _manpath="/usr{{/X11/man,/openwin/man}/{man,cat},{/man/{man,cat}}}" + endif + + complete ispell c/-/"(a A b B C d D e ee f L m M p s S T v vv w W)"/ \ + n/-d/"(english deutsch)"/ \ + n/-T/"(tex plaintex nroff latin1 ascii atari)"/ \ + n@-p@'`ls -1 $HOME/.ispell_*`'@ \ + n/-W/"(1 2 3 4 5)"/ \ + n/-L/x:'ispell -L '/ \ + n/-f/t/ n/*/f:^*.{dvi,ps,a,o,gz,z,Z}/ + complete ywho n/*/\$hosts/ # argument from list in $hosts + complete {r,s}sh p/1/\$hosts/ c/-/"(l n)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/ + complete xrsh p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/ + complete {r,s}login p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ + complete xlogin n/*/\$hosts/ + complete telnet p/1/\$hosts/ p/2/x:''/ n/*/n/ + complete xtelnet n/*/\$hosts/ + complete cd p/1/d/ # Directories only + complete chdir p/1/d/ + complete pushd p/1/d/ + complete popd p/1/d/ + complete pu p/1/d/ + complete po p/1/d/ + complete complete p/1/X/ # Completions only + complete uncomplete n/*/X/ + complete exec p/1/c/ # Commands only + complete trace p/1/c/ + complete strace p/1/c/ + complete which n/*/c/ + complete where n/*/c/ + complete skill p/1/c/ + complete dde p/1/c/ + complete adb c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/ + complete sdb p/1/c/ + complete dbx c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/ + complete xdb p/1/c/ + complete gdb n/-d/d/ n/*/c/ + complete ups p/1/c/ + complete set 'c/*=/f/' 'p/1/s/=' 'n/=/f/' + complete unset n/*/s/ + complete alias p/1/a/ # only aliases are valid + complete unalias n/*/a/ + complete xdvi n/*/f:*.dvi/ # Only files that match *.dvi + complete laser n/*/f:*.dvi/ + complete dvips n/*/f:*.dvi/ + complete tex n/*/f:*.{tex,TEX}/ # Only files that match *.tex + complete latex n/*/f:*.{tex,TEX,texi,latex,ltx}/ + complete slitex n/*/f:*.{tex,TEX,latex,ltx}/ + complete su c/--/"(login fast preserve-environment command shell \ + help version)"/ c/-/"(f l m p c s -)"/ \ + n/{-c,--command}/c/ \ + n@{-s,--shell}@'`cat /etc/shells`'@ n/*/u/ + complete cc c/-[IL]/d/ \ + c@-l@'`\ls -1 /usr/lib/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \ + c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/ + complete acc c/-[IL]/d/ \ + c@-l@'`\ls -1 /usr/lang/SC1.0/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \ + c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/ + complete gcc c/-[IL]/d/ \ + c/-f/"(caller-saves cse-follow-jumps delayed-branch \ + elide-constructors expensive-optimizations \ + float-store force-addr force-mem inline \ + inline-functions keep-inline-functions \ + memoize-lookups no-default-inline \ + no-defer-pop no-function-cse omit-frame-pointer \ + rerun-cse-after-loop schedule-insns \ + schedule-insns2 strength-reduce \ + thread-jumps unroll-all-loops \ + unroll-loops syntax-only all-virtual \ + cond-mismatch dollars-in-identifiers \ + enum-int-equiv no-asm no-builtin \ + no-strict-prototype signed-bitfields \ + signed-char this-is-variable unsigned-bitfields \ + unsigned-char writable-strings call-saved-reg \ + call-used-reg fixed-reg no-common \ + no-gnu-binutils nonnull-objects \ + pcc-struct-return pic PIC shared-data \ + short-enums short-double volatile)"/ \ + c/-W/"(all aggregate-return cast-align cast-qual \ + comment conversion enum-clash error format \ + id-clash-len implicit missing-prototypes \ + no-parentheses pointer-arith return-type shadow \ + strict-prototypes switch uninitialized unused \ + write-strings)"/ \ + c/-m/"(68000 68020 68881 bitfield fpa nobitfield rtd \ + short c68000 c68020 soft-float g gnu unix fpu \ + no-epilogue)"/ \ + c/-d/"(D M N)"/ \ + c/-/"(f W vspec v vpath ansi traditional \ + traditional-cpp trigraphs pedantic x o l c g L \ + I D U O O2 C E H B b V M MD MM i dynamic \ + nodtdlib static nostdinc undef)"/ \ + c/-l/f:*.a/ \ + n/*/f:*.{c,C,cc,o,a,s,i}/ + complete g++ n/*/f:*.{C,cc,cpp,o,s,i}/ + complete CC n/*/f:*.{C,cc,cpp,o,s,i}/ + complete rm c/--/"(directory force interactive verbose \ + recursive help version)"/ c/-/"(d f i v r R -)"/ \ + n/*/f:^*.{c,cc,C,h,in}/ # Protect precious files + complete {vi,more} n/*/f:^*.{o,a,dvi,gz,z,Z}/ + complete less n/*/f:^*.{o,a,dvi}/ + complete bindkey N/-a/b/ N/-c/c/ n/-[ascr]/'x:'/ \ + n/-[svedlr]/n/ c/-[vedl]/n/ c/-/"(a s k c v e d l r)"/ \ + n/-k/"(left right up down)"/ p/2-/b/ \ + p/1/'x:'/ + + complete find n/-fstype/"(nfs 4.2)"/ n/-name/f/ \ + n/-type/"(c b d f p l s)"/ n/-user/u/ n/-group/g/ \ + n/-exec/c/ n/-ok/c/ n/-cpio/f/ n/-ncpio/f/ n/-newer/f/ \ + c/-/"(follow fstype name perm prune type user nouser \ + group nogroup size inum atime mtime ctime exec \ + ok print ls cpio ncpio newer xdev depth \ + daystart follow maxdepth mindepth noleaf version \ + anewer cnewer amin cmin mmin true false uid gid \ + ilname iname ipath iregex links lname empty path \ + regex used xtype fprint fprint0 fprintf \ + print0 printf not a and o or)"/ \ + n/*/d/ + + complete -%* c/%/j/ # fill in the jobs builtin + complete {fg,bg,stop} c/%/j/ p/1/"(%)"// + + complete limit c/-/"(h)"/ n/*/l/ + complete unlimit c/-/"(h)"/ n/*/l/ + + complete -co* p/0/"(compress)"/ # make compress completion + # not ambiguous + complete nm n/*/f:^*.{h,C,c,cc}/ + + complete finger c/*@/\$hosts/ n/*/u/@ + complete ping p/1/\$hosts/ + complete traceroute p/1/\$hosts/ + + complete {talk,ntalk,phone,otalk,ytalk} p/1/'`users | tr " " "\012" | uniq`'/ \ + n/*/\`who\ \|\ grep\ \$:1\ \|\ awk\ \'\{\ print\ \$2\ \}\'\`/ + + complete ftp c/-/"(d i g n v)"/ n/-/\$hosts/ p/1/\$hosts/ n/*/n/ + complete ncftp c/-/"(a I N)"/ n/-/\$hosts/ p/1/\$hosts/ n/*/n/ + + # this one is simple... + #complete rcp c/*:/f/ C@[./\$~]*@f@ n/*/\$hosts/: + # From Michael Schroeder + # This one will rsh to the file to fetch the list of files! + complete rcp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");rsh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");rsh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@' 'n/*/$hosts/:' + complete scp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");ssh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");ssh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@' 'n/*/$hosts/:' + + complete dd c/--/"(help version)"/ c/[io]f=/f/ \ + c/conv=*,/"(ascii ebcdic ibm block unblock \ + lcase notrunc ucase swab noerror sync)"/,\ + c/conv=/"(ascii ebcdic ibm block unblock \ + lcase notrunc ucase swab noerror sync)"/,\ + c/*=/x:''/ \ + n/*/"(if of conv ibs obs bs cbs files skip file seek count)"/= + + complete nslookup p/1/x:''/ p/2/\$hosts/ + + complete ar c/[dmpqrtx]/"(c l o u v a b i)"/ p/1/"(d m p q r t x)"// \ + p/2/f:*.a/ p/*/f:*.o/ + + # these should be merged with the MH completion hacks below - jgotts + complete {sprev,snext} \ + c@+@F:$HOME/Mail/@ + + # these and interrupt handling from Jaap Vermeulen + complete {rexec,rxexec,rxterm,rmterm} \ + 'p/1/$hosts/' 'c/-/(l L E)/' 'n/-l/u/' 'n/-L/f/' \ + 'n/-E/e/' 'n/*/c/' + complete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps xh | cut -d " " -f 1`/' + + # these from Marc Horowitz + complete attach 'n/-mountpoint/d/' 'n/-m/d/' 'n/-type/(afs nfs rvd ufs)/' \ + 'n/-t/(afs nfs rvd ufs)/' 'n/-user/u/' 'n/-U/u/' \ + 'c/-/(verbose quiet force printpath lookup debug map \ + nomap remap zephyr nozephyr readonly write \ + mountpoint noexplicit explicit type mountoptions \ + nosetuid setuid override skipfsck lock user host)/' \ + 'n/-e/f/' 'n/*/()/' + complete hesinfo 'p/1/u/' \ + 'p/2/(passwd group uid grplist pcap pobox cluster \ + filsys sloc service)/' + + # these from E. Jay Berkenbilt + # = isn't always followed by a filename or a path anymore - jgotts + complete ./configure 'c/--*=/f/' 'c/--{cache-file,prefix,exec-prefix,\ + bindir,sbindir,libexecdir,datadir,\ + sysconfdir,sharedstatedir,localstatedir,\ + libdir,includedir,oldincludedir,infodir,\ + mandir,srcdir}/(=)//' \ + 'c/--/(cache-file verbose prefix exec-prefix bindir \ + sbindir libexecdir datadir sysconfdir \ + sharedstatedir localstatedir libdir \ + includedir oldincludedir infodir mandir \ + srcdir)//' + complete gs 'c/-sDEVICE=/(x11 cdjmono cdj550 epson eps9high epsonc \ + dfaxhigh dfaxlow laserjet ljet4 sparc pbm \ + pbmraw pgm pgmraw ppm ppmraw bit)/' \ + 'c/-sOutputFile=/f/' 'c/-s/(DEVICE OutputFile)/=' \ + 'c/-d/(NODISPLAY NOPLATFONTS NOPAUSE)/' 'n/*/f/' + complete perl 'n/-S/c/' + complete printenv 'n/*/e/' + complete sccs p/1/"(admin cdc check clean comb deledit delget \ + delta diffs edit enter fix get help info \ + print prs prt rmdel sccsdiff tell unedit \ + unget val what)"/ + + # Complete for MH tools already skipped + if ( $?SKIP_MH ) goto skip_mh + + # Do not be fooled by asking MH tools + if ( ! -r $HOME/.mh_profile ) goto skip_mh + + # Do not be fooled by broken MH profile + if ( ! `grep -cE '^Path:' $HOME/.mh_profile` ) goto skip_mh + + if ( ! $?FOLDERS ) then + which folders >& /dev/null + if ( $status != 0 ) goto skip_mh + + set folders="`/bin/sh -c 'exec folders -fast -recurse < /dev/null 2> /dev/null'`" + if ( $status != 0 ) then + unset folders + setenv SKIP_MH + goto skip_mh + endif + setenv FOLDERS "$folders" + endif + + if ( ! $?MHA ) then + which ali >& /dev/null + if ( $status != 0 ) goto skip_mh + + set mha="`/bin/sh -c 'exec ali < /dev/null 2> /dev/null'`" + if ( $status != 0 ) then + unset mha + setenv SKIP_MH + goto skip_mh + endif + setenv MHA "$mha" + endif + + # these and method of setting hosts from Kimmo Suominen + set folders = ( $FOLDERS ) + set mha = ( $MHA ) + + complete ali \ + 'c/-/(alias nolist list nonormalize normalize nouser user help)/' \ + 'n,-alias,f,' + + complete anno \ + 'c/-/(component noinplace inplace nodate date text help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete burst \ + 'c/-/(noinplace inplace noquiet quiet noverbose verbose help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete comp \ + 'c/-/(draftfolder draftmessage nodraftfolder editor noedit file form nouse use whatnowproc nowhatnowproc help)/' \ + 'c,+,$folders,' \ + 'n,-whatnowproc,c,' \ + 'n,-file,f,'\ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete dist \ + 'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit form noinplace inplace whatnowproc nowhatnowproc help)/' \ + 'c,+,$folders,' \ + 'n,-whatnowproc,c,' \ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete folder \ + 'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete folders \ + 'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete forw \ + 'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit filter form noformat format noinplace inplace digest issue volume whatnowproc nowhatnowproc help)/' \ + 'c,+,$folders,' \ + 'n,-whatnowproc,c,' \ + 'n,-filter,f,'\ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete inc \ + 'c/-/(audit file noaudit nochangecur changecur file form format nosilent silent notruncate truncate width help)/' \ + 'c,+,$folders,' \ + 'n,-audit,f,'\ + 'n,-form,f,' + + complete mark \ + 'c/-/(add delete list sequence nopublic public nozero zero help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete mhmail \ + 'c/-/(body cc from subject help)/' \ + 'n,-cc,$mha,' \ + 'n,-from,$mha,' \ + 'n/*/$mha/' + + complete mhpath \ + 'c/-/(help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete msgchk \ + 'c/-/(nodate date nonotify notify help)/' + + complete msh \ + 'c/-/(prompt noscan scan notopcur topcur help)/' + + complete next \ + 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ + 'c,+,$folders,' \ + 'n,-moreproc,c,' \ + 'n,-showproc,c,' \ + 'n,-form,f,' + + complete packf \ + 'c/-/(file help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete pick \ + 'c/-/(and or not lbrace rbrace cc date from search subject to othercomponent after before datefield sequence nopublic public nozero zero nolist list help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete prev \ + 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ + 'c,+,$folders,' \ + 'n,-moreproc,c,' \ + 'n,-showproc,c,' \ + 'n,-form,f,' + + complete prompter \ + 'c/-/(erase kill noprepend prepend norapid rapid nodoteof doteof help)/' + + complete refile \ + 'c/-/(draft nolink link nopreserve preserve src file help)/' \ + 'c,+,$folders,' \ + 'n,-file,f,'\ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete rmf \ + 'c/-/(nointeractive interactive help)/' \ + 'c,+,$folders,' + + complete rmm \ + 'c/-/(help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete scan \ + 'c/-/(noclear clear form format noheader header width noreverse reverse file help)/' \ + 'c,+,$folders,' \ + 'n,-form,f,'\ + 'n,-file,f,'\ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete send \ + 'c/-/(alias draft draftfolder draftmessage nodraftfolder filter nofilter noformat format noforward forward nomsgid msgid nopush push noverbose verbose nowatch watch width help)/' \ + 'n,-alias,f,'\ + 'n,-filter,f,' + + complete show \ + 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ + 'c,+,$folders,' \ + 'n,-moreproc,c,' \ + 'n,-showproc,c,' \ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete sortm \ + 'c/-/(datefield textfield notextfield limit nolimit noverbose verbose help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete vmh \ + 'c/-/(prompt vmhproc novmhproc help)/' \ + 'n,-vmhproc,c,' + + complete whatnow \ + 'c/-/(draftfolder draftmessage nodraftfolder editor noedit prompt help)/' + + complete whom \ + 'c/-/(alias nocheck check draft draftfolder draftmessage nodraftfolder help)/' \ + 'n,-alias,f,' + + complete plum \ + 'c/-/()/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' + + complete mail \ + 'c/-/()/' \ + 'n/*/$mha/' + +skip_mh: + + # from George Cox + complete acroread 'p/*/f:*.{pdf,PDF}/' + complete apachectl 'c/*/(start stop restart fullstatus status graceful \ + configtest help)/' + complete appletviewer 'p/*/f:*.class/' + complete bison 'c/--/(debug defines file-prefix= fixed-output-files \ + help name-prefix= no-lines no-parser output= \ + token-table verbose version yacc)/' \ + 'c/-/(b d h k l n o p t v y V)/' 'n/-b/f/' 'n/-o/f/' \ + 'n/-p/f/' + complete bunzip2 'p/*/f:*.bz2/' + complete bzip2 'n/-9/f:^*.bz2/' 'n/-d/f:*.bz2/' + complete c++ 'p/*/f:*.{c++,cxx,c,cc,C,cpp}/' + complete co 'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@' + complete crontab 'n/-u/u/' + complete camcontrol 'p/1/(cmd debug defects devlist eject inquiry \ + modepage negotiate periphlist rescan reset start \ + stop tags tur)/' + complete ctlinnd 'p/1/(addhist allow begin cancel changegroup \ + checkfile drop feedinfo flush flushlogs go hangup \ + logmode mode name newgroup param pause readers refile \ + reject reload renumber reserve rmgroup send shutdown \ + kill throttle trace xabort xexec)/' + complete cvs 'c/--/(help help-commands help-synonyms)/' \ + 'p/1/(add admin annotate checkout commit diff \ + edit editors export history import init log login \ + logout rdiff release remove rtag status tag unedit \ + update watch watchers)/' 'n/-a/(edit unedit commit \ + all none)/' 'n/watch/(on off add remove)/' + complete cxx 'p/*/f:*.{c++,cxx,c,cc,C,cpp}/' + complete detex 'p/*/f:*.tex/' + complete edquota 'n/*/u/' + complete exec 'p/1/c/' + complete ghostview 'p/*/f:*.{eps,EPS,ps,PS,pdf,PDF,ps.gz}/' + complete gv 'p/*/f:*.{eps,EPS,ps,PS,pdf,PDF,ps.gz}/' + complete ifconfig 'p@1@`ifconfig -l`@' 'n/*/(range phase link netmask \ + mtu vlandev vlan metric mediaopt down delete \ + broadcast arp debug)/' + complete imake 'c/-I/d/' + complete ipfw 'p/1/(flush add delete list show zero)/' \ + 'n/add/(allow permit accept pass deny drop reject \ + reset count skipto num divert port tee port)/' + complete javac 'p/*/f:*.java/' + complete ldif2ldbm 'n/-i/f:*.ldif/' + complete libtool 'c/--mode=/(compile execute finish install link \ + uninstall)/' 'c/--/(config debug dry-run features \ + finish help quiet silent version mode=)/' + complete libtoolize 'c/--/(automake copy debug dry-run force help ltdl \ + ltdl-tar version)/' + complete links 'c/-/(assume-codepage async-dns download-dir \ + format-cache-size ftp-proxy help http-proxy \ + max-connections max-connections-to-host \ + memory-cache-size receive-timeout retries \ + unrestartable-receive-timeout version)/' + complete natd c/-/'(alias_address config deny_incoming dynamic \ + inport interface log log_denied log_facility \ + outport outport port pptpalias proxy_only \ + proxy_rule redirect_address redirect_port \ + reverse same_ports unregistered_only use_sockets \ + verbose)'/ 'n@-interface@`ifconfig -l`@' + complete netstat 'n@-I@`ifconfig -l`@' + complete objdump 'c/--/(adjust-vma= all-headers architecture= \ + archive-headers debugging demangle disassemble \ + disassemble-all disassemble-zeroes dynamic-reloc \ + dynamic-syms endian= file-headers full-contents \ + headers help info line-numbers no-show-raw-insn \ + prefix-addresses private-headers reloc section-headers \ + section=source stabs start-address= stop-address= \ + syms target= version wide)/' \ + 'c/-/(a h i f C d D p r R t T x s S l w)/' + complete xmodmap 'c/-/(display help grammar verbose quiet n e pm pk \ + pke pp)/' + complete lynx 'c/-/(accept_all_cookies anonymous assume_charset= \ + assume_local_charset= assume_unrec_charset= auth= base \ + book buried_news cache= case cfg= child cookie_file= \ + cookies core crawl debug_partial display= dump editor= \ + emacskeys enable_scrollback error_file= force_html \ + force_secure forms_options from ftp get_data head help \ + hiddenlinks= historical homepage= image_links index= \ + ismap link= localhost mime_header minimal \ + newschunksize= newsmaxchunk= nobrowse nocc nocolor \ + nofilereferer nolist nolog nopause noprint noredir \ + noreferer nostatus number_links partial partial_thres \ + pauth= popup post_data preparsed print pseudo_inlines \ + raw realm reload restrictions= resubmit_posts rlogin \ + selective show_cursor soft_dquotes source stack_dump \ + startfile_ok tagsoup telnet term= tlog trace traversal \ + underscore useragent= validate verbose version vikeys \ + width=)/' 'c/(http|ftp)/$URLS/' + complete {gmake,make} \ + 'c/{--directory,--include-dir}=/d/' 'c/{-C,-I}/d/' \ + 'c/{--assume-new,--assume-old,--makefile,--new-file,--what-if,--file}=/f/' \ + 'c/{-W,-o,-f}/f/' \ + 'c/--/(assume-new= assume-old= debug directory= \ + dry-run environment-overrides file= help \ + ignore-errors include-dir= jobs[=N] just-print \ + keep-going load-average[=N] makefile= max-load[=N] \ + new-file= no-builtin-rules no-keep-going \ + no-print-directory old-file= print-data-base \ + print-directory question quiet recon silent stop \ + touch version warn-undefined-variables what-if=)//' \ + 'c/-/(- C d e f h i I k n p q r R s S t v w)/' \ + 'n@*@`cat -s {GNUm,M,m}akefile |& sed -n -e "/cat:/d" -e "s/^\([A-Za-z0-9-]*\):.*/\1/p"`@' \ + 'n/=/f/' 'n/-f/f/' + complete mixer p/1/'(vol bass treble synth pcm speaker mic cd mix \ + pcm2 rec igain ogain line1 line2 line3)'/ \ + p@2@'`mixer $:-1 | awk \{\ print\ \$7\ \}`'@ + + complete mpg123 'c/--/(2to1 4to1 8bit aggressive au audiodevice \ + auth buffer cdr check doublespeed equalizer frames \ + gain halfspeed headphones left lineout list mix mono \ + proxy quiet random rate reopen resync right scale \ + shuffle single0 single1 skip speaker stdout stereo \ + test verbose wav)/' + complete mysqladmin 'n/*/(create drop extended-status flush-hosts \ + flush-logs flush-status flush-tables flush-privileges \ + kill password ping processlist reload refresh \ + shutdown status variables version)/' + set _muttalias=/dev/null + foreach _f ($HOME/.muttrc-alias $HOME/.muttalias) + if ( -r $_f ) then + set _muttalias=$_f + break + endif + end + unset _f + complete mutt c@-f=@F:${HOME}/Mail/@ \ + n/-a/f/ \ + n/-F/f/ n/-H/f/ \ + n/-s/x:''/ \ + n/-e/x:''/ \ + n@-b@'`awk '"'"'{print $2 }'"'"' $_muttalias`'@ \ + n@-c@'`awk '"'"'{print $2 }'"'"' $_muttalias`'@ \ + n@*@'` awk '"'"'{print $2 }'"'"' $_muttalias`'@ + complete ndc 'n/*/(status dumpdb reload stats trace notrace \ + querylog start stop restart )/' + complete nm 'c/--/(debug-syms defined-only demangle dynamic \ + extern-only format= help line-numbers no-demangle \ + no-sort numeric-sort portability print-armap \ + print-file-name reverse-sort size-sort undefined-only \ + version)/' 'p/*/f:^*.{h,C,c,cc}/' + complete nmap 'n@-e@`ifconfig -l`@' 'p/*/$hostnames/' + complete perldoc 'n@*@`\ls -1 /usr/lib/perl*/5.*/pod | sed s%\\.pod.\*\$%%`@' + complete postfix 'n/*/(start stop reload abort flush check)/' + complete postmap 'n/1/(hash: regexp:)' 'c/hash:/f/' 'c/regexp:/f/' + complete rcsdiff 'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@' + complete X 'c/-/(I a ac allowMouseOpenFail allowNonLocalModInDev \ + allowNonLocalXvidtune ar1 ar2 audit auth bestRefresh \ + bgamma bpp broadcast bs c cc class co core deferglyphs \ + disableModInDev disableVidMode displayID dpi dpms f fc \ + flipPixels fn fp gamma ggamma help indirect kb keeptty \ + ld lf logo ls nolisten string noloadxkb nolock nopn \ + once p pn port probeonly query quiet r rgamma s \ + showconfig sp su t terminate to tst v verbose version \ + weight wm x xkbdb xkbmap)/' + complete vidcontrol 'p/1/(132x25 132x30 132x43 132x50 132x60 40x25 80x25 \ + 80x30 80x43 80x50 80x60 EGA_80x25 EGA_80x43 \ + VESA_132x25 VESA_132x30 VESA_132x43 VESA_132x50 \ + VESA_132x60 VESA_800x600 VGA_320x200 VGA_40x25 \ + VGA_80x25 VGA_80x30 VGA_80x50 VGA_80x60)/' + complete vim 'n/*/f:^*.[oa]/' + complete where 'n/*/c/' + complete which 'n/*/c/' + complete wmsetbg 'c/-/(display D S a b c d e m p s t u w)/' \ + 'c/--/(back-color center colors dither help match \ + maxscale parse scale smooth tile update-domain \ + update-wmaker version workspace)/' + complete xdb 'p/1/c/' + complete xdvi 'c/-/(allowshell debug display expert gamma hushchars \ + hushchecksums hushspecials install interpreter keep \ + margins nogrey noinstall nomakepk noscan paper safer \ + shrinkbuttonn thorough topmargin underlink version)/' \ + 'n/-paper/(a4 a4r a5 a5r)/' 'p/*/f:*.dvi/' + complete xlock 'c/-/(allowaccess allowroot debug description \ + echokeys enablesaver grabmouse grabserver hide inroot \ + install inwindow mono mousemotion nolock remote \ + resetsaver sound timeelapsed use3d usefirst verbose \ + wireframe background batchcount bg bitmap both3d \ + count cycles delay delta3d display dpmsoff \ + dpmsstandby dpmssuspend endCmd erasedelay erasemode \ + erasetime fg font foreground geometry help \ + icongeometry info invalid left3d lockdelay logoutCmd \ + mailCmd mailIcon message messagefile messagefont \ + messagesfile mode name ncolors nice nomailIcon none3d \ + parent password planfont program resources right3d \ + saturation size startCmd timeout username validate \ + version visual)/' 'n/-mode/(ant atlantis ball bat \ + blot bouboule bounce braid bubble bubble3d bug cage \ + cartoon clock coral crystal daisy dclock decay deco \ + demon dilemma discrete drift eyes fadeplot flag flame \ + flow forest galaxy gears goop grav helix hop hyper \ + ico ifs image invert julia kaleid kumppa lament laser \ + life life1d life3d lightning lisa lissie loop lyapunov \ + mandelbrot marquee matrix maze moebius morph3d \ + mountain munch nose pacman penrose petal pipes puzzle \ + pyro qix roll rotor rubik shape sierpinski slip sphere \ + spiral spline sproingies stairs star starfish strange \ + superquadrics swarm swirl tetris thornbird triangle \ + tube turtle vines voters wator wire world worm xjack \ + blank bomb random)/' + complete xfig 'c/-/(display)/' 'p/*/f:*.fig/' + complete wget c/--/"(accept= append-output= background cache= \ + continue convert-links cut-dirs= debug \ + delete-after directory-prefix= domains= \ + dont-remove-listing dot-style= exclude-directories= \ + exclude-domains= execute= follow-ftp \ + force-directories force-html glob= header= help \ + http-passwd= http-user= ignore-length \ + include-directories= input-file= level= mirror \ + no-clobber no-directories no-host-directories \ + no-host-lookup no-parent non-verbose \ + output-document= output-file= passive-ftp \ + proxy-passwd= proxy-user= proxy= quiet quota= \ + recursive reject= relative retr-symlinks save-headers \ + server-response span-hosts spider timeout= \ + timestamping tries= user-agent= verbose version wait=)"/ + + # More completions from waz@quahog.nl.nuwc.navy.mil (Tom Warzeka) + # this one works but is slow and doesn't descend into subdirectories + # complete cd C@[./\$~]*@d@ \ + # p@1@'`\ls -1F . $cdpath | grep /\$ | sort -u`'@ n@*@n@ + + if ( -r /etc/shells ) then + complete setenv p@1@e@ n@DISPLAY@\$hosts@: n@SHELL@'`cat /etc/shells`'@ 'c/*:/f/' + else + complete setenv p@1@e@ n@DISPLAY@\$hosts@: 'c/*:/f/' + endif + complete unsetenv n/*/e/ + + if (-r $HOME/.mailrc) then + complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ + c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:''/ \ + n@-u@T:$_maildir@ n/-f/f/ \ + n@*@'`sed -n s/alias//p $HOME/.mailrc | tr -s " " "\t" | cut -f 2`'@ + else + complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ + c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:''/ \ + n@-u@T:$_maildir@ n/-f/f/ n/*/u/ + endif + + + complete man n@[0-9n]@'`\ls -1fUA ${_manpath}$:-1/|&\sed \\%.\*:%d\;s%\\.$:-1.\*\$%%|\sort -u`'@ \ + c/-/"(- f k s t l)"/ n/-f/c/ n/-k/x:''/ n/-l/f/ C@./*@f@ n/*/c/ + + complete ps c/-t/x:''/ c/-/"(a c C e g k l S t u v w x)"/ \ + n/-k/x:''/ N/-k/x:''/ n/*/x:''/ + complete compress c/-/"(c f v b)"/ n/-b/x:''/ n/*/f:^*.Z/ + complete uncompress c/-/"(c f v)"/ n/*/f:*.Z/ + complete psompress c/-/"(d c f)"/ n/*/f:^*.Z/ + + complete uuencode p/1/f/ p/2/x:''/ n/*/n/ + complete uudecode c/-/"(f)"/ n/-f/f:*.{uu,UU}/ p/1/f:*.{uu,UU}/ n/*/n/ + + complete xhost c/[+-]/\$hosts/ n/*/\$hosts/ + + complete emacs c/-/"(batch d f funcall i insert kill l load \ + no-init-file nw q t u user)"/ c/+/x:''/ \ + n/-d/x:''/ n/-f/x:''/ n/-i/f/ \ + n@-l@F:/usr/share/emacs/@ \ + n/-t/x:''/ \ + n/-u/u/ n/*/f:^*{[\#~],.dvi,.o,.gz,.Z,.z,.zip}/ + + complete zcat c/--/"(force help license quiet version)"/ \ + c/-/"(f h L q V -)"/ n/*/f:*.{gz,Z,z,zip}/ + complete gzip c/--/"(stdout to-stdout decompress uncompress \ + force help list license no-name quiet recurse \ + suffix test verbose version fast best)"/ \ + c/-/"(c d f h l L n q r S t v V 1 2 3 4 5 6 7 8 9 -)"/ \ + n/{-S,--suffix}/x:''/ \ + n/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \ + N/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \ + n/*/f:^*.{gz,Z,z,zip,taz,tgz}/ + complete {gunzip,ungzip} c/--/"(stdout to-stdout force help list license \ + no-name quiet recurse suffix test verbose version)"/ \ + c/-/"(c f h l L n q r S t v V -)"/ \ + n/{-S,--suffix}/x:''/ \ + n/*/f:*.{gz,Z,z,zip,taz,tgz,tar.gz}/ + complete zgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ + c/-/"(A b B c C e f h i l n s v V w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ + complete zegrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ + c/-/"(A b B c C e f h i l n s v V w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ + complete zfgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ + c/-/"(A b B c C e f h i l n s v V w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ + complete znew c/-/"(f t v 9 P K)"/ n/*/f:*.Z/ + complete zmore n/*/f:*.{gz,Z,z,zip,bz2}/ + complete zfile n/*/f:*.{gz,Z,z,zip,taz,tgz}/ + complete ztouch n/*/f:*.{gz,Z,z,zip,taz,tgz}/ + complete zforce n/*/f:^*.{gz,taz,tgz}/ + + complete grep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ + c/--/"(extended-regexp fixed-regexp basic-regexp \ + regexp file ignore-case word-regexp line-regexp \ + no-messages revert-match version help byte-offset \ + line-number with-filename no-filename quiet silent \ + text directories recursive files-without-match \ + files-with-matches count before-context after-context \ + context binary unix-byte-offsets)"/ \ + c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V v w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ + complete egrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ + c/--/"(extended-regexp fixed-regexp basic-regexp \ + regexp file ignore-case word-regexp line-regexp \ + no-messages revert-match version help byte-offset \ + line-number with-filename no-filename quiet silent \ + text directories recursive files-without-match \ + files-with-matches count before-context after-context \ + context binary unix-byte-offsets)"/ \ + c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V v w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ + complete fgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ + c/--/"(extended-regexp fixed-regexp basic-regexp \ + regexp file ignore-case word-regexp line-regexp \ + no-messages revert-match version help byte-offset \ + line-number with-filename no-filename quiet silent \ + text directories recursive files-without-match \ + files-with-matches count before-context after-context \ + context binary unix-byte-offsets)"/ \ + c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V v w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ + + complete users c/--/"(help version)"/ p/1/x:''/ + complete who c/--/"(heading mesg idle count help message version \ + writable)"/ c/-/"(H T w i u m q s -)"/ \ + p/1/x:''/ n/am/"(i)"/ n/are/"(you)"/ + + complete chown c/--/"(changes dereference no-dereference silent \ + quiet reference recursive verbose help version)"/ \ + c/-/"(c f h R v -)"/ C@[./\$~]@f@ c/*[.:]/g/ \ + n/-/u/: p/1/u/. n/*/f/ + complete chgrp c/--/"(changes no-dereference silent quiet reference \ + recursive verbose help version)"/ \ + c/-/"(c f h R v -)"/ n/-/g/ p/1/g/ n/*/f/ + complete chmod c/--/"(changes silent quiet verbose reference \ + recursive help version)"/ c/-/"(c f R v)"/ + complete df c/--/"(all block-size human-readable si inodes \ + kilobytes local megabytes no-sync portability sync \ + type print-type exclude-type help version)"/ \ + c/-/"(a H h i k l m P T t v x)"/ + complete du c/--/"(all block-size bytes total dereference-args \ + human-readable si kilobytes count-links dereference \ + megabytes separate-dirs summarize one-file-system \ + exclude-from exclude max-depth help version"/ \ + c/-/"(a b c D H h k L l m S s X x)"/ + + complete cat c/--/"(number-nonblank number squeeze-blank show-all \ + show-nonprinting show-ends show-tabs help version)"/ \ + c/-/"(b e n s t u v A E T -)"/ n/*/f/ + complete mv c/--/"(backup force interactive update verbose suffix \ + version-control help version)"/ \ + c/-/"(b f i u v S V -)"/ \ + n/{-S,--suffix}/x:''/ \ + n/{-V,--version-control}/"(t numbered nil existing \ + never simple)"/ n/-/f/ N/-/d/ p/3-/d/ n/*/f/ + complete cp c/--/"(archive backup no-dereference force \ + interactive link preserve parents sparse recursive \ + symbolic-link suffix update verbose version-control \ + one-file-system help version)"/ \ + c/-/"(a b d f i l P p R r S s u V v x -)"/ \ + n/-*r/d/ n/{-S,--suffix}/x:''/ \ + n/{-V,--version-control}/"(t numbered nil existing \ + never simple)"/ n/-/f/ N/-/d/ p/3-/d/ n/*/f/ + complete ln c/--/"(backup directory force no-dereference \ + interactive symbolic suffix verbose version-control \ + help version)"/ \ + c/-/"(b d F f i n S s V v -)"/ \ + n/{-S,--suffix}/x:''/ \ + n/{-V,--version-control}/"(t numbered nil existing \ + never simple)"/ n/-/f/ N/-/x:''/ \ + p/1/f/ p/2/x:''/ + complete touch c/--/"(date reference time help version)"/ \ + c/-/"(a c d f m r t -)"/ \ + n/{-d,--date}/x:''/ \ + c/--time/"(access atime mtime modify use)"/ \ + n/{-r,--file}/f/ n/-t/x:''/ n/*/f/ + complete mkdir c/--/"(mode parents verbose help version)"/ \ + c/-/"(p m -)"/ \ + n/{-m,--mode}/x:''/ n/*/d/ + complete rmdir c/--/"(ignore-fail-on-non-empty parents verbose help \ + version)"/ c/-/"(p -)"/ n/*/d/ + + complete tar c/-[Acru]*/"(b B C f F g G h i l L M N o P \ + R S T v V w W X z Z j I)"/ \ + c/-[dtx]*/"( B C f F g G i k K m M O p P \ + R s S T v w x X z Z j I)"/ \ + p/1/"(A c d r t u x -A -c -d -r -t -u -x \ + --catenate --concatenate --create --diff --compare \ + --delete --append --list --update --extract --get \ + --help --version)"/ \ + c/--/"(catenate concatenate create diff compare \ + delete append list update extract get atime-preserve \ + block-size read-full-blocks directory checkpoint file \ + force-local info-script new-volume-script incremental \ + listed-incremental dereference ignore-zeros \ + ignore-failed-read keep-old-files starting-file \ + one-file-system tape-length modification-time \ + multi-volume after-date newer old-archive portability \ + to-stdout same-permissions preserve-permissions \ + absolute-paths preserve record-number remove-files \ + same-order preserve-order same-owner sparse \ + files-from null totals verbose label version \ + interactive confirmation verify exclude exclude-from \ + compress uncompress gzip ungzip use-compress-program \ + block-compress help version)"/ \ + c/-/"(b B C f F g G h i k K l L m M N o O p P R s S \ + T v V w W X z Z 0 1 2 3 4 5 6 7 -)"/ \ + C@[/dev]@f@ \ + n/-c*{zf,fz}/x:''/ \ + n/-c*{jf,fj}/x:''/ \ + n/-c*f/x:''/ \ + n/-[Adrtuxv]*{zf,fz}/f:*.{tar.gz,tgz}/ n/-[Adrtuxv]*{jf,fj}/f:*.tar.bz2/ \ + n/{-[Adrtuxv]*f,--file}/f:*.tar/ \ + N/-x*{zf,fz}/'`tar -tzf $:-1`'/ N/-x*{jf,fj}/'`tar -tjf $:-1`'/ \ + N/{-x*f,--file}/'`tar -tf $:-1`'/ \ + n/--use-compress-program/c/ \ + n/{-b,--block-size}/x:''/ \ + n/{-V,--label}/x:''/ \ + n/{-N,--{after-date,newer}}/x:''/ \ + n/{-L,--tape-length}/x:''/ \ + n/{-C,--directory}/d/ \ + N/{-C,--directory}/'`\ls $:-1`'/ \ + n/-[0-7]/"(l m h)"/ + + complete mount c/-/"(a n v t r w)"/ n/-t/"(minix iso9660 msdos vfat ext2 nfs proc)"/ \ + 'C@/de@F@' 'C@/*@F@@' 'n@*@`grep -E -v \(^#\|^\$\) /etc/fstab|awk \{\ print\ \$2\ \}`@' + complete umount c/-/"(a n t)"/ n/-t/"(minix iso9660 msdos ext2 nfs proc)"/ \ + n/*/'`mount | cut -d " " -f 3`'/ + + # these deal with NIS (formerly YP); if it's not running you don't need 'em + complete domainname p@1@D:$_ypdir@" " n@*@n@ + complete ypcat c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ + N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\&\ sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ + p/1/"(aliases ethers passwd group hosts netid.byname networks protocols \ + rpc.byname services)"/ + complete ypmatch c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ + N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\&\ sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ + n@-@x:''@ p@1@x:''@ \ + p/1/"(aliases ethers passwd group hosts netid.byname networks protocols \ + rpc.byname services)"/ + complete ypwhich c@-@"(d m t x V1 V2)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ + n@-m@\`\\ls\ -1\ $_ypdir/$_domain\ \|\&\sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ + N@-m@n@ n@*@\$hosts@ + + # there's no need to clutter the user's shell with these + unset _maildir _ypdir _domain + + if ( -r /etc/printcap ) then + set printers=(`sed -n -e '/^[^ #][^:]*:/{s/|.*:.*//p;}' /etc/printcap | sort -u`) + + complete lpr 'c/-P/$printers/' + complete lpq 'c/-P/$printers/' + complete lprm 'c/-P/$printers/' + complete lpquota 'p/1/(-Qprlogger)/' 'c/-P/$printers/' + complete dvips 'c/-P/$printers/' 'n/-o/f:*.{ps,PS}/' 'n/*/f:*.dvi/' + complete dvilj 'p/*/f:*.dvi/' + endif + + unset noglob +# +# complete.tcsh ends here +# diff --git a/tcsh-6.14.00-bsdsignals.dif b/tcsh-6.14.00-bsdsignals.dif deleted file mode 100644 index 0dc51ef..0000000 --- a/tcsh-6.14.00-bsdsignals.dif +++ /dev/null @@ -1,34 +0,0 @@ ---- tc.sig.c -+++ tc.sig.c 2005-08-17 14:10:52.000000000 +0200 -@@ -266,7 +266,7 @@ - * Set a new signal mask. Return old mask. - */ - sigmask_t --sigsetmask(mask) -+bsd_sigsetmask(mask) - sigmask_t mask; - { - sigset_t set, oset; -@@ -302,7 +302,7 @@ - * Return old mask. - */ - sigmask_t --sigblock(mask) -+bsd_sigblock(mask) - sigmask_t mask; - { - sigset_t set, oset; ---- tc.sig.h -+++ tc.sig.h 2005-08-17 14:10:34.000000000 +0200 -@@ -154,6 +154,11 @@ - # undef signal - # endif /* WINNT_NATIVE */ - # define signal(a, b) bsd_signal(a, b) -+# define sigblock(a) bsd_sigblock(a) -+# define sigsetmask(a) bsd_sigsetmask(a) -+extern sigmask_t bsd_sigsetmask(sigmask_t mask); -+extern sigmask_t bsd_sigblock (sigmask_t mask); -+extern void bsd_sigpause (sigmask_t mask); - # endif /* POSIXSIGS */ - # ifndef _SEQUENT_ - # define sighold(s) sigblock(sigmask(s)) diff --git a/tcsh-6.14.00-pipe.dif b/tcsh-6.14.00-pipe.dif deleted file mode 100644 index e9ae5a3..0000000 --- a/tcsh-6.14.00-pipe.dif +++ /dev/null @@ -1,11 +0,0 @@ ---- sh.dol.c.xxx 2006-02-06 18:37:44.000000000 +0000 -+++ sh.dol.c 2006-02-06 18:41:05.000000000 +0000 -@@ -486,6 +486,8 @@ - char cbuf[MB_LEN_MAX]; - size_t cbp = 0; - -+ memset(&cbuf[0], 0, sizeof(cbuf)); -+ - #ifdef BSDSIGS - sigmask_t omask = sigsetmask(sigblock(0) & ~sigmask(SIGINT)); - #else /* !BSDSIGS */ diff --git a/tcsh-6.14.00-tabexpand.dif b/tcsh-6.14.00-tabexpand.dif deleted file mode 100644 index 26114b2..0000000 --- a/tcsh-6.14.00-tabexpand.dif +++ /dev/null @@ -1,11 +0,0 @@ ---- tw.parse.c -+++ tw.parse.c 2006-06-21 09:59:35.000000000 +0000 -@@ -1438,6 +1438,8 @@ - *target; /* Target to expand/correct/list */ - DIR *dir_fd = NULL; - -+ exp_name[0] = '\0'; /* Do not core dump by overwriting memory */ -+ - USE(wp); - - /* diff --git a/tcsh-6.14.00-utf8.dif b/tcsh-6.14.00-utf8.dif deleted file mode 100644 index 7068d47..0000000 --- a/tcsh-6.14.00-utf8.dif +++ /dev/null @@ -1,13 +0,0 @@ ---- sh.func.c -+++ sh.func.c 2005-08-18 14:15:31.000000000 +0200 -@@ -2515,9 +2515,7 @@ - short2str(varval(STRcatalog))); - catd = catopen(catalog, MCLoadBySet); - #ifdef HAVE_ICONV -- /* catgets (), not CGETS, the charset name should be in ASCII anyway. */ -- catgets_iconv = iconv_open (nl_langinfo (CODESET), -- catgets(catd, 255, 1, "ASCII")); -+ catgets_iconv = iconv_open(nl_langinfo(CODESET), "UTF-8"); - #endif /* HAVE_ICONV */ - #endif /* NLS_CATALOGS */ - #ifdef WINNT_NATIVE diff --git a/tcsh-6.14.00.dif b/tcsh-6.14.00.dif deleted file mode 100644 index 798e389..0000000 --- a/tcsh-6.14.00.dif +++ /dev/null @@ -1,2101 +0,0 @@ ---- .pkgextract -+++ .pkgextract 2006-04-25 14:58:31.000000000 +0200 -@@ -0,0 +1,4 @@ -+patch -p0 -s --suffix=.spell < ../tcsh-6.14.00-spelling.dif -+patch -p0 -s --suffix=.bsdsig < ../tcsh-6.14.00-bsdsignals.dif -+patch -p0 -s --suffix=.utf8 < ../tcsh-6.14.00-utf8.dif -+patch -p0 -s --suffix=.pipe < ../tcsh-6.14.00-pipe.dif ---- Makefile.in -+++ Makefile.in 2006-04-25 14:58:31.000000000 +0200 -@@ -8,7 +8,7 @@ - # things; Paul Placeway, CIS Dept., Ohio State University - # - SHELL=/bin/sh --VERSION=6.12 -+VERSION=6.14 - BUILD=tcsh$(EXEEXT) - VPATH=@srcdir@ - srcdir=@srcdir@ -@@ -474,12 +474,12 @@ - @vgrind -t -x -h Index index >/crp/bill/csh/index.t - - install-strip: install -+ -strip ${DESTBIN}/tcsh$(EXEEXT) - - install: tcsh$(EXEEXT) - -mkdir -p ${DESTBIN} - -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old - cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT) -- -strip ${DESTBIN}/tcsh$(EXEEXT) - chmod 755 ${DESTBIN}/tcsh$(EXEEXT) - - install.man: tcsh.man ---- config_f.h -+++ config_f.h 2006-04-25 14:58:31.000000000 +0200 -@@ -69,12 +69,17 @@ - * if you don't have , you don't want - * to define this. - */ --#undef NLS_CATALOGS -+#define NLS_CATALOGS - - /* -- * LOGINFIRST Source ~/.login before ~/.cshrc -+ * LOGINFIRST Source /etc/csh.login before /etc/csh.cshrc - */ --#undef LOGINFIRST -+#define LOGINFIRST -+ -+/* -+ * USERLOGINFIRST Source ~/.login before ~/.cshrc -+ */ -+#undef USERLOGINFIRST - - /* - * VIDEFAULT Make the VI mode editor the default -@@ -149,7 +154,7 @@ - * This can be much slower and no memory statistics will be - * provided. - */ --#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) -+#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined(linux) - # define SYSMALLOC - #else - # undef SYSMALLOC -@@ -168,7 +173,7 @@ - * successful, set $REMOTEHOST to the name or address of the - * host - */ --#define REMOTEHOST -+#undef REMOTEHOST - - /* - * COLOR_LS_F Do you want to use builtin color ls-F ? -@@ -191,7 +196,7 @@ - * RCSID This defines if we want rcs strings in the binary or not - * - */ --#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) -+#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) && !defined(__linux__) - # ifndef __GNUC__ - # define RCSID(id) static char *rcsid = (id); - # else ---- glob.h -+++ glob.h 2006-04-25 14:58:31.000000000 +0200 -@@ -72,6 +72,7 @@ - #define GLOB_NOSYS (-4) /* Implementation does not support function. */ - - /* #if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) */ -+#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE || defined _GNU_SOURCE) - #define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */ - #define GLOB_BRACE 0x0080 /* Expand braces ala csh. */ - #define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */ -@@ -82,7 +83,7 @@ - #define GLOB_QUOTE 0x2000 /* XXX: source compatibility */ - - #define GLOB_ABEND GLOB_ABORTED /* source compatibility */ --/* #endif */ -+#endif - - #include "tc.nls.h" - ---- host.defs -+++ host.defs 2006-04-25 14:58:31.000000000 +0200 -@@ -111,7 +111,7 @@ - /* - * On convex, find the current machine type via the getsysinfo() syscall - */ --#include -+# include - - /* From: fox@convex.com (David DeSimone) */ - static char * -@@ -169,6 +169,32 @@ - endcode : - enddef : - -+newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__) -+comment : Linus Torvalds's linux -+newcode : -+# include -+static char * gethost() __attribute__ ((unused)); -+static char * getmach() __attribute__ ((unused)); -+static char * getmach() -+{ -+ static char* mach = "unknown"; -+ struct utsname uts; -+ if (uname(&uts) == 0) -+ mach = uts.machine; -+ return mach; -+} -+static char * gethost() -+{ -+ static char host[256]; -+ struct utsname uts; -+ if (uname(&uts) == 0) -+ xsnprintf(host, sizeof(host), "%s-linux", uts.machine); -+ else -+ xsnprintf(host, sizeof(host), "unknown-linux"); -+ return host; -+} -+endcode : -+enddef : - - newcode : - void -@@ -435,17 +461,18 @@ - enddef : - - --newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__) --comment : Linus Torvalds's linux -+vendor : defined(SuSE) : "suse" - vendor : defined(M_intel) : "intel" - hosttype: defined(__ia64__) : "ia64-linux" - hosttype: defined(__powerpc64__) : "powerpc64-linux" - hosttype: defined(__s390x__) : "s390x-linux" - hosttype: defined(__s390__) : "s390-linux" - hosttype: defined(__x86_64__) : "x86_64-linux" -+hosttype: defined(M_i686) : "i686-linux" - hosttype: defined(M_i586) : "i586-linux" - hosttype: defined(M_i486) : "i486-linux" - hosttype: defined(M_i386) : "i386-linux" -+hosttype: : gethost() - ostype : !defined(PPC) : "linux" - ostype : defined(PPC) : "mklinux" - machtype: defined(__ia64__) : "ia64" -@@ -453,9 +480,11 @@ - machtype: defined(__s390x__) : "s390x" - machtype: defined(__s390__) : "s390" - machtype: defined(__x86_64__) : "x86_64" -+machtype: defined(M_i686) : "i686" - machtype: defined(M_i586) : "i586" - machtype: defined(M_i486) : "i486" - machtype: defined(M_i386) : "i386" -+machtype: : getmach() - vendor : defined(__alpha) : "dec" - vendor : defined(PPC) : "apple" - hosttype: defined(__alpha) : "alpha" -@@ -466,6 +495,7 @@ - machtype: defined(M_mipseb) : "mipseb" - machtype: defined(M_mips64el) : "mips64el" - machtype: defined(M_mips64eb) : "mips64eb" -+machtype: : getmach() - enddef : - - ---- pathnames.h -+++ pathnames.h 2006-04-25 14:58:31.000000000 +0200 -@@ -33,7 +33,7 @@ - #ifndef _h_pathnames - #define _h_pathnames - --#ifdef BSD4_4 -+#if defined(BSD4_4) || defined(linux) - # include - #endif - -@@ -84,7 +84,7 @@ - # endif /* !_PATH_DOTLOGIN */ - #endif /* sgi || OREO || cray || AMIX || CDC */ - --#if (defined(_CRAYCOM) || defined(Lynx)) && !defined(_PATH_TCSHELL) -+#if (defined(_CRAYCOM) || defined(Lynx) || defined(linux)) && !defined(_PATH_TCSHELL) - # define _PATH_TCSHELL "/bin/tcsh" /* 1st class shell */ - #endif /* _CRAYCOM && !_PATH_TCSHELL */ - ---- sh.c -+++ sh.c 2006-04-25 14:58:31.000000000 +0200 -@@ -475,7 +475,8 @@ - if (loginsh || (uid == 0)) { - if (*cp) { - /* only for login shells or root and we must have a tty */ -- if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) { -+ if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) && -+ (Strncmp(cp, STRpts, 3) != 0)) { - cp = cp2 + 1; - } - else -@@ -737,7 +738,16 @@ - shtemp = Strspl(SAVE(strtmp2), doldol); /* For << */ - } - #else /* !WINNT_NATIVE */ -+#if defined(__GLIBC__) && __GLIBC__ >= 2 -+ { -+ char *tmpdir = getenv ("TMPDIR"); -+ if (!tmpdir) -+ tmpdir = "/tmp"; -+ shtemp = Strspl(SAVE(tmpdir), SAVE("/sh.XXXXXX")); /* For << */ -+ } -+#else - shtemp = Strspl(STRtmpsh, doldol); /* For << */ -+#endif /* __GLIBC__ */ - #endif /* WINNT_NATIVE */ - - /* -@@ -786,9 +796,9 @@ - /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ - #if defined(DSPMBYTE) - #if defined(NLS) && defined(LC_CTYPE) -- if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL) && !adrof(CHECK_MBYTEVAR)) { -+ if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL)) { - #else -- if ((tcp = getenv("LANG")) != NULL && !adrof(CHECK_MBYTEVAR)) { -+ if ((tcp = getenv("LANG")) != NULL) { - #endif - autoset_dspmbyte(str2short(tcp)); - } -@@ -1311,6 +1321,9 @@ - setintr = osetintr; - parintr = oparintr; - } -+#ifndef USERLOGINFIRST -+# undef LOGINFIRST -+#endif - #ifdef LOGINFIRST - if (loginsh) - (void) srccat(varval(STRhome), STRsldotlogin); -@@ -1667,6 +1680,7 @@ - Char **av; - { - struct saved_state st; -+ st.mask = (sigmask_t)0; - st.SHIN = -1; /* st_restore checks this */ - - if (unit < 0) ---- sh.dol.c -+++ sh.dol.c 2006-04-25 14:58:31.000000000 +0200 -@@ -30,6 +30,7 @@ - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -+#include - #include "sh.h" - - RCSID("$Id: sh.dol.c,v 3.55 2004/12/25 21:15:06 christos Exp $") -@@ -1029,6 +1030,29 @@ - Char *lbp, *obp, *mbp; - Char **vp; - int quoted; -+#if defined(__GLIBC__) && __GLIBC__ >= 2 -+ char *tmp = short2str(shtemp); -+ char *dot = strrchr(tmp, '.'); -+ int fd; -+ -+ if (!dot) -+ stderror(ERR_NAME | ERR_NOMATCH); -+ strcpy(dot, ".XXXXXX"); -+ -+ if ((fd = mkstemp(tmp)) < 0) -+ stderror(ERR_SYSTEM, tmp, strerror(errno)); -+ -+# ifndef O_TEMPORARY -+# define O_TEMPORARY 0 -+# endif -+ (void) close(0); -+ if (open(tmp, O_RDWR|O_TEMPORARY) == -1) { -+ int oerrno = errno; -+ (void) unlink(tmp); -+ errno = oerrno; -+ stderror(ERR_SYSTEM, tmp, strerror(errno)); -+ } -+#else /* !__GLIBC__ */ - char *tmp; - #ifndef WINNT_NATIVE - struct timeval tv; -@@ -1064,6 +1088,7 @@ - errno = oerrno; - stderror(ERR_SYSTEM, tmp, strerror(errno)); - } -+#endif /* !__GLIBC__ */ - (void) unlink(tmp); /* 0 0 inode! */ - Dv[0] = term; - Dv[1] = NULL; -@@ -1207,4 +1232,7 @@ - if (pargv) - blkfree(pargv), pargv = 0; - } -+#if defined(__GLIBC__) && __GLIBC__ >= 2 -+ close(fd); -+#endif - } ---- sh.exec.c -+++ sh.exec.c 2006-04-25 14:58:31.000000000 +0200 -@@ -308,8 +308,9 @@ - #endif /* COHERENT */ - - texec(*av, av); --} -- else { -+ -+ } else { -+ - dp = Strspl(*pv, sav); - #ifdef VFORK - Vdp = dp; ---- sh.func.c -+++ sh.func.c 2006-04-25 14:58:31.000000000 +0200 -@@ -1365,14 +1365,6 @@ - } - #endif /* apollo */ - -- /* dspkanji/dspmbyte autosetting */ -- /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ --#if defined(DSPMBYTE) -- if(eq(vp, STRLANG) && !adrof(CHECK_MBYTEVAR)) { -- autoset_dspmbyte(lp); -- } --#endif -- - if (islocale_var(vp)) { - #ifdef NLS - int k; -@@ -1394,6 +1386,13 @@ - nlsclose(); - nlsinit(); - # endif /* NLS_CATALOGS */ -+# if defined(DSPMBYTE) -+ /* dspkanji/dspmbyte autosetting */ -+ /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ -+ if (eq(vp, STRLANG)) { -+ autoset_dspmbyte(lp); -+ } -+# endif - # ifdef SETLOCALEBUG - dont_free = 0; - # endif /* SETLOCALEBUG */ ---- sh.glob.c -+++ sh.glob.c 2006-04-25 14:58:31.000000000 +0200 -@@ -280,7 +280,7 @@ - if (s[0] == '{' && (s[1] == '\0' || (s[1] == '}' && s[2] == '\0'))) - continue; - if ((b = Strchr(s, '{')) != NULL) { -- Char **bl; -+ Char **bl = NULL; - int len; - - if ((len = globbrace(s, b, &bl)) < 0) { ---- sh.h -+++ sh.h 2006-04-25 14:58:31.000000000 +0200 -@@ -276,7 +276,7 @@ - # else - # include - # endif /* _UWIN */ --# if SYSVREL > 3 -+# if SYSVREL > 3 || defined(linux) - # undef TIOCGLTC /* we don't need those, since POSIX has them */ - # undef TIOCSLTC - # undef CSWTCH -@@ -330,6 +330,12 @@ - #if !((defined(SUNOS4) || defined(_MINIX) /* || defined(DECOSF1) */) && defined(TERMIO)) - # if !defined(COHERENT) && !defined(_VMS_POSIX) && !defined(WINNT_NATIVE) - # include -+# if SYSVREL > 3 || defined(linux) -+# undef TIOCGLTC /* we don't need those, since POSIX has them */ -+# undef TIOCSLTC -+# undef CSWTCH -+# define CSWTCH _POSIX_VDISABLE /* So job control works */ -+# endif /* SYSVREL > 3 */ - # endif - #endif - -@@ -542,8 +548,14 @@ - * April, 1980 - */ - --#if !defined(MAXNAMLEN) && defined(_D_NAME_MAX) --# define MAXNAMLEN _D_NAME_MAX -+#if !defined(MAXNAMLEN) -+# if defined(_D_NAME_MAX) -+# define MAXNAMLEN _D_NAME_MAX -+# elif defined(PATH_MAX) -+# define MAXNAMLEN PATH_MAX -+# else -+# error Unknown MAXNAMLEN -+# endif - #endif /* MAXNAMLEN */ - - #ifdef HESIOD -@@ -1255,9 +1267,7 @@ - # ifdef NLS_CATALOGS - # if defined(linux) || defined(__GNU__) || defined(__GLIBC__) - # include --# ifdef notdef --# include /* Has this changed ? */ --# endif -+# include - # include - # endif - # ifdef SUNOS4 ---- sh.lex.c -+++ sh.lex.c 2006-04-25 14:58:31.000000000 +0200 -@@ -1596,7 +1596,7 @@ - int ctpgrp; - #endif /* BSDJOBS */ - -- if (numeof != 0 && ++sincereal >= numeof) /* Too many EOFs? Bye! */ -+ if (++sincereal >= numeof) /* Too many EOFs? Bye! */ - goto oops; - #ifdef BSDJOBS - if (tpgrp != -1 && ---- sh.sem.c -+++ sh.sem.c 2006-04-25 14:58:31.000000000 +0200 -@@ -647,10 +647,19 @@ - * possible stopping - */ - if (bifunc) { -- func(t, bifunc); -- if (forked) -+ if (forked) { -+ func(t, bifunc); - exitstat(); -- else { -+ } else { -+ jmp_buf_t oldexit; -+ int ohaderr = haderr; -+ -+ getexit(oldexit); -+ if (setexit() == 0) -+ func(t, bifunc); -+ resexit(oldexit); -+ haderr = ohaderr; -+ - if (adrof(STRprintexitvalue)) { - int rv = getn(varval(STRstatus)); - if (rv != 0) ---- sh.set.c -+++ sh.set.c 2006-04-25 14:58:31.000000000 +0200 -@@ -1131,11 +1131,11 @@ - dstr1 = vp->vec[0]; - if(eq (dstr1, STRsjis)) - iskcode = 1; -- else if (eq(dstr1, STReuc)) -+ else if (eq(dstr1, STReuc) || eq(dstr1, STReucjp) || eq(dstr1, STRGB2312)) - iskcode = 2; - else if (eq(dstr1, STRbig5)) - iskcode = 3; -- else if (eq(dstr1, STRutf8)) -+ else if (eq(dstr1, STRutf8) || eq(dstr1, STRutfx8)) - iskcode = 4; - else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) { - iskcode = 0; -@@ -1219,7 +1219,7 @@ - _enable_mbdisp = 0; - dspmbyte_ls = 0; - } --#ifdef MBYTEDEBUG /* Sorry, use for beta testing */ -+# ifdef MBYTEDEBUG /* Sorry, use for beta testing */ - { - Char mbmapstr[300]; - for (lp = 0; lp < 256; lp++) { -@@ -1228,7 +1228,7 @@ - } - set(STRmbytemap, Strsave(mbmapstr), VAR_READWRITE); - } --#endif /* MBYTEMAP */ -+# endif /* MBYTEMAP */ - } - - /* dspkanji/dspmbyte autosetting */ -@@ -1238,6 +1238,7 @@ - Char *pcp; - { - int i; -+ struct varent *vp; - struct dspm_autoset_Table { - Char *n; - Char *v; -@@ -1260,13 +1261,18 @@ - #ifdef HAVE_NL_LANGINFO - struct dspm_autoset_Table dspmc[] = { - { STRstarutfstar8, STRutf8 }, -+ { STRutfx8, STRutf8 }, - { STReuc, STReuc }, -+ { STReucjp, STReuc }, - { STRGB2312, STReuc }, - { STRLANGBIG5, STRbig5 }, - { NULL, NULL } - }; - Char *codeset; - -+ if ((vp = adrof(CHECK_MBYTEVAR))) -+ unsetv1(vp); -+ - codeset = str2short(nl_langinfo(CODESET)); - if (*codeset != '\0') { - for (i = 0; dspmc[i].n; i++) { ---- tc.alloc.c -+++ tc.alloc.c 2006-04-25 14:58:31.000000000 +0200 -@@ -488,7 +488,7 @@ - { - ptr_t ptr; - -- n = n ? n : 1; -+ n = n ? n+1 : 1; - - #ifdef HAVE_SBRK - if (membot == NULL) -@@ -515,7 +515,7 @@ - { - ptr_t ptr; - -- n = n ? n : 1; -+ n = n ? n+1 : 1; - - #ifdef HAVE_SBRK - if (membot == NULL) -@@ -543,7 +543,7 @@ - ptr_t ptr; - - n *= s; -- n = n ? n : 1; -+ n = n ? n+1 : 1; - - #ifdef HAVE_SBRK - if (membot == NULL) -@@ -575,8 +575,10 @@ - sfree(p) - ptr_t p; - { -- if (p && !dont_free) -+ if (p && !dont_free) { - free(p); -+ p = (ptr_t)NULL; -+ } - } - - #endif /* SYSMALLOC */ ---- tc.const.c -+++ tc.const.c 2006-04-25 14:58:31.000000000 +0200 -@@ -127,10 +127,12 @@ - Char STRmmliteral[] = { '-', '-', 'l', 'i', 't', 'e', 'r', 'a', 'l', '\0' }; - # endif - Char STReuc[] = { 'e', 'u', 'c', '\0' }; -+Char STReucjp[] = { 'e', 'u', 'c', '-', 'j', 'p', '\0' }; - Char STRsjis[] = { 's', 'j', 'i', 's', '\0' }; - Char STRbig5[] = { 'b', 'i', 'g', '5', '\0' }; - Char STRutf8[] = { 'u', 't', 'f', '8', '\0' }; - Char STRstarutfstar8[] = { '*', 'u', 't', 'f', '*', '8', '\0' }; -+Char STRutfx8[] = { 'u', 't', 'f', '-', '8', '\0' }; - Char STRGB2312[] = { 'g', 'b', '2', '3', '1', '2', '\0' }; - # ifdef MBYTEDEBUG /* Sorry, use for beta testing */ - Char STRmbytemap[] = { 'm', 'b', 'y', 't', 'e', 'm', 'a', 'p', '\0' }; -@@ -427,7 +429,7 @@ - Char STRshlvl[] = { 's', 'h', 'l', 'v', 'l', '\0' }; - Char STRKSHLVL[] = { 'S', 'H', 'L', 'V', 'L', '\0' }; - Char STRLANG[] = { 'L', 'A', 'N', 'G', '\0' }; --Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' }; -+Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' }; - Char STRLC_CTYPE[] = { 'L', 'C', '_', 'C', 'T', 'Y', 'P', 'E' ,'\0' }; - Char STRLC_NUMERIC[] = { 'L', 'C', '_', 'N', 'U', 'M', 'E', 'R', 'I', - 'C', '\0' }; ---- tc.decls.h -+++ tc.decls.h 2006-04-25 14:58:31.000000000 +0200 -@@ -77,7 +77,7 @@ - extern Char *expand_lex __P((Char *, size_t, struct wordent *, - int, int)); - extern Char *sprlex __P((Char *, size_t, struct wordent *)); --extern Char *Itoa __P((int, Char *, int, int)); -+extern Char *Itoa __P((int, Char *, size_t, int)); - extern void dolist __P((Char **, struct command *)); - extern void dotermname __P((Char **, struct command *)); - extern void dotelltc __P((Char **, struct command *)); ---- tc.func.c -+++ tc.func.c 2006-04-25 14:58:31.000000000 +0200 -@@ -197,7 +197,8 @@ - Itoa(n, s, min_digits, attributes) - int n; - Char *s; -- int min_digits, attributes; -+ size_t min_digits; -+ int attributes; - { - /* - * The array size here is derived from -@@ -756,9 +757,14 @@ - - # define XCRYPT(a, b) crypt(a, b) - -- if ((pw = getpwuid(euid)) != NULL && /* effective user passwd */ -- (spw = getspnam(pw->pw_name)) != NULL) /* shadowed passwd */ -- srpp = spw->sp_pwdp; -+ if ( (pw = getpwuid(euid)) != NULL ) { /* effective user passwd */ -+ if ( (spw = getspnam(pw->pw_name)) != NULL ) /* shadowed passwd */ -+ srpp = spw->sp_pwdp; -+ else -+ srpp = pw->pw_passwd; /* nis extended passwd? */ -+ } -+ endspent(); -+ endpwent(); - - #else - -@@ -2168,7 +2174,7 @@ - * have not caught up yet. - */ - addr.s_addr = inet_addr(name); -- if (addr.s_addr != (unsigned int)~0) -+ if (addr.s_addr != ~0U) - host = name; - else { - if (sptr != name) { ---- tc.str.c -+++ tc.str.c 2006-04-25 14:58:31.000000000 +0200 -@@ -314,7 +314,7 @@ - { - size_t n; - -- for (n = 0; *str++; n++) -+ for (n = 0; str && *str; n++, str++) - continue; - return (n); - } ---- tc.who.c -+++ tc.who.c 2006-04-25 14:58:31.000000000 +0200 -@@ -282,6 +282,9 @@ - } - stlast = sta.st_mtime; - #ifdef HAVE_GETUTENT -+# ifndef HAVE_UTMPX_H -+ utmpname( _PATH_UTMP ); -+# endif - setutent(); - #else - if ((utmpfd = open(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) { ---- tcsh.man -+++ tcsh.man 2006-04-25 14:58:31.000000000 +0200 -@@ -566,7 +566,7 @@ - changes to the next previous word etc., skipping identical matches - much like \fIhistory-search-backward\fR does. - .TP 8 --.B delete-char \fR(not bound) -+.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR) - Deletes the character under the cursor. - See also \fIdelete-char-or-list-or-eof\fR. - .TP 8 ---- tw.color.c -+++ tw.color.c 2006-04-25 14:59:08.000000000 +0200 -@@ -80,6 +80,11 @@ - #endif - VAR(NOS, "rc", "m"), /* Right code */ - VAR(NOS, "ec", ""), /* End code (replaces lc+no+rc) */ -+ VAR(NOS, "st", ""), /* Ignore */ -+ VAR(NOS, "su", ""), /* Ignore */ -+ VAR(NOS, "sg", ""), /* Ignore */ -+ VAR(NOS, "tw", ""), /* Ignore */ -+ VAR(NOS, "ow", ""), /* Ignore */ - }; - - enum FileType { -@@ -173,7 +178,7 @@ - size_t i, len; - const Char *v; /* pointer in value */ - char *c; /* pointer in colors */ -- Extension *volatile e; /* pointer in extensions */ -+ static Extension *volatile e; /* pointer in extensions */ - jmp_buf_t osetexit; - - (void) &e; -@@ -303,11 +308,12 @@ - break; - } - if (i == nvariables) { -- for (i = 0; i < nextensions; i++) -- if (strncmp(last - extensions[i].extension.len, -- extensions[i].extension.s, -- extensions[i].extension.len) == 0) { -- color = &extensions[i].color; -+ int j; -+ for (j = 0; j < nextensions; j++) -+ if (strncmp(last - extensions[j].extension.len, -+ extensions[j].extension.s, -+ extensions[j].extension.len) == 0) { -+ color = &extensions[j].color; - break; - } - } ---- tw.h -+++ tw.h 2006-04-25 14:58:31.000000000 +0200 -@@ -33,6 +33,10 @@ - #ifndef _h_tw - #define _h_tw - -+#ifndef _h_sh -+# include "sh.h" -+#endif -+ - #define TW_PATH 0x1000 - #define TW_ZERO 0x0fff - ---- tw.parse.c -+++ tw.parse.c 2006-04-25 14:58:31.000000000 +0200 -@@ -1055,7 +1055,7 @@ - else { - /* maximum length 1 (NULL) + 1 (~ or $) + 1 (filetype) */ - ptr = tw_item_add(len + 3); -- copyn(ptr, buf, MAXPATHLEN); -+ copyn(ptr, buf, len + 2); - if (command == LIST) - numitems++; - } ---- SuSE/bindkey.tcsh -+++ SuSE/bindkey.tcsh 2006-04-25 14:58:31.000000000 +0200 -@@ -0,0 +1,243 @@ -+# -+# bindkey.tcsh Bind keys on escape sequences of xterm -+# and linux console -+# -+# Copyright: 1993-2002 Werner Fink, 1996-2002 SuSE Linux AG, Germany -+# -+# Author: Werner Fink -+ -+# -+# Default values -+# -+if ( ! ${?TERM} ) setenv TERM linux -+if ( ! ${?CSHEDIT} ) setenv CSHEDIT emacs -+ -+# -+# VI line editing -+# -+if ( "$CSHEDIT" == "vi" ) then -+ bindkey -v -+else -+ bindkey "^[ " magic-space -+ bindkey "^[!" expand-history -+endif -+# -+# Common standard keypad and cursor -+# -+bindkey "^[[2~" yank -+bindkey "^[[3~" delete-char -+bindkey "^[[5~" history-search-backward -+bindkey "^[[6~" history-search-forward -+if ( "$TERM" == "xterm" ) then -+ bindkey "\e[2;2~" yank -+ bindkey "\e[3;2~" delete-char -+ bindkey "\e[5;2~" history-search-backward -+ bindkey "\e[6;2~" history-search-forward -+ bindkey "\e[2;5~" yank -+ bindkey "\e[3;5~" delete-char -+ bindkey "\e[5;5~" history-search-backward -+ bindkey "\e[6;5~" history-search-forward -+endif -+bindkey "^[[C" forward-char -+bindkey "^[[D" backward-char -+bindkey "^[[A" up-history -+bindkey "^[[B" down-history -+if ( "$TERM" == "xterm" ) then -+ bindkey -c "^[[E" "source /etc/csh.cshrc" -+ bindkey "^[[2C" forward-word -+ bindkey "^[[2D" backward-word -+ bindkey "^[[2A" history-search-backward -+ bindkey "^[[2B" history-search-forward -+ bindkey "^[[5C" forward-word -+ bindkey "^[[5D" backward-word -+ bindkey "^[[5A" history-search-backward -+ bindkey "^[[5B" history-search-forward -+else -+ bindkey -c "^[[G" "source /etc/csh.cshrc" -+endif -+# -+# Avoid network problems -+# ... \177 (ASCII-DEL) and \010 (ASCII-BS) -+# do `backward-delete-char' -+# Note: `delete-char' is maped to \033[3~ -+# Therefore xterm's responce on pressing -+# key Delete or KP-Delete should be -+# \033[3~ ... NOT \177 -+# -+bindkey "^?" backward-delete-char -+bindkey "^H" backward-delete-char -+# -+# Home and End -+# -+if ( "$TERM" == "xterm" ) then -+ # -+ # Normal keypad and cursor of xterm -+ # -+ bindkey "^[[1~" history-search-backward -+ bindkey "^[[4~" set-mark-command -+ bindkey "^[[H" beginning-of-line -+ bindkey "^[[F" end-of-line -+ bindkey "^[[2H" beginning-of-line -+ bindkey "^[[2F" end-of-line -+ bindkey "^[[5H" beginning-of-line -+ bindkey "^[[5F" end-of-line -+ # Home and End of application keypad and cursor of xterm -+ bindkey "^[OH" beginning-of-line -+ bindkey "^[OF" end-of-line -+ bindkey "^[O2H" beginning-of-line -+ bindkey "^[O2F" end-of-line -+ bindkey "^[O5H" beginning-of-line -+ bindkey "^[O5F" end-of-line -+else -+if ( "$TERM" == "kvt" ) then -+ bindkey "^[[1~" history-search-backward -+ bindkey "^[[4~" set-mark-command -+ bindkey "^[OH" beginning-of-line -+ bindkey "^[OF" end-of-line -+endif -+ # -+ # TERM=linux or console -+ # -+ bindkey "^[[1~" beginning-of-line -+ bindkey "^[[4~" end-of-line -+endif -+# -+# Application keypad and cursor of xterm -+# -+if ( "$TERM" == "xterm" ) then -+ bindkey "^[OD" backward-char -+ bindkey "^[OC" forward-char -+ bindkey "^[OA" up-history -+ bindkey "^[OB" down-history -+ bindkey "^[O2D" backward-word -+ bindkey "^[O2C" forward-word -+ bindkey "^[O2A" history-search-backward -+ bindkey "^[O2B" history-search-forward -+ bindkey "^[O5D" backward-word -+ bindkey "^[O5C" forward-word -+ bindkey "^[O5A" history-search-backward -+ bindkey "^[O5B" history-search-forward -+ bindkey -c "^[OE" "source /etc/csh.cshrc" -+ # DEC keyboard KP_F1 - KP_F4 or -+ # XTerm of XFree86 in VT220 mode F1 - F4 -+ bindkey -s "^[OP" "^[" -+ bindkey "^[OQ" vi-undo -+ bindkey "^[OR" undefined-key -+ bindkey "^[OS" kill-line -+endif -+if ( "$TERM" == "gnome" ) then -+ # or gnome terminal F1 - F4 -+ bindkey -s "^[OP" "^[" -+ bindkey "^[OQ" vi-undo -+ bindkey "^[OR" undefined-key -+ bindkey "^[OS" kill-line -+endif -+# -+# Function keys F1 - F12 -+# -+if ( "$TERM" == "linux" ) then -+ # -+ # On console the first five function keys -+ # -+ bindkey -s "^[[[A" "^[" -+ bindkey "^[[[B" vi-undo -+ bindkey "^[[[C" undefined-key -+ bindkey "^[[[D" kill-line -+ bindkey "^[[[E" undefined-key -+else -+ # -+ # The first five standard function keys -+ # -+ bindkey -s "^[[11~" "^[" -+ bindkey "^[[12~" vi-undo -+ bindkey "^[[13~" undefined-key -+ bindkey "^[[14~" kill-line -+ bindkey "^[[15~" undefined-key -+endif -+bindkey "^[[17~" undefined-key -+bindkey "^[[18~" undefined-key -+bindkey "^[[19~" undefined-key -+bindkey "^[[20~" undefined-key -+bindkey "^[[21~" undefined-key -+# Note: F11, F12 are identical with Shift_F1 and Shift_F2 -+bindkey "^[[23~" undefined-key -+bindkey "^[[24~" undefined-key -+# -+# Shift Function keys F1 - F12 -+# identical with F11 - F22 -+# -+# bindkey "^[[23~" undefined-key -+# bindkey "^[[24~" undefined-key -+bindkey "^[[25~" undefined-key -+bindkey "^[[26~" undefined-key -+# DEC keyboard: F15=^[[28~ is Help -+bindkey "^[[28~" undefined-key -+# DEC keyboard: F16=^[[29~ is Menu -+bindkey "^[[29~" undefined-key -+bindkey "^[[31~" undefined-key -+bindkey "^[[32~" undefined-key -+bindkey "^[[33~" undefined-key -+bindkey "^[[34~" undefined-key -+if ( "$TERM" == "xterm" ) then -+ # Not common -+ bindkey "^[[35~" undefined-key -+ bindkey "^[[36~" undefined-key -+endif -+# -+if ( "$TERM" == "xterm" ) then -+ # -+ # Application keypad and cursor of xterm -+ # with NumLock ON -+ # -+ # Operators -+ bindkey -s "^[Oo" "/" -+ bindkey -s "^[Oj" "*" -+ bindkey -s "^[Om" "-" -+ bindkey -s "^[Ok" "+" -+ bindkey -s "^[Ol" "," -+ bindkey "^[OM" newline -+ bindkey -s "^[On" "." -+ # Numbers -+ bindkey -s "^[Op" "0" -+ bindkey -s "^[Oq" "1" -+ bindkey -s "^[Or" "2" -+ bindkey -s "^[Os" "3" -+ bindkey -s "^[Ot" "4" -+ bindkey -s "^[Ou" "5" -+ bindkey -s "^[Ov" "6" -+ bindkey -s "^[Ow" "7" -+ bindkey -s "^[Ox" "8" -+ bindkey -s "^[Oy" "9" -+endif -+# -+# EMACS line editing -+# -+if ( "$CSHEDIT" == "emacs" ) then -+ # -+ # ... xterm application cursor -+ # -+ if ( "$TERM" == "xterm" ) then -+ bindkey "^[^[OD" backward-word -+ bindkey "^[^[OC" forward-word -+ bindkey "^[^[OA" up-history -+ bindkey "^[^[OB" down-history -+ bindkey "^^[OD" backward-char -+ bindkey "^^[OC" forward-char -+ bindkey "^^[OA" up-history -+ bindkey "^^[OB" down-history -+ endif -+ # -+ # Standard cursor -+ # -+ bindkey "^[^[[D" backward-word -+ bindkey "^[^[[C" forward-word -+ bindkey "^[^[[A" up-history -+ bindkey "^[^[[B" down-history -+ bindkey "^^[[D" backward-char -+ bindkey "^^[[C" forward-char -+ bindkey "^^[[A" up-history -+ bindkey "^^[[B" down-history -+endif -+# -+# end bindkey.tcsh -+# ---- SuSE/complete.tcsh -+++ SuSE/complete.tcsh 2006-04-25 14:58:31.000000000 +0200 -@@ -0,0 +1,910 @@ -+# -+# complete.tcsh Define some intelligent command completions -+# -+# Modified version of complete.tcsh (1993) found in the source code -+# the tcsh-6.03. Complemented with the following versions and extend -+# with other features. This was a part of csh.cshrc until 1999/06/25. -+# -+# Author: 1993-99 Werner Fink -+# -+# 1999/06/28: resort to the order to fit complete.tcsh -+# found in tcsh-6.08.05, add the mh completes. -+# -+ set autolist=ambiguous -+ set noglob -+# -+ set hosts -+ foreach _f ($HOME/.hosts /etc/csh.hosts $HOME/.rhosts /etc/hosts.equiv) -+ if ( -r $_f ) then -+ set hosts=($hosts `grep -E -shv '^#|\+' $_f |awk '{ print $1 }'`) -+ endif -+ end -+ if ( -r $HOME/.netrc ) then -+ set _f=`awk '/machine/ { print $2 }' < $HOME/.netrc` >& /dev/null -+ set hosts=($hosts $_f) -+ endif -+ set hosts=(`echo $hosts localhost $HOSTNAME|tr ' ' '\n'|sort -u -t '.'`) -+ unset _f -+ set _maildir = /var/spool/mail -+ set _ypdir = /var/yp -+ set _domain = "`domainname`" -+ if ($?MANPATH) then -+ set _manpath="{${MANPATH:as/:/,/}}/{man,cat}" -+ else -+ set _manpath="/usr{{/X11/man,/openwin/man}/{man,cat},{/man/{man,cat}}}" -+ endif -+ -+ complete ispell c/-/"(a A b B C d D e ee f L m M p s S T v vv w W)"/ \ -+ n/-d/"(english deutsch)"/ \ -+ n/-T/"(tex plaintex nroff latin1 ascii atari)"/ \ -+ n@-p@'`ls -1 $HOME/.ispell_*`'@ \ -+ n/-W/"(1 2 3 4 5)"/ \ -+ n/-L/x:'ispell -L '/ \ -+ n/-f/t/ n/*/f:^*.{dvi,ps,a,o,gz,z,Z}/ -+ complete ywho n/*/\$hosts/ # argument from list in $hosts -+ complete {r,s}sh p/1/\$hosts/ c/-/"(l n)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/ -+ complete xrsh p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/ -+ complete {r,s}login p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ -+ complete xlogin n/*/\$hosts/ -+ complete telnet p/1/\$hosts/ p/2/x:''/ n/*/n/ -+ complete xtelnet n/*/\$hosts/ -+ complete cd p/1/d/ # Directories only -+ complete chdir p/1/d/ -+ complete pushd p/1/d/ -+ complete popd p/1/d/ -+ complete pu p/1/d/ -+ complete po p/1/d/ -+ complete complete p/1/X/ # Completions only -+ complete uncomplete n/*/X/ -+ complete exec p/1/c/ # Commands only -+ complete trace p/1/c/ -+ complete strace p/1/c/ -+ complete which n/*/c/ -+ complete where n/*/c/ -+ complete skill p/1/c/ -+ complete dde p/1/c/ -+ complete adb c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/ -+ complete sdb p/1/c/ -+ complete dbx c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/ -+ complete xdb p/1/c/ -+ complete gdb n/-d/d/ n/*/c/ -+ complete ups p/1/c/ -+ complete set 'c/*=/f/' 'p/1/s/=' 'n/=/f/' -+ complete unset n/*/s/ -+ complete alias p/1/a/ # only aliases are valid -+ complete unalias n/*/a/ -+ complete xdvi n/*/f:*.dvi/ # Only files that match *.dvi -+ complete laser n/*/f:*.dvi/ -+ complete dvips n/*/f:*.dvi/ -+ complete tex n/*/f:*.{tex,TEX}/ # Only files that match *.tex -+ complete latex n/*/f:*.{tex,TEX,texi,latex,ltx}/ -+ complete slitex n/*/f:*.{tex,TEX,latex,ltx}/ -+ complete su c/--/"(login fast preserve-environment command shell \ -+ help version)"/ c/-/"(f l m p c s -)"/ \ -+ n/{-c,--command}/c/ \ -+ n@{-s,--shell}@'`cat /etc/shells`'@ n/*/u/ -+ complete cc c/-[IL]/d/ \ -+ c@-l@'`\ls -1 /usr/lib/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \ -+ c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/ -+ complete acc c/-[IL]/d/ \ -+ c@-l@'`\ls -1 /usr/lang/SC1.0/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \ -+ c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/ -+ complete gcc c/-[IL]/d/ \ -+ c/-f/"(caller-saves cse-follow-jumps delayed-branch \ -+ elide-constructors expensive-optimizations \ -+ float-store force-addr force-mem inline \ -+ inline-functions keep-inline-functions \ -+ memoize-lookups no-default-inline \ -+ no-defer-pop no-function-cse omit-frame-pointer \ -+ rerun-cse-after-loop schedule-insns \ -+ schedule-insns2 strength-reduce \ -+ thread-jumps unroll-all-loops \ -+ unroll-loops syntax-only all-virtual \ -+ cond-mismatch dollars-in-identifiers \ -+ enum-int-equiv no-asm no-builtin \ -+ no-strict-prototype signed-bitfields \ -+ signed-char this-is-variable unsigned-bitfields \ -+ unsigned-char writable-strings call-saved-reg \ -+ call-used-reg fixed-reg no-common \ -+ no-gnu-binutils nonnull-objects \ -+ pcc-struct-return pic PIC shared-data \ -+ short-enums short-double volatile)"/ \ -+ c/-W/"(all aggregate-return cast-align cast-qual \ -+ comment conversion enum-clash error format \ -+ id-clash-len implicit missing-prototypes \ -+ no-parentheses pointer-arith return-type shadow \ -+ strict-prototypes switch uninitialized unused \ -+ write-strings)"/ \ -+ c/-m/"(68000 68020 68881 bitfield fpa nobitfield rtd \ -+ short c68000 c68020 soft-float g gnu unix fpu \ -+ no-epilogue)"/ \ -+ c/-d/"(D M N)"/ \ -+ c/-/"(f W vspec v vpath ansi traditional \ -+ traditional-cpp trigraphs pedantic x o l c g L \ -+ I D U O O2 C E H B b V M MD MM i dynamic \ -+ nodtdlib static nostdinc undef)"/ \ -+ c/-l/f:*.a/ \ -+ n/*/f:*.{c,C,cc,o,a,s,i}/ -+ complete g++ n/*/f:*.{C,cc,cpp,o,s,i}/ -+ complete CC n/*/f:*.{C,cc,cpp,o,s,i}/ -+ complete rm c/--/"(directory force interactive verbose \ -+ recursive help version)"/ c/-/"(d f i v r R -)"/ \ -+ n/*/f:^*.{c,cc,C,h,in}/ # Protect precious files -+ complete {vi,more} n/*/f:^*.{o,a,dvi,gz,z,Z}/ -+ complete less n/*/f:^*.{o,a,dvi}/ -+ complete bindkey N/-a/b/ N/-c/c/ n/-[ascr]/'x:'/ \ -+ n/-[svedlr]/n/ c/-[vedl]/n/ c/-/"(a s k c v e d l r)"/ \ -+ n/-k/"(left right up down)"/ p/2-/b/ \ -+ p/1/'x:'/ -+ -+ complete find n/-fstype/"(nfs 4.2)"/ n/-name/f/ \ -+ n/-type/"(c b d f p l s)"/ n/-user/u/ n/-group/g/ \ -+ n/-exec/c/ n/-ok/c/ n/-cpio/f/ n/-ncpio/f/ n/-newer/f/ \ -+ c/-/"(follow fstype name perm prune type user nouser \ -+ group nogroup size inum atime mtime ctime exec \ -+ ok print ls cpio ncpio newer xdev depth \ -+ daystart follow maxdepth mindepth noleaf version \ -+ anewer cnewer amin cmin mmin true false uid gid \ -+ ilname iname ipath iregex links lname empty path \ -+ regex used xtype fprint fprint0 fprintf \ -+ print0 printf not a and o or)"/ \ -+ n/*/d/ -+ -+ complete -%* c/%/j/ # fill in the jobs builtin -+ complete {fg,bg,stop} c/%/j/ p/1/"(%)"// -+ -+ complete limit c/-/"(h)"/ n/*/l/ -+ complete unlimit c/-/"(h)"/ n/*/l/ -+ -+ complete -co* p/0/"(compress)"/ # make compress completion -+ # not ambiguous -+ complete nm n/*/f:^*.{h,C,c,cc}/ -+ -+ complete finger c/*@/\$hosts/ n/*/u/@ -+ complete ping p/1/\$hosts/ -+ complete traceroute p/1/\$hosts/ -+ -+ complete {talk,ntalk,phone,otalk,ytalk} p/1/'`users | tr " " "\012" | uniq`'/ \ -+ n/*/\`who\ \|\ grep\ \$:1\ \|\ awk\ \'\{\ print\ \$2\ \}\'\`/ -+ -+ complete ftp c/-/"(d i g n v)"/ n/-/\$hosts/ p/1/\$hosts/ n/*/n/ -+ complete ncftp c/-/"(a I N)"/ n/-/\$hosts/ p/1/\$hosts/ n/*/n/ -+ -+ # this one is simple... -+ #complete rcp c/*:/f/ C@[./\$~]*@f@ n/*/\$hosts/: -+ # From Michael Schroeder -+ # This one will rsh to the file to fetch the list of files! -+ complete rcp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");rsh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");rsh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@' 'n/*/$hosts/:' -+ complete scp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");ssh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");ssh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@' 'n/*/$hosts/:' -+ -+ complete dd c/--/"(help version)"/ c/[io]f=/f/ \ -+ c/conv=*,/"(ascii ebcdic ibm block unblock \ -+ lcase notrunc ucase swab noerror sync)"/,\ -+ c/conv=/"(ascii ebcdic ibm block unblock \ -+ lcase notrunc ucase swab noerror sync)"/,\ -+ c/*=/x:''/ \ -+ n/*/"(if of conv ibs obs bs cbs files skip file seek count)"/= -+ -+ complete nslookup p/1/x:''/ p/2/\$hosts/ -+ -+ complete ar c/[dmpqrtx]/"(c l o u v a b i)"/ p/1/"(d m p q r t x)"// \ -+ p/2/f:*.a/ p/*/f:*.o/ -+ -+ # these should be merged with the MH completion hacks below - jgotts -+ complete {sprev,snext} \ -+ c@+@F:$HOME/Mail/@ -+ -+ # these and interrupt handling from Jaap Vermeulen -+ complete {rexec,rxexec,rxterm,rmterm} \ -+ 'p/1/$hosts/' 'c/-/(l L E)/' 'n/-l/u/' 'n/-L/f/' \ -+ 'n/-E/e/' 'n/*/c/' -+ complete kill 'c/-/S/' 'c/%/j/' 'n/*/`ps xh | cut -d " " -f 1`/' -+ -+ # these from Marc Horowitz -+ complete attach 'n/-mountpoint/d/' 'n/-m/d/' 'n/-type/(afs nfs rvd ufs)/' \ -+ 'n/-t/(afs nfs rvd ufs)/' 'n/-user/u/' 'n/-U/u/' \ -+ 'c/-/(verbose quiet force printpath lookup debug map \ -+ nomap remap zephyr nozephyr readonly write \ -+ mountpoint noexplicit explicit type mountoptions \ -+ nosetuid setuid override skipfsck lock user host)/' \ -+ 'n/-e/f/' 'n/*/()/' -+ complete hesinfo 'p/1/u/' \ -+ 'p/2/(passwd group uid grplist pcap pobox cluster \ -+ filsys sloc service)/' -+ -+ # these from E. Jay Berkenbilt -+ # = isn't always followed by a filename or a path anymore - jgotts -+ complete ./configure 'c/--*=/f/' 'c/--{cache-file,prefix,exec-prefix,\ -+ bindir,sbindir,libexecdir,datadir,\ -+ sysconfdir,sharedstatedir,localstatedir,\ -+ libdir,includedir,oldincludedir,infodir,\ -+ mandir,srcdir}/(=)//' \ -+ 'c/--/(cache-file verbose prefix exec-prefix bindir \ -+ sbindir libexecdir datadir sysconfdir \ -+ sharedstatedir localstatedir libdir \ -+ includedir oldincludedir infodir mandir \ -+ srcdir)//' -+ complete gs 'c/-sDEVICE=/(x11 cdjmono cdj550 epson eps9high epsonc \ -+ dfaxhigh dfaxlow laserjet ljet4 sparc pbm \ -+ pbmraw pgm pgmraw ppm ppmraw bit)/' \ -+ 'c/-sOutputFile=/f/' 'c/-s/(DEVICE OutputFile)/=' \ -+ 'c/-d/(NODISPLAY NOPLATFONTS NOPAUSE)/' 'n/*/f/' -+ complete perl 'n/-S/c/' -+ complete printenv 'n/*/e/' -+ complete sccs p/1/"(admin cdc check clean comb deledit delget \ -+ delta diffs edit enter fix get help info \ -+ print prs prt rmdel sccsdiff tell unedit \ -+ unget val what)"/ -+ -+ # Complete for MH tools already skipped -+ if ( $?SKIP_MH ) goto skip_mh -+ -+ # Do not be fooled by asking MH tools -+ if ( ! -r $HOME/.mh_profile ) goto skip_mh -+ -+ # Do not be fooled by broken MH profile -+ if ( ! `grep -cE '^Path:' $HOME/.mh_profile` ) goto skip_mh -+ -+ if ( ! $?FOLDERS ) then -+ which folders >& /dev/null -+ if ( $status != 0 ) goto skip_mh -+ -+ set folders="`/bin/sh -c 'exec folders -fast -recurse < /dev/null 2> /dev/null'`" -+ if ( $status != 0 ) then -+ unset folders -+ setenv SKIP_MH -+ goto skip_mh -+ endif -+ setenv FOLDERS "$folders" -+ endif -+ -+ if ( ! $?MHA ) then -+ which ali >& /dev/null -+ if ( $status != 0 ) goto skip_mh -+ -+ set mha="`/bin/sh -c 'exec ali < /dev/null 2> /dev/null'`" -+ if ( $status != 0 ) then -+ unset mha -+ setenv SKIP_MH -+ goto skip_mh -+ endif -+ setenv MHA "$mha" -+ endif -+ -+ # these and method of setting hosts from Kimmo Suominen -+ set folders = ( $FOLDERS ) -+ set mha = ( $MHA ) -+ -+ complete ali \ -+ 'c/-/(alias nolist list nonormalize normalize nouser user help)/' \ -+ 'n,-alias,f,' -+ -+ complete anno \ -+ 'c/-/(component noinplace inplace nodate date text help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete burst \ -+ 'c/-/(noinplace inplace noquiet quiet noverbose verbose help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete comp \ -+ 'c/-/(draftfolder draftmessage nodraftfolder editor noedit file form nouse use whatnowproc nowhatnowproc help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-whatnowproc,c,' \ -+ 'n,-file,f,'\ -+ 'n,-form,f,'\ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete dist \ -+ 'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit form noinplace inplace whatnowproc nowhatnowproc help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-whatnowproc,c,' \ -+ 'n,-form,f,'\ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete folder \ -+ 'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete folders \ -+ 'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete forw \ -+ 'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit filter form noformat format noinplace inplace digest issue volume whatnowproc nowhatnowproc help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-whatnowproc,c,' \ -+ 'n,-filter,f,'\ -+ 'n,-form,f,'\ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete inc \ -+ 'c/-/(audit file noaudit nochangecur changecur file form format nosilent silent notruncate truncate width help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-audit,f,'\ -+ 'n,-form,f,' -+ -+ complete mark \ -+ 'c/-/(add delete list sequence nopublic public nozero zero help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete mhmail \ -+ 'c/-/(body cc from subject help)/' \ -+ 'n,-cc,$mha,' \ -+ 'n,-from,$mha,' \ -+ 'n/*/$mha/' -+ -+ complete mhpath \ -+ 'c/-/(help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete msgchk \ -+ 'c/-/(nodate date nonotify notify help)/' -+ -+ complete msh \ -+ 'c/-/(prompt noscan scan notopcur topcur help)/' -+ -+ complete next \ -+ 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-moreproc,c,' \ -+ 'n,-showproc,c,' \ -+ 'n,-form,f,' -+ -+ complete packf \ -+ 'c/-/(file help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete pick \ -+ 'c/-/(and or not lbrace rbrace cc date from search subject to othercomponent after before datefield sequence nopublic public nozero zero nolist list help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete prev \ -+ 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-moreproc,c,' \ -+ 'n,-showproc,c,' \ -+ 'n,-form,f,' -+ -+ complete prompter \ -+ 'c/-/(erase kill noprepend prepend norapid rapid nodoteof doteof help)/' -+ -+ complete refile \ -+ 'c/-/(draft nolink link nopreserve preserve src file help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-file,f,'\ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete rmf \ -+ 'c/-/(nointeractive interactive help)/' \ -+ 'c,+,$folders,' -+ -+ complete rmm \ -+ 'c/-/(help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete scan \ -+ 'c/-/(noclear clear form format noheader header width noreverse reverse file help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-form,f,'\ -+ 'n,-file,f,'\ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete send \ -+ 'c/-/(alias draft draftfolder draftmessage nodraftfolder filter nofilter noformat format noforward forward nomsgid msgid nopush push noverbose verbose nowatch watch width help)/' \ -+ 'n,-alias,f,'\ -+ 'n,-filter,f,' -+ -+ complete show \ -+ 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ -+ 'c,+,$folders,' \ -+ 'n,-moreproc,c,' \ -+ 'n,-showproc,c,' \ -+ 'n,-form,f,'\ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete sortm \ -+ 'c/-/(datefield textfield notextfield limit nolimit noverbose verbose help)/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete vmh \ -+ 'c/-/(prompt vmhproc novmhproc help)/' \ -+ 'n,-vmhproc,c,' -+ -+ complete whatnow \ -+ 'c/-/(draftfolder draftmessage nodraftfolder editor noedit prompt help)/' -+ -+ complete whom \ -+ 'c/-/(alias nocheck check draft draftfolder draftmessage nodraftfolder help)/' \ -+ 'n,-alias,f,' -+ -+ complete plum \ -+ 'c/-/()/' \ -+ 'c,+,$folders,' \ -+ 'n,*,`(mark | sed "s/:.*//";echo next cur prev first last)|tr " " "\n" | sort -u`,' -+ -+ complete mail \ -+ 'c/-/()/' \ -+ 'n/*/$mha/' -+ -+skip_mh: -+ -+ # from George Cox -+ complete acroread 'p/*/f:*.{pdf,PDF}/' -+ complete apachectl 'c/*/(start stop restart fullstatus status graceful \ -+ configtest help)/' -+ complete appletviewer 'p/*/f:*.class/' -+ complete bison 'c/--/(debug defines file-prefix= fixed-output-files \ -+ help name-prefix= no-lines no-parser output= \ -+ token-table verbose version yacc)/' \ -+ 'c/-/(b d h k l n o p t v y V)/' 'n/-b/f/' 'n/-o/f/' \ -+ 'n/-p/f/' -+ complete bunzip2 'p/*/f:*.bz2/' -+ complete bzip2 'n/-9/f:^*.bz2/' 'n/-d/f:*.bz2/' -+ complete c++ 'p/*/f:*.{c++,cxx,c,cc,C,cpp}/' -+ complete co 'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@' -+ complete crontab 'n/-u/u/' -+ complete camcontrol 'p/1/(cmd debug defects devlist eject inquiry \ -+ modepage negotiate periphlist rescan reset start \ -+ stop tags tur)/' -+ complete ctlinnd 'p/1/(addhist allow begin cancel changegroup \ -+ checkfile drop feedinfo flush flushlogs go hangup \ -+ logmode mode name newgroup param pause readers refile \ -+ reject reload renumber reserve rmgroup send shutdown \ -+ kill throttle trace xabort xexec)/' -+ complete cvs 'c/--/(help help-commands help-synonyms)/' \ -+ 'p/1/(add admin annotate checkout commit diff \ -+ edit editors export history import init log login \ -+ logout rdiff release remove rtag status tag unedit \ -+ update watch watchers)/' 'n/-a/(edit unedit commit \ -+ all none)/' 'n/watch/(on off add remove)/' -+ complete cxx 'p/*/f:*.{c++,cxx,c,cc,C,cpp}/' -+ complete detex 'p/*/f:*.tex/' -+ complete edquota 'n/*/u/' -+ complete exec 'p/1/c/' -+ complete ghostview 'p/*/f:*.{eps,EPS,ps,PS,pdf,PDF,ps.gz}/' -+ complete gv 'p/*/f:*.{eps,EPS,ps,PS,pdf,PDF,ps.gz}/' -+ complete ifconfig 'p@1@`ifconfig -l`@' 'n/*/(range phase link netmask \ -+ mtu vlandev vlan metric mediaopt down delete \ -+ broadcast arp debug)/' -+ complete imake 'c/-I/d/' -+ complete ipfw 'p/1/(flush add delete list show zero)/' \ -+ 'n/add/(allow permit accept pass deny drop reject \ -+ reset count skipto num divert port tee port)/' -+ complete javac 'p/*/f:*.java/' -+ complete ldif2ldbm 'n/-i/f:*.ldif/' -+ complete libtool 'c/--mode=/(compile execute finish install link \ -+ uninstall)/' 'c/--/(config debug dry-run features \ -+ finish help quiet silent version mode=)/' -+ complete libtoolize 'c/--/(automake copy debug dry-run force help ltdl \ -+ ltdl-tar version)/' -+ complete links 'c/-/(assume-codepage async-dns download-dir \ -+ format-cache-size ftp-proxy help http-proxy \ -+ max-connections max-connections-to-host \ -+ memory-cache-size receive-timeout retries \ -+ unrestartable-receive-timeout version)/' -+ complete natd c/-/'(alias_address config deny_incoming dynamic \ -+ inport interface log log_denied log_facility \ -+ outport outport port pptpalias proxy_only \ -+ proxy_rule redirect_address redirect_port \ -+ reverse same_ports unregistered_only use_sockets \ -+ verbose)'/ 'n@-interface@`ifconfig -l`@' -+ complete netstat 'n@-I@`ifconfig -l`@' -+ complete objdump 'c/--/(adjust-vma= all-headers architecture= \ -+ archive-headers debugging demangle disassemble \ -+ disassemble-all disassemble-zeroes dynamic-reloc \ -+ dynamic-syms endian= file-headers full-contents \ -+ headers help info line-numbers no-show-raw-insn \ -+ prefix-addresses private-headers reloc section-headers \ -+ section=source stabs start-address= stop-address= \ -+ syms target= version wide)/' \ -+ 'c/-/(a h i f C d D p r R t T x s S l w)/' -+ complete xmodmap 'c/-/(display help grammar verbose quiet n e pm pk \ -+ pke pp)/' -+ complete lynx 'c/-/(accept_all_cookies anonymous assume_charset= \ -+ assume_local_charset= assume_unrec_charset= auth= base \ -+ book buried_news cache= case cfg= child cookie_file= \ -+ cookies core crawl debug_partial display= dump editor= \ -+ emacskeys enable_scrollback error_file= force_html \ -+ force_secure forms_options from ftp get_data head help \ -+ hiddenlinks= historical homepage= image_links index= \ -+ ismap link= localhost mime_header minimal \ -+ newschunksize= newsmaxchunk= nobrowse nocc nocolor \ -+ nofilereferer nolist nolog nopause noprint noredir \ -+ noreferer nostatus number_links partial partial_thres \ -+ pauth= popup post_data preparsed print pseudo_inlines \ -+ raw realm reload restrictions= resubmit_posts rlogin \ -+ selective show_cursor soft_dquotes source stack_dump \ -+ startfile_ok tagsoup telnet term= tlog trace traversal \ -+ underscore useragent= validate verbose version vikeys \ -+ width=)/' 'c/(http|ftp)/$URLS/' -+ complete {gmake,make} \ -+ 'c/{--directory,--include-dir}=/d/' 'c/{-C,-I}/d/' \ -+ 'c/{--assume-new,--assume-old,--makefile,--new-file,--what-if,--file}=/f/' \ -+ 'c/{-W,-o,-f}/f/' \ -+ 'c/--/(assume-new= assume-old= debug directory= \ -+ dry-run environment-overrides file= help \ -+ ignore-errors include-dir= jobs[=N] just-print \ -+ keep-going load-average[=N] makefile= max-load[=N] \ -+ new-file= no-builtin-rules no-keep-going \ -+ no-print-directory old-file= print-data-base \ -+ print-directory question quiet recon silent stop \ -+ touch version warn-undefined-variables what-if=)//' \ -+ 'c/-/(- C d e f h i I k n p q r R s S t v w)/' \ -+ 'n@*@`cat -s {GNUm,M,m}akefile |& sed -n -e "/cat:/d" -e "s/^\([A-Za-z0-9-]*\):.*/\1/p"`@' \ -+ 'n/=/f/' 'n/-f/f/' -+ complete mixer p/1/'(vol bass treble synth pcm speaker mic cd mix \ -+ pcm2 rec igain ogain line1 line2 line3)'/ \ -+ p@2@'`mixer $:-1 | awk \{\ print\ \$7\ \}`'@ -+ -+ complete mpg123 'c/--/(2to1 4to1 8bit aggressive au audiodevice \ -+ auth buffer cdr check doublespeed equalizer frames \ -+ gain halfspeed headphones left lineout list mix mono \ -+ proxy quiet random rate reopen resync right scale \ -+ shuffle single0 single1 skip speaker stdout stereo \ -+ test verbose wav)/' -+ complete mysqladmin 'n/*/(create drop extended-status flush-hosts \ -+ flush-logs flush-status flush-tables flush-privileges \ -+ kill password ping processlist reload refresh \ -+ shutdown status variables version)/' -+ set _muttalias=/dev/null -+ foreach _f ($HOME/.muttrc-alias $HOME/.muttalias) -+ if ( -r $_f ) then -+ set _muttalias=$_f -+ break -+ endif -+ end -+ unset _f -+ complete mutt c@-f=@F:${HOME}/Mail/@ \ -+ n/-a/f/ \ -+ n/-F/f/ n/-H/f/ \ -+ n/-s/x:''/ \ -+ n/-e/x:''/ \ -+ n@-b@'`awk '"'"'{print $2 }'"'"' $_muttalias`'@ \ -+ n@-c@'`awk '"'"'{print $2 }'"'"' $_muttalias`'@ \ -+ n@*@'` awk '"'"'{print $2 }'"'"' $_muttalias`'@ -+ complete ndc 'n/*/(status dumpdb reload stats trace notrace \ -+ querylog start stop restart )/' -+ complete nm 'c/--/(debug-syms defined-only demangle dynamic \ -+ extern-only format= help line-numbers no-demangle \ -+ no-sort numeric-sort portability print-armap \ -+ print-file-name reverse-sort size-sort undefined-only \ -+ version)/' 'p/*/f:^*.{h,C,c,cc}/' -+ complete nmap 'n@-e@`ifconfig -l`@' 'p/*/$hostnames/' -+ complete perldoc 'n@*@`\ls -1 /usr/lib/perl*/5.*/pod | sed s%\\.pod.\*\$%%`@' -+ complete postfix 'n/*/(start stop reload abort flush check)/' -+ complete postmap 'n/1/(hash: regexp:)' 'c/hash:/f/' 'c/regexp:/f/' -+ complete rcsdiff 'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@' -+ complete X 'c/-/(I a ac allowMouseOpenFail allowNonLocalModInDev \ -+ allowNonLocalXvidtune ar1 ar2 audit auth bestRefresh \ -+ bgamma bpp broadcast bs c cc class co core deferglyphs \ -+ disableModInDev disableVidMode displayID dpi dpms f fc \ -+ flipPixels fn fp gamma ggamma help indirect kb keeptty \ -+ ld lf logo ls nolisten string noloadxkb nolock nopn \ -+ once p pn port probeonly query quiet r rgamma s \ -+ showconfig sp su t terminate to tst v verbose version \ -+ weight wm x xkbdb xkbmap)/' -+ complete vidcontrol 'p/1/(132x25 132x30 132x43 132x50 132x60 40x25 80x25 \ -+ 80x30 80x43 80x50 80x60 EGA_80x25 EGA_80x43 \ -+ VESA_132x25 VESA_132x30 VESA_132x43 VESA_132x50 \ -+ VESA_132x60 VESA_800x600 VGA_320x200 VGA_40x25 \ -+ VGA_80x25 VGA_80x30 VGA_80x50 VGA_80x60)/' -+ complete vim 'n/*/f:^*.[oa]/' -+ complete where 'n/*/c/' -+ complete which 'n/*/c/' -+ complete wmsetbg 'c/-/(display D S a b c d e m p s t u w)/' \ -+ 'c/--/(back-color center colors dither help match \ -+ maxscale parse scale smooth tile update-domain \ -+ update-wmaker version workspace)/' -+ complete xdb 'p/1/c/' -+ complete xdvi 'c/-/(allowshell debug display expert gamma hushchars \ -+ hushchecksums hushspecials install interpreter keep \ -+ margins nogrey noinstall nomakepk noscan paper safer \ -+ shrinkbuttonn thorough topmargin underlink version)/' \ -+ 'n/-paper/(a4 a4r a5 a5r)/' 'p/*/f:*.dvi/' -+ complete xlock 'c/-/(allowaccess allowroot debug description \ -+ echokeys enablesaver grabmouse grabserver hide inroot \ -+ install inwindow mono mousemotion nolock remote \ -+ resetsaver sound timeelapsed use3d usefirst verbose \ -+ wireframe background batchcount bg bitmap both3d \ -+ count cycles delay delta3d display dpmsoff \ -+ dpmsstandby dpmssuspend endCmd erasedelay erasemode \ -+ erasetime fg font foreground geometry help \ -+ icongeometry info invalid left3d lockdelay logoutCmd \ -+ mailCmd mailIcon message messagefile messagefont \ -+ messagesfile mode name ncolors nice nomailIcon none3d \ -+ parent password planfont program resources right3d \ -+ saturation size startCmd timeout username validate \ -+ version visual)/' 'n/-mode/(ant atlantis ball bat \ -+ blot bouboule bounce braid bubble bubble3d bug cage \ -+ cartoon clock coral crystal daisy dclock decay deco \ -+ demon dilemma discrete drift eyes fadeplot flag flame \ -+ flow forest galaxy gears goop grav helix hop hyper \ -+ ico ifs image invert julia kaleid kumppa lament laser \ -+ life life1d life3d lightning lisa lissie loop lyapunov \ -+ mandelbrot marquee matrix maze moebius morph3d \ -+ mountain munch nose pacman penrose petal pipes puzzle \ -+ pyro qix roll rotor rubik shape sierpinski slip sphere \ -+ spiral spline sproingies stairs star starfish strange \ -+ superquadrics swarm swirl tetris thornbird triangle \ -+ tube turtle vines voters wator wire world worm xjack \ -+ blank bomb random)/' -+ complete xfig 'c/-/(display)/' 'p/*/f:*.fig/' -+ complete wget c/--/"(accept= append-output= background cache= \ -+ continue convert-links cut-dirs= debug \ -+ delete-after directory-prefix= domains= \ -+ dont-remove-listing dot-style= exclude-directories= \ -+ exclude-domains= execute= follow-ftp \ -+ force-directories force-html glob= header= help \ -+ http-passwd= http-user= ignore-length \ -+ include-directories= input-file= level= mirror \ -+ no-clobber no-directories no-host-directories \ -+ no-host-lookup no-parent non-verbose \ -+ output-document= output-file= passive-ftp \ -+ proxy-passwd= proxy-user= proxy= quiet quota= \ -+ recursive reject= relative retr-symlinks save-headers \ -+ server-response span-hosts spider timeout= \ -+ timestamping tries= user-agent= verbose version wait=)"/ -+ -+ # More completions from waz@quahog.nl.nuwc.navy.mil (Tom Warzeka) -+ # this one works but is slow and doesn't descend into subdirectories -+ # complete cd C@[./\$~]*@d@ \ -+ # p@1@'`\ls -1F . $cdpath | grep /\$ | sort -u`'@ n@*@n@ -+ -+ if ( -r /etc/shells ) then -+ complete setenv p@1@e@ n@DISPLAY@\$hosts@: n@SHELL@'`cat /etc/shells`'@ 'c/*:/f/' -+ else -+ complete setenv p@1@e@ n@DISPLAY@\$hosts@: 'c/*:/f/' -+ endif -+ complete unsetenv n/*/e/ -+ -+ if (-r $HOME/.mailrc) then -+ complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ -+ c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:''/ \ -+ n@-u@T:$_maildir@ n/-f/f/ \ -+ n@*@'`sed -n s/alias//p $HOME/.mailrc | tr -s " " "\t" | cut -f 2`'@ -+ else -+ complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ -+ c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:''/ \ -+ n@-u@T:$_maildir@ n/-f/f/ n/*/u/ -+ endif -+ -+ -+ complete man n@[0-9n]@'`\ls -1fUA ${_manpath}$:-1/|&\sed \\%.\*:%d\;s%\\.$:-1.\*\$%%|\sort -u`'@ \ -+ c/-/"(- f k s t l)"/ n/-f/c/ n/-k/x:''/ n/-l/f/ C@./*@f@ n/*/c/ -+ -+ complete ps c/-t/x:''/ c/-/"(a c C e g k l S t u v w x)"/ \ -+ n/-k/x:''/ N/-k/x:''/ n/*/x:''/ -+ complete compress c/-/"(c f v b)"/ n/-b/x:''/ n/*/f:^*.Z/ -+ complete uncompress c/-/"(c f v)"/ n/*/f:*.Z/ -+ complete psompress c/-/"(d c f)"/ n/*/f:^*.Z/ -+ -+ complete uuencode p/1/f/ p/2/x:''/ n/*/n/ -+ complete uudecode c/-/"(f)"/ n/-f/f:*.{uu,UU}/ p/1/f:*.{uu,UU}/ n/*/n/ -+ -+ complete xhost c/[+-]/\$hosts/ n/*/\$hosts/ -+ -+ complete emacs c/-/"(batch d f funcall i insert kill l load \ -+ no-init-file nw q t u user)"/ c/+/x:''/ \ -+ n/-d/x:''/ n/-f/x:''/ n/-i/f/ \ -+ n@-l@F:/usr/share/emacs/@ \ -+ n/-t/x:''/ \ -+ n/-u/u/ n/*/f:^*{[\#~],.dvi,.o,.gz,.Z,.z,.zip}/ -+ -+ complete zcat c/--/"(force help license quiet version)"/ \ -+ c/-/"(f h L q V -)"/ n/*/f:*.{gz,Z,z,zip}/ -+ complete gzip c/--/"(stdout to-stdout decompress uncompress \ -+ force help list license no-name quiet recurse \ -+ suffix test verbose version fast best)"/ \ -+ c/-/"(c d f h l L n q r S t v V 1 2 3 4 5 6 7 8 9 -)"/ \ -+ n/{-S,--suffix}/x:''/ \ -+ n/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \ -+ N/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \ -+ n/*/f:^*.{gz,Z,z,zip,taz,tgz}/ -+ complete {gunzip,ungzip} c/--/"(stdout to-stdout force help list license \ -+ no-name quiet recurse suffix test verbose version)"/ \ -+ c/-/"(c f h l L n q r S t v V -)"/ \ -+ n/{-S,--suffix}/x:''/ \ -+ n/*/f:*.{gz,Z,z,zip,taz,tgz,tar.gz}/ -+ complete zgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ -+ c/-/"(A b B c C e f h i l n s v V w x)"/ \ -+ p/1/x:''/ N/-*e/f/ \ -+ n/-*e/x:''/ n/-*f/f/ n/*/f/ -+ complete zegrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ -+ c/-/"(A b B c C e f h i l n s v V w x)"/ \ -+ p/1/x:''/ N/-*e/f/ \ -+ n/-*e/x:''/ n/-*f/f/ n/*/f/ -+ complete zfgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ -+ c/-/"(A b B c C e f h i l n s v V w x)"/ \ -+ p/1/x:''/ N/-*e/f/ \ -+ n/-*e/x:''/ n/-*f/f/ n/*/f/ -+ complete znew c/-/"(f t v 9 P K)"/ n/*/f:*.Z/ -+ complete zmore n/*/f:*.{gz,Z,z,zip,bz2}/ -+ complete zfile n/*/f:*.{gz,Z,z,zip,taz,tgz}/ -+ complete ztouch n/*/f:*.{gz,Z,z,zip,taz,tgz}/ -+ complete zforce n/*/f:^*.{gz,taz,tgz}/ -+ -+ complete grep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ -+ c/--/"(extended-regexp fixed-regexp basic-regexp \ -+ regexp file ignore-case word-regexp line-regexp \ -+ no-messages revert-match version help byte-offset \ -+ line-number with-filename no-filename quiet silent \ -+ text directories recursive files-without-match \ -+ files-with-matches count before-context after-context \ -+ context binary unix-byte-offsets)"/ \ -+ c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V v w x)"/ \ -+ p/1/x:''/ N/-*e/f/ \ -+ n/-*e/x:''/ n/-*f/f/ n/*/f/ -+ complete egrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ -+ c/--/"(extended-regexp fixed-regexp basic-regexp \ -+ regexp file ignore-case word-regexp line-regexp \ -+ no-messages revert-match version help byte-offset \ -+ line-number with-filename no-filename quiet silent \ -+ text directories recursive files-without-match \ -+ files-with-matches count before-context after-context \ -+ context binary unix-byte-offsets)"/ \ -+ c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V v w x)"/ \ -+ p/1/x:''/ N/-*e/f/ \ -+ n/-*e/x:''/ n/-*f/f/ n/*/f/ -+ complete fgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/ \ -+ c/--/"(extended-regexp fixed-regexp basic-regexp \ -+ regexp file ignore-case word-regexp line-regexp \ -+ no-messages revert-match version help byte-offset \ -+ line-number with-filename no-filename quiet silent \ -+ text directories recursive files-without-match \ -+ files-with-matches count before-context after-context \ -+ context binary unix-byte-offsets)"/ \ -+ c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V v w x)"/ \ -+ p/1/x:''/ N/-*e/f/ \ -+ n/-*e/x:''/ n/-*f/f/ n/*/f/ -+ -+ complete users c/--/"(help version)"/ p/1/x:''/ -+ complete who c/--/"(heading mesg idle count help message version \ -+ writable)"/ c/-/"(H T w i u m q s -)"/ \ -+ p/1/x:''/ n/am/"(i)"/ n/are/"(you)"/ -+ -+ complete chown c/--/"(changes dereference no-dereference silent \ -+ quiet reference recursive verbose help version)"/ \ -+ c/-/"(c f h R v -)"/ C@[./\$~]@f@ c/*[.:]/g/ \ -+ n/-/u/: p/1/u/. n/*/f/ -+ complete chgrp c/--/"(changes no-dereference silent quiet reference \ -+ recursive verbose help version)"/ \ -+ c/-/"(c f h R v -)"/ n/-/g/ p/1/g/ n/*/f/ -+ complete chmod c/--/"(changes silent quiet verbose reference \ -+ recursive help version)"/ c/-/"(c f R v)"/ -+ complete df c/--/"(all block-size human-readable si inodes \ -+ kilobytes local megabytes no-sync portability sync \ -+ type print-type exclude-type help version)"/ \ -+ c/-/"(a H h i k l m P T t v x)"/ -+ complete du c/--/"(all block-size bytes total dereference-args \ -+ human-readable si kilobytes count-links dereference \ -+ megabytes separate-dirs summarize one-file-system \ -+ exclude-from exclude max-depth help version"/ \ -+ c/-/"(a b c D H h k L l m S s X x)"/ -+ -+ complete cat c/--/"(number-nonblank number squeeze-blank show-all \ -+ show-nonprinting show-ends show-tabs help version)"/ \ -+ c/-/"(b e n s t u v A E T -)"/ n/*/f/ -+ complete mv c/--/"(backup force interactive update verbose suffix \ -+ version-control help version)"/ \ -+ c/-/"(b f i u v S V -)"/ \ -+ n/{-S,--suffix}/x:''/ \ -+ n/{-V,--version-control}/"(t numbered nil existing \ -+ never simple)"/ n/-/f/ N/-/d/ p/3-/d/ n/*/f/ -+ complete cp c/--/"(archive backup no-dereference force \ -+ interactive link preserve parents sparse recursive \ -+ symbolic-link suffix update verbose version-control \ -+ one-file-system help version)"/ \ -+ c/-/"(a b d f i l P p R r S s u V v x -)"/ \ -+ n/-*r/d/ n/{-S,--suffix}/x:''/ \ -+ n/{-V,--version-control}/"(t numbered nil existing \ -+ never simple)"/ n/-/f/ N/-/d/ p/3-/d/ n/*/f/ -+ complete ln c/--/"(backup directory force no-dereference \ -+ interactive symbolic suffix verbose version-control \ -+ help version)"/ \ -+ c/-/"(b d F f i n S s V v -)"/ \ -+ n/{-S,--suffix}/x:''/ \ -+ n/{-V,--version-control}/"(t numbered nil existing \ -+ never simple)"/ n/-/f/ N/-/x:''/ \ -+ p/1/f/ p/2/x:''/ -+ complete touch c/--/"(date reference time help version)"/ \ -+ c/-/"(a c d f m r t -)"/ \ -+ n/{-d,--date}/x:''/ \ -+ c/--time/"(access atime mtime modify use)"/ \ -+ n/{-r,--file}/f/ n/-t/x:''/ n/*/f/ -+ complete mkdir c/--/"(mode parents verbose help version)"/ \ -+ c/-/"(p m -)"/ \ -+ n/{-m,--mode}/x:''/ n/*/d/ -+ complete rmdir c/--/"(ignore-fail-on-non-empty parents verbose help \ -+ version)"/ c/-/"(p -)"/ n/*/d/ -+ -+ complete tar c/-[Acru]*/"(b B C f F g G h i l L M N o P \ -+ R S T v V w W X z Z j I)"/ \ -+ c/-[dtx]*/"( B C f F g G i k K m M O p P \ -+ R s S T v w x X z Z j I)"/ \ -+ p/1/"(A c d r t u x -A -c -d -r -t -u -x \ -+ --catenate --concatenate --create --diff --compare \ -+ --delete --append --list --update --extract --get \ -+ --help --version)"/ \ -+ c/--/"(catenate concatenate create diff compare \ -+ delete append list update extract get atime-preserve \ -+ block-size read-full-blocks directory checkpoint file \ -+ force-local info-script new-volume-script incremental \ -+ listed-incremental dereference ignore-zeros \ -+ ignore-failed-read keep-old-files starting-file \ -+ one-file-system tape-length modification-time \ -+ multi-volume after-date newer old-archive portability \ -+ to-stdout same-permissions preserve-permissions \ -+ absolute-paths preserve record-number remove-files \ -+ same-order preserve-order same-owner sparse \ -+ files-from null totals verbose label version \ -+ interactive confirmation verify exclude exclude-from \ -+ compress uncompress gzip ungzip use-compress-program \ -+ block-compress help version)"/ \ -+ c/-/"(b B C f F g G h i k K l L m M N o O p P R s S \ -+ T v V w W X z Z 0 1 2 3 4 5 6 7 -)"/ \ -+ C@[/dev]@f@ \ -+ n/-c*{zf,fz}/x:''/ \ -+ n/-c*{jf,fj}/x:''/ \ -+ n/-c*f/x:''/ \ -+ n/-[Adrtuxv]*{zf,fz}/f:*.{tar.gz,tgz}/ n/-[Adrtuxv]*{jf,fj}/f:*.tar.bz2/ \ -+ n/{-[Adrtuxv]*f,--file}/f:*.tar/ \ -+ N/-x*{zf,fz}/'`tar -tzf $:-1`'/ N/-x*{jf,fj}/'`tar -tjf $:-1`'/ \ -+ N/{-x*f,--file}/'`tar -tf $:-1`'/ \ -+ n/--use-compress-program/c/ \ -+ n/{-b,--block-size}/x:''/ \ -+ n/{-V,--label}/x:''/ \ -+ n/{-N,--{after-date,newer}}/x:''/ \ -+ n/{-L,--tape-length}/x:''/ \ -+ n/{-C,--directory}/d/ \ -+ N/{-C,--directory}/'`\ls $:-1`'/ \ -+ n/-[0-7]/"(l m h)"/ -+ -+ complete mount c/-/"(a n v t r w)"/ n/-t/"(minix iso9660 msdos vfat ext2 nfs proc)"/ \ -+ 'C@/de@F@' 'C@/*@F@@' 'n@*@`grep -E -v \(^#\|^\$\) /etc/fstab|awk \{\ print\ \$2\ \}`@' -+ complete umount c/-/"(a n t)"/ n/-t/"(minix iso9660 msdos ext2 nfs proc)"/ \ -+ n/*/'`mount | cut -d " " -f 3`'/ -+ -+ # these deal with NIS (formerly YP); if it's not running you don't need 'em -+ complete domainname p@1@D:$_ypdir@" " n@*@n@ -+ complete ypcat c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ -+ N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\&\ sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ -+ p/1/"(aliases ethers passwd group hosts netid.byname networks protocols \ -+ rpc.byname services)"/ -+ complete ypmatch c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ -+ N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\&\ sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ -+ n@-@x:''@ p@1@x:''@ \ -+ p/1/"(aliases ethers passwd group hosts netid.byname networks protocols \ -+ rpc.byname services)"/ -+ complete ypwhich c@-@"(d m t x V1 V2)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ -+ n@-m@\`\\ls\ -1\ $_ypdir/$_domain\ \|\&\sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ -+ N@-m@n@ n@*@\$hosts@ -+ -+ # there's no need to clutter the user's shell with these -+ unset _maildir _ypdir _domain -+ -+ if ( -r /etc/printcap ) then -+ set printers=(`sed -n -e '/^[^ #][^:]*:/{s/|.*:.*//p;}' /etc/printcap | sort -u`) -+ -+ complete lpr 'c/-P/$printers/' -+ complete lpq 'c/-P/$printers/' -+ complete lprm 'c/-P/$printers/' -+ complete lpquota 'p/1/(-Qprlogger)/' 'c/-P/$printers/' -+ complete dvips 'c/-P/$printers/' 'n/-o/f:*.{ps,PS}/' 'n/*/f:*.dvi/' -+ complete dvilj 'p/*/f:*.dvi/' -+ endif -+ -+ unset noglob -+# -+# complete.tcsh ends here -+# ---- config/linux -+++ config/linux 2006-04-25 14:58:31.000000000 +0200 -@@ -23,7 +23,7 @@ - /* - * POSIXSIGS Use the POSIX signal facilities to emulate BSD signals. - */ --#undef POSIXSIGS -+#define POSIXSIGS - - /* - * VFORK This machine has a vfork(). -@@ -82,7 +82,7 @@ - * - * Note: Linux should work with any SYSVREL < 3. - */ --#define SYSVREL 0 -+#define SYSVREL 2 - - /* - * YPBUGS Work around Sun YP bugs that cause expansion of ~username -@@ -98,26 +98,65 @@ - */ - - #define __STRICT_ANSI__ --#define _BSD_SOURCE --#define _SVID_SOURCE --#define _POSIX_SOURCE --#define _XOPEN_SOURCE 500 --#define _GNU_SOURCE -+#ifndef _BSD_SOURCE -+# define _BSD_SOURCE -+#endif -+#ifndef _SVID_SOURCE -+# define _SVID_SOURCE -+#endif -+#ifndef _POSIX_SOURCE -+# define _POSIX_SOURCE -+#endif -+#ifndef _XOPEN_SOURCE -+# define _XOPEN_SOURCE 500 -+#endif -+#ifndef _GNU_SOURCE -+# define _GNU_SOURCE -+#endif - - /* - * Large file support from - */ - --#define _LARGEFILE_SOURCE --#define _LARGEFILE64_SOURCE --#define _FILE_OFFSET_BITS 64 -+#ifndef _LARGEFILE_SOURCE -+# define _LARGEFILE_SOURCE -+#endif -+#ifndef _LARGEFILE64_SOURCE -+# define _LARGEFILE64_SOURCE -+#endif -+#ifndef _FILE_OFFSET_BITS -+# define _FILE_OFFSET_BITS 64 -+#endif - - /****************** local defines *********************/ -+#if !defined(PW_SHADOW) -+# define PW_SHADOW -+#endif - #ifndef _PATH_TCSHELL - #define _PATH_TCSHELL "/bin/tcsh" - #endif - #define ECHO_STYLE BOTH_ECHO -+#ifdef POSIXSIGS -+# define BSDSIGS -+#endif -+#if defined(BSDSIGS) && !defined(__USE_BSD) -+# define __USE_BSD -+#endif -+ - - #define NLS_CATALOGS - -+#if !defined(SYSMALLOC) -+# define SYSMALLOC -+#endif -+#if !defined(NISPLUS) -+# define NISPLUS -+#endif -+#if !defined(POSIX) -+# define POSIX -+#endif -+ -+#define SuSE -+#define MCLoadBySet NL_CAT_LOCALE -+ - #endif /* _h_config */ ---- nls/C/set1 -+++ nls/C/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.5 1998/06/27 12:27:55 christos Exp $ - $ Error messages -+$ codeset=ANSI_X3.4-1968 - $set 1 - 1 Syntax Error - 2 %s is not allowed ---- nls/et/set1 -+++ nls/et/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.2 2001/01/11 13:25:24 christos Exp $ - $ Error messages -+$ codeset=ISO-8859-1 - $set 1 - 1 Süntaksi viga - 2 %s ei ole lubatud ---- nls/finnish/set1 -+++ nls/finnish/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.2 2001/09/03 02:13:26 kim Exp $ - $ Error messages -+$ codeset=ISO-8859-1 - $set 1 - 1 Kielioppivirhe - 2 %s ei ole sallittu ---- nls/french/set1 -+++ nls/french/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.3 1998/06/27 12:27:57 christos Exp $ - $ Messages d 'erreur -+$ codeset=ISO-8859-1 - $set 1 - 1 Erreur de syntaxe - 2 %s n'est pas autorisé ---- nls/german/set1 -+++ nls/german/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.5 1998/06/27 12:27:59 christos Exp $ - $ Error messages -+$ codeset=ISO-8859-1 - $set 1 - 1 Syntaxfehler - 2 %s nicht erlaubt ---- nls/greek/set1 -+++ nls/greek/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.3 1998/09/18 15:31:57 christos Exp $ - $ Error messages -+$ codeset=ISO-8859-7 - $set 1 - 1 ËÜèïò óýíôáîç - 2 Tï %s äåí åðéôñÝðåôáé ---- nls/italian/set1 -+++ nls/italian/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.1 1998/09/03 22:03:13 christos Exp $ - $ Error messages -+$ codeset=ISO-8859-1 - $set 1 - 1 Errore di Sintassi - 2 %s non è permesso ---- nls/ja/set1 -+++ nls/ja/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.4 2004/12/25 22:24:58 christos Exp $ - $ Error messages -+$ codeset=EUC-JP - $set 1 - 1 ʸˡ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹ - 2 %s ¤Ï³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó ---- nls/pl/set1 -+++ nls/pl/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.5 1998/06/27 12:27:55 christos Exp $ - $ Error messages -+$ codeset=ISO-8859-2 - $set 1 - 1 B³±d sk³adni - 2 %s jest niedozwolone ---- nls/russian/set1 -+++ nls/russian/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.3 2002/03/08 17:46:50 christos Exp $ - $ Error messages -+$ codeset=KOI8-R - $set 1 - 1 óÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ - 2 %s ÎÅÄÏÐÕÓÔÉÍÏ ---- nls/spanish/set1 -+++ nls/spanish/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.2 1998/06/27 12:28:02 christos Exp $ - $ Mensajes de Error -+$ codeset=ISO-8859-1 - $set 1 - 1 Error de sintaxis - 2 %s no está permitido ---- nls/ukrainian/set1 -+++ nls/ukrainian/set1 2006-04-25 14:58:31.000000000 +0200 -@@ -1,5 +1,6 @@ - $ $Id: set1,v 1.2 2002/07/01 20:50:22 christos Exp $ - $ Error messages -+$ codeset=KOI8-U - $set 1 - 1 óÉÎÔÁËÓÉÞÎÁ ÐÏÍÉÌËÁ - 2 %s ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ diff --git a/tcsh-6.14.00.tar.bz2 b/tcsh-6.14.00.tar.bz2 deleted file mode 100644 index 473bdd1..0000000 --- a/tcsh-6.14.00.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bc7f3574610a78345020060520886827e2cfe8e5fde25ee1457f935fe593b821 -size 715227 diff --git a/tcsh-6.15.00-pipe.dif b/tcsh-6.15.00-pipe.dif new file mode 100644 index 0000000..afea04a --- /dev/null +++ b/tcsh-6.15.00-pipe.dif @@ -0,0 +1,11 @@ +--- sh.dol.c ++++ sh.dol.c 2007-07-13 12:39:27.390018042 +0200 +@@ -421,6 +421,8 @@ Dgetdol(void) + size_t cbp = 0; + int old_pintr_disabled; + ++ memset(&cbuf[0], 0, sizeof(cbuf)); ++ + for (;;) { + int len; + ssize_t res; diff --git a/tcsh-6.14.00-spelling.dif b/tcsh-6.15.00-spelling.dif similarity index 64% rename from tcsh-6.14.00-spelling.dif rename to tcsh-6.15.00-spelling.dif index 06d9ce5..88e9272 100644 --- a/tcsh-6.14.00-spelling.dif +++ b/tcsh-6.15.00-spelling.dif @@ -1,17 +1,19 @@ --- nls/Makefile -+++ nls/Makefile 2005-08-17 14:13:49.000000000 +0200 -@@ -3,7 +3,7 @@ ++++ nls/Makefile 2007-07-13 12:31:53.537806617 +0200 +@@ -2,9 +2,8 @@ + + SUBDIRS= C et finnish french german greek italian ja pl russian \ spanish ukrainian - #GENCAT= gencat --new - #CHARSET= charset --GENCAT= gencat +-#GENCAT= gencat --new +GENCAT= gencat --new + CHARSET= charset +-GENCAT= gencat catalogs: @for i in ${SUBDIRS} ; \ --- nls/german/set6 +++ nls/german/set6 2005-08-17 14:12:36.000000000 +0200 -@@ -3,8 +3,8 @@ +@@ -3,8 +3,8 @@ $ ed.inputl.c $set 6 1 FEHLER: Illegaler Befehl von Taste 0%o\r\n 2 ja\n diff --git a/tcsh-6.15.00-utf8.dif b/tcsh-6.15.00-utf8.dif new file mode 100644 index 0000000..f117814 --- /dev/null +++ b/tcsh-6.15.00-utf8.dif @@ -0,0 +1,13 @@ +--- sh.func.c ++++ sh.func.c 2007-07-13 12:36:10.233075909 +0200 +@@ -2416,9 +2416,7 @@ nlsinit(void) + if (catalog != default_catalog) + xfree(catalog); + #if defined(HAVE_ICONV) && defined(HAVE_NL_LANGINFO) +- /* xcatgets (), not CGETS, the charset name should be in ASCII anyway. */ +- catgets_iconv = iconv_open (nl_langinfo (CODESET), +- xcatgets(catd, 255, 1, "ASCII")); ++ catgets_iconv = iconv_open (nl_langinfo (CODESET), "UTF-8"); + #endif /* HAVE_ICONV && HAVE_NL_LANGINFO */ + #endif /* NLS_CATALOGS */ + #ifdef WINNT_NATIVE diff --git a/tcsh-6.15.00.dif b/tcsh-6.15.00.dif new file mode 100644 index 0000000..356480c --- /dev/null +++ b/tcsh-6.15.00.dif @@ -0,0 +1,807 @@ +--- .pkgextract ++++ .pkgextract 2006-04-25 14:58:31.000000000 +0200 +@@ -0,0 +1,3 @@ ++patch -p0 -s --suffix=.spell < ../tcsh-6.15.00-spelling.dif ++patch -p0 -s --suffix=.utf8 < ../tcsh-6.15.00-utf8.dif ++patch -p0 -s --suffix=.pipe < ../tcsh-6.15.00-pipe.dif +--- Makefile.in ++++ Makefile.in 2006-04-25 14:58:31.000000000 +0200 +@@ -510,12 +510,12 @@ vgrind: + @vgrind -t -x -h Index index >/crp/bill/csh/index.t + + install-strip: install ++ -strip ${DESTBIN}/tcsh$(EXEEXT) + + install: tcsh$(EXEEXT) + -mkdir -p ${DESTBIN} + -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old + cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT) +- -strip ${DESTBIN}/tcsh$(EXEEXT) + chmod 755 ${DESTBIN}/tcsh$(EXEEXT) + + install.man: tcsh.man +--- config_f.h ++++ config_f.h 2007-07-13 12:47:29.673240000 +0200 +@@ -63,12 +63,19 @@ + */ + #if defined (NLS) && defined (HAVE_CATGETS) + # define NLS_CATALOGS ++#else ++# error No NLS Catalogs + #endif + + /* + * LOGINFIRST Source ~/.login before ~/.cshrc + */ +-#undef LOGINFIRST ++#define LOGINFIRST ++ ++/* ++ * USERLOGINFIRST Source ~/.login before ~/.cshrc ++ */ ++#undef USERLOGINFIRST + + /* + * VIDEFAULT Make the VI mode editor the default +@@ -162,7 +169,7 @@ + * successful, set $REMOTEHOST to the name or address of the + * host + */ +-#define REMOTEHOST ++#undef REMOTEHOST + + /* + * COLOR_LS_F Do you want to use builtin color ls-F ? +@@ -185,7 +192,7 @@ + * RCSID This defines if we want rcs strings in the binary or not + * + */ +-#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) ++#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) && !defined(__linux__) + # ifndef __GNUC__ + # define RCSID(id) static char *rcsid = (id); + # else +--- glob.h ++++ glob.h 2006-04-25 14:58:31.000000000 +0200 +@@ -72,6 +72,7 @@ typedef struct { + #define GLOB_NOSYS (-4) /* Implementation does not support function. */ + + /* #if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) */ ++#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE || defined _GNU_SOURCE) + #define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */ + #define GLOB_BRACE 0x0080 /* Expand braces ala csh. */ + #define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */ +@@ -82,7 +83,7 @@ typedef struct { + #define GLOB_QUOTE 0x2000 /* XXX: source compatibility */ + + #define GLOB_ABEND GLOB_ABORTED /* source compatibility */ +-/* #endif */ ++#endif + + int glob (const char *, int, int (*)(const char *, int), glob_t *); + void globfree (glob_t *); +--- host.defs ++++ host.defs 2007-07-13 14:05:57.545518678 +0200 +@@ -110,7 +110,7 @@ newcode : + /* + * On convex, find the current machine type via the getsysinfo() syscall + */ +-#include ++# include + + /* From: fox@convex.com (David DeSimone) */ + static char * +@@ -168,6 +168,30 @@ getconvex(void) + endcode : + enddef : + ++newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__) ++comment : Linus Torvalds's linux ++newcode : ++# include ++char * getmach(void) ++{ ++ static char* mach = "unknown"; ++ struct utsname uts; ++ if (uname(&uts) == 0) ++ mach = uts.machine; ++ return mach; ++} ++char * gethost(void) ++{ ++ static char host[256]; ++ struct utsname uts; ++ if (uname(&uts) == 0) ++ xsnprintf(host, sizeof(host), "%s-linux", uts.machine); ++ else ++ xsnprintf(host, sizeof(host), "unknown-linux"); ++ return host; ++} ++endcode : ++enddef : + + newcode : + void +@@ -434,26 +458,29 @@ machtype: defined(M_i386) : "i386" + enddef : + + +-newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__) +-comment : Linus Torvalds's linux ++vendor : defined(SuSE) : "suse" + vendor : defined(M_intel) : "intel" + hosttype: defined(__ia64__) : "ia64-linux" + hosttype: defined(__powerpc64__) : "powerpc64-linux" + hosttype: defined(__s390x__) : "s390x-linux" + hosttype: defined(__s390__) : "s390-linux" + hosttype: defined(__x86_64__) : "x86_64-linux" +-hosttype: defined(M_i586) : "i586-linux" +-hosttype: defined(M_i486) : "i486-linux" ++hosttype: defined(M_i686) : "i686-linux" ++hosttype: defined(M_i586) : "i586-linux" ++hosttype: defined(M_i486) : "i486-linux" + hosttype: defined(M_i386) : "i386-linux" ++hosttype: : gethost() + ostype : : "linux" + machtype: defined(__ia64__) : "ia64" + machtype: defined(__powerpc64__) : "powerpc64" + machtype: defined(__s390x__) : "s390x" + machtype: defined(__s390__) : "s390" + machtype: defined(__x86_64__) : "x86_64" +-machtype: defined(M_i586) : "i586" +-machtype: defined(M_i486) : "i486" ++machtype: defined(M_i686) : "i686" ++machtype: defined(M_i586) : "i586" ++machtype: defined(M_i486) : "i486" + machtype: defined(M_i386) : "i386" ++machtype: : getmach() + vendor : defined(__alpha) : "dec" + vendor : defined(PPC) : "apple" + hosttype: defined(__alpha) : "alpha" +@@ -464,6 +491,7 @@ machtype: defined(M_mipsel) : "mipsel + machtype: defined(M_mipseb) : "mipseb" + machtype: defined(M_mips64el) : "mips64el" + machtype: defined(M_mips64eb) : "mips64eb" ++machtype: : getmach() + enddef : + + +--- pathnames.h ++++ pathnames.h 2006-04-25 14:58:31.000000000 +0200 +@@ -33,7 +33,7 @@ + #ifndef _h_pathnames + #define _h_pathnames + +-#ifdef BSD4_4 ++#if defined(BSD4_4) || defined(linux) + # include + #endif + +@@ -84,7 +84,7 @@ + # endif /* !_PATH_DOTLOGIN */ + #endif /* sgi || OREO || cray || AMIX || CDC */ + +-#if (defined(_CRAYCOM) || defined(Lynx)) && !defined(_PATH_TCSHELL) ++#if (defined(_CRAYCOM) || defined(Lynx) || defined(linux)) && !defined(_PATH_TCSHELL) + # define _PATH_TCSHELL "/bin/tcsh" /* 1st class shell */ + #endif /* _CRAYCOM && !_PATH_TCSHELL */ + +--- sh.c ++++ sh.c 2006-04-25 14:58:31.000000000 +0200 +@@ -456,7 +456,8 @@ main(int argc, char **argv) + if (loginsh || (uid == 0)) { + if (*cp) { + /* only for login shells or root and we must have a tty */ +- if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) { ++ if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) && ++ (Strncmp(cp, STRpts, 3) != 0)) { + cp = cp2 + 1; + } + else +@@ -717,7 +718,16 @@ main(int argc, char **argv) + xfree(tmp2); + } + #else /* !WINNT_NATIVE */ ++#if defined(__GLIBC__) && __GLIBC__ >= 2 ++ { ++ char *tmpdir = getenv ("TMPDIR"); ++ if (!tmpdir) ++ tmpdir = "/tmp"; ++ shtemp = Strspl(SAVE(tmpdir), SAVE("/sh.XXXXXX")); /* For << */ ++ } ++#else + shtemp = Strspl(STRtmpsh, doldol); /* For << */ ++#endif /* __GLIBC__ */ + #endif /* WINNT_NATIVE */ + + /* +@@ -741,9 +751,9 @@ main(int argc, char **argv) + /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ + #if defined(DSPMBYTE) + #if defined(NLS) && defined(LC_CTYPE) +- if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL) && !adrof(CHECK_MBYTEVAR)) { ++ if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL)) { + #else +- if ((tcp = getenv("LANG")) != NULL && !adrof(CHECK_MBYTEVAR)) { ++ if ((tcp = getenv("LANG")) != NULL) { + #endif + autoset_dspmbyte(str2short(tcp)); + } +@@ -1252,6 +1262,9 @@ main(int argc, char **argv) + setintr = osetintr; + parintr = oparintr; + } ++#ifndef USERLOGINFIRST ++# undef LOGINFIRST ++#endif + #ifdef LOGINFIRST + if (loginsh) + (void) srccat(varval(STRhome), STRsldotlogin); +--- sh.dol.c ++++ sh.dol.c 2007-07-13 13:51:57.812291316 +0200 +@@ -30,6 +30,7 @@ + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ ++#include + #include "sh.h" + + RCSID("$tcsh: sh.dol.c,v 3.70 2006/09/14 18:30:16 christos Exp $") +@@ -922,6 +923,31 @@ heredoc(Char *term) + Char *lbp, *obp, *mbp; + Char **vp; + int quoted; ++//#undef __GLIBC__ ++#if defined(__GLIBC__) && __GLIBC__ >= 2 ++ char *tmp = short2str(shtemp); ++ char *dot = strrchr(tmp, '.'); ++ int fd; ++ ++ if (!dot) ++ stderror(ERR_NAME | ERR_NOMATCH); ++ strcpy(dot, ".XXXXXX"); ++ ++ if ((fd = mkstemp(tmp)) < 0) ++ stderror(ERR_SYSTEM, tmp, strerror(errno)); ++ xclose(fd); ++ ++# ifndef O_TEMPORARY ++# define O_TEMPORARY 0 ++# endif ++ xclose(0); ++ if (xopen(tmp, O_RDWR|O_TEMPORARY) == -1) { ++ int oerrno = errno; ++ (void) unlink(tmp); ++ errno = oerrno; ++ stderror(ERR_SYSTEM, tmp, strerror(errno)); ++ } ++#else /* !__GLIBC__ */ + char *tmp; + #ifndef WINNT_NATIVE + struct timeval tv; +@@ -961,6 +987,7 @@ again: + errno = oerrno; + stderror(ERR_SYSTEM, tmp, strerror(errno)); + } ++#endif /* !__GLIBC__ */ + (void) unlink(tmp); /* 0 0 inode! */ + Dv[0] = term; + Dv[1] = NULL; +--- sh.func.c ++++ sh.func.c 2006-04-25 14:58:31.000000000 +0200 +@@ -1267,14 +1267,6 @@ dosetenv(Char **v, struct command *c) + } + #endif /* apollo */ + +- /* dspkanji/dspmbyte autosetting */ +- /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ +-#if defined(DSPMBYTE) +- if(eq(vp, STRLANG) && !adrof(CHECK_MBYTEVAR)) { +- autoset_dspmbyte(lp); +- } +-#endif +- + if (islocale_var(vp)) { + #ifdef NLS + int k; +@@ -1296,6 +1288,13 @@ dosetenv(Char **v, struct command *c) + nlsclose(); + nlsinit(); + # endif /* NLS_CATALOGS */ ++# if defined(DSPMBYTE) ++ /* dspkanji/dspmbyte autosetting */ ++ /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ ++ if (eq(vp, STRLANG)) { ++ autoset_dspmbyte(lp); ++ } ++# endif + # ifdef SETLOCALEBUG + dont_free = 0; + # endif /* SETLOCALEBUG */ +--- sh.h ++++ sh.h 2007-07-13 13:07:44.198395000 +0200 +@@ -267,7 +267,7 @@ typedef int eChar; + # else + # include + # endif /* _UWIN */ +-# if SYSVREL > 3 ++# if SYSVREL > 3 || defined(linux) + # undef TIOCGLTC /* we don't need those, since POSIX has them */ + # undef TIOCSLTC + # undef CSWTCH +@@ -321,6 +321,12 @@ typedef int eChar; + #if !((defined(SUNOS4) || defined(_MINIX) /* || defined(DECOSF1) */) && defined(TERMIO)) + # if !defined(_VMS_POSIX) && !defined(WINNT_NATIVE) + # include ++# if SYSVREL > 3 || defined(linux) ++# undef TIOCGLTC /* we don't need those, since POSIX has them */ ++# undef TIOCSLTC ++# undef CSWTCH ++# define CSWTCH _POSIX_VDISABLE /* So job control works */ ++# endif /* SYSVREL > 3 */ + # endif + #endif + +@@ -1179,9 +1185,7 @@ extern char **environ; + # ifdef NLS_CATALOGS + # if defined(linux) || defined(__GNU__) || defined(__GLIBC__) + # include +-# ifdef notdef +-# include /* Has this changed ? */ +-# endif ++# include + # include + # endif + # ifdef SUNOS4 +--- sh.lex.c ++++ sh.lex.c 2006-04-25 14:58:31.000000000 +0200 +@@ -1447,7 +1447,7 @@ reread: + pid_t ctpgrp; + #endif /* BSDJOBS */ + +- if (numeof != 0 && ++sincereal >= numeof) /* Too many EOFs? Bye! */ ++ if (++sincereal >= numeof) /* Too many EOFs? Bye! */ + goto oops; + #ifdef BSDJOBS + if (tpgrp != -1 && +--- sh.sem.c ++++ sh.sem.c 2006-04-25 14:58:31.000000000 +0200 +@@ -622,10 +622,19 @@ execute(struct command *t, volatile int + * possible stopping + */ + if (bifunc) { +- func(t, bifunc); +- if (forked) ++ if (forked) { ++ func(t, bifunc); + exitstat(); +- else { ++ } else { ++ jmp_buf_t oldexit; ++ int ohaderr = haderr; ++ ++ getexit(oldexit); ++ if (setexit() == 0) ++ func(t, bifunc); ++ resexit(oldexit); ++ haderr = ohaderr; ++ + if (adrof(STRprintexitvalue)) { + int rv = getn(varval(STRstatus)); + if (rv != 0) +--- sh.set.c ++++ sh.set.c 2007-07-13 13:09:17.172297000 +0200 +@@ -1091,11 +1091,11 @@ update_dspmbyte_vars(void) + dstr1 = vp->vec[0]; + if(eq (dstr1, STRsjis)) + iskcode = 1; +- else if (eq(dstr1, STReuc)) ++ else if (eq(dstr1, STReuc) || eq(dstr1, STReucjp) || eq(dstr1, STRGB2312)) + iskcode = 2; + else if (eq(dstr1, STRbig5)) + iskcode = 3; +- else if (eq(dstr1, STRutf8)) ++ else if (eq(dstr1, STRutf8) || eq(dstr1, STRutfx8)) + iskcode = 4; + else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) { + iskcode = 0; +@@ -1179,7 +1179,7 @@ update_dspmbyte_vars(void) + _enable_mbdisp = 0; + dspmbyte_ls = 0; + } +-#ifdef MBYTEDEBUG /* Sorry, use for beta testing */ ++# ifdef MBYTEDEBUG /* Sorry, use for beta testing */ + { + Char mbmapstr[300]; + for (lp = 0; lp < 256; lp++) +@@ -1187,7 +1187,7 @@ update_dspmbyte_vars(void) + mbmapstr[lp] = 0; + setcopy(STRmbytemap, mbmapstr, VAR_READWRITE); + } +-#endif /* MBYTEMAP */ ++# endif /* MBYTEMAP */ + } + + /* dspkanji/dspmbyte autosetting */ +@@ -1196,6 +1196,7 @@ void + autoset_dspmbyte(const Char *pcp) + { + int i; ++ struct varent *vp; + static const struct dspm_autoset_Table { + Char *n; + Char *v; +@@ -1218,13 +1219,18 @@ autoset_dspmbyte(const Char *pcp) + #if defined(HAVE_NL_LANGINFO) && defined(CODESET) + static const struct dspm_autoset_Table dspmc[] = { + { STRstarutfstar8, STRutf8 }, ++ { STRutfx8, STRutf8 }, + { STReuc, STReuc }, ++ { STReucjp, STReuc }, + { STRGB2312, STReuc }, + { STRLANGBIG5, STRbig5 }, + { NULL, NULL } + }; + Char *codeset; + ++ if ((vp = adrof(CHECK_MBYTEVAR))) ++ unsetv1(vp); ++ + codeset = str2short(nl_langinfo(CODESET)); + if (*codeset != '\0') { + for (i = 0; dspmc[i].n; i++) { +--- tc.alloc.c ++++ tc.alloc.c 2006-04-25 14:58:31.000000000 +0200 +@@ -486,7 +486,7 @@ smalloc(size_t n) + { + ptr_t ptr; + +- n = n ? n : 1; ++ n = n ? n+1 : 1; + + #ifdef HAVE_SBRK + if (membot == NULL) +@@ -509,7 +509,7 @@ srealloc(ptr_t p, size_t n) + { + ptr_t ptr; + +- n = n ? n : 1; ++ n = n ? n+1 : 1; + + #ifdef HAVE_SBRK + if (membot == NULL) +@@ -533,7 +533,7 @@ scalloc(size_t s, size_t n) + ptr_t ptr; + + n *= s; +- n = n ? n : 1; ++ n = n ? n+1 : 1; + + #ifdef HAVE_SBRK + if (membot == NULL) +@@ -558,8 +558,10 @@ scalloc(size_t s, size_t n) + void + sfree(ptr_t p) + { +- if (p && !dont_free) ++ if (p && !dont_free) { + free(p); ++ p = (ptr_t)NULL; ++ } + } + + #endif /* SYSMALLOC */ +--- tc.const.c ++++ tc.const.c 2006-04-25 14:58:31.000000000 +0200 +@@ -127,10 +127,12 @@ Char STRmmliteral[] = { '-', 'G', '\0' } + Char STRmmliteral[] = { '-', '-', 'l', 'i', 't', 'e', 'r', 'a', 'l', '\0' }; + # endif + Char STReuc[] = { 'e', 'u', 'c', '\0' }; ++Char STReucjp[] = { 'e', 'u', 'c', '-', 'j', 'p', '\0' }; + Char STRsjis[] = { 's', 'j', 'i', 's', '\0' }; + Char STRbig5[] = { 'b', 'i', 'g', '5', '\0' }; + Char STRutf8[] = { 'u', 't', 'f', '8', '\0' }; + Char STRstarutfstar8[] = { '*', 'u', 't', 'f', '*', '8', '\0' }; ++Char STRutfx8[] = { 'u', 't', 'f', '-', '8', '\0' }; + Char STRGB2312[] = { 'g', 'b', '2', '3', '1', '2', '\0' }; + # ifdef MBYTEDEBUG /* Sorry, use for beta testing */ + Char STRmbytemap[] = { 'm', 'b', 'y', 't', 'e', 'm', 'a', 'p', '\0' }; +@@ -429,7 +431,7 @@ Char STRkilldup[] = { 'k', 'i', 'l', 'l + Char STRshlvl[] = { 's', 'h', 'l', 'v', 'l', '\0' }; + Char STRKSHLVL[] = { 'S', 'H', 'L', 'V', 'L', '\0' }; + Char STRLANG[] = { 'L', 'A', 'N', 'G', '\0' }; +-Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' }; ++Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' }; + Char STRLC_CTYPE[] = { 'L', 'C', '_', 'C', 'T', 'Y', 'P', 'E' ,'\0' }; + Char STRLC_NUMERIC[] = { 'L', 'C', '_', 'N', 'U', 'M', 'E', 'R', 'I', + 'C', '\0' }; +--- tc.func.c ++++ tc.func.c 2007-07-13 13:15:03.477171000 +0200 +@@ -689,9 +689,13 @@ auto_lock(void) + handle_pending_signals(); + errno = 0; + } +- if (spw != NULL) /* shadowed passwd */ ++ if (spw != NULL) /* shadowed passwd */ + srpp = spw->sp_pwdp; ++ else ++ srpp = pw->pw_passwd; /* nis extended passwd? */ + } ++ endspent(); ++ endpwent(); + + #else + +@@ -1902,7 +1906,7 @@ getremotehost(int dest_fd) + * have not caught up yet. + */ + addr.s_addr = inet_addr(name); +- if (addr.s_addr != (unsigned int)~0) ++ if (addr.s_addr != ~0U) + host = name; + else { + if (sptr != name) { +--- tc.str.c ++++ tc.str.c 2006-04-25 14:58:31.000000000 +0200 +@@ -271,7 +271,7 @@ s_strlen(const Char *str) + { + size_t n; + +- for (n = 0; *str++; n++) ++ for (n = 0; str && *str; n++, str++) + continue; + return (n); + } +--- tc.who.c ++++ tc.who.c 2006-04-25 14:58:31.000000000 +0200 +@@ -260,6 +260,9 @@ watch_login(int force) + } + stlast = sta.st_mtime; + #ifdef HAVE_GETUTENT ++# ifndef HAVE_UTMPX_H ++ utmpname( _PATH_UTMP ); ++# endif + setutent(); + #else + if ((utmpfd = xopen(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) { +--- tcsh.man ++++ tcsh.man 2006-04-25 14:58:31.000000000 +0200 +@@ -567,7 +567,7 @@ Repeating \fIdabbrev-expand\fR without a + changes to the next previous word etc., skipping identical matches + much like \fIhistory-search-backward\fR does. + .TP 8 +-.B delete-char \fR(not bound) ++.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR) + Deletes the character under the cursor. + See also \fIdelete-char-or-list-or-eof\fR. + .TP 8 +--- tw.color.c ++++ tw.color.c 2007-07-13 13:18:16.453713000 +0200 +@@ -173,7 +173,7 @@ parseLS_COLORS(const Char *value) + size_t i, len; + const Char *v; /* pointer in value */ + char *c; /* pointer in colors */ +- Extension *volatile e; /* pointer in extensions */ ++ static Extension *volatile e; /* pointer in extensions */ + jmp_buf_t osetexit; + size_t omark; + +@@ -301,12 +301,13 @@ print_color(const Char *fname, size_t le + break; + } + if (i == nvariables) { +- for (i = 0; i < nextensions; i++) +- if (len >= extensions[i].extension.len +- && strncmp(last - extensions[i].extension.len, +- extensions[i].extension.s, +- extensions[i].extension.len) == 0) { +- color = &extensions[i].color; ++ int j; ++ for (j = 0; j < nextensions; j++) ++ if (len >= extensions[j].extension.len ++ && strncmp(last - extensions[j].extension.len, ++ extensions[j].extension.s, ++ extensions[j].extension.len) == 0) { ++ color = &extensions[j].color; + break; + } + } +--- tw.h ++++ tw.h 2006-04-25 14:58:31.000000000 +0200 +@@ -33,6 +33,10 @@ + #ifndef _h_tw + #define _h_tw + ++#ifndef _h_sh ++# include "sh.h" ++#endif ++ + #define TW_PATH 0x1000 + #define TW_ZERO 0x0fff + +--- config/linux ++++ config/linux 2007-07-13 13:22:07.326273000 +0200 +@@ -70,7 +70,7 @@ + * + * Note: Linux should work with any SYSVREL < 3. + */ +-#define SYSVREL 0 ++#define SYSVREL 2 + + /* + * YPBUGS Work around Sun YP bugs that cause expansion of ~username +@@ -86,21 +86,40 @@ + */ + + #define __STRICT_ANSI__ +-#define _BSD_SOURCE +-#define _SVID_SOURCE +-#define _POSIX_SOURCE +-#define _XOPEN_SOURCE 500 +-#define _GNU_SOURCE ++#ifndef _BSD_SOURCE ++# define _BSD_SOURCE ++#endif ++#ifndef _SVID_SOURCE ++# define _SVID_SOURCE ++#endif ++#ifndef _POSIX_SOURCE ++# define _POSIX_SOURCE ++#endif ++#ifndef _XOPEN_SOURCE ++# define _XOPEN_SOURCE 500 ++#endif ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE ++#endif + + /* + * Large file support from + */ + +-#define _LARGEFILE_SOURCE +-#define _LARGEFILE64_SOURCE +-#define _FILE_OFFSET_BITS 64 ++#ifndef _LARGEFILE_SOURCE ++# define _LARGEFILE_SOURCE ++#endif ++#ifndef _LARGEFILE64_SOURCE ++# define _LARGEFILE64_SOURCE ++#endif ++#ifndef _FILE_OFFSET_BITS ++# define _FILE_OFFSET_BITS 64 ++#endif + + /****************** local defines *********************/ ++#if !defined(PW_SHADOW) ++# define PW_SHADOW ++#endif + #ifndef _PATH_TCSHELL + #define _PATH_TCSHELL "/bin/tcsh" + #endif +@@ -108,4 +127,17 @@ + + #define NLS_CATALOGS + ++#if !defined(SYSMALLOC) ++# define SYSMALLOC ++#endif ++#if !defined(NISPLUS) ++# define NISPLUS ++#endif ++#if !defined(POSIX) ++# define POSIX ++#endif ++ ++#define SuSE ++#define MCLoadBySet NL_CAT_LOCALE ++ + #endif /* _h_config */ +--- nls/C/set1 ++++ nls/C/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.6 2006/03/02 18:46:45 christos Exp $ + $ Error messages ++$ codeset=ANSI_X3.4-1968 + $set 1 + 1 Syntax Error + 2 %s is not allowed +--- nls/et/set1 ++++ nls/et/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.3 2006/03/02 18:46:45 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Süntaksi viga + 2 %s ei ole lubatud +--- nls/finnish/set1 ++++ nls/finnish/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.3 2006/03/02 18:46:46 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Kielioppivirhe + 2 %s ei ole sallittu +--- nls/french/set1 ++++ nls/french/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.4 2006/03/02 18:46:46 christos Exp $ + $ Messages d 'erreur ++$ codeset=ISO-8859-1 + $set 1 + 1 Erreur de syntaxe + 2 %s n'est pas autorisé +--- nls/german/set1 ++++ nls/german/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.6 2006/03/02 18:46:46 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Syntaxfehler + 2 %s nicht erlaubt +--- nls/greek/set1 ++++ nls/greek/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.4 2006/03/02 18:46:46 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-7 + $set 1 + 1 ËÜèïò óýíôáîç + 2 Tï %s äåí åðéôñÝðåôáé +--- nls/italian/set1 ++++ nls/italian/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.2 2006/03/02 18:46:47 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Errore di Sintassi + 2 %s non è permesso +--- nls/ja/set1 ++++ nls/ja/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.5 2006/03/02 18:46:47 christos Exp $ + $ Error messages ++$ codeset=EUC-JP + $set 1 + 1 ʸˡ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹ + 2 %s ¤Ï³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó +--- nls/pl/set1 ++++ nls/pl/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.5 1998/06/27 12:27:55 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-2 + $set 1 + 1 B³±d sk³adni + 2 %s jest niedozwolone +--- nls/russian/set1 ++++ nls/russian/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.4 2006/03/02 18:46:47 christos Exp $ + $ Error messages ++$ codeset=KOI8-R + $set 1 + 1 óÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ + 2 %s ÎÅÄÏÐÕÓÔÉÍÏ +--- nls/spanish/set1 ++++ nls/spanish/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.3 2006/03/02 18:46:48 christos Exp $ + $ Mensajes de Error ++$ codeset=ISO-8859-1 + $set 1 + 1 Error de sintaxis + 2 %s no está permitido +--- nls/ukrainian/set1 ++++ nls/ukrainian/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $tcsh: set1,v 1.3 2006/03/02 18:46:48 christos Exp $ + $ Error messages ++$ codeset=KOI8-U + $set 1 + 1 óÉÎÔÁËÓÉÞÎÁ ÐÏÍÉÌËÁ + 2 %s ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ diff --git a/tcsh-6.15.00.tar.bz2 b/tcsh-6.15.00.tar.bz2 new file mode 100644 index 0000000..e5783fa --- /dev/null +++ b/tcsh-6.15.00.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66129f5c288432741419c2bf6cf7567f7349b453acd25bbfc4bea0fd3d81a165 +size 727440 diff --git a/tcsh.changes b/tcsh.changes index 2a7c74f..763d51c 100644 --- a/tcsh.changes +++ b/tcsh.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Jul 16 14:41:03 CEST 2007 - werner@suse.de + +- Update to tcsh version V6.15.00 + * fix extension eating windows code + * fix loop in %R history expansion + * sched +X source file disables interrupts (Mike Sullivan) + * One off copying macro buffers + * Avoid infinite loops in :ga modifiers when the LHS is a + substring of the RHS. +- Update bindkey.tcsh to fit current xterm and others (bug #262330) + ------------------------------------------------------------------- Thu Mar 29 12:08:23 CEST 2007 - rguenther@suse.de diff --git a/tcsh.spec b/tcsh.spec index 28d4b5e..2a1b1ea 100644 --- a/tcsh.spec +++ b/tcsh.spec @@ -1,5 +1,5 @@ # -# spec file for package tcsh (Version 6.14.00) +# spec file for package tcsh (Version 6.15.00) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -13,21 +13,21 @@ Name: tcsh BuildRequires: ncurses-devel URL: http://www.tcsh.org/ -License: BSD License and BSD-like +License: BSD 3-Clause Group: System/Shells Requires: gawk textutils Autoreqprov: on -Version: 6.14.00 -Release: 54 +Version: 6.15.00 +Release: 1 Summary: The C SHell -Source: ftp.astron.com:/pub/tcsh/tcsh-6.14.00.tar.bz2 +Source: ftp.astron.com:/pub/tcsh/tcsh-6.15.00.tar.bz2 Source1: nls-iconv -Patch: tcsh-6.14.00.dif -Patch1: tcsh-6.14.00-spelling.dif -Patch2: tcsh-6.14.00-bsdsignals.dif -Patch3: tcsh-6.14.00-utf8.dif -Patch4: tcsh-6.14.00-pipe.dif -Patch5: tcsh-6.14.00-tabexpand.dif +Source2: bindkey.tcsh +Source3: complete.tcsh +Patch: tcsh-6.15.00.dif +Patch1: tcsh-6.15.00-spelling.dif +Patch2: tcsh-6.15.00-utf8.dif +Patch3: tcsh-6.15.00-pipe.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -47,10 +47,8 @@ Authors: %prep %setup %patch1 -p0 -b .spell -%patch2 -p0 -b .bsdsig -%patch3 -p0 -b .utf8 -%patch4 -p0 -b .pipe -%patch5 -p0 -b .tabexpand +%patch2 -p0 -b .utf8 +%patch3 -p0 -b .pipe %patch sh $RPM_SOURCE_DIR/nls-iconv @@ -68,10 +66,12 @@ Authors: --bindir=/bin \ --sysconfdir=/etc \ --localstatedir=/var \ - --sharedstatedir=/usr/share \ - --infodir=/usr/share/info \ - --mandir=/usr/share/man \ - --libexecdir=/usr/%{_lib}/tcsh + --sharedstatedir=%_datadir \ + --infodir=%_infodir \ + --mandir=%_mandir \ + --libexecdir=/usr/%{_lib}/tcsh \ + --disable-rpath \ + --with-gnu-ld make make catalogs @@ -99,14 +99,14 @@ Authors: install -m 0444 FAQ $RPM_BUILD_ROOT%{_docdir}/tcsh/FAQ.tcsh mkdir -p $RPM_BUILD_ROOT/etc/profile.d/ mkdir -p $RPM_BUILD_ROOT/usr/bin - install -m 644 SuSE/bindkey.tcsh $RPM_BUILD_ROOT/etc/profile.d/ - install -m 644 SuSE/complete.tcsh $RPM_BUILD_ROOT/etc/profile.d/ + install -m 644 $RPM_SOURCE_DIR/bindkey.tcsh $RPM_BUILD_ROOT/etc/profile.d/ + install -m 644 $RPM_SOURCE_DIR/complete.tcsh $RPM_BUILD_ROOT/etc/profile.d/ rm -f $RPM_BUILD_ROOT/bin/csh rm -f $RPM_BUILD_ROOT/usr/bin/csh rm -f $RPM_BUILD_ROOT/usr/bin/tcsh - rm -f $RPM_BUILD_ROOT/usr/share/man/man1/csh.* + rm -f $RPM_BUILD_ROOT%{_mandir}/man1/csh.* ln -sf tcsh $RPM_BUILD_ROOT/bin/csh - ln -sf tcsh.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/csh.1.gz + ln -sf tcsh.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/csh.1.gz ln -sf ../../bin/tcsh $RPM_BUILD_ROOT/usr/bin/csh ln -sf ../../bin/tcsh $RPM_BUILD_ROOT/usr/bin/tcsh @@ -123,11 +123,20 @@ Authors: /usr/bin/csh /usr/bin/tcsh %doc %{_docdir}/tcsh/FAQ.tcsh -%doc /usr/share/man/man1/csh.1.gz -%doc /usr/share/man/man1/tcsh.1.gz -/usr/share/locale/*/LC_MESSAGES/tcsh +%doc %{_mandir}/man1/csh.1.gz +%doc %{_mandir}/man1/tcsh.1.gz +%{_datadir}/locale/*/LC_MESSAGES/tcsh %changelog +* Mon Jul 16 2007 - werner@suse.de +- Update to tcsh version V6.15.00 + * fix extension eating windows code + * fix loop in %%R history expansion + * sched +X source file disables interrupts (Mike Sullivan) + * One off copying macro buffers + * Avoid infinite loops in :ga modifiers when the LHS is a + substring of the RHS. +- Update bindkey.tcsh to fit current xterm and others (bug #262330) * Thu Mar 29 2007 - rguenther@suse.de - Add ncurses-devel BuildRequires. * Mon Feb 26 2007 - werner@suse.de