<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2658.2">
<TITLE>Warning from CMUCL 19a about CL-PPCRE 0.9.0 usage</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2 FACE="Arial">I'm seeing some warnings from CMUCL that I don't understand.  Here is the warning the simplest code I've written at the moment that produces the warning:</FONT></P>
<UL>
<P><FONT SIZE=2 FACE="Courier New">(defun flurp (line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (let (delta)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (register-groups-bind (delta-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        ('(:sequence (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">      (setq delta (parse-integer delta-str)))))</FONT>
</P>
</UL>
<P><FONT SIZE=2 FACE="Arial">and the warning:</FONT>
</P>
<UL>
<P><FONT SIZE=2 FACE="Courier New">; In: DEFUN FLURP</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">;   (REGISTER-GROUPS-BIND (DELTA-STR) ('# LINE) (SETQ DELTA #))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL FUNCTION WHEN COND IF PROGN </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET* LET </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ==></FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   (IF #:START-INDEX5</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       (FUNCALL #:SUBSTR-FN6 #:TARGET-STRING0 #:START-INDEX5 #)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       NIL)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Warning: This is not a (VALUES &OPTIONAL BASE-STRING &REST T):</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   NIL</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ; [Last message occurs 2 times]</FONT>
</P>
</UL>
<P><FONT SIZE=2 FACE="Arial">What follows are a few more examples, with</FONT> <FONT SIZE=2 FACE="Courier New">SSMT-OUTPUT-SUMMARY being the original snippet.</FONT>
</P>
<UL>
<P><FONT SIZE=2 FACE="Courier New">(in-package #:pg-user)</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">(defun ssmt-output-summary (pname)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (with-open-file (in pname :direction :input)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (loop with line = nil</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          and delta = 0 and added = 0 and changed = 0 and deleted = 0</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          while (setq line (read-line in nil))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          when (register-groups-bind</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                      (delta-str added-str changed-str deleted-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                    ('(:sequence</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       "__UNDEF__"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       ;; Delta SLOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       ;; Skip over delta AELOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:greedy-repetition 1 nil :digit-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       ;; Code added</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       ;; Code changed</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       ;; Code deleted</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                       (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                      line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                  ;; Somebody doesn't like our attempting to return</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                  ;; multiple values past the REGISTER-GROUPS-BIND</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                  (setq delta (parse-integer delta-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                        added (parse-integer added-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                        changed (parse-integer changed-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">                        deleted (parse-integer deleted-str)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          do (return (values delta added changed deleted))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          finally (warn "Could not find summary for ~A" pname))))</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">(defun foo (line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (let (delta added changed deleted)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (register-groups-bind</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          (delta-str added-str changed-str deleted-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        ('(:sequence</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           "__UNDEF__"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           ;; Delta SLOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           ;; Skip over delta AELOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:greedy-repetition 1 nil :digit-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           ;; Code added</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           ;; Code changed</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           ;; Code deleted</FONT>
<BR><FONT SIZE=2 FACE="Courier New">           (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">      (setq delta (parse-integer delta-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">            added (parse-integer added-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">            changed (parse-integer changed-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">            deleted (parse-integer deleted-str)))))</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">(defun bar (line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (register-groups-bind</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        (delta-str added-str changed-str deleted-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">      ('(:sequence</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         "__UNDEF__"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Delta SLOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Skip over delta AELOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :digit-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code added</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code changed</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code deleted</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (declare (ignore delta-str added-str changed-str deleted-str))))</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">(defun baz (line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (register-groups-bind</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        (delta-str added-str changed-str deleted-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">      ('(:sequence</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         "__UNDEF__"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Delta SLOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Skip over delta AELOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :digit-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code added</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code changed</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code deleted</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (declare (ignore added-str changed-str deleted-str))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    delta-str))</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">(defun blatz (line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (register-groups-bind</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        (delta-str added-str changed-str deleted-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">      ('(:sequence</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         "__UNDEF__"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Delta SLOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Skip over delta AELOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :digit-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code added</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code changed</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code deleted</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (values delta-str added-str changed-str deleted-str)))</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">(defun blurp (line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (register-groups-bind</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        (delta-str added-str changed-str deleted-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">      ('(:sequence</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         "__UNDEF__"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Delta SLOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Skip over delta AELOC</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :digit-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code added</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code changed</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:greedy-repetition 1 nil :whitespace-char-class)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         ;; Code deleted</FONT>
<BR><FONT SIZE=2 FACE="Courier New">         (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (declare (ignore delta-str added-str changed-str deleted-str))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    69))</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">(defun flurp (line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">  (let (delta)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">    (register-groups-bind (delta-str)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">        ('(:sequence (:register (:greedy-repetition 1 nil :digit-class)))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">          line)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">      (setq delta (parse-integer delta-str)))))</FONT>
</P>
</UL>
<P><FONT SIZE=2 FACE="Arial">And the complaints during compilation.</FONT>
</P>
<UL>
<P><FONT SIZE=2 FACE="Courier New">* (lisp-implementation-version)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">"19a"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">* (lisp-implementation-type)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">"CMU Common Lisp"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">* (software-version)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">"5.8"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">* (software-type)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">"SunOS"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">* (compile-file "/home/kick/tmp/scratch.lisp")</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Python version 1.1, VM version UltraSparc/Solaris 7 on 19 NOV 04 01:59:21 pm.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling: /home/kick/tmp/scratch.lisp 19 NOV 04 01:58:23 pm</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; Compiling Load Time Value of (CREATE-SCANNER '(:SEQUENCE "__UNDEF__" # ...)): </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Converted SSMT-OUTPUT-SUMMARY.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling DEFUN SSMT-OUTPUT-SUMMARY: </FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; File: /home/kick/tmp/scratch.lisp</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; In: DEFUN SSMT-OUTPUT-SUMMARY</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">;   (REGISTER-GROUPS-BIND (DELTA-STR ADDED-STR CHANGED-STR DELETED-STR)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;                         ('# LINE)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;                         (SETQ DELTA # ADDED # ...))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL FUNCTION WHEN COND IF PROGN </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET* LET </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ==></FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   (IF #:START-INDEX15</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       (FUNCALL #:SUBSTR-FN16 #:TARGET-STRING10 #:START-INDEX15 #)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       NIL)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Warning: This is not a (VALUES &OPTIONAL BASE-STRING &REST T):</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   NIL</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ; [Last message occurs 8 times]</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; Compiling Load Time Value of (CREATE-SCANNER '(:SEQUENCE "__UNDEF__" # ...)): </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Converted FOO.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling DEFUN FOO: </FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; File: /home/kick/tmp/scratch.lisp</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; In: DEFUN FOO</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">;   (REGISTER-GROUPS-BIND (DELTA-STR ADDED-STR CHANGED-STR DELETED-STR)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;                         ('# LINE)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;                         (SETQ DELTA # ADDED # ...))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL FUNCTION WHEN COND IF PROGN </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET* LET </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ==></FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   (IF #:START-INDEX5</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       (FUNCALL #:SUBSTR-FN6 #:TARGET-STRING0 #:START-INDEX5 #)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       NIL)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Warning: This is not a (VALUES &OPTIONAL BASE-STRING &REST T):</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   NIL</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ; [Last message occurs 8 times]</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; Compiling Load Time Value of (CREATE-SCANNER '(:SEQUENCE "__UNDEF__" # ...)): </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Converted BAR.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling DEFUN BAR: </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling Load Time Value of (CREATE-SCANNER '(:SEQUENCE "__UNDEF__" # ...)): </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Converted BAZ.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling DEFUN BAZ: </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling Load Time Value of (CREATE-SCANNER '(:SEQUENCE "__UNDEF__" # ...)): </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Converted BLATZ.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling DEFUN BLATZ: </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling Load Time Value of (CREATE-SCANNER '(:SEQUENCE "__UNDEF__" # ...)): </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Converted BLURP.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling DEFUN BLURP: </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling Load Time Value of (CREATE-SCANNER '(:SEQUENCE #)): </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Converted FLURP.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compiling DEFUN FLURP: </FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; File: /home/kick/tmp/scratch.lisp</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; In: DEFUN FLURP</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">;   (REGISTER-GROUPS-BIND (DELTA-STR) ('# LINE) (SETQ DELTA #))</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL FUNCTION WHEN COND IF PROGN </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; --> LET* LET </FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ==></FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   (IF #:START-INDEX5</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       (FUNCALL #:SUBSTR-FN6 #:TARGET-STRING0 #:START-INDEX5 #)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;       NIL)</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Warning: This is not a (VALUES &OPTIONAL BASE-STRING &REST T):</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   NIL</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; ; [Last message occurs 2 times]</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; Byte Compiling Top-Level Form: </FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">; Compilation unit finished.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">;   18 warnings</FONT>
</P>
<BR>

<P><FONT SIZE=2 FACE="Courier New">; /home/kick/tmp/scratch.sparcf written.</FONT>
<BR><FONT SIZE=2 FACE="Courier New">; Compilation finished in 0:00:02.</FONT>
</P>

<P><FONT SIZE=2 FACE="Courier New">#p"/home/kick/tmp/scratch.sparcf"</FONT>
<BR><FONT SIZE=2 FACE="Courier New">T</FONT>
<BR><FONT SIZE=2 FACE="Courier New">T</FONT>
<BR><FONT SIZE=2 FACE="Courier New">*</FONT> 
</P>
</UL>
<P><FONT SIZE=2 FACE="Arial">I don't understand why only</FONT> <FONT SIZE=2 FACE="Courier New">SSMT-OUTPUT-SUMMARY</FONT><FONT SIZE=2 FACE="Arial">,</FONT> <FONT SIZE=2 FACE="Courier New">FOO</FONT><FONT SIZE=2 FACE="Arial">, and</FONT> <FONT SIZE=2 FACE="Courier New">FLURP</FONT><FONT SIZE=2 FACE="Arial"> are the only ones with warnings.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">--</FONT>
<BR><FONT SIZE=2 FACE="Arial">Damien Kick </FONT>
</P>

</BODY>
</HTML>