From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Eli Zaretskii" Newsgroups: gmane.emacs.devel Subject: Re: Your Emacs changes Date: Tue, 19 Aug 2003 09:51:47 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <2427-Tue19Aug2003095146+0300-eliz@elta.co.il> References: Reply-To: Eli Zaretskii NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1061276296 29482 80.91.224.253 (19 Aug 2003 06:58:16 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 19 Aug 2003 06:58:16 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Tue Aug 19 08:58:15 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19p0Rb-0007CN-00 for ; Tue, 19 Aug 2003 08:58:15 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19p0UI-0002t5-00 for ; Tue, 19 Aug 2003 09:01:03 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19p0Qy-0006k2-6z for emacs-devel@quimby.gnus.org; Tue, 19 Aug 2003 02:57:36 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19p0QQ-0006eK-0y for emacs-devel@gnu.org; Tue, 19 Aug 2003 02:57:02 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19p0Ps-0005Lt-Hq for emacs-devel@gnu.org; Tue, 19 Aug 2003 02:56:59 -0400 Original-Received: from [192.114.186.22] (helo=gollum.inter.net.il) by monty-python.gnu.org with esmtp (Exim 4.20) id 19p0Ps-0005Lg-5a for emacs-devel@gnu.org; Tue, 19 Aug 2003 02:56:28 -0400 Original-Received: from zaretski (pns03-206-106.inter.net.il [80.230.206.106]) by gollum.inter.net.il (Mirapoint Messaging Server MOS 3.3.5-GR) with ESMTP id BFH67616; Tue, 19 Aug 2003 09:56:14 +0300 (IDT) Original-To: peter@runestig.com X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9 In-reply-to: (peter@runestig.com) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:16018 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:16018 > From: "Peter 'Luna' Runestig" > Date: 18 Aug 2003 17:21:58 +0200 > > Richard Stallman writes: > > Now that we have your papers, we can install your changes. Could you > > send your changes once again to emacs-devel, together with change log > > entries for them? > > Here it goes: > [...] Hmm, bother: > +SHELL = cmd > [...] > +MAKEINFO = makeinfo > +TEXI2DVI = texi2dvi > +DVIPS = dvips > +ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" > [...] > +mostlyclean: > + rm -f *.log *.cp *.fn *.ky *.pg *.vr *.tp > + > +clean: mostlyclean > + rm -f *.dvi > + > +distclean: clean > + > +maintainer-clean: distclean > + rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc These patches will probably work only with the Cygwin-compiled ports of Texinfo and programs such as dvips and rm. [There's the fpTeX project which produces native Windows ports of TeX, DVIware, and related programs, so the assumption that only Cygwin ports of those programs exist is incorrect. fpTeX is included on the annual releases of the "TeX Live" CDROM.] Also, the Makefile says "SHELL = cmd", but commands such as this: > +emacs-lisp-intro.dvi: $(INFO_SOURCES) > + $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi and this: > +elisp.dvi: $(srcs) index.texi > + # Avoid losing old contents of aux file entirely. > + -mv elisp.aux elisp.oaux > + # First shot to define xrefs. > + $(texinputdir) $(TEX) $(srcdir)/elisp.texi > + if [ a$(permuted_index) != a ]; \ > + then \ > + $(srcdir)/permute-index; \ > + mv permuted.fns elisp.fns; \ > + texindex elisp.tp; \ > + else \ > + texindex elisp.??; \ > + fi > + $(texinputdir) $(TEX) $(srcdir)/elisp.texi will only work if the shell is actually a port of a Unix shell, such as Bash, since (AFAIK) CMD doesn't understand the syntax "foo=bar some-command" and also because texi2dvi is a Unix shell script that CMD cannot run directly, and because "if [ something" will totally confuse CMD. > +dist: elisp elisp.dvi > + -rm -rf temp > + -mkdir temp > + -mkdir temp/$(manual) > + -ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \ > + $(srcdir)/Makefile.in $(srcdir)/permute-index $(srcs) \ > + $(srcdir)/../man/texinfo.tex \ > + elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \ > + temp/$(manual) > + -(cd temp/$(manual); rm -f mkinstalldirs) > + cp $(srcdir)/mkinstalldirs temp/$(manual) > + (cd temp/$(manual); rm -f *~) > + (cd temp; tar chf - $(manual)) | gzip > $(manual).tar.gz > + -rm -rf temp Since no one will ever prepare an Emacs tarball on Windows, targets such as this seems unnecessary (it will also not work, since Windows doesn't support hard links). Is it really your intent here to allow only Cygwin-compiled ports to be used? If so, I'd suggest to say so in some prominent place, since other makefile-w32.in files (e.g., in the `src' directory) don't make those assumptions. (They also take care to use available Windows commands for operations such as rm, mv and cp.) Better still, make these Makefiles work with stock Windows shells, if you are prepared to invest an extra effort. E.g., the ENVADD stuff can be replaced with Make's own "export foo=bar" directives. Or at least detect that the Makefile is being used with non-Cygwin ports and refuse to run. The line "SHELL = CMD" is erroneous in any case, I think. All these considerations are important especially in the `man' directory, since the absence of Cygwin ports will prevent people from building and changing the user manual, which is essential for proper usage of Emacs. In any case, thank you for your work.