我正在涉猎Emacs Lisp语言,并尝试编写以下函数:
(defun buffer-file-name-body ()
(last (split-string (buffer-file-name) "/")))
我想要做的是从
(buffer-file-name)
提供的完整路径中仅提取文件名和扩展名。然而,此实现返回一个项目列表("scratch.el")
... 我尝试了几种方法,如将(last)
的结果通过(string)
传递,但会引发错误... 当我搜索Emacs List convert list to string时,谷歌没有返回任何有用的结果。我该怎么做?
file-name-nondirectory
。(另外,如果让我给个小提示,你的函数会在没有访问文件的缓冲区(例如 scratch)上出错。) - Thomas