3

Hello I'm currently running emacs 24.3.1 on Ubuntu 14.04. I recently discovered that I cannot call special-form-p as apparently its definition is void.

Do I need to change emacs versions or is this function defined in some library?

S.Adams
  • 33
  • 4

1 Answers1

2

Should be defined in at least Emacs 24.5 and later:

(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)))
  (and (subrp object) (eq (cdr (subr-arity object)) 'unevalled)))
abo-abo
  • 13,943
  • 1
  • 29
  • 43
  • +1 for specifying the release where it was introduced. (But what is the `.2` here? - Emacs releases don't include a second dot release number, AFAIK.) – Drew Nov 11 '15 at 15:08
  • They do. 24.5.1 was pre-release candidate, it was never out. So 24.5.2 and 24.5 is the same. – abo-abo Nov 11 '15 at 15:10
  • 1
    @abo-abo: Huh? There's only 24.5. More specifically, 24.5.1 means "first build of version 24.5" and 24.5.2 means "second build of 24.5" and refers to *your* builds. If you `rm src/emacs-[0-9]*; make` then you should get 24.5.1 again. – Stefan Nov 11 '15 at 15:33
  • @Stefan You're right. I thought I installed 24.5.2 from a repository somewhere. Probably it was just my second build :) – abo-abo Nov 13 '15 at 11:24