From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from math.gatech.edu (euclid.skiles.gatech.edu [130.207.146.50]) by werple.net.au (8.7/8.7.1) with SMTP id XAA03173 for ; Tue, 7 Nov 1995 23:40:53 +1100 (EST) Received: by math.gatech.edu (5.x/SMI-SVR4) id AA06898; Tue, 7 Nov 1995 05:49:46 -0500 Resent-Date: Tue, 7 Nov 1995 02:59:41 -0800 Old-Return-Path: Date: Tue, 7 Nov 1995 02:59:41 -0800 Message-Id: <9511071059.AA18493@phenotype.arc.nasa.gov> From: kpc To: zsh-workers@math.gatech.edu Subject: bug in zsh 2.6 beta 11: xkeysymdb Reply-To: kpc@ptolemy-ethernet.arc.nasa.gov X-Disclaimer: No organization, company, or government is represented here. X-Attribution: kpc Resent-Message-Id: <"POE9U3.0.ih1.9dpdm"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/543 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu If this is a mailing list, I do not subscribe to it (but follow the instructions in mailing to it), and would appreciate a CC. I am upgrading from 2.3.1. The reason I am not upgrading from a later version is that no other version compiled and ran correctly on both Solaris and SunOS. Everything works fine with 2.3.1 but 2.6 beta 11 fails to read my dot files correctly. beta11 compiles cleanly but has the following bug and complains of a syntax error in my .zshrc that I cannot locate. It says ".zshrc: parse error near `)' [307]". I will spare you my .zshrc but hope that future versions can locate syntax errors better. Note that 2.3.1 does not complain at all. I have no idea where the error is or whether there is one. All parentheses and braces and brackets match that I know of. Here is the bug. .zslow is a file that I load only once from my .zshenv file. It works with 2.3.1. % . .zslow .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [291] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [561] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [831] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [1101] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [1371] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [1641] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [1911] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [2181] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [2451] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [2721] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [2991] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [3261] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [3531] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [3801] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [4071] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [4341] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [4611] .zslow: no such file or directory: usr/local/X.V11R5/lib/XKeysymDB [4881] usr/local/X.V11R5/lib/XKeysymDB exists. I see 3 errors: o zsh cares whether it exists o zsh says it does not exist o zsh infinitely recurses or something Here is the file. Hope it helps. # #.zslow # #this file is dotted by .zshenv # #everything here is inherited by subshells or subprocesses. # #ugh, recursion typeset -x zshenvloadedp=t #touch ~/.beginning-zslow #!!!!see also .zshrc umask 007 #typeset -x USER=kpc@ptolemy.arc.nasa.gov typeset -x homehost=phenotype.arc.nasa.gov #!!!! typeset -x homeuid=kpc #!!!! typeset -x XKEYSYMDB=/usr/local/X.V11R5/lib/XKeysymDB #typeset -x LD_LIBRARY_PATH=/usr/local/X.V11R5/lib #this causes problems with programs copied from sunos #typeset -x LD_LIBRARY_PATH=/usr/lib:/usr/local/X.V11R5/lib:/usr/ucblib #works typeset -x LD_LIBRARY_PATH=/usr/local/X.V11R5/lib:/usr/ucblib #typeset -x LD_LIBRARY_PATH=/usr/local/X.V11R5/lib:/usr/4lib:/usr/ucblib #typeset -x LD_LIBRARY_PATH=/usr/local/X.V11R5/lib typeset -x LD_LIBRARY_PATH=/usr/local/lib/motif/usr/lib:/usr/local/X.V11R5/lib # #paths # #path=($path /usr/ucb /usr/bin /usr/etc) #:/usr/local/X.V11R5/bin/motif1.2\ #/usr/local/sunos-bin contains binaries from sunos that might be #slower under solaris due to sunos compatibility library. i don't #know anything about this, however. setpath () { if [ -d $1 -a -x $1 ] then PATH=$PATH:$1 fi } setlocalpaths () { #local paths in my home directory uid=${1:?} setpath ~"$uid"/local/user-host/bin setpath ~"$uid"/local/host/bin setpath ~"$uid"/local/arch/bin setpath ~"$uid"/local/site/bin setpath ~"$uid"/local/user/bin } #The first item in the path should not start with a colon, to prevent :: #typeset -x PATH=/dev/null/xyzzy-nonexistent-bin typeset -x PATH=~/sbin setlocalpaths $LOGNAME if [ "$LOGNAME" != "$homeuid" ] then setpath ~"$homeuid"/sbin setlocalpaths $homeuid fi # #standard paths # # #zsh 2.3.1 at least sometimes prints not a directory if there is a #non-executable file in path. also ~user fails if user is a program #in path. # setpath /bin setpath /usr/bin setpath /usr/local2/GNU/bin setpath /usr/local/GNU/bin setpath /usr/local2/GNU/sparc-sun-sunos4.1.3/bin setpath /usr/local2/GNU/sparc-sun-solaris2.3/bin setpath /usr/local2/GNU/sparc-sun-solaris2.4/bin setpath /usr/local2/GNU/sparc-sun-solaris2.5/bin setpath /usr/local/GNU/sparc-sun-sunos4.1.3/bin setpath /usr/local/GNU/sparc-sun-solaris2.3/bin setpath /usr/local/GNU/sparc-sun-solaris2.4/bin setpath /usr/local/GNU/sparc-sun-solaris2.5/bin setpath /usr/gnu/bin setpath /usr/fsf/bin setpath /opt/gnu/bin setpath /usr/local2/bin setpath /usr/local/bin setpath /usr/local/packages #my thing for things like glimpse binaries setpath /usr/local/share/bin setpath /usr/share/bin setpath /usr/5bin setpath /usr/local/bin/sparc-sun-sunos4.1.3 setpath /usr/local/bin/sparc-sun-solaris2.3 setpath /usr/local/bin/sparc-sun-solaris2.4 setpath /usr/local/bin/sparc-sun-solaris2.5 setpath /usr/local/bin/Sparc10 #phenotype bw motif setpath /usr/local/lib/motif/usr/bin/X11 setpath /usr/local/X.V11R5/bin #4.1.3 network setpath /usr/local/X.V11R5/bin/motif #setpath /usr/X.V11R5/bin #setpath /usr/X.V11R5/bin/motif #setpath /usr/local/X11/bin #setpath /usr/X11/bin #setpath /usr/local/X.V11R4/bin #setpath /usr/local/bin/X.V11R4 #setpath /usr/local/X.V11R6/bin #setpath /usr/local/X.V11R6/bin/motif #setpath /usr/X.V11R6/bin setpath /etc setpath /usr/etc setpath /usr/local/etc setpath /usr/lib setpath /sbin setpath /usr/sbin setpath /usr/kvm setpath /usr/demo setpath /usr/games setpath /usr/sccs setpath /usr/local/bin/news setpath /usr/local/lib/news setpath /usr/lib/news setpath /usr/ncd/sparc setpath /usr/diag/sundiag setpath /usr/diag setpath /usr/ccs/bin setpath /opt/SUNWabe/bin setpath /opt/SUNWcg12/bin setpath /opt/SUNWdiag/bin setpath /opt/SUNWdxlib/bin setpath /opt/SUNWgt/bin setpath /opt/SUNWits/bin setpath /opt/SUNWleo/bin setpath /opt/SUNWrtvc/bin setpath /opt/SUNWtcx/bin setpath /usr/ucb setpath /usr/local/sunos-bin setpath /usr/lib/sa setpath /usr/lib/saf setpath /usr/lib/acct setpath /usr/lib/nfs if [ ! -e ~/local/host/.standalone ] then touch ~/.put-foreign-paths-in-zslow #stuff mounted on megawatt setpath /usr/ccf/bin setpath /usr/ccf/X11R5/bin setpath /usr/ccf/etc setpath /usr/ccf/perl5/bin setpath /usr/ccf/perl/bin setpath /usr/ccf/graphics/bin setpath /usr/ccf/hotjava/bin setpath /usr/ccf/texmaker/bin setpath /usr/ccf/texmaker/bin setpath /usr/ccf/openwin/bin setpath /usr/ccf/X11R6/bin #stuff on pluto or ptolemy copernicus kronos setpath /mnt/pluto/local/GNU/bin setpath /mnt/pluto/local/bin setpath /mnt/bin setpath /usr/openwin/bin setpath /usr/annex setpath /usr/lib/annex fi typeset -x MANPATH MANPATH=. MANPATH=${MANPATH}:man MANPATH=${MANPATH}:/usr/local2/man MANPATH=${MANPATH}:/usr/local/man MANPATH=${MANPATH}:/usr/gnu/man MANPATH=${MANPATH}:/opt/gnu/man MANPATH=${MANPATH}:/usr/man MANPATH=${MANPATH}:/usr/share/man MANPATH=${MANPATH}:/usr/local/man/X.V11R5 MANPATH=${MANPATH}:/usr/ccf/man typeset -x NAME=${LOGNAME:-?} #for gnus typeset -x TEXEDIT="emacs +%d %s" typeset -xr FCEDIT=emacs EDITOR=emacs VISUAL=emacs typeset -x PAGER=less typeset -x LESS=iMnQsC #typeset -x WEBSTERHOST=ames.arc.nasa.gov typeset -x GZIP=--fast #!!live dangerously (and try to avoid emacs crashes) #unlimit filesize datasize stacksize coredumpsize resident descriptors unlimit #limit -h coredumpsize 1 #limit coredumpsize 1 #limit -h core 1 #limit core 1 #ulimit? #soft limits do not seem to be useful for emacs at least # #executable paths # fix () { if [ -x $2 ] then echo $2 else #echo $1 #!!!! whence -p $1 fi } #there is a major problem with this: aliases get overridden. it seems typeset -x du=du ls=ls pa=pa man=man id=id typeset -x cat=cat typeset -x cut=cut typeset -x wc=wc typeset -x sed=sed typeset -x rm=/bin/rm typeset -x pk=~/sbin/pk typeset -x web=~/sbin/web typeset -x news=~/sbin/news typeset -x save=~/sbin/save typeset -x lisp=~/sbin/lisp typeset -x z=~/sbin/z typeset -x into=~/sbin/into typeset -x grep=mygrep typeset -x mygrepgrep=`fix grep /usr/local/bin/grep` #!!!!inconsisntency; should be myfgrep shell script. however, I #only ever use fgrep for fgrep -vxhf, so the bugs fixed by #mygrep should not appear. typeset -x fgrep=`fix fgrep /usr/local/bin/fgrep` typeset -x rsh=`fix rsh /usr/ucb/rsh` typeset -x find=`fix find /usr/local/bin/find` typeset -x gawk=`fix gawk /usr/local2/GNU/bin/gawk` typeset -x gunzip=`fix gunzip /usr/local2/bin/gunzip` typeset -x gzip=`fix gzip /usr/local2/bin/gzip` typeset -x tail=tail typeset -x diff=`fix diff /usr/local/sunos-bin/diff` typeset -x head=`fix head /usr/local/sunos-bin/head` typeset -x join=`fix join /usr/local2/bin/join` typeset -x sort=`fix sort /usr/local2/bin/sort` typeset -x tr=`fix tr /usr/ucb/tr` typeset -x uniq=`fix uniq /usr/local2/bin/uniq` typeset -x xargs=`fix xargs /usr/local/bin/xargs` #functions are not exported and variables cannot contain spaces case `uname -r` in 4.1.3) #typeset -x localls='/bin/ls -g' typeset -x localpsall='/bin/ps -auxw' typeset -x localid='/bin/id' typeset -x localdu='/bin/du' typeset -x localdf='/bin/df' typeset -x localman='man' ;; 5.3|5.4|5.5|*) #typeset -x localls='/bin/ls' #in 5.2, ps -l shows size typeset -x localpsall='/bin/ps -cefj' typeset -x localid='/bin/id -a' typeset -x localman='/bin/man -a' typeset -x localdu='/usr/ucb/du' typeset -x localdf='/usr/ucb/df' #typeset -x CC=/usr/local/bin/cc ;; esac export df=$localdf export du=$localdf touch ~/.loaded-zslow --- kpc@ptolemy.arc.nasa.gov. AI, multidisciplinary neuroethology, info filtering. Down with Caps-Lock! Boycott keyboard makers when it displaces Control & Meta!