Macros BeanShell宏中的exec()在返回非零退出代码时导致jEdit挂起

Macros BeanShell宏中的exec()在返回非零退出代码时导致jEdit挂起,macros,exec,beanshell,jedit,Macros,Exec,Beanshell,Jedit,我有一个jEdit BeanShell宏,当我保存我的射击文件时,它会通过Maruku运行这些文件: if (buffer.getMode().toString().equals("markdown")) { cmd = "C:\\Ruby\\bin\\maruku.bat -o " + buffer.getDirectory() + buffer.getName().replaceAll("markdown$", "html") + " " + buffer.getPath(); e

我有一个jEdit BeanShell宏,当我保存我的射击文件时,它会通过Maruku运行这些文件:

if (buffer.getMode().toString().equals("markdown")) {
  cmd = "C:\\Ruby\\bin\\maruku.bat -o " + buffer.getDirectory() + buffer.getName().replaceAll("markdown$", "html") + " " + buffer.getPath(); 
  exec(cmd);
}
当标记文件有效时,这非常有效。但是如果我犯了一个错误,杰迪特就会永远等待
exec()
调用“success”,而它永远不会。发生这种情况时,我必须杀死jEdit的
javaw.exe
进程,并从命令行手动运行Maruku以发现错误,例如:

E:\docs>maruku mydoc.markdown

 ___________________________________________________________________________
| Maruku tells you:
+---------------------------------------------------------------------------
| Could not find ref_id = "17" for md_link(["17"],"17")
| Available refs are []
+---------------------------------------------------------------------------
!C:/Ruby/lib/ruby/gems/1.8/gems/maruku-0.6.0/lib/maruku/errors_management.rb:49:in `maruku_error'
!C:/Ruby/lib/ruby/gems/1.8/gems/maruku-0.6.0/lib/maruku/output/to_html.rb:716:in `to_html_link'
!C:/Ruby/lib/ruby/gems/1.8/gems/maruku-0.6.0/lib/maruku/output/to_html.rb:970:in `send'
!C:/Ruby/lib/ruby/gems/1.8/gems/maruku-0.6.0/lib/maruku/output/to_html.rb:970:in `array_to_html'
!C:/Ruby/lib/ruby/gems/1.8/gems/maruku-0.6.0/lib/maruku/output/to_html.rb:961:in `each'
\___________________________________________________________________________
Not creating a link for ref_id = "17".
然后重新启动jEdit,修复错误,并重新保存文件,此时宏成功


我如何使我的宏更具弹性,可以有效地死亡(显示Maruku的错误输出),或者至少可以安静地死亡,这样我就不必杀死jEdit?我在宏中使用了一个稍微不同的调用来执行系统命令:

Runtime.getRuntime().exec("asdf");
当我运行此命令时,Jedit会弹出一个窗口: exec故障“>


我正在用JDK 1.6.0_26运行Jedit 4.4.1。

我在宏中使用稍微不同的调用来执行系统命令:

Runtime.getRuntime().exec("asdf");
当我运行此命令时,Jedit会弹出一个窗口: exec故障“>


我正在用JDK 1.6.026运行Jedit 4.4.1。

这里可能涉及
ErrorList
插件,并发生死锁。已修复,但修复尚未发布。无论如何,在bug跟踪器中,您可能会找到解决问题的方法。

这里可能涉及到
ErrorList
插件,并发生死锁。已修复,但修复尚未发布。无论如何,在bug跟踪器中,你可以找到解决问题的方法