diff options
Diffstat (limited to 'lisp/emacs-lisp/edebug.el')
-rw-r--r-- | lisp/emacs-lisp/edebug.el | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 8a924d045f7..9a7b9efc333 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -477,7 +477,8 @@ also dependent on the values of `edebug-all-defs' and If the current defun is actually a call to `defvar', then reset the variable using its initial value expression even if the variable already has some other value. (Normally `defvar' does not change the -variable's value if it already has a value.) +variable's value if it already has a value.) Treat `defcustom' +similarly. Reinitialize the face according to `defface' specification. With a prefix argument, instrument the code for Edebug. @@ -507,7 +508,12 @@ the minibuffer." ((and (eq (car form) 'defcustom) (default-boundp (nth 1 form))) ;; Force variable to be bound. - (set-default (nth 1 form) (eval (nth 2 form))))) + (set-default (nth 1 form) (eval (nth 2 form)))) + ((eq (car form) 'defface) + ;; Reset the face. + (put (nth 1 form) 'face-defface-spec nil) + (setq face-new-frame-defaults + (assq-delete-all (nth 1 form) face-new-frame-defaults)))) (setq edebug-result (eval form)) (if (not edebugging) (princ edebug-result) @@ -3692,8 +3698,7 @@ Return the result of the last expression." (setq edebug-previous-result (concat "Result: " (edebug-safe-prin1-to-string edebug-previous-value) - (let ((name (prin1-char edebug-previous-value))) - (if name (concat " = " name)))))) + (eval-expression-print-format edebug-previous-value)))) (defun edebug-previous-result () "Print the previous result." @@ -3712,7 +3717,8 @@ Print result in minibuffer." (princ (edebug-outside-excursion (setq values (cons (edebug-eval edebug-expr) values)) - (edebug-safe-prin1-to-string (car values))))) + (concat (edebug-safe-prin1-to-string (car values)) + (eval-expression-print-format (car values)))))) (defun edebug-eval-last-sexp () "Evaluate sexp before point in the outside environment; value in minibuffer." |