[Pkg-zsh-devel] Bug#353863: Bug#353863: zsh: Same diagnostic

Seb seb at h-k.fr
Wed Feb 23 01:12:59 UTC 2011


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.

-------------- next part --------------
##
## 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 at 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
-------------- next part --------------
exec ssh-agent zsh


More information about the Pkg-zsh-devel mailing list