# File rtex.rb, line 655
        def execute()
                if ! File.exist?( @filename + '.rai')
                        Logger.error( "Rail: .rai-File is missing" )
                end
                if File.exist?( @filename + '.rao')
                        raoold = File.new(@filename + '.rao').readlines()
                end
                @dataChanged = false  #clear flag
                #Rail.exe don't like long filenames, but via pipe it works
                Logger.add( 5, "Rail", "Execute #{Config.rail()}")
                stdoutOff( ) 
                stderrOff( ) 
                result = system( Config.rail("-t < #{@filename}.rai > #{@filename}.rao") )
                stderrOn( ) 
                stdoutOn( ) 
                # Delete first two lines from rao-File (contains Version-Message)
                rao = File.new( @filename + ".rao" ).readlines()
                rao.each{ |l|
                        l.sub!(/^(This is Rail.*)/, '%\1')
                        l.sub!(/^(\(stdin.*)/, '%\1')
                        l.sub!(/^\)/, '%\1)')                #last line
                        }
                rao2 = File.new( @filename + ".rao", 'w' )
                rao2.puts(rao)
                rao2.close()
                put_analyse( analyse( rao ) )
#               add_stdout( self.class ) if @stdoutInclude   #was redirected to @filename+'.rao'
                add_stderr( self.class ) if @stderrInclude
                Logger.add_file( "filename" ) if @logInclude
                if File.exist?( @filename + '.rao')
                        raonew = File.new(@filename + '.rao').readlines()
                        if raoold != raonew
                                @dataChanged = true
                        end
                else
                        Logger.error( "Rail: .rao-File is missing" )
                end
                return result
        end