Dear all,
is anyone of you using any of these functions from ASDF, ASDF-UTILS or XCVB-DRIVER ? I've removed them and here are the alternatives I am using. Since previous code didn't have any numbered release API, I will only provide compatibility trampolines if there is a declared user base.
These symbols are gone since ASDF 2.26 and corresponding ASDF-UTILS, and here are the alternatives: orf => latest-stamp-f (compares timestamp, not just booleans) aif, it => if-let (compatible with alexandria) remove-keys => remove-plist-keys (compare with EQL, not STRING=) remove-keyword => remove-plist-key (more consistent and descriptive name) split-pathnames* => split-native-pathnames-string (naming makes clear it's native-namestrings, not namestrings) ensure-pathname-absolute => ensure-absolute-pathname (API much enhanced with different error behavior) resolve-relative-location-component => resolve-relative-location resolve-absolute-location-component => resolve-absolute-location
Backward-compatible wrappers are already provided for the below deprecated functions with known users: coerce-pathname => parse-unix-namestring component-name-to-pathname-components => split-unix-namestring-directory-components compile-file-keeping-object => compile-file*
From XCVB-DRIVER and ASDF-CONDITION-CONTROL, these have been renamed
as they moved to ASDF/DRIVER: run-program/ => run-program with-controlled-compiler-conditions => with-muffled-compiler-conditions with-controlled-loader-conditions => with-muffled-loader-conditions with-xcvb-compilation-unit => with-saved-deferred-warnings eval-string => eval-input bork => handle-fatal-condition *debugging* => *lisp-interaction*
For ASDF itself, these interfaces have been removed, and here are their replacements. :if-component-dep-fails => :if-feature :do-first => :in-order-to (:do-first wouldn't actually work in ASDF 1; :in-order-to does the right thing in ASDF 3 for both previous :in-order-to and previous :do-first). make-sub-operation => find-operation asdf-binary-locations configuration => enable-asdf-binary-locations-compatibility (ABL worked with ASDF 1; this compatibility layer exists since ASDF 2 and still supported, actually enhanced, with ASDF 3)
These ASDF internals have compatibility wrappers, but are deprecated: run-shell-command => asdf/driver:run-program (used by many clients) load-sysdef => load-asd (used by slime) make-temporary-package => (find-package :asdf-user) (used by slime) operation-error => define your own error class compile-error => compile-file-error compile-failed => compile-failed-error, compile-failed-warning compile-warned => compile-warned-error, compile-warned-warning operation-on-warnings => *compile-file-warnings-behaviour* operation-on-failure => *compile-file-failure-behaviour* system-definition-pathname => system-source-directory, system-relative-pathname (since ASDF 2) component-property => no replacement yet, working on it. make-instance 'some-op => either just 'some-op or (make-operation 'some-op) (make-instance operation still works for now but is deprecated)
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Skill without imagination is craftsmanship. Imagination without skill is contemporary art. — Tom Stoppard