当前位置:  开发笔记 > 编程语言 > 正文

如何引用当前正在Emacs Lisp中加载的文件?

如何解决《如何引用当前正在EmacsLisp中加载的文件?》经验,为你挑选了1个好方法。

我希望包含对非elisp文件(一个小型​​Python程序)的引用,并希望能够说"它与当前文件位于同一目录中,但具有不同的文件名".在许多脚本语言中,有些东西__FILE__(例如PHP)用于获取当前文件的绝对路径.

如果要包含的文件在中load-path,那么我可以找到它(locate-library "file.py" t),但如果文件不在加载路径中,我就会陷入困境.

那么有没有办法让Emacs Lisp文件找到自己的绝对路径(加载时,不被访问)?



1> cjm..:

M-x describe-variable load-file-name

load-file-name is a variable defined in `C source code'.

Documentation:
Full name of file being loaded by `load'.

您可能还对该symbol-file函数感兴趣,该函数将告诉您定义指定函数或变量的绝对文件名.

如果你想获得幻想,你可以检查load-in-progress变量.如果是这样nil,那么没有负载正在进行中(并且你可能是eval在缓冲区中).在这种情况下,您可以尝试(buffer-file-name)获取文件名.


更简单的幻想:`(或load-file-name(buffer-file-name))`
推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有