bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#2047: 23.0.60; Nesting skeletons - infinite recursion ?


From: Michelle Baert
Subject: bug#2047: 23.0.60; Nesting skeletons - infinite recursion ?
Date: Sun, 25 Jan 2009 17:34:57 +0100

Dear Emacs maintainers,

I'm trying to setup a clean set of skeletons, but it turns up that I
can't call a skeleton from another. The method I tried raises the error
message:

"skeleton-internal-1: Variable binding depth exceeds max-specpdl-size"

I tried to write a basic test to demonstrate the problem.
Here it is (nested-skeletons.el) :
**********************************************************************
;; Each skeleton is followed by a sample output

(define-skeleton tst:plain
  "No prompt skeleton."
  nil
  "; I'm static text inserted by skeleton tst:plain"
)
; I'm static text inserted by skeleton tst:plain

(define-skeleton tst:use-str
  "Interactive skeleton."
  "Message: "
  "; I'm generated text (" str ") inserted by skeleton tst:use-str" \n
)
; I'm generated text (yes) inserted by skeleton tst:use-str

(define-skeleton tst:skeleton-caller
  "Calls another skeleton"
  nil
  "; I'm lazy. I want to reuse some ready-made skeleton" \n
  (tst:plain) \n
  "; Happy to see you again." \n
)
; I'm lazy. I want to reuse some ready-made skeleton
; I'm static text inserted by skeleton tst:plain

;; The cursor stops just after "plain", and I get the error message:
;; "skeleton-internal-1: Variable binding depth exceeds
max-specpdl-size"
;; or "skeleton-internal-1: Lisp nesting exceeds `max-lisp-eval-depth'"
;; in some previous sessions

(define-skeleton tst:skeleton-caller2
  "Calls another skeleton"
  nil
  "; I'm lazy. I want to reuse some ready-made skeleton" \n
  (tst:use-str "toy") \n
  "; Happy to see you again." \n
)
; I'm lazy. I want to reuse some ready-made skeleton
; I'm generated text (toy) inserted by skeleton tst:use-str

;; same result
;; ============================================================
(emacs-version t)
;; GNU Emacs 23.0.60.1 (i486-pc-linux-gnu, GTK+ Version 2.12.9)
;; of 2008-03-19 on vernadsky, modified by Debian

;; Started with emacs -Q nested-skeletons.el
**********************************************************************
Please tell me if
- I did something wrong
- you need more information
- nested skeletons are not supported
- you can't reproduce the problem

I'm working on Ubuntu with emacs-snapshot package, and I still have
emacs22.

Thanks a lot.
---
Michelle Baert

***********************************************************************
In GNU Emacs 23.0.60.1 (i486-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2008-03-19 on vernadsky, modified by Debian
 (emacs-snapshot package, version 1:20080228-1ubuntu1)
Windowing system distributor `The X.Org Foundation', version
11.0.10400090
configured using `configure  '--build' 'i486-linux-gnu' '--host'
'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib'
'--libexecdir=/usr/lib' '--localstatedir=/var'
'--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/23.0.60/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.0.60/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.0.60/leim'
 '--with-x=yes' '--with-x-toolkit=gtk' '--enable-font-backend' 
'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN 
-DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<up> <up> <up> <up> <up> <up> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> s <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <left> <backspace> 
e <down> <down> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <right> C-k C-k C-x C-s 
C-_ C-_ <down> < <backspace> ; ; SPC i n SPC p r e 
v i o u s SPC s e s s i o u s <backspace> <backspace> 
n s , SPC m a y b e SPC s t e <backspace> <backspace> 
e t SPC s o m e SPC d e b u g SPC f l a g s <return> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> C-k <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> s 
o n m e SPC <left> <left> <left> <backspace> C-x C-s 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <menu-bar> <tools> <gdb> <return> 
n <return> q <return> C-x k <return> <down-mouse-1> 
<mouse-1> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <menu-bar> 
<help-menu> <send-emacs-bug-report>

Recent messages:
skeleton-internal-1: Variable binding depth exceeds max-specpdl-size
Undo! [2 times]
Mark set [2 times]
Auto-saving...done
Wrote /home/mich/Learn/text/emacs/write-a-mode/nested-skeletons.el
nil
Undo!
Wrote /home/mich/Learn/text/emacs/write-a-mode/nested-skeletons.el [2
times]
Undo! [2 times]
Wrote /home/mich/Learn/text/emacs/write-a-mode/nested-skeletons.el








reply via email to

[Prev in Thread] Current Thread [Next in Thread]