684: def techbook_directive_endeval(args)
685: save_state
686:
687: thread = Thread.new do
688: begin
689: @techbook_code.untaint
690: pdf = self
691: eval @techbook_code
692: rescue Exception => ex
693: err = PDF::Writer::Lang[:techbook_eval_exception]
694: $stderr.puts err % [ @techbook_line__, ex, ex.backtrace.join("\n") ]
695: raise ex
696: end
697: end
698: thread.abort_on_exception = true
699: thread.join
700:
701: restore_state
702: select_font @techbook_textfont, @techbook_encoding
703:
704: @techbook_code = ""
705: @techbook_mode, @techbook_lastmode = @techbook_lastmode, @techbook_mode
706: end