1. 08 Apr, 2008 1 commit
    • rtoy's avatar
      o Fix type-derivation for the basic DOUBLE-DOUBLE-FLOAT arithmetic · 5c34c685
      rtoy authored
        operations.  The deftransforms were causing type-derivation to
        return DOUBLE-DOUBLE-FLOAT for everything.  Use the suggestion from
        Rob: Wrap the result of the deftransform in a TRULY-THE form and use
        the node derived type for the type.
      o The FLOAT-SIGN deftransform for DOUBLE-DOUBLE-FLOAT should be
        conditioned on the DOUBLE-DOUBLE feature.
      o Remove old unused deftransform for * for two double-double args.
      5c34c685
  2. 04 Apr, 2008 2 commits
    • rtoy's avatar
      o Pathname printer was producing an error for (MAKE-PATHNAME :HOST NIL · 52d2dc6c
      rtoy authored
        :TYPE "foo").  This is because PATHNAME-HOST was signaling an error
        for a host of NIL.  We check for a host of NIL now, and bypass the
        call to PATHNAME-HOST.  This allows the pathname printer to print
        #P(:HOST NIL :TYPE "foo"), as we want.
      
        (The error comes from host-pathname.  NIL is a valid result of
        host-pathname, so we could change that, but I think that has other
        implications, one of which is (MAKE-PATHNAME :HOST NIL :NAME "foo"
        :TYPE "lisp") gets printed as #P"foo.lisp", which is wrong, since
        that pathname has a unix-host host.)
      
      o Fix merging of version in MAKE-PATHNAME.  CLHS MERGE-PATHNAMES says
        if the pathname name is given, the version is not affected by the
        default pathname.
      52d2dc6c
    • agoncharov's avatar
      A white-space change (reversal to the "-2" version), to test CVS · 65b0a63d
      agoncharov authored
      commit notifications.
      65b0a63d
  3. 03 Apr, 2008 2 commits
  4. 02 Apr, 2008 4 commits
  5. 01 Apr, 2008 2 commits
  6. 28 Mar, 2008 1 commit
  7. 26 Mar, 2008 1 commit
  8. 25 Mar, 2008 2 commits
    • agoncharov's avatar
      White space noise for CVS commit testing · 152bc680
      agoncharov authored
      152bc680
    • rtoy's avatar
      Make compiler and interpreter handle slot-value the same. See thread · 4e65ef5d
      rtoy authored
      http://article.gmane.org/gmane.lisp.cmucl.devel/10471.
      
      These changes make the compiler and interpreter behave the same, and,
      as a side-effect, makes Nicolas's code work as he wants.
      
      pcl/slots.lisp:
      o Add LEGAL-SLOT-NAME-P-INTERNAL that returns two values.  If the
        slot-name is legal, return T.  If illegal, return NIL and a string
        indicating why.
      o Use this new function in the compiler macros for SLOT-VALUE, (SETF
        SLOT-VALUE) and SLOT-BOUNDP so that we use the fast ACCESSOR-*
        versions only when we know the slot-name is legal.  Otherwise, the
        compiler macros give up.
      
      pcl/methods.lisp:
      o Change the method LEGAL-SLOT-NAME-P to use
        LEGAL-SLOT-NAME-P-INTERNAL.
      o Update the call to LEGAL-SLOT-NAME-P in SHARED-INITIALIZE since
        LEGAL-SLOT-NAME-P returns 2 values now.
      4e65ef5d
  9. 21 Mar, 2008 2 commits
  10. 19 Mar, 2008 1 commit
  11. 18 Mar, 2008 6 commits
  12. 16 Mar, 2008 3 commits
  13. 15 Mar, 2008 1 commit
    • agoncharov's avatar
      Getting rid of some compiler warnings: · 44e0351e
      agoncharov authored
        * Eliminate `printf' format string and the following arguments
          conflicts.
      
        * A variable may be used uninitialized.
      
        * A variable may be defined but not used.
      44e0351e
  14. 13 Mar, 2008 2 commits
    • rtoy's avatar
      Fix off-by-one bug in ~R which prevents printing numbers from 10^63 to · 971d3122
      rtoy authored
      10^66-1.  10^63 is a vigintillion.  (From SBCL).
      971d3122
    • rtoy's avatar
      (format nil "~5f" 1d-10) was printing out way too many zeroes, · a660c8de
      rtoy authored
      exceeding the specified width.  I think the correct answer is
      ".0000".
      
      So, add a parameter, allow-overflow-p, to FLONUM-TO-STRING to allow
      the width constraint to be exceeded.  This defaults to T.
      FLONUM-TO-STRING looks at this and decides whether or not to print out
      all the leading zeroes or not.  In FIXED-FORMAT-AUX, set
      allow-overflow-p to NIL so we don't exceed the width.
      
      I wish there were another way to do this, but I can't think of one
      right now.
      
      All print tests pass, and add the following test:
      
      (format nil "~5F" 1d-10) -> ".0000"
      
      print.lisp:
      o Change FLONUM-TO-STRING to use keyword parameters instead of
        optional parameters.
      o Add :ALLOW-OVERFLOW-P, defaulting to T.
      o Use :ALLOW-OVERFLOW-P to determine if all the leading zeroes should
        be printed or not.
      
      format.lisp:
      o Update calls to FLONUM-TO-STRING to use keywords parameters.
      o In FIXED-FORMAT-AUX, set :ALLOW-OVERFLOW-P to NIL
      a660c8de
  15. 05 Mar, 2008 1 commit
  16. 03 Mar, 2008 1 commit
  17. 29 Feb, 2008 3 commits
  18. 28 Feb, 2008 1 commit
  19. 27 Feb, 2008 4 commits
    • cshapiro's avatar
      1187403e
    • rtoy's avatar
      Merge fix from release-19e-branch. os_validate should return NULL on · 972fe2bf
      rtoy authored
      failure instead of -1.
      972fe2bf
    • rtoy's avatar
      c4061b8f
    • rtoy's avatar
      Trac ticket #13. · 74f5a075
      rtoy authored
      Basically caused by a change of exponent due rounding of the number
      for printing.  0.999999 might get printed as 1.000.  The original
      number had an exponent of -1, but the printed number has an exponent
      of 0, and we need to account for this.
      
      code/print.lisp:
      o Modify FLONUM-TO-STRING to take into account of the actual and
        printed exponent of the number.  Return an extra value to indicate
        if rounding has the exponent to change.
      
      code/format.lisp:
      o Use the new return value from FLONUM-TO-STRING to tell us if we need
        to adjust the printed exponent to account for the rounding change.
      
      All print tests still pass, and we add the following tests:
      
      (assert (string= (format nil "~11,3,2,0,'*,,'EE" .99) "  0.990E+00"))
      (assert (string= (format nil "~11,3,2,0,'*,,'EE" .999) "  0.999E+00"))
      (assert (string= (format nil "~11,3,2,0,'*,,'EE" .9999) "  0.100E+01"))
      (assert (string= (format nil "~11,3,2,0,'*,,'EE" .0000999) "  0.999E-04"))
      (assert (string= (format nil "~11,3,2,0,'*,,'EE" .00009999) "  0.100E-03"))
      (assert (string= (format nil "~11,3,2,,'*,,'EE" .00009999) "  9.999E-05"))
      (assert (string= (format nil "~11,3,2,,'*,,'EE" .000099999) "  1.000E-04"))
      74f5a075