unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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








             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).