4

只是想知道是否可以将 emacs 和 Lisp 程序打包和部署为 PC 应用程序,这样一旦下载,运行 setup.exe(类似于),用户就可以启动应用程序,使 emacs 运行特定的 Lisp 程序,就好像应用程序已实现一样通过其他语言和平台,例如 .Net 或 Python。

通过这种方法,普通用户更容易使用 Lisp 程序的功能,而不是成为 emacs 的用户,这通常需要一些学习曲线。另一方面,它将为 Lisp 代码提供某种程度的知识产权保护。

当然,另一种选择是使用一些更商业化的语言/范式。但我发现 emacs 确实提供了丰富的功能,如果不为大众所喜爱,那将是遗憾的。

提前致谢,

于深

4

2 回答 2

3

确实没有什么好的方法可以做到这一点。Emacs 根本没有设置为易于重新分发的“运行时”。

你可以做的是编译一个 Emacs 版本,从安装中删除尽可能多的内容(C 特性或 Elisp 库),对你想要分发的代码进行字节编译,将所有这些放入存档(或设置.exe) 并分发它。

要字节编译多个文件,您可以运行

$ emacs -batch -f batch-byte-compile files...

将库放在一起后,您可以让 emacs 在启动时运行特定命令:

$ emacs -f function

您还可以使用-l file开关加载其他 elisp 文件。

除非你真的很喜欢 Emacs,否则我建议你使用另一种 Lisp 方言,一种更适合重新分发独立程序的方言。

于 2009-07-22T17:41:55.260 回答
0

对于 exacs lisp,您可以使用 -script 选项将任何 ELisp 程序作为脚本运行,因此您可以按照您的描述为任何平台打包。

例如,您可以使用 WINRAR 将 Emacs 和脚本解压缩到您希望安装到的 Windows 机器上,然后设置 WinRar 选项以将您的程序作为脚本运行。这样,您将拥有一个用户单击的 .exe 文件,并且您的 Emacs 程序将被安装并运行。

于 2010-11-27T10:13:56.247 回答