[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: editing MathML parts with Amaya
From: |
Kevin Rodgers |
Subject: |
Re: editing MathML parts with Amaya |
Date: |
Mon, 24 Jan 2005 10:29:01 -0700 |
User-agent: |
Mozilla Thunderbird 0.9 (X11/20041105) |
Wolfgang Jeltsch wrote:
> I'm thinking about editing DocBook XML documents with embedded MathML
using
> Emacs and nXML mode. Alas, MathML is very verbose and therefore not
easy to
> edit with a text editor. So I'd like to edit the MathML parts with an
> external MathML editor, namely Amaya. What I want is that if I place
Emacs'
> cursor inside a MathML fragment and press a specific key combination,
the
> whole MathML part is copied into a file (with some additional heading
lines),
> Amaya is run on this file, and if Amaya has finished, the file's content
> (minus the heading lines) is written back into my Emacs buffer.
>
> So far, I've written a script which basically puts standard input in
a file,
> invokes Amaya and writes the resulting file content to standard
output. If I
> invoke this from Emacs via shell-command-on-buffer then after finishing
> Amaya, Emacs crashes with the message: "X protocol error: BadWindow
(invalid
> Window parameter) on protocol request 25".
>
> In addition, shell-command-on-buffer doesn't seem to be the right thing
> because it places the command's output in * Shell Command Output *
instead of
> replacing the text in the file's buffer.
>
> So how do I filter parts of a buffer through a shell command so that the
> respective part of the buffer is replaced by the command's output?
(shell-command-on-region START END "your-shell-script" (current-buffer) t)
> Can
> somebody of you imagine why the above error message appears? Is there a
> better way to invoke X clients for editing parts of a document?
Sorry, I don't know.
> How can I
> tell Emacs to search for the boundaries of a MathML part the cursor
is in, so
> that I don't have to mark the whole MathML fragment before editing it?
(let ((mathml-start (re-search-backward ...))
(mathml-end (re-search-backward ...)))
(shell-command-on-region mathml-start mathml-end "your-shell-script"
(current-buffer) t))
--
Kevin Rodgers