Proc ‘uniform-vector-read!’ is deprecated (ugh), and its implementation rebased onto ‘(rnrs io ports) get-bytevector-n!’. Unfortunately, there seems to be a glitch in the arg shuffling. Here is /tmp/foo.scm:
foo.scm
Description: application/scheme
and here is a series of invocations that demonstrate the discrepency between ‘get-bytevector-n!’ (ok) and ‘uniform-vector-read!’ (ko):
set -x ; guile --version ; guile -s foo.scm ; guile -s foo.scm ok ; guile -s foo.scm ko + guile --version guile (GNU Guile) 2.0.9 Copyright (C) 2013 Free Software Foundation, Inc. License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. + guile -s foo.scm uve: #s16(0) (2) uve: #s16(0) + guile -s foo.scm ok uve: #s16(0) (2) uve: #s16(10794) + guile -s foo.scm ko uve: #s16(0) (2) `uniform-vector-read!' is deprecated. Use `get-bytevector-n!' from `(rnrs io ports)' instead. Backtrace: In ice-9/boot-9.scm: 157: 11 [catch #t #<catch-closure 8347f30> ...] In unknown file: ?: 10 [apply-smob/1 #<catch-closure 8347f30>] In ice-9/boot-9.scm: 63: 9 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 8 [eval # #] In ice-9/boot-9.scm: 2320: 7 [save-module-excursion #<procedure 8275ea0 at ice-9/boot-9.scm:3961:3 ()>] 3968: 6 [#<procedure 8275ea0 at ice-9/boot-9.scm:3961:3 ()>] 1645: 5 [%start-stack load-stack ...] 1650: 4 [#<procedure 83489c0 ()>] In unknown file: ?: 3 [primitive-load "/tmp/foo.scm"] ?: 2 [call-with-input-string "****" ...] In ice-9/eval.scm: 432: 1 [eval # #] In unknown file: ?: 0 [uniform-vector-read! #s16(0) #<input: string 8263d20> ...] ERROR: In procedure uniform-vector-read!: ERROR: In procedure get-bytevector-n!: Value out of range: 4
FWIW, Guile 1.8.8 produces same output as ‘ok’ on a similar (sans the ‘use-modules’ and ‘uniform-vector-element-size’ noise) input, so i think this situation is a regression. Am i missing something? -- Thien-Thi Nguyen GPG key: 4C807502 (if you're human and you know it) read my lisp: (responsep (questions 'technical) (not (via 'mailing-list))) => nil
pgpIP6V3o_U0U.pgp
Description: PGP signature