Stephen Compall avatar Stephen Compall committed 145f63d

Simplify initialize-instance (composite)

Comments (0)

Files changed (1)

src/widgets/composite.lisp

   on the composite, it invokes 'render-widget' on each widget in the
   list."))
 
-(defmethod initialize-instance :around ((obj composite) &rest initargs)
+(defmethod initialize-instance :around
+    ((obj composite) &rest initargs &key widgets children &allow-other-keys)
   ;; FIXME: remove :widgets from initargs and pass as :children
-  (let ((deprecated-children-arg (getf initargs :widgets))
-        (children-arg (getf initargs :children)))
-    (if deprecated-children-arg
+  (if widgets
       (progn
-        (warn "The :WIDGETS initarg to composites is deprecated, use :CHILDREN instead. This time I will do it for you.")
+        (warn "The :WIDGETS initarg to composites is deprecated; ~
+               use :CHILDREN instead. This time I will do it for you.")
         (remf initargs :widgets)
-        (remf initargs :children)
-        (apply #'call-next-method obj (append initargs `(:children ,(append children-arg deprecated-children-arg)))))
-      (call-next-method))))
+        (apply #'call-next-method obj :children (append children widgets) initargs))
+      (call-next-method)))
 
 ;;; backwards compatibility
 (defmethod composite-widgets ((comp composite))
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.