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 <j...@abou-samra.fr> 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 >