Hi Axel,
| Can reproduce this (100% CPU usage, needs to be killed with SIGKILL, | SIGTERM does not help, happens with both given ubox aliases, ub<Tab> | works fine, ubo<Tab> goes havok) here on my Sid box with my own, grml | based zsh configuration. Thanks for the confirmation. | Anyway, some of us could not reporduce this with their configuration. | Can you send your zsh configuration (e.g. .zshrc) to this bug report? Here are two files: .zshrc .zlogin Before I sent my bug-report I tried to find the precise location of the problem by dichotomy. I found that a necessary and sufficient condition (except for the .zlogin file) to suppress the bug was to remove the line source $HOME/.alias from $HOME/.zshrc . Then I tried simply removing $HOME/.zshrc (so $HOME/.alias is not read), opening a new terminal and defining only: alias ubox='ls' This is enough to produce the bug on my computer. Just this alias. Best regards, Sébastien.
## ## Les chemins. Plutôt ici que dans .zlogin à cause de 'sudo zsh'. ## # Pour tout ce qui concerne les fenêtres. export X11HOME=/usr/X11R6 # Ouais, c'est comme $HOME, sauf que pas tout à fait. export SEB=/home/seb export HK=$SEB/hk export PM=$HK/magazine # Le chemin pour aller chercher les programmes. export PATH=\ $SEB/bin/general:\ $SEB/bin/latex:\ $SEB/bin/images:\ $SEB/bin/hk:\ $SEB/bin/pm:\ $SEB/bin/hk/specifique:\ $SEB/bin/specifique:\ $SEB/local/bin:\ /data/programmes/cross-compiled:\ /bin:\ /sbin:\ /usr/bin:\ /usr/sbin:\ /usr/local/bin:\ /usr/games:\ /usr/share/texmf/bin:\ $X11HOME/bin:\ ## ## Complétion automatique ## # Montrer la liste des choix possibles si la complétion est ambiguë. setopt autolist # À partir du deuxième TAB, proposer les complétions dans l'ordre. setopt automenu # Indiquer le type des fichiers proposés pour complétion (/ = répertoire, # * = exécutable, @ = lien, etc.) setopt listtypes # Pour un affichage plus compact des possibilités setopt listpacked # Ne pas émettre de bip lors d'une complétion ambiguë. setopt nolistbeep # Complète seulement certains fichiers après certaines commandes. compctl -g"*.tex " tex latex latex2e bibtex pdflatex pdf xelatex la compctl -g"*.fig *(-/)" xfig fig2dev compctl -g"*.dvi " xdvi dvips dvipsf dvi2fax mkout faxBICS compctl -g"*.dvi.gz *(-/)" zxdvi compctl -g"*.fax" efax compctl -g"*.c" gcc compctl -g"*.ech" easychem compctl -g"*.zip" unzip compctl -g"*.html" html2text html2tex compctl -g"*.pdf" acroread xpdf kpdf pdftk compctl -g"*.jpg *.jpeg *.JPG" jpeg2ps lpjpg xv jpeginfo compctl -g"*.pnm" pnm2ps compctl -g"*.eepic" eepic2ps compctl -g"*.bz2" bunzip2 compctl -g"*.gnu" gnuplot gnups gnu2ps compctl -g"*.(eps|ps)*" gs ghostview ghostscript gv lpr ps2pdf psprint BBcut compctl -u finger mail talk ytalk otalk xtalk compctl -g"*(-/)" + -g".*(-/)" cd pushd popd compctl -g "*(/)" + -g ".*(/)" rmdir #compctl -g"*.(eps|ps).gz *(-/)" gv compctl -g"*.gz *.tgz *.z *.Z " gunzip zcat #compctl -g"*.cvzf *.tgz *(/)" rat rat2 ratt compctl -g"*.pf *(-/)" diploview diploprint diplocarte compctl -g"*.au *(-/)" play compctl -g"*.data *(-/)" mkfacture cubes2dessin.pl compctl -g"*.dvi *(-/)" dvips-o compctl -g"*.pdf *(-/)" dvipdf pdfnup xpdf acroread compctl -g"*(*) *(-/)" strip gprof gdb adb compctl -g"RCS/*(:s@RCS/@@:s/,v//)" co rlog rcs rcsdiff ## ## Options diverses ## # Il existe plein d'autres options dans zsh. man zshoptions. # Ne pas écraser un fichier avec une redirection (>). Utiliser alors >!. setopt noclobber # Permet d'écraser un fichier avec une redirection la deuxième fois qu'on # exécute la commande. On le désactive par défaut. unsetopt histallowclobber # Les programmes exécutés en tâche de fond doivent être moins prioritaires. setopt bgnice # Tuer un terminal ne tue pas les processus lancés dans ce terminal avec un # esperluète. setopt nohup # Le shell essaie de corriger les fautes de frappes dans les noms de # commande. setopt correct # Par contre, pas de correction dans les arguments. unsetopt correctall # Avec cette option, zsh ne reconnaît pas les substitutions d'historique # à la csh. setopt nobanghist # Pas de doublons dans l'historique (raah). setopt histignoredups # Désactiver Ctrl-S et Ctrl-Q dans les terminaux. setopt noflowcontrol # Prévenir quand un process en background meurt. setopt notify # Éliminer les doublons dans pushd (pour 'cd -'). setopt pushdignoredups # Ne pas effacer le début de la ligne avant d'afficher le prompt. setopt promptcr ## ## Divers ## # La commande cd essaie de changer de répertoire à partir de '.' puis de '~' # et enfin de '..' si le répertoire spécifié n'existe pas dans '.' ni '~' . cdpath=(. ~ ..) # Ignorer certaines extensions quand on complète un nom de fichier. fignore=(.o .aux .old .zo .zi .zix \# \~ \% .dvi .ilg .ind .log .toc) # Conserver un historique d'une session à l'autre. set HISTFILE # Ne pas pondre de 'core'. limit coredumpsize 0 # bindkey permet d'associer des actions à des séquences de touches (man # zshzle). # ^H = backspace, ^? = delete, ^[[A =flèche vers le haut, ^[[B = flèche vers # le bas. Pour connaître le code d'une touche: Ctrl-V puis la touche en # question. # Utiliser les bindings d'emacs (vi par défaut). bindkey -e # Pour que Delete efface à droite du curseur. #bindkey '^?' delete-char # Sauter au mot suivant par ^-Space (grassouille !). bindkey "^@" forward-word # Sauter au mot précédent par ^-Q. bindkey "^Q" backward-word # Home et End pour aller au début ou à la fin de la ligne (^A et ^E). bindkey '^[[1~' beginning-of-line bindkey '^[[4~' end-of-line # Les flèches vont chercher dans l'historique les commandes précédentes ou # suivantes qui commencent comme celle que l'on a commencé à taper: bindkey '^[[A' up-line-or-search bindkey '^[[B' down-line-or-search # Ces deux variables sont respectivement le prompt primaire (l'habituel) et # le prompt secondaire (affiché quand une commande prend plusieurs lignes.) # Si on est sur Sophie (la machine de mon salon) et si je suis Seb, alors: if [[ "$(uname -a | awk '{print $2}')" == "claire" && "$(whoami)" == "seb" ]] then PS1="%4(~.%2C.%~)>" # PS1="%4(~.%2C.%~)>" # On veut clairement un autre prompt si je suis passé root: elif [[ "$(uname -a | awk '{print $2}')" == "claire" && "$(whoami)" == "root" ]] then PS1="ROOT %4(~.%2C.%~)>" # Encore un peu différent si on n'est pas sur Claire (on rappelle le nom de la # machine): elif [[ "$(whoami)" == "root" ]] then PS1="%m ROOT %4(~.%2C.%~)>" else PS1="%m %4(~.%2C.%~)>" fi PS2="More information please > " # Le programme à ouvrir quand on ne me demande pas mon avis. #export EDITOR='/bin/nano -x -r78 -H' export EDITOR='/bin/nano' # Le spellchecker par défaut (utilisé par nano). export SPELL='ispell -t -d french -Tlatin1' # Mes alias sont dans: source $HOME/.alias source $HOME/.alias.local # Pour pouvoir taper les accents quand je suis à distance: stty -istrip # Permet "alias ALIAS='killall -USR1 zsh'", ce qui fait relire mon .alias # à tous les shells déjà lancés, donc en particulier dans toutes les fenêtres. TRAPUSR1() { source $HOME/.alias # Le fichier à relire. } # Enfin, on ajoute le répertoire courant au début de PATH (on ne le fait pas # pour root). source $HOME/.zshrc.perso source $HOME/.zshrc.local ## PERL export PERL5LIB=$HOME/lib/perl:$HOME/local/lib/perl ## CVS export CVS_RSH=ssh ## grep --color=always <mot> *tex export GREP_COLOR=1 ## News export NNTP_SERVER=news.free.fr ## Codages et langues export LANG=en_US export LC_ALL=en_US.iso88591 #export LC_CTYPE=en_US.iso88591 # superseded by LC_ALL export LANGUAGE=C ## Pour contourner un bug d'uns bibli, qui se manifeste avec xmms en ## doublesize. export XLIB_SKIP_ARGB_VISUALS=1 ## Fait chier la TeXLive, ce ne sont plus les bonnes options qui sont passées ## à dvips... export DVIPS='dvips -R0 -tunknown -T21cm,29.7cm -R0' ## 'perldoc' utilise les mêmes options que 'less'. export PERLDOC_PAGER='less -i -P%f-%pb -x4' # Ça marche, je sais juste pas encore quoi en faire. Ça permet de faire en # sorte qu'avant d'exécuter une commande donnée en ligne de commande, une # autre commande soit exécutée préventivement. # On pourrait ajouter des tests: # if [[ "`uname -s`" == "Linux" ]]; then # echo "On est sous Linux !" # fi # #function preexec {case "$*" in (ls*) # echo "coucou" #esac} # On indique à latex à quel endroit aller chercher mes .sty. export TEXINPUTS=\ $TEXINPUTS:\ /home/seb/lib/latex//:\ /home/seb/hk/annales/bin// # le // indique d'aller fouiller dans les sous-répertoires. # Quel alphabet pour 'less' ? export LESSCHARSET=latin1 # Où range-t-on l'historique ? export HISTFILE=~/.history # Pour la sombre merde qu'est 'geeqie', qui a remplacé l'excellent 'gqview': export G_BROKEN_FILENAMES=1 export PATH=.:$PATH export PMnb=12
exec ssh-agent zsh