经过一番搜索,我在vim帮助的第几节中找到了以下注释|posix-compliance|
:
In 2005 the POSIX test suite was run to check the compatibility of Vim. ...
...
- vi test 310 fails; exit code non-zero when any error occurred?
这使我进入vi的POSIX规范的以下部分。
退出状态
应返回以下出口值:
0
成功完成。
> 0
发生错误。
显然,许多实用程序都具有这样的退出状态规范,这通常是非常合理的。但是,不是vi
:作为交互式编辑器,某些命令完全有可能导致错误(“发生错误”),但整个编辑器都正常退出(“成功完成”)。因此,根据您的观点,规范本身是模棱两可和/或矛盾的。
显然,编写POSIX测试套件的人认为“成功完成”的定义应该严格:如果发生任何错误,则它不是成功完成。因此vim
未能通过测试。
当然,如果将vim的代码称为,则不难修改以符合规范的解释vi
。由于最新版本的vim似乎没有表现出这种行为,我想Mac OS X的家伙可能自己引入了此补丁程序,以便通过POSIX测试。像这样使用实用程序的任何困难git commit
可能是他们最不用担心的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句