如何解决当列表项包含空格时如何填充emacs完成集合
Emacs的新功能: 我正在尝试从sql查询填充完成集合: 一切按计划进行,除了完成列表以单个单词结尾,而不是完整列表项以带空格的字符串结尾。
(defun test_sql_interactive2()
(interactive)
(setq look (emacsql db2 [:select [Accounts:acc_name]:from Accounts]))
(setq var (completing-read
"Complete an Account Name: "
look
nil t ))
(insert var))
变量外观是sql查询的结果,该查询返回:
((Collective Retirement Account) (Stocks and Shares) (Current Account) (Savings Account))
但是emacs completing-read
函数将其视为8个单词,用作从而不是4个字符串完成的集合,因此,仅提供{{1 }}。
我如何让补全返回带有空格的整个字符串?
解决方法
将传递给look
的alist的内容(值为completing-read
)更改为字符串:
(("Collective Retirement Account")
("Stocks and Shares")
("Current Account")
("Savings Account"))
这样做:
(let ((look '((Collective Retirement Account)
(Stocks and Shares)
(Current Account)
(Savings Account))))
(mapcar (lambda (xx) (list (substring (format "%s" xx) 1 -1)))
look))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。