(add-hook 'org-mode-hook
(lambda ()
(setq-local ac-sources
(delq '(ac-source-dictionary ac-source-words-in-same-mode-buffers) ac-sources))))
我发现这里delq
只能从列表中删除元素,它不能从另一个列表中删除列表。既不delete
。
所以如何归档我的效果。
答案 0 :(得分:1)
在循环中使用delq
:
(mapcar (lambda (x) (setq ac-sources (delq x ac-sources)))
'(ac-source-dictionary ac-source-words-in-same-mode-buffers))
答案 1 :(得分:1)
您正在寻找的功能称为cl-set-difference
:
(add-hook 'org-mode-hook
(lambda ()
(setq-local ac-sources
(cl-set-difference
ac-sources
'(ac-source-dictionary ac-source-words-in-same-mode-buffers)))))
另见How to calculate difference between two sets in emacs lisp,the sets should be lists。