euslisp / EusLisp

EusLisp is an integrated programming system for the research on intelligent robots based on Common Lisp and Object-Oriented programming. [Manual](http://euslisp.github.io/EusLisp/manual.html ) [マニュアル](http://euslisp.github.io/EusLisp/jmanual.html )
Other
57 stars 50 forks source link

Safely exit format on mismatch argument #396

Closed Affonso-Gui closed 5 years ago

Affonso-Gui commented 5 years ago

Fix the following bug, when format is interrupted with mismatch argument error:

(format t "~S" (list "abc" 10))
;; ("abc" 10)

(format t "~A")
Call Stack (max depth: 20):
  0: at (format t ~A)
  1: at #<compiled-code #X64c1e28>
eus 0 error: mismatch argument in (format t ~A)

(format t "~S" (list "abc" 10))
;; (abc 10) < correct is ("abc" 10) , with quotes

This happens because the argument check included in nextfarg is done after the slashflag is altered, leaving it stuck at 1 after the error occurs.

Affonso-Gui commented 5 years ago

ci/circleci seems to be failing with

$ sudo apt-get install -qq -y texlive-latex-base ptex-bin latex2html nkf poppler-utils
E: Package 'ptex-bin' has no installation candidate
E: Unable to locate package latex2html
E: Unable to locate package nkf
Exited with code 100

but the standard tests are passing normally.

@k-okada Do we need to update something in the ci/circleci or is just a matter of timing?

Affonso-Gui commented 5 years ago

@k-okada All tests are passing now! Thanks for the fix.