Вычисление
Находясь в Edebug, вы можете вычислять выражения так, как если бы Edebug не был запущен. Edebug старается оставаться незаметным при вычислении и печати выражения. Вычисление выражений, вызывающих побочные эффекты, работает как ожидается, за исключением изменений данных, которые Edebug явно сохраняет и восстанавливает. Подробности этого процесса см. в разделе Внешний контекст.
- e exp RET
-
Вычислить выражение exp во внешнем по отношению к Edebug контексте (
edebug-eval-expression). Иными словами, Edebug старается свести к минимуму свое вмешательство в процесс вычисления. Результат отображается в области эха; если же этой команде передан префикс, открывается новый буфер, в котором результат выводится в отформатированном виде.По умолчанию эта команда отключает отладчик на время вычисления, чтобы ошибка в вычисляемом выражении не добавляла новую ошибку поверх уже существующей. Чтобы изменить это поведение, задайте пользовательскому параметру
debug-allow-recursive-debug(см. Вызов отладчика при возникновении ошибки) значение, отличное отnil. - M-: exp RET
-
Вычислить выражение exp в контексте самого Edebug (
eval-expression). - C-x C-e
Вычислить выражение перед точкой во внешнем по отношению к Edebug контексте (
edebug-eval-last-sexp) и показать значение в минибуфере. Если передать нулевой префиксный аргумент (C-u 0 C-x C-e), при отображении значения длинные элементы (например, строки и списки) не сокращаются из-заedebug-print-lengthиedebug-print-level(см. Печать в Edebug). Любой другой префикс приведет к тому, что значение будет выведено в отформатированном виде в отдельном буфере, а не в минибуфере.
Дополнительные возможности Edebug для интерактивного вычисления списков выражений описаны в разделе Буфер списка вычислений.
Edebug поддерживает вычисление выражений, содержащих ссылки на лексически связанные символы, созданные следующими конструкциями из cl-lib.el: cl-macrolet и cl-symbol-macrolet.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug-Eval.html