diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index 2d89b0f46ec..76b8798ca25 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -302,18 +302,19 @@ TYPE should be nil to find a function, or `defvar' to find a variable." (indirect-function (find-function-advised-original fun-or-var))))) (with-current-buffer (find-file-noselect file) - (goto-char (point-min)) - (unless (re-search-forward - (if type - (concat "DEFVAR[A-Z_]*[ \t\n]*([ \t\n]*\"" - (regexp-quote (symbol-name fun-or-var)) - "\"") - (concat "DEFUN[ \t\n]*([ \t\n]*\"" - (regexp-quote (subr-name (advice--cd*r fun-or-var))) - "\"")) - nil t) - (error "Can't find source for %s" fun-or-var)) - (cons (current-buffer) (match-beginning 0)))) + (without-restriction + (goto-char (point-min)) + (unless (re-search-forward + (if type + (concat "DEFVAR[A-Z_]*[ \t\n]*([ \t\n]*\"" + (regexp-quote (symbol-name fun-or-var)) + "\"") + (concat "DEFUN[ \t\n]*([ \t\n]*\"" + (regexp-quote (subr-name (advice--cd*r fun-or-var))) + "\"")) + nil t) + (error "Can't find source for %s" fun-or-var)) + (cons (current-buffer) (match-beginning 0))))) ;;;###autoload (defun find-library (library)