About the current editors/emacs-devel port

Giorgos Keramidas keramida at freebsd.org
Thu Apr 20 16:05:45 UTC 2006


The patches in `ports/editors/emacs-devel' implement the
attached changes from the HEAD of the Emacs CVS repository.

These are slightly different from the ones included in the port's
files/ directory, because I have merged the patches of the port
to a snapshot of CVS-Emacs from 2006.04.20.12.17.26.

* Do we really need these as local patches, or should be ask the
  Emacs maintainers to add them to the Emacs 22.X tree before the
  official release?

* Can someone go through these changes and tell me why we have
  made them, so that I can talk to the folks at the emacs-devel
  list about them?  Most look like stuff that we can push
  upstream to the official CVS repository of Emacs, but I'm not
  sure about all the texinfo and *.info file changes.

* I was planning to start releasing weekly updates to the port
  and add the relevant distfiles to my home directory on freefall;
  `freefall:/home/keramida/public_distfiles/'.  What is the
  preferred way of getting these into the Ports tree (through
  send-pr, as usual)?

Rgerads,
Giorgos

%%% patch start %%%
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 4)
+++ Makefile.in	(working copy)
@@ -409,14 +409,6 @@
 ## That flag is also used in leim/Makefile.in
 install-arch-indep: mkdir info
 	-set ${COPYDESTS} ; \
-	unset CDPATH; \
-	for dir in ${COPYDIR} ; do \
-	  if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \
-	    rm -rf $$1 ; \
-	  fi ; \
-	  shift ; \
-	done
-	-set ${COPYDESTS} ; \
 	mkdir ${COPYDESTS} ; \
 	chmod ugo+rx ${COPYDESTS} ; \
 	unset CDPATH; \
Index: lispintro/Makefile.in
===================================================================
--- lispintro/Makefile.in	(revision 4)
+++ lispintro/Makefile.in	(working copy)
@@ -30,10 +30,10 @@
 INFO_SOURCES = ${srcdir}/emacs-lisp-intro.texi
 # The file name eintr must fit within 5 characters, to allow for
 # -NN extensions to fit into DOS 8+3 limits without clashing
-INFO_TARGETS = ${infodir}/eintr
+INFO_TARGETS = ${infodir}/eintr.info
 DVI_TARGETS = emacs-lisp-intro.dvi
 
-MAKEINFO = makeinfo
+MAKEINFO = makeinfo --no-split
 TEXI2DVI = texi2dvi
 DVIPS = dvips
 ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
@@ -44,7 +44,7 @@
 
 dvi: $(DVI_TARGETS)
 
-${infodir}/eintr: ${INFO_SOURCES}
+${infodir}/eintr.info: ${INFO_SOURCES}
 	$(MAKEINFO) -o $@ $(srcdir)/emacs-lisp-intro.texi
 
 emacs-lisp-intro.dvi: ${INFO_SOURCES}
Index: src/alloc.c
===================================================================
--- src/alloc.c	(revision 4)
+++ src/alloc.c	(working copy)
@@ -4542,8 +4542,12 @@
      needed on ia64 too.  See mach_dep.c, where it also says inline
      assembler doesn't work with relevant proprietary compilers.  */
 #ifdef sparc
+#ifdef __sparc64__
+  asm ("flushw");
+#else
   asm ("ta 3");
 #endif
+#endif
 
   /* Save registers that we need to see on the stack.  We need to see
      registers used to hold register variables and registers used to
Index: man/Makefile.in
===================================================================
--- man/Makefile.in	(revision 4)
+++ man/Makefile.in	(working copy)
@@ -32,34 +32,33 @@
 
 # The makeinfo program is part of the Texinfo distribution.
 # Use --force so that it generates output even if there are errors.
-MAKEINFO = makeinfo --force
-INFO_TARGETS = ../info/emacs ../info/emacs-xtra ../info/ccmode ../info/cl \
-	        ../info/dired-x ../info/ediff ../info/forms ../info/gnus \
-		../info/message ../info/sieve ../info/pgg ../info/emacs-mime \
-		../info/info ../info/mh-e ../info/reftex \
-		../info/sc ../info/vip ../info/viper ../info/widget \
-		../info/efaq ../info/ada-mode ../info/autotype ../info/calc \
-		../info/idlwave ../info/eudc ../info/ebrowse ../info/pcl-cvs \
-		../info/woman ../info/eshell ../info/org ../info/url \
-		../info/speedbar ../info/tramp ../info/ses ../info/smtpmail \
-		../info/flymake ../info/newsticker ../info/rcirc ../info/erc
-DVI_TARGETS = 	emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \
-		 ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \
-                 gnus.dvi message.dvi sieve.dvi pgg.dvi mh-e.dvi \
-		 reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \
-		 ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \
-		 pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \
-		 speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \
-                 newsticker.dvi emacs-xtra.dvi rcirc.dvi erc.dvi
+MAKEINFO = makeinfo --no-split --force
+TEXI2DVI = texi2dvi
+INFO_TARGETS = emacs.info emacs-xtra.info ccmode.info cl.info dired-x.info \
+	       ediff.info forms.info gnus.info message.info sieve.info \
+	       pgg.info emacs-mime.info info.info mh-e.info reftex.info \
+	       sc.info vip.info viper.info widget.info efaq.info \
+	       ada-mode.info autotype.info calc.info idlwave.info \
+	       eudc.info ebrowse.info pcl-cvs.info woman.info eshell.info \
+	       org.info url.info speedbar.info tramp.info ses.info \
+	       smtpmail.info flymake.info newsticker.info rcirc.info erc.info
+DVI_TARGETS =  emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \
+	       ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \
+	       gnus.dvi message.dvi sieve.dvi pgg.dvi mh-e.dvi \
+	       reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \
+	       ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \
+	       pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \
+	       speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \
+	       newsticker.dvi emacs-xtra.dvi rcirc.dvi erc.dvi
 INFOSOURCES = info.texi
 
 # The following rule does not work with all versions of `make'.
-.SUFFIXES: .texi .dvi
+.SUFFIXES: .texi .dvi .info
 .texi.dvi:
-	texi2dvi $<
+	TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" $(TEXI2DVI) $<
 
-TEXI2DVI = texi2dvi
-ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"
+.texi.info:
+	cd $(srcdir); $(MAKEINFO) $< -o ../info/$(<:.texi=.info)
 
 EMACSSOURCES= \
 	${srcdir}/emacs.texi \
@@ -118,22 +117,6 @@
 # to exist in the build directory.
 # In a distribution of Emacs, the Info files should be up to date.
 
-# The following target uses an explicit -o switch to work around
-# the @setfilename directive in info.texi, which is required for
-# the Texinfo distribution.
-
-../info/info: ${INFOSOURCES}
-	cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@
-
-info.dvi: ${INFOSOURCES}
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi
-
-../info/emacs: ${EMACSSOURCES}
-	cd $(srcdir); $(MAKEINFO) emacs.texi
-
-emacs.dvi: ${EMACSSOURCES}
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
-
 # This target is here so you could easily get the list of the *.texi
 # files which belong to the Emacs manual (as opposed to the separate
 # manuals for CL, CC Mode, Ebrowse, etc.).  With this target, you can
@@ -141,201 +124,22 @@
 emacsman:
 	@echo $(EMACSSOURCES)
 
-../info/ccmode: cc-mode.texi
-	cd $(srcdir); $(MAKEINFO) cc-mode.texi
-cc-mode.dvi: cc-mode.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi
-
-../info/ada-mode: ada-mode.texi
-	cd $(srcdir); $(MAKEINFO) ada-mode.texi
-ada-mode.dvi: ada-mode.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi
-
-../info/pcl-cvs: pcl-cvs.texi
-	cd $(srcdir); $(MAKEINFO) pcl-cvs.texi
-pcl-cvs.dvi: pcl-cvs.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi
-
-../info/eshell: eshell.texi
-	cd $(srcdir); $(MAKEINFO) eshell.texi
-eshell.dvi: eshell.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi
-
-../info/cl: cl.texi
-	cd $(srcdir); $(MAKEINFO) cl.texi
-cl.dvi: cl.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi
-
-../info/dired-x: dired-x.texi
-	cd $(srcdir); $(MAKEINFO) dired-x.texi
-dired-x.dvi: dired-x.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi
-
-../info/ediff: ediff.texi
-	cd $(srcdir); $(MAKEINFO) ediff.texi
-ediff.dvi: ediff.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi
-
-../info/emacs-xtra: emacs-xtra.texi
-	cd $(srcdir); $(MAKEINFO) emacs-xtra.texi
-emacs-xtra.dvi: emacs-xtra.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
-
-../info/forms: forms.texi
-	cd $(srcdir); $(MAKEINFO) forms.texi
-forms.dvi: forms.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi
-
 # gnus/message/emacs-mime/sieve/pgg are part of Gnus:
-../info/gnus: gnus.texi gnus-faq.texi
-	cd $(srcdir); $(MAKEINFO) gnus.texi
 gnus.dvi: gnus.texi gnus-faq.texi
 	sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
-	$(ENVADD) $(TEXI2DVI) gnustmp.texi
+	TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" $(TEXI2DVI) gnustmp.texi
 	cp gnustmp.dvi $*.dvi
 	rm gnustmp.*
 
-../info/message: message.texi
-	cd $(srcdir); $(MAKEINFO) message.texi
-message.dvi: message.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi
+ccmode.info: cc-mode.texi
+	cd $(srcdir); $(MAKEINFO) cc-mode.texi -o ../info/ccmode.info
 
-../info/sieve: sieve.texi
-	cd $(srcdir); $(MAKEINFO) sieve.texi
-sieve.dvi: sieve.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi
+efaq.info: faq.texi
+	cd $(srcdir); $(MAKEINFO) faq.texi -o ../info/efaq.info
 
-../info/emacs-mime: emacs-mime.texi
-	cd $(srcdir); $(MAKEINFO) emacs-mime.texi
-emacs-mime.dvi: emacs-mime.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi
-
-../info/pgg: pgg.texi
-	cd $(srcdir); $(MAKEINFO) pgg.texi
-pgg.dvi: pgg.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi
-
-../info/mh-e: mh-e.texi
-	cd $(srcdir); $(MAKEINFO) mh-e.texi
-mh-e.dvi: mh-e.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi
-
-../info/reftex: reftex.texi
-	cd $(srcdir); $(MAKEINFO) reftex.texi
-reftex.dvi: reftex.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi
-
-../info/sc: sc.texi
-	cd $(srcdir); $(MAKEINFO) sc.texi
-sc.dvi: sc.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi
-
-../info/vip: vip.texi
-	cd $(srcdir); $(MAKEINFO) vip.texi
-vip.dvi: vip.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi
-
-../info/viper: viper.texi
-	cd $(srcdir); $(MAKEINFO) viper.texi
-viper.dvi: viper.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi
-
-../info/widget: widget.texi
-	cd $(srcdir); $(MAKEINFO) widget.texi
-widget.dvi: widget.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi
-
-../info/efaq: faq.texi
-	cd $(srcdir); $(MAKEINFO) faq.texi
-faq.dvi: faq.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi
-
 ../etc/GNU: gnu1.texi gnu.texi
 	cd $(srcdir) && makeinfo --no-headers -o ../etc/GNU gnu1.texi
 
-../info/autotype: autotype.texi
-	cd $(srcdir); $(MAKEINFO) autotype.texi
-autotype.dvi: autotype.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi
-
-../info/calc: calc.texi
-	cd $(srcdir); $(MAKEINFO) calc.texi
-
-calc.dvi: calc.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi
-
-# This is produced with --no-split to avoid making files whose
-# names clash on DOS 8+3 filesystems
-../info/idlwave: idlwave.texi
-	cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi
-idlwave.dvi: idlwave.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi
-
-../info/eudc: eudc.texi
-	cd $(srcdir); $(MAKEINFO) eudc.texi
-eudc.dvi: eudc.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi
-
-../info/ebrowse: ebrowse.texi
-	cd $(srcdir); $(MAKEINFO) ebrowse.texi
-ebrowse.dvi: ebrowse.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi
-
-../info/woman: woman.texi
-	cd $(srcdir); $(MAKEINFO) woman.texi
-woman.dvi: woman.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi
-
-../info/org: org.texi
-	cd $(srcdir); $(MAKEINFO) org.texi
-org.dvi: org.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi
-
-../info/url: url.texi
-	cd $(srcdir); $(MAKEINFO) url.texi
-url.dvi: url.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi
-
-../info/speedbar: speedbar.texi
-	cd $(srcdir); $(MAKEINFO) speedbar.texi
-speedbar.dvi: speedbar.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi
-
-../info/tramp: tramp.texi trampver.texi
-	cd $(srcdir); $(MAKEINFO) -D emacs tramp.texi
-tramp.dvi: tramp.texi trampver.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi
-
-../info/ses: ses.texi
-	cd $(srcdir); $(MAKEINFO) ses.texi
-ses.dvi: ses.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi
-
-../info/smtpmail: smtpmail.texi
-	cd $(srcdir); $(MAKEINFO) smtpmail.texi
-smtpmail.dvi: smtpmail.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi
-
-../info/flymake: flymake.texi
-	cd $(srcdir); $(MAKEINFO) flymake.texi
-flymake.dvi: flymake.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi
-
-../info/newsticker: newsticker.texi
-	cd $(srcdir); $(MAKEINFO) newsticker.texi
-newsticker.dvi: newsticker.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi
-
-../info/rcirc: rcirc.texi
-	cd $(srcdir); $(MAKEINFO) rcirc.texi
-rcirc.dvi: rcirc.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi
-
-../info/erc: erc.texi
-	cd $(srcdir); $(MAKEINFO) erc.texi
-erc.dvi: erc.texi
-	$(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi
-
 mostlyclean:
 	rm -f *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.*
 
Index: configure.in
===================================================================
--- configure.in	(revision 4)
+++ configure.in	(working copy)
@@ -237,6 +237,9 @@
     opsys=freebsd
     case "${canonical}" in
       alpha*-*-freebsd*)	machine=alpha ;;
+      ia64-*-freebsd*)		machine=ia64 ;;
+      sparc64-*-freebsd*)	machine=sparc ;;
+      powerpc-*-freebsd*)	machine=macppc ;;
       i[3456]86-*-freebsd*)	machine=intel386 ;;
       amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;;
     esac
Index: lib-src/Makefile.in
===================================================================
--- lib-src/Makefile.in	(revision 4)
+++ lib-src/Makefile.in	(working copy)
@@ -94,6 +94,7 @@
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
 # By default, we uphold the dignity of our programs.
 INSTALL_STRIP =
 
@@ -319,7 +320,7 @@
         if [ `(cd $(DESTDIR)${archlibdir} && /bin/pwd)` \
              != `(cd ${srcdir} && /bin/pwd)` ]; then \
 	  for file in ${SCRIPTS}; do \
-	    $(INSTALL_PROGRAM) ${srcdir}/$$file $(DESTDIR)${archlibdir}/$$file; \
+	    $(INSTALL_SCRIPT) ${srcdir}/$$file $(DESTDIR)${archlibdir}/$$file; \
 	  done ; \
 	fi
 
@@ -331,7 +332,7 @@
 	  chmod a+rx $(DESTDIR)${bindir}/`echo $${file} | sed '$(TRANSFORM)'`; \
 	done
 	for file in ${INSTALLABLE_SCRIPTS} ; do \
-	  $(INSTALL_PROGRAM) ${srcdir}/$${file} $(DESTDIR)${bindir}/`echo $${file} | sed '$(TRANSFORM)'`  ; \
+	  $(INSTALL_SCRIPT) ${srcdir}/$${file} $(DESTDIR)${bindir}/`echo $${file} | sed '$(TRANSFORM)'`  ; \
 	  chmod a+rx $(DESTDIR)${bindir}/`echo $${file} | sed '$(TRANSFORM)'`; \
 	done
 
Index: lispref/Makefile.in
===================================================================
--- lispref/Makefile.in	(revision 4)
+++ lispref/Makefile.in	(working copy)
@@ -31,7 +31,7 @@
 TEXI2DVI = texi2dvi
 SHELL = /bin/sh
 INSTALL_INFO = install-info
-MAKEINFO = makeinfo --force
+MAKEINFO = makeinfo --force --no-split
 
 # The name of the manual:
 VERSION=2.9
@@ -97,10 +97,10 @@
 .PHONY: clean
 
 # The info file is named `elisp'.
-info: $(infodir)/elisp
+info: $(infodir)/elisp.info
 
-$(infodir)/elisp: $(srcs)
-	$(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp
+$(infodir)/elisp.info: $(srcs)
+	$(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp.info
 
 elisp.dvi: $(srcs)
 	$(TEXI2DVI) -I $(srcdir) $(srcdir)/elisp.texi
@@ -108,8 +108,8 @@
 # This is for use in a separate distro of the Emacs Lisp manual.
 install: elisp
 	$(srcdir)/mkinstalldirs $(infodir)
-	cp elisp elisp-[1-9] elisp-[1-9][0-9] $(infodir)
-	${INSTALL_INFO} --info-dir=${infodir} ${infodir}/elisp
+	cp elisp.info $(infodir)
+	${INSTALL_INFO} --info-dir=${infodir} ${infodir}/elisp.info
 
 # This is for use in a separate distro of the Emacs Lisp manual.
 elisp: $(srcs)
@@ -124,9 +124,9 @@
 
 maintainer-clean: clean
 	rm -f elisp.dvi elisp.oaux
-	cd $(infodir); rm -f elisp elisp-[1-9] elisp-[1-9][0-9]
+	cd $(infodir); rm -f elisp.info
 
-dist: $(infodir)/elisp elisp.dvi
+dist: $(infodir)/elisp.info elisp.dvi
 	-rm -rf temp
 	-mkdir temp
 	-mkdir temp/$(manual)
@@ -134,7 +134,7 @@
  $(srcdir)/Makefile.in $(srcs) \
  $(srcdir)/../man/texinfo.tex \
  elisp.dvi elisp.aux elisp.??s \
- $(infodir)/elisp $(infodir)/elisp-[1-9] $(infodir)/elisp-[1-9][0-9] \
+ $(infodir)/elisp.info \
  temp/$(manual)
 	-(cd temp/$(manual); rm -f mkinstalldirs)
 	cp $(srcdir)/mkinstalldirs temp/$(manual)
%%% patch end %%%



More information about the freebsd-ports mailing list