From: Michelle Baert <m.baert@free.fr>
To: emacs-pretest-bug@gnu.org
Subject: bug#2047: 23.0.60; Nesting skeletons - infinite recursion ?
Date: Sun, 25 Jan 2009 17:34:57 +0100 [thread overview]
Message-ID: <1232901297.20531.3.camel@claddagh> (raw)
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
next reply other threads:[~2009-01-25 16:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <f7ccd24b0901251347x1365a5ccqb57b5aa54206cfa5@mail.gmail.com>
2009-01-25 16:34 ` Michelle Baert [this message]
[not found] ` <handler.2047.B.123290131613782.ack@emacsbugs.donarmstrong.com>
2009-01-25 19:04 ` bug#2047: SOLVED - not a bug (23.0.60; Nesting skeletons - infinite recursion ?) Michelle Baert
2009-01-25 21:55 ` bug#2047: marked as done " Emacs bug Tracking System
2009-01-26 4:22 ` bug#2047: 23.0.60; Nesting skeletons - infinite recursion ? Richard M Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1232901297.20531.3.camel@claddagh \
--to=m.baert@free.fr \
--cc=2047@emacsbugs.donarmstrong.com \
--cc=emacs-pretest-bug@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).