Recently, I have resumed maintaining the DJGPP Emacs, and in
particular the CVS code now builds and works for me. Bootstrap (which
is necessary if you build the CVS version, see below) also works.
Kudos to Rugxulo <rug...@gmail.com> who helped me lately to make it
work reasonably well on Vista (my own experience is mainly on XP SP2).
If there are still users on this forum who run DJGPP tools on DOS or
Windows platforms, I would encourage you to try the CVS version now.
This is because Emacs 23 will be released soon, and I would like to
have it tested by as many DJGPP users as possible, to find and weed
out any remaining problems. The development version is quite stable,
and can be used for everyday work without fear of frequent crashes.
You can find the instructions for getting the development version of
Emacs from CVS here:
http://savannah.gnu.org/cvs/?group=emacs
After downloading the sources, read the file msdos/INSTALL for build
instructions.
Thanks in advance!
On Dec 19, 5:30 am, Eli Zaretskii <e...@gnu.org> wrote:
>
> The DJGPP port of GNU Emacs was unmaintained for several years, which
> caused it to bit-rot, although the latest official release 22.3 still
> builds out of the box.
But that is basically unmaintained in favor of 23.0 (according to you
from e-mails recently). So 23.0 is heavily recommended ... if you can
handle bootstrapping it.
> Recently, I have resumed maintaining the DJGPP Emacs, and in
> particular the CVS code now builds and works for me. Bootstrap (which
> is necessary if you build the CVS version, see below) also works.
"make bootstrap" is a little more time consuming than 22.3 because
byte-compiling has to be done from scratch. But you only have to do it
once. As Eli says, grab a (large) cup of coffee. ;-)
> Kudos to Rugxulo <rugx...@gmail.com> who helped me lately to make it
> work reasonably well on Vista (my own experience is mainly on XP SP2).
It would be nice to have more Vista testers, esp. since MS is pushing
Vista so hard these days (and Win2k3, Win7, etc. share the same
kernel). My handicap now is a wonky wifi card on my Vista laptop as
well as (temporarily) disconnected / unconfigured router, so I'm using
the XP computer these days for Internet (since I don't grok routers).
> If there are still users on this forum who run DJGPP tools on DOS or
> Windows platforms, I would encourage you to try the CVS version now.
Cygwin's CVS works fine, for example.
> This is because Emacs 23 will be released soon, and I would like to
> have it tested by as many DJGPP users as possible, to find and weed
> out any remaining problems. The development version is quite stable,
> and can be used for everyday work without fear of frequent crashes.
>
> You can find the instructions for getting the development version of
> Emacs from CVS here:
>
> http://savannah.gnu.org/cvs/?group=emacs
>
> After downloading the sources, read the file msdos/INSTALL for build
> instructions.
>
> Thanks in advance!
There are still a few problems that you haven't really mentioned
although I'm not sure if these potential fixes are reliably working or
not:
1). "update" / UPDATE.EXE (when called by CONFIG.BAT) is flagged by
Vista's UAC three times, so it may be easier to just change that to
say "djupdate" in the .BAT and manually do "cd /dev/env/DJDIR/bin ;
stubify -g djupdate.exe ; stubedit djupdate.exe
runfile=update" (untested on Vista but should work, right???).
2). I guess you never got around to making SYSTEM_MALLOC auto-enabled
if Vista is detected via more sed trickery ("ver" returns 6.0.0000 for
Vista or 6.0.0001 for SP1). Otherwise, Emacs seems to not be able to
open even 10 MB files (even with DPMI hack workaround in registry).
And yet, building with SYSTEM_MALLOC enabled seemed to be problematic.
My only guess (untested) is that maybe bash needs to be STUBEDIT'd to
double the "minstack" and "bufsize" (transfer buffer) to 1024k and 32k
(as you have done in your local copy). And yet, bash is "only needed
for the /lisp/ subdir" as you claim, but that seemed to be an issue
for me.
3). You only mention the registry setting although Japheth's NTDPMIX
*may* work for running Emacs, at least (although not necessarily
shelling out or running other programs). That solution is maybe semi-
unstable in some scenarios but better than nothing for running some
basic DJGPP apps if you can't afford to download SP1 (e.g. 65 MB of
updates as of last March, certainly more by now, which is bad if
you're on dialup like T.R. Nicely).
P.S. Corrections welcome, I'm just mentioning a few things that may
crop up for any adventurous travelers wandering into this. ;-)
I decided not to bother for now, since building a binary on XP does
not mean it will not have to run on Vista. Only the user who builds
the binary knows whether she will or won't copy the package to a Vista
machine later on. Since enabling SYSTEM_MALLOC is a build-time option
(and doing that dynamically at run time, which is TRT, will have to
wait for another rainy day), I decided for now to add a cheaper
band-aid: there's a new option --with-system-malloc to the config.bat
batch file, which will set up things for using SYSTEM_MALLOC. This
change is already in CVS.
On Dec 23, 12:50 am, Rugxulo <rugx...@gmail.com> wrote:
>
> On Dec 19, 5:30 am, Eli Zaretskii <e...@gnu.org> wrote:
>
> > Recently, I have resumed maintaining the DJGPP Emacs, and in
> > particular the CVS code now builds and works for me. Bootstrap (which
> > is necessary if you build the CVS version, see below) also works.
>
> "make bootstrap" is a little more time consuming than 22.3 because
> byte-compiling has to be done from scratch. But you only have to do it
> once. As Eli says, grab a (large) cup of coffee. ;-)
And apparently, if you get newer .el files from CVS, this will update
the .elc files:
cd lisp ; make cvs-update EMACS=../bin/emacs.exe
> > Kudos to Rugxulo <rugx...@gmail.com> who helped me lately to make it
> > work reasonably well on Vista (my own experience is mainly on XP SP2).
>
> It would be nice to have more Vista testers, esp. since MS is pushing
> Vista so hard these days (and Win2k3, Win7, etc. share the same
> kernel). My handicap now is a wonky wifi card on my Vista laptop as
> well as (temporarily) disconnected / unconfigured router, so I'm using
> the XP computer these days for Internet (since I don't grok routers).
Now I'm just using a really long cord running to the router.
> > If there are still users on this forum who run DJGPP tools on DOS or
> > Windows platforms, I would encourage you to try the CVS version now.
>
> Cygwin's CVS works fine, for example.
Er, maybe not perfect, it seems to crap out occasionally due to CVS
backup renaming or whatever. Apparently, retrying several times until
it finishes (gets to vms/ and says "files not found") is needed, at
least for me.
> > This is because Emacs 23 will be released soon, and I would like to
> > have it tested by as many DJGPP users as possible, to find and weed
> > out any remaining problems. The development version is quite stable,
> > and can be used for everyday work without fear of frequent crashes.
Okay, but today via e-mail you said "soon" isn't like next week or
anything, so apparently there's no huge rush, which is good to know.
> > You can find the instructions for getting the development version of
> > Emacs from CVS here:
>
> > http://savannah.gnu.org/cvs/?group=emacs
"Software Repository":
cvs -z3 -d:pserver:anon...@cvs.savannah.gnu.org:/sources/emacs co
<modulename>
(where <modulename> is optional)
BTW, don't run CVS from within your potential EMACS/ subdir but from
its parent instead.
In other words, run CVS from within C:\SOURCE, not C:\SOURCE\EMACS
(else you'll get another EMACS/ subdir created).
> > After downloading the sources, read the file msdos/INSTALL for build
> > instructions.
>
The basic commands seem to be "config.bat --with-system-malloc msdos",
"make bootstrap", "make distclean", "make install CFLAGS=-gcoff -Os",
etc. But for now you need Bash for the lisp subdir (i.e. a stable
release like 22.3 needs no byte compilation since it comes like that
by default). And for me (on Vista SP1), besides needing SYSTEM_MALLOC
to work correctly, building *with* SYSTEM_MALLOC works much less
reliably than without (go figure). If you don't build with
SYSTEM_MALLOC, Vista won't correctly byte compile ZIRANMA.el,
configure LEIM correctly, load big files > 10 MB, etc.
Juan, DJ, Andris, what does this mean?
Without the following (i.e. overriding the CFLAGS), it seems to not
finish compiling correctly for me (crashes bash and/or make and/or
NTVDM):
bash ; make install CFLAGS="-gcoff -Os"
Does that mean there's a bug in bash, make, or both?
Honestly, though, it's fairly slow to compile, so either use 3.4.4 (or
use -O or -Os) to save time. Then again, it's the byte compiling that
takes the most time initially.
> There are still a few problems that you haven't really mentioned
> although I'm not sure if these potential fixes are reliably working or
> not:
>
> 1). "update" / UPDATE.EXE (when called by CONFIG.BAT) is flagged by
> Vista's UAC three times, so it may be easier to just change that to
> say "djupdate" in the .BAT and manually do "cd /dev/env/DJDIR/bin ;
> stubify -g djupdate.exe ; stubedit djupdate.exe
> runfile=update" (untested on Vista but should work, right???).
Doesn't work, "djupdate" is still flagged. And accepting the UAC
prompts is more than an annoyance. It (AFAICT) causes some files to be
Admin status, which prevents later modifications. However,
"djupdat" (no e) causes no issues. I had to right-click EMACS/ in
Explorer and change all permissions (in all subdirs of EMACS/) to fix
this.
P.S. Eli is using Make 3.79.2, Bash 2.04, GCC 3.4.3, DJGPP 2.03p2
while I'm using latest /beta/ versions (3.81, 2.05, 4.32, 2.04 beta),
if that makes a difference (doubtful).
The --with-system-malloc option should not be needed, unless the
produced binary should work reasonably well on Vista. On XP and
below, just "config msdos" will do.
> "make bootstrap", "make distclean", "make install CFLAGS=-gcoff -Os",
> etc.
No need for "make bootstrap" anymore: with Emacs 23, just "make" will
DTRT. If bootstrap is required (only once, after the initial checkout
from the CVS), "make" will do that automagically.
On Dec 31, 12:36 pm, Eli Zaretskii <e...@gnu.org> wrote:
> > From: Rugxulo <rugx...@gmail.com>
> > Date: Tue, 30 Dec 2008 20:25:57 -0800 (PST)
>
> > The basic commands seem to be "config.bat --with-system-malloc msdos",
>
> The --with-system-malloc option should not be needed, unless the
> produced binary should work reasonably well on Vista. On XP and
> below, just "config msdos" will do.
Now randomly (for some unknown reason) it doesn't seem to work at all
for me on Vista. :-((
> > "make bootstrap", "make distclean", "make install CFLAGS=-gcoff -Os",
> > etc.
>
> No need for "make bootstrap" anymore: with Emacs 23, just "make" will
> DTRT. If bootstrap is required (only once, after the initial checkout
> from the CVS), "make" will do that automagically.
Maybe I'll try again with 22.3 "stable", and see if that works.
On Dec 31 2008, 10:56 pm, Rugxulo <rugx...@gmail.com> wrote:
>
> Now randomly (for some unknown reason) it doesn't seem to work at all
> for me on Vista. :-((
I didn't mean to be so pessimistic or discourage anybody else from
trying, just that I'm low on ideas what else to try (e.g. maybe build
on XP and transfer to Vista or even build in VirtualBox + FreeDOS, I
dunno).
Anyways, Emacs really is cool, and here's a few links to get somebody
started:
http://www.emacswiki.org/emacs/WhyUseEmacs
http://www.emacswiki.org/emacs/ViEmacsTable
http://www.emacswiki.org/emacs/EmacsNiftyTricks
You haven't lived GNU until you've seen all Emacs can do! :-)
On Dec 19 2008, 5:30 am, Eli Zaretskii <e...@gnu.org> wrote:
> The DJGPP port of GNU Emacs was unmaintained for several years, which
> caused it to bit-rot, although the latest official release 22.3 still
> builds out of the box. However, the DJGPP build of the development
> version in CVS was broken for quite some time and would not even
> compile, let alone run.
>
> Recently, I have resumed maintaining the DJGPP Emacs, and in
> particular the CVS code now builds and works for me. Bootstrap (which
> is necessary if you build the CVS version, see below) also works.
> ...
> If there are still users on this forum who run DJGPP tools on DOS or
> Windows platforms, I would encourage you to try the CVS version now.
> This is because Emacs 23 will be released soon, and I would like to
> have it tested by as many DJGPP users as possible, to find and weed
> out any remaining problems. The development version is quite stable,
> and can be used for everyday work without fear of frequent crashes.
Apparently, RMS himself wrote to news://gnu.emacs.announce on Nov. 30,
2007 the following:
---------------------------------------------------------------------
"Deleting Emacs support for obsolete platforms"
"In Emacs 23 we are thinking of deleting Emacs support for the
systems
and computers listed below, because we think they are obsolete and
not useful.
If you know of a reason to keep support for any of those platforms,
please send an explanation to emacs-obsolete-poll _AT_ gnu _DOT_ org.
We will
try to keep the support for platforms that people actually want.
MSDOS
Mac OS all versions before MACOSX (only MAC_OS8 seems to have a
special define)
Apollo SR10.x (unexapollo.c)
Convex (unexconvex.c and m/convex.c)
Xenix (unexenix.c and s/xenix.h)
Iris (unexmips.c m/iris4d.h m/irist.h s/iris3-5.h s/iris3-6.h)
Gould (m/gould*)
Siemens machines running Sinix (unexsni.c)
Harris CXUX (s/cxux*)
ESIX, a variant of v.5.3 for the 386. (s/esix*)
Interactive (ISC) Unix (s/isc*)
Sony News (s/newsos*)
RTU 3.0, ucb universe (s/rtu.h) -- defines NOMULTIPLEJOBS
UniSoft's UniPlus 5.2 (s/uniplus.h)
UMAX (s/umax.h)
AT&T UNIX PC model 7300 (m/7300.h)
Acorn
Alliant (m/alliant*)
Amdahl (m/amdahl*)
Altos 3068 Unix System V Release 2 (m/altos.h)
Apollo (m/apollo.h)
AT&T 3b (m/att3b.h)
Aviion (m/aviion*)
Celerity (m/celerity.h)
clipper (m/clipper.h)
convergent S series (m/cnvrgnt.h)
cydra (m/cydra5.h)
Motorola System V/88 machines (m/delta88k.h) -- gcc dropped support
for 88k a while ago
Bull DPX/2 range (m/dpx2.h)
Dual machines using unisoft port (m/dual.h)
Elxsi machine (running enix) (m/elxsi.h)
Fujitsu F301 machine (m/f301.h)
i860 (m/i860.h) gcc dropped support a while ago
ibm ps/2 aix386 (m/ibmps2-aix.h)
ISI 68000's (m/is*)
Masscomp 5000 series running RTU, ucb universe (m/masscomp.h)
Megatest 68000's (m/mega68.h)
Whitechapel Computer Works MG1 (ns16000 based) (m/mg1.h)
Harris Night Hawk Series 1200 and Series 3000 (m/nh3000.h m/nh4000.h)
ns16000 (m/ns16000.h)
National Semiconductor 32000, running Genix (m/ns32000.h)
TI Nu machines using system V (m/nu.h)
HLH Orion (m/orion.h m/orion105.h)
Paragon i860 (m/paragon.h)
PFU A-series (m/pfa50.h)
Plexus running System V.2 (m/plexus.h)
pyramid. (m/pyramid.h)
sh3el (m/sh3el.h)
Bull SPS-7 (m/sps7.h)
m/sr2k.h
Stride (m/stride.h)
Sun 1 (m/sun1.h)
Sun 2 (m/sun2.h)
SEQUENT SYMMETRY m/symmetry.h
Tadpole 68k machines m/tad68k.h
tahoe m/tahoe.h
targon31 m/targon31.h
Tektronix* (m/tek4300.h m/tekxd88.h)
NCR Tower 32 running System V.2 (m/tower32.h)
NCR Tower 32 running System V.3 (m/tower32v3.h)
U-station (Nihon Unisys, SS5E; Sumitomo Denkoh, U-Station E30). (m/
ustation.h)
Wicat (m/wicat.h)
Honeywell XPS100 running UNIX System V.2 (m/xps100.h)
Data General's DG/UX (s/dgux*)
Irix before version 6
osf1 (s/osf*)
SunOS4 (s/sunos*)
RISCiX (s/riscix*)
SCO 3.2v4 (s/sco4.h)
SCO 3.2v5 (s/sco5.h)
Sun's 386-based RoadRunner (m/sun386.h)
Sun3 machines (m/sun3*)
Integrated Solutions 386 machine (m/is386.h)"
---------------------------------------------------------------------
Anyone else find it strange that MSDOS is first on the list? Of all
those machines, surely the MSDOS part doesn't take up the most space
and is much more common and less exotic. I can maybe understand if it
didn't build and they didn't know how to fix it, but it seems they
hate all DOS just due to MS. (FreeDOS kernel + BASE is GPL, too!) The
whole "MSDOG" crapology in the manuals doesn't help either. Why does
GNU (and just the modern world in general) love to deprecate things
that are working fine?? Grrrr....
Anyways, at least GNU Emacs builds again now (thanks, Eli !) although
I'm still unsure about Vista's issues. But if we want them to not
deprecate / delete us, we'd all better pitch in and test / use /
contribute. Mkay?
That was before I announced on the Emacs developer's list that I'm
reviving the DOS port.
> Anyone else find it strange that MSDOS is first on the list? Of all
> those machines, surely the MSDOS part doesn't take up the most space
> and is much more common and less exotic.
There were (and still are) several active contributors to Emacs
development who are on a quest to remove code that uses #ifdef's
related to obsolete platforms. Around the time of the announcement
you mention above, Emacs got a multi-tty feature merged in, which
allows a single Emacs session, on GNU/Linux and Unix systems only, to
use several different terminals, even if some of them are
character-mode tty's, and mix GUI and character-mode displays in a
single session. This allows, for example, to have a GUI session
working in your office to be contacted via ssh from outside, to
continue working from home on the same session. This multi-tty merge
severely broke the DOS port, so those people mentioned above started
lobbying for removing the DOS port, because it was broken anyway, and
nobody, certainly not them, wanted to fix it.
> Why does GNU (and just the modern world in general) love to
> deprecate things that are working fine?? Grrrr....
It's not GNU, and certainly not Richard Stallman himself. In fact,
Richard was one of the few who supported me when I objected to
removing the code specific to the DOS port. But the others pressed
and pressed...
Anyway, this is all history now, as long as I have the small amount of
time it takes to keep the DOS port alive.
> Anyways, at least GNU Emacs builds again now (thanks, Eli !) although
> I'm still unsure about Vista's issues. But if we want them to not
> deprecate / delete us, we'd all better pitch in and test / use /
> contribute. Mkay?
Right. TIA