--- Begin Message ---
Subject: |
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#2047: SOLVED - not a bug (23.0.60; Nesting skeletons - infinite recursion ?) |
Date: |
Sun, 25 Jan 2009 22:47:51 +0100 |
On Sun, Jan 25, 2009 at 20:04, Michelle Baert <m.baert@free.fr> wrote:
> ;; I had missed a line of skeleton-insert's documentation:
Closed.
--- End Message ---