Scheme Scripting Console

Bug #169967 reported by Glimmer07
Affects Status Importance Assigned to Milestone
Won't Fix
Ted Gould

Bug Description

This patch allows for scripting in the Scheme programming language using an
interactive window. The patch was created for revision 15638.

Here is the patch:

Here is a README to help one get started:

Here is a list of functions created for the Scheme console:

Let us know what you think.

David D'Angelo and Soren Berg
<email address hidden>

Tags: other
Revision history for this message
Ted Gould (ted) wrote :

I would like to get this in for 0.46. Do you guys have an up-to-date patch for current SVN?

Changed in inkscape:
assignee: nobody → ted-gould
importance: Undecided → Medium
milestone: none → 0.46
status: New → In Progress
Revision history for this message
Glimmer Labs (glimmer07-gmail) wrote :

Here is an up-to-date patch created for svn revision 16980. I created it pretty quickly, so hopefully there are not any bugs caused by changes since the previous patch. Let me know if you have any questions/problems.

Here are some example scripts that can be used to test the console:


David D'Angelo

<email address hidden>

Revision history for this message
Maximilian Albert (cilix) wrote :

Compiling inkscape with this new patch and trying to open the Scheme Console via View->Scheme results in a crash.
I'm on Debian unstable, SVN rev. #17018


#0 0xb6e8513d in getc () from /lib/
#1 0x0854a2e9 in basic_inchar (pt=0xa53957c) at
#2 0x0854a529 in inchar (sc=0xa539400) at
#3 0x0854a5e7 in token (sc=0xa539400) at
#4 0x0854f9c0 in opexe_0 (sc=0xa539400, op=OP_READ_INTERNAL) at
#5 0x0854c1f3 in Eval_Cycle (sc=0xa539400, op=OP_LOAD) at
#6 0x0854c57f in scheme_load_file (sc=0xa539400, fin=0x0) at
#7 0x08547517 in
(this=0xab6ddc0) at extension/script/InkscapeScheme.cpp:165
#8 0x0826e356 in SchemeDialogImpl (this=0xab6dc00) at
#9 0x0826f892 in Inkscape::UI::Dialog::SchemeDialog::getInstance () at
#10 0x081da454 in
() at ./ui/dialog/panel-dialog.h:164
#11 0x081da4db in Inkscape::UI::Dialog::(anonymous
Inkscape::UI::Dialog::Behavior::DockBehavior> () at
#12 0x081d6b95 in Inkscape::UI::Dialog::DialogManager::getDialog
(this=0x8eb01d8, name=1857) at ui/dialog/dialog-manager.cpp:212
#13 0x081d6c18 in Inkscape::UI::Dialog::DialogManager::showDialog
(this=0x8eb01d8, name=1857) at ui/dialog/dialog-manager.cpp:231
#14 0x0838a030 in sp_action_perform (action=0x8edbfc0, data=0x0) at
#15 0xb73df95f in g_cclosure_marshal_VOID__VOID () from
#16 0xb73d2619 in g_closure_invoke () from /usr/lib/
#17 0xb73e6dfb in ?? () from /usr/lib/
#18 0x08f67c10 in ?? ()
#19 0x00000000 in ?? ()

Revision history for this message
Bryce Harrington (bryce) wrote :

It's gotten to be too late in the process for inclusion of this new feature, so I'm dropping the milestone. Hopefully leaving it for 0.47 will also provide it with additional time for testing and polishing. Sorry we couldn't get it in for 0.46,

Changed in inkscape:
milestone: 0.46 → none
Revision history for this message
Alexandre Prokoudine (alexandre-prokoudine) wrote :

Any news on this?

Revision history for this message
Ted Gould (ted) wrote : Re: [Bug 169967] Re: Scheme Scripting Console

On Fri, 2008-06-20 at 14:37 +0000, Alexandre Prokoudine wrote:
> Any news on this?

Well, I was curious where Ishmal's work is going. If it goes to
somewhere interesting we'd have Scheme on top of the JVM, so it wouldn't
make sense to put the scheme engine in separately... Now, I'm not sure
about Ishmal's work and where it'll end up. I don't want to close this,
but I want to decide closer to when we're talking about 0.47 and can
make a good decision.

Revision history for this message
MenTaLguY (mental-deactivatedaccount) wrote :

In the long run, I'd prefer to have all of our scripting languages served by the same runtime -- things get too hairy if any one of them tries to do something clever (like conservative collection or threads or something) that ends up conflicting with the others. At the moment, it looks like the JVM is by far the strongest candidate for our common runtime.

On the downside, the JVM currently isn't well-suited to scheme, although I know the work being done by the Da Vinci Machine people will eventually change that.

Revision history for this message
Alexandre Prokoudine (alexandre-prokoudine) wrote :

Ted, are we closer enough to 0.47 now? :-)

Revision history for this message
ScislaC (scislac) wrote :

Ted: Is this still "in progress"? It would need a major update for trunk at this point is my guess.

Revision history for this message
Ted Gould (ted) wrote :

I think this is superseded by the SoC work on the dbus interface which can do all of this.

Changed in inkscape:
status: In Progress → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers