I'm futzing with emacs so's I don't have to ssh in to god knows where (and my office machine is down because the power went out the other day and I forgot to turn it back on) and suffer under awful UI latency.
But I succeeded. For some reason xemacs just does the wrong thing talking to smlnj under windows, but ol' faithful gnu emacs at least gets its message across, and smlnj tries to parse OS.FileSys.chDir "/home/jcreed/"; CM.make(); the best it can. Only problem is /home/jcreed/, emacs's notion of the working directory, doesn't really exist. It's just a dirty, dirty lie, in which I am complicit. Cygwin is my co-conspirator. It started it, I swear! Anyway, emacs believes the lie, but smlnj doesn't, being an actual windows app. It wants me to talk about C:\CYGWIN\HOME\JCREED\ or some such nonsense. Now here's the me-thinking-I'm-so-clever bit: sml doesn't seem to mind the forward slashes versus backslashes issue, so all's I need is to make two wrongs a right by fooling the cygwin side into being happy living in /cygwin/. So I just do
bash$ ln -s / /cygwin
and proceed to start emacs from /cygwin/home/jcreed/ (which is really the same directory as /home/jcreed/ but shh) and everything, surprisingly enough, works fine. Score one for horrible hacks actually working.