如何找到调用函数的目录?
例如,如果我调用该行
(defconst dir default-directory)
dir的值是包含上述行的罚款的目录,而不是我从中调用它的目录。
提前致谢
答案 0 :(得分:0)
Emacs中的默认行为是使用与directory关联的file being "visited" in the current buffer。 所以,
(file-name-directory (buffer-file-name))
应该为您提供当前缓冲区文件的目录名称(即您当前正在使用的缓冲区,调用自定义Lisp函数)。
如果您不确定,是否在缓冲区的上下文中调用了自定义函数,缓冲区已经有与之关联的文件名,则应测试:
(let ((file (buffer-file-name)))
(if (not file)
(progn ... no file name here ...)
... ok, file name available ...))