The following code will crash the compiler instead of reporting the problem of duplicate c-define-type :

- - - - - - - - - - - - - - -

File: setup.scm

(define (some-path->container-hook path)
  'foo)

(set! ##path->container-hook some-path->container-hook)

- - - - - - - - - - - - - - -

File: crash.scm

(c-define-type jazz.platform.windows.WinTypes.LONG long)
(c-define-type jazz.platform.windows.WinTypes.LONG long)

- - - - - - - - - - - - - - -

% gsc
Gambit v4.4.0

> (load "setup")
"c:\\setup.scm"
> (compile-file "crash")
*** ERROR IN EXPRESSION 983041 EXPRESSION 0 EXPRESSION 1975872 EXPRESSION 1978145 EXPRESSION 1988504

- - - - - - - - - - - - - - -

Problem seems to be in locat-show in _source.scm when it's doing

(if source
   (locat-show " " (source-locat source)))