Мне нужно получить доступ к выбору в буфере Emacs. Я нашел эту статью Как получить доступ к содержимому текущего региона в Emacs Lisp? и это очень помогает мне.
Но есть проблема. В первый раз, когда я выбираю (выделяю) регион, он работает нормально, но когда я нажимаю Cg и обычно курсор перемещаюсь в другое место, не выделяя никаких символов, я получаю строку от последней метки до текущей точки, пока ожидаю, что пустая.
На самом деле мне нужно реализовать функцию, которая вернет текущий выбор (выделенный) в виде строки или пустую строку, если ничего не подсвечено. Следующий код может выразить яснее.
(defun get-search-term ()
(interactive)
(let (
(selection (buffer-substring-no-properties (region-beginning) (region-end))))
(if (= (length selection) 0)
(message "empty string")
(message selection))))
Любые предложения? Большое спасибо!