LINUX.ORG.RU

Ответ на: комментарий от no-such-file

Поставил 2500

Evaluate buffer find-position: Lisp nesting exceeds ‘max-lisp-eval-depth’

Вангану что у тебя что-то зациклилось.

Я его вручную эвалюировал, работал как надо.

saufesma
() автор топика
Ответ на: комментарий от Bad_ptr

запустить функцию и смотреть бэктрейс

функцию запустил, а вот где back trace находится не знаю. Нашел, заработало!

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 2)
Ответ на: комментарий от Bad_ptr

Выловил вот эту функцию

;;(setq lst1 '(1 4 2 3))
;;(setq lst2 '(1 2 5 3))
(setq *count* 0)

(defun find-position (l1 l2 count)
  (if (eq (car l1) (car l2))
      (find-position (cdr l1) (cdr l2) (1+ count))
    count))

(find-position list-A list-B *count*)

Backtrace
Debugger entered--Lisp error: (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")
  (if (eq (car l1) (car l2)) (find-position (cdr l1) (cdr l2) (1+ count)) count)
  find-position(nil nil 397)
  (if (eq (car l1) (car l2)) (find-position (cdr l1) (cdr l2) (1+ count)) count)
  find-position(nil nil 396)
  (if (eq (car l1) (car l2)) (find-position (cdr l1) (cdr l2) (1+ count)) count)
  find-position(nil nil 395)
...........................................
 (if (eq (car l1) (car l2)) (find-position (cdr l1) (cdr l2) (1+ count)) count)
  find-position((0) (0) 0)
  eval-buffer()  ; Reading at buffer position 13458
  funcall-interactively(eval-buffer)
  call-interactively(eval-buffer nil nil)
  command-execute(eval-buffer)
а вот понять, что не ладно с этой функцией не могу.

saufesma
() автор топика
Ответ на: комментарий от Bad_ptr

Переделал

;(setq lst1 '(1 4 2 3))
;;(setq lst2 '(1 2 5 3))
(setq *count* 0)

(defun find-position (l1 l2 count)
   (if (eq (car l1) nil)
          nil
  (if (eq (car l1) (car l2))
      (find-position (cdr l1) (cdr l2) (1+ count))
    count))

(find-position list-A list-B *count*)

неожиданно интересно

saufesma
() автор топика