#

## Issue COMPILE-FILE-PATHNAME-ARGUMENTS Writeup

    Issue:              COMPILE-FILE-PATHNAME-ARGUMENTS
    References:         COMPILE-FILE, COMPILE-FILE-PATHNAME
    Related issues:     COMPILER-VERBOSITY
                        PATHNAME-LOGICAL
    Category:           CLARIFICATION, CHANGE
    Edit history:       v1, 13 Feb 1991, Sandra Loosemore
                        v2, 11 Mar 1991, Sandra Loosemore (suggestion from kmp)

    Problem description:

      If an implementation extends COMPILE-FILE to recognize additional
      implementation-specific keyword arguments, COMPILE-FILE-PATHNAME
      must also support those additional arguments.  However, there is a
      discrepancy between the standard keyword arguments accepted by
      the two functions, as they are currently documented.  (COMPILE-FILE
      has been extended to accept :VERBOSE and :PRINT keyword arguments.)

    Proposal (COMPILE-FILE-PATHNAME-ARGUMENTS:MAKE-CONSISTENT):

      Change the specification of the arguments to COMPILE-FILE-PATHNAME to

      COMPILE-FILE-PATHNAME pathname &key :output-file &allow-other-keys

    Rationale:

      The intent was clearly to enable COMPILE-FILE-PATHNAME to be applied
      to any argument list acceptable to COMPILE-FILE.  Documenting
      COMPILE-FILE-PATHNAME with &ALLOW-OTHER-KEYS fixes the problem without
      worrying about future extensions and changes to COMPILE-FILE getting
      things out of sync again.

    Current Practice:

      Few implementations support COMPILE-FILE-PATHNAME or the extensions
      to COMPILE-FILE yet.

    Cost to Implementors:

      Trivial.

    Cost to Users:

      None.

    Cost of non-adoption:

      COMPILE-FILE-PATHNAME can't be used reliably for what it was intended
      to be used for.

    Performance impact:

      Minor.

    Benefits:

      A pointless inconsistency in the language is removed.

    Esthetics:

      Looks OK to me.

    Discussion:

Copyright 1996-2005, LispWorks Ltd. All rights reserved.