i'm perplex , i'm sure now it is related to 'match' because of that:
scheme@(guile-user)> (use-modules (ice-9 match))
scheme@(guile-user)> (match '(1 0) ((2 0) 'nomatch))
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern" (1 0))'.
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> (match (list 1 0) ((2 0) 'wrong) ((i1 i2) (cons i1 i2)))
$1 = (1 . 0)
works well here
but not here? :
(match (list index1-or-keyword-eval-pos index2-or-keyword-eval-pos)
.... code cut .......
((i1 i2) (if (vector? container-eval) ;; normal case
(function-array-n-dim-set! container-eval expr-eval
(reverse (list i1 i2)))
(array-set! container-eval index1-or-keyword-eval
index2-or-keyword-eval expr-eval)))) ;; end match
probably ,as you say , 'match' is used in other place but i 'grep-ed'
all the directory and can not find where, i'm only using match this 2
months i even do not know it exists before... i almost sure i never
use it in other place in the code,so i'm still not understand....
On Tue, Aug 1, 2023 at 11:59 AM Jean Abou Samra <[email protected]> wrote:
>
>
> quoting the whole part of the macro and i still have the issue
> this seems to prove the problem is in other part of my code but match
> is only used here???
>
>
>
> It is probably used in somewhere in a predefined Guile function that you are
> using.
>
> So it's impossible to debug without more info.
>
> You may want to use (debug-enable 'backtrace) to get somewhat more precise
> hints to the location of the problem.
>
> Jean
>