代码之家  ›  专栏  ›  技术社区  ›  Inaimathi

跨平台Emacs脚本

  •  1
  • Inaimathi  · 技术社区  · 16 年前

    我试图编写一个Emacs脚本,该脚本必须操作剪贴板(只是获取最后一个条目并将其作为字符串进行操作)。问题是我在Linux(在家)和Windows(在工作)上工作。在Windows中,我必须使用函数(w32获取剪贴板数据),而Linux使用函数(x-get-clipboard)用于相同的目的(当您使用其他操作系统的等效函数时,每个操作系统都会出错)。

    是的,一个合理的解决方案是“在工作中停止使用Windows”,我正在努力,但我需要至少忍受一两个月。

    2 回复  |  直到 16 年前
        1
  •  5
  •   Eric Warmenhoven    16 年前

    您可以使用fboundp检查函数是否已绑定(如果存在)。然后,如果你想变得非常聪明,你可以创建自己的别名,指向正确的别名。例如:

    (defalias 'my-get-clipboard-data                                                                                                                                                                                                   
      (cond ((fboundp 'w32-get-clipboard-data) 'w32-get-clipboard-data)                                                                                                                                                                
            ((fboundp 'x-get-clipboard) 'x-get-clipboard)                                                                                                                                                                              
            (t nil)))
        2
  •  3
  •   pheaver    16 年前

    system-type 变量