Spec-Zone.ru › Elisp

Обновление отображения Edebug

Когда Edebug нужно отобразить что-то (например, в режиме трассировки), он сохраняет текущую конфигурацию окна извне Edebug (см. Конфигурации окон). При выходе из Edebug он восстанавливает предыдущую конфигурацию окна.

Emacs перерисовывает только при паузе. Обычно, когда вы продолжаете выполнение, программа снова входит в Edebug на точке останова или после шага, без паузы или чтения ввода между ними. В таких случаях Emacs никогда не получает возможности перерисовать внешнюю конфигурацию. Соответственно, то, что вы видите, — это та же конфигурация окна, что и в последний раз, когда Edebug был активен, без прерывания.

Вход в Edebug для отображения чего-либо также сохраняет и восстанавливает следующие данные (хотя некоторые из них намеренно не восстанавливаются, если произошла ошибка или сигнал выхода).

  • Сохраняются и восстанавливаются текущий буфер, позиции точки и метки в текущем буфере.
  • Конфигурация внешнего окна сохраняется и восстанавливается, если edebug-save-windows не равно nil (см. Параметры Edebug).

    Конфигурация окна не восстанавливается при ошибке или выходе, но внешнее выбранное окно восстанавливается даже при ошибке или выходе в случае, если активен save-excursion. Если значение edebug-save-windows является списком, сохраняются и восстанавливаются только указанные окна.

    Однако начальная позиция и горизонтальная прокрутка буфера исходного кода не восстанавливаются, чтобы отображение оставалось согласованным внутри Edebug.

  • Значение точки в каждом отображаемом буфере сохраняется и восстанавливается, если edebug-save-displayed-buffer-points не равно nil.
  • Переменные overlay-arrow-position и overlay-arrow-string сохраняются и восстанавливаются, чтобы вы могли безопасно вызывать Edebug из рекурсивного редактирования в другом месте того же буфера.
  • cursor-in-echo-area локально привязывается к nil, чтобы курсор отображался в окне.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Display-Update.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API