Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zrecompile not verbose enough on failure?



Adam Spiers wrote:

> Sven Wischnowsky (wischnow@xxxxxxxxxxxxxxxxxxxxxxx) wrote:
> > Bart Schaefer wrote:
> > 
> > > On Oct 21,  9:42pm, Adam Spiers wrote:
> > > }
> > > } Why does zrecompile redirect STDERR to /dev/null when running
> > > } zcompile?
> > > 
> > > Probably to suppress warning-only messages like
> > > 
> > > 	zcompile: functions will use zsh style autoloading
> > > 
> > > because zrecompile is intended to run unobtrusively from a .zshrc or the
> > > like; but I agree that it would be nice to see more of the *real* failure
> > > messages from zcompile.
> > 
> > Should we make it depend on the -q option?
> 
> Yes, that would be nicer than my solution, which was

So, here is my suggestion.  Message printing gets a bit confused in
case of errors from zcompile, but personally, I don't care too much.

Bye
  Sven

Index: Functions/Misc/zrecompile
===================================================================
RCS file: /cvsroot/zsh/zsh/Functions/Misc/zrecompile,v
retrieving revision 1.8
diff -u -r1.8 zrecompile
--- Functions/Misc/zrecompile	29 May 2001 17:54:39 -0000	1.8
+++ Functions/Misc/zrecompile	7 Mar 2002 08:27:29 -0000
@@ -128,11 +128,13 @@
         # If the file is mapped, it might be mapped right now, so keep the
 	# old file by renaming it.
 
-	if { [[ ! -f $zwc ]] || mv $zwc ${zwc}.old } &&
-             zcompile $map $tmp $zwc $files 2> /dev/null; then
-          [[ -z $quiet ]] && print succeeded
-        else
-          [[ -z $quiet ]] && print failed
+	if [[ -z "$quiet" ]] &&
+           { [[ ! -f $zwc ]] || mv $zwc ${zwc}.old } &&
+           zcompile $map $tmp $zwc $files; then
+          print succeeded
+	elif ! { { [[ ! -f $zwc ]] || mv $zwc ${zwc}.old } &&
+                 zcompile $map $tmp $zwc $files 2> /dev/null } then
+          [[ -z $quiet ]] && print "re-compiling ${zwc}: failed"
           ret=1
         fi
       fi
@@ -230,10 +232,13 @@
         # If the file is mapped, it might be mapped right now, so keep the
 	# old file by renaming it.
 
-	if mv $zwc ${zwc}.old && zcompile $map $zwc $files 2> /dev/null; then
-          [[ -z $quiet ]] && print $mesg
-        else
-          [[ -z $quiet ]] && print failed
+	if [[ -z "$quiet" ]] &&
+           mv $zwc ${zwc}.old &&
+           zcompile $map $zwc $files; then
+          print $mesg
+	elif ! { mv $zwc ${zwc}.old &&
+                 zcompile $map $zwc $files 2> /dev/null } then
+          [[ -z $quiet ]] && print "re-compiling ${zwc}: failed"
           ret=1
         fi
       fi

-- 
Sven Wischnowsky                          wischnow@xxxxxxxxx



Messages sorted by: Reverse Date, Date, Thread, Author