Deal with oversight of ~~ directive in compile-time checking.
(Bruno Haible cmucl-imp 2004-10-28)
name conflict situations in CLHS 11.1.1.2.5, and provide a restart
permitting resolution in favour of any of the conflicting symbols.
(reported by Bruno Haible for CMUCL)
+ * FORMAT compile-time argument count checking has been enhanced.
+ (report from Bruno Haible for CMUCL)
* fixed some bugs revealed by Paul Dietz' test suite:
** RENAME-PACKAGE allows all package designators as new package
names.
((char= c #\P)
(unless (format-directive-colonp directive)
(incf-both)))
- ((or (find c "IT%&|_();>") (char= c #\Newline)))
+ ((or (find c "IT%&|_();>~") (char= c #\Newline)))
;; FIXME: check correspondence of ~( and ~)
((char= c #\<)
(walk-complex-directive walk-justification))
EOF
expect_failed_compile $tmpfilename
+# This should style-warn (but not warn or otherwise fail) as the call
+# to FORMAT has too many arguments, which is bad style but not
+# otherwise fatal.
+cat > $tmpfilename <<EOF
+(defun foo (a b)
+ (format nil "abc~~def" a b))
+EOF
+expect_warned_compile $tmpfilename
+
rm $tmpfilename
rm $compiled_tmpfilename
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.16.11"
+"0.8.16.12"