Итак, я пытаюсь сделать общую функцию веб-поиска в Elisp:
(defun look-up-base (url-formatter)
(let (search url)
(setq search(thing-at-point 'symbol))
(setq url (url-formatter search))
(browse-url url))
)
Эта функция просто захватит слово под курсором, отформатирует слово для веб-поиска, используя url-formatter, а затем откроет строку поиска в веб-браузере, чтобы выполнить поиск.
Далее я пытаюсь реализовать функцию, которая будет гуглить слово под курсором, используя предыдущую функцию в качестве основы.
(defun google ()
(interactive)
(look-up-base (lambda (search) (concat "http://www.google.com/search?q=" search))))
Emacs не будет жаловаться, если я попытаюсь оценить его, но когда я пытаюсь его использовать, Emacs выдает мне это сообщение об ошибке:
setq: Symbol's function definition is void: url-formatter
И я понятия не имею, почему это происходит. Я не вижу ничего плохого в функции, что я делаю не так?