Skip to content
Snippets Groups Projects
  1. Oct 24, 2005
    • rtoy's avatar
      Fix ansi-test logical-pathname.error.2 which was failing because · 98ab1c48
      rtoy authored
      LOGICAL-PATHNAME-NAMESTRING-P wasn't defined anywhere.
      
      o Add LOGICAL-PATHNAME-NAMESTRING-P and adjust LOGICAL-PATHNAME to use
        it.
      
      o Print out identity when printing logical-hosts.  (This unrelated
        change makes it easier to see that the user's BOGUS logical host
        isn't the same as the BOGUS logical host used in
        *LOGICAL-PATHNAME-DEFAULTS*.
      98ab1c48
  2. Oct 22, 2005
  3. Oct 21, 2005
  4. Oct 20, 2005
    • rtoy's avatar
      Fix some issues with two-arg log function. (log 17 10f0), (log 17f0 · 0f17dd30
      rtoy authored
      10), and (log 17 10) returned different single-float results.  I think
      this is allowed by ANSI CL, but I think it's unfortunate.
      
      Therefore, try to apply float contagion to the arguments before
      computing the log function.  Also, if both args are single-floats or
      rationals, we coerce them to double-floats before computing the
      result.  This makes (log 17 10) = (log 17.0 10).
      
      There are other cases still to be considered.
      0f17dd30
  5. Oct 19, 2005
    • rtoy's avatar
      Port SBCL'S support for detecting when destructive functions (such as · 31ddb605
      rtoy authored
      nreverse) modify constant args and for warning when the result of
      destructive functions is not used.
      
      Detecting modification of constant args is done by adding a new IR1
      transformation that checks that a function is not destructively
      modifying constants or literals.
      
      A new IR1 attribute, important-result, is used to determine if the
      result of a function should be used instead of discarded.  (Note:
      this means some functions are not detected.  This should probably be
      implemented as another transform so the compiler can detect those cases.)
      
      code/error.lisp:
      o Add new condition CONSTANT-MODIFIED.
      
      compiler/fndb.lisp:
      o Note destructive functions that should not modify constant args
      o Note destructive functions whose results should be used.
      
      compiler/ir1opt.lisp:
      o Add new function CHECK-IMPORTANT-RESULT to check if the result is
        used.
      o Update IR1-OPTIMIZE-COMBINATION to check if a function destructively
        modifies constant args or if the result of a destructive function is
        not used.
      
      compiler/knownfun.lisp:
      o Add new IR1 attribute, IMPORTANT-RESULT, to indicate that the result
        of a function should be used.
      o Add new FUNCTION-INFO slot, DESTROYED-CONSTANT-ARGS.  This holds a
        function for computing the constant or literal arguments which are
        destructively modified by the function.
      o Add support functions for DESTROYED-CONSTANT-ARGS functions.
      31ddb605
  6. Oct 18, 2005
  7. Oct 14, 2005
  8. Oct 10, 2005
  9. Oct 07, 2005
  10. Oct 05, 2005
  11. Sep 30, 2005
    • rtoy's avatar
      parse-unix-namestring: · c0715083
      rtoy authored
      o Don't allow a namestring to be parsed as a search-list if a logical
        host with the same host name already exists.  Allowing this causes
        confusing in printing such pathnames because, when read, the logical
        host takes precedence.
      
      unparse-unix-file:
      o Preserve version :NEWEST when printing out logical pathnames.  This
        makes #p"host:foo.bar.newest" readable.
      c0715083
    • rtoy's avatar
      For all intents and purposes, pathnames with :version nil and :version · f629b245
      rtoy authored
      :newest are equivalent in CMUCL.
      
      src/pathname.lisp:
      o Make EQUAL compare pathnames such that version nil and :newest are
        equal.
      
      src/hash-new.lisp:
      o Adjust sxhash to treat :version nil and :newest the same.  (Version
        :newest is hashed as if it were nil.)
      f629b245
  12. Sep 27, 2005
  13. Sep 26, 2005
  14. Sep 25, 2005
    • rtoy's avatar
      extract-name-type-and-version: · c2cdcb87
      rtoy authored
      o Leave some debugging prints in, but commented out.
      o In the last case for EXPLICIT-VERSION, when looking for digits
        surrounded by ~'s, return version NIL if we don't find just digits.
        #p"foo.*" was returning version :newest.  I think we really want
        :version nil.
      
      unparse-unix-enough:
      o If the pathname has no directory, it's relative to the defaults.
        Returning NIL is probably as good as returning '(:RELATIVE), and
        results in a shorter namestring.
      c2cdcb87
    • rtoy's avatar
      The defaults arg for PARSE-NAMESTRING is a pathname designator, not a · 95125ba8
      rtoy authored
      pathname,  Adjust PARSE-NAMESTRING to accept pathname designators.
      95125ba8
  15. Sep 24, 2005
  16. Sep 22, 2005
  17. Sep 21, 2005
    • rtoy's avatar
      code/filesys.lisp: · ad045f27
      rtoy authored
      o Make the #p reader treat ".." as a directory, not a file.
      o Make the #p reader treat "<lots of dots>" be a file with that name
        instead of name with one fewer dot and type "".  So #p"..." has
        :name "...", :type nil instead of :name "..", :type "".
      
      code/pathname.lisp:
      o Issue a warning if someone wants :name to be ".." or ".".  We allow
        it, but doing so will break print/read consistency.  (Should we make
        such pathnames not readably printable?)
      ad045f27
    • rtoy's avatar
      Add support for multi-arch (fat) shared libs for ppc. (From James · 7ea3ba90
      rtoy authored
      Bielman, cmucl-imp, 2005-09-21.)
      7ea3ba90
  18. Sep 19, 2005
    • rtoy's avatar
      o Print out the host name when we're printing out LOGICAL-HOST · 3c14ace4
      rtoy authored
        objects.  (Makes it easier to see what the logical host is when
        describe'ing a pathname.)
      
      o Fix some issues with UNPARSE-ENOUGH-NAMESTRING
        o It should return a string, not the pathname object.  (Noted by
          Peter Graves on cmucl-imp, 2005-09-18.)
        o The directory paths must have something more in common than just
          :ABSOLUTE before we produce a relative directory path.  Fixes the
          issue of always returning relative paths even if the directories
          don't match at all.
      
      o In ENOUGH-NAMESTRING, if the host for the pathname isn't the same as
        the host for the defaults, just return the pathname.  I (rtoy) think
        this is right.  It doesn't make sense to do anything if the hosts
        are different.
      3c14ace4
  19. Sep 16, 2005
  20. Sep 13, 2005
  21. Sep 12, 2005
    • rtoy's avatar
      Fix some issues with printing (make-pathname :directory '(:relative)), · c33b7b7a
      rtoy authored
      which used to print as #p"", and with reading #p".", #p"./".
      
      code/filesys.lisp:
      o When parsing a unix namestring, delete any "." elements of the
        directory list.
      o If we've parsed a namestring such that the file name is ".", replace
        that with :name NIL and adjust the :directory component
        appropriately, because on Unix, "." can't be the name of a file.
      o Make :directory '(:relative) be printed as "./"
      
      code/pathname.lisp:
      o If the :directory argument to MAKE-PATHNAME contains strings with
        #\/, print a warning that this is not a valid element.
      o Remove all "."'s from a :relative directory component.
      c33b7b7a
  22. Sep 09, 2005
  23. Aug 31, 2005
  24. Aug 30, 2005
    • rtoy's avatar
      Fix for bug in alien enum types reported by Nicolas Neuss, cmucl-imp, · 5d5d2c79
      rtoy authored
      2004/11/09.  An example illustrating the bug is:
      
          (use-package "ALIEN")
          (use-package "C-CALL")
      
          (def-alien-type yes_no_t (enum yes_no_t :NO :YES))
          (def-alien-type nil
      	(struct foo
      		(arg1 yes_no_t)
      		(arg2 yes_no_t)))
      
          (def-alien-routine "set_default_options" void
            (options (* (struct foo))))
      
      Modified alien-type-translator for enum so that if the enum type is
      known and it's the same type as before we skip the call to (setf
      auxiliary-alien-type).  This fixes the problem.
      5d5d2c79
  25. Aug 25, 2005
    • rtoy's avatar
      o Fix a bug in %unary-ftruncate/single-float and · 8e58835f
      rtoy authored
        %unary-ftruncate/double-float where the test for infinity and NaN
        was wrong.
      o When given NaN, these functions should return a quiet
        (non-signaling) NaN instead of returning the signaling NaN.  This
        fixes the FRUNCATE/FFLOOR/FCEILING tests in ieeefp-tests.
      8e58835f
    • rtoy's avatar
      ASIN and ACOS were getting errors when given NaN's. Check for that · 430c366a
      rtoy authored
      case and dispatch to the real-valued C functions in that case.  This
      fixes some errors in the asin and acos tests from ieeefp-tests (at
      common-lisp.net).
      430c366a
  26. Aug 22, 2005
  27. Aug 17, 2005
    • rtoy's avatar
      Apply patch from Matthias Koeppe adding annotation support to pretty · 43025687
      rtoy authored
      streams.  (See mail to cmucl-imp on 2005-07-25 through 2005-08-03.)
      This basically allows arbitrary annotations to be added to pretty
      streams so that the annotations are "printed" at the appropriate times
      when the pretty stream is printed.
      
      This allows better presentation-like features in Slime and McCLIM, and
      is modeled on Allegro's schedule-annotation.
      
      No bootstrap file, but when load-world is run, answer 0 (use-current)
      to keep these changes to the pretty-stream structure.
      43025687
  28. Aug 02, 2005
  29. Aug 01, 2005
    • rtoy's avatar
      o CLHS 22.3.3.2 (~E) says prin1 omits the plus sign of the exponent if · b70016bc
      rtoy authored
        it is non-negative.  Adjust PRINT-FLOAT-EXPONENT accordingly.
      o OUTPUT-FLOAT-AUX prints out 1d23 as "1.0d23".  This differs from how
        FORMAT ~E prints out that number.  Adjust OUTPUT-FLOAT-AUX to match
        what ~E does.  (Are there other cases that we're missing?)
      b70016bc
Loading