diff options
Diffstat (limited to 'lisp/cedet/srecode/compile.el')
-rw-r--r-- | lisp/cedet/srecode/compile.el | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/cedet/srecode/compile.el b/lisp/cedet/srecode/compile.el index 7146b643836..15107ef1e43 100644 --- a/lisp/cedet/srecode/compile.el +++ b/lisp/cedet/srecode/compile.el @@ -1,4 +1,4 @@ -;;; srecode/compile --- Compilation of srecode template files. +;;; srecode/compile --- Compilation of srecode template files. -*- lexical-binding: t; -*- ;; Copyright (C) 2005, 2007-2021 Free Software Foundation, Inc. @@ -110,7 +110,12 @@ stack is broken." :type (or null string) :documentation "If there is a colon in the inserter's name, it represents -additional static argument data.")) +additional static argument data.") + (key :initform nil :allocation :class + :documentation + "The character code used to identify inserters of this style. +All children of this class should specify `key' slot with appropriate +:initform value.")) "This represents an item to be inserted via a template macro. Plain text strings are not handled via this baseclass." :abstract t) @@ -499,7 +504,7 @@ PROPS are additional properties that might need to be passed to the inserter constructor." ;;(message "Compile: %s %S" name props) (if (not key) - (apply 'srecode-template-inserter-variable name props) + (apply #'make-instance 'srecode-template-inserter-variable name props) (let ((classes (eieio-class-children 'srecode-template-inserter)) (new nil)) ;; Loop over the various subclasses and @@ -510,7 +515,7 @@ to the inserter constructor." (when (and (not (class-abstract-p (car classes))) (equal (oref-default (car classes) key) key)) ;; Create the new class, and apply state. - (setq new (apply (car classes) name props)) + (setq new (apply #'make-instance (car classes) name props)) (srecode-inserter-apply-state new STATE) ) (setq classes (cdr classes))) |