Commit cebf1b97 authored by Gerd Moellmann's avatar Gerd Moellmann
Browse files

(elp-instrument-function): Handle advised

parent e6dd1a49
2001-05-17 Gerd Moellmann <>
* emacs-lisp/elp.el (elp-instrument-function): Handle advised
2001-05-17 Stefan Monnier <>
* jit-lock.el (jit-lock-after-change): Check the font-lock-multiline
;;; elp.el --- Emacs Lisp Profiler
;; Copyright (C) 1994,1995,1997,1998 Free Software Foundation, Inc.
;; Copyright (C) 1994,1995,1997,1998, 2001 Free Software Foundation, Inc.
;; Author: 1994-1998 Barry A. Warsaw
;; Maintainer: FSF
......@@ -266,15 +266,22 @@ FUNSYM must be a symbol of a defined function."
;; put the info vector on the property list
(put funsym elp-timer-info-property infovec)
;; set the symbol's new profiling function definition to run
;; elp-wrapper
(fset funsym newguts)
;; Set the symbol's new profiling function definition to run
;; elp-wrapper.
(let ((advice-info (get funsym 'ad-advice-info)))
(if advice-info
;; If function is advised, don't let Advice change
;; its definition from under us during the `fset'.
(put funsym 'ad-advice-info nil)
(fset funsym newguts)
(put funsym 'ad-advice-info advice-info))
(fset funsym newguts)))
;; add this function to the instrumentation list
(or (memq funsym elp-all-instrumented-list)
(setq elp-all-instrumented-list
(cons funsym elp-all-instrumented-list)))
(cons funsym elp-all-instrumented-list)))))
(defun elp-restore-function (funsym)
"Restore an instrumented function to its original definition.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment