diff --git a/src/compiler/disassem.lisp b/src/compiler/disassem.lisp index 1316aa2a6a73c4d41ceeb4c4614cf16e2916be20..762b77b22d072b53a849b884c8ec0a96d2b8df0d 100644 --- a/src/compiler/disassem.lisp +++ b/src/compiler/disassem.lisp @@ -952,13 +952,14 @@ ((eq (car source) :plus-integer) ;; prints the given field proceed with a + or a - (let ((form - (arg-value-form (arg-or-lose (cadr source) funstate) - funstate - :numeric))) + (arg-value-form (arg-or-lose (cadr source) funstate) + funstate + :numeric))) `(progn - (when (>= ,form 0) - (local-write-char #\+)) - (local-princ ,form)))) + (if (>= ,form 0) + (local-write-char #\+) + (local-write-char #\-)) + (local-princ (abs ,form))))) ((eq (car source) 'quote) `(local-princ ,source)) ((eq (car source) 'function)