Method: PDF::TechBook#techbook_directive_endeval

Defined in:
lib/extensions/pdf-writer/pdf/techbook.rb

#techbook_directive_endeval(args) ⇒ Object

End Eval: .endeval



684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
# File 'lib/extensions/pdf-writer/pdf/techbook.rb', line 684

def techbook_directive_endeval(args)
  save_state

  thread = Thread.new do
    begin
      @techbook_code.untaint
      pdf = self
      eval @techbook_code
    rescue Exception => ex
      err = PDF::Writer::Lang[:techbook_eval_exception]
      $stderr.puts err % [ @techbook_line__, ex, ex.backtrace.join("\n") ]
      raise ex
    end
  end
  thread.abort_on_exception = true
  thread.join

  restore_state
  select_font @techbook_textfont, @techbook_encoding

  @techbook_code = ""
  @techbook_mode, @techbook_lastmode = @techbook_lastmode, @techbook_mode
end