How to get the start/end of the current buffer info with emacs/elisp?

У меня есть следующий код, который запускает figlet, который имеет вход как ассортимент. Как я могу изменить этот код, чтобы проверить, не указано ли b или e, сделать b началом текущего буфера и концом текущего буфера e?

(defun figlet-region (&optional b e) 
  (interactive "r")
  (shell-command-on-region b e "/opt/local/bin/figlet" (current-buffer) t)
  (comment-region (mark) (point)))
(global-set-key (kbd "C-c C-x") 'figlet-region)

ДОБАВЛЕНО

Шон помог мне получить ответ на этот вопрос вопрос

(defun figlet-region (&optional b e) 
  (interactive)
  (let ((b (if mark-active (min (point) (mark)) (point-min)))
        (e (if mark-active (max (point) (mark)) (point-max))))
   (shell-command-on-region b e "/opt/local/bin/figlet" (current-buffer) t)
  (comment-region (mark) (point))))
(global-set-key (kbd "C-c C-x") 'figlet-region)
6
задан prosseek 25 August 2010 в 20:33
поделиться