Commit 1267bb55 authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files

Updated the manual to address launchpad bug 610717.

Previously the manual directed users to override the source-file-type
method on cl-source-file.  I doubt that this was /ever/ a good idea, but it
certainly won't work any more, because the signature of the
source-file-type generic function has changed.  Killed the old discussion,
flagged it as having changed, and then added a FAQ entry.
parent 023ed0b9
Loading
Loading
Loading
Loading
+33 −10
Original line number Diff line number Diff line
@@ -1451,15 +1451,6 @@ does additional processing to set the filesystem location of
the top component in that system.
This is detailed elsewhere. @xref{Defining systems with defsystem}.

The answer to the frequently asked question
``how do I create a system definition
where all the source files have a @file{.cl} extension''
is thus

@lisp
(defmethod source-file-type ((c cl-source-file) (s (eql (find-system 'my-sys))))
  "cl")
@end lisp

@subsubsection properties

@@ -2566,7 +2557,7 @@ mailing list

ASDF bugs are tracked on launchpad: @url{https://launchpad.net/asdf}.

If you're unsure about whether something is a bug, of for general discussion,
If you're unsure about whether something is a bug, or for general discussion,
use the @url{http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel,asdf-devel mailing list}


@@ -2825,6 +2816,14 @@ where the namestring might have previously sufficed;
moreover when evaluation is desired @code{#.} must be used,
where it wasn't necessary in the toplevel @code{:pathname} argument.

@item
The old approach for creating a system definition where all the source
files have a @file{.cl} extension, which relied on redefining a
@code{source-file-type} on @code{cl-source-file} doesn't work any
longer, because the signature for @code{source-file-type} has changed.
@xref{FAQ}.
@findex source-file-type

@end itemize

Other issues include the following:
@@ -3118,6 +3117,30 @@ either as the name component of a pathname
or as a name component plus optional dot-separated type component
(if the component class doesn't specifies a pathname type).

@subsection How do I create a system definition where all the source files have a @file{.cl} extension?

First, create a new @code{cl-source-file} subclass that provides an
initform for the @code{type} slot:

@lisp
(defclass my-cl-source-file (cl-source-file)
   ((type :initform "cl")))
@end lisp

Then make your system use this subclass in preference to the standard
one:

@lisp
(defsystem my-cl-system
  :default-component-class my-cl-source-file
   ....
)
@end lisp

We assume that these definitions are loaded into a package that uses
@code{ASDF}.



@node  TODO list, Inspiration, FAQ, Top
@comment  node-name,  next,  previous,  up