SHA256
1
0
forked from pool/tcsh
OBS User unknown 2007-07-16 15:55:24 +00:00 committed by Git OBS Bridge
parent ccdc89746f
commit 839528e602
15 changed files with 2502 additions and 2205 deletions

703
bindkey.tcsh Normal file
View File

@ -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 <feedback@suse.de>
#
# 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
#

910
complete.tcsh Normal file
View File

@ -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 <werner@suse.de>
#
# 1999/06/28: <werner@suse.de> 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 <number>'/ \
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:'<port>'/ 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:<key-sequence>'/ \
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:<key-sequence or option>'/
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 <mlschroe@immd4.informatik.uni-erlangen.de>
# 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:'<number>'/ \
n/*/"(if of conv ibs obs bs cbs files skip file seek count)"/=
complete nslookup p/1/x:'<host>'/ 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 <jaap@sequent.com>
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 <marc@cam.ov.com>
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 <ejb@ERA.COM>
# = 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 <kim@tac.nyc.ny.us>
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:'<subject line>'/ \
n/-e/x:'<command>'/ \
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:'<subject>'/ \
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:'<subject>'/ \
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:'<keyword>'/ n/-l/f/ C@./*@f@ n/*/c/
complete ps c/-t/x:'<tty>'/ c/-/"(a c C e g k l S t u v w x)"/ \
n/-k/x:'<kernel>'/ N/-k/x:'<core_file>'/ n/*/x:'<PID>'/
complete compress c/-/"(c f v b)"/ n/-b/x:'<max_bits>'/ 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:'<decode_pathname>'/ 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:'<line_number>'/ \
n/-d/x:'<display>'/ n/-f/x:'<lisp_function>'/ n/-i/f/ \
n@-l@F:/usr/share/emacs/@ \
n/-t/x:'<terminal>'/ \
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:'<file_name_suffix>'/ \
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:'<file_name_suffix>'/ \
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:'<limited_regular_expression>'/ N/-*e/f/ \
n/-*e/x:'<limited_regular_expression>'/ 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:'<full_regular_expression>'/ N/-*e/f/ \
n/-*e/x:'<full_regular_expression>'/ 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:'<fixed_string>'/ N/-*e/f/ \
n/-*e/x:'<fixed_string>'/ 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:'<limited_regular_expression>'/ N/-*e/f/ \
n/-*e/x:'<limited_regular_expression>'/ 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:'<full_regular_expression>'/ N/-*e/f/ \
n/-*e/x:'<full_regular_expression>'/ 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:'<fixed_string>'/ N/-*e/f/ \
n/-*e/x:'<fixed_string>'/ n/-*f/f/ n/*/f/
complete users c/--/"(help version)"/ p/1/x:'<accounting_file>'/
complete who c/--/"(heading mesg idle count help message version \
writable)"/ c/-/"(H T w i u m q s -)"/ \
p/1/x:'<accounting_file>'/ 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:'<suffix>'/ \
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:'<suffix>'/ \
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:'<suffix>'/ \
n/{-V,--version-control}/"(t numbered nil existing \
never simple)"/ n/-/f/ N/-/x:'<link_name>'/ \
p/1/f/ p/2/x:'<link_name>'/
complete touch c/--/"(date reference time help version)"/ \
c/-/"(a c d f m r t -)"/ \
n/{-d,--date}/x:'<date_string>'/ \
c/--time/"(access atime mtime modify use)"/ \
n/{-r,--file}/f/ n/-t/x:'<time_stamp>'/ n/*/f/
complete mkdir c/--/"(mode parents verbose help version)"/ \
c/-/"(p m -)"/ \
n/{-m,--mode}/x:'<mode>'/ 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:'<new_gziped_tar_file, device_file, or "-">'/ \
n/-c*{jf,fj}/x:'<new_bziped_tar_file, device_file, or "-">'/ \
n/-c*f/x:'<new_tar_file, device_file, or "-">'/ \
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:'<block_size>'/ \
n/{-V,--label}/x:'<volume_label>'/ \
n/{-N,--{after-date,newer}}/x:'<date>'/ \
n/{-L,--tape-length}/x:'<tape_length_in_kB>'/ \
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:'<key ...>'@ p@1@x:'<key ...>'@ \
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
#

View File

@ -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))

View File

@ -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 */

View File

@ -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);
/*

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bc7f3574610a78345020060520886827e2cfe8e5fde25ee1457f935fe593b821
size 715227

11
tcsh-6.15.00-pipe.dif Normal file
View File

@ -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;

View File

@ -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

13
tcsh-6.15.00-utf8.dif Normal file
View File

@ -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

807
tcsh-6.15.00.dif Normal file
View File

@ -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 <sys/sysinfo.h>
+# include <sys/sysinfo.h>
/* 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 <sys/utsname.h>
+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 <paths.h>
#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 <features.h>
#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 <termio.h>
# 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 <sys/ioctl.h>
+# 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 <locale.h>
-# ifdef notdef
-# include <localeinfo.h> /* Has this changed ? */
-# endif
+# include <langinfo.h>
# include <features.h>
# 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 <features.h>
*/
-#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 ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ

3
tcsh-6.15.00.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:66129f5c288432741419c2bf6cf7567f7349b453acd25bbfc4bea0fd3d81a165
size 727440

View File

@ -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

View File

@ -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