今天 Emacs 出了一点问题,很诡异,提示我找不到 org-strip-protective-commas 函数,产生了错误。我用 ack 来搜索我的 .emacs.d 目录,怎么也找不到什么地方调用了这个函数。我只不过通过 ELPA 安装了一个 RVM 包,然后重启了一下,就出现了这个问题。虽然说不是不能用,但是因为没有运行完我的设置代码,所以很多东西都没有,包括 Meta 键的映射,所以估计不会有人喜欢在这里面写程序。
而我正要用它来写程序,既然不能用,我就启动电脑上装着的备用的编辑器——TextMate。因为我平时使用 Emacs,所以我保留了一份 TextMate 2。结果没想到 TextMate 也没法启动。运行了之后出来一个图标在 Dock 上跳动个不停,然后 Activity Monitor 里显示 not responding。我以为是出了什么问题,于是就去网站上重新下载。TextMate 2 开源了,因此代码放在 Github 上。我进去一看,说明部分的开头就写了“a text editor for OS X 10.7+”,这简直让我眼前一黑,因为我的系统还是 10.6.8 Snow Leopard。我下载了预先编译好的版本,果然在我的机器上不能使用。
这些操作系统都有这样的升级不兼容的问题。本来我觉得 Mac OS X 会没有这类问题,结果还是出现了。更讨厌的是,10.7 版本的 Mac OS X 不支持我现在的硬件了,我这台 2008 年 4 月 1 日买的 MacBook 用到 Snow Leopard 就到头了。出了操作系统外,App Store 上的 XCode 4 也是这样,没有 10.7 就没法安装,我现在也只能运行系统自带的 XCode 3,虽然 gcc 编译器的版本已经到了 4.2。
虽然说升级换代是天经地义的,但遇到了这样的情况,都是挺让人郁闷的。免费软件倒也罢了,但对于收费的软件,我觉得作者应该尽量的让软件向下兼容。比如说 Ecoute,一款轻量的音乐播放软件,我从 App Store 上付费买了它,结果某一个版本开始就要求 10.7 以上的操作系统了。所以从那时我一直没有升级,平时也尽量不再用它,毕竟它已经是一个不再被支持的软件了。一个音乐播放软件,有什么功能是只有 10.7 版本的操作系统才能提供的啊?我不觉得是这样子的。我想很可能是软件的作者想给软件添加一些 10.7 才有的特色功能,比如全屏之类的,而维护功能不同的两个版本又太麻烦了,反正很多人都升级到了新版的系统(单纯升级 Mac OS X 费用是 20 美元,对美国人来说并不贵),于是就单纯的支持了新版本的操作系统。
刚才看了一下 Ecoute 作者的博客,发现去年作者把 Ecoute 免费了。
对于 TextMate 的操作系统限制,我还是可以理解的。和音乐播放器不同的是,文字编辑器需要一些系统提供的函数,如果限制操作系统,也是没办法的事情。而且现在 TextMate 2 已经是开源软件了,如果没有还在坚持用旧操作系统的贡献者,那对旧系统的支持自然就不好了。虽然我在很久之前就买了 TextMate 的注册码,甚至还在买这台 MacBook 之前,但自从 TextMate 不再是商业软件,作者的支持也就不再有了。
好在目前我遇到的这些需要新操作系统的软件都不是我必须要使用的,它们都有替代品,所以我还可以继续用这台电脑。在我最终对硬件进行升级换代之前,我都是希望更多的软件可以做到向下兼容。