首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BeanShell宏中的exec()在返回非零退出代码时导致jEdit挂起。

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

Stack Overflow用户
提问于 2012-07-10 15:13:07
回答 2查看 451关注 0票数 2

我有一个jEdit BeanShell宏,当我保存它们时,它通过Maruku运行我的Markdown文件:

代码语言:javascript
复制
if (buffer.getMode().toString().equals("markdown")) {
  cmd = "C:\\Ruby\\bin\\maruku.bat -o " + buffer.getDirectory() + buffer.getName().replaceAll("markdown$", "html") + " " + buffer.getPath(); 
  exec(cmd);
}

如果Markdown文件是有效的,这将非常有效。但是如果我犯了一个错误,jEdit就会永远等待exec()调用“成功”,而这是永远不会发生的。当发生这种情况时,我必须杀死jEdit的javaw.exe进程,并从命令行手动运行Maruku以发现错误,例如:

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

发布于 2012-07-10 20:42:14

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

代码语言:javascript
复制
Runtime.getRuntime().exec("asdf");

当我运行这个程序时,Jedit给了我一个弹出窗口:

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

票数 0
EN

Stack Overflow用户

发布于 2012-09-18 06:30:55

这里可能涉及到ErrorList插件,并且会发生死锁。臭虫是固定的,尽管修补程序还没有发布。无论如何,在bug跟踪器中,您可能会找到解决问题的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11416434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档