diff options
Diffstat (limited to 'lib/sisu/v3/errors.rb')
-rw-r--r-- | lib/sisu/v3/errors.rb | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/lib/sisu/v3/errors.rb b/lib/sisu/v3/errors.rb index 25ef688c..f0333334 100644 --- a/lib/sisu/v3/errors.rb +++ b/lib/sisu/v3/errors.rb @@ -62,18 +62,23 @@ module SiSU_Errors class InfoError <CreateFile def initialize(error,errorlist,cmd,fns='') @fns,@cmd,@error,@errorlist=fns,cmd,error,errorlist - @cmd=if cmd and cmd =~/c/; 'Vc' - else 'V' - end + @cmd=(cmd \ + && (cmd =~/c/)) \ + ? 'Vc' + : 'V' end - def error #creates file errorlog.sisu in pwd of last error reported - file=if @fns; SiSU_Env::CreateFile.new(@fns).file_error - else File.new('/tmp/errorlog.sisu','w+') - end + def error + file=@fns \ + ? (SiSU_Env::CreateFile.new(@fns).file_error) + : (File.new('/tmp/errorlog.sisu','w+')) file << @fns << "\n" << @error << "\n" << @errorlist file.close - if @cmd=~/[vVM]/; STDERR.puts SiSU_Screen::Ansi.new('',$!,$@).rescue - else SiSU_Screen::Ansi.new('',"rescued, exception reaised, silenced").puts_grey + if @cmd=~/[vVM]/ + SiSU_Screen::Ansi.new('',$!,$@).rescue do + __LINE__.to_s + ':' + __FILE__ + end + else + SiSU_Screen::Ansi.new('',"rescued, exception raised, silenced").puts_grey end end end |