1

ラムダ内のオプションの引数で defun を呼び出したい:

(global-set-key (kbd "M-S-v") 
                (lambda ()
                  (interactive) (bk-cleans-text nil 2)))

関数はスタンドアロンとして機能します。

(bk-cleans-text nil 2)

しかし、ラムダ内で呼び出されると、次のように不平を言います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))
4

1 に答える 1

2

問題は、選択したキーの組み合わせにあります。私は別のものを使用しました、そしてそれは働きました。

于 2012-08-15T15:02:32.037 に答える