我想在lambda中使用可选的args调用defun:
(global-set-key (kbd "M-S-v")
(lambda ()
(interactive) (bk-cleans-text nil 2)))
该功能独立运作:
(bk-cleans-text nil 2)
但是当在lambda内部调用时,它会在cond
上抱怨:
(defun bk-cleans-text (&optional killIt ParsSepBy)
(interactive)
(cond
((= 1 ParsSepBy)
(setq Find "\n+")
(setq Replace "\n"))
((= 2 ParsSepBy)
(setq Find "\n\n+")
(setq Replace "\n\n"))
(t
(setq Find "\n+")
(setq Replace "")))
(message "F: %s, R: %s" Find Replace))
答案 0 :(得分:2)
问题在于您选择的组合键。我用了另外一个,它起作用了。