簡體   English   中英

跨平台Emacs腳本

[英]Cross-platform Emacs Script

我正在嘗試編寫一個必須操作剪貼板的Emacs腳本(僅獲取最后一個條目並將其作為字符串進行操作)。 問題是我在Linux(在家)和Windows(在工作)上工作。 在Windows中,我必須使用功能(w32-get-clipboard-data),而Linux使用(x-get-clipboard)出於相同的目的(並且當使用其他等效功能時,每個OS都會出錯)。

我真的不想保留兩個具有相同模式定義的單獨文件; 有什么方法可以通過elisp檢查當前正在運行哪個OS Emacs,因此我可以使用適當的功能?

PS。 是的,一個合理的解決方案是“停止在工作中使用Windows”,我正在研究它,但是我至少要忍受一兩個月。

您可以使用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))) 

請參閱system-type變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM