Subject: bug#24318: closed (Re: bug#24318: char<=? with three args)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 02 Sep 2016 08:07:01 +0000

Your bug report

#24318: char<=? with three args

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
24318: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24318
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#24318: char<=? with three args
From: Andy Wingo <[email-masked]>
To: Helmut Eller <[email-masked]>
Cc: [email-masked]
Date: Fri, 02 Sep 2016 10:06:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Sat 27 Aug 2016 11:42, Helmut Eller <[email-masked]> writes:

> Compiling a file x.scm:
>
>   (library (x)
>     (export)
>     (import (rnrs))
>     (define (foo x) (char<=? #\0 x #\9)))
>
> causes an error:

Thanks for the bug report; fixed.  Also added some optimizations so that
char<=? and friends should compile to much nicer code.

Andy

Subject: char<=? with three args
From: Helmut Eller <[email-masked]>
To: [email-masked]
Date: Sat, 27 Aug 2016 11:42:38 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Compiling a file x.scm:

  (library (x)
    (export)
    (import (rnrs))
    (define (foo x) (char<=? #\0 x #\9)))

causes an error:

 shell> guile --version | head -n1
 guile (GNU Guile) 2.1.3.104-8f2f8
 shell> guile -c '(compile-file "x.scm")'
Backtrace:    
In system/base/compile.scm:
    152:6 19 (compile-file _ #:output-file _ #:from _ #:to _ #:env _ …)
     43:4 18 (call-once _)
In ice-9/boot-9.scm:
    829:4 17 (with-throw-handler _ _ _)
In system/base/compile.scm:
    59:11 16 (_)
   155:11 15 (_ #<closed: file 9fbf930>)
   224:14 14 (read-and-compile _ #:from _ #:to _ #:env _ #:opts _)
    255:6 13 (compile _ #:from _ #:to _ #:env _ #:opts _)
   183:32 12 (compile-fold _ #<tree-il (seq (let (m) (m-121) ((call…> …)
In language/cps/compile-bytecode.scm:
   573:12 11 (compile-bytecode #<intmap 0-257> #<directory (x) a138…> …)
   566:12 10 (lower-cps _ (#:to-file? #t))
In language/cps/optimize.scm:
     86:0  9 (optimize-higher-order-cps _ _)
In language/cps/dce.scm:
   357:33  8 (eliminate-dead-code _)
   105:18  7 (compute-live-code #<intmap 0-222>)
In language/cps/intmap.scm:
    514:5  6 (visit-branch #(#(#<cps (kfun () 0 139 1)> #<cps…> …) …) …)
    514:5  5 (visit-branch #(#<cps (kargs (rest) (195) (continue…> …) …)
In language/cps/type-checks.scm:
     47:5  4 (elide-type-checks #<intmap 0-222> _ _)
In language/cps/intmap.scm:
    514:5  3 (visit-branch #((absent) (absent) (absent) (absent) # …) …)
In language/cps/type-checks.scm:
    43:10  2 (_ 221 _ #<intmap 0-222>)
In language/cps/types.scm:
   1420:0  1 (_ _ _ _)
In ice-9/boot-9.scm:
   753:26  0 (dispatch-exception _ _ _)

ice-9/boot-9.scm:753:26: In procedure dispatch-exception:
ice-9/boot-9.scm:753:26: Wrong number of arguments to #<procedure b5eac480 at language/cps/types.scm:1420:0 (typeset t-41149 t-41150)>
[Exit 1]