diff options
Diffstat (limited to 'lisp/subr.el')
| -rw-r--r-- | lisp/subr.el | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lisp/subr.el b/lisp/subr.el index 5182dfdadd1..7e3c181e878 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1,7 +1,7 @@ ;;; subr.el --- basic lisp subroutines for Emacs -*- coding: utf-8 -*- -;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2012 -;; Free Software Foundation, Inc. +;; Copyright (C) 1985-1986, 1992, 1994-1995, 1999-2013 Free Software +;; Foundation, Inc. ;; Maintainer: FSF ;; Keywords: internal @@ -1867,7 +1867,7 @@ This function makes or adds to an entry on `after-load-alist'." ,form))) ;; Add FORM to the element unless it's already there. (unless (member form (cdr elt)) - (nconc elt (purecopy (list form))))))) + (nconc elt (list form)))))) (defvar after-load-functions nil "Special hook run after loading a file. @@ -2805,7 +2805,7 @@ Otherwise, return nil." (defun special-form-p (object) "Non-nil if and only if OBJECT is a special form." (if (and (symbolp object) (fboundp object)) - (setq object (indirect-function object))) + (setq object (indirect-function object t))) (and (subrp object) (eq (cdr (subr-arity object)) 'unevalled))) (defun field-at-pos (pos) @@ -3977,8 +3977,8 @@ the number of frames to skip (minus 1).") `(progn (defvar ,sym (let ((i 1)) - (while (not (eq (nth 1 (backtrace-frame i)) - 'called-interactively-p)) + (while (not (eq (indirect-function (nth 1 (backtrace-frame i)) t) + (indirect-function 'called-interactively-p))) (setq i (1+ i))) i)) ;; (unless (eq (nth 1 (backtrace-frame ,sym)) 'called-interactively-p) |
