我正在寻找一些帮助,请以编程方式区分系统类型的Windows XP与Windows 7 - 使用相同的Emacs版本。
Emacs Version
: 2014-10-02关于LEG570的GNU Emacs 24.3.94.1(i686-pc-mingw32)
我想做点什么:
(cond
((eq system-type 'darwin)
. . .)
((and
(eq system-type 'windows-nt)
(eq ... Windows XP)) ;; pseudocode
. . .)
((and
(eq system-type 'windows-nt)
(eq ... Windows 7)) ;; pseudocode
. . .) )
答案 0 :(得分:3)
在这两个系统上尝试M-:x (w32-version) RET
。结果应该是不同的。
然后在以下内容中使用它:
(cond ((equal (w32-version) '...) ...)
答案 1 :(得分:2)
我认为这里的方法如下:
方法1:虚拟shell命令(特定于OS语言环境的输出?)
使用 ver 获取操作系统版本。
http://www.windows-commandline.com/find-windows-os-version-from-command/
上述方法可能会根据用户区域设置生成不同的字符串输出。
方法2:使用一些外部自定义代码
或者你可以编译一些外部C ++应用程序并处理操作系统语义版本映射(http://support2.microsoft.com/kb/307394)
然后事情变得简单
if system-type is windows-nt
variant = parse (shell-command-to-string "ver")
conditions to run code for interesting variant with a default :else case