Commit 191f00cb authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Have force-not take precedence over force.

Not only is it the Right Thing (see lp#1184002), it makes code simpler.
Actually, the two are one and the same.
    https://bugs.launchpad.net/asdf/+bug/1184002
parent 97a07830
......@@ -1728,8 +1728,9 @@ is forced not to be recompiled even if modified since last compilation,
but other systems are not affected.
If @var{force-not} is a list, then it specifies a list of systems that
are forced not to be recompiled even if modified since last compilation.
@var{force} takes precedences over @var{force-not};
both of them apply to systems that are dependencies and were already compiled.
@var{force-not} takes precedences over @var{force},
as it should, really, but unhappily only since 3.1.1.
Both apply to systems that are dependencies and were already compiled.
To see what @code{operate} would do, you can use:
@example
......
......@@ -122,11 +122,9 @@ the action of OPERATION on COMPONENT in the PLAN"))
(not (eq system (plan-system plan))))))))
(defmethod action-forced-not-p (plan operation component)
(and
;; Did the user ask us to not re-perform the action?
(action-override-p plan operation component 'plan-forced-not)
;; Force takes precedence over force-not
(not (action-forced-p plan operation component))))
;; Did the user ask us to not re-perform the action?
;; NB: force-not takes precedence over force, as it should
(action-override-p plan operation component 'plan-forced-not))
(defmethod action-forced-p ((plan null) (operation operation) (component component))
nil)
......
......@@ -10,6 +10,11 @@
(assert file1)
(assert file1-date)
;; Check that force has some effect, but force-not takes precedence.
(assert (traverse 'load-op 'test-force :force t))
(assert (null (traverse 'load-op 'test-force :force-not t)))
(assert (null (traverse 'load-op 'test-force :force t :force-not t)))
;; unforced, date should stay same
(touch-file "test-force.asd" :timestamp date1)
(touch-file "file1.lisp" :timestamp date1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment