infinite loop in xemacs (20.0) w/ ESS for SAS (5.1.18)

Rodney Sparapani rsparapa at post.its.mcw.edu
Thu Feb 8 21:19:32 CET 2001


ess-help:

After weeks of fruitless struggle trying to get FSF emacs installed, I gave up when I realized that Sun now ships Solaris with xemacs.  But, I'm getting an infinite loop from 
ESS for SAS.  Here's what the *backtrace* looks like (I've set max-specpdl-size to 700):


Signalling: (error "Variable binding depth exceeds max-specpdl-size")
  (let ((prefix ...)) (if (> ... 0) (let* ... ...) (let ... ...)))
)
  (cond ((= ... 1) (concat open-lax ... close-lax)) ((string= ... "") (if ... ... ...)) ((= ... ...) (concat open-lax "[" ... "]" close-lax)) (t (let ... ...)))
)
  (let* ((max-lisp-eval-depth ...) (strings ...) (open-paren ...) (close-paren ...) (open-lax ...) (close-lax ...) (completion-ignore-case nil)) (cond (... ...) (... ...) (... 
...) (t ...)))
)
  make-regexp(("de" "def" "defi" "defin" "define" "di" "dir" "drop" "li" "lis" "list"))
  (concat open-paren (make-regexp letters) "\\|" (make-regexp rest) close-paren)
)
  (let ((rest ...)) (concat open-paren (make-regexp letters) "\\|" (make-regexp rest) close-paren))
)
  (if (> (length letters) 1) (let (...) (concat open-paren ... "\\|" ... close-paren)) (let* (... ... ...) (concat open-paren ... "\\|" ... close-paren)))
)
  (let ((letters ...)) (if (> ... 1) (let ... ...) (let* ... ...)))
)
  (if (> (length prefix) 0) (let* (... ...) (concat open-paren prefix ... close-paren)) (let (...) (if ... ... ...)))
)


This message is repeated about 50 times (I counted, but I could be off by one or two); and then:


  (let ((prefix ...)) (if (> ... 0) (let* ... ...) (let ... ...)))
)
  (cond ((= ... 1) (concat open-lax ... close-lax)) ((string= ... "") (if ... ... ...)) ((= ... ...) (concat open-lax "[" ... "]" close-lax)) (t (let ... ...)))
)
  (let* ((max-lisp-eval-depth ...) (strings ...) (open-paren ...) (close-paren ...) (open-lax ...) (close-lax ...) (completion-ignore-case nil)) (cond (... ...) (... ...) (... 
...) (t ...)))
)
  make-regexp(("de" "def" "defi" "defin" "define" "di" "dir" "drop" "l" "li" "lis" "list") t)
  (concat regexp (make-regexp (nth 0 ...) t))
)
  (setq data (cons (cons ... ...) data) regexp (concat regexp (make-regexp ... t)))
)
  (cond ((stringp ...) (setq regexp ...)) ((stringp ...) (setq data ... regexp ...)) (t (setq data ... regexp ...)))
)
  (while regexps (cond (... ...) (... ...) (t ...)) (setq regexps (cdr regexps)))
)
  (let ((regexp "") (data nil)) (while regexps (cond ... ... ...) (setq regexps ...)) (cons regexp (nreverse data)))
)
  make-regexps("^" (("pr" "pro" "prog" "progr" "progra" "program") font-lock-keyword-face) "[ 	]+" (("de" "def" "defi" "defin" "define" "di" "dir" "drop" "l" "li" "lis" 
"list") font-lock-type-face nil) "[ 	]+" (("[_a-z]+[_a-z0-9]*") font-lock-keyword-face nil))
  (progn (make-regexps "^" (quote ...) "[ 	]+" (quote ...) "[ 	]+" (quote ...)))
)
  (eval-when-compile (make-regexps "^" (quote ...) "[ 	]+" (quote ...) "[ 	]+" (quote ...)))
)
  (list (eval-when-compile (make-regexps ...)) (eval-when-compile (make-regexps "^" ... "[ 	]+" ... "[ 	]+" ...)) (eval-when-compile (make-regexps ... "[ 	]*" 
..)) (eval-when-compile (make-regexps "^" ... "[ /t]*.*$")) (eval-when-compile (make-regexps ... "\\s-*" ...)) (eval-when-compile (make-regexps ... "[ 	]+" ... "[ 	
]*" ...)) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile 
(make-regexps "[ 	]+" ... "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "[ 	]+" ... "\\b")) 
(eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "[1-9]+[0-9]*[ 	]+" ... 
"\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile 
(make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... 
"[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... 
"\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile 
(make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... 
"[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... ... "\\b")) 
(eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "[ 	]+" ... "\\b")) 
(eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "^[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "\\b" ... 
"\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "\\b")) 
(eval-when-compile (make-regexps "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "\\b")) 
(eval-when-compile (make-regexps "^[ 	]*\\sw+[ 	]*" ... "\\b")) (eval-when-compile (make-regexps "^[ 	]*" ... "[ 	]+.*{")) (eval-when-compile (make-regexps "^[ 	
]*" ... "[ 	]*{")) (eval-when-compile (make-regexps ...)) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+")) (eval-when-compile (make-regexps "^[ 	
]+\\(local\\)+[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "([1-9]+[0-9]*)\\b")) 
(eval-when-compile (make-regexps "\\bin[ 	]+" ... "\\b")) (eval-when-compile (make-regexps "[ 	]+" ... "[ 	]+" ... "[ 	]")) (eval-when-compile (make-regexps 
"\\b" ... "\\b")) (eval-when-compile (make-regexps "\\b" ... "\\b")) ...)
)
  ado-set-font-lock-keywords()
  (defvar ess-STA-mode-font-lock-keywords (ado-set-font-lock-keywords) "Set the Stata mode font-lock keywords to Bill Rising's ado-mode keywords.")
)
  load-internal("essl-sta" nil t nil nil nil)
  load("essl-sta" nil t nil)
  require(essl-sta)
  load-internal("essd-sta" nil t nil nil nil)
  load("essd-sta" nil t nil)
  require(essd-sta)
  load-internal("~/ess/ess-5.1.18/lisp/ess-site.el" nil t nil nil nil)
  load("~/ess/ess-5.1.18/lisp/ess-site.el" nil t nil)
  require(ess-site "~/ess/ess-5.1.18/lisp/ess-site.el")
  load-internal("~/.emacs" t t t nil nil)
  load("~/.emacs" t t t)
  load-user-init-file("")
  load-init-file()
  command-line()
  normal-top-level()


Any ideas?  I haven't got CVS working so I don't know if this bug exists in 5.1.19, but it does exist in 5.1.17 and I haven't tried earlier versions.
  
Rodney Sparapani, Sr Biostatistician, Medical College of Wisconsin
email: rsparapa at mcw.edu               Patient Care & Outcomes, Rm H2775
phone: (414) 456-8786                 8701 Watertown Plank Rd
FAX  : (414) 456-6689                 Milwaukee, WI  53226

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
ess-help mailing list -- To (un)subscribe, send
subscribe	or	unsubscribe
(in the "body", not the subject !)  To: ess-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the ESS-help mailing list