как программно вызывать функции Mx в Edwin для MIT-Scheme?

Я использую редактор Edwin со схемой MIT, и, поскольку размер шрифта по умолчанию очень мал, я использую M-x set-font а затем выберите

-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1

сделать шрифт больше. Это нормально работает, но когда я пытаюсь поставить

(set-font "-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1")

в моем ~/.edwin, он жалуется на Unbound variable: set-font.

В emacs интерактивные функции из M-xобычно может быть напрямую вызван программно в Elisp, но, по-видимому, здесь не так. Я попытался прочитать больше о том, как настроить Эдвина, просмотрев руководство с помощью ʻinfo mit-scheme-user ', но в главе об Эдвине конкретно говорится

В этом руководстве не обсуждается настройка Эдвина.

Как мне позвонить set-font программно?

1 ответ

Очевидно, что команды Edwin не являются процедурами и не могут быть вызваны непосредственно в коде схемы. Однако простое исправление позволяет это сделать, просто оберните егоref-command макрос:

`((ref-command set-font) "-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1")`

Источник: цепочка рассылки 1997 года с тем же вопросом.

Команды Edwin не являются процедурами (в отличие от GNU Emacs). Команда Эдвина - это особый объект с необычным названием. Если вы хотите вызвать команду из программы, вы должны использовать макрос REF-COMMAND. Например, чтобы запустить буфер оболочки, как если бы вы набрали "Mx shell":((ref-command shell) #t)

Другие вопросы по тегам