Comment 5 for bug 892245

Revision history for this message
Russell Sim (russell-sim) wrote :

Hi,

I decided to do a bit of debugging and I narrowed the Error: Wrong type argument: number-or-marker-p, nil error to line 3380 in util/mumamo.el the line looks like (byte-compile fetch-func-definition).

I dumbed the contents of the fetch-func-definition and it seemed that I could easily reproduce compile error. I also found the way to fix it was to delete some of the variables from the let. So perhaps there is an upper limit on how many variables can be assigned and 193 seems to be the max

for example if i create a file very symilar to the fetch-func-definition but instead just generate symbols with incrementing names. When I compile this it fails with the "Error: Wrong type argument: number-or-marker-p, nil" error, if I delete sym194 the compile error goes away.

(lambda
  (body)
  (make-local-variable 'parse-sexp-lookup-properties)
  (let
      ((sym1 "1")
       (sym2 "2")
       (sym3 "3")
....
       (sym193 "193")
       (sym194 "194")
       )
    (with-syntax-table php-mode-syntax-table
      (let
          (ret)
        (setq ret
              (eval body))
        ret))))

Perhaps this could be a bug in emacs24?