Subject: Re: Problem with basename
From: "Ehud Karni" <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked]
Date: Fri, 16 Feb 2001 17:57:59 +0200

On Fri, 16 Feb 2001 09:31:22 -0500, Earnie Boyd <[email-masked]> wrote:
> 
> [email-masked] wrote:
> > 
> > i have written the following function:
> > 
> >     function check-el-compile ()
> >     {
> >         for file in $*; do
> >             elcfile=`basename $file .el`.elc
> >             if [ ! -f "$elcfile" ]; then
> >                 missinglist="$missinglist $file"
> >             fi
> >         done
> >         echo "Not compiled Files: $missinglist"
> >         unset el elc missinglist
> >     }
> > 
> > This function checks which of the passed *.el files are not compiled, i.e. the file <basename>.elc
> > does not exist. Example: abc.el is compiled if abc.elc exists in the same directory.
> > 
> > Now the problem: if i pass the *.el files as argument to this function all is working fine.
> > But if i write the functon like follows:
> > 
> >     function check-el-compile ()
> >     {
> >         for file in `ls *.el`; do
> >             # same as above.
> > 
> > then the basename call doesn´t work, i.e. it always returns $file.
> > It seems that the output of ls contains "something" which confuses basename?!
> > 
> Not really.  Do you have any *.el files with whitespace characters or
> any non alphanumeric characters in the filename?
> 
> You could modify your script to have the for loop call the function.  I
> would also not use the work `file' as a variable name.  I would change
> it to `File' or just F to prevent confusion with the executable of the
> same name.
> 

I've just run your script and it worked with both forms. I would suspect
something is wrong with your command (may be you have tab instead of 
space ? within the 2 basename ?). Run diff on the scripts and check it.

Earnie, Your comment on the "file" variable name is good programming
hint in general, but it sure is not the problem here.

Ehud.

-- 
 @@@@@@ @@@ @@@@@@ @    @   Ehud Karni  Simon & Wiesel  Insurance agency
     @    @      @  @@  @   Tel: +972-3-6212-757    Fax: +972-3-6292-544
     @    @ @    @ @  @@    (USA)  Fax  and  voice  mail:  1-815-5509341
     @    @ @    @ @    @        Better     Safe     Than     Sorry
 http://www.simonwiesel.co.il    mailto:[email-masked]

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple