Update to tcsh-6.24.14
OBS-URL: https://build.opensuse.org/package/show/shells/tcsh?expand=0&rev=174
This commit is contained in:
commit
e4e823ad11
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
926
bindkey.tcsh
Normal file
926
bindkey.tcsh
Normal file
@ -0,0 +1,926 @@
|
|||||||
|
#
|
||||||
|
# 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 ( ${?MC_SID} == 0 ) then
|
||||||
|
#
|
||||||
|
# Those bindings interfere with Midnight Commander
|
||||||
|
#
|
||||||
|
bindkey "^M[1~" beginning-of-line
|
||||||
|
bindkey "^M[2~" yank
|
||||||
|
bindkey "^M[3~" delete-char
|
||||||
|
bindkey "^M[4~" end-of-line
|
||||||
|
bindkey "^M[5~" history-search-backward
|
||||||
|
bindkey "^M[6~" history-search-forward
|
||||||
|
endif
|
||||||
|
bindkey -r "\233"
|
||||||
|
bindkey "\2331~" beginning-of-line
|
||||||
|
bindkey "\2332~" yank
|
||||||
|
bindkey "\2333~" delete-char
|
||||||
|
bindkey "\2334~" end-of-line
|
||||||
|
bindkey "\2335~" history-search-backward
|
||||||
|
bindkey "\2336~" 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
|
||||||
|
bindkey -r "\217"
|
||||||
|
bindkey "\217C" forward-char
|
||||||
|
bindkey "\217D" backward-char
|
||||||
|
bindkey "\217A" up-history
|
||||||
|
bindkey "\217B" down-history
|
||||||
|
bindkey "\233C" forward-char
|
||||||
|
bindkey "\233D" backward-char
|
||||||
|
bindkey "\233A" up-history
|
||||||
|
bindkey "\233B" down-history
|
||||||
|
#
|
||||||
|
# Cursor keys in keypad mode
|
||||||
|
#
|
||||||
|
bindkey "^C[OC" forward-char
|
||||||
|
bindkey "^C[OD" backward-char
|
||||||
|
bindkey "^C[OA" up-history
|
||||||
|
bindkey "^C[OB" down-history
|
||||||
|
#
|
||||||
|
# Cursor keys in ANSI mode
|
||||||
|
#
|
||||||
|
bindkey "^C[[C" forward-char
|
||||||
|
bindkey "^C[[D" backward-char
|
||||||
|
bindkey "^C[[A" up-history
|
||||||
|
bindkey "^C[[B" down-history
|
||||||
|
#
|
||||||
|
# Cursor keys in 8 bit keypad mode
|
||||||
|
#
|
||||||
|
bindkey "^C^MOC" forward-char
|
||||||
|
bindkey "^C^MOD" backward-char
|
||||||
|
bindkey "^C^MOA" up-history
|
||||||
|
bindkey "^C^MOB" down-history
|
||||||
|
#
|
||||||
|
# Cursor keys in 8 bit ANSI mode
|
||||||
|
#
|
||||||
|
bindkey "^C^M[C" forward-char
|
||||||
|
bindkey "^C^M[D" backward-char
|
||||||
|
bindkey "^C^M[A" up-history
|
||||||
|
bindkey "^C^M[B" down-history
|
||||||
|
bindkey "^C^[[D" backward-char
|
||||||
|
#
|
||||||
|
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
|
||||||
|
|
||||||
|
bindkey "\2332C" forward-word
|
||||||
|
bindkey "\2332D" backward-word
|
||||||
|
bindkey "\2332A" history-search-backward
|
||||||
|
bindkey "\2332B" history-search-forward
|
||||||
|
bindkey "\2331;2C" forward-word
|
||||||
|
bindkey "\2331;2D" backward-word
|
||||||
|
bindkey "\2331;2A" history-search-backward
|
||||||
|
bindkey "\2331;2B" history-search-forward
|
||||||
|
bindkey "\2331;3C" forward-word
|
||||||
|
bindkey "\2331;3D" backward-word
|
||||||
|
bindkey "\2331;3A" history-search-backward
|
||||||
|
bindkey "\2331;3B" history-search-forward
|
||||||
|
bindkey "\2331;4C" forward-word
|
||||||
|
bindkey "\2331;4D" backward-word
|
||||||
|
bindkey "\2331;4A" history-search-backward
|
||||||
|
bindkey "\2331;4B" history-search-forward
|
||||||
|
bindkey "\2335C" forward-word
|
||||||
|
bindkey "\2335D" backward-word
|
||||||
|
bindkey "\2335A" history-search-backward
|
||||||
|
bindkey "\2335B" history-search-forward
|
||||||
|
bindkey "\2331;5C" forward-word
|
||||||
|
bindkey "\2331;5D" backward-word
|
||||||
|
bindkey "\2331;5A" history-search-backward
|
||||||
|
bindkey "\2331;5B" history-search-forward
|
||||||
|
bindkey "\2331;6C" forward-word
|
||||||
|
bindkey "\2331;6D" backward-word
|
||||||
|
bindkey "\2331;6A" history-search-backward
|
||||||
|
bindkey "\2331;6B" history-search-forward
|
||||||
|
bindkey "\2331;7C" forward-word
|
||||||
|
bindkey "\2331;7D" backward-word
|
||||||
|
bindkey "\2331;7A" history-search-backward
|
||||||
|
bindkey "\2331;7B" history-search-forward
|
||||||
|
bindkey "\2331;8C" forward-word
|
||||||
|
bindkey "\2331;8D" backward-word
|
||||||
|
bindkey "\2331;8A" history-search-backward
|
||||||
|
bindkey "\2331;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
|
||||||
|
if ( "$TERM" =~ xterm* ) then
|
||||||
|
#
|
||||||
|
# XTerm in UTF-8 mode
|
||||||
|
#
|
||||||
|
bindkey "^[\303\277" backward-delete-word
|
||||||
|
bindkey "^[ÿ" backward-delete-word
|
||||||
|
endif
|
||||||
|
#
|
||||||
|
# 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 "\2331;2H" beginning-of-line
|
||||||
|
bindkey "\2331;2F" end-of-line
|
||||||
|
bindkey "\2331;3H" beginning-of-line
|
||||||
|
bindkey "\2331;3F" end-of-line
|
||||||
|
bindkey "\2331;4H" beginning-of-line
|
||||||
|
bindkey "\2331;4F" end-of-line
|
||||||
|
bindkey "\2331;5H" beginning-of-line
|
||||||
|
bindkey "\2331;5F" end-of-line
|
||||||
|
bindkey "\2331;6H" beginning-of-line
|
||||||
|
bindkey "\2331;6F" end-of-line
|
||||||
|
bindkey "\2331;7H" beginning-of-line
|
||||||
|
bindkey "\2331;7F" end-of-line
|
||||||
|
bindkey "\2331;8H" beginning-of-line
|
||||||
|
bindkey "\2331;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
|
||||||
|
bindkey "\23317~" undefined-key
|
||||||
|
bindkey "\23318~" undefined-key
|
||||||
|
bindkey "\23319~" undefined-key
|
||||||
|
bindkey "\23320~" undefined-key
|
||||||
|
bindkey "\23321~" undefined-key
|
||||||
|
bindkey "\23323~" undefined-key
|
||||||
|
bindkey "\23324~" undefined-key
|
||||||
|
bindkey "\23325~" undefined-key
|
||||||
|
bindkey "\23326~" undefined-key
|
||||||
|
bindkey "\23328~" undefined-key
|
||||||
|
bindkey "\23329~" undefined-key
|
||||||
|
bindkey "\23331~" undefined-key
|
||||||
|
bindkey "\23332~" undefined-key
|
||||||
|
bindkey "\23333~" undefined-key
|
||||||
|
bindkey "\23334~" undefined-key
|
||||||
|
bindkey "\23335~" undefined-key
|
||||||
|
bindkey "\23336~" 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"
|
||||||
|
# Operators
|
||||||
|
bindkey -s "\217o" "/"
|
||||||
|
bindkey -s "\217j" "*"
|
||||||
|
bindkey -s "\217m" "-"
|
||||||
|
bindkey -s "\217k" "+"
|
||||||
|
bindkey -s "\217l" ","
|
||||||
|
bindkey "\217M" newline
|
||||||
|
bindkey -s "\217n" "."
|
||||||
|
# Numbers
|
||||||
|
bindkey -s "\217p" "0"
|
||||||
|
bindkey -s "\217q" "1"
|
||||||
|
bindkey -s "\217r" "2"
|
||||||
|
bindkey -s "\217s" "3"
|
||||||
|
bindkey -s "\217t" "4"
|
||||||
|
bindkey -s "\217u" "5"
|
||||||
|
bindkey -s "\217v" "6"
|
||||||
|
bindkey -s "\217w" "7"
|
||||||
|
bindkey -s "\217x" "8"
|
||||||
|
bindkey -s "\217y" "9"
|
||||||
|
# Shift+Alt+KP_<0...9> of konsole
|
||||||
|
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
|
||||||
|
#
|
||||||
|
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
|
||||||
|
# Shift+Alt+KP_<0...9>
|
||||||
|
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
|
||||||
|
#
|
||||||
|
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 "^[Oc" forward-word
|
||||||
|
bindkey "^[Od" backward-word
|
||||||
|
bindkey "^[Oa" history-search-backward
|
||||||
|
bindkey "^[Ob" 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 "^[^[[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
|
||||||
|
# Shift+Ctrl+(Alt+)KP_<0...9> generates
|
||||||
|
# \000 ... \011 (^@ upto TAB) we ignore these
|
||||||
|
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
|
||||||
|
#
|
||||||
|
# Screen
|
||||||
|
#
|
||||||
|
if ( "$TERM" =~ screen* ) then
|
||||||
|
bindkey "\e[1;2D" backward-word
|
||||||
|
bindkey "\e[1;2C" forward-word
|
||||||
|
bindkey "\e[1;2A" up-history
|
||||||
|
bindkey "\e[1;2B" down-history
|
||||||
|
bindkey "\e[1;2H" beginning-of-line
|
||||||
|
bindkey "\e[1;2F" end-of-line
|
||||||
|
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[1;5D" backward-word
|
||||||
|
bindkey "\e[1;5C" forward-word
|
||||||
|
bindkey "\e[1;5A" up-history
|
||||||
|
bindkey "\e[1;5B" down-history
|
||||||
|
bindkey "\e[1;5H" beginning-of-line
|
||||||
|
bindkey "\e[1;5F" end-of-line
|
||||||
|
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
|
||||||
|
bindkey "\e[1;3D" backward-word
|
||||||
|
bindkey "\e[1;3C" forward-word
|
||||||
|
bindkey "\e[1;3A" up-history
|
||||||
|
bindkey "\e[1;3B" down-history
|
||||||
|
bindkey "\e[1;3H" beginning-of-line
|
||||||
|
bindkey "\e[1;3F" end-of-line
|
||||||
|
bindkey "\e[2;3~" yank
|
||||||
|
bindkey "\e[3;3~" delete-char
|
||||||
|
bindkey "\e[5;3~" history-search-backward
|
||||||
|
bindkey "\e[6;3~" history-search-forward
|
||||||
|
#
|
||||||
|
bindkey "\e[1;2P" undefined-key
|
||||||
|
bindkey "\e[1;2Q" undefined-key
|
||||||
|
bindkey "\e[1;2R" undefined-key
|
||||||
|
bindkey "\e[1;2S" undefined-key
|
||||||
|
bindkey "\e[15;2~" undefined-key
|
||||||
|
bindkey "\e[17;2~" undefined-key
|
||||||
|
bindkey "\e[18;2~" undefined-key
|
||||||
|
bindkey "\e[19;2~" undefined-key
|
||||||
|
bindkey "\e[20;2~" undefined-key
|
||||||
|
bindkey "\e[21;2~" undefined-key
|
||||||
|
bindkey "\e[23;2~" undefined-key
|
||||||
|
bindkey "\e[24;2~" undefined-key
|
||||||
|
#
|
||||||
|
bindkey "\e[1;5P" undefined-key
|
||||||
|
bindkey "\e[1;5Q" undefined-key
|
||||||
|
bindkey "\e[1;5R" undefined-key
|
||||||
|
bindkey "\e[1;5S" undefined-key
|
||||||
|
bindkey "\e[15;5~" undefined-key
|
||||||
|
bindkey "\e[17;5~" undefined-key
|
||||||
|
bindkey "\e[18;5~" undefined-key
|
||||||
|
bindkey "\e[19;5~" undefined-key
|
||||||
|
bindkey "\e[20;5~" undefined-key
|
||||||
|
bindkey "\e[21;5~" undefined-key
|
||||||
|
bindkey "\e[23;5~" undefined-key
|
||||||
|
bindkey "\e[24;5~" undefined-key
|
||||||
|
#
|
||||||
|
bindkey "\e[1;3P" undefined-key
|
||||||
|
bindkey "\e[1;3Q" undefined-key
|
||||||
|
bindkey "\e[1;3R" undefined-key
|
||||||
|
bindkey "\e[1;3S" undefined-key
|
||||||
|
bindkey "\e[15;3~" undefined-key
|
||||||
|
bindkey "\e[17;3~" undefined-key
|
||||||
|
bindkey "\e[18;3~" undefined-key
|
||||||
|
bindkey "\e[19;3~" undefined-key
|
||||||
|
bindkey "\e[20;3~" undefined-key
|
||||||
|
bindkey "\e[21;3~" undefined-key
|
||||||
|
bindkey "\e[23;3~" undefined-key
|
||||||
|
bindkey "\e[24;3~" undefined-key
|
||||||
|
endif
|
||||||
|
#
|
||||||
|
# end bindkey.tcsh
|
||||||
|
#
|
1016
complete.tcsh
Normal file
1016
complete.tcsh
Normal file
File diff suppressed because it is too large
Load Diff
15
tcsh-6.15.00-pipe.dif
Normal file
15
tcsh-6.15.00-pipe.dif
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
sh.dol.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
--- sh.dol.c
|
||||||
|
+++ sh.dol.c 2016-11-25 08:00:30.455106978 +0000
|
||||||
|
@@ -473,6 +473,8 @@ Dgetdol(void)
|
||||||
|
size_t cbp = 0;
|
||||||
|
int old_pintr_disabled;
|
||||||
|
|
||||||
|
+ memset(&cbuf[0], 0, sizeof(cbuf));
|
||||||
|
+
|
||||||
|
for (;;) {
|
||||||
|
int len;
|
||||||
|
ssize_t res;
|
40
tcsh-6.16.00-norm-cmd.dif
Normal file
40
tcsh-6.16.00-norm-cmd.dif
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
ed.defns.c | 20 ++++++++++----------
|
||||||
|
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
--- ed.defns.c
|
||||||
|
+++ ed.defns.c 2021-04-27 07:32:34.710964878 +0000
|
||||||
|
@@ -1404,16 +1404,6 @@ editinit(void)
|
||||||
|
f->desc = CSAVS(3, 52, "Execute command");
|
||||||
|
|
||||||
|
f++;
|
||||||
|
- f->name = "newline-and-hold";
|
||||||
|
- f->func = F_NEWLINE_HOLD;
|
||||||
|
- f->desc = CSAVS(3, 122, "Execute command and keep current line");
|
||||||
|
-
|
||||||
|
- f++;
|
||||||
|
- f->name = "newline-and-down-history";
|
||||||
|
- f->func = F_NEWLINE_DOWN_HIST;
|
||||||
|
- f->desc = CSAVS(3, 123, "Execute command and move to next history line");
|
||||||
|
-
|
||||||
|
- f++;
|
||||||
|
f->name = "normalize-path";
|
||||||
|
f->func = F_PATH_NORM;
|
||||||
|
f->desc = CSAVS(3, 53,
|
||||||
|
@@ -1768,6 +1758,16 @@ editinit(void)
|
||||||
|
f->desc = CSAVS(3, 121, "(WIN32 only) Page visible console window down");
|
||||||
|
|
||||||
|
f++;
|
||||||
|
+ f->name = "newline-and-hold";
|
||||||
|
+ f->func = F_NEWLINE_HOLD;
|
||||||
|
+ f->desc = CSAVS(3, 122, "Execute command and keep current line");
|
||||||
|
+
|
||||||
|
+ f++;
|
||||||
|
+ f->name = "newline-and-down-history";
|
||||||
|
+ f->func = F_NEWLINE_DOWN_HIST;
|
||||||
|
+ f->desc = CSAVS(3, 123, "Execute command and move to next history line");
|
||||||
|
+
|
||||||
|
+ f++;
|
||||||
|
f->name = NULL;
|
||||||
|
f->func = 0;
|
||||||
|
f->desc = NULL;
|
137
tcsh-6.17.06-dspmbyte.dif
Normal file
137
tcsh-6.17.06-dspmbyte.dif
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
---
|
||||||
|
sh.c | 4 ++--
|
||||||
|
sh.func.c | 15 +++++++--------
|
||||||
|
sh.set.c | 14 ++++++++++----
|
||||||
|
tc.const.c | 4 +++-
|
||||||
|
4 files changed, 22 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
--- sh.c
|
||||||
|
+++ sh.c 2021-04-27 07:35:35.059651991 +0000
|
||||||
|
@@ -865,9 +865,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));
|
||||||
|
--- sh.func.c
|
||||||
|
+++ sh.func.c 2021-04-27 07:36:57.210162751 +0000
|
||||||
|
@@ -1374,14 +1374,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;
|
||||||
|
@@ -1406,6 +1398,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.set.c
|
||||||
|
+++ sh.set.c 2021-04-27 07:38:12.412808424 +0000
|
||||||
|
@@ -1163,11 +1163,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;
|
||||||
|
@@ -1251,7 +1251,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++)
|
||||||
|
@@ -1259,7 +1259,7 @@ update_dspmbyte_vars(void)
|
||||||
|
mbmapstr[lp] = 0;
|
||||||
|
setcopy(STRmbytemap, mbmapstr, VAR_READWRITE);
|
||||||
|
}
|
||||||
|
-#endif /* MBYTEMAP */
|
||||||
|
+# endif /* MBYTEMAP */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* dspkanji/dspmbyte autosetting */
|
||||||
|
@@ -1268,6 +1268,7 @@ void
|
||||||
|
autoset_dspmbyte(const Char *pcp)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
+ struct varent *vp;
|
||||||
|
static const struct dspm_autoset_Table {
|
||||||
|
Char *n;
|
||||||
|
Char *v;
|
||||||
|
@@ -1290,13 +1291,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.const.c
|
||||||
|
+++ tc.const.c 2021-04-27 07:35:35.059651991 +0000
|
||||||
|
@@ -130,10 +130,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' };
|
||||||
|
@@ -441,7 +443,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' };
|
150
tcsh-6.18.03-catalogs.dif
Normal file
150
tcsh-6.18.03-catalogs.dif
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
---
|
||||||
|
nls/Makefile.in | 48 ++++++++++++++++++++++++------------------------
|
||||||
|
sh.c | 9 ++++++---
|
||||||
|
2 files changed, 30 insertions(+), 27 deletions(-)
|
||||||
|
|
||||||
|
--- nls/Makefile.in
|
||||||
|
+++ nls/Makefile.in 2022-01-11 15:20:37.731596998 +0000
|
||||||
|
@@ -18,96 +18,96 @@ CATGEN= ${srcdir}/catgen
|
||||||
|
|
||||||
|
all: ${CATALOGS}
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/C/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/C/LC_MESSAGES/tcsh.cat: C.cat
|
||||||
|
+INSTALLED+=${localedir}/C/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/C/LC_MESSAGES/tcsh: C.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
C.cat: ${srcdir}/C/charset ${srcdir}/C/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/et/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/et/LC_MESSAGES/tcsh.cat: et.cat
|
||||||
|
+INSTALLED+=${localedir}/et/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/et/LC_MESSAGES/tcsh: et.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
et.cat: ${srcdir}/et/charset ${srcdir}/et/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/fi/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/fi/LC_MESSAGES/tcsh.cat: finnish.cat
|
||||||
|
+INSTALLED+=${localedir}/fi/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/fi/LC_MESSAGES/tcsh: finnish.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
finnish.cat: ${srcdir}/finnish/charset ${srcdir}/finnish/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/fr/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/fr/LC_MESSAGES/tcsh.cat: french.cat
|
||||||
|
+INSTALLED+=${localedir}/fr/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/fr/LC_MESSAGES/tcsh: french.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
french.cat: ${srcdir}/french/charset ${srcdir}/french/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/de/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/de/LC_MESSAGES/tcsh.cat: german.cat
|
||||||
|
+INSTALLED+=${localedir}/de/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/de/LC_MESSAGES/tcsh: german.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
german.cat: ${srcdir}/german/charset ${srcdir}/german/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/el/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/el/LC_MESSAGES/tcsh.cat: greek.cat
|
||||||
|
+INSTALLED+=${localedir}/el_GR/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/el_GR/LC_MESSAGES/tcsh: greek.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
greek.cat: ${srcdir}/greek/charset ${srcdir}/greek/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/it/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/it/LC_MESSAGES/tcsh.cat: italian.cat
|
||||||
|
+INSTALLED+=${localedir}/it/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/it/LC_MESSAGES/tcsh: italian.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
italian.cat: ${srcdir}/italian/charset ${srcdir}/italian/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/ja/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/ja/LC_MESSAGES/tcsh.cat: ja.cat
|
||||||
|
+INSTALLED+=${localedir}/ja/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/ja/LC_MESSAGES/tcsh: ja.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
ja.cat: ${srcdir}/ja/charset ${srcdir}/ja/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/pl/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/pl/LC_MESSAGES/tcsh.cat: pl.cat
|
||||||
|
+INSTALLED+=${localedir}/pl/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/pl/LC_MESSAGES/tcsh: pl.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
pl.cat: ${srcdir}/pl/charset ${srcdir}/pl/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/ru/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/ru/LC_MESSAGES/tcsh.cat: russian.cat
|
||||||
|
+INSTALLED+=${localedir}/ru_RU/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/ru_RU/LC_MESSAGES/tcsh: russian.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
russian.cat: ${srcdir}/russian/charset ${srcdir}/russian/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/es/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/es/LC_MESSAGES/tcsh.cat: spanish.cat
|
||||||
|
+INSTALLED+=${localedir}/es/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/es/LC_MESSAGES/tcsh: spanish.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
spanish.cat: ${srcdir}/spanish/charset ${srcdir}/spanish/*set[0-9]*
|
||||||
|
@${CATGEN} $(GENCAT) $@ $^ $>
|
||||||
|
|
||||||
|
-INSTALLED+=${localedir}/ru_UA/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/ru_UA/LC_MESSAGES/tcsh.cat: ukrainian.cat
|
||||||
|
+INSTALLED+=${localedir}/ru_UA.koi8u/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/ru_UA.koi8u/LC_MESSAGES/tcsh: ukrainian.cat
|
||||||
|
$(MKDIR_P) $(@D)
|
||||||
|
$(INSTALL_DATA) $> $^ $@
|
||||||
|
|
||||||
|
--- sh.c
|
||||||
|
+++ sh.c 2022-01-11 15:13:07.548063798 +0000
|
||||||
|
@@ -166,8 +166,8 @@ static void st_restore (void *);
|
||||||
|
static void
|
||||||
|
add_localedir_to_nlspath(const char *path)
|
||||||
|
{
|
||||||
|
- static const char msgs_LOC[] = "/%L/LC_MESSAGES/%N.cat";
|
||||||
|
- static const char msgs_lang[] = "/%l/LC_MESSAGES/%N.cat";
|
||||||
|
+ static const char msgs_LOC[] = "/%L/LC_MESSAGES/%N";
|
||||||
|
+ static const char msgs_lang[] = "/%l/LC_MESSAGES/%N";
|
||||||
|
char *old;
|
||||||
|
char *new, *new_p;
|
||||||
|
size_t len;
|
||||||
|
@@ -179,7 +179,7 @@ add_localedir_to_nlspath(const char *pat
|
||||||
|
if (path == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
- (void) xsnprintf(trypath, sizeof(trypath), "%s/C/LC_MESSAGES/tcsh.cat",
|
||||||
|
+ (void) xsnprintf(trypath, sizeof(trypath), "%s/C/LC_MESSAGES/tcsh",
|
||||||
|
path);
|
||||||
|
if (stat(trypath, &st) == -1)
|
||||||
|
return;
|
118
tcsh-6.18.03-colorls.dif
Normal file
118
tcsh-6.18.03-colorls.dif
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
---
|
||||||
|
tests/ls-F.at | 36 ++++++++++++++++++------------------
|
||||||
|
tw.color.c | 10 ++++------
|
||||||
|
2 files changed, 22 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
|
--- tests/ls-F.at
|
||||||
|
+++ tests/ls-F.at 2023-04-13 12:51:33.133052023 +0000
|
||||||
|
@@ -358,9 +358,9 @@ dnl
|
||||||
|
dnl Fail: environment LS_COLORS=YY:XX=0 exits with unknown 'XX'.
|
||||||
|
dnl (Unknown 'YY' is ignored.)
|
||||||
|
dnl
|
||||||
|
-AT_CHECK([LS_COLORS=YY:XX=0 tcsh -f -c 'set color;cd DIR && ls-F'], [1], [], [dnl
|
||||||
|
-Unknown LS_COLORS color variable 'XX'.
|
||||||
|
-])
|
||||||
|
+dnl AT_CHECK([LS_COLORS=YY:XX=0 tcsh -f -c 'set color;cd DIR && ls-F'], [1], [], [dnl
|
||||||
|
+dnl Unknown LS_COLORS color variable 'XX'.
|
||||||
|
+dnl ])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl setenv LS_COLORS "YY:XX=0" warns for unknown 'XX='. (Unknown 'YY' is ignored').
|
||||||
|
@@ -368,11 +368,11 @@ dnl listflags=A, listlinks
|
||||||
|
dnl
|
||||||
|
dnl As per ls-F-color-default.out.
|
||||||
|
dnl
|
||||||
|
-TCSH_LS_F([${tests_dir}/ls-F-color-default.out],
|
||||||
|
- [],
|
||||||
|
- [setenv LS_COLORS "YY:XX=0"; set color listflags=A listlinks], [dnl
|
||||||
|
-Unknown LS_COLORS color variable 'XX'.
|
||||||
|
-])
|
||||||
|
+dnl TCSH_LS_F([${tests_dir}/ls-F-color-default.out],
|
||||||
|
+dnl [],
|
||||||
|
+dnl [setenv LS_COLORS "YY:XX=0"; set color listflags=A listlinks], [dnl
|
||||||
|
+dnl Unknown LS_COLORS color variable 'XX'.
|
||||||
|
+dnl ])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl Check setenv LS_COLORS that all variables before an unknown variable are used.
|
||||||
|
@@ -383,11 +383,11 @@ dnl listflags=A, listlinks
|
||||||
|
dnl
|
||||||
|
dnl As per ls-F-LS_COLORS-all.out.
|
||||||
|
dnl
|
||||||
|
-TCSH_LS_F([${tests_dir}/ls-F-LS_COLORS-all.out],
|
||||||
|
- [],
|
||||||
|
- [setenv LS_COLORS "TCSH_TEXT_LS_COLORS:YY:XX=0"; set color listflags=A listlinks], [dnl
|
||||||
|
-Unknown LS_COLORS color variable 'XX'.
|
||||||
|
-])
|
||||||
|
+dnl TCSH_LS_F([${tests_dir}/ls-F-LS_COLORS-all.out],
|
||||||
|
+dnl [],
|
||||||
|
+dnl [setenv LS_COLORS "TCSH_TEXT_LS_COLORS:YY:XX=0"; set color listflags=A listlinks], [dnl
|
||||||
|
+dnl Unknown LS_COLORS color variable 'XX'.
|
||||||
|
+dnl ])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl LS_COLORS as TCSH_TEXT_LS_COLORS, override with setenv LSCOLORS,
|
||||||
|
@@ -407,11 +407,11 @@ dnl override with LSCOLORS=Aa,
|
||||||
|
dnl then unsetenv LSCOLORS to reapply faulty LS_COLORS without warning.
|
||||||
|
dnl and results in default colors.
|
||||||
|
dnl
|
||||||
|
-TCSH_LS_F([${tests_dir}/ls-F-color-default.out],
|
||||||
|
- [],
|
||||||
|
- [setenv LS_COLORS XX=0; setenv LSCOLORS Aa; unsetenv LSCOLORS || echo FAIL; set color listflags=A listlinks], [dnl
|
||||||
|
-Unknown LS_COLORS color variable 'XX'.
|
||||||
|
-])
|
||||||
|
+dnl TCSH_LS_F([${tests_dir}/ls-F-color-default.out],
|
||||||
|
+dnl [],
|
||||||
|
+dnl [setenv LS_COLORS XX=0; setenv LSCOLORS Aa; unsetenv LSCOLORS || echo FAIL; set color listflags=A listlinks], [dnl
|
||||||
|
+dnl Unknown LS_COLORS color variable 'XX'.
|
||||||
|
+dnl ])
|
||||||
|
|
||||||
|
m4_popdef([TCSH_TEXT_LS_COLORS])
|
||||||
|
|
||||||
|
--- tw.color.c
|
||||||
|
+++ tw.color.c 2023-04-13 12:33:48.052952714 +0000
|
||||||
|
@@ -56,7 +56,7 @@ typedef struct {
|
||||||
|
typedef enum {
|
||||||
|
Vdi, Vln, Vor, Vpi, Vso, Vdo, Vbd, Vcd,
|
||||||
|
Vex, Vfi, Vno, Vmi, Vlc, Vrc, Vec, Vsu,
|
||||||
|
- Vsg, Vtw, Vow, Vst, Vrs, Vhl, Vmh, Vca,
|
||||||
|
+ Vsg, Vtw, Vow, Vst, Vrs, Vhl, Vmh, Vca, Vcl,
|
||||||
|
} VARINDEX;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
@@ -100,6 +100,7 @@ static Variable variables[] = {
|
||||||
|
VAR(Vhl, CV_NONE, "hl", ""), /* Obsolete, use mh */
|
||||||
|
VAR(Vmh, CV_HARD, "mh", ""), /* Regular file with multiple hard links */
|
||||||
|
VAR(Vca, CV_NONE, "ca", ""), /* File with capability. Not implemented. */
|
||||||
|
+ VAR(Vcl, CV_NONE, "cl", ""), /* CLRTOEOL */
|
||||||
|
};
|
||||||
|
|
||||||
|
#define nvariables (sizeof(variables)/sizeof(variables[0]))
|
||||||
|
@@ -369,7 +370,7 @@ parseLS_COLORS(const Char *value, int si
|
||||||
|
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;
|
||||||
|
|
||||||
|
@@ -426,17 +427,14 @@ parseLS_COLORS(const Char *value, int si
|
||||||
|
if ((Char)variables[i].variable[0] == (v[0] & CHAR) &&
|
||||||
|
(Char)variables[i].variable[1] == (v[1] & CHAR))
|
||||||
|
break;
|
||||||
|
+ v += 3;
|
||||||
|
if (i < nvariables) {
|
||||||
|
- v += 3;
|
||||||
|
getstring(&c, &v, &variables[i].color, ':');
|
||||||
|
if (i == Vln)
|
||||||
|
color_as_referent = Str_equal_literal(
|
||||||
|
&variables[Vln].color, "target");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
- else
|
||||||
|
- stderror(ERR_BADCOLORVAR | (silent ? ERR_SILENT : 0),
|
||||||
|
- "LS_COLORS", v[0], v[1]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
245
tcsh-6.21.00.dif
Normal file
245
tcsh-6.21.00.dif
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
---
|
||||||
|
system/linux | 10 ++++++++++
|
||||||
|
config_f.h | 9 +++++++--
|
||||||
|
glob.h | 3 ++-
|
||||||
|
host.defs | 9 +++------
|
||||||
|
pathnames.h | 2 +-
|
||||||
|
sh.c | 3 +++
|
||||||
|
tc.alloc.c | 10 ++++++----
|
||||||
|
tc.func.c | 8 ++++++--
|
||||||
|
tc.str.c | 2 +-
|
||||||
|
tc.who.c | 3 +++
|
||||||
|
tcsh.man.in | 2 +-
|
||||||
|
tw.h | 4 ++++
|
||||||
|
12 files changed, 47 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
--- system/linux
|
||||||
|
+++ system/linux 2021-04-27 07:41:53.192829973 +0000
|
||||||
|
@@ -99,6 +99,9 @@
|
||||||
|
#ifndef _SVID_SOURCE
|
||||||
|
# define _SVID_SOURCE
|
||||||
|
#endif
|
||||||
|
+#ifndef _DEFAULT_SOURCE
|
||||||
|
+# define _DEFAULT_SOURCE
|
||||||
|
+#endif
|
||||||
|
#ifndef _POSIX_SOURCE
|
||||||
|
# define _POSIX_SOURCE
|
||||||
|
#endif
|
||||||
|
@@ -139,4 +142,11 @@
|
||||||
|
# define POSIX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if !defined(PW_SHADOW)
|
||||||
|
+# define PW_SHADOW
|
||||||
|
+#endif
|
||||||
|
+#if !defined(SuSE)
|
||||||
|
+# define SuSE
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif /* _h_config */
|
||||||
|
--- config_f.h
|
||||||
|
+++ config_f.h 2021-04-27 07:41:53.192829973 +0000
|
||||||
|
@@ -72,7 +72,12 @@
|
||||||
|
/*
|
||||||
|
* LOGINFIRST Source ~/.login before ~/.cshrc
|
||||||
|
*/
|
||||||
|
-#undef LOGINFIRST
|
||||||
|
+#define LOGINFIRST
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * USERLOGINFIRST Source ~/.login before ~/.cshrc
|
||||||
|
+ */
|
||||||
|
+#undef USERLOGINFIRST
|
||||||
|
|
||||||
|
/*
|
||||||
|
* VIDEFAULT Make the VI mode editor the default
|
||||||
|
@@ -166,7 +171,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 ?
|
||||||
|
--- glob.h
|
||||||
|
+++ glob.h 2021-04-27 07:41:53.192829973 +0000
|
||||||
|
@@ -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. */
|
||||||
|
@@ -84,7 +85,7 @@ typedef struct {
|
||||||
|
#define GLOB_DOT 0x8000 /* don't skip dotfiles (except . and ..) */
|
||||||
|
|
||||||
|
#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 2021-05-28 09:44:03.337584826 +0000
|
||||||
|
@@ -189,9 +189,8 @@ static void populate(void)
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
xsnprintf(ostype, sizeof(ostype), "%s", p);
|
||||||
|
- xsnprintf(mach, sizeof(mach), "%s", e != -1 ? uts.machine : "unknown");
|
||||||
|
- xsnprintf(host, sizeof(host), "%s-%s",
|
||||||
|
- e != -1 ? uts.machine : "unknown", ostype);
|
||||||
|
+ xsnprintf(mach, sizeof(mach), "%s-suse-linux", e != -1 ? uts.machine : "unknown");
|
||||||
|
+ xsnprintf(host, sizeof(host), "%s", e != -1 ? uts.machine : "unknown");
|
||||||
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
@@ -1275,9 +1274,7 @@ newcode :
|
||||||
|
#ifndef _ostype_
|
||||||
|
ostype = "unknown";
|
||||||
|
#endif
|
||||||
|
-#ifndef _vendor_
|
||||||
|
- vendor = "unknown";
|
||||||
|
-#endif
|
||||||
|
+ vendor = "suse";
|
||||||
|
#ifndef _machtype_
|
||||||
|
machtype = "unknown";
|
||||||
|
#endif
|
||||||
|
--- pathnames.h
|
||||||
|
+++ pathnames.h 2021-04-27 07:41:53.192829973 +0000
|
||||||
|
@@ -83,7 +83,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 2021-04-27 07:41:53.192829973 +0000
|
||||||
|
@@ -1348,6 +1348,9 @@ main(int argc, char **argv)
|
||||||
|
setintr = osetintr;
|
||||||
|
parintr = oparintr;
|
||||||
|
}
|
||||||
|
+#ifndef USERLOGINFIRST
|
||||||
|
+# undef LOGINFIRST
|
||||||
|
+#endif
|
||||||
|
#ifdef LOGINFIRST
|
||||||
|
if (loginsh)
|
||||||
|
(void) srccat(varval(STRhome), STRsldotlogin);
|
||||||
|
--- tc.alloc.c
|
||||||
|
+++ tc.alloc.c 2021-04-27 07:41:53.192829973 +0000
|
||||||
|
@@ -518,7 +518,7 @@ smalloc(size_t n)
|
||||||
|
{
|
||||||
|
ptr_t ptr;
|
||||||
|
|
||||||
|
- n = n ? n : 1;
|
||||||
|
+ n = n ? n+1 : 1;
|
||||||
|
|
||||||
|
#ifdef USE_SBRK
|
||||||
|
if (membot == NULL)
|
||||||
|
@@ -541,7 +541,7 @@ srealloc(ptr_t p, size_t n)
|
||||||
|
{
|
||||||
|
ptr_t ptr;
|
||||||
|
|
||||||
|
- n = n ? n : 1;
|
||||||
|
+ n = n ? n+1 : 1;
|
||||||
|
|
||||||
|
#ifdef USE_SBRK
|
||||||
|
if (membot == NULL)
|
||||||
|
@@ -565,7 +565,7 @@ scalloc(size_t s, size_t n)
|
||||||
|
ptr_t ptr;
|
||||||
|
|
||||||
|
n *= s;
|
||||||
|
- n = n ? n : 1;
|
||||||
|
+ n = n ? n+1 : 1;
|
||||||
|
|
||||||
|
#ifdef USE_SBRK
|
||||||
|
if (membot == NULL)
|
||||||
|
@@ -590,8 +590,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.func.c
|
||||||
|
+++ tc.func.c 2021-04-27 07:41:53.196829900 +0000
|
||||||
|
@@ -743,9 +743,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
|
||||||
|
|
||||||
|
@@ -1965,7 +1965,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 2021-04-27 07:41:53.196829900 +0000
|
||||||
|
@@ -347,7 +347,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 2021-04-27 07:41:53.196829900 +0000
|
||||||
|
@@ -259,6 +259,9 @@ watch_login(int force)
|
||||||
|
}
|
||||||
|
stlast = sta.st_mtime;
|
||||||
|
#if defined(HAVE_GETUTENT) || defined(HAVE_GETUTXENT)
|
||||||
|
+# ifndef HAVE_UTMPX_H
|
||||||
|
+ utmpname( _PATH_UTMP );
|
||||||
|
+# endif
|
||||||
|
setutent();
|
||||||
|
#else
|
||||||
|
if ((utmpfd = xopen(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) {
|
||||||
|
--- tcsh.man.in
|
||||||
|
+++ tcsh.man.in 2021-04-27 07:41:53.196829900 +0000
|
||||||
|
@@ -1012,7 +1012,7 @@ much like
|
||||||
|
.Ic history-search-backward
|
||||||
|
does.
|
||||||
|
.
|
||||||
|
-.It Ic delete-char No (not bound)
|
||||||
|
+.It Ic delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR)
|
||||||
|
Deletes the character under the cursor.
|
||||||
|
See also
|
||||||
|
.Ic delete-char-or-list-or-eof .
|
||||||
|
--- tw.h
|
||||||
|
+++ tw.h 2021-04-27 07:41:53.196829900 +0000
|
||||||
|
@@ -32,6 +32,10 @@
|
||||||
|
#ifndef _h_tw
|
||||||
|
#define _h_tw
|
||||||
|
|
||||||
|
+#ifndef _h_sh
|
||||||
|
+# include "sh.h"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define TW_PATH 0x1000
|
||||||
|
#define TW_ZERO 0x0fff
|
||||||
|
|
203
tcsh-6.22.02-local-dotlock.dif
Normal file
203
tcsh-6.22.02-local-dotlock.dif
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
Avoid left over dot lock file after reboot
|
||||||
|
|
||||||
|
---
|
||||||
|
dotlock.c | 124 ++++++++++++++------------------------------------------------
|
||||||
|
dotlock.h | 2 -
|
||||||
|
sh.hist.c | 11 +++--
|
||||||
|
3 files changed, 36 insertions(+), 101 deletions(-)
|
||||||
|
|
||||||
|
--- dotlock.c
|
||||||
|
+++ dotlock.c 2020-02-19 12:07:22.228255145 +0000
|
||||||
|
@@ -29,7 +29,9 @@
|
||||||
|
#ifndef O_SYNC
|
||||||
|
#define O_SYNC 0
|
||||||
|
#endif
|
||||||
|
-
|
||||||
|
+#include <unistd.h>
|
||||||
|
+#include <fcntl.h>
|
||||||
|
+
|
||||||
|
#include "dotlock.h"
|
||||||
|
|
||||||
|
static int create_exclusive(const char *);
|
||||||
|
@@ -46,77 +48,26 @@ static int create_exclusive(const char *
|
||||||
|
static int
|
||||||
|
create_exclusive(const char *fname)
|
||||||
|
{
|
||||||
|
- char path[MAXPATHLEN], hostname[MAXHOSTNAMELEN + 1];
|
||||||
|
- const char *ptr;
|
||||||
|
- struct timeval tv;
|
||||||
|
- pid_t pid;
|
||||||
|
- size_t ntries, cookie;
|
||||||
|
- int fd, serrno;
|
||||||
|
- struct stat st;
|
||||||
|
-
|
||||||
|
- (void)gettimeofday(&tv, NULL);
|
||||||
|
- (void)gethostname(hostname, sizeof(hostname));
|
||||||
|
- hostname[sizeof(hostname) - 1] = '\0';
|
||||||
|
- pid = getpid();
|
||||||
|
-
|
||||||
|
- cookie = pid ^ tv.tv_usec;
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * We generate a semi-unique filename, from hostname.(pid ^ usec)
|
||||||
|
- */
|
||||||
|
- if ((ptr = strrchr(fname, '/')) == NULL)
|
||||||
|
- ptr = fname;
|
||||||
|
- else
|
||||||
|
- ptr++;
|
||||||
|
-
|
||||||
|
- (void)snprintf(path, sizeof(path), "%.*s.%s.%lx",
|
||||||
|
- (int)(ptr - fname), fname, hostname, (u_long)cookie);
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * We try to create the unique filename.
|
||||||
|
- */
|
||||||
|
- for (ntries = 0; ntries < 5; ntries++) {
|
||||||
|
- fd = open(path, O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_SYNC, 0);
|
||||||
|
- if (fd != -1) {
|
||||||
|
- (void)close(fd);
|
||||||
|
+ struct flock fl = { F_WRLCK, SEEK_SET, 0, 0, getpid()};
|
||||||
|
+ int fd, retval;
|
||||||
|
+
|
||||||
|
+ fd = open(fname, O_WRONLY|O_CREAT|O_SYNC, S_IWUSR);
|
||||||
|
+ if (fd < 0)
|
||||||
|
+ return -1;
|
||||||
|
+ do {
|
||||||
|
+ int ret;
|
||||||
|
+ retval = fcntl(fd, F_SETLKW, &fl);
|
||||||
|
+ if (retval < 0) {
|
||||||
|
+ if (errno == EINTR)
|
||||||
|
+ continue;
|
||||||
|
+ close(fd);
|
||||||
|
+ fd = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- else if (errno == EEXIST)
|
||||||
|
- continue;
|
||||||
|
- else
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * We link the path to the name
|
||||||
|
- */
|
||||||
|
- if (link(path, fname) == -1)
|
||||||
|
- goto bad;
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * Note that we stat our own exclusively created name, not the
|
||||||
|
- * destination, since the destination can be affected by others.
|
||||||
|
- */
|
||||||
|
- if (stat(path, &st) == -1)
|
||||||
|
- goto bad;
|
||||||
|
-
|
||||||
|
- (void)unlink(path);
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * If the number of links was two (one for the unique file and one
|
||||||
|
- * for the lock), we've won the race
|
||||||
|
- */
|
||||||
|
- if (st.st_nlink != 2) {
|
||||||
|
- errno = EEXIST;
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- return 0;
|
||||||
|
+ } while (retval < 0);
|
||||||
|
|
||||||
|
-bad:
|
||||||
|
- serrno = errno;
|
||||||
|
- (void)unlink(path);
|
||||||
|
- errno = serrno;
|
||||||
|
- return -1;
|
||||||
|
+ (void)unlink(fname);
|
||||||
|
+ return fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -143,37 +94,18 @@ dot_lock(const char *fname, int pollinte
|
||||||
|
(void)snprintf(path, sizeof(path), "%s.lock", fname);
|
||||||
|
|
||||||
|
retval = -1;
|
||||||
|
- for (;;) {
|
||||||
|
- handle_pending_signals();
|
||||||
|
- (void)sigprocmask(SIG_BLOCK, &nset, &oset);
|
||||||
|
- if (create_exclusive(path) != -1) {
|
||||||
|
- (void)sigprocmask(SIG_SETMASK, &oset, NULL);
|
||||||
|
- retval = 0;
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- (void)sigprocmask(SIG_SETMASK, &oset, NULL);
|
||||||
|
-
|
||||||
|
- if (errno != EEXIST)
|
||||||
|
- break;
|
||||||
|
-
|
||||||
|
- if (pollinterval) {
|
||||||
|
- if (pollinterval == -1) {
|
||||||
|
- errno = EEXIST;
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- (void)usleep((unsigned int)pollinterval * 1000);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ handle_pending_signals();
|
||||||
|
+ (void)sigprocmask(SIG_BLOCK, &nset, &oset);
|
||||||
|
+ retval = create_exclusive(path);
|
||||||
|
+ (void)sigprocmask(SIG_SETMASK, &oset, NULL);
|
||||||
|
handle_pending_signals();
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
-dot_unlock(const char *fname)
|
||||||
|
+dot_unlock(const int fd)
|
||||||
|
{
|
||||||
|
- char path[MAXPATHLEN];
|
||||||
|
-
|
||||||
|
- (void)snprintf(path, sizeof(path), "%s.lock", fname);
|
||||||
|
- (void)unlink(path);
|
||||||
|
+ struct flock fl = { F_UNLCK, SEEK_SET, 0, 0, getpid()};
|
||||||
|
+ fcntl(fd, F_SETLK, &fl);
|
||||||
|
+ close(fd);
|
||||||
|
}
|
||||||
|
--- dotlock.h
|
||||||
|
+++ dotlock.h 2020-02-19 09:40:16.034422159 +0000
|
||||||
|
@@ -30,6 +30,6 @@
|
||||||
|
* pollinterval -- Interval (miliseconds) to check for lock, -1 return
|
||||||
|
*/
|
||||||
|
int dot_lock(const char *fname, int pollinterval);
|
||||||
|
-void dot_unlock(const char *fname);
|
||||||
|
+void dot_unlock(const int fd);
|
||||||
|
|
||||||
|
#endif /* #ifndef _DOTLOCK_H_ */
|
||||||
|
--- sh.hist.c
|
||||||
|
+++ sh.hist.c 2020-02-19 09:48:57.640589111 +0000
|
||||||
|
@@ -1230,9 +1230,11 @@ fmthist(int fmt, ptr_t ptr)
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-dotlock_cleanup(void* lockpath)
|
||||||
|
+dotlock_cleanup(void* xfdp)
|
||||||
|
{
|
||||||
|
- dot_unlock((char*)lockpath);
|
||||||
|
+ int *fdp;
|
||||||
|
+ fdp = xfdp;
|
||||||
|
+ dot_unlock(*fdp);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Save history before exiting the shell. */
|
||||||
|
@@ -1311,11 +1313,12 @@ rechist(Char *fname, int ref)
|
||||||
|
jmp_buf_t osetexit;
|
||||||
|
if (lock) {
|
||||||
|
#ifndef WINNT_NATIVE
|
||||||
|
+ int fdlk;
|
||||||
|
char *lockpath = strsave(short2str(fname));
|
||||||
|
cleanup_push(lockpath, xfree);
|
||||||
|
/* Poll in 100 miliseconds interval to obtain the lock. */
|
||||||
|
- if ((dot_lock(lockpath, 100) == 0))
|
||||||
|
- cleanup_push(lockpath, dotlock_cleanup);
|
||||||
|
+ if ((fdlk = dot_lock(lockpath, 100)) != -1)
|
||||||
|
+ cleanup_push(&fdlk, dotlock_cleanup);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
getexit(osetexit);
|
3
tcsh-6.24.13.tar.gz
Normal file
3
tcsh-6.24.13.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1e927d52e9c85d162bf985f24d13c6ccede9beb880d86fec492ed15480a5c71a
|
||||||
|
size 958563
|
16
tcsh-6.24.13.tar.gz.asc
Normal file
16
tcsh-6.24.13.tar.gz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEErYcQl2PY2MLJTLqAZcJuRx9FsSMFAmZpN8wACgkQZcJuRx9F
|
||||||
|
sSMckRAAoCbOtzFRvgiAKP8Nekec6vRdSAJUY56+4ppfgyA51amS7G8Yi1x4VP0a
|
||||||
|
/QdeyQEU8CmVDXXsj9InGb3dlGnTutY6v9Am+Zixkt4A2yUg/DCAXcQjtB6G9YEU
|
||||||
|
1mciICVuDCWs4Q+z8jn/MCE6Lif/gnc+Egwn2Pj3CxL+k2Cik1Qf6qpyV7MA0PPE
|
||||||
|
1Dx4ofI44AHoTv9Dkcl477tDcKd8KBc5vOsnBLMaDBz5jcaL1/dQc6DWWRE5dGBv
|
||||||
|
IuNr/LHHdjaBY/35jIyzCzzCeW5qCGnRYa44KNVZ27NdYjTH1lapZKKTS244Z4kB
|
||||||
|
rv77NCoLnv0d2oZVveTATHKX9EPNLzFJWqALL7EpC2pWCD9KLvM8N0K4g96NBume
|
||||||
|
2m6gUmZ+id+U6ImJA20jWa+L+3Z8OwkLoXoXQAC5jnPUthZxtVEsBfVOmytNA7B0
|
||||||
|
t1dO6uZrcZUxEizw/ztYYF1K9sZ6SrYNZvFW2Pne1TyZTSlI6KVmDEQRjElqnJ4u
|
||||||
|
R201PdB1XlC5nhQvBcuzkjg/Nxx9AOT9yMjUPapWHRt4fTJe3QmwjtLO3Yks7pR+
|
||||||
|
lKpSF8fz4BoFlRoFFMVP0e+Umy4l9NGtUh0t9AmvGKIZPovcYWWYKSimR+m6BbUv
|
||||||
|
JuIyx70pZpyWJcJ3WzLjeAJ9jb2XY3q1umQQjqr0UniRiuf3dIU=
|
||||||
|
=E8Cm
|
||||||
|
-----END PGP SIGNATURE-----
|
3
tcsh-6.24.14.tar.gz
Normal file
3
tcsh-6.24.14.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:36880f258a63fc11fe72a65098b585ebc4ecdee24388b8ebec97e6ae8e485318
|
||||||
|
size 958795
|
16
tcsh-6.24.14.tar.gz.asc
Normal file
16
tcsh-6.24.14.tar.gz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEErYcQl2PY2MLJTLqAZcJuRx9FsSMFAmdGFCwACgkQZcJuRx9F
|
||||||
|
sSNNOg/+NFMRWBn89rQ1bkwzQi72cDWb1Z1OwvD669NclWOUPlsQRXVmsYBbIjhG
|
||||||
|
cSLEozD5qoV0KwChK6sAX6EdmSHF3uurfnhnkihstMToe9bqg0v9bCwWjtHNoZ2m
|
||||||
|
HB52vopI5k+I4Z1GJ2cEjSj33A7eWUJ1MrqHpG78A6BlZgyvreS+F+7YSKSWVxdg
|
||||||
|
o7WBIr/0YQAZBtdDkOQfR6vBbKJGrOYvDMMx4KvcycFdZLemIBh6fxaYDh0hu1ds
|
||||||
|
8zNl/e4tCW+wrKQoKjik1xYkvRI5GOJufGicXFBsJLU9sOEVKosOxeGdHqJSqo9n
|
||||||
|
AkK7EHHD9QzF6PZfjNjdZS7q74fFRXrdecQFGNQG2xQolBUhwLN0oYgotQNFRcst
|
||||||
|
1uxH5SQyYAY8aEYIp6qFTTXbqcZGYKK+KjIX+1Szf9+GbXvScOsPpXZAevmsvxei
|
||||||
|
e5HzPcOj+RRi2ANY2ML8U3B3pEHEPW4n1Zqj9r/w3R+4ABWY4v6G5aRSTZCmoP9D
|
||||||
|
nB2gbivSQHgbhzq307dD2tsZuI4Tvj79BGHjnOUcOZa7rspNicK3W/lFRJz8f2Hb
|
||||||
|
d2igt07o8jYPN05M7P9Lyjgqry06GoOX4SFfNSVknCi7uSlXvov729Vg9RHwZ7vF
|
||||||
|
/NyO+KwrpER72FaI/Rigdcw1FZNHlrr6YX7aLH4a0g+ItLkuzb8=
|
||||||
|
=1xRx
|
||||||
|
-----END PGP SIGNATURE-----
|
33
tcsh-skip-utmp-service.dif
Normal file
33
tcsh-skip-utmp-service.dif
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
tests/commands.at | 20 ++++++++++----------
|
||||||
|
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
--- tests/commands.at
|
||||||
|
+++ tests/commands.at 2023-12-04 12:21:56.688878232 +0000
|
||||||
|
@@ -980,16 +980,16 @@ dnl
|
||||||
|
dnl log
|
||||||
|
dnl
|
||||||
|
|
||||||
|
-AT_SETUP([log])
|
||||||
|
-AT_KEYWORDS([commands])
|
||||||
|
-
|
||||||
|
-AT_DATA([log.csh],
|
||||||
|
-[[set watch=(this_user_does_not_exist)
|
||||||
|
-log
|
||||||
|
-]])
|
||||||
|
-AT_CHECK([tcsh -f log.csh])
|
||||||
|
-
|
||||||
|
-AT_CLEANUP()
|
||||||
|
+dnl AT_SETUP([log])
|
||||||
|
+dnl AT_KEYWORDS([commands])
|
||||||
|
+dnl
|
||||||
|
+dnl AT_DATA([log.csh],
|
||||||
|
+dnl [[set watch=(this_user_does_not_exist)
|
||||||
|
+dnl log
|
||||||
|
+dnl ]])
|
||||||
|
+dnl AT_CHECK([tcsh -f log.csh])
|
||||||
|
+dnl
|
||||||
|
+dnl AT_CLEANUP()
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
1349
tcsh.changes
Normal file
1349
tcsh.changes
Normal file
File diff suppressed because it is too large
Load Diff
94
tcsh.keyring
Normal file
94
tcsh.keyring
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
3fhT6pGrAJ42qJm0ptKqlSBwuYo2Ci36ZIQCaQ==
|
||||||
|
=IJYi
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=+OYc
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
224
tcsh.spec
Normal file
224
tcsh.spec
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
#
|
||||||
|
# spec file for package tcsh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: tcsh
|
||||||
|
Version: 6.24.14
|
||||||
|
Release: 0
|
||||||
|
Summary: The C SHell
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: System/Shells
|
||||||
|
URL: https://www.tcsh.org/
|
||||||
|
Source0: https://astron.com/pub/%{name}/%{name}-%{version}.tar.gz
|
||||||
|
Source1: https://astron.com/pub/%{name}/%{name}-%{version}.tar.gz.asc
|
||||||
|
Source2: bindkey.tcsh
|
||||||
|
Source3: complete.tcsh
|
||||||
|
Source4: tcsh.keyring
|
||||||
|
Patch0: tcsh-6.21.00.dif
|
||||||
|
Patch1: tcsh-6.15.00-pipe.dif
|
||||||
|
Patch2: tcsh-6.16.00-norm-cmd.dif
|
||||||
|
Patch4: tcsh-6.18.03-colorls.dif
|
||||||
|
Patch5: tcsh-6.17.06-dspmbyte.dif
|
||||||
|
Patch6: tcsh-6.18.03-catalogs.dif
|
||||||
|
Patch7: tcsh-skip-utmp-service.dif
|
||||||
|
Patch8: tcsh-6.22.02-local-dotlock.dif
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: ncurses-devel
|
||||||
|
BuildRequires: screen
|
||||||
|
Requires: gawk
|
||||||
|
Requires: textutils
|
||||||
|
Recommends: tcsh-lang = %{version}
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
%description
|
||||||
|
Tcsh is an enhanced, but completely compatible, version of the Berkeley
|
||||||
|
UNIX C shell, csh(1). It is a command language interpreter usable as an
|
||||||
|
interactive login shell and a shell script command processor. It
|
||||||
|
includes a command-line editor, programmable word completion, spelling
|
||||||
|
correction, a history mechanism, job control, and a C-like syntax.
|
||||||
|
|
||||||
|
%lang_package
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch -P1 -b .pipe
|
||||||
|
%patch -P2 -b .normcmd
|
||||||
|
%patch -P4 -b .colorls
|
||||||
|
%patch -P5 -b .dspmbyte
|
||||||
|
%patch -P6 -b .catalogs
|
||||||
|
%if 0%{?suse_version} >= 1699
|
||||||
|
%patch -P7 -b .noutmp
|
||||||
|
%endif
|
||||||
|
%patch -P8 -p 0 -b .dotlock
|
||||||
|
%patch -P0 -b .0
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
cflags ()
|
||||||
|
{
|
||||||
|
local flag=$1; shift
|
||||||
|
local var=$1; shift
|
||||||
|
test -n "${flag}" -a -n "${var}" || return
|
||||||
|
case "${!var}" in
|
||||||
|
*${flag}*) return
|
||||||
|
esac
|
||||||
|
set -o noclobber
|
||||||
|
case "$flag" in
|
||||||
|
-Wl,*)
|
||||||
|
if echo 'int main () { return 0; }' | \
|
||||||
|
${CC:-gcc} -Werror $flag -o /dev/null -xc - > /dev/null 2>&1 ; then
|
||||||
|
eval $var=\${$var:+\$$var\ }$flag
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if ${CC:-gcc} -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
|
||||||
|
eval $var=\${$var:+\$$var\ }$flag
|
||||||
|
fi
|
||||||
|
if ${CXX:-g++} -Werror $flag -S -o /dev/null -xc++ /dev/null > /dev/null 2>&1 ; then
|
||||||
|
eval $var=\${$var:+\$$var\ }$flag
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
set +o noclobber
|
||||||
|
}
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS="%{optflags} -D_GNU_SOURCE -DBUFSIZE=8192 -pipe"
|
||||||
|
%if 0%{?suse_version} >= 1699
|
||||||
|
#
|
||||||
|
# There is currently no API for using systemd logind
|
||||||
|
# for watch and who tcsh builtin.
|
||||||
|
#
|
||||||
|
CFLAGS="${CFLAGS} -DHAVENOUTMP"
|
||||||
|
%endif
|
||||||
|
cflags -ftree-loop-linear CFLAGS
|
||||||
|
cflags -Wl,-O2 LDFLAGS
|
||||||
|
cflags -Wl,--as-needed LDFLAGS
|
||||||
|
export CC CFLAGS LDFLAGS
|
||||||
|
|
||||||
|
%ifarch %ix86
|
||||||
|
CPU=i586
|
||||||
|
%else
|
||||||
|
CPU=${RPM_ARCH}
|
||||||
|
%endif
|
||||||
|
./configure --build=${CPU}-suse-linux \
|
||||||
|
--prefix=/usr \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--sharedstatedir=%{_datadir} \
|
||||||
|
--infodir=%{_infodir} \
|
||||||
|
--mandir=%{_mandir} \
|
||||||
|
--libexecdir=%{_libdir}/tcsh \
|
||||||
|
--disable-rpath \
|
||||||
|
--with-gnu-ld
|
||||||
|
make %{?_smp_mflags} CC_FOR_GETHOST="$CC $CFLAGS"
|
||||||
|
|
||||||
|
%check
|
||||||
|
SCREENDIR=$(mktemp -d ${PWD}/screen.XXXXXXXXXX) || exit 1
|
||||||
|
SCREENRC=${SCREENDIR}/tcsh
|
||||||
|
TMPDIR=$(mktemp -d /tmp/tcsh.XXXXXXXXXX) || exit 1
|
||||||
|
export SCREENRC SCREENDIR TMPDIR
|
||||||
|
exec 0< /dev/null
|
||||||
|
SCREENLOG=${SCREENDIR}/log
|
||||||
|
cat > $SCREENRC<<-EOF
|
||||||
|
deflogin off
|
||||||
|
deflog on
|
||||||
|
logfile $SCREENLOG
|
||||||
|
logfile flush 1
|
||||||
|
logtstamp off
|
||||||
|
log on
|
||||||
|
setsid on
|
||||||
|
scrollback 0
|
||||||
|
silence on
|
||||||
|
utf8 on
|
||||||
|
EOF
|
||||||
|
> $SCREENLOG
|
||||||
|
tail -q -s 0.5 -f $SCREENLOG & pid=$!
|
||||||
|
env -i HOME=$HOME TERM=$TERM TMPDIR=$TMPDIR PATH=$PATH \
|
||||||
|
SCREENRC=$SCREENRC SCREENDIR=$SCREENDIR \
|
||||||
|
screen -D -m make check
|
||||||
|
sleep 1
|
||||||
|
kill -TERM $pid
|
||||||
|
rm -rf $SCREENDIR $TMPDIR
|
||||||
|
if grep -iq failed testsuite.log
|
||||||
|
then
|
||||||
|
echo FAILED
|
||||||
|
exit 127
|
||||||
|
fi
|
||||||
|
|
||||||
|
%install
|
||||||
|
for nls in nls/*.cat ; do
|
||||||
|
msg=$nls
|
||||||
|
nls=${nls##*/}
|
||||||
|
nls=${nls%%.*}
|
||||||
|
case "${nls}" in
|
||||||
|
fi*) nls=fi ;;
|
||||||
|
fr*) nls=fr ;;
|
||||||
|
ge*) nls=de ;;
|
||||||
|
gr*) nls=el ;;
|
||||||
|
it*) nls=it ;;
|
||||||
|
ru*) nls=ru_RU ;;
|
||||||
|
sp*) nls=es ;;
|
||||||
|
uk*) nls=uk_UA ;;
|
||||||
|
C) continue ;;
|
||||||
|
esac
|
||||||
|
dir=%{buildroot}%{_datadir}/locale/${nls}/LC_MESSAGES
|
||||||
|
test ! -e ${dir}/tcsh || continue
|
||||||
|
mkdir -p -m 0755 $dir
|
||||||
|
install -m 0644 ${msg} ${dir}/tcsh
|
||||||
|
done
|
||||||
|
make DESTDIR=%{buildroot} GENCAT='%{_bindir}/gencat --new' install
|
||||||
|
make DESTDIR=%{buildroot} GENCAT='%{_bindir}/gencat --new' install.man
|
||||||
|
find %{buildroot}%{_datadir}/locale -name tcsh | xargs chmod 0644
|
||||||
|
%fdupes -s %{buildroot}%{_datadir}/locale
|
||||||
|
mkdir -p %{buildroot}%{_docdir}/tcsh
|
||||||
|
install -m 0644 FAQ %{buildroot}%{_docdir}/tcsh/FAQ.tcsh
|
||||||
|
install -m 0644 Copyright %{buildroot}%{_docdir}/tcsh/Copyright
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/profile.d/
|
||||||
|
mkdir -p %{buildroot}%{_prefix}/bin
|
||||||
|
install -m 644 $RPM_SOURCE_DIR/bindkey.tcsh %{buildroot}%{_sysconfdir}/profile.d/
|
||||||
|
install -m 644 $RPM_SOURCE_DIR/complete.tcsh %{buildroot}%{_sysconfdir}/profile.d/
|
||||||
|
rm -f %{buildroot}%{_mandir}/man1/csh.*
|
||||||
|
rm -rf %{buildroot}%{_datadir}/locale/C
|
||||||
|
ln -sf tcsh %{buildroot}/%{_bindir}/csh
|
||||||
|
ln -sf tcsh.1.gz %{buildroot}%{_mandir}/man1/csh.1.gz
|
||||||
|
%if 0%{?suse_version} < 1550
|
||||||
|
mkdir -p %{buildroot}/bin
|
||||||
|
ln -s %{_bindir}/tcsh %{buildroot}/bin/tcsh
|
||||||
|
ln -s %{_bindir}/tcsh %{buildroot}/bin/csh
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %{_docdir}/tcsh
|
||||||
|
%if 0%{?suse_version} < 1550
|
||||||
|
/bin/csh
|
||||||
|
/bin/tcsh
|
||||||
|
%endif
|
||||||
|
%config %{_sysconfdir}/profile.d/bindkey.tcsh
|
||||||
|
%config %{_sysconfdir}/profile.d/complete.tcsh
|
||||||
|
%{_bindir}/csh
|
||||||
|
%{_bindir}/tcsh
|
||||||
|
%doc %{_docdir}/tcsh/Copyright
|
||||||
|
%doc %{_docdir}/tcsh/FAQ.tcsh
|
||||||
|
%doc %{_mandir}/man1/csh.1.gz
|
||||||
|
%doc %{_mandir}/man1/tcsh.1.gz
|
||||||
|
|
||||||
|
%files lang
|
||||||
|
%defattr(0644,root,root)
|
||||||
|
%{_datadir}/locale/*/LC_MESSAGES/tcsh*
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user