mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
lisp/emacs-lisp/edebug.el: Fix bug#13163.
(edebug--require-cl-read): New function. (edebug-setup-hook, cl-read-load-hooks): Use it. (edebug-unload-function): New function.
This commit is contained in:
parent
6ce2146306
commit
5f3a3bb1f5
2 changed files with 29 additions and 4 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2012-12-13 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* emacs-lisp/edebug.el (edebug--require-cl-read): New function.
|
||||
(edebug-setup-hook, cl-read-load-hooks): Use it.
|
||||
(edebug-unload-function): New function. (Bug#13163)
|
||||
|
||||
2012-12-13 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* net/tramp-adb.el (tramp-adb-file-name-p): Make it a defsubst.
|
||||
|
|
|
|||
|
|
@ -4258,12 +4258,13 @@ With prefix argument, make it a temporary breakpoint."
|
|||
;;; Autoloading of Edebug accessories
|
||||
|
||||
;; edebug-cl-read and cl-read are available from liberte@cs.uiuc.edu
|
||||
(defun edebug--require-cl-read ()
|
||||
(require 'edebug-cl-read))
|
||||
|
||||
(if (featurep 'cl-read)
|
||||
(add-hook 'edebug-setup-hook
|
||||
(function (lambda () (require 'edebug-cl-read))))
|
||||
(add-hook 'edebug-setup-hook #'edebug--require-cl-read)
|
||||
;; The following causes edebug-cl-read to be loaded when you load cl-read.el.
|
||||
(add-hook 'cl-read-load-hooks
|
||||
(function (lambda () (require 'edebug-cl-read)))))
|
||||
(add-hook 'cl-read-load-hooks #'edebug--require-cl-read))
|
||||
|
||||
|
||||
;;; Finalize Loading
|
||||
|
|
@ -4289,6 +4290,24 @@ With prefix argument, make it a temporary breakpoint."
|
|||
;; Install edebug read and eval functions.
|
||||
(edebug-install-read-eval-functions)
|
||||
|
||||
(defun edebug-unload-function ()
|
||||
"Unload the Edebug source level debugger."
|
||||
(when edebug-active
|
||||
(unwind-protect
|
||||
(abort-recursive-edit)
|
||||
(setq edebug-active nil)
|
||||
(edebug-unload-function)))
|
||||
(save-current-buffer
|
||||
(dolist (buffer (buffer-list))
|
||||
(set-buffer buffer)
|
||||
(when (eq major-mode 'edebug-mode) (emacs-lisp-mode))))
|
||||
(remove-hook 'called-interactively-p-functions
|
||||
'edebug--called-interactively-skip)
|
||||
(remove-hook 'cl-read-load-hooks 'edebug--require-cl-read)
|
||||
(edebug-uninstall-read-eval-functions)
|
||||
;; continue standard unloading
|
||||
nil)
|
||||
|
||||
(provide 'edebug)
|
||||
|
||||
;;; edebug.el ends here
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue