【发布时间】:2015-01-15 07:08:08
【问题描述】:
我正在 Emacs Lisp 中创建一个函数,如果没有活动区域,它将大声读取整个缓冲区。否则,它会读取活动区域。
(defun speak-my-text () "Speaks text in buffer."
(interactive)
(if (equal mark-active t)
(
(kill-ring-save (point-min) (point-max))
(start-process-shell-command "speakbuffvar" nil
"bash -c \"killall espeak;xsel --clipboard|espeak -s 290\"")
)
(
(kill-ring-save (region-beginning) (region-end))
(start-process-shell-command "speakbuffvar" nil
"bash -c \"killall espeak;xsel --clipboard|espeak -s 290\"")
)))
(global-set-key (kbd "C-z") 'speak-my-text)
else 子句的第一行有问题:
(kill-ring-save (region-beginning) (region-end))
当我定义函数、绑定它并运行时,我得到“无效函数”并且它指向那条线。我正在运行 Linux Mint。
【问题讨论】:
-
那些孤独的开放式括号是关于什么的?我认为他们之后应该有progn