axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Axiom-developer] Emacs mode in Windows


From: C Y
Subject: RE: [Axiom-developer] Emacs mode in Windows
Date: Sat, 29 Apr 2006 20:38:53 -0700 (PDT)

--- Bill Page <address@hidden> wrote:

> On April 29, 2006 9:53 PM C Y wrote:
> > ...
> > The pamphlet version is here:
> > 
> > http://wiki.axiom-developer.org/SandBoxAxiomEmacsMode
> > 
> > and should work fine on Linux.
> 
> I think your emacs mode project using pamphlet files on
> Axiom Wiki is a great demonstration of how to do this kind
> of collaboration on line. Good work Cliff and Jay!

Thanks!

> > But that version (e.g., the one generated directly from
> > that pamphlet) will not run on Windows for two, possibly
> > three reasons:
> 
> If it proves necessary, you might consider including an
> alternate <<windows-main>>= chunk that would allow one to
> tangle a windows version of the code from the same source
> document. You can select this chunk in the drop down box
> next to the 'tangle' button. Then clicking 'tangle' would
> generate a windows version of your code.

That's a great idea, but it looks like you might have hit on the
solution, at least for the short term.  AXIOMsys should solve almost
everything.

> > 1.  The "axiom" command used on Linux is not the one that
> > works on Windows - I needed
> > C:/Program Files/axiom/mnt/window/AxiomSYS.exe
> > or something like that.
> 
> Actually just 'AXIOMsys' should work fine if the Windows
> version of Axiom was installed by the automatic installer
> or if the AXIOMsys.exe binary is in the PATH (as set by
> the installer).

Tested and confirmed.

> > 2.  I took out the -noht and -noclef options.  I might
> > not have had to do that - this is the one I'm not sure
> > about - but they don't seem to be needed here.
> 
> They are not needed and would probably be ignored if passed
> to AXIOMsys.

I think this is also the case.  Initial test seems to indicate it.

> > 3.  The code I use to clean up the double (1) -> prompt on 
> > Linux causes a hang on Windows, because the version of Axiom
> > in the Windows binary doesn't produce the double (1) ->.  So
> > I had to comment that out.  I might be able to conditionalize
> > it for Window vs. Linux if Emacs can tell me where I'm running,
> > but that's a temporary measure at best.  I'm not quite sure
> > how to handle it - does anyone know why the Linux version
> > produces that initial double prompt?  If that could go away
> > things would be simpler.
> 
> The reason for this difference is that there is no 'sman'
> program on Windows - at least not yet - because we do not
> have Axiom graphics and hyperdoc on Windows.

Ah!

> On linux the 'axiom' command does not start Axiom directly,
> instead it calls the 'sman' program which then starts the
> Axiom main process 'AXIOMsys', the Axiom graphics process,
> the hyperdoc process and sets up the communication between
> these processes. The option -noht tells sman not to start the
> hyperdoc process. The option -noclef tells sman not to use
> Axiom's line input filter process to replace 'readline'.
> (Windows DOS window has similar built-in functionality.)

OK.  As long as AXIOMsys ignores options, we can have our cake and eat
it too, from the looks of it.  I may be able to fake up a way to try
first for axiom, then for AXIOMsys.

> One side-effect of starting Axiom through sman is the double
> prompt which is caused because sman asks Axiom to create a
> new "frame". Another side effect is the larger number of
> processes running.

Hmm.  On Linux that may be OK - I'll have to see how graphics commands
work inside Emacs.

> On linux it is also possible to call AXIOMsys directly just
> like on Windows. In that case you will only see a single
> prompt on both Windows and linux. In fact it is probably a
> good idea to call AXIOMsys directly like this *unless* you
> really do need to use Axiom graphics in your emacs session.

I think we would want to enable graphics if possible... I don't know if
there is a way to "check" for the presence of a command without running
it in a cross platform manner, but I can try to find out.

> > ...  This [email] is partially to preserve the changes it
> > took to make it work on Windows, partially to announce that
> > it CAN work on Windows at all, and partially taking pity on
> > those stuck with a DOS window ;-).
> 
> I think it would be a good idea to include this sort of design
> information somewhere in the SandBoxAxiomEmacsMode pamphlet
> file maybe associated with the <<windows-main>>= chunk I
> suggested above?

Can do, once I get home to my own machine.  Of course, then I can't
test on Windows any more...

> > It may be that the other mode on AxiomonEmacs (axiom-smallest
> > or some such) works and works better for now, but since this
> > one has been demonstrated to work (on WinXP anyway) I wanted
> > to let folks know.
> 
> I think that's great news. I think you might be surprised to
> learn how many people actually use xemacs on windows and how
> many people install the Windows version of Axiom as their first
> contact with Axiom. 

Any of them interested in occasional alpha testing?

> We badly need to build a new Windows binary
> distribution real-soon-now and I think we should definitely
> should include an emacs mode and maybe even the option of
> installing xemacs itself with this mode pre-installed. We
> already do this for the TeXmacs interface. (Windows users expect
> everything to be done for them! :)

I was wondering about that - given the abysmal usability of the dos
prompt solution, maybe we could stuff Emacs in there configured to act
as the default terminal?  I know it would be large but it would be in
keeping with Tim's "make it work" approach and would probably appeal to
casual downloaders more.

Of course, that's assuming it actually gets enhanced to a really usable
point...  (if (is-before-cart (get-current-horse)) (backpedal-quickly))

> The last Windows binary was
> created from the Windows source distribution more than a year
> ago and the Windows source distribution itself is not up to
> date with the linux sources.

Does anybody remember how that was created?  I know it's some kind of
mix of the Nullsoft installer, mingw/msys, lots of patience and
sacrificing  six liters of Jolt by the light of a full moon...

If ever a literate document was needed for Axiom, it would be some kind
of "build a Windows install.exe file" scripts and procedure.

> > I think this mode will have to stay in the Sandbox for quite
> > a while - there are many changes and features to come before
> > it can claim to be a really serious asset to users or
> > developers.
> 
> Keep up the good work!

Thanks!  Will do (or try anyway.)  Pretty soon I'm going to have to
face mmm-mode, and that's probably where things are going to get hairy.


User feedback (assuming users exist, of course) would be useful - I'm
sort of making up the feature set as I go here.  On the immediate todo
list:

1.  Figure out some sort of way to flag the case where an old input is
modified but not re-evaluated - this ensures input and output blocks
match up or are flagged as not matching for the user.
2.  Figure out how to completely restart Axiom while leaving the
previous document in place.  As a side note, load an older Axiom
session and start Axiom up behind it.
3.  Save a session as a latex document.  That one will be tricky.
4.  Syntax highlighting.

I've got more ideas, but that should be enough to keep me out of
trouble for a while.

Cheers,
CY

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]