Skip to content
Snippets Groups Projects
Commit a4f598b6 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Don't error out when PERFORM'ing a nonsensically propagated legacy operation.

(If it's not backward, it's not compatible.)
parent 30c73852
No related branches found
No related tags found
No related merge requests found
......@@ -377,9 +377,12 @@ in some previous image, or T if it needs to be done.")
(defmethod perform ((o operation) (c parent-component))
nil)
(defmethod perform ((o operation) (c source-file))
(sysdef-error
(compatfmt "~@<Required method PERFORM not implemented for operation ~A, component ~A~@:>")
(class-of o) (class-of c)))
;; For backward compatibility, don't error on operations that don't specify propagation.
(when (typep o '(or downward-operation upward-operation sideway-operation
selfward-operation non-propagating-operation))
(sysdef-error
(compatfmt "~@<Required method ~S not implemented for ~/asdf-action:format-action/~@:>")
'perform (cons o c))))
(defmethod perform-with-restarts (operation component)
;; TOO verbose, especially as the default. Add your own :before method
......
......@@ -71,3 +71,5 @@
(trivial-operation "test-asdf/test-module-depend" "quux" "file3mod" "file3")
(trivial-operation "test-asdf/test-module-depend" "quux" "file3mod")
(trivial-operation "test-asdf/test-module-depend" "quux")))
(operate 'trivial-operation 'test-asdf/test-module-depend)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment