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