commit 5bbc55fcdb050e421286a6f9e51c7732cbf6eebe (HEAD, refs/remotes/origin/master) Author: Eli Zaretskii Date: Sat Aug 15 11:26:36 2015 +0300 Add doc strings to 2 help-mode.el functions * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc strings. (Bug#21263) diff --git a/lisp/help-mode.el b/lisp/help-mode.el index e1fc9fd..37847e2 100644 --- a/lisp/help-mode.el +++ b/lisp/help-mode.el @@ -294,11 +294,13 @@ Commands: ;;;###autoload (defun help-mode-setup () + "Enter Help Mode in the current buffer." (help-mode) (setq buffer-read-only nil)) ;;;###autoload (defun help-mode-finish () + "Exit Help Mode in the current buffer." (when (derived-mode-p 'help-mode) (setq buffer-read-only t) (help-make-xrefs (current-buffer)))) commit 8db2b2a7d3fc3e4475bc4137c11069a69a3234ec Author: Eli Zaretskii Date: Sat Aug 15 10:56:51 2015 +0300 Remove files used by the old MS-Windows specific build procedure * nt/configure.bat: Remove everything except the blurb about the new build procedure. * make-dist: Remove references to makefile.w32-in in various directories, and to files in nt/ that were deleted. * etc/NEWS: Mention the fact that the files were dropped. diff --git a/admin/unidata/makefile.w32-in b/admin/unidata/makefile.w32-in deleted file mode 100644 index 0e9b9f0..0000000 --- a/admin/unidata/makefile.w32-in +++ /dev/null @@ -1,56 +0,0 @@ -# makefile.w32-in -- W32 -*- Makefile -*- to generate character property tables. -# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 -# National Institute of Advanced Industrial Science and Technology (AIST) -# Registration Number H13PRO009 -# -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -EMACS = ../../src/$(BLD)/emacs.exe -DSTDIR = ../../lisp/international -lisp = $(CURDIR)/../../lisp -# EMACSLOADPATH should include international, so Emacs finds encoded-kb. -# It should include emacs-lisp, so Emacs finds bytecomp. This is because -# lisp/subdirs.el is not generated yet when the commands below run. -EMACSLOADPATH = $(lisp);$(lisp)/international;$(lisp)/emacs-lisp -# Quote EMACS so it could be a file name with embedded whitespace -RUNEMACS = "$(EMACS)" -Q -batch - -all: $(DSTDIR)/charprop.el - -.el.elc: - $(RUNEMACS) -f batch-byte-compile $< - -unidata.txt: UnicodeData.txt - sed -e \ - $(ARGQUOTE)s/\([^;]*\);\(.*\)/(#x\1 $(DQUOTE)\2$(DQUOTE))/$(ARGQUOTE)\ - -e $(ARGQUOTE)s/;/$(DQUOTE) $(DQUOTE)/g$(ARGQUOTE) < UnicodeData.txt > $@ - -charprop-SH: unidata-gen.elc unidata.txt - ELC=$(CURDIR)/unidata-gen.elc; \ - DATADIR=$(CURDIR); \ - DATA=unidata.txt; \ - cd $(DSTDIR); \ - $(RUNEMACS) --load $${ELC} -f unidata-gen-files $${DATADIR} $${DATA} - -charprop-CMD: unidata-gen.elc unidata.txt - $(RUNEMACS) --eval $(ARGQUOTE)(cd $(DQUOTE)$(DSTDIR)$(DQUOTE))$(ARGQUOTE) --load $(CURDIR)/unidata-gen.elc -f unidata-gen-files $(CURDIR) unidata.txt - -${DSTDIR}/charprop.el: charprop-$(SHELLTYPE) - -clean: - - $(DEL) unidata-gen.elc unidata.txt - diff --git a/doc/emacs/makefile.w32-in b/doc/emacs/makefile.w32-in deleted file mode 100644 index 99da4ab..0000000 --- a/doc/emacs/makefile.w32-in +++ /dev/null @@ -1,153 +0,0 @@ -#### -*- Makefile -*- for the Emacs Manual - -# Copyright (C) 2003-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -# Where to find the source code. The source code for Emacs's C kernel is -# expected to be in $(srcdir)/src, and the source code for Emacs's -# utility programs is expected to be in $(srcdir)/lib-src. This is -# set by the configure script's '--srcdir' option. -srcdir=. - -infodir = $(srcdir)/../../info - -# The makeinfo program is part of the Texinfo distribution. -MAKEINFO = makeinfo -MAKEINFO_OPTS = --force --enable-encoding -I$(srcdir) -MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat -INFO_EXT=.info -INFO_OPTS=--no-split -INFO_TARGETS = $(infodir)/emacs$(INFO_EXT) -DVI_TARGETS = emacs.dvi -INFOSOURCES = info.texi - -# The following rule does not work with all versions of 'make'. -.SUFFIXES: .texi .dvi -.texi.dvi: - texi2dvi $< - -TEXI2DVI = texi2dvi -ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ - "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C - -EMACS_XTRA=\ - $(srcdir)/arevert-xtra.texi \ - $(srcdir)/cal-xtra.texi \ - $(srcdir)/dired-xtra.texi \ - $(srcdir)/picture-xtra.texi \ - $(srcdir)/emerge-xtra.texi \ - $(srcdir)/vc-xtra.texi \ - $(srcdir)/vc1-xtra.texi \ - $(srcdir)/fortran-xtra.texi \ - $(srcdir)/msdos-xtra.texi - -EMACSSOURCES= \ - $(srcdir)/emacs.texi \ - $(srcdir)/emacsver.texi \ - $(srcdir)/doclicense.texi \ - $(srcdir)/screen.texi \ - $(srcdir)/commands.texi \ - $(srcdir)/entering.texi \ - $(srcdir)/basic.texi \ - $(srcdir)/mini.texi \ - $(srcdir)/m-x.texi \ - $(srcdir)/help.texi \ - $(srcdir)/mark.texi \ - $(srcdir)/killing.texi \ - $(srcdir)/regs.texi \ - $(srcdir)/display.texi \ - $(srcdir)/search.texi \ - $(srcdir)/fixit.texi \ - $(srcdir)/files.texi \ - $(srcdir)/buffers.texi \ - $(srcdir)/windows.texi \ - $(srcdir)/frames.texi \ - $(srcdir)/mule.texi \ - $(srcdir)/modes.texi \ - $(srcdir)/indent.texi \ - $(srcdir)/text.texi \ - $(srcdir)/programs.texi \ - $(srcdir)/building.texi \ - $(srcdir)/maintaining.texi \ - $(srcdir)/abbrevs.texi \ - $(srcdir)/sending.texi \ - $(srcdir)/rmail.texi \ - $(srcdir)/dired.texi \ - $(srcdir)/calendar.texi \ - $(srcdir)/misc.texi \ - $(srcdir)/package.texi \ - $(srcdir)/custom.texi \ - $(srcdir)/trouble.texi \ - $(srcdir)/cmdargs.texi \ - $(srcdir)/xresources.texi \ - $(srcdir)/anti.texi \ - $(srcdir)/macos.texi \ - $(srcdir)/msdos.texi \ - $(srcdir)/gnu.texi \ - $(srcdir)/glossary.texi \ - $(srcdir)/ack.texi \ - $(srcdir)/kmacro.texi \ - $(EMACS_XTRA) - -info: $(INFO_TARGETS) - -dvi: $(DVI_TARGETS) - -# Note that all the Info targets build the Info files -# in srcdir. There is no provision for Info files -# to exist in the build directory. -# In a distribution of Emacs, the Info files should be up to date. - -$(infodir)/dir: - $(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS) - -$(infodir)/emacs$(INFO_EXT): $(EMACSSOURCES) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ emacs.texi - -emacs.dvi: $(EMACSSOURCES) - $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs.texi - -emacs.html: $(EMACSSOURCES) - $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ emacs.texi - -emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA) - $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-xtra.texi - -mostlyclean: - - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* - -## FIXME $(infodir)/emacs* deletes too much, eg emacs-mime. -clean: mostlyclean - - $(DEL) *.dvi - - $(DEL) $(infodir)/emacs* - - $(DEL_TREE) emacs.html - -distclean: clean - - $(DEL) makefile - -maintainer-clean: distclean - - $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc -# Don't delete these, because they are outside the current directory. -# for file in $(INFO_TARGETS); do rm -f $${file}*; done - - -# Formerly this directory had texindex.c and getopt.c in it -# and this makefile built them to make texindex. -# That caused trouble because this is run entirely in the source directory. -# Since we expect to get texi2dvi from elsewhere, -# it is ok to expect texindex from elsewhere also. diff --git a/doc/lispintro/makefile.w32-in b/doc/lispintro/makefile.w32-in deleted file mode 100644 index 12e3a43..0000000 --- a/doc/lispintro/makefile.w32-in +++ /dev/null @@ -1,85 +0,0 @@ -#### -*- Makefile -*- for the Emacs Lisp Introduction manual. - -# Copyright (C) 2003-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -srcdir = . - -infodir = $(srcdir)/../../info -# Directory with the (customized) texinfo.tex file. -texinfodir = $(srcdir)/../misc -# Directory with emacsver.texi. -emacsdir = $(srcdir)/../emacs - -INFO_EXT=.info -INFO_OPTS=--no-split -I$(emacsdir) -INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi $(emacsdir)/emacsver.texi \ - $(srcdir)/doclicense.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_EXT) -DVI_TARGETS = emacs-lisp-intro.dvi - -MAKEINFO = makeinfo -INSTALL_INFO = install-info -TEXI2DVI = texi2dvi -TEXI2PDF = texi2pdf -DVIPS = dvips -ENVADD = $(srcdir)\..\..\nt\envadd.bat \ - "TEXINPUTS=$(srcdir);$(texinfodir);$(emacsdir);$(TEXINPUTS)" \ - "MAKEINFO=$(MAKEINFO) -I$(srcdir) -I$(emacsdir) -I$(texinfodir)" /C - -.SUFFIXES: .dvi .ps .texi - -info: $(INFO_TARGETS) - -$(infodir)/dir: - $(INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS) - -dvi: $(DVI_TARGETS) - -$(infodir)/eintr$(INFO_EXT): $(INFO_SOURCES) - $(MAKEINFO) $(INFO_OPTS) -o $@ $(srcdir)/emacs-lisp-intro.texi - -emacs-lisp-intro.dvi: $(INFO_SOURCES) - $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi - -emacs-lisp-intro.pdf: $(INFO_SOURCES) - $(ENVADD) $(TEXI2PDF) $(srcdir)/emacs-lisp-intro.texi - -emacs-lisp-intro.html: $(INFO_SOURCES) - $(MAKEINFO) --html -o $@ $(srcdir)/emacs-lisp-intro.texi - -.dvi.ps: - $(DVIPS) $< -o $@ - -mostlyclean: - - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr *.tp - -clean: mostlyclean - - $(DEL) *.dvi $(infodir)/eintr$(INFO_EXT)* - -distclean: clean - - $(DEL) makefile - -maintainer-clean: distclean - - $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in deleted file mode 100644 index c30d6e2..0000000 --- a/doc/lispref/makefile.w32-in +++ /dev/null @@ -1,128 +0,0 @@ -# -*- Makefile -*- for the GNU Emacs Lisp Reference Manual. - -# Copyright (C) 2003-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -# Standard configure variables. -srcdir = . - -infodir = $(srcdir)/../../info - -# Directory with emacsver.texi. -emacsdir = $(srcdir)/../emacs -# Directory with the (customized) texinfo.tex file. -texinfodir = $(srcdir)/../misc - -INFO_EXT=.info -INFO_OPTS=--no-split - -# Redefine 'TEX' if 'tex' does not invoke plain TeX. For example: -# TEX=platex -TEX=tex -INSTALL_INFO = install-info -MAKEINFO = makeinfo -MAKEINFO_OPTS = --force --enable-encoding -I$(srcdir) -I$(emacsdir) - -# The environment variable and its value to add $(srcdir) to the path -# searched for TeX input files. -texinputdir = $(srcdir)\..\..\nt\envadd.bat \ - "TEXINPUTS=$(srcdir);$(texinfodir);$(emacsdir);$(TEXINPUTS)" \ - "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C - -# List of all the texinfo files in the manual: - -srcs = \ - $(emacsdir)/emacsver.texi \ - $(srcdir)/abbrevs.texi \ - $(srcdir)/anti.texi \ - $(srcdir)/backups.texi \ - $(srcdir)/buffers.texi \ - $(srcdir)/commands.texi \ - $(srcdir)/compile.texi \ - $(srcdir)/control.texi \ - $(srcdir)/customize.texi \ - $(srcdir)/debugging.texi \ - $(srcdir)/display.texi \ - $(srcdir)/edebug.texi \ - $(srcdir)/elisp.texi \ - $(srcdir)/errors.texi \ - $(srcdir)/eval.texi \ - $(srcdir)/files.texi \ - $(srcdir)/frames.texi \ - $(srcdir)/functions.texi \ - $(srcdir)/hash.texi \ - $(srcdir)/help.texi \ - $(srcdir)/hooks.texi \ - $(srcdir)/internals.texi \ - $(srcdir)/intro.texi \ - $(srcdir)/keymaps.texi \ - $(srcdir)/lists.texi \ - $(srcdir)/loading.texi \ - $(srcdir)/macros.texi \ - $(srcdir)/maps.texi \ - $(srcdir)/markers.texi \ - $(srcdir)/minibuf.texi \ - $(srcdir)/modes.texi \ - $(srcdir)/nonascii.texi \ - $(srcdir)/numbers.texi \ - $(srcdir)/objects.texi \ - $(srcdir)/os.texi \ - $(srcdir)/package.texi \ - $(srcdir)/positions.texi \ - $(srcdir)/processes.texi \ - $(srcdir)/searching.texi \ - $(srcdir)/sequences.texi \ - $(srcdir)/streams.texi \ - $(srcdir)/strings.texi \ - $(srcdir)/symbols.texi \ - $(srcdir)/syntax.texi \ - $(srcdir)/text.texi \ - $(srcdir)/tips.texi \ - $(srcdir)/variables.texi \ - $(srcdir)/windows.texi \ - $(srcdir)/index.texi \ - $(srcdir)/gpl.texi \ - $(srcdir)/doclicense.texi - - -.PHONY: clean - -# The info file is named 'elisp'. - -info: $(infodir)/elisp$(INFO_EXT) - -$(infodir)/dir: - $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/elisp - -$(infodir)/elisp$(INFO_EXT): $(srcs) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $(srcdir)/elisp.texi - -elisp.dvi: $(srcs) - $(texinputdir) $(TEX) $(srcdir)/elisp.texi - -clean: - - $(DEL) *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \ - *.vr *.vrs *.pg *.pgs *.ky *.kys - - $(DEL) make.out core - - $(DEL) $(infodir)/elisp* - -distclean: clean - - $(DEL) makefile - -maintainer-clean: distclean - - $(DEL) elisp$(INFO_EXT) elisp$(INFO_EXT)-? elisp$(INFO_EXT)-?? elisp.dvi elisp.oaux diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in deleted file mode 100644 index 398b774..0000000 --- a/doc/misc/makefile.w32-in +++ /dev/null @@ -1,431 +0,0 @@ -#### -*- Makefile -*- for documentation other than the Emacs manual. - -# Copyright (C) 2003-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -# Where to find the source code. The source code for Emacs's C kernel is -# expected to be in $(srcdir)/src, and the source code for Emacs's -# utility programs is expected to be in $(srcdir)/lib-src. This is -# set by the configure script's '--srcdir' option. -srcdir=. - -infodir = $(srcdir)/../../info - -## Directory with emacsver.texi. -## Currently only used by efaq; could be added to MAKEINFO. -emacsdir = $(srcdir)/../emacs - -INFO_EXT=.info -INFO_OPTS=--no-split - -# The makeinfo program is part of the Texinfo distribution. -MAKEINFO = makeinfo -MAKEINFO_OPTS = --force -I$(emacsdir) -MULTI_INSTALL_INFO = $(srcdir)\..\..\nt\multi-install-info.bat -INFO_TARGETS = $(infodir)/ccmode$(INFO_EXT) \ - $(infodir)/cl$(INFO_EXT) $(infodir)/dbus$(INFO_EXT) $(infodir)/dired-x$(INFO_EXT) \ - $(infodir)/ediff$(INFO_EXT) $(infodir)/forms$(INFO_EXT) $(infodir)/gnus$(INFO_EXT) \ - $(infodir)/message$(INFO_EXT) $(infodir)/sieve$(INFO_EXT) $(infodir)/pgg$(INFO_EXT) \ - $(infodir)/emacs-mime$(INFO_EXT) $(infodir)/info$(INFO_EXT) $(infodir)/mh-e$(INFO_EXT) \ - $(infodir)/reftex$(INFO_EXT) $(infodir)/sc$(INFO_EXT) $(infodir)/vip$(INFO_EXT) \ - $(infodir)/viper$(INFO_EXT) $(infodir)/widget$(INFO_EXT) $(infodir)/efaq$(INFO_EXT) \ - $(infodir)/ada-mode$(INFO_EXT) $(infodir)/autotype$(INFO_EXT) $(infodir)/calc$(INFO_EXT) \ - $(infodir)/idlwave$(INFO_EXT) $(infodir)/eudc$(INFO_EXT) $(infodir)/ebrowse$(INFO_EXT) \ - $(infodir)/pcl-cvs$(INFO_EXT) $(infodir)/woman$(INFO_EXT) $(infodir)/eshell$(INFO_EXT) \ - $(infodir)/org$(INFO_EXT) $(infodir)/url$(INFO_EXT) $(infodir)/speedbar$(INFO_EXT) \ - $(infodir)/tramp$(INFO_EXT) $(infodir)/ses$(INFO_EXT) $(infodir)/smtpmail$(INFO_EXT) \ - $(infodir)/flymake$(INFO_EXT) $(infodir)/newsticker$(INFO_EXT) $(infodir)/rcirc$(INFO_EXT) \ - $(infodir)/erc$(INFO_EXT) $(infodir)/ert$(INFO_EXT) \ - $(infodir)/remember$(INFO_EXT) $(infodir)/nxml-mode$(INFO_EXT) \ - $(infodir)/epa$(INFO_EXT) $(infodir)/mairix-el$(INFO_EXT) $(infodir)/sasl$(INFO_EXT) \ - $(infodir)/auth$(INFO_EXT) $(infodir)/eieio$(INFO_EXT) $(infodir)/ede$(INFO_EXT) \ - $(infodir)/semantic$(INFO_EXT) $(infodir)/edt$(INFO_EXT) $(infodir)/emacs-gnutls$(INFO_EXT) \ - $(infodir)/srecode$(INFO_EXT) $(infodir)/bovine$(INFO_EXT) \ - $(infodir)/wisent$(INFO_EXT) $(infodir)/htmlfontify$(INFO_EXT) -DVI_TARGETS = calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi \ - ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.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 rcirc.dvi erc.dvi ert.dvi \ - remember.dvi nxml-mode.dvi \ - epa.dvi mairix-el.dvi sasl.dvi auth.dvi eieio.dvi ede.dvi \ - semantic.dvi edt.dvi emacs-gnutls.dvi srecode.dvi bovine.dvi \ - wisent.dvi htmlfontify.dvi -INFOSOURCES = info.texi - -# The following rule does not work with all versions of 'make'. -.SUFFIXES: .texi .dvi -.texi.dvi: - texi2dvi $< - -TEXI2DVI = texi2dvi -ENVADD = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ - "MAKEINFO=$(MAKEINFO) $(MAKEINFO_OPTS)" /C - - -info: $(INFO_TARGETS) - -dvi: $(DVI_TARGETS) - -# Note that all the Info targets build the Info files -# in srcdir. There is no provision for Info files -# to exist in the build directory. -# In a distribution of Emacs, the Info files should be up to date. - -$(infodir)/dir: - $(MULTI_INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS) - -# The following target uses an explicit -o switch to work around -# the @setfilename directive in info.texi, which is required for -# the Texinfo distribution. -# Some Windows ports of makeinfo seem to require -o to come before the -# texi filename, contrary to GNU standards. - -$(infodir)/info$(INFO_EXT): $(INFOSOURCES) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ info.texi - -info.dvi: $(INFOSOURCES) - $(ENVADD) $(TEXI2DVI) $(srcdir)/info.texi - - -$(infodir)/ccmode$(INFO_EXT): cc-mode.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ cc-mode.texi -cc-mode.dvi: cc-mode.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/cc-mode.texi - -$(infodir)/ada-mode$(INFO_EXT): ada-mode.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ada-mode.texi -ada-mode.dvi: ada-mode.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/ada-mode.texi - -$(infodir)/pcl-cvs$(INFO_EXT): pcl-cvs.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ pcl-cvs.texi -pcl-cvs.dvi: pcl-cvs.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/pcl-cvs.texi - -$(infodir)/eshell$(INFO_EXT): eshell.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eshell.texi -eshell.dvi: eshell.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/eshell.texi - -$(infodir)/cl$(INFO_EXT): cl.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ cl.texi -cl.dvi: cl.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/cl.texi - -$(infodir)/dbus$(INFO_EXT): dbus.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ dbus.texi -dbus.dvi: dbus.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/dbus.texi - -$(infodir)/dired-x$(INFO_EXT): dired-x.texi $(emacsdir)/emacsver.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ dired-x.texi -dired-x.dvi: dired-x.texi $(emacsdir)/emacsver.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/dired-x.texi - -$(infodir)/ediff$(INFO_EXT): ediff.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ediff.texi -ediff.dvi: ediff.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/ediff.texi - -$(infodir)/flymake$(INFO_EXT): flymake.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ flymake.texi -flymake.dvi: flymake.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/flymake.texi - -$(infodir)/forms$(INFO_EXT): forms.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ forms.texi -forms.dvi: forms.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/forms.texi - -# gnus/message/emacs-mime/sieve/pgg are part of Gnus: -$(infodir)/gnus$(INFO_EXT): gnus.texi gnus-overrides.texi message.texi emacs-mime.texi \ - sieve.texi pgg.texi sasl.texi gnus-news.texi gnus-faq.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ gnus.texi -gnus.dvi: gnus.texi gnus-overrides.texi message.texi emacs-mime.texi \ - sieve.texi pgg.texi sasl.texi gnus-news.texi gnus-faq.texi - sed -e "/@iflatex/,/@end iflatex/d" $(srcdir)/gnus.texi > gnustmp.texi - $(ENVADD) $(TEXI2DVI) gnustmp.texi - cp gnustmp.dvi $*.dvi - rm gnustmp.* -# -$(infodir)/message$(INFO_EXT): message.texi gnus-overrides.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ message.texi -message.dvi: message.texi gnus-overrides.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi -# -$(infodir)/emacs-mime$(INFO_EXT): emacs-mime.texi gnus-overrides.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ --enable-encoding emacs-mime.texi -emacs-mime.dvi: emacs-mime.texi gnus-overrides.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi -# -$(infodir)/sieve$(INFO_EXT): sieve.texi gnus-overrides.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sieve.texi -sieve.dvi: sieve.texi gnus-overrides.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/sieve.texi -# -$(infodir)/pgg$(INFO_EXT): pgg.texi gnus-overrides.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ pgg.texi -pgg.dvi: pgg.texi gnus-overrides.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/pgg.texi - -$(infodir)/mh-e$(INFO_EXT): mh-e.texi gpl.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ mh-e.texi -mh-e.dvi: mh-e.texi gpl.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/mh-e.texi - -$(infodir)/reftex$(INFO_EXT): reftex.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ reftex.texi -reftex.dvi: reftex.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/reftex.texi - -$(infodir)/remember$(INFO_EXT): remember.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ remember.texi -remember.dvi: remember.texix - $(ENVADD) $(TEXI2DVI) $(srcdir)/remember.texi - -$(infodir)/sasl$(INFO_EXT): sasl.texi gnus-overrides.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sasl.texi -sasl.dvi: sasl.texi gnus-overrides.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/sasl.texi - -$(infodir)/sc$(INFO_EXT): sc.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ sc.texi -sc.dvi: sc.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/sc.texi - -$(infodir)/vip$(INFO_EXT): vip.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ vip.texi -vip.dvi: vip.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/vip.texi - -$(infodir)/viper$(INFO_EXT): viper.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ viper.texi -viper.dvi: viper.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/viper.texi - -$(infodir)/widget$(INFO_EXT): widget.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ widget.texi -widget.dvi: widget.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/widget.texi - -$(infodir)/efaq$(INFO_EXT): faq.texi $(emacsdir)/emacsver.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ faq.texi -faq.dvi: faq.texi $(emacsdir)/emacsver.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/faq.texi - -$(infodir)/autotype$(INFO_EXT): autotype.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ autotype.texi -autotype.dvi: autotype.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/autotype.texi - -$(infodir)/calc$(INFO_EXT): calc.texi $(emacsdir)/emacsver.texi gpl.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ calc.texi -calc.dvi: calc.texi $(emacsdir)/emacsver.texi gpl.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/calc.texi - -# This is produced with --no-split to avoid making files whose -# names clash on DOS 8+3 filesystems -$(infodir)/idlwave$(INFO_EXT): idlwave.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ idlwave.texi -idlwave.dvi: idlwave.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/idlwave.texi - -$(infodir)/eudc$(INFO_EXT): eudc.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eudc.texi -eudc.dvi: eudc.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/eudc.texi - -$(infodir)/ebrowse$(INFO_EXT): ebrowse.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ebrowse.texi -ebrowse.dvi: ebrowse.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/ebrowse.texi - -$(infodir)/woman$(INFO_EXT): woman.texi $(emacsdir)/emacsver.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ woman.texi -woman.dvi: woman.texi $(emacsdir)/emacsver.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/woman.texi - -$(infodir)/speedbar$(INFO_EXT): speedbar.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ speedbar.texi -speedbar.dvi: speedbar.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/speedbar.texi - -$(infodir)/tramp$(INFO_EXT): tramp.texi trampver.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ tramp.texi -tramp.dvi: tramp.texi trampver.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/tramp.texi - -$(infodir)/ses$(INFO_EXT): ses.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ses.texi -ses.dvi: ses.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/ses.texi - -$(infodir)/smtpmail$(INFO_EXT): smtpmail.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ smtpmail.texi -smtpmail.dvi: smtpmail.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/smtpmail.texi - -$(infodir)/org$(INFO_EXT): org.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ org.texi -org.dvi: org.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/org.texi - -$(infodir)/url$(INFO_EXT): url.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ url.texi -url.dvi: url.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/url.texi - -$(infodir)/newsticker$(INFO_EXT): newsticker.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ newsticker.texi -newsticker.dvi: newsticker.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/newsticker.texi - -$(infodir)/nxml-mode$(INFO_EXT): nxml-mode.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ nxml-mode.texi -nxml-mod.dvi: nxml-mode.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/nxml-mode.texi - -$(infodir)/rcirc$(INFO_EXT): rcirc.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ rcirc.texi -rcirc.dvi: rcirc.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/rcirc.texi - -$(infodir)/erc$(INFO_EXT): erc.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ erc.texi -erc.dvi: erc.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/erc.texi - -$(infodir)/ert$(INFO_EXT): ert.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ert.texi -ert.dvi: ert.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/ert.texi - -$(infodir)/epa$(INFO_EXT): epa.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ epa.texi -epa.dvi: epa.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/epa.texi - -$(infodir)/mairix-el$(INFO_EXT): mairix-el.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ mairix-el.texi -mairix-el.dvi: mairix-el.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/mairix-el.texi - -$(infodir)/auth$(INFO_EXT): auth.texi gnus-overrides.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ auth.texi -auth.dvi: auth.texi gnus-overrides.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/auth.texi - -$(infodir)/eieio$(INFO_EXT): eieio.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ eieio.texi -eieio.dvi: eieio.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/eieio.texi - -$(infodir)/ede$(INFO_EXT): ede.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ede.texi -ede.dvi: ede.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/ede.texi - -$(infodir)/semantic$(INFO_EXT): semantic.texi sem-user.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ semantic.texi -semantic.dvi: semantic.texi sem-user.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/semantic.texi - -$(infodir)/edt$(INFO_EXT): edt.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ edt.texi -edt.dvi: edt.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/edt.texi - -$(infodir)/emacs-gnutls$(INFO_EXT): emacs-gnutls.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ emacs-gnutls.texi -emacs-gnutls.dvi: emacs-gnutls.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-gnutls.texi - -$(infodir)/srecode$(INFO_EXT): srecode.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ srecode.texi -srecode.dvi: srecode.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/srecode.texi - -$(infodir)/bovine$(INFO_EXT): bovine.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ bovine.texi -bovine.dvi: bovine.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/bovine.texi - -$(infodir)/wisent$(INFO_EXT): wisent.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ wisent.texi -wisent.dvi: wisent.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/wisent.texi - -$(infodir)/htmlfontify$(INFO_EXT): htmlfontify.texi - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ htmlfontify.texi -htmlfontify.dvi: htmlfontify.texi - $(ENVADD) $(TEXI2DVI) $(srcdir)/htmlfontify.texi - - -$(INFO_TARGETS): doclicense.texi -$(DVI_TARGETS): doclicense.texi - -mostlyclean: - - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* - -clean: mostlyclean - - $(DEL) *.dvi - - $(DEL) $(infodir)/ccmode* $(infodir)/cl* \ - $(infodir)/dbus* $(infodir)/dired-x* \ - $(infodir)/ediff* $(infodir)/forms* \ - $(infodir)/gnus* $(infodir)/info* \ - $(infodir)/message* $(infodir)/mh-e* \ - $(infodir)/reftex* $(infodir)/sc* \ - $(infodir)/vip* $(infodir)/widget* \ - $(infodir)/efaq* $(infodir)/ada-mode* \ - $(infodir)/autotype* $(infodir)/calc* \ - $(infodir)/idlwave* $(infodir)/eudc* \ - $(infodir)/ebrowse* $(infodir)/pcl-cvs* \ - $(infodir)/woman* $(infodir)/eshell* \ - $(infodir)/speedbar* $(infodir)/tramp* \ - $(infodir)/ses* $(infodir)/smtpmail* \ - $(infodir)/url* $(infodir)/org* \ - $(infodir)/flymake* $(infodir)/newsticker* \ - $(infodir)/sieve* $(infodir)/pgg* \ - $(infodir)/erc* $(infodir)/ert* $(infodir)/rcirc* \ - $(infodir)/remember* $(infodir)/nxml-mode* \ - $(infodir)/epa* $(infodir)/sasl* \ - $(infodir)/mairix-el* $(infodir)/auth* \ - $(infodir)/eieio* $(infodir)/ede* \ - $(infodir)/semantic* $(infodir)edt* \ - $(infodir)/emacs-gnutls* $(infodir)/srecode* \ - $(infodir)/bovine* $(infodir)/wisent* \ - $(infodir)/htmlfontify* - -distclean: clean - - $(DEL) makefile - -maintainer-clean: distclean - - $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc -# Don't delete these, because they are outside the current directory. -# for file in $(INFO_TARGETS); do rm -f $${file}*; done - - -# Formerly this directory had texindex.c and getopt.c in it -# and this makefile built them to make texindex. -# That caused trouble because this is run entirely in the source directory. -# Since we expect to get texi2dvi from elsewhere, -# it is ok to expect texindex from elsewhere also. diff --git a/etc/NEWS b/etc/NEWS index bbcdc0c..ec3d25c 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1178,6 +1178,13 @@ qualified names by hand. * Changes in Emacs 25.1 on Non-Free Operating Systems --- +** MS-Windows specific Emacs build scripts are no longer in the distribution +This includes the makefile.w32-in files in various subdirectories, and +the support files. The file nt/configure.bat now just tells the user +to use the procedure described in nt/INSTALL, by running the Posix +`configure' script in the top-level directory. + +--- ** Building Emacs for MS-Windows requires at least Windows XP or Windows Server 2003. The built binaries still run on all versions of Windows starting with Windows 9X. diff --git a/leim/makefile.w32-in b/leim/makefile.w32-in deleted file mode 100644 index c9bc419..0000000 --- a/leim/makefile.w32-in +++ /dev/null @@ -1,237 +0,0 @@ -# -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft Windows API. - -# Copyright (C) 2000-2015 Free Software Foundation, Inc. -# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -# 2006, 2007 -# National Institute of Advanced Industrial Science and Technology (AIST) -# Registration Number H14PRO021 - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -srcdir=. - -# Where to install LEIM files. -INSTALLDIR=$(INSTALL_DIR)/leim - -# On IBM RS6000, double-dot gets screwed up. -dot = . - -# Which Emacs to use to convert TIT files to Emacs Lisp files, -# byte-compile Emacs Lisp files, and generate the file leim-list.el. -BUILT_EMACS = $(THISDIR)/$(dot)$(dot)/src/$(BLD)/emacs.exe - -buildlisppath=$(CURDIR)/$(dot)$(dot)/lisp - -# How to run Emacs. -RUN_EMACS = "$(BUILT_EMACS)" -batch --no-site-file --no-site-lisp - -# Set EMACSLOADPATH correctly (already defined in environment). -EMACSLOADPATH=$(buildlisppath) - -# Subdirectories to be made if $(srcdir) is different from the current -# directory. -SUBDIRS=quail - -# Files generated from TIT dictionaries for Chinese GB character set. -TIT_GB=\ - quail/CCDOSPY.elc \ - quail/Punct.elc \ - quail/QJ.elc \ - quail/SW.elc \ - quail/TONEPY.elc - -# Files generated from TIT dictionaries for Chinese BIG5 character set. -TIT_BIG5=\ - quail/4Corner.elc \ - quail/ARRAY30.elc \ - quail/ECDICT.elc \ - quail/ETZY.elc \ - quail/Punct-b5.elc \ - quail/PY-b5.elc \ - quail/QJ-b5.elc \ - quail/ZOZY.elc - -CHINESE_TIT=$(TIT_GB) $(TIT_BIG5) - -NON_TIT_GB=$(srcdir)/quail/py-punct.elc - -NON_TIT_BIG5=$(srcdir)/quail/pypunct-b5.elc - -CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5) - -CHINESE_GB=$(TIT_GB) $(NON_TIT_GB) - -CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5) - -JAPANESE=$(srcdir)/quail/japanese.elc $(srcdir)/ja-dic/ja-dic.elc - -KOREAN= $(srcdir)/quail/hangul.elc \ - $(srcdir)/quail/hanja.elc \ - $(srcdir)/quail/hanja3.elc \ - $(srcdir)/quail/hanja-jis.elc \ - $(srcdir)/quail/symbol-ksc.elc - -THAI=$(srcdir)/quail/thai.elc - -VIETNAMESE=$(srcdir)/quail/viqr.elc $(srcdir)/quail/vntelex.elc - -LAO=$(srcdir)/quail/lao.elc $(srcdir)/quail/lrt.elc - -INDIAN=$(srcdir)/quail/indian.elc - -TIBETAN=$(srcdir)/quail/tibetan.elc - -LATIN= $(srcdir)/quail/latin-pre.elc \ - $(srcdir)/quail/latin-post.elc \ - $(srcdir)/quail/latin-alt.elc \ - $(srcdir)/quail/latin-ltx.elc \ - $(srcdir)/quail/welsh.elc - -UNICODE=$(srcdir)/quail/sgml-input.elc \ - $(srcdir)/quail/rfc1345.elc \ - $(srcdir)/quail/uni-input.elc - -SLAVIC= \ - $(srcdir)/quail/czech.elc \ - $(srcdir)/quail/croatian.elc \ - $(srcdir)/quail/slovak.elc - -GREEK=$(srcdir)/quail/greek.elc - -RUSSIAN=$(srcdir)/quail/cyrillic.elc $(srcdir)/quail/cyril-jis.elc - -MISC= \ - $(srcdir)/quail/arabic.elc \ - $(srcdir)/quail/ethiopic.elc \ - $(srcdir)/quail/ipa.elc \ - $(srcdir)/quail/ipa-praat.elc \ - $(srcdir)/quail/hebrew.elc \ - $(srcdir)/quail/georgian.elc \ - $(srcdir)/quail/persian.elc \ - $(srcdir)/quail/sisheng.elc - -MISC_DIC=\ - quail/tsang-b5.elc \ - quail/quick-b5.elc \ - quail/tsang-cns.elc \ - quail/quick-cns.elc \ - quail/PY.elc \ - quail/ZIRANMA.elc \ - quail/CTLau.elc \ - quail/CTLau-b5.elc - -CHINESE=$(CHINESE_GB) $(CHINESE_BIG5) -EASTASIA=$(CHINESE) $(JAPANESE) $(KOREAN) -ASIA=$(EASTASIA) $(THAI) $(VIETNAMESE) $(LAO) $(INDIAN) $(TIBETAN) -EUROPEAN=$(LATIN) $(SLAVIC) $(GREEK) $(RUSSIAN) -WORLD=$(ASIA) $(EUROPEAN) $(MISC) $(MISC_DIC) $(UNICODE) - -TIT=$(CHINESE_TIT) -NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC) - -.SUFFIXES: .elc .el - -.el.elc: - $(RUN_EMACS) -f batch-byte-compile $< - -all: $(BUILT_EMACS) $(SUBDIRS) $(WORLD) leim-list.el - -# To ensure that we can run Emacs. This target is ignored (never -# being hit) if a user changes default value of EMACS. -$(dot)$(dot)/src/emacs: - cd ../src; $(MAKE) $(MFLAGS) emacs - -$(SUBDIRS): - mkdir "$@" - echo stamp>stamp-subdir - -# The rules which generate $(TIT) and ${MISC_DIC) files create them all -# in one go. So we need to prevent parallel execution for that target, -# otherwise Emacs complains about files being locked. .NOTPARALLEL is -# for GNU Make, .NO_PARALLEL is for other Make's. -.NOTPARALLEL: $(TIT) $(MISC_DIC) - -.NO_PARALLEL: $(TIT) $(MISC_DIC) - -# Rule to generate quail/*.el from CXTERM-DIC/*.tit. -# -# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as -# this can break with GNU Make 3.81 and later if sh.exe is used. -$(TIT): - $(RUN_EMACS) -l \ - $(ARGQUOTE)$(buildlisppath)/international/titdic-cnv$(ARGQUOTE) \ - --eval $(ARGQUOTE)(batch-titdic-convert t)$(ARGQUOTE) \ - -dir quail $(srcdir)/CXTERM-DIC - $(RUN_EMACS) -l \ - $(ARGQUOTE)$(buildlisppath)/international/quail$(ARGQUOTE) \ - -f batch-byte-compile $(TIT:.elc=.el) - -# Rule to generate quail/*.el from MISC_DIC/*.tit. -$(MISC_DIC): - $(RUN_EMACS) -l \ - $(ARGQUOTE)$(buildlisppath)/international/titdic-cnv$(ARGQUOTE) \ - -f batch-miscdic-convert -dir quail $(srcdir)/MISC-DIC - $(RUN_EMACS) -l \ - $(ARGQUOTE)$(buildlisppath)/international/quail$(ARGQUOTE) \ - -f batch-byte-compile $(MISC_DIC:.elc=.el) - -# Rule to generate ja-dic/ja-dic.el from SKK-DIC/SKK-JISYO.L. -$(srcdir)/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L - - mkdir ja-dic - $(RUN_EMACS) -l \ - $(ARGQUOTE)$(buildlisppath)/international/ja-dic-cnv$(ARGQUOTE) \ - -f batch-skkdic-convert -dir ja-dic $(srcdir)/SKK-DIC/SKK-JISYO.L - -# -# WARNING: Do NOT split the parts inside $(ARGQUOTE)s into multiple lines as -# this can break with GNU Make 3.81 and later if sh.exe is used. -leim-list.el: $(SUBDIRS) $(WORLD) $(srcdir)/leim-ext.el - - $(DEL) leim-list.el - $(RUN_EMACS) -l \ - $(ARGQUOTE)$(buildlisppath)/international/quail$(ARGQUOTE) \ - --eval $(ARGQUOTE)(update-leim-list-file $(DQUOTE).$(DQUOTE))$(ARGQUOTE) - $(RUN_EMACS) --eval $(ARGQUOTE)(w32-append-code-lines $(DQUOTE)$@$(DQUOTE) $(DQUOTE)$(srcdir)/leim-ext.el$(DQUOTE))$(ARGQUOTE) - -install: all - - mkdir "$(INSTALLDIR)" - - $(DEL) $(DIRNAME)_same-dir.tst - - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst - echo SameDirTest > $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst - $(IFNOTSAMEDIR) $(CP) leim-list.el $(INSTALLDIR) $(ENDIF) - $(IFNOTSAMEDIR) $(CP_DIR) quail $(INSTALLDIR) $(ENDIF) - $(IFNOTSAMEDIR) $(CP_DIR) ja-dic $(INSTALLDIR) $(ENDIF) - - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst - -clean mostlyclean: - - $(FOREACH) $(TIT) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) - - $(FOREACH) $(MISC_DIC) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) - - $(FOREACH) $(TIT:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) - - $(FOREACH) $(MISC_DIC:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) - - $(DEL) leim-list.el - - $(DEL) leim-list.el~ - -distclean: clean - - $(DEL) stamp-subdir - - $(DEL) makefile - -maintainer-clean: distclean - - $(FOREACH) $(WORLD) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) - -# We used to delete *~ here, but that might inadvertently remove -# precious files if it happens to match their short 8+3 aliases. -extraclean: maintainer-clean - - $(FOREACH) *.el~ "#*" $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in deleted file mode 100644 index a81a011..0000000 --- a/lib-src/makefile.w32-in +++ /dev/null @@ -1,482 +0,0 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API. -# Copyright (C) 2000-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -ALL = $(BLD)/test-distrib.exe $(BLD)/make-docfile.exe $(BLD)/hexl.exe\ - $(BLD)/ctags.exe $(BLD)/etags.exe $(BLD)/movemail.exe $(BLD)/ebrowse.exe\ - $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe $(BLD)/profile.exe - -.PHONY: make-docfile - -LOCAL_FLAGS = -DNO_LDAV=1 -DNO_ARCHIVES=1 -I../lib \ - -I../nt/inc -I../src $(EMACS_EXTRA_C_FLAGS) - -LIBS = $(BASE_LIBS) $(ADVAPI32) -LIB_SRC = . - -# The following target is used by makefile.w32-in files in other directories. -make-docfile: $(BLD)/make-docfile.exe - -$(BLD)/make-docfile.exe: $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LIBS) -$(BLD)/hexl.exe: $(BLD)/hexl.$(O) - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS) -$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O) - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS) - "$(BLD)/test-distrib.exe" "$(LIB_SRC)/testfile" - -MOVEMAILOBJS = $(BLD)/movemail.$(O) \ - $(BLD)/pop.$(O) \ - ../lib/$(BLD)/libgnu.$(A) \ - $(BLD)/ntlib.$(O) - -$(BLD)/movemail.exe: $(MOVEMAILOBJS) ../lib/getopt.h -# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS) - -ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR -ECLIENTOBJS = $(BLD)/emacsclient.$(O) \ - $(BLD)/ntlib.$(O) \ - ../lib/$(BLD)/libgnu.$(A) -CLIENTRES = ../nt/$(BLD)/emacsclient.res - -$(CLIENTRES): ../nt/emacsclient.rc - @echo Emacsclient resource file must be built from nt directory - @exit -1 - -$(BLD)/emacsclient.exe: $(ECLIENTOBJS) -# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) - -$(BLD)/emacsclientw.exe: $(ECLIENTOBJS) $(CLIENTRES) -# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib - $(LINK) $(LINK_OUT)$@ $(CLIENTRES) $(MWINDOWS) $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) - -$(BLD)/emacsclient.$(O): emacsclient.c - $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c - -ETAGSOBJ = $(BLD)/etags.$(O) \ - ../lib/$(BLD)/libgnu.$(A) \ - $(BLD)/ntlib.$(O) \ - $(BLD)/regex.$(O) - -$(BLD)/etags.exe: $(ETAGSOBJ) - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ETAGSOBJ) $(LIBS) - - -EBROWSEOBJ = $(BLD)/ebrowse.$(O) \ - ../lib/$(BLD)/libgnu.$(A) \ - $(BLD)/ntlib.$(O) - -$(BLD)/ebrowse.exe: $(EBROWSEOBJ) - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(EBROWSEOBJ) $(LIBS) - -$(BLD)/regex.$(O): ../src/regex.c ../src/regex.h ../src/config.h - $(CC) $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \ - ../src/regex.c $(CC_OUT)$@ - -ETAGS_CFLAGS = -DHAVE_GETCWD -DEMACS_NAME="\"GNU Emacs\"" -$(BLD)/etags.$(O): etags.c - $(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c - -CTAGSOBJ = $(BLD)/ctags.$(O) \ - ../lib/$(BLD)/libgnu.$(A) \ - $(BLD)/ntlib.$(O) \ - $(BLD)/regex.$(O) - -$(BLD)/ctags.exe: $(CTAGSOBJ) - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(CTAGSOBJ) $(LIBS) - -ctags.c: etags.c - - $(DEL) ctags.c - $(CP) etags.c ctags.c - -CTAGS_CFLAGS = -DCTAGS $(ETAGS_CFLAGS) -$(BLD)/ctags.$(O): ctags.c - $(CC) $(CFLAGS) $(CTAGS_CFLAGS) $(CC_OUT)$@ ctags.c - -PROFILEOBJS = $(BLD)/profile.$(O) \ - ../lib/$(BLD)/libgnu.$(A) \ - $(BLD)/ntlib.$(O) -$(BLD)/profile.exe: $(PROFILEOBJS) - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(PROFILEOBJS) $(LIBS) - -# -# From ..\src\Makefile.in -# It doesn't matter if the real name is *.obj for the files in this list, -# make-docfile blindly replaces .o with .c anyway. Keep .o in this list -# as it is required by code in doc.c. -# -obj = dosfns.o msdos.o \ - xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ - fontset.o menu.o dbusbind.o cygw32.o \ - nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \ - w32.o w32console.o w32fns.o w32heap.o w32inevt.o w32notify.o \ - w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ - w16select.o widget.o xfont.o ftfont.o xftfont.o ftxfont.o gtkutil.o \ - xsettings.o xgselect.o termcap.o \ - font.o w32font.o w32uniscribe.o w32notify.o \ - dispnew.o frame.o scroll.o xdisp.o window.o bidi.o \ - charset.o coding.o category.o ccl.o character.o chartab.o \ - cm.o term.o terminal.o xfaces.o \ - emacs.o keyboard.o macros.o keymap.o sysdep.o \ - buffer.o filelock.o insdel.o marker.o \ - minibuf.o fileio.o dired.o \ - cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ - alloc.o data.o doc.o editfns.o callint.o \ - eval.o floatfns.o fns.o print.o lread.o \ - syntax.o bytecode.o \ - process.o callproc.o unexw32.o \ - region-cache.o sound.o atimer.o \ - doprnt.o intervals.o textprop.o composite.o \ - gnutls.o xml.o profiler.o - -# -# These are the lisp files that are loaded up in loadup.el -# -lispsource = ../lisp/ - -MOUSE_SUPPORT = \ - $(lispsource)select.elc \ - $(lispsource)scroll-bar.elc \ - $(lispsource)mouse.elc -WINNT_SUPPORT = \ - $(lispsource)ls-lisp.elc \ - $(lispsource)disp-table.elc \ - $(lispsource)w32-fns.elc \ - $(lispsource)dos-w32.elc \ - $(lispsource)w32-vars.elc \ - $(lispsource)term/common-win.elc \ - $(lispsource)term/w32-win.elc -TOOLTIP_SUPPORT = $(lispsource)tooltip.elc -WINDOW_SUPPORT = \ - $(lispsource)fringe.elc \ - $(lispsource)image.elc \ - $(lispsource)international/fontset.elc \ - $(lispsource)dnd.elc \ - $(lispsource)tool-bar.elc \ - $(lispsource)mwheel.elc - -# lisp files that are loaded up on other platforms -OTHER_PLATFORM_SUPPORT = \ - $(lispsource)dos-fns.elc \ - $(lispsource)dos-vars.elc \ - $(lispsource)term/internal.elc \ - $(lispsource)term/pc-win.elc \ - $(lispsource)x-dnd.elc \ - $(lispsource)term/x-win.elc \ - $(lispsource)term/ns-win.elc - - -lisp1= \ - $(lispsource)abbrev.elc \ - $(lispsource)buff-menu.elc \ - $(lispsource)button.elc \ - $(lispsource)emacs-lisp/byte-run.elc \ - $(lispsource)composite.elc \ - $(lispsource)cus-face.elc \ - $(lispsource)cus-start.elc \ - $(lispsource)custom.elc \ - $(lispsource)emacs-lisp/backquote.elc \ - $(lispsource)emacs-lisp/lisp-mode.elc \ - $(lispsource)emacs-lisp/lisp.elc \ - $(lispsource)env.elc \ - $(lispsource)faces.elc \ - $(lispsource)files.elc \ - $(lispsource)format.elc \ - $(lispsource)facemenu.elc \ - $(MOUSE_SUPPORT) \ - $(lispsource)emacs-lisp/float-sup.elc \ - $(lispsource)frame.elc \ - $(lispsource)help.elc \ - $(lispsource)indent.elc \ - $(lispsource)isearch.elc \ - $(lispsource)rfn-eshadow.elc \ - $(lispsource)loadup.el \ - $(lispsource)loaddefs.el \ - $(lispsource)bindings.elc \ - $(lispsource)emacs-lisp/map-ynp.elc \ - $(lispsource)menu-bar.elc \ - $(lispsource)international/mule.elc \ - $(lispsource)international/mule-conf.elc \ - $(lispsource)international/mule-cmds.elc \ - $(lispsource)international/characters.elc \ - $(lispsource)international/charprop.el \ - $(lispsource)case-table.elc \ - $(lispsource)emacs-lisp/macroexp.elc - -lisp2 = \ - $(lispsource)language/chinese.elc \ - $(lispsource)language/cyrillic.elc \ - $(lispsource)language/indian.elc \ - $(lispsource)language/sinhala.elc \ - $(lispsource)language/english.elc \ - $(lispsource)language/ethiopic.elc \ - $(lispsource)language/european.elc \ - $(lispsource)language/czech.elc \ - $(lispsource)language/slovak.elc \ - $(lispsource)language/romanian.elc \ - $(lispsource)language/greek.elc \ - $(lispsource)language/hebrew.elc \ - $(lispsource)language/japanese.elc \ - $(lispsource)international/cp51932.el \ - $(lispsource)international/eucjp-ms.el \ - $(lispsource)language/korean.elc \ - $(lispsource)language/lao.elc \ - $(lispsource)language/cham.elc \ - $(lispsource)language/tai-viet.elc \ - $(lispsource)language/thai.elc \ - $(lispsource)language/tibetan.elc \ - $(lispsource)language/vietnamese.elc \ - $(lispsource)language/misc-lang.elc \ - $(lispsource)language/utf-8-lang.elc \ - $(lispsource)language/georgian.elc \ - $(lispsource)language/khmer.elc \ - $(lispsource)language/burmese.elc \ - $(lispsource)register.elc \ - $(lispsource)replace.elc \ - $(lispsource)simple.elc \ - $(lispsource)emacs-lisp/nadvice.elc \ - $(lispsource)minibuffer.elc \ - $(lispsource)startup.elc \ - $(lispsource)subr.elc \ - $(lispsource)term/tty-colors.elc \ - $(lispsource)font-core.elc \ - $(lispsource)emacs-lisp/syntax.elc \ - $(lispsource)font-lock.elc \ - $(lispsource)jit-lock.elc \ - $(lispsource)textmodes/fill.elc \ - $(lispsource)textmodes/page.elc \ - $(lispsource)textmodes/paragraphs.elc \ - $(lispsource)textmodes/text-mode.elc \ - $(lispsource)emacs-lisp/timer.elc \ - $(lispsource)jka-cmpr-hook.elc \ - $(lispsource)vc/vc-hooks.elc \ - $(lispsource)vc/ediff-hook.elc \ - $(lispsource)epa-hook.elc \ - $(TOOLTIP_SUPPORT) \ - $(WINNT_SUPPORT) \ - $(WINDOW_SUPPORT) \ - $(lispsource)widget.elc \ - $(lispsource)window.elc \ - $(lispsource)version.elc - -# This is needed the first time we build the tree, since temacs.exe -# does not exist yet, and the DOC rule needs it to rebuild DOC whenever -# Emacs is rebuilt. -../src/$(BLD)/temacs.exe: - - mkdir "../src/$(OBJDIR)" - - mkdir "../src/$(BLD)" - @echo temacs > temacs.exe - $(CP) temacs.exe ../src/$(BLD) - - $(DEL) temacs.exe - -DOC = DOC -$(DOC): stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2) $(OTHER_PLATFORM_SUPPORT) - - $(DEL) $(DOC) - "$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj) - "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1) - "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp2) - "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(OTHER_PLATFORM_SUPPORT) - $(CP) $(DOC) ../etc/DOC - - mkdir "../src/$(OBJDIR)" - - mkdir "../src/$(OBJDIR)/etc" - $(CP) $(DOC) ../src/$(OBJDIR)/etc/DOC - -{$(BLD)}.$(O){$(BLD)}.exe: - $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $*.$(O) $(LIBS) - -# -# Build the executables -# -all: $(ALL) $(DOC) - -# -# Assuming INSTALL_DIR is defined, build and install emacs in it. -# -INSTALL_FILES = $(ALL) -install: $(INSTALL_FILES) - - mkdir "$(INSTALL_DIR)/bin" - $(CP) $(BLD)/etags.exe $(INSTALL_DIR)/bin - $(CP) $(BLD)/ebrowse.exe $(INSTALL_DIR)/bin - $(CP) $(BLD)/ctags.exe $(INSTALL_DIR)/bin - $(CP) $(BLD)/hexl.exe $(INSTALL_DIR)/bin - $(CP) $(BLD)/movemail.exe $(INSTALL_DIR)/bin - $(CP) $(BLD)/emacsclient.exe $(INSTALL_DIR)/bin - $(CP) $(BLD)/emacsclientw.exe $(INSTALL_DIR)/bin - $(CP) $(BLD)/profile.exe $(INSTALL_DIR)/bin - - mkdir "$(INSTALL_DIR)/etc" - $(CP) $(DOC) $(INSTALL_DIR)/etc - -# -# Maintenance -# -# We used to delete *~ here, but that might inadvertently remove -# precious files if it happens to match their short 8+3 aliases. -clean: - - $(DEL) DOC* $(COMPILER_TEMP_FILES) - - $(DEL) ctags.c - - $(DEL_TREE) $(OBJDIR) - - $(DEL) stamp_BLD - -distclean: cleanall - - $(DEL) TAGS - - $(DEL) Makefile - -maintainer-clean: distclean - -cleanall: clean - - $(DEL_TREE) obj - - $(DEL_TREE) obj-spd - - $(DEL_TREE) oo - - $(DEL_TREE) oo-spd - -# -# Headers we would preprocess if we could. -# -../src/config.h: ../nt/$(CONFIG_H) - $(DEL) $@ - echo $(CONFIG_H) has changed. Re-run configure.bat. - exit -1 - -### TAGS ### - -TAGS: $(BLD)/etags.exe *.c *.h - $(BLD)/etags.exe *.c *.h - -### DEPENDENCIES ### - -EMACS_ROOT = .. -SRC = $(EMACS_ROOT)/src -NT_INC = $(EMACS_ROOT)/nt/inc -GNU_LIB = $(EMACS_ROOT)/lib - -MS_W32_H = $(NT_INC)/ms-w32.h \ - $(NT_INC)/sys/stat.h -CONF_POST_H = $(SRC)/conf_post.h \ - $(MS_W32_H) -CONFIG_H = $(SRC)/config.h \ - $(CONF_POST_H) -INTTYPES_H = $(NT_INC)/inttypes.h \ - $(NT_INC)/stdint.h -NTLIB_H = $(LIB_SRC)/ntlib.h \ - $(NT_INC)/pwd.h -SYSTIME_H = $(SRC)/systime.h \ - $(NT_INC)/sys/time.h \ - $(GNU_LIB)/timespec.h -SYSWAIT_H = $(SRC)/syswait.h \ - $(NT_INC)/stdbool.h \ - $(NT_INC)/sys/wait.h - -$(BLD)/ctags.$(O) : \ - $(LIB_SRC)/ctags.c \ - $(SRC)/regex.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/c-strcase.h \ - $(GNU_LIB)/getopt.h \ - $(CONFIG_H) - -$(BLD)/ebrowse.$(O) : \ - $(LIB_SRC)/ebrowse.c \ - $(GNU_LIB)/getopt.h \ - $(GNU_LIB)/min-max.h \ - $(CONFIG_H) - -$(BLD)/emacsclient.$(O) : \ - $(LIB_SRC)/emacsclient.c \ - $(NT_INC)/pwd.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/getopt.h \ - $(CONFIG_H) - -$(BLD)/etags.$(O) : \ - $(LIB_SRC)/etags.c \ - $(SRC)/regex.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/c-strcase.h \ - $(GNU_LIB)/getopt.h \ - $(CONFIG_H) - -$(BLD)/hexl.$(O) : \ - $(LIB_SRC)/hexl.c \ - $(CONFIG_H) - -$(BLD)/make-docfile.$(O) : \ - $(LIB_SRC)/make-docfile.c \ - $(NT_INC)/unistd.h \ - $(CONFIG_H) - -$(BLD)/movemail.$(O) : \ - $(LIB_SRC)/movemail.c \ - $(LIB_SRC)/pop.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/getopt.h \ - $(CONFIG_H) \ - $(NTLIB_H) \ - $(SYSWAIT_H) - -$(BLD)/ntlib.$(O) : \ - $(LIB_SRC)/ntlib.c \ - $(NT_INC)/sys/stat.h \ - $(NTLIB_H) - -$(BLD)/pop.$(O) : \ - $(LIB_SRC)/pop.c \ - $(LIB_SRC)/pop.h \ - $(NT_INC)/netdb.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/min-max.h \ - $(CONFIG_H) \ - $(NTLIB_H) - -$(BLD)/profile.$(O) : \ - $(LIB_SRC)/profile.c \ - $(GNU_LIB)/intprops.h \ - $(CONFIG_H) \ - $(INTTYPES_H) \ - $(SYSTIME_H) - -$(BLD)/regex.$(O) : \ - $(SRC)/regex.c \ - $(SRC)/regex.h \ - $(NT_INC)/stdbool.h \ - $(NT_INC)/unistd.h \ - $(CONFIG_H) - -$(BLD)/test-distrib.$(O) : \ - $(LIB_SRC)/test-distrib.c \ - $(NT_INC)/unistd.h \ - $(CONFIG_H) - -# The following dependencies are for supporting parallel builds, where -# we must make sure $(BLD) exists before any compilation starts. -# -$(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O): stamp_BLD - -$(BLD)/test-distrib.$(O) $(MOVEMAILOBJS): stamp_BLD - -$(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD - -$(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O) $(BLD)/profile.$(O): stamp_BLD diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in deleted file mode 100644 index 8424fd6..0000000 --- a/lib/makefile.w32-in +++ /dev/null @@ -1,347 +0,0 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API. -# Copyright (C) 2011-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - -ALL = gnulib - -.PHONY: $(ALL) - -LOCAL_FLAGS = -I. -I../nt/inc -I../src -LIBS = - -GNULIBOBJS = $(BLD)/acl-errno-valid.$(O) \ - $(BLD)/c-ctype.$(O) \ - $(BLD)/c-strcasecmp.$(O) \ - $(BLD)/c-strncasecmp.$(O) \ - $(BLD)/close-stream.$(O) \ - $(BLD)/dtoastr.$(O) \ - $(BLD)/dtotimespec.$(O) \ - $(BLD)/execinfo.$(O) \ - $(BLD)/fpending.$(O) \ - $(BLD)/getopt.$(O) \ - $(BLD)/getopt1.$(O) \ - $(BLD)/gettime.$(O) \ - $(BLD)/memrchr.$(O) \ - $(BLD)/strftime.$(O) \ - $(BLD)/time_r.$(O) \ - $(BLD)/timespec-add.$(O) \ - $(BLD)/timespec-sub.$(O) \ - $(BLD)/md5.$(O) \ - $(BLD)/sha1.$(O) \ - $(BLD)/sha256.$(O) \ - $(BLD)/sha512.$(O) \ - $(BLD)/sig2str.$(O) \ - $(BLD)/stat-time.$(O) \ - $(BLD)/timespec.$(O) \ - $(BLD)/u64.$(O) \ - $(BLD)/filemode.$(O) - -# -# Build the library -# -$(BLD)/libgnu.$(A): $(GNULIBOBJS) - - $(DEL) $@ - $(AR) $(AR_OUT)$@ $(ALL_DEPS) - -gnulib: $(BLD)/libgnu.$(A) - -# -# Build everything -# -all: $(ALL) - -### TAGS ### - -FRC: - -TAGS: FRC - ../lib-src/$(BLD)/etags.exe *.c *.h - -### DEPENDENCIES ### - -EMACS_ROOT = .. -GNU_LIB = . -SRC = $(EMACS_ROOT)/src -NT_INC = $(EMACS_ROOT)/nt/inc - -ACL_H = $(GNU_LIB)/acl.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/stdbool.h -C_CTYPE_H = $(GNU_LIB)/c-ctype.h \ - $(NT_INC)/stdbool.h -MS_W32_H = $(NT_INC)/ms-w32.h \ - $(NT_INC)/sys/stat.h -CONF_POST_H = $(SRC)/conf_post.h \ - $(MS_W32_H) -CONFIG_H = $(SRC)/config.h \ - $(CONF_POST_H) -FILEMODE_H = $(GNU_LIB)/filemode.h \ - $(NT_INC)/sys/stat.h -FTOASTR_H = $(GNU_LIB)/ftoastr.h \ - $(GNU_LIB)/intprops.h -FTOASTR_C = $(GNU_LIB)/ftoastr.c \ - $(CONFIG_H) \ - $(FTOASTR_H) -GETOPT_INT_H = $(GNU_LIB)/getopt_int.h \ - $(GNU_LIB)/getopt.h -MD5_H = $(GNU_LIB)/md5.h \ - $(NT_INC)/stdint.h -SHA1_H = $(GNU_LIB)/sha1.h \ - $(NT_INC)/stdint.h -SHA256_H = $(GNU_LIB)/sha256.h \ - $(NT_INC)/stdint.h -U64_H = $(GNU_LIB)/u64.h \ - $(NT_INC)/stdint.h -SHA512_H = $(GNU_LIB)/sha512.h \ - $(U64_H) -SIG2STR_H = $(GNU_LIB)/sig2str.h \ - $(GNU_LIB)/intprops.h -STAT_TIME_H = $(GNU_LIB)/stat-time.h \ - $(NT_INC)/sys/stat.h - -$(BLD)/acl-errno-valid.$(O) : \ - $(GNU_LIB)/acl-errno-valid.c \ - $(ACL_H) \ - $(CONFIG_H) - -$(BLD)/c-ctype.$(O) : \ - $(GNU_LIB)/c-ctype.c \ - $(CONFIG_H) \ - $(C_CTYPE_H) - -$(BLD)/c-strcasecmp.$(O) : \ - $(GNU_LIB)/c-strcasecmp.c \ - $(GNU_LIB)/c-strcase.h \ - $(CONFIG_H) \ - $(C_CTYPE_H) - -$(BLD)/c-strncasecmp.$(O) : \ - $(GNU_LIB)/c-strncasecmp.c \ - $(GNU_LIB)/c-strcase.h \ - $(CONFIG_H) \ - $(C_CTYPE_H) - -$(BLD)/close-stream.$(O) : \ - $(GNU_LIB)/close-stream.c \ - $(GNU_LIB)/close-stream.h \ - $(GNU_LIB)/fpending.h \ - $(NT_INC)/stdbool.h \ - $(CONFIG_H) - -$(BLD)/dtoastr.$(O) : \ - $(GNU_LIB)/dtoastr.c \ - $(FTOASTR_C) - -$(BLD)/dtotimespec.$(O) : \ - $(GNU_LIB)/dtotimespec.c \ - $(GNU_LIB)/intprops.h \ - $(GNU_LIB)/timespec.h \ - $(CONFIG_H) - -$(BLD)/execinfo.$(O) : \ - $(GNU_LIB)/execinfo.c \ - $(GNU_LIB)/execinfo.h \ - $(CONFIG_H) - -$(BLD)/fpending.$(O) : \ - $(GNU_LIB)/fpending.c \ - $(GNU_LIB)/fpending.h \ - $(CONFIG_H) - -$(BLD)/getopt.$(O) : \ - $(GNU_LIB)/getopt.c \ - $(GNU_LIB)/getopt.h \ - $(GNU_LIB)/gettext.h \ - $(NT_INC)/unistd.h \ - $(CONFIG_H) \ - $(GETOPT_INT_H) - -$(BLD)/getopt1.$(O) : \ - $(GNU_LIB)/getopt1.c \ - $(GNU_LIB)/getopt.h \ - $(CONFIG_H) \ - $(GETOPT_INT_H) - -$(BLD)/gettime.$(O) : \ - $(GNU_LIB)/gettime.c \ - $(GNU_LIB)/timespec.h \ - $(NT_INC)/sys/time.h \ - $(CONFIG_H) - -$(BLD)/strftime.$(O) : \ - $(GNU_LIB)/strftime.c \ - $(GNU_LIB)/strftime.h \ - $(NT_INC)/stdbool.h \ - $(CONFIG_H) - -$(BLD)/time_r.$(O) : \ - $(GNU_LIB)/time_r.c \ - $(CONFIG_H) - -$(BLD)/timespec-add.$(O) : \ - $(GNU_LIB)/timespec-add.c \ - $(GNU_LIB)/intprops.h \ - $(GNU_LIB)/timespec.h \ - $(CONFIG_H) - -$(BLD)/timespec-sub.$(O) : \ - $(GNU_LIB)/timespec-sub.c \ - $(GNU_LIB)/intprops.h \ - $(GNU_LIB)/timespec.h \ - $(CONFIG_H) - -$(BLD)/md5.$(O) : \ - $(GNU_LIB)/md5.c \ - $(NT_INC)/stdalign.h \ - $(NT_INC)/stdint.h \ - $(CONFIG_H) \ - $(MD5_H) - -$(BLD)/memrchr.$(O) : \ - $(GNU_LIB)/memrchr.c \ - $(CONFIG_H) - -$(BLD)/sha1.$(O) : \ - $(GNU_LIB)/sha1.c \ - $(NT_INC)/stdalign.h \ - $(NT_INC)/stdint.h \ - $(CONFIG_H) \ - $(SHA1_H) - -$(BLD)/sha256.$(O) : \ - $(GNU_LIB)/sha256.c \ - $(NT_INC)/stdalign.h \ - $(NT_INC)/stdint.h \ - $(CONFIG_H) \ - $(SHA256_H) - -$(BLD)/sha512.$(O) : \ - $(GNU_LIB)/sha512.c \ - $(NT_INC)/stdalign.h \ - $(NT_INC)/stdint.h \ - $(CONFIG_H) \ - $(SHA512_H) - -$(BLD)/stat-time.$(O) : \ - $(GNU_LIB)/stat-time.c \ - $(CONFIG_H) \ - $(STAT_TIME_H) - -$(BLD)/timespec.$(O) : \ - $(GNU_LIB)/timespec.c \ - $(GNU_LIB)/timespec.h \ - $(CONFIG_H) - -$(BLD)/u64.$(O) : \ - $(GNU_LIB)/u64.c \ - $(CONFIG_H) \ - $(U64_H) - -$(BLD)/filemode.$(O) : \ - $(GNU_LIB)/filemode.c \ - $(CONFIG_H) \ - $(FILEMODE_H) - -$(BLD)/sig2str.$(O) : \ - $(GNU_LIB)/sig2str.c \ - $(CONFIG_H) \ - $(SIG2STR_H) - - -# The following dependencies are for supporting parallel builds, where -# we must make sure $(BLD) exists before any compilation starts. -# -$(GNULIBOBJS): stamp_BLD - -# -# Headers we would preprocess if we could. -# -getopt.h: getopt_.h - $(CP) $(ALL_DEPS) $@ - -# -# Maintenance -# -clean: - - $(DEL) $(COMPILER_TEMP_FILES) - - $(DEL) getopt.h - - $(DEL_TREE) $(OBJDIR) - - $(DEL) stamp_BLD - -distclean: cleanall - - $(DEL) TAGS - - $(DEL) Makefile - -maintainer-clean: distclean - - $(DEL) getopt_.h - -cleanall: clean - - $(DEL_TREE) obj - - $(DEL_TREE) obj-spd - - $(DEL_TREE) oo - - $(DEL_TREE) oo-spd - -# A dummy target to force other targets to be evaluated. -doit: - -getopt_.h: getopt.in.h $(ARG_NONNULL_H) - $(MAKE) $(MFLAGS) getopt_.h-$(SHELLTYPE) - -getopt_.h-CMD: doit - @echo getopt.in.h or $(ARG_NONNULL_H) is newer than getopt_.h. - @echo Run "$(MAKETYPE) getopt_h" in the lib/ subdirectory. - @echo You will need GNU Sed to be installed. - exit -1 - -getopt_.h-SH: doit - @echo getopt.in.h or $(ARG_NONNULL_H) is newer than getopt_.h. - @echo Run '"$(MAKETYPE) getopt_h"' in the lib/ subdirectory. - @echo You will need GNU Sed to be installed. - exit -1 - -# Generating getopt_.h from getopt.in.h. -# -# To avoid requiring all end users to install Sed, we have below -# a maintainer-only target that produces getopt_.h from getopt.in.h. -# For easier maintenance, all the strings that replace the @FOO@ -# placeholder are defined as Make macros below. - -HAVE_GETOPT_H = HAVE_GETOPT_H -INCLUDE_NEXT = include_next -PRAGMA_COLUMNS = -NEXT_GETOPT_H = -ARG_NONNULL_H = ../build-aux/snippet/arg-nonnull.h - -getopt_h: - - $(DEL) getopt_.h-t getopt_.h - sed -e "s!@GUARD_PREFIX@!GL!g" \ - -e "s!@HAVE_GETOPT_H@!$(HAVE_GETOPT_H)!g" \ - -e "s!@INCLUDE_NEXT@!$(INCLUDE_NEXT)!g" \ - -e "s!@PRAGMA_SYSTEM_HEADER@!$(PRAGMA_SYSTEM_HEADER)!g" \ - -e "s!@PRAGMA_COLUMNS@!$(PRAGMA_COLUMNS)!g" \ - -e "s!@NEXT_GETOPT_H@!$(NEXT_GETOPT_H)!g" \ - -e "/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)" \ - -e "/^\# include_next/i # ifndef __GNUC__" \ - -e "/^\# include_next/i # include " \ - -e "/^\# include_next/i # else" \ - -e "/^\# include_next/a # endif" \ - < getopt.in.h > getopt_.h-t - $(CP) getopt_.h-t getopt_.h - - $(DEL) getopt_.h-t - -execinfo.h: execinfo.in.h - $(CP) execinfo.in.h $@ diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in deleted file mode 100644 index 8f41041..0000000 --- a/lisp/makefile.w32-in +++ /dev/null @@ -1,728 +0,0 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API. -# Copyright (C) 2000-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - -ALL = - -all: $(ALL) - -SQUOTE=' -# ' - -lisp = $(CURDIR) -srcdir = $(CURDIR)/.. - -# You can specify a different executable on the make command line, -# e.g. "make EMACS=../bin/emacs ...". - -EMACS = ../src/$(BLD)/emacs.exe - -# Command line flags for Emacs. - -EMACSOPT = -batch --no-site-file --no-site-lisp - -# Extra flags to pass to the byte compiler -BYTE_COMPILE_EXTRA_FLAGS = -# For example to not display the undefined function warnings you can use this: -# BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))' -# The example above is just for developers, it should not be used by default. - -# Set EMACSLOADPATH correctly (already defined in environment). -EMACSLOADPATH=$(lisp) - -# Use C locale -LC_ALL = C - -lisptagsfiles1 = $(lisp)/*.el -lisptagsfiles2 = $(lisp)/*/*.el -lisptagsfiles3 = $(lisp)/*/*/*.el -lisptagsfiles4 = $(lisp)/*/*/*/*.el -ETAGS = "../lib-src/$(BLD)/etags.exe" -## $(DEST) is overridden by ../src/makefile.w32-in. -DEST=$(lisp) - -# Automatically generated autoload files, apart from lisp/loaddefs.el. -LOADDEFS = $(lisp)/calendar/cal-loaddefs.el \ - $(lisp)/calendar/diary-loaddefs.el $(lisp)/calendar/hol-loaddefs.el \ - $(lisp)/mh-e/mh-loaddefs.el $(lisp)/net/tramp-loaddefs.el - -AUTOGENEL = $(lisp)/loaddefs.el $(LOADDEFS) $(lisp)/cus-load.el \ - $(lisp)/finder-inf.el $(lisp)/subdirs.el $(lisp)/eshell/esh-groups.el \ - $(lisp)/calc/calc-loaddefs.el $(lisp)/nxml/subdirs.el \ - $(lisp)/cedet/semantic/loaddefs.el $(lisp)/cedet/ede/loaddefs.el \ - $(lisp)/cedet/srecode/loaddefs.el - -# Value of max-lisp-eval-depth when compiling initially. -# During bootstrapping the byte-compiler is run interpreted when compiling -# itself, and uses more stack than usual. -# -BIG_STACK_DEPTH = 2200 -BIG_STACK_OPTS = --eval "(setq max-lisp-eval-depth $(BIG_STACK_DEPTH))" - -BYTE_COMPILE_FLAGS = $(BIG_STACK_OPTS) $(BYTE_COMPILE_EXTRA_FLAGS) - -# Files to compile before others during a bootstrap. This is done to -# speed up the bootstrap process. - -COMPILE_FIRST = \ - $(lisp)/emacs-lisp/macroexp.el \ - $(lisp)/emacs-lisp/cconv.el \ - $(lisp)/emacs-lisp/byte-opt.el \ - $(lisp)/emacs-lisp/bytecomp.el \ - $(lisp)/emacs-lisp/autoload.el - -# The actual Emacs command run in the targets below. -# The quotes around $(EMACS) are here because the user could type -# it with forward slashes and without quotes, which will fail if -# the shell is cmd.exe. - -emacs = "$(EMACS)" $(EMACSOPT) - -# Have to define the list of subdirs manually when not using sh. -WINS_CEDET=\ - cedet \ - cedet/ede \ - cedet/semantic \ - cedet/srecode \ - cedet/semantic/analyze \ - cedet/semantic/bovine \ - cedet/semantic/decorate \ - cedet/semantic/symref \ - cedet/semantic/wisent - -# The list of subdirectories is subdivided into 4 more or less equal -# parts so that we could have 4-way parallelism while compiling Lisp -# files, which helps to slash bootstrap times. See the 'compile' -# target below. -WINS_BASIC1=\ - calc \ - calendar \ - emacs-lisp \ - erc \ - net \ - url - -WINS_BASIC2=\ - gnus \ - international \ - language \ - mail - -WINS_BASIC3=\ - emulation \ - mh-e \ - nxml \ - org \ - play \ - textmodes \ - vc - -WINS_BASIC4=\ - eshell \ - progmodes - -WINS_BASIC= $(WINS_BASIC1) $(WINS_BASIC2) $(WINS_BASIC3) $(WINS_BASIC4) - -# Directories with lisp files to compile, and to extract data from -# (customs, autoloads, etc.) -WINS_UPDATES=$(WINS_BASIC) \ - $(WINS_CEDET) - -# Directories to add to subdirs.el -WINS_SUBDIR=$(WINS_BASIC) \ - obsolete - -# All directories -WINS= $(WINS_UPDATES) \ - term \ - obsolete - -doit: - -cus-load.el-SH: - echo ";;; cus-load.el --- automatically extracted custom dependencies" > $@ - echo ";;" >> $@; echo ";;; Code:" >> $@ - echo " " >> $@ - echo ";; Local Variables:" >> $@ - echo ";; version-control: never" >> $@ - echo ";; no-byte-compile: t" >> $@ - echo ";; no-update-autoloads: t" >> $@ - echo ";; End:" >> $@ - -cus-load.el-CMD: - echo ;;; cus-load.el --- automatically extracted custom dependencies> $@ - echo ;;>> $@ - echo ;;; Code:>> $@ - echo. >> $@ - echo ;; Local Variables:>> $@ - echo ;; version-control: never>> $@ - echo ;; no-byte-compile: t>> $@ - echo ;; no-update-autoloads: t>> $@ - echo ;; End:>> $@ - -$(lisp)/cus-load.el: - $(MAKE) $(MFLAGS) cus-load.el-$(SHELLTYPE) - mv cus-load.el-$(SHELLTYPE) $@ - -# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as -# this can break with GNU Make 3.81 and later if sh.exe is used. -custom-deps: $(lisp)/cus-load.el $(lisp)/loaddefs.el $(lisp)/subdirs.el doit - @echo Directories: $(WINS_UPDATES) - -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) \ - -f custom-make-dependencies $(lisp) $(WINS_UPDATES) - -finder-data: $(lisp)/loaddefs.el $(lisp)/subdirs.el doit - @echo Directories: $(WINS_UPDATES) - $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS_UPDATES) - -$(lisp)/loaddefs.el: - $(MAKE) $(MFLAGS) loaddefs.el-$(SHELLTYPE) - cp loaddefs.el-$(SHELLTYPE) $@ - rm loaddefs.el-$(SHELLTYPE) - -loaddefs.el-SH: - echo ";;; loaddefs.el --- automatically extracted autoloads" > $@ - echo ";;" >> $@; echo ";;; Code:" >> $@ - echo " " >> $@ - echo ";; Local Variables:" >> $@ - echo ";; version-control: never" >> $@ - echo ";; no-byte-compile: t" >> $@ - echo ";; no-update-autoloads: t" >> $@ - echo ";; coding: utf-8" >> $@ - echo ";; End:" >> $@ - echo ";;; loaddefs.el ends here" >> $@ - -loaddefs.el-CMD: - echo ;;; loaddefs.el --- automatically extracted autoloads> $@ - echo ;;>> $@ - echo ;;; Code:>> $@ - echo. >> $@ - echo ;; Local Variables:>> $@ - echo ;; version-control: never>> $@ - echo ;; no-byte-compile: t>> $@ - echo ;; no-update-autoloads: t>> $@ - echo ;; coding: utf-8>> $@ - echo ;; End:>> $@ - echo ;;; loaddefs.el ends here>> $@ - -# Use . instead of $(lisp) because $(lisp) is an absolute file name, -# including a drive letter and any leading directories, so the generated -# loaddefs.el will mention file names that on other machine reference -# possibly non-existent directories. -# -# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as -# this can break with GNU Make 3.81 and later if sh.exe is used. -autoloads: $(lisp)/loaddefs.el $(LOADDEFS) doit - @echo Directories: . $(WINS_UPDATES) - $(emacs) -l autoload \ - --eval $(ARGQUOTE)(setq find-file-hook nil find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ - -f w32-batch-update-autoloads "$(lisp)/loaddefs.el" $(MAKE) . $(WINS_UPDATES) - -$(lisp)/subdirs.el: - $(MAKE) $(MFLAGS) update-subdirs - -# Need separate version for sh and native cmd.exe -update-subdirs: update-subdirs-$(SHELLTYPE) - -update-subdirs-CMD: doit - echo ;; In load-path, after this directory should come> $(lisp)/subdirs.el - echo ;; certain of its subdirectories. Here we specify them.>> $(lisp)/subdirs.el - echo (normal-top-level-add-to-load-path $(SQUOTE)(>> $(lisp)/subdirs.el - @for %%d in ($(WINS_SUBDIR) cedet) do echo "%%d">> $(lisp)/subdirs.el - echo ))>> $(lisp)/subdirs.el - echo ;; Local Variables:>> $(lisp)/subdirs.el - echo ;; version-control: never>> $(lisp)/subdirs.el - echo ;; no-byte-compile: t>> $(lisp)/subdirs.el - echo ;; End:>> $(lisp)/subdirs.el - -update-subdirs-SH: doit - $(srcdir)/build-aux/update-subdirs $(lisp); \ - for file in $(WINS_SUBDIR); do \ - $(srcdir)/build-aux/update-subdirs $$file; \ - done; - -updates: $(lisp)/subdirs.el autoloads mh-autoloads finder-data custom-deps - -# This is useful after a repository fetch. -repo-update: recompile autoloads finder-data custom-deps - -# For backwards compatibility: -cvs-update: repo-update - -# Update the AUTHORS file. - -update-authors: - $(emacs) -l authors -f batch-update-authors $(srcdir)/etc/AUTHORS $(srcdir) - -TAGS: TAGS-$(MAKETYPE) - -TAGS-LISP: TAGS-LISP-$(MAKETYPE) - -TAGS-nmake: - echo This target is not supported with NMake - exit -1 - -TAGS-LISP-nmake: - echo This target is not supported with NMake - exit -1 - -TAGS-gmake: TAGS-$(SHELLTYPE) - -TAGS-LISP-gmake: TAGS-LISP-$(SHELLTYPE) - -TAGS-SH: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) - - $(DEL) TAGS - for dir in . $(WINS_UPDATES); do \ - $(ETAGS) -a $(lisp)/$$dir/*.el; \ - done - -TAGS-LISP-SH: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) - - $(DEL) $(DEST)/TAGS-LISP - for dir in . $(WINS_UPDATES); do \ - $(ETAGS) -a -o $(DEST)/TAGS-LISP $(lisp)/$$dir/*.el; \ - done - -TAGS-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) - - $(DEL) TAGS - for %%d in (. $(WINS_UPDATES)) do $(ETAGS) -a $(lisp)/%%d/*.el - -TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) - - $(DEL) $(DEST)/TAGS-LISP - for %%d in (. $(WINS_UPDATES)) do \ - $(ETAGS) -a -o $(DEST)/TAGS-LISP $(lisp)/%%d/*.el - -.SUFFIXES: .elc .el - -.el.elc: - -$(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $< - -# Compile all Lisp files, but don't recompile those that are up to -# date. Some files don't actually get compiled because they set the -# local variable no-byte-compile. - -# All .elc files are made writable before compilation in case we -# checked out read-only (CVS option -r). Files MUST be compiled one by -# one. If we compile several files in a row we can't make sure that -# the compilation environment is clean. We also set the load-path of -# the Emacs used for compilation to the current directory and its -# subdirectories, to make sure require's and load's in the files being -# compiled find the right files. - -# Need separate version for sh and native cmd.exe -compile: $(lisp)/subdirs.el compile0-$(SHELLTYPE) compile1-$(SHELLTYPE) compile2-$(SHELLTYPE) compile3-$(SHELLTYPE) compile4-$(SHELLTYPE) doit - -compile0-CMD: autoloads -# -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g - for %%f in ($(COMPILE_FIRST)) do \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f - -compile1-CMD: autoloads compile0-CMD - for %%f in (. $(WINS_BASIC1)) do for %%g in (%%f/*.el) do \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g - -compile2-CMD: autoloads compile0-CMD - for %%f in ($(WINS_BASIC2)) do for %%g in (%%f/*.el) do \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g - -compile3-CMD: autoloads compile0-CMD - for %%f in ($(WINS_BASIC3)) do for %%g in (%%f/*.el) do \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g - -compile4-CMD: autoloads compile0-CMD - for %%f in ($(WINS_BASIC4) $(WINS_CEDET) term obsolete) do for %%g in (%%f/*.el) do \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g - -compile0-SH: autoloads -# for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done - for el in $(COMPILE_FIRST); do \ - echo Compiling $$el; \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ - done - -compile1-SH: autoloads compile0-SH - for dir in $(lisp) $(WINS_BASIC1); do \ - for el in $$dir/*.el; do \ - if test -f $$el; \ - then \ - echo Compiling $$el; \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ - fi \ - done; \ - done - -compile2-SH: autoloads compile0-SH - for dir in $(WINS_BASIC2); do \ - for el in $$dir/*.el; do \ - if test -f $$el; \ - then \ - echo Compiling $$el; \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ - fi \ - done; \ - done - -compile3-SH: autoloads compile0-SH - for dir in $(WINS_BASIC3); do \ - for el in $$dir/*.el; do \ - if test -f $$el; \ - then \ - echo Compiling $$el; \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ - fi \ - done; \ - done - -compile4-SH: autoloads compile0-SH - for dir in $(WINS_BASIC4) $(WINS_CEDET) term obsolete; do \ - for el in $$dir/*.el; do \ - if test -f $$el; \ - then \ - echo Compiling $$el; \ - $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ - fi \ - done; \ - done - -# Compile all Lisp files. This is like `compile' but compiles files -# unconditionally. Some files don't actually get compiled because they -# set the local variable no-byte-compile. - -compile-always: $(lisp)/subdirs.el compile-always-$(SHELLTYPE) doit - -compile-always-CMD: -# -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g - for %%f in ($(COMPILE_FIRST)) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f - for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f/%%g - -compile-always-SH: -# for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done - for el in $(COMPILE_FIRST); do \ - echo Compiling $$el; \ - $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $$el || exit 1; \ - done - for dir in $(lisp) $(WINS); do \ - for el in $$dir/*.el; do \ - echo Compiling $$el; \ - $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $$el || exit 1; \ - done; \ - done - -compile-calc: compile-calc-$(SHELLTYPE) - -compile-calc-CMD: - for %%f in ($(lisp)/calc/*.el) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f - -compile-calc-SH: - for el in $(lisp)/calc/*.el; do \ - echo Compiling $$el; \ - $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $$el || exit 1; \ - done - -# Backup compiled Lisp files in elc.tar.gz. If that file already -# exists, make a backup of it. - -backup-compiled-files: - -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~ - -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc - -# Compile Lisp files, but save old compiled files first. - -compile-after-backup: backup-compiled-files compile-always - -compile-first: $(lisp)/emacs-lisp/bytecomp.elc $(lisp)/emacs-lisp/byte-opt.elc \ - $(lisp)/emacs-lisp/autoload.elc $(lisp)/subdirs.el - -# Recompile all Lisp files which are newer than their .elc files. -# Note that this doesn't create .elc files. It only recompiles if an -# .elc is present. -# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as -# this can break with GNU Make 3.81 and later if sh.exe is used. -recompile: compile-first autoloads doit $(lisp)/progmodes/cc-mode.elc - $(emacs) --eval $(ARGQUOTE)(batch-byte-recompile-directory 0)$(ARGQUOTE) $(lisp) - -$(lisp)/calendar/cal-loaddefs.el: $(lisp)/subdirs.el - "$(EMACS)" $(EMACSOPT) -l autoload \ - --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \ - --eval "(setq find-file-suppress-same-file-warnings t)" \ - --eval "(setq make-backup-files nil)" \ - -f w32-batch-update-autoloads "$(lisp)/calendar/cal-loaddefs.el" \ - $(MAKE) ./calendar - -$(lisp)/calendar/diary-loaddefs.el: $(lisp)/subdirs.el - "$(EMACS)" $(EMACSOPT) -l autoload \ - --eval "(setq generate-autoload-cookie \";;;###diary-autoload\")" \ - --eval "(setq find-file-suppress-same-file-warnings t)" \ - --eval "(setq make-backup-files nil)" \ - -f w32-batch-update-autoloads $(lisp)/calendar/diary-loaddefs.el \ - $(MAKE) ./calendar - -$(lisp)/calendar/hol-loaddefs.el: $(lisp)/subdirs.el - "$(EMACS)" $(EMACSOPT) -l autoload \ - --eval "(setq generate-autoload-cookie \";;;###holiday-autoload\")" \ - --eval "(setq find-file-suppress-same-file-warnings t)" \ - --eval "(setq make-backup-files nil)" \ - -f w32-batch-update-autoloads $(lisp)/calendar/hol-loaddefs.el \ - $(MAKE) ./calendar - -# Update MH-E internal autoloads. These are not to be confused with -# the autoloads for the MH-E entry points, which are already in -# loaddefs.el. -MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \ - $(lisp)/mh-e/mh-buffers.el $(lisp)/mh-e/mh-compat.el \ - $(lisp)/mh-e/mh-comp.el $(lisp)/mh-e/mh-e.el \ - $(lisp)/mh-e/mh-folder.el $(lisp)/mh-e/mh-funcs.el \ - $(lisp)/mh-e/mh-gnus.el $(lisp)/mh-e/mh-identity.el \ - $(lisp)/mh-e/mh-inc.el $(lisp)/mh-e/mh-junk.el \ - $(lisp)/mh-e/mh-letter.el $(lisp)/mh-e/mh-limit.el \ - $(lisp)/mh-e/mh-mime.el $(lisp)/mh-e/mh-print.el \ - $(lisp)/mh-e/mh-scan.el $(lisp)/mh-e/mh-search.el \ - $(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-show.el \ - $(lisp)/mh-e/mh-speed.el $(lisp)/mh-e/mh-thread.el \ - $(lisp)/mh-e/mh-tool-bar.el $(lisp)/mh-e/mh-utils.el \ - $(lisp)/mh-e/mh-xface.el - -# See the commentary for autoloads above for why we use ./mh-e below -# instead of $(lisp)/mh-e. -mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el -$(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) $(lisp)/subdirs.el - "$(EMACS)" $(EMACSOPT) \ - -l autoload \ - --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###mh-autoload$(DQUOTE))$(ARGQUOTE) \ - --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ - --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \ - -f w32-batch-update-autoloads \ - $(ARGQUOTE)$(lisp)/mh-e/mh-loaddefs.el$(ARGQUOTE) $(MAKE) ./mh-e - -# Update TRAMP internal autoloads. Maybe we could move tramp*.el into -# an own subdirectory. OTOH, it does not hurt to keep them in -# lisp/net. -TRAMP_DIR = $(lisp)/net -TRAMP_SRC = $(TRAMP_DIR)/tramp.el $(TRAMP_DIR)/tramp-adb.el \ - $(TRAMP_DIR)/tramp-cache.el $(TRAMP_DIR)/tramp-cmds.el \ - $(TRAMP_DIR)/tramp-compat.el $(TRAMP_DIR)/tramp-ftp.el \ - $(TRAMP_DIR)/tramp-gvfs.el $(TRAMP_DIR)/tramp-gw.el \ - $(TRAMP_DIR)/tramp-sh.el $(TRAMP_DIR)/tramp-smb.el \ - $(TRAMP_DIR)/tramp-uu.el $(TRAMP_DIR)/trampver.el - -$(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC) $(lisp)/subdirs.el - "$(EMACS)" $(EMACSOPT) \ - -l autoload \ - --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###tramp-autoload$(DQUOTE))$(ARGQUOTE) \ - --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ - --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \ - -f w32-batch-update-autoloads \ - $(ARGQUOTE)$(TRAMP_DIR)/tramp-loaddefs.el$(ARGQUOTE) $(MAKE) ./net - -# Prepare a bootstrap in the lisp subdirectory. -# -# Build loaddefs.el to make sure it's up-to-date. If it's not, that -# might lead to errors during the bootstrap because something fails to -# autoload as expected. If there is no emacs binary, then we can't -# build autoloads yet. In that case we have to use ldefs-boot.el; -# bootstrap should always work with ldefs-boot.el. (Because -# loaddefs.el is an automatically generated file, we don't want to -# store it in the source repository). -# -# Remove compiled Lisp files so that bootstrap-emacs will be built from -# sources only. - -# Need separate version for sh and native cmd.exe -bootstrap-clean: - - $(DEL) $(lisp)/loaddefs.el - - $(DEL) $(lisp)/subdirs.el - $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE) - -bootstrap-clean-CMD: -# if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads - -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g - -bootstrap-clean-SH: -# if test -f "$(EMACS)"; then $(MAKE) $(MFLAGS) autoloads; fi -# -rm -f $(lisp)/*.elc $(lisp)/*/*.elc - -for dir in . $(WINS); do rm -f $$dir/*.elc $$dir/*/*.elc $$dir/*/*/*.elc; done - -# Generate/update files for the bootstrap process. -# When done, remove bootstrap-emacs from ../bin, so that -# it will not be mistaken for an installed binary. - -bootstrap: $(lisp)/subdirs.el compile finder-data custom-deps - - $(DEL) "$(EMACS)" - -# -# Assuming INSTALL_DIR is defined, copy the elisp files to it -# Windows 95 makes this harder than it should be. -# -install: - - mkdir "$(INSTALL_DIR)/lisp" - - $(DEL) ../$(DIRNAME)_same-dir.tst - - $(DEL) "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" - echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" -#ifdef COPY_LISP_SOURCE - $(IFNOTSAMEDIR) $(MAKE) $(MFLAGS) install-lisp-$(SHELLTYPE) $(ENDIF) -#else -# $(IFNOTSAMEDIR) $(CP_DIR) *.elc "$(INSTALL_DIR)/lisp" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) cus-load.el "$(INSTALL_DIR)/lisp" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) forms*.el "$(INSTALL_DIR)/lisp" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) patcomp.el "$(INSTALL_DIR)/lisp" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) subdirs.el "$(INSTALL_DIR)/lisp" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) version.el "$(INSTALL_DIR)/lisp" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) mail/blessmail.el "$(INSTALL_DIR)/lisp/mail" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) mail/sc.el "$(INSTALL_DIR)/lisp/mail" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) play/bruce.el "$(INSTALL_DIR)/lisp/play" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) international/latin-*.el "$(INSTALL_DIR)/lisp/international" $(ENDIF) -# $(IFNOTSAMEDIR) $(CP) international/mule-conf.el "$(INSTALL_DIR)/lisp/international" $(ENDIF) -#endif - - $(DEL) ../$(DIRNAME)_same-dir.tst - - $(DEL) "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" - -# Need to copy *.el files first, to avoid "source file is newer" annoyance -# since cp does not preserve time stamps -install-lisp-SH: - cp -f *.el "$(INSTALL_DIR)/lisp" - for dir in $(WINS); do [ -d "$(INSTALL_DIR)/lisp/$$dir" ] || mkdir "$(INSTALL_DIR)/lisp/$$dir"; done - for dir in $(WINS); do cp -f $$dir/*.el "$(INSTALL_DIR)/lisp/$$dir"; done - for dir in . $(WINS); do cp $$dir/*.elc "$(INSTALL_DIR)/lisp/$$dir"; done - -install-lisp-CMD: - cp -f *.el "$(INSTALL_DIR)/lisp" - for %%f in ($(WINS)) do if not exist "$(INSTALL_DIR)/lisp/%%f" mkdir "$(INSTALL_DIR)/lisp/%%f" - for %%f in ($(WINS)) do cp -f %%f/*.el "$(INSTALL_DIR)/lisp/%%f" - for %%f in (. $(WINS)) do cp -f %%f/*.elc "$(INSTALL_DIR)/lisp/%%f" - -# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as -# this can break with GNU Make 3.81 and later if sh.exe is used. -check-declare: - $(emacs) -l $(lisp)/emacs-lisp/check-declare --eval $(ARGQUOTE)(check-declare-directory $(DQUOTE)$(lisp)$(DQUOTE))$(ARGQUOTE) - -# -# Maintenance -# -# We used to delete *~ here, but that might inadvertently remove -# precious files if it happens to match their short 8+3 aliases. -clean: - - $(DEL) *.el~ - - $(DEL) calc/calc-loaddefs.el~ - - $(DEL) eshell/esh-groups.el~ - -distclean: clean - - $(DEL) $(lisp)/Makefile - -maintainer-clean: bootstrap-clean distclean - - $(DEL) $(AUTOGENEL) - -# Dependencies - -# CC Mode uses a compile time macro system which causes a compile time -# dependency in cc-*.elc files on the macros in other cc-*.el and the -# version string in cc-defs.el. -$(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-awk.elc\ - $(lisp)/progmodes/cc-cmds.elc $(lisp)/progmodes/cc-compat.elc\ - $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-fonts.elc\ - $(lisp)/progmodes/cc-langs.elc $(lisp)/progmodes/cc-menus.elc\ - $(lisp)/progmodes/cc-mode.elc $(lisp)/progmodes/cc-styles.elc\ - $(lisp)/progmodes/cc-vars.elc: \ - $(lisp)/progmodes/cc-bytecomp.elc $(lisp)/progmodes/cc-defs.elc - -$(lisp)/progmodes/cc-align.elc: \ - $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc - -$(lisp)/progmodes/cc-cmds.elc: \ - $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc - -$(lisp)/progmodes/cc-compat.elc: \ - $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-styles.elc \ - $(lisp)/progmodes/cc-engine.elc - -$(lisp)/progmodes/cc-defs.elc: $(lisp)/progmodes/cc-bytecomp.elc \ - $(lisp)/emacs-lisp/cl.elc $(lisp)/emacs-lisp/regexp-opt.elc - -$(lisp)/progmodes/cc-engine.elc: $(lisp)/progmodes/cc-langs.elc \ - $(lisp)/progmodes/cc-vars.elc - -$(lisp)/progmodes/cc-fonts.elc: $(lisp)/progmodes/cc-langs.elc \ - $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \ - $(lisp)/font-lock.elc - -$(lisp)/progmodes/cc-langs.elc: $(lisp)/progmodes/cc-vars.elc \ - $(lisp)/emacs-lisp/cl.elc - -$(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.elc \ - $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \ - $(lisp)/progmodes/cc-styles.elc $(lisp)/progmodes/cc-cmds.elc \ - $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-menus.elc \ - $(lisp)/subdirs.el - -$(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \ - $(lisp)/progmodes/cc-align.elc - -$(lisp)/progmodes/cc-vars.elc: $(lisp)/custom.elc $(lisp)/widget.elc - -# MH-E dependencies, mainly to prevent failures with parallel -# compilation, due to race conditions between writing a given FOO.elc -# file and another file being compiled that says "(require FOO)", -# which causes Emacs to try to read FOO.elc. -MH_E_DIR = ./mh-e -$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-comp.elc $(MH_E_DIR)/mh-folder.elc\ - $(MH_E_DIR)/mh-funcs.elc $(MH_E_DIR)/mh-identity.elc $(MH_E_DIR)/mh-inc.elc\ - $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-limit.elc\ - $(MH_E_DIR)/mh-mime.elc $(MH_E_DIR)/mh-print.elc $(MH_E_DIR)/mh-scan.elc\ - $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc\ - $(MH_E_DIR)/mh-speed.elc $(MH_E_DIR)/mh-thread.elc $(MH_E_DIR)/mh-tool-bar.elc\ - $(MH_E_DIR)/mh-utils.elc $(MH_E_DIR)/mh-xface.elc:\ - $(MH_E_DIR)/mh-e.elc - -$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-e.elc $(MH_E_DIR)/mh-folder.elc\ - $(MH_E_DIR)/mh-inc.elc $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-limit.elc\ - $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-speed.elc\ - $(MH_E_DIR)/mh-utils.elc $(MH_E_DIR)/mh-xface.elc:\ - $(lisp)/emacs-lisp/cl.elc - -$(MH_E_DIR)/mh-comp.elc $(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-funcs.elc\ - $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-limit.elc $(MH_E_DIR)/mh-print.elc\ - $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc $(MH_E_DIR)/mh-thread.elc:\ - $(MH_E_DIR)/mh-scan.elc - -$(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-mime.elc\ - $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-show.elc $(MH_E_DIR)/mh-speed.elc:\ - $(lisp)/gnus/gnus-util.elc - -$(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-search.elc:\ - $(lisp)/progmodes/which-func.elc - -$(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc\ - $(MH_E_DIR)/mh-utils.elc:\ - $(lisp)/font-lock.elc - -$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-show.elc: $(lisp)/net/goto-addr.elc - -$(MH_E_DIR)/mh-comp.elc: $(lisp)/mail/sendmail.elc - -$(MH_E_DIR)/mh-e.elc: $(MH_E_DIR)/mh-buffers.elc $(lisp)/gnus/gnus.elc \ - $(lisp)/cus-face.elc - -$(MH_E_DIR)/mh-letter.elc: $(lisp)/gnus/mailcap.elc $(lisp)/gnus/mm-decode.elc \ - $(lisp)/gnus/mm-view.elc $(lisp)/gnus/mml.elc $(lisp)/gnus/message.elc - -$(MH_E_DIR)/mh-print.elc: $(lisp)/ps-print.elc - -$(MH_E_DIR)/mh-search.elc: $(lisp)/imenu.elc - -$(MH_E_DIR)/mh-show.elc: $(lisp)/gnus/gnus-cite.elc - -$(MH_E_DIR)/mh-speed.elc: $(lisp)/speedbar.elc $(lisp)/emacs-lisp/timer.elc - -$(MH_E_DIR)/mh-tool-bar.elc: $(lisp)/tool-bar.elc diff --git a/make-dist b/make-dist index 6bf01ff..79db904 100755 --- a/make-dist +++ b/make-dist @@ -338,7 +338,7 @@ files=`find lisp \( -name '*.el' -o -name '*.elc' -o -name 'ChangeLog*' \ -o -name 'README' \)` ### Don't distribute site-init.el, site-load.el, or default.el. -for file in lisp/Makefile.in lisp/makefile.w32-in $files; do +for file in lisp/Makefile.in $files; do case $file in */site-init*|*/site-load*|*/default*) continue ;; esac @@ -347,7 +347,6 @@ done echo "Making links to 'leim' and its subdirectories" (cd leim - ln makefile.w32-in ../${tempdir}/leim ln ChangeLog.*[0-9] README ../${tempdir}/leim ln CXTERM-DIC/README CXTERM-DIC/*.tit ../${tempdir}/leim/CXTERM-DIC ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/leim/SKK-DIC @@ -377,7 +376,6 @@ echo "Making links to 'src'" ln [a-zA-Z]*.in ../${tempdir}/src ln deps.mk ../${tempdir}/src ln README ChangeLog.*[0-9] ../${tempdir}/src - ln makefile.w32-in ../${tempdir}/src ln .gdbinit .dbxinit ../${tempdir}/src cd ../${tempdir}/src rm -f globals.h config.h epaths.h Makefile buildobj.h) @@ -390,7 +388,7 @@ echo "Making links to 'lib'" (snippet_h=`(cd build-aux/snippet && ls *.h)` cd lib ln [a-zA-Z]*.[ch] ../${tempdir}/lib - ln gnulib.mk Makefile.am Makefile.in makefile.w32-in ../${tempdir}/lib + ln gnulib.mk Makefile.am Makefile.in ../${tempdir}/lib cd ../${tempdir}/lib script='/[*]/d; s/\.in\.h$/.h/' rm -f `(echo "$snippet_h"; ls *.in.h) | sed "$script"`) @@ -400,7 +398,6 @@ echo "Making links to 'lib-src'" ln [a-zA-Z]*.[ch] ../${tempdir}/lib-src ln ChangeLog.*[0-9] Makefile.in README ../${tempdir}/lib-src ln rcs2log ../${tempdir}/lib-src - ln makefile.w32-in ../${tempdir}/lib-src ln update-game-score.exe.manifest ../${tempdir}/lib-src) echo "Making links to 'm4'" @@ -410,11 +407,10 @@ echo "Making links to 'm4'" echo "Making links to 'nt'" (cd nt ln emacs-x86.manifest emacs-x64.manifest ../${tempdir}/nt - ln config.nt emacs-src.tags ../${tempdir}/nt - ln nmake.defs gmake.defs subdirs.el [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt + ln subdirs.el [a-z]*.bat [a-z]*.[ch] ../${tempdir}/nt ln *.in gnulib.mk ../${tempdir}/nt ln mingw-cfg.site epaths.nt INSTALL.OLD ../${tempdir}/nt - ln ChangeLog.*[0-9] INSTALL README README.W32 makefile.w32-in ../${tempdir}/nt) + ln ChangeLog.*[0-9] INSTALL README README.W32 ../${tempdir}/nt) echo "Making links to 'nt/inc' and its subdirectories" for f in `find nt/inc -type f -name '[a-z]*.h'`; do @@ -500,23 +496,22 @@ ln `find info -type f -print` ${tempdir}/info echo "Making links to 'doc/emacs'" (cd doc/emacs - ln *.texi *.in makefile.w32-in ChangeLog.*[0-9] ../../${tempdir}/doc/emacs) + ln *.texi *.in ChangeLog.*[0-9] ../../${tempdir}/doc/emacs) echo "Making links to 'doc/misc'" (cd doc/misc - ln *.texi *.tex *.in makefile.w32-in gnus-news.el ChangeLog.*[0-9] \ + ln *.texi *.tex *.in gnus-news.el ChangeLog.*[0-9] \ ../../${tempdir}/doc/misc) echo "Making links to 'doc/lispref'" (cd doc/lispref - ln *.texi *.in makefile.w32-in README ChangeLog.*[0-9] \ - ../../${tempdir}/doc/lispref + ln *.texi *.in README ChangeLog.*[0-9] ../../${tempdir}/doc/lispref ln spellfile ../../${tempdir}/doc/lispref ln two-volume.make two-volume-cross-refs.txt ../../${tempdir}/doc/lispref) echo "Making links to 'doc/lispintro'" (cd doc/lispintro - ln *.texi *.in makefile.w32-in *.eps *.pdf ../../${tempdir}/doc/lispintro + ln *.texi *.in *.eps *.pdf ../../${tempdir}/doc/lispintro ln README ChangeLog.*[0-9] ../../${tempdir}/doc/lispintro cd ../../${tempdir}/doc/lispintro) diff --git a/nt/INSTALL.OLD b/nt/INSTALL.OLD deleted file mode 100644 index 89e87b2..0000000 --- a/nt/INSTALL.OLD +++ /dev/null @@ -1,752 +0,0 @@ - Building and Installing Emacs on Windows - (from 95 to 7 and beyond) - - Copyright (C) 2001-2015 Free Software Foundation, Inc. - See the end of the file for license conditions. - -*** This method of building Emacs is no longer supported. *** - It may fail to produce a correctly working Emacs. - Do not report bugs associated with this build method. - Instead, follow the new instructions in INSTALL. - -* For the impatient - - Here are the concise instructions for configuring and building the - native Windows binary of Emacs, for those who want to skip the - complex explanations and ``just do it'': - - Do not use this recipe with Cygwin. For building on Cygwin, - use the normal installation instructions, ../INSTALL. - - Do not use these instructions with MSYS environment. For building - the native Windows binary with MinGW and MSYS, follow the - instructions in the file INSTALL in this directory. - - For building without MSYS, if you have a Cygwin or MSYS port of Bash - on your Path, you will be better off removing it from PATH. (For - details, search for "MSYS sh.exe" below.) - - 1. Change to the `nt' directory (the directory of this file): - - cd nt - - 2. Run configure.bat. - - 2a.If you use MSVC, set up the build environment by running the - SetEnv.cmd batch file from the appropriate SDK directory. (Skip - this step if you are using MinGW.) For example: - - "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Debug - - if you are going to compile a debug version, or - - "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86 /Release - - if you are going to compile an optimized version. - - 2b.From the COMMAND.COM/CMD.EXE command prompt type: - - configure - - From a Unixy shell prompt: - - cmd /c configure.bat - or - command.com /c configure.bat - - 3. Run the Make utility suitable for your environment. If you build - with the Microsoft's Visual C compiler: - - nmake - - For the development environments based on GNU GCC (MinGW, MSYS, - Cygwin - but see notes about Cygwin make below), depending on how - Make is called, it could be: - - make - or - mingw32-make - or - gnumake - or - gmake - - (If you are building from Bazaar, say "make bootstrap" or "nmake - bootstrap" instead, and avoid using Cygwin make.) - - With GNU Make, you can use the -j command-line option to have - Make execute several commands at once, like this: - - gmake -j 2 - - (With versions of GNU Make before 3.82, you need also set the - XMFLAGS variable, like this: - - gmake -j 2 XMFLAGS="-j 2" - - The XMFLAGS variable overrides the default behavior of version - 3.82 and older of GNU Make on Windows, whereby recursive Make - invocations reset the maximum number of simultaneous commands to - 1. The above command allows up to 4 simultaneous commands at - once in the top-level Make, and up to 3 in each one of the - recursive Make's.) - - 4. Generate the Info manuals (only if you are building out of Bazaar, - and if you have makeinfo.exe installed): - - make info - - (change "make" to "nmake" if you use MSVC). - - 5. Install the produced binaries: - - make install - - That's it! - - If these short instructions somehow fail, read the rest of this - file. - -* Preliminaries - - If you want to build a Cygwin port of Emacs, use the instructions in - the INSTALL file in the main Emacs directory (the parent of this - directory). These instructions are for building a native Windows - binary of Emacs. - - If you used WinZip to unpack the distribution, we suggest to - remove the files and unpack again with a different program! - WinZip is known to create some subtle and hard to debug problems, - such as converting files to DOS CR-LF format, not creating empty - directories, etc. We suggest to use djtarnt.exe from the GNU FTP - site. For modern formats, such as .tar.xz, we suggest bsdtar.exe - from the libarchive package; its precompiled Windows binaries are - available from this site: - - http://sourceforge.net/projects/ezwinports/files/ - - In addition to this file, if you build a development snapshot, you - should also read INSTALL.REPO in the parent directory. - -* Supported development environments - - To compile Emacs, you will need either Microsoft Visual C++ 2.0, or - later and nmake, or a Windows port of GCC 2.95 or later with MinGW - and Windows API support and a port of GNU Make. You can use the Cygwin - ports of GCC, but Emacs requires the MinGW headers and libraries to - build (latest versions of the Cygwin toolkit, at least since v1.3.3, - include the MinGW headers and libraries as an integral part). - - The rest of this file assumes you have a working development - environment. If you just installed such an environment, try - building a trivial C "Hello world" program, and see if it works. If - it doesn't work, resolve that problem first! If you use Microsoft - Visual Studio .NET 2003, don't forget to run the VCVARS32.BAT batch - file from the `Bin' subdirectory of the directory where you have - installed VS.NET. With other versions of MSVC, run the SetEnv.cmd - batch file from the `Bin' subdirectory of the directory where you - have the SDK installed. - - If you use the MinGW port of GCC and GNU Make to build Emacs, there - are some compatibility issues wrt Make and the shell that is run by - Make, either the standard COMMAND.COM/CMD.EXE supplied with Windows - or sh.exe, a port of a Unixy shell. For reference, below is a list - of which builds of GNU Make are known to work or not, and whether - they work in the presence and/or absence of sh.exe, the Cygwin port - of Bash. Note that any version of Make that is compiled with Cygwin - will only work with Cygwin tools, due to the use of Cygwin style - paths. This means Cygwin Make is unsuitable for building parts of - Emacs that need to invoke Emacs itself (leim and "make bootstrap", - for example). Also see the Trouble-shooting section below if you - decide to go ahead and use Cygwin make. - - In addition, using 4NT or TCC as your shell is known to fail the - build process, at least since 4NT version 3.01. Use CMD.EXE, the - default Windows shell, instead. MSYS sh.exe also appears to cause - various problems, e.g., it is known to cause failures in commands - like "cmd /c FOO" in the Makefiles, because it thinks "/c" is a - Unix-style file name that needs conversion to the Windows format. - If you have MSYS installed, try "make SHELL=cmd.exe" to force the - use of cmd.exe instead of the MSYS sh.exe. - - sh exists no sh - - cygwin b20.1 make (3.75): fails[1, 5] fails[2, 5] - MSVC compiled gmake 3.77: okay okay - MSVC compiled gmake 3.78.1: okay okay - MSVC compiled gmake 3.79.1: okay okay - mingw32/gcc-2.92.2 make (3.77): okay okay[4] - cygwin compiled gmake 3.77: fails[1, 5] fails[2, 5] - cygwin compiled make 3.78.1: fails[5] fails[2, 5] - cygwin compiled make 3.79.1: fails[3, 5] fails[2?, 5] - cygwin compiled make 3.80: okay[6] fails?[7] - cygwin compiled make 3.81: fails fails?[7] - mingw32 compiled make 3.79.1: okay okay - mingw32 compiled make 3.80: okay okay[7] - mingw32 compiled make 3.81: okay okay[8] - - Notes: - - [1] doesn't cope with makefiles with DOS line endings, so must mount - emacs source with text!=binary. - [2] fails when needs to invoke shell commands; okay invoking gcc etc. - [3] requires LC_MESSAGES support to build; cannot build with early - versions of Cygwin. - [4] may fail on Windows 9X and Windows ME; if so, install Bash. - [5] fails when building leim due to the use of cygwin style paths. - May work if building emacs without leim. - [6] need to uncomment 3 lines in nt/gmake.defs that invoke `cygpath' - (look for "cygpath" near line 85 of gmake.defs). - [7] not recommended; please report if you try this combination. - [8] tested only on Windows XP. - - Other compilers may work, but specific reports from people that have - tried suggest that the Intel C compiler (for example) may produce an - Emacs executable with strange filename completion behavior. Unless - you would like to assist by finding and fixing the cause of any bugs - like this, we recommend the use of the supported compilers mentioned - in the previous paragraph. - - You will also need a copy of the POSIX cp, rm and mv programs. These - and other useful POSIX utilities can be obtained from one of several - projects: - - * http://gnuwin32.sourceforge.net/ ( GnuWin32 ) - * http://www.mingw.org/ ( MinGW ) - * http://www.cygwin.com/ ( Cygwin ) - * http://unxutils.sourceforge.net/ ( UnxUtils ) - - If you build Emacs on 16-bit versions of Windows (9X or ME), we - suggest to install the Cygwin port of Bash. That is because the - native Windows shell COMMAND.COM is too limited; the Emacs build - procedure tries very hard to support even such limited shells, but - as none of the Windows developers of Emacs work on Windows 9X, we - cannot guarantee that it works without a more powerful shell. - - Additional instructions and help for building Emacs on Windows can be - found at the Emacs Wiki: - - http://www.emacswiki.org/cgi-bin/wiki/WThirtyTwoInstallationKit - - and on these URLs: - - http://ourcomments.org/Emacs/w32-build-emacs.html - http://derekslager.com/blog/posts/2007/01/emacs-hack-3-compile-emacs-from-cvs-on-windows.ashx - - Both of those pages were written before Emacs switched from CVS to - Bazaar, but the parts about building Emacs still apply in Bazaar. - The second URL has instructions for building with MSVC, as well as - with MinGW, while the first URL covers only MinGW, but has more - details about it. - -* Configuring - - Configuration of Emacs is now handled by running configure.bat in the - `nt' subdirectory. It will detect which compiler you have available, - and generate makefiles accordingly. You can override the compiler - detection, and control optimization and debug settings, by specifying - options on the command line when invoking configure. - - To configure Emacs to build with GCC or MSVC, whichever is available, - simply change to the `nt' subdirectory and run `configure.bat' with no - options. To see what options are available, run `configure --help'. - Do NOT use the --no-debug option to configure.bat unless you are - absolutely sure the produced binaries will never need to be run under - a debugger. - - Because of limitations of the stock Windows command shells, special - care is needed to pass some characters in the arguments of the - --cflags and --ldflags options. Backslashes should not be used in - file names passed to the compiler and linker via these options. Use - forward slashes instead. If the arguments to these two options - include the `=' character, like when passing a -DFOO=bar preprocessor - option, the argument with the `=' character should be enclosed in - quotes, like this: - - configure --cflags "-DFOO=bar" - - Support for options that include the `=' character require "command - extensions" to be enabled. (They are enabled by default, but your - system administrator could have changed that. See "cmd /?" for - details.) If command extensions are disabled, a warning message might - be displayed informing you that "using parameters that include the = - character by enclosing them in quotes will not be supported." - - You may also use the --cflags and --ldflags options to pass - additional parameters to the compiler and linker, respectively; they - are frequently used to pass -I and -L flags to specify supplementary - include and library directories. If a directory name includes - spaces, you will need to enclose it in quotes, as follows - -I"C:/Program Files/GnuTLS-2.10.1/include". Note that only the - directory name is enclosed in quotes, not the entire argument. Also - note that this functionality is only supported if command extensions - are available. If command extensions are disabled and you attempt to - use this functionality you may see the following warning message - "Error in --cflags argument: ... Backslashes and quotes cannot be - used with --cflags. Please use forward slashes for filenames and - paths (e.g. when passing directories to -I)." - - N.B. It is normal to see a few error messages output while configure - is running, when gcc support is being tested. These cannot be - suppressed because of limitations in the Windows 9X command.com shell. - - You are encouraged to look at the file config.log which shows details - for failed tests, after configure.bat finishes. Any unexplained failure - should be investigated and perhaps reported as a bug (see the section - about reporting bugs in the file README in this directory and in the - Emacs manual). - -* Optional image library support - - In addition to its "native" image formats (pbm and xbm), Emacs can - handle other image types: xpm, tiff, gif, png, jpeg and experimental - support for svg. - - To build Emacs with support for them, the corresponding headers must - be in the include path when the configure script is run. This can - be setup using environment variables, or by specifying --cflags - -I... options on the command-line to configure.bat. The configure - script will report whether it was able to detect the headers. If - the results of this testing appear to be incorrect, please look for - details in the file config.log: it will show the failed test - programs and compiler error messages that should explain what is - wrong. (Usually, any such failures happen because some headers are - missing due to bad packaging of the image support libraries.) - - Note that any file path passed to the compiler or linker must use - forward slashes; using backslashes will cause compiler warnings or - errors about unrecognized escape sequences. - - To use the external image support, the DLLs implementing the - functionality must be found when Emacs first needs them, either on the - PATH, or in the same directory as emacs.exe. Failure to find a - library is not an error; the associated image format will simply be - unavailable. Note that once Emacs has determined that a library can - not be found, there's no way to force it to try again, other than - restarting. See the variable `dynamic-library-alist' to configure the - expected names of the libraries. - - Some image libraries have dependencies on one another, or on zlib. - For example, tiff support depends on the jpeg library. If you did not - compile the libraries yourself, you must make sure that any dependency - is in the PATH or otherwise accessible and that the binaries are - compatible (for example, that they were built with the same compiler). - - Binaries for the image libraries (among many others) can be found at - the GnuWin32 project. PNG, JPEG and TIFF libraries are also - included with GTK, which is installed along with other Free Software - that requires it. These are built with MinGW, but they can be used - with both GCC/MinGW and MSVC builds of Emacs. See the info on - http://ourcomments.org/Emacs/w32-build-emacs.html, under "How to Get - Images Support", for more details about installing image support - libraries. Note specifically that, due to some packaging snafus in - the GnuWin32-supplied image libraries, you will need to download - _source_ packages for some of the libraries in order to get the - header files necessary for building Emacs with image support. - - If GTK 2.0 is installed, addpm will arrange for its image libraries - to be on the DLL search path for Emacs. - - For PNG images, we recommend to use versions 1.4.x and later of - libpng, because previous versions had security issues. You can find - precompiled libraries and headers on the GTK download page for - Windows (http://www.gtk.org/download/win32.php). - - Versions 1.4.0 and later of libpng are binary incompatible with - earlier versions, so Emacs will only look for libpng libraries which - are compatible with the version it was compiled against. That - version is given by the value of the Lisp variable `libpng-version'; - e.g., 10403 means version 1.4.3. The variable `dynamic-library-alist' - is automatically set to name only those DLL names that are known to - be compatible with the version given by `libpng-version'. If PNG - support does not work for you even though you have the support DLL - installed, check the name of the installed DLL against - `dynamic-library-alist' and the value of `libpng-version', and - download compatible DLLs if needed. - -* Optional GnuTLS support - - If configure.bat finds the gnutls/gnutls.h file in the include path, - Emacs is built with GnuTLS support by default; to avoid that you can - pass the argument --without-gnutls. - - In order to support GnuTLS at runtime, a GnuTLS-enabled Emacs must - be able to find the relevant DLLs during startup; failure to do so - is not an error, but GnuTLS won't be available to the running - session. - - You can get pre-built binaries (including any required DLL and the - header files) at http://sourceforge.net/projects/ezwinports/files/. - -* Optional libxml2 support - - If configure.bat finds the libxml/HTMLparser.h file in the include path, - Emacs is built with libxml2 support by default; to avoid that you can - pass the argument --without-libxml2. - - In order to support libxml2 at runtime, a libxml2-enabled Emacs must - be able to find the relevant DLLs during startup; failure to do so - is not an error, but libxml2 features won't be available to the - running session. - - One place where you can get pre-built Windows binaries of libxml2 - (including any required DLL and the header files) is here: - - http://sourceforge.net/projects/ezwinports/files/ - - To compile Emacs with libxml2 from that site, you will need to pass - the "--cflags -I/path/to/include/libxml2" option to configure.bat, - because libxml2 header files are installed in the include/libxml2 - subdirectory of the directory where you unzip the binary - distribution. Other binary distributions might use other - directories, although include/libxml2 is the canonical place where - libxml2 headers are installed on Posix platforms. - - You will also need to install the libiconv "development" tarball, - because the libiconv headers need to be available to the compiler - when you compile with libxml2 support. A MinGW port of libiconv can - be found on the MinGW site: - - http://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/ - - You need the libiconv-X.Y.Z-N-mingw32-dev.tar.lzma tarball from that - site. - -* Experimental SVG support - - SVG support is currently experimental, and not built by default. - Specify --with-svg and ensure you have all the dependencies in your - include path. Unless you have built a minimalist librsvg yourself - (untested), librsvg depends on a significant chunk of GTK+ to build, - plus a few Gnome libraries, libxml2, libbz2 and zlib at runtime. The - easiest way to obtain the dependencies required for building is to - download a pre-bundled GTK+ development environment for Windows. - GTK puts its header files all over the place, so you will need to - run pkgconfig to list the include path you will need (either passed - to configure.bat as --cflags options, or set in the environment). - - To use librsvg at runtime, ensure that librsvg and its dependencies - are on your PATH. If you didn't build librsvg yourself, you will - need to check with where you downloaded it from for the - dependencies, as there are different build options. If it is a - short list, then it most likely only lists the immediate - dependencies of librsvg, but the dependencies themselves have - dependencies - so don't download individual libraries from GTK+, - download and install the whole thing. If you think you've got all - the dependencies and SVG support is still not working, check your - PATH for other libraries that shadow the ones you downloaded. - Libraries of the same name from different sources may not be - compatible, this problem was encountered with libbzip2 from GnuWin32 - with libcroco from gnome.org. - - If you can see etc/images/splash.svg, then you have managed to get - SVG support working. Congratulations for making it through DLL hell - to this point. You'll probably find that some SVG images crash - Emacs. Problems have been observed in some images that contain - text, they seem to be a problem in the Windows port of Pango, or - maybe a problem with the way Cairo or librsvg is using it that - doesn't show up on other platforms. - -* Optional extra runtime checks - - The configure.bat option --enable-checking builds Emacs with some - optional extra runtime checks and assertions enabled. This may be - useful for debugging. - -* Optional extra libraries - - You can pass --lib LIBNAME option to configure.bat to cause Emacs to - link with the specified library. You can use this option more than once. - -* Building - - After running configure, simply run the appropriate `make' program for - your compiler to build Emacs. For MSVC, this is nmake; for GCC, it is - GNU make. (If you are building out of Bazaar, say "make bootstrap" or - "nmake bootstrap" instead.) - - As the files are compiled, you will see some warning messages - declaring that some functions don't return a value, or that some data - conversions will be lossy, etc. You can safely ignore these messages. - The warnings may be fixed in the main FSF source at some point, but - until then we will just live with them. - - With GNU Make, you can use the -j command-line option to have Make - execute several commands at once, like this: - - gmake -j 4 XMFLAGS="-j 3" - - The XMFLAGS variable overrides the default behavior of GNU Make on - Windows, whereby recursive Make invocations reset the maximum number - of simultaneous commands to 1. The above command allows up to 4 - simultaneous commands at once in the top-level Make, and up to 3 in - each one of the recursive Make's; you can use other numbers of jobs, - if you wish. - - If you are building from Bazaar, the following commands will produce - the Info manuals (which are not part of the Bazaar sources): - - make info - or - nmake info - - Note that you will need makeinfo.exe (from the GNU Texinfo package) - in order for this command to succeed. - -* Installing - - To install Emacs after it has compiled, simply run `nmake install' - or `make install', depending on which version of the Make utility - do you have. - - By default, Emacs will be installed in the location where it was - built, but a different location can be specified either using the - --prefix option to configure, or by setting INSTALL_DIR when running - make, like so: - - make install INSTALL_DIR=D:/emacs - - (for `nmake', type "nmake install INSTALL_DIR=D:/emacs" instead). - - The install process will run addpm to setup the registry entries, and - to create a Start menu icon for Emacs. - -* Make targets - - The following make targets may be used by users building the source - distribution, or users who have checked out of Bazaar after - an initial bootstrapping. - - make - Builds Emacs from the available sources and pre-compiled lisp files. - - make install - Installs programs to the bin directory, and runs addpm to create - Start Menu icons. - - make clean - Removes object and executable files produced by the build process in - the current configuration. After make clean, you can rebuild with - the same configuration using make. - - make distclean - In addition to the files removed by make clean, this also removes - Makefiles and other generated files to get back to the state of a - freshly unpacked source distribution. Note that this will not remove - installed files, or the results of builds performed with different - compiler or optimization options than the current configuration. - After make distclean, it is necessary to run configure.bat followed - by make to rebuild. - - make cleanall - Removes object and executable files that may have been created by - previous builds with different configure options, in addition to - the files produced by the current configuration. - - make realclean - Removes the installed files in the bin subdirectory in addition to - the files removed by make cleanall. - - make dist - Builds Emacs from the available sources and pre-compiled lisp files. - Packages Emacs binaries as full distribution and barebin distribution. - - The following targets are intended only for use with the Bazaar sources. - - make bootstrap - Creates a temporary emacs binary with lisp source files and - uses it to compile the lisp files. Once the lisp files are built, - emacs is redumped with the compiled lisp. - - make recompile - Recompiles any changed lisp files after an update. This saves - doing a full bootstrap after every update. If this or a subsequent - make fail, you probably need to perform a full bootstrap, though - running this target multiple times may eventually sort out the - interdependencies. - - make maintainer-clean - Removes everything that can be recreated, including compiled lisp - files, to get back to the state of a fresh Bazaar tree. After make - maintainer-clean, it is necessary to run configure.bat and make - bootstrap to rebuild. Occasionally it may be necessary to run this - target after an update. - -* Creating binary distributions - - Binary distributions (full and barebin distributions) can be - automatically built and packaged from source tarballs or a repository - checkout. - - When building Emacs binary distributions, the --distfiles argument - to configure.bat specifies files to be included in the bin directory - of the binary distributions. This is intended for libraries that are - not built as part of Emacs, e.g. image libraries. - - For example, specifying - - --distfiles D:\distfiles\libXpm.dll - - results in libXpm.dll being copied from D:\distfiles to the - bin directory before packaging starts. - - Multiple files can be specified using multiple --distfiles arguments: - - --distfiles D:\distfiles\libXpm.dll --distfiles C:\jpeglib\jpeg.dll - - For packaging the binary distributions, the 'dist' make target uses - 7-Zip (http://www.7-zip.org), which must be installed and available - on the Windows Path. - - -* Trouble-shooting - - The main problems that are likely to be encountered when building - Emacs stem from using an old version of GCC, or old MinGW or Windows API - headers. Additionally, Cygwin ports of GNU make may require the Emacs - source tree to be mounted with text!=binary, because the makefiles - generated by configure.bat necessarily use DOS line endings. Also, - Cygwin ports of make must run in UNIX mode, either by specifying - --unix on the command line, or MAKE_MODE=UNIX in the environment. - - When configure runs, it attempts to detect when GCC itself, or the - headers it is using, are not suitable for building Emacs. GCC version - 2.95 or later is needed, because that is when the Windows port gained - sufficient support for anonymous structs and unions to cope with some - definitions from winnt.h that are used by addsection.c. - Older versions of the Windows API headers that come with Cygwin and MinGW - may be missing some definitions required by Emacs, or broken in other - ways. In particular, uniscribe APIs were added to MinGW CVS only on - 2006-03-26, so releases from before then cannot be used. - - When in doubt about correctness of what configure did, look at the file - config.log, which shows all the failed test programs and compiler - messages associated with the failures. If that doesn't give a clue, - please report the problems, together with the relevant fragments from - config.log, as bugs. - - If configure succeeds, but make fails, install the Cygwin port of - Bash, even if the table above indicates that Emacs should be able to - build without sh.exe. (Some versions of Windows shells are too dumb - for Makefile's used by Emacs.) - - If you are using certain Cygwin builds of GCC, such as Cygwin version - 1.1.8, you may need to specify some extra compiler flags like so: - - configure --with-gcc --cflags -mwin32 --cflags -D__MSVCRT__ - --ldflags -mwin32 - - However, the latest Cygwin versions, such as 1.3.3, don't need those - switches; you can simply use "configure --with-gcc". - - We will attempt to auto-detect the need for these flags in a future - release. - -* Debugging - - You should be able to debug Emacs using the debugger that is - appropriate for the compiler you used, namely DevStudio or Windbg if - compiled with MSVC, or GDB if compiled with GCC. (GDB for Windows - is available from the MinGW site, http://www.mingw.org/download.shtml.) - - When Emacs aborts due to a fatal internal error, Emacs on Windows - pops up an Emacs Abort Dialog asking you whether you want to debug - Emacs or terminate it. If Emacs was built with MSVC, click YES - twice, and Windbg or the DevStudio debugger will start up - automatically. If Emacs was built with GCC, first start GDB and - attach it to the Emacs process with the "gdb -p EMACS-PID" command, - where EMACS-PID is the Emacs process ID (which you can see in the - Windows Task Manager), type the "continue" command inside GDB, and - only then click YES on the abort dialog. This will pass control to - the debugger, and you will be able to debug the cause of the fatal - error. - - The single most important thing to find out when Emacs aborts or - crashes is where did that happen in the Emacs code. This is called - "backtrace". - - Emacs on Windows uses more than one thread. When Emacs aborts due - to a fatal error, the current thread may not be the application - thread running Emacs code. Therefore, to produce a meaningful - backtrace from a debugger, you need to instruct it to show the - backtrace for every thread. With GDB, you do it like this: - - (gdb) thread apply all backtrace - - To run Emacs under a debugger to begin with, simply start it from - the debugger. With GDB, chdir to the `src' directory (if you have - the source tree) or to a directory with the `.gdbinit' file (if you - don't have the source tree), and type these commands: - - C:\whatever\src> gdb x:\path\to\emacs.exe - (gdb) run - - Thereafter, use Emacs as usual; you can minimize the debugger - window, if you like. The debugger will take control if and when - Emacs crashes. - - Emacs functions implemented in C use a naming convention that reflects - their names in lisp. The names of the C routines are the lisp names - prefixed with 'F', and with dashes converted to underscores. For - example, the function call-process is implemented in C by - Fcall_process. Similarly, lisp variables are prefixed with 'V', again - with dashes converted to underscores. These conventions enable you to - easily set breakpoints or examine familiar lisp variables by name. - - Since Emacs data is often in the form of a lisp object, and the - Lisp_Object type is difficult to examine manually in a debugger, - Emacs provides a helper routine called debug_print that prints out a - readable representation of a Lisp_Object. If you are using GDB, - there is a .gdbinit file in the src directory which provides - definitions that are useful for examining lisp objects. Therefore, - the following tips are mainly of interest when using MSVC. - - The output from debug_print is sent to stderr, and to the debugger - via the OutputDebugString routine. The output sent to stderr should - be displayed in the console window that was opened when the - emacs.exe executable was started. The output sent to the debugger - should be displayed in its "Debug" output window. - - When you are in the process of debugging Emacs and you would like to - examine the contents of a Lisp_Object variable, pop up the QuickWatch - window (QuickWatch has an eyeglass symbol on its button in the - toolbar). In the text field at the top of the window, enter - debug_print() and hit return. For example, start and run - Emacs in the debugger until it is waiting for user input. Then click - on the Break button in the debugger to halt execution. Emacs should - halt in ZwUserGetMessage waiting for an input event. Use the Call - Stack window to select the procedure w32_msp_pump up the call stack - (see below for why you have to do this). Open the QuickWatch window - and enter debug_print(Vexec_path). Evaluating this expression will - then print out the contents of the lisp variable exec-path. - - If QuickWatch reports that the symbol is unknown, then check the call - stack in the Call Stack window. If the selected frame in the call - stack is not an Emacs procedure, then the debugger won't recognize - Emacs symbols. Instead, select a frame that is inside an Emacs - procedure and try using debug_print again. - - If QuickWatch invokes debug_print but nothing happens, then check the - thread that is selected in the debugger. If the selected thread is - not the last thread to run (the "current" thread), then it cannot be - used to execute debug_print. Use the Debug menu to select the current - thread and try using debug_print again. Note that the debugger halts - execution (e.g., due to a breakpoint) in the context of the current - thread, so this should only be a problem if you've explicitly switched - threads. - - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . diff --git a/nt/config.nt b/nt/config.nt deleted file mode 100644 index aa4a8bc..0000000 --- a/nt/config.nt +++ /dev/null @@ -1,1847 +0,0 @@ -/* GNU Emacs site configuration template file. - -Copyright (C) 1988, 1993-1994, 2001-2015 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -/* NOTE: - *** WARNING This file is no longer being updated *** - Please do not remove non-Windows related stuff - unless strictly necessary. Also, before adding anything here - consider whether inc/ms-w32.h would be a better place; this is - particularly true for gcc vs. MSVC conditional defines, MinGW or - MSVC specific code, and macros not already defined in config.in. */ - -/* No code in Emacs #includes config.h twice, but some bits of code - intended to work with other packages as well (like gmalloc.c) - think they can include it as many times as they like. */ -#ifndef EMACS_CONFIG_H -#define EMACS_CONFIG_H - - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* Define to use the convention that & in the full name stands for the login - id. */ -#undef AMPERSAND_FULL_NAME - -/* Define to the number of bits in type 'ptrdiff_t'. */ -#undef BITSIZEOF_PTRDIFF_T - -/* Define to the number of bits in type 'sig_atomic_t'. */ -#undef BITSIZEOF_SIG_ATOMIC_T - -/* Define to the number of bits in type 'size_t'. */ -#undef BITSIZEOF_SIZE_T - -/* Define to the number of bits in type 'wchar_t'. */ -#undef BITSIZEOF_WCHAR_T - -/* Define to the number of bits in type 'wint_t'. */ -#undef BITSIZEOF_WINT_T - -/* Define if get_current_dir_name should not be used. */ -#undef BROKEN_GET_CURRENT_DIR_NAME - -/* Define on FreeBSD to work around an issue when reading from a PTY. */ -#undef BROKEN_PTY_READ_AFTER_EAGAIN - -/* Define if Emacs cannot be dumped on your system. */ -#undef CANNOT_DUMP - -/* Define this to enable compile time checks for the Lisp_Object data type. */ -/* #undef CHECK_LISP_OBJECT_TYPE */ - -/* Define if you want lock files to be written, so that Emacs can tell - instantly when you try to modify a file that someone else has modified in - his/her Emacs. */ -#define CLASH_DETECTION 1 - -/* Short copyright string for this version of Emacs. */ -#define COPYRIGHT "Copyright (C) 2015 Free Software Foundation, Inc." - -/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP - systems. This function is required for 'alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define if the system is Cygwin. */ -#undef CYGWIN - -/* Define to 1 if using 'alloca.c'. */ -#undef C_ALLOCA - -/* Define if the system is Darwin. */ -#undef DARWIN_OS - -/* Extra bits to be or'd in with any pointers stored in a Lisp_Object. */ -#undef DATA_SEG_BITS - -/* Name of the default sound device. */ -#undef DEFAULT_SOUND_DEVICE - -/* Character that separates a device in a file name. */ -#define DEVICE_SEP ':' - -/* Define to 1 for DGUX with . */ -#undef DGUX - -/* Character that separates directories in a file name. */ -#define DIRECTORY_SEP '/' - -/* Define if process.c does not need to close a pty to make it a controlling - terminal (it is already a controlling terminal of the subprocess, because - we did ioctl TIOCSCTTY). */ -#undef DONT_REOPEN_PTY - -/* Define if the system is MS DOS or MS Windows. */ -#define DOS_NT - -/* Define to 1 if you are using the GNU C Library. */ -#undef DOUG_LEA_MALLOC - -/* Define to the canonical Emacs configuration name. */ -#undef EMACS_CONFIGURATION - -/* Define to the options passed to configure. */ -#undef EMACS_CONFIG_OPTIONS - -/* Define to 1 if expensive run-time data type and consistency checks are - enabled. */ -#undef ENABLE_CHECKING - -/* Letter to use in finding device name of first PTY, if PTYs are supported. - */ -#define FIRST_PTY_LETTER 'a' - -/* Enable compile-time and run-time bounds-checking, and some warnings, - without upsetting glibc 2.15+. */ - #if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__ - # define _FORTIFY_SOURCE 2 - #endif - - -/* Define to 1 if futimesat mishandles a NULL file name. */ -#undef FUTIMESAT_NULL_BUG - -/* Define this to check for errors in cons list. */ -#undef GC_CHECK_CONS_LIST - -/* Define this temporarily to hunt a bug. If defined, the size of strings is - redundantly recorded in sdata structures so that it can be compared to the - sizes recorded in Lisp strings. */ -#undef GC_CHECK_STRING_BYTES - -/* Define this to check the string free list. */ -#undef GC_CHECK_STRING_FREE_LIST - -/* Define this to check for short string overrun. */ -#undef GC_CHECK_STRING_OVERRUN - -/* Mark a secondary stack, like the register stack on the ia64. */ -#undef GC_MARK_SECONDARY_STACK - -/* Define if setjmp is known to save all registers relevant for conservative - garbage collection in the jmp_buf. - MSVC ignores the "register" keyword, so test fails even though - setjmp does work. */ -#define GC_SETJMP_WORKS 1 - -/* Define to the type of elements in the array set by `getgroups'. Usually - this is either `int' or `gid_t'. */ -#undef GETGROUPS_T - -/* Define this to 1 if getgroups(0,NULL) does not return the number of groups. - */ -#undef GETGROUPS_ZERO_BUG - -/* Define if gettimeofday clobbers the localtime buffer. */ -#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME - -/* Define this to 'void' or 'struct timezone' to match the system's - declaration of the second argument to gettimeofday. */ -#undef GETTIMEOFDAY_TIMEZONE - -/* Define this to enable glyphs debugging code. */ -/* #undef GLYPH_DEBUG */ - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module close-stream shall be considered present. */ -#undef GNULIB_CLOSE_STREAM - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module faccessat shall be considered present. */ -#undef GNULIB_FACCESSAT - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module fdopendir shall be considered present. */ -#undef GNULIB_FDOPENDIR - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module fscanf shall be considered present. */ -#undef GNULIB_FSCANF - -/* enable some gnulib portability checks */ -#undef GNULIB_PORTCHECK - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module scanf shall be considered present. */ -#undef GNULIB_SCANF - -/* Define if ths system is compatible with GNU/Linux. */ -#undef GNU_LINUX - -/* Define to 1 if you want to use the GNU memory allocator. */ -#define GNU_MALLOC 1 - -/* Define to set the G_SLICE environment variable to "always-malloc" at - startup, if using GTK. */ -#undef G_SLICE_ALWAYS_MALLOC - -/* Define to 1 if you have the `access' function. */ -#undef HAVE_ACCESS - -/* Define to 1 if you have the `aclsort' function. */ -#undef HAVE_ACLSORT - -/* Define to 1 if you have the header file. */ -#undef HAVE_ACLV_H - -/* Define to 1 if you have the `aclx_get' function. */ -#undef HAVE_ACLX_GET - -/* Define to 1 if you have the `acl_copy_ext_native' function. */ -#undef HAVE_ACL_COPY_EXT_NATIVE - -/* Define to 1 if you have the `acl_create_entry_np' function. */ -#undef HAVE_ACL_CREATE_ENTRY_NP - -/* Define to 1 if you have the `acl_delete_def_file' function. */ -#undef HAVE_ACL_DELETE_DEF_FILE - -/* Define to 1 if you have the `acl_delete_fd_np' function. */ -#undef HAVE_ACL_DELETE_FD_NP - -/* Define to 1 if you have the `acl_delete_file_np' function. */ -#undef HAVE_ACL_DELETE_FILE_NP - -/* Define to 1 if you have the `acl_entries' function. */ -#undef HAVE_ACL_ENTRIES - -/* Define to 1 if you have the `acl_extended_file' function. */ -#undef HAVE_ACL_EXTENDED_FILE - -/* Define to 1 if the constant ACL_FIRST_ENTRY exists. */ -#undef HAVE_ACL_FIRST_ENTRY - -/* Define to 1 if you have the `acl_free' function. */ -#define HAVE_ACL_FREE 1 - -/* Define to 1 if you have the `acl_free_text' function. */ -#undef HAVE_ACL_FREE_TEXT - -/* Define to 1 if you have the `acl_from_mode' function. */ -#undef HAVE_ACL_FROM_MODE - -/* Define to 1 if you have the `acl_from_text' function. */ -#define HAVE_ACL_FROM_TEXT 1 - -/* Define to 1 if you have the `acl_get_fd' function. */ -#undef HAVE_ACL_GET_FD - -/* Define to 1 if you have the `acl_get_file' function. */ -#define HAVE_ACL_GET_FILE 1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_ACL_LIBACL_H - -/* Define to 1 if you have the `acl_set_fd' function. */ -#undef HAVE_ACL_SET_FD - -/* Define to 1 if you have the `acl_set_file' function. */ -#define HAVE_ACL_SET_FILE 1 - -/* Define to 1 if you have the `acl_to_short_text' function. */ -#undef HAVE_ACL_TO_SHORT_TEXT - -/* Define to 1 if you have the `acl_trivial' function. */ -#undef HAVE_ACL_TRIVIAL - -/* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */ -#undef HAVE_ACL_TYPE_EXTENDED - -/* Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists. */ -#undef HAVE_AIX_SMT_EXP - -/* Define to 1 if you have 'alloca' after including , a header that - may be supplied by this distribution. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if ALSA is available. */ -#undef HAVE_ALSA - -/* Define to 1 if strtold conforms to C99. */ -#undef HAVE_C99_STRTOLD - -/* Define to 1 if you have the `cfmakeraw' function. */ -#undef HAVE_CFMAKERAW - -/* Define to 1 if you have the `cfsetspeed' function. */ -#undef HAVE_CFSETSPEED - -/* Define to 1 if you have the `clock_gettime' function. */ -#undef HAVE_CLOCK_GETTIME - -/* Define to 1 if you have the `clock_settime' function. */ -#undef HAVE_CLOCK_SETTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_COFF_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_COM_ERR_H - -/* Define to 1 if you have the `copysign' function. */ -#define HAVE_COPYSIGN 1 - -/* Define to 1 if data_start is the address of the start of the main data - segment. */ -#undef HAVE_DATA_START - -/* Define to 1 if using D-Bus. */ -#undef HAVE_DBUS - -/* Define to 1 if you have the `dbus_type_is_valid' function. */ -#undef HAVE_DBUS_TYPE_IS_VALID - -/* Define to 1 if you have the `dbus_validate_bus_name' function. */ -#undef HAVE_DBUS_VALIDATE_BUS_NAME - -/* Define to 1 if you have the `dbus_validate_interface' function. */ -#undef HAVE_DBUS_VALIDATE_INTERFACE - -/* Define to 1 if you have the `dbus_validate_member' function. */ -#undef HAVE_DBUS_VALIDATE_MEMBER - -/* Define to 1 if you have the `dbus_validate_path' function. */ -#undef HAVE_DBUS_VALIDATE_PATH - -/* Define to 1 if you have the `dbus_watch_get_unix_fd' function. */ -#undef HAVE_DBUS_WATCH_GET_UNIX_FD - -/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. - */ -#undef HAVE_DECL_ALARM - -/* Define to 1 if you have the declaration of `fdatasync', and to 0 if you - don't. */ -#undef HAVE_DECL_FDATASYNC - -/* Define to 1 if you have the declaration of `fdopendir', and to 0 if you - don't. */ -#undef HAVE_DECL_FDOPENDIR - -/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. - */ -#define HAVE_DECL_GETENV 1 - -/* Define to 1 if you have the declaration of `localtime_r', and to 0 if you - don't. */ -#undef HAVE_DECL_LOCALTIME_R - -/* Define to 1 if you have the declaration of `memrchr', and to 0 if you - don't. */ -#undef HAVE_DECL_MEMRCHR - -/* Define to 1 if you have the declaration of `strmode', and to 0 if you - don't. */ -#undef HAVE_DECL_STRMODE - -/* Define to 1 if you have the declaration of `strtoimax', and to 0 if you - don't. */ -#undef HAVE_DECL_STRTOIMAX - -/* Define to 1 if you have the declaration of `strtoll', and to 0 if you - don't. */ -#define HAVE_DECL_STRTOLL 1 - -/* Define to 1 if you have the declaration of `strtoull', and to 0 if you - don't. */ -#define HAVE_DECL_STRTOULL 1 - -/* Define to 1 if you have the declaration of `strtoumax', and to 0 if you - don't. */ -#define HAVE_DECL_STRTOUMAX 1 - -/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you - don't. */ -#undef HAVE_DECL_SYS_SIGLIST - -/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. - */ -#define HAVE_DECL_TZNAME 1 - -/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you - don't. */ -#undef HAVE_DECL_UNSETENV - -/* Define to 1 if you have the declaration of `_putenv', and to 0 if you - don't. */ -#undef HAVE_DECL__PUTENV - -/* Define to 1 if you have the declaration of `__fpending', and to 0 if you - don't. */ -#undef HAVE_DECL___FPENDING - -/* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you - don't. */ -#undef HAVE_DECL___SYS_SIGLIST - -/* Define to 1 if you have the header file. */ -#undef HAVE_DES_H - -/* Define to 1 if dynamic ptys are supported. */ -#undef HAVE_DEV_PTMX - -/* Define to 1 if you have the `difftime' function. */ -#undef HAVE_DIFFTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you have the 'dup2' function. */ -#define HAVE_DUP2 1 - -/* Define to 1 if you have the `eaccess' function. */ -#undef HAVE_EACCESS - -/* Define to 1 if you have the `endgrent' function. */ -#undef HAVE_ENDGRENT - -/* Define to 1 if you have the `endpwent' function. */ -#undef HAVE_ENDPWENT - -/* Define if you have the declaration of environ. */ -#undef HAVE_ENVIRON_DECL - -/* Define to 1 if you have the `euidaccess' function. */ -#undef HAVE_EUIDACCESS - -/* Define to 1 if you have the header file. */ -#define HAVE_EXECINFO_H 1 - -/* Define to 1 if you have the `faccessat' function. */ -#undef HAVE_FACCESSAT - -/* Define to 1 if you have the `facl' function. */ -#undef HAVE_FACL - -/* Define to 1 if you have the `fdatasync' function. */ -#undef HAVE_FDATASYNC - -/* Define to 1 if you have the `fdopendir' function. */ -#undef HAVE_FDOPENDIR - -/* Define to 1 if you have the `fork' function. */ -#undef HAVE_FORK - -/* Define to 1 if you have the `freeifaddrs' function. */ -#undef HAVE_FREEIFADDRS - -/* Define to 1 if using the freetype and fontconfig libraries. */ -#undef HAVE_FREETYPE - -/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ -#undef HAVE_FSEEKO - -/* Define to 1 if you have the `fstatat' function. */ -#undef HAVE_FSTATAT - -/* Define to 1 if you have the `fsync' function. */ -#define HAVE_FSYNC 1 - -/* Define to 1 if you have the `futimens' function. */ -#undef HAVE_FUTIMENS - -/* Define to 1 if you have the `futimes' function. */ -#undef HAVE_FUTIMES - -/* Define to 1 if you have the `futimesat' function. */ -#undef HAVE_FUTIMESAT - -/* Define to 1 if you have the `gai_strerror' function. */ -#undef HAVE_GAI_STRERROR - -/* Define to 1 if using GConf. */ -#undef HAVE_GCONF - -/* Define to 1 if you have the `getacl' function. */ -#undef HAVE_GETACL - -/* Define to 1 if you have the `getaddrinfo' function. */ -#undef HAVE_GETADDRINFO - -/* Define to 1 if you have the `getdelim' function. */ -#undef HAVE_GETDELIM - -/* Define to 1 if you have the `getgrent' function. */ -#undef HAVE_GETGRENT - -/* Define to 1 if your system has a working `getgroups' function. */ -#undef HAVE_GETGROUPS - -/* Define to 1 if you have the `gethostname' function. */ -#define HAVE_GETHOSTNAME 1 - -/* Define to 1 if you have the `getifaddrs' function. */ -#undef HAVE_GETIFADDRS - -/* Define to 1 if you have the `getline' function. */ -#undef HAVE_GETLINE - -/* Define to 1 if you have the header file. */ -#undef HAVE_GETOPT_H - -/* Define to 1 if you have the `getopt_long_only' function. */ -#undef HAVE_GETOPT_LONG_ONLY - -/* Define to 1 if you have the `getpagesize' function. */ -#define HAVE_GETPAGESIZE 1 - -/* Define to 1 if you have the `getpeername' function. */ -#define HAVE_GETPEERNAME 1 - -/* Define to 1 if you have the `getpt' function. */ -#undef HAVE_GETPT - -/* Define to 1 if you have the `getpwent' function. */ -#undef HAVE_GETPWENT - -/* Define to 1 if you have the `getrlimit' function. */ -#undef HAVE_GETRLIMIT - -/* Define to 1 if you have the `getrusage' function. */ -#undef HAVE_GETRUSAGE - -/* Define to 1 if you have the `getsockname' function. */ -#define HAVE_GETSOCKNAME 1 - -/* Define to 1 if you have the `gettimeofday' function. */ -#define HAVE_GETTIMEOFDAY 1 - -/* Define to 1 if using GFile. */ -#undef HAVE_GFILENOTIFY - -/* Define to 1 if you have the `get_current_dir_name' function. */ -#undef HAVE_GET_CURRENT_DIR_NAME - -/* Define to 1 if you have a gif (or ungif) library. */ -#undef HAVE_GIF - -/* Define if using GnuTLS. */ -#undef HAVE_GNUTLS - -/* Define if using GnuTLS certificate verification callbacks. */ -#undef HAVE_GNUTLS_CALLBACK_CERTIFICATE_VERIFY - -/* Define to 1 if you have the `gnutls_certificate_set_verify_function' - function. */ -#undef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION - -/* Define to 1 if you have the gpm library (-lgpm). */ -#undef HAVE_GPM - -/* Define to 1 if you have the `grantpt' function. */ -#undef HAVE_GRANTPT - -/* Define to 1 if using GSettings. */ -#undef HAVE_GSETTINGS - -/* Define to 1 if using GTK 3 or later. */ -#undef HAVE_GTK3 - -/* Define to 1 if you have the `gtk_adjustment_get_page_size' function. */ -#undef HAVE_GTK_ADJUSTMENT_GET_PAGE_SIZE - -/* Define to 1 if you have the `gtk_dialog_get_action_area' function. */ -#undef HAVE_GTK_DIALOG_GET_ACTION_AREA - -/* Define to 1 if you have the `gtk_file_selection_new' function. */ -#undef HAVE_GTK_FILE_SELECTION_NEW - -/* Define to 1 if you have the `gtk_handle_box_new' function. */ -#undef HAVE_GTK_HANDLE_BOX_NEW - -/* Define to 1 if you have the `gtk_main' function. */ -#undef HAVE_GTK_MAIN - -/* Define to 1 if you have the `gtk_orientable_set_orientation' function. */ -#undef HAVE_GTK_ORIENTABLE_SET_ORIENTATION - -/* Define to 1 if you have the `gtk_tearoff_menu_item_new' function. */ -#undef HAVE_GTK_TEAROFF_MENU_ITEM_NEW - -/* Define to 1 if you have the `gtk_widget_get_mapped' function. */ -#undef HAVE_GTK_WIDGET_GET_MAPPED - -/* Define to 1 if you have the `gtk_widget_get_sensitive' function. */ -#undef HAVE_GTK_WIDGET_GET_SENSITIVE - -/* Define to 1 if you have the `gtk_widget_get_window' function. */ -#undef HAVE_GTK_WIDGET_GET_WINDOW - -/* Define to 1 if you have the `gtk_widget_set_has_window' function. */ -#undef HAVE_GTK_WIDGET_SET_HAS_WINDOW - -/* Define to 1 if you have the `gtk_window_set_has_resize_grip' function. */ -#undef HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP - -/* Define to 1 if you have the `g_type_init' function. */ -#undef HAVE_G_TYPE_INIT - -/* Define to 1 if netdb.h declares h_errno. */ -#define HAVE_H_ERRNO 1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_IFADDRS_H - -/* Define to 1 if using imagemagick. */ -#undef HAVE_IMAGEMAGICK - -/* Define to 1 if you have inet sockets. */ -#define HAVE_INET_SOCKETS 1 - -/* Define to 1 to use inotify. */ -#undef HAVE_INOTIFY - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the jpeg library (-ljpeg). */ -#undef HAVE_JPEG - -/* Define to 1 if you have the header file. */ -#undef HAVE_KERBEROSIV_DES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_KERBEROSIV_KRB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_KERBEROS_DES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_KERBEROS_KRB_H - -/* Define to 1 if `e_text' is a member of `krb5_error'. */ -#undef HAVE_KRB5_ERROR_E_TEXT - -/* Define to 1 if `text' is a member of `krb5_error'. */ -#undef HAVE_KRB5_ERROR_TEXT - -/* Define to 1 if you have the header file. */ -#undef HAVE_KRB5_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_KRB_H - -/* Define if you have and nl_langinfo(CODESET). */ -#define HAVE_LANGINFO_CODESET 1 - -/* Define to 1 if you have the `com_err' library (-lcom_err). */ -#undef HAVE_LIBCOM_ERR - -/* Define to 1 if you have the `crypto' library (-lcrypto). */ -#undef HAVE_LIBCRYPTO - -/* Define to 1 if you have the `des' library (-ldes). */ -#undef HAVE_LIBDES - -/* Define to 1 if you have the `des425' library (-ldes425). */ -#undef HAVE_LIBDES425 - -/* Define to 1 if you have the `dgc' library (-ldgc). */ -#undef HAVE_LIBDGC - -/* Define to 1 if you have the `dnet' library (-ldnet). */ -#undef HAVE_LIBDNET - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIBGEN_H - -/* Define to 1 if you have the hesiod library (-lhesiod). */ -#undef HAVE_LIBHESIOD - -/* Define to 1 if you have the `k5crypto' library (-lk5crypto). */ -#undef HAVE_LIBK5CRYPTO - -/* Define to 1 if you have the `krb' library (-lkrb). */ -#undef HAVE_LIBKRB - -/* Define to 1 if you have the `krb4' library (-lkrb4). */ -#undef HAVE_LIBKRB4 - -/* Define to 1 if you have the `krb5' library (-lkrb5). */ -#undef HAVE_LIBKRB5 - -/* Define to 1 if you have the `kstat' library (-lkstat). */ -#undef HAVE_LIBKSTAT - -/* Define to 1 if you have the `lockfile' library (-llockfile). */ -#undef HAVE_LIBLOCKFILE - -/* Define to 1 if you have the `m' library (-lm). */ -#undef HAVE_LIBM - -/* Define to 1 if you have the `mail' library (-lmail). */ -#undef HAVE_LIBMAIL - -/* Define to 1 if using libotf. */ -#undef HAVE_LIBOTF - -/* Define to 1 if you have the `perfstat' library (-lperfstat). */ -#undef HAVE_LIBPERFSTAT - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIBPNG_PNG_H - -/* Define to 1 if you have the `pthreads' library (-lpthreads). */ -#undef HAVE_LIBPTHREADS - -/* Define to 1 if you have the resolv library (-lresolv). */ -#undef HAVE_LIBRESOLV - -/* Define to 1 if using SELinux. */ -#undef HAVE_LIBSELINUX - -/* Define to 1 if you have the `Xext' library (-lXext). */ -#undef HAVE_LIBXEXT - -/* Define to 1 if you have the libxml library (-lxml2). */ -#undef HAVE_LIBXML2 - -/* Define to 1 if you have the `Xmu' library (-lXmu). */ -#undef HAVE_LIBXMU - -/* Define to 1 if you have the header file. */ -#undef HAVE_LINUX_VERSION_H - -/* Define to 1 if you have the `localtime_r' function. */ -#undef HAVE_LOCALTIME_R - -/* Define to 1 if you support file names longer than 14 characters. */ -#define HAVE_LONG_FILE_NAMES 1 - -/* Define to 1 if the system has the type 'long long int'. */ -#undef HAVE_LONG_LONG_INT - -/* Define to 1 if you have the `lrand48' function. */ -#undef HAVE_LRAND48 - -/* Define to 1 if you have the `lstat' function. */ -#undef HAVE_LSTAT - -/* Define to 1 if you have the `lutimes' function. */ -#undef HAVE_LUTIMES - -/* Define to 1 if using libm17n-flt. */ -#undef HAVE_M17N_FLT - -/* Define to 1 if you have the header file. */ -#undef HAVE_MACHINE_SOUNDCARD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MACH_MACH_H - -/* Define to 1 if you have the `MagickExportImagePixels' function. */ -#undef HAVE_MAGICKEXPORTIMAGEPIXELS - -/* Define to 1 if you have the `MagickMergeImageLayers' function. */ -#undef HAVE_MAGICKMERGEIMAGELAYERS - -/* Define to 1 if you have the header file. */ -#undef HAVE_MAILLOCK_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_MALLOC_MALLOC_H - -/* Define to 1 if declares mbstate_t. */ -#undef HAVE_MBSTATE_T - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memrchr' function. */ -#undef HAVE_MEMRCHR - -/* Define to 1 if you have mouse menus. (This is automatic if you use X, but - the option to specify it remains.) It is also defined with other window - systems that support xmenu.c. */ -#undef HAVE_MENUS - -/* Define to 1 if you have the `mkostemp' function. */ -#define HAVE_MKOSTEMP 1 - -/* Define to 1 if you have the `mkstemp' function. */ -#undef HAVE_MKSTEMP - -/* Define to 1 if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define to 1 if you have the `nanotime' function. */ -#undef HAVE_NANOTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_NET_IF_DL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NET_IF_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NLIST_H - -/* Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on - Mac OS X. */ -#undef HAVE_NS - -/* Define to use native MS Windows GUI. */ -#define HAVE_NTGUI 1 - -/* Define to 1 if libotf has OTF_get_variation_glyphs. */ -#undef HAVE_OTF_GET_VARIATION_GLYPHS - -/* Define to 1 if personality LINUX32 can be set. */ -#undef HAVE_PERSONALITY_LINUX32 - -/* Define to 1 if you have the png library (-lpng). */ -#undef HAVE_PNG - -/* Define to 1 if you have the header file. */ -#undef HAVE_PNG_H - -/* Define to 1 if you have the `posix_memalign' function. */ -#undef HAVE_POSIX_MEMALIGN - -/* Define to 1 if you have the `posix_openpt' function. */ -#undef HAVE_POSIX_OPENPT - -/* Define if you have the /proc filesystem. */ -#undef HAVE_PROCFS - -/* Define to 1 if you have the `pselect' function. */ -#undef HAVE_PSELECT - -/* Define to 1 if you have the `pstat_getdynamic' function. */ -#undef HAVE_PSTAT_GETDYNAMIC - -/* Define to 1 if you have pthread (-lpthread). */ -#undef HAVE_PTHREAD - -/* Define to 1 if you have the header file. */ -#undef HAVE_PTHREAD_H - -/* Define to 1 if the pthread_sigmask function can be used (despite bugs). */ -#undef HAVE_PTHREAD_SIGMASK - -/* Define if the system supports pty devices. */ -#undef HAVE_PTYS - -/* Define to 1 if you have the header file. */ -#undef HAVE_PTY_H - -/* Define to 1 if you have the header file. */ -#define HAVE_PWD_H 1 - -/* Define to 1 if you have the `random' function. */ -#define HAVE_RANDOM 1 - -/* Define to 1 if you have the `readlink' function. */ -#undef HAVE_READLINK - -/* Define to 1 if you have the `readlinkat' function. */ -#undef HAVE_READLINKAT - -/* Define to 1 if you have the `recvfrom' function. */ -#define HAVE_RECVFROM 1 - -/* Define to 1 if res_init is available. */ -#undef HAVE_RES_INIT - -/* Define to 1 if you have the `rint' function. */ -#undef HAVE_RINT - -/* Define to 1 if using librsvg. */ -#undef HAVE_RSVG - -/* Define to 1 if you have the `select' function. */ -#define HAVE_SELECT 1 - -/* Define to 1 if you have the `sendto' function. */ -#define HAVE_SENDTO 1 - -/* Define to 1 if you have the `setitimer' function. */ -#define HAVE_SETITIMER 1 - -/* Define to 1 if you have the `setlocale' function. */ -#define HAVE_SETLOCALE 1 - -/* Define to 1 if you have the `setrlimit' function. */ -#undef HAVE_SETRLIMIT - -/* Define to 1 if you have the `shutdown' function. */ -#define HAVE_SHUTDOWN 1 - -/* Define to 1 if you have the `sig2str' function. */ -#undef HAVE_SIG2STR - -/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ -#undef HAVE_SIGNED_SIG_ATOMIC_T - -/* Define to 1 if 'wchar_t' is a signed integer type. */ -#undef HAVE_SIGNED_WCHAR_T - -/* Define to 1 if 'wint_t' is a signed integer type. */ -#undef HAVE_SIGNED_WINT_T - -/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is - irrelevant if HAVE__SETJMP is defined. */ -#undef HAVE_SIGSETJMP - -/* Define to 1 if the system has the type `sigset_t'. */ -#undef HAVE_SIGSET_T - -/* Define to 1 if you have the `snprintf' function. */ -#define HAVE_SNPRINTF 1 - -/* Define if the system supports 4.2-compatible sockets. - NT supports Winsock which is close enough (with some hacks). */ -#define HAVE_SOCKETS 1 - -/* Define to 1 if you have sound support. */ -#define HAVE_SOUND 1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_SOUNDCARD_H - -/* Define to 1 if `speed_t' is declared by . */ -#undef HAVE_SPEED_T - -/* Define to 1 if you have the `statacl' function. */ -#undef HAVE_STATACL - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDIO_EXT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strsignal' function. */ -#undef HAVE_STRSIGNAL - -/* Define to 1 if you have the `strtoimax' function. */ -#undef HAVE_STRTOIMAX - -/* Define to 1 if you have the `strtoll' function. */ -#undef HAVE_STRTOLL - -/* Define to 1 if you have the `strtoull' function. */ -#define HAVE_STRTOULL 1 - -/* Define to 1 if you have the `strtoumax' function. */ -#define HAVE_STRTOUMAX 1 - -/* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */ -#undef HAVE_STRUCT_IFREQ_IFR_ADDR - -/* Define to 1 if `ifr_addr.sa_len' is a member of `struct ifreq'. */ -#undef HAVE_STRUCT_IFREQ_IFR_ADDR_SA_LEN - -/* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */ -#undef HAVE_STRUCT_IFREQ_IFR_BROADADDR - -/* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */ -#undef HAVE_STRUCT_IFREQ_IFR_FLAGS - -/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */ -#undef HAVE_STRUCT_IFREQ_IFR_HWADDR - -/* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */ -#undef HAVE_STRUCT_IFREQ_IFR_NETMASK - -/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */ -#undef HAVE_STRUCT_NLIST_N_UN_N_NAME - -/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIMENSEC - -/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC - -/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC - -/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC - -/* Define to 1 if `st_birthtimensec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC - -/* Define to 1 if `st_birthtimespec.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC - -/* Define to 1 if `st_birthtim.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC - -/* Define to 1 if `tm_zone' is a member of `struct tm'. */ -#undef HAVE_STRUCT_TM_TM_ZONE - -/* Define if struct utimbuf is declared -- usually in . Some systems - have utime.h but don't declare the struct anywhere. */ -#undef HAVE_STRUCT_UTIMBUF - -/* Define if struct stat has an st_dm_mode member. */ -#undef HAVE_ST_DM_MODE - -/* Define to 1 if you have the `symlink' function. */ -#undef HAVE_SYMLINK - -/* Define to 1 if you have the `sync' function. */ -#undef HAVE_SYNC - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_ACL_H 1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_BITYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_INOTIFY_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_LOADAVG_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOUNDCARD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SYSTEMINFO_H - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIMEB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_UN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_UTSNAME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_VLIMIT_H - -/* Define to 1 if you have that is POSIX.1 compatible. */ -#define HAVE_SYS_WAIT_H 1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERM_H - -/* Define to 1 if you have the tiff library (-ltiff). */ -#undef HAVE_TIFF - -/* Define to 1 if you have the `timer_settime' function. */ -#undef HAVE_TIMER_SETTIME - -/* Define if struct tm has the tm_gmtoff member. */ -#undef HAVE_TM_GMTOFF - -/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use - `HAVE_STRUCT_TM_TM_ZONE' instead. */ -#undef HAVE_TM_ZONE - -/* Define to 1 if you have the `touchlock' function. */ -#undef HAVE_TOUCHLOCK - -/* Define to 1 if you don't have `tm_zone' but do have the external array - `tzname'. */ -#define HAVE_TZNAME 1 - -/* Define to 1 if you have the `tzset' function. */ -#define HAVE_TZSET 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if you have the `unsetenv' function. */ -#define HAVE_UNSETENV 1 - -/* Define to 1 if the system has the type 'unsigned long long int'. */ -#undef HAVE_UNSIGNED_LONG_LONG_INT - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTIL_H - -/* Define to 1 if you have the `utimensat' function. */ -#undef HAVE_UTIMENSAT - -/* Define to 1 if you have the `utimes' function. */ -#undef HAVE_UTIMES - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTMP_H - -/* Define to 1 if you have the `vfork' function. */ -#undef HAVE_VFORK - -/* Define to 1 if you have the header file. */ -#undef HAVE_VFORK_H - -/* Define to 1 to use w32notify. */ -#define HAVE_W32NOTIFY 1 - -/* Define to 1 if you have the header file. */ -#undef HAVE_WCHAR_H - -/* Define if you have the 'wchar_t' type. */ -#define HAVE_WCHAR_T 1 - -/* Define if you have a window system. */ -#undef HAVE_WINDOW_SYSTEM - -/* Define to 1 if you have the header file. */ -#undef HAVE_WINSOCK2_H - -/* Define to 1 if `fork' works. */ -#undef HAVE_WORKING_FORK - -/* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX - 7.1. */ -#undef HAVE_WORKING_FSTATAT_ZERO_FLAG - -/* Define if utimes works properly. */ -#undef HAVE_WORKING_UTIMES - -/* Define to 1 if `vfork' works. */ -#undef HAVE_WORKING_VFORK - -/* Define to 1 if you have the header file. */ -#undef HAVE_WS2TCPIP_H - -/* Define to 1 if you want to use version 11 of X windows. Otherwise, Emacs - expects to use version 10. */ -#undef HAVE_X11 - -/* Define to 1 if you have the X11R6 or newer version of Xlib. */ -#undef HAVE_X11R6 - -/* Define if you have usable X11R6-style XIM support. */ -#undef HAVE_X11R6_XIM - -/* Define to 1 if you have the X11R6 or newer version of Xt. */ -#undef HAVE_X11XTR6 - -/* Define to 1 if you have the Xaw3d library (-lXaw3d). */ -#undef HAVE_XAW3D - -/* Define to 1 if you have the Xft library. */ -#undef HAVE_XFT - -/* Define to 1 if XIM is available */ -#undef HAVE_XIM - -/* Define to 1 if you have the Xinerama extension. */ -#undef HAVE_XINERAMA - -/* Define to 1 if you have the Xkb extension. */ -#undef HAVE_XKB - -/* Define to 1 if you have the Xpm library (-lXpm). */ -#undef HAVE_XPM - -/* Define to 1 if you have the XRandr extension. */ -#undef HAVE_XRANDR - -/* Define to 1 if you have the `XrmSetDatabase' function. */ -#undef HAVE_XRMSETDATABASE - -/* Define to 1 if you have the `XRRGetOutputPrimary' function. */ -#undef HAVE_XRRGETOUTPUTPRIMARY - -/* Define to 1 if you have the `XRRGetScreenResourcesCurrent' function. */ -#undef HAVE_XRRGETSCREENRESOURCESCURRENT - -/* Define to 1 if you have the `XScreenNumberOfScreen' function. */ -#undef HAVE_XSCREENNUMBEROFSCREEN - -/* Define to 1 if you have the `XScreenResourceString' function. */ -#undef HAVE_XSCREENRESOURCESTRING - -/* Define if you have usable i18n support. */ -#undef HAVE_X_I18N - -/* Define to 1 if you have the SM library (-lSM). */ -#undef HAVE_X_SM - -/* Define to 1 if you want to use the X window system. */ -#undef HAVE_X_WINDOWS - -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - -/* Define to 1 if you have the `_ftime' function. */ -#undef HAVE__FTIME - -/* Define to 1 if _setjmp and _longjmp work. */ -#define HAVE__SETJMP 1 - -/* Define to 1 if you have the `__builtin_unwind_init' function. */ -#undef HAVE___BUILTIN_UNWIND_INIT - -/* Define to 1 if you have the `__executable_start' function. */ -#undef HAVE___EXECUTABLE_START - -/* Define to 1 if you have the `__fpending' function. */ -#undef HAVE___FPENDING - -/* Define to support using a Hesiod database to find the POP server. */ -#undef HESIOD - -/* Define if the system is HPUX. */ -#undef HPUX - -/* This is substituted when $TERM is "internal". */ -#undef INTERNAL_TERMINAL - -/* Define to read input using SIGIO. */ -#undef INTERRUPT_INPUT - -/* Define if the system is IRIX. */ -#undef IRIX6_5 - -/* Returns true if character is any form of separator. */ -#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) - -/* Returns true if character is a device separator. */ -#define IS_DEVICE_SEP(_c_) ((_c_) == DEVICE_SEP) - -/* Returns true if character is a directory separator. */ -#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') - -/* Define to support Kerberos-authenticated POP mail retrieval. */ -#undef KERBEROS - -/* Define to use Kerberos 5 instead of Kerberos 4. */ -#undef KERBEROS5 - -/* Define to 1 if localtime caches TZ. */ -#define LOCALTIME_CACHE 1 - -/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing - slash. */ -#undef LSTAT_FOLLOWS_SLASHED_SYMLINK - -/* String giving fallback POP mail host. */ -#undef MAILHOST - -/* Define to unlink, rather than empty, mail spool after reading. */ -#undef MAIL_UNLINK_SPOOL - -/* Define if the mailer uses flock to interlock the mail spool. */ -#undef MAIL_USE_FLOCK - -/* Define if the mailer uses lockf to interlock the mail spool. */ -#undef MAIL_USE_LOCKF - -/* Define to support MMDF mailboxes in movemail. */ -#undef MAIL_USE_MMDF - -/* Define to support POP mail retrieval. */ -#define MAIL_USE_POP 1 - -/* Define if the system is MS DOS. */ -#undef MSDOS - -/* Define if system's imake configuration file defines `NeedWidePrototypes' as - `NO'. */ -#undef NARROWPROTO - -/* Define if XEditRes should not be used. */ -#undef NO_EDITRES - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Minimum value of NSIG. */ -#undef NSIG_MINIMUM - -/* Define to 1 if `NSInteger' is defined. */ -#undef NS_HAVE_NSINTEGER - -/* Define to 1 if you are using NS windowing under MacOS X. */ -#undef NS_IMPL_COCOA - -/* Define to 1 if you are using NS windowing under GNUstep. */ -#undef NS_IMPL_GNUSTEP - -/* Name of the file to open to get a null file, or a data sink. */ -#define NULL_DEVICE "NUL:" - -/* Define to 1 if the nlist n_name member is a pointer */ -#undef N_NAME_POINTER - -/* Name of package */ -#define PACKAGE "emacs" - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* the number of pending output bytes on stream 'fp' */ -#define PENDING_OUTPUT_N_BYTES (fp->_ptr - fp->_base) - -/* Define to empty to suppress deprecation warnings when building with - --enable-gcc-warnings and with libpng versions before 1.5, which lack - png_longjmp. */ -#undef PNG_DEPSTRUCT - -/* Define if process_send_signal should use VSUSP instead of VSWTCH. */ -#undef PREFER_VSUSP - -/* Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno. - */ -#undef PTHREAD_SIGMASK_FAILS_WITH_ERRNO - -/* Define to 1 if pthread_sigmask() may returns 0 and have no effect. */ -#undef PTHREAD_SIGMASK_INEFFECTIVE - -/* Define to 1 if pthread_sigmask() unblocks signals incorrectly. */ -#undef PTHREAD_SIGMASK_UNBLOCK_BUG - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'ptrdiff_t'. */ -#undef PTRDIFF_T_SUFFIX - -/* How to iterate over PTYs. */ -#undef PTY_ITERATION - -/* How to get the device name of the control end of a PTY, if non-standard. */ -#undef PTY_NAME_SPRINTF - -/* How to open a PTY, if non-standard. */ -#undef PTY_OPEN - -/* How to get device name of the tty end of a PTY, if non-standard. */ -#undef PTY_TTY_NAME_SPRINTF - -/* Define to 1 if readlink fails to recognize a trailing slash. */ -#undef READLINK_TRAILING_SLASH_BUG - -/* Define REL_ALLOC if you want to use the relocating allocator for buffer - space. */ -#define REL_ALLOC 1 - -/* Define to 1 if stat needs help when passed a directory name with a trailing - slash */ -#undef REPLACE_FUNC_STAT_DIR - -/* Define to 1 if stat needs help when passed a file name with a trailing - slash */ -#undef REPLACE_FUNC_STAT_FILE - -/* Define if emacs.c needs to call run_time_remap; for HPUX. */ -#undef RUN_TIME_REMAP - -/* Character that separates PATH elements. */ -#define SEPCHAR ';' - -/* How to set up a slave PTY, if needed. */ -#undef SETUP_SLAVE_PTY - -/* Make process_send_signal work by "typing" a signal character on the pty. */ -#undef SIGNALS_VIA_CHARACTERS - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'sig_atomic_t'. */ -#undef SIG_ATOMIC_T_SUFFIX - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'size_t'. */ -#undef SIZE_T_SUFFIX - -/* Define if the system is Solaris. */ -#undef SOLARIS2 - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if the `S_IS*' macros in do not work properly. */ -#undef STAT_MACROS_BROKEN - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 on System V Release 4. */ -#undef SVR4 - -/* Define to use system malloc. */ -#undef SYSTEM_MALLOC - -/* The type of system you are compiling for; sets `system-type'. */ -#define SYSTEM_TYPE "windows-nt" - -/* Undocumented. */ -#undef TAB3 - -/* Undocumented. */ -#undef TABDLY - -/* Define to 1 if you use terminfo instead of termcap. */ -#undef TERMINFO - -/* Define to the header for the built-in window system. */ -#define TERM_HEADER "w32term.h" - -/* Define to 1 if you can safely include both and . */ -#define TIME_WITH_SYS_TIME 1 - -/* Some platforms redefine this. */ -#undef TIOCSIGSEND - -/* Define to 1 if your declares `struct tm'. */ -#undef TM_IN_SYS_TIME - -/* Define to 1 if the type of the st_atim member of a struct stat is struct - timespec. */ -#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC - -/* Define to 1 for Encore UMAX. */ -#undef UMAX - -/* Define to 1 for Encore UMAX 4.3 that has instead of - . */ -#undef UMAX4_3 - -/* Define if the system has Unix98 PTYs. */ -#undef UNIX98_PTYS - -/* Define to 1 if FIONREAD is usable. */ -#define USABLE_FIONREAD 1 - -/* Define to 1 if SIGIO is usable. */ -#undef USABLE_SIGIO - -/* How to get a user's full name. */ -#define USER_FULL_NAME pw->pw_gecos - -/* Define to nonzero if you want access control list support. */ -#undef USE_ACL - -/* Define to 1 if using file notifications. */ -#define USE_FILE_NOTIFY 1 - -/* Define to 1 if using GTK. */ -#undef USE_GTK - -/* Define to 1 if using the Lucid X toolkit. */ -#undef USE_LUCID - -/* Define to use mmap to allocate buffer text. */ -#undef USE_MMAP_FOR_BUFFERS - -/* Define to 1 if using the Motif X toolkit. */ -#undef USE_MOTIF - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable general extensions on OS X. */ -#ifndef _DARWIN_C_SOURCE -# undef _DARWIN_C_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable X/Open extensions if necessary. HP-UX 11.11 defines - mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of - whether compiling with -Ae or -D_HPUX_SOURCE=1. */ -#ifndef _XOPEN_SOURCE -# undef _XOPEN_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Define to 1 if we should use toolkit scroll bars. */ -#define USE_TOOLKIT_SCROLL_BARS 1 - -/* Define to 1 if we should use XIM, if it is available. */ -#undef USE_XIM - -/* Define to 1 if using an X toolkit. */ -#undef USE_X_TOOLKIT - -/* Define if the system is compatible with System III. */ -#undef USG - -/* Define if the system is compatible with System V. */ -#undef USG5 - -/* Define if the system is compatible with System V Release 4. */ -#undef USG5_4 - -/* Define for USG systems where it works to open a pty's tty in the parent - process, then close and reopen it in the child. */ -#undef USG_SUBTTY_WORKS - -/* Version number of package */ -#define VERSION "25.0.50" - -/* Define to 1 if unsetenv returns void instead of int. */ -#undef VOID_UNSETENV - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wchar_t'. */ -#undef WCHAR_T_SUFFIX - -/* Use long long for EMACS_INT if available. */ -/* #undef WIDE_EMACS_INT */ - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wint_t'. */ -#undef WINT_T_SUFFIX - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* Define this to check for malloc buffer overrun. */ -#undef XMALLOC_OVERRUN_CHECK - -/* Compensate for a bug in Xos.h on some systems, where it requires time.h. */ -#undef XOS_NEEDS_TIME_H - -/* Define to the type of the 6th arg of XRegisterIMInstantiateCallback, either - XPointer or XPointer*. */ -#undef XRegisterIMInstantiateCallback_arg6 - -/* Define if the system is AIX. */ -#undef _AIX - -/* Enable large inode numbers on Mac OS X 10.5. */ -#undef _DARWIN_USE_64_BIT_INODE - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct - stat.st_size becomes 64-bit. */ -#undef _GL_WINDOWS_64_BIT_ST_SIZE - -/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ -#undef _LARGEFILE_SOURCE - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define if GNUstep uses ObjC exceptions. */ -#undef _NATIVE_OBJC_EXCEPTIONS - -/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ -#undef _NETBSD_SOURCE - -/* The _Noreturn keyword of C11. */ -#if ! (defined _Noreturn \ - || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) -# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__)) -# define _Noreturn __attribute__ ((__noreturn__)) -# elif defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn -# endif -#endif - - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for 'stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Needed for system_process_attributes on Solaris. */ -#undef _STRUCTURED_PROC - -/* Define to rpl_ if the getopt replacement functions and variables should be - used. */ -#undef __GETOPT_PREFIX - -/* Define to compiler's equivalent of C99 restrict keyword in array - declarations. Define as empty for no equivalent. */ -#undef __restrict_arr - -/* Some platforms that do not use configure define this to include extra - configuration information. */ -#define config_opsysfile - -/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'. - _GL_EXTERN_INLINE is a portable alternative to 'extern inline'. - _GL_INLINE_HEADER_BEGIN contains useful stuff to put - in an include file, before uses of _GL_INLINE. - It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic, - when FOO is an inline function in the header; see - . - _GL_INLINE_HEADER_END contains useful stuff to put - in the same include file, after uses of _GL_INLINE. - - Suppress extern inline with HP-UX cc, as it appears to be broken; see - . - - Suppress extern inline with Sun C in standards-conformance mode, as it - mishandles inline functions that call each other. E.g., for 'inline void f - (void) { } inline void g (void) { f (); }', c99 incorrectly complains - 'reference to static identifier "f" in extern inline function'. - This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. - - Suppress the use of extern inline on Apple's platforms, as Libc at least - through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g., - . - Perhaps Apple will fix this some day. */ -#if ((__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : (199901L <= __STDC_VERSION__ \ - && !defined __HP_cc \ - && !(defined __SUNPRO_C && __STDC__))) \ - && !defined __APPLE__) -# define _GL_INLINE inline -# define _GL_EXTERN_INLINE extern inline -#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__ -# if __GNUC_GNU_INLINE__ - /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ -# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) -# else -# define _GL_INLINE extern inline -# endif -# define _GL_EXTERN_INLINE extern -#else -# define _GL_INLINE static _GL_UNUSED -# define _GL_EXTERN_INLINE static _GL_UNUSED -#endif - -#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) -# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ -# define _GL_INLINE_HEADER_CONST_PRAGMA -# else -# define _GL_INLINE_HEADER_CONST_PRAGMA \ - _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") -# endif -# define _GL_INLINE_HEADER_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ - _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ - _GL_INLINE_HEADER_CONST_PRAGMA -# define _GL_INLINE_HEADER_END \ - _Pragma ("GCC diagnostic pop") -#else -# define _GL_INLINE_HEADER_BEGIN -# define _GL_INLINE_HEADER_END -#endif - -/* A replacement for va_copy, if needed. */ -#define gl_va_copy(a,b) ((a) = (b)) - -/* Define to rpl_gmtime if the replacement function should be used. */ -#undef gmtime - -/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for Mac OS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif - -/* Define to 1 if the compiler is checking for lint. */ -#undef lint - -/* Define to rpl_localtime if the replacement function should be used. */ -#undef localtime - -/* Define to a type if does not define. */ -#undef mbstate_t - -/* Define to `int' if does not define. */ -#undef mode_t - -/* Define to the name of the strftime replacement function. */ -#define my_strftime nstrftime - -/* Define to the type of st_nlink in struct stat, or a supertype. */ -#define nlink_t short - -/* Define to `int' if does not define. */ -#undef pid_t - -/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict or - __restrict__, even though the corresponding Sun C compiler ends up with - "#define restrict _Restrict" or "#define restrict __restrict__" in the - previous line. Perhaps some future version of Sun C++ will work with - restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -# define __restrict__ -#endif - -/* type to use in place of socklen_t if not defined */ -#undef socklen_t - -/* Define as a signed type of the same size as size_t. */ -#undef ssize_t - -/* Define to enable asynchronous subprocesses. */ -#define subprocesses - -/* Define to any substitute for sys_siglist. */ -#undef sys_siglist - -/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_UNUSED -#endif -/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name - is a misnomer outside of parameter lists. */ -#define _UNUSED_PARAMETER_ _GL_UNUSED - -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ -#endif - -/* The __const__ attribute was added in gcc 2.95. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST /* empty */ -#endif - - -/* Define as a macro for copying va_list variables. */ -#undef va_copy - -/* Define as `fork' if `vfork' does not work. */ -#undef vfork - -#include - -#endif /* EMACS_CONFIG_H */ - -/* -Local Variables: -mode: c -End: -*/ diff --git a/nt/configure.bat b/nt/configure.bat index f6ac8fc..629bcc8 100755 --- a/nt/configure.bat +++ b/nt/configure.bat @@ -1,6 +1,6 @@ @echo off rem ---------------------------------------------------------------------- -rem Configuration script for MS Windows operating systems +rem This was the old configuration script for MS Windows operating systems rem Copyright (C) 1999-2015 Free Software Foundation, Inc. rem This file is part of GNU Emacs. @@ -19,956 +19,8 @@ rem You should have received a copy of the GNU General Public License rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/. rem ---------------------------------------------------------------------- -rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS: -rem -rem + MS Windows 95, NT or later -rem + either MSVC 2.x or later, or gcc-2.95 or later (with GNU make 3.75 -rem or later) and the Mingw32 and Windows API headers and libraries. -rem + Visual Studio 2005 is not supported at this time. -rem -rem For reference, here is a list of which builds of GNU make are known to -rem work or not, and whether they work in the presence and/or absence of -rem sh.exe. -rem -rem sh exists no sh -rem cygwin b20.1 make (3.75): fails[1,5] fails[2,5] -rem MSVC compiled gmake 3.77: okay okay -rem MSVC compiled gmake 3.78.1: okay okay -rem MSVC compiled gmake 3.79.1: okay okay -rem mingw32/gcc-2.92.2 make (3.77): okay okay[4] -rem cygwin compiled gmake 3.77: fails[1,5] fails[2,5] -rem cygwin compiled gmake 3.78.1: fails[5] fails[2,5] -rem cygwin compiled gmake 3.79.1: fails[3,5] fails[2?,5] -rem cygwin compiled make 3.80: okay[6] fails?[7] -rem cygwin compiled make 3.81: fails fails?[7] -rem mingw32 compiled make 3.79.1: okay okay -rem mingw32 compiled make 3.80: okay okay?[7] -rem mingw32 compiled make 3.81: okay okay[8] -rem -rem [1] doesn't cope with makefiles with DOS line endings, so must mount -rem emacs source with text!=binary. -rem [2] fails when needs to invoke shell commands; okay invoking gcc etc. -rem [3] requires LC_MESSAGES support to build; cannot build with early -rem versions of cygwin. -rem [4] may fail on Windows 9X and Windows ME; if so, install Bash. -rem [5] fails when building leim due to the use of cygwin style paths. -rem May work if building emacs without leim. -rem [6] need to uncomment 3 lines in nt/gmake.defs that invoke `cygpath'; -rem look for "cygpath" near line 85 of gmake.defs. -rem [7] not recommended; please report if you try this combination. -rem [8] tested only on Windows XP. -rem echo **************************************************************** echo *** THIS METHOD OF BUILDING EMACS IS NO LONGER SUPPORTED. ** -echo *** INSTEAD, FOLLOW THE INSTRUCTIONS FROM INSTALL. ** +echo *** INSTEAD, FOLLOW THE INSTRUCTIONS IN THE FILE INSTALL. ** +echo *** IN THE SAME DIRECTORY AS THIS BATCH FILE. ** echo **************************************************************** -:confirm_continue -set /p answer=Continue running this script at your own risks ? (Y/N) -if x%answer% == xy (goto confirm_continue_y) -if x%answer% == xY (goto confirm_continue_y) -if x%answer% == xn (goto end) -if x%answer% == xN (goto end) -echo Please answer by Y or N -goto confirm_continue - -:confirm_continue_y -if exist config.log del config.log - -rem ---------------------------------------------------------------------- -rem See if the environment is large enough. We need 43 (?) bytes. -set $foo$=123456789_123456789_123456789_123456789_123 -if not "%$foo$%" == "123456789_123456789_123456789_123456789_123" goto SmallEnv -set $foo$= - -rem ---------------------------------------------------------------------- -rem Make sure we are running in the nt subdir -if exist configure.bat goto start -echo You must run configure from the nt subdirectory. -goto end - -:start -rem ---------------------------------------------------------------------- -rem Attempt to enable command extensions. Set use_extensions to 1 if -rem they are available and 0 if they are not available. -set use_extensions=1 -setlocal ENABLEEXTENSIONS -if "%CMDEXTVERSION%" == "" set use_extensions=0 -if "%use_extensions%" == "1" goto afterext - -echo. Command extensions are not available. Using parameters that include the = -echo. character by enclosing them in quotes will not be supported. - -:afterext - -rem ---------------------------------------------------------------------- -rem Default settings. -set prefix= -set nodebug=N -set noopt=N -set enablechecking=N -set profile=N -set nocygwin=N -set COMPILER= -set usercflags= -set escusercflags= -set docflags= -set userldflags= -set escuserldflags= -set extrauserlibs= -set doldflags= -set doextralibs= -set sep1= -set sep2= -set sep3= -set sep4= -set distfiles= - -rem ---------------------------------------------------------------------- -rem Handle arguments. -:again -if "%1" == "-h" goto usage -if "%1" == "--help" goto usage -if "%1" == "--prefix" goto setprefix -if "%1" == "--with-gcc" goto withgcc -if "%1" == "--with-msvc" goto withmsvc -if "%1" == "--no-debug" goto nodebug -if "%1" == "--no-opt" goto noopt -if "%1" == "--enable-checking" goto enablechecking -if "%1" == "--profile" goto profile -if "%1" == "--no-cygwin" goto nocygwin -if "%1" == "--cflags" goto usercflags -if "%1" == "--ldflags" goto userldflags -if "%1" == "--lib" goto extrauserlibs -if "%1" == "--without-png" goto withoutpng -if "%1" == "--without-jpeg" goto withoutjpeg -if "%1" == "--without-gif" goto withoutgif -if "%1" == "--without-tiff" goto withouttiff -if "%1" == "--without-gnutls" goto withoutgnutls -if "%1" == "--without-libxml2" goto withoutlibxml2 -if "%1" == "--without-xpm" goto withoutxpm -if "%1" == "--with-svg" goto withsvg -if "%1" == "--distfiles" goto distfiles -if "%1" == "" goto checkutils - -:usage -echo Usage: configure [options] -echo Options: -echo. --prefix PREFIX install Emacs in directory PREFIX -echo. --with-gcc use GCC to compile Emacs -echo. --with-msvc use MSVC to compile Emacs -echo. --no-debug exclude debug info from executables -echo. --no-opt disable optimization -echo. --enable-checking enable additional run-time checks -echo. --profile enable profiling -echo. --no-cygwin use -mno-cygwin option with GCC -echo. --cflags FLAG pass FLAG to compiler -echo. --ldflags FLAG pass FLAG to compiler when linking -echo. --lib LIB link to extra library LIB -echo. --without-png do not use PNG library even if it is installed -echo. --without-jpeg do not use JPEG library even if it is installed -echo. --without-gif do not use GIF library even if it is installed -echo. --without-tiff do not use TIFF library even if it is installed -echo. --without-xpm do not use XPM library even if it is installed -echo. --without-gnutls do not use GnuTLS library even if it is installed -echo. --without-libxml2 do not use libxml2 library even if it is installed -echo. --with-svg use the RSVG library (experimental) -echo. --distfiles path to files for make dist, e.g. libXpm.dll -if "%use_extensions%" == "0" goto end -echo. -echo. The cflags and ldflags arguments support parameters that include the = -echo. character. However, since the = character is normally treated as a -echo. separator character you will need to enclose any parameter that includes -echo. the = character in quotes. For example, to include -echo. -DSITELOAD_PURESIZE_EXTRA=100000 as one of the cflags you would run -echo. configure.bat as follows: -echo. configure.bat --cflags "-DSITELOAD_PURESIZE_EXTRA=100000" -echo. -echo. Note that this capability of processing parameters that include the = -echo. character depends on command extensions. This batch file attempts to -echo. enable command extensions. If command extensions cannot be enabled, a -echo. warning message will be displayed. -echo. -echo. IMPORTANT: This method of building Emacs for MS-Windows is deprecated, -echo. and could be removed in a future version of Emacs. The preferred way -echo to build Emacs for MS-Windows from now on is using the MSYS environment -echo. and MinGW development tools. Please see nt/INSTALL for details. -goto end - -rem ---------------------------------------------------------------------- - -:setprefix -shift -set prefix=%1 -shift -goto again - -rem ---------------------------------------------------------------------- - -:withgcc -set COMPILER=gcc -shift -goto again - -rem ---------------------------------------------------------------------- - -:withmsvc -set COMPILER=cl -shift -goto again - -rem ---------------------------------------------------------------------- - -:nodebug -set nodebug=Y -shift -goto again - -rem ---------------------------------------------------------------------- - -:noopt -set noopt=Y -shift -goto again - -rem ---------------------------------------------------------------------- - -:enablechecking -set enablechecking=Y -shift -goto again - -rem ---------------------------------------------------------------------- - -:profile -set profile=Y -shift -goto again - -rem ---------------------------------------------------------------------- - -:nocygwin -set nocygwin=Y -shift -goto again - -rem ---------------------------------------------------------------------- - -:usercflags -if "%use_extensions%" == "1" goto ucflagex -goto ucflagne - -:ucflagex -shift -set usercflags=%usercflags%%sep1%%~1 -set escusercflags=%usercflags:"=\"% -set sep1= %nothing% -shift -goto again - -:ucflagne -shift -set usercflags=%usercflags%%sep1%%1 -set escusercflags=%usercflags% -set sep1= %nothing% -shift -goto again - -:extrauserlibs -shift -echo. extrauserlibs: %extrauserlibs% -set extrauserlibs=%extrauserlibs%%sep4%%1 -set sep4= %nothing% -shift -goto again - -rem ---------------------------------------------------------------------- - -:userldflags -if "%use_extensions%" == "1" goto ulflagex -goto ulflagne - -:ulflagex -shift -set userldflags=%userldflags%%sep2%%~1 -set escuserldflags=%userldflags:"=\"% -set sep2= %nothing% -shift -goto again - -:ulflagne -shift -set userldflags=%userldflags%%sep2%%1 -set escuserldflags=%userldflags% -set sep2= %nothing% -shift -goto again - -rem ---------------------------------------------------------------------- - -:withoutpng -set pngsupport=N -set HAVE_PNG= -shift -goto again - -rem ---------------------------------------------------------------------- - -:withoutjpeg -set jpegsupport=N -set HAVE_JPEG= -shift -goto again - -rem ---------------------------------------------------------------------- - -:withoutgif -set gifsupport=N -set HAVE_GIF= -shift -goto again - -rem ---------------------------------------------------------------------- - -:withoutgnutls -set tlssupport=N -set HAVE_GNUTLS= -shift -goto again - -rem ---------------------------------------------------------------------- - -:withoutlibxml2 -set libxml2support=N -set HAVE_LIBXML2= -shift -goto again - -rem ---------------------------------------------------------------------- - -:withouttiff -set tiffsupport=N -set HAVE_TIFF= -shift -goto again - -rem ---------------------------------------------------------------------- - -:withoutxpm -set xpmsupport=N -set HAVE_XPM= -shift -goto again - -:withsvg -shift -set svgsupport=Y -goto again - -rem ---------------------------------------------------------------------- - -:distfiles -set HAVE_DISTFILES=1 -shift -set distfiles=%distfiles%%sep3%%1 -set sep3= %nothing% -shift -goto again - -rem ---------------------------------------------------------------------- -rem Check that necessary utilities (cp and rm) are present. - -:checkutils -echo Checking for 'cp'... -cp configure.bat junk.bat -if not exist junk.bat goto needcp -echo Checking for 'rm'... -rm junk.bat -if exist junk.bat goto needrm -goto checkcompiler - -:needcp -echo You need 'cp' (the Unix file copy program) to build Emacs. -goto end - -:needrm -del junk.bat -echo You need 'rm' (the Unix file delete program) to build Emacs. -goto end - -rem ---------------------------------------------------------------------- -rem Auto-detect compiler if not specified, and validate GCC if chosen. - -:checkcompiler -if (%COMPILER%)==(cl) goto compilercheckdone -if (%COMPILER%)==(gcc) goto checkgcc - -echo Checking whether 'gcc' is available... -echo main(){} >junk.c -gcc -c junk.c -if exist junk.o goto checkgcc - -echo Checking whether 'cl' is available... -cl -nologo -c junk.c -if exist junk.obj goto clOK -goto nocompiler - -:checkgcc -if exist junk.o del junk.o -Rem WARNING -- COMMAND.COM on some systems only looks at the first -Rem 8 characters of a label. So do NOT be tempted to change -Rem chkapi* into something fancier like checkw32api -Rem You HAVE been warned! -if (%nocygwin%) == (Y) goto chkapiN -echo Checking whether gcc requires '-mno-cygwin'... -echo #include "cygwin/version.h" >junk.c -echo main(){} >>junk.c -echo gcc -c junk.c >>config.log -gcc -c junk.c >>config.log 2>&1 -if not exist junk.o goto chkapi -echo gcc -mno-cygwin -c junk.c >>config.log -gcc -mno-cygwin -c junk.c >>config.log 2>&1 -if exist junk.o set nocygwin=Y - -:chkapi -echo The failed program was: >>config.log -type junk.c >>config.log - -:chkapiN -rm -f junk.c junk.o -rem ---------------------------------------------------------------------- -rem Older versions of the Windows API headers either don't have any of -rem the IMAGE_xxx definitions (the headers that come with Cygwin b20.1 -rem are like this), or have a typo in the definition of -rem IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this -rem problem). The gcc/mingw32 2.95.2 headers are okay, as are distros -rem of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least. -rem Beginning with Emacs 23, we need usp10.h. -rem -echo Checking whether Windows API headers are too old... -echo #include "windows.h" >junk.c -echo #include "usp10.h" >>junk.c -echo void test(PIMAGE_NT_HEADERS pHeader) >>junk.c -echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);} >>junk.c -if (%nocygwin%) == (Y) goto chkapi1 -set cf=%usercflags% -goto chkapi2 - -:chkapi1 -set cf=%usercflags% -mno-cygwin - -:chkapi2 -echo on -gcc %cf% -c junk.c -@echo off -@echo gcc %cf% -c junk.c >>config.log -gcc %cf% -c junk.c >>config.log 2>&1 -set cf= -if exist junk.o goto chkuser -echo The failed program was: >>config.log -type junk.c >>config.log -goto nocompiler - -:chkuser -rm -f junk.o -echo int main (int argc, char *argv[]) {>junk.c -echo char *usercflags = "%escusercflags%";>>junk.c -echo }>>junk.c -echo gcc -Werror -c junk.c >>config.log -gcc -Werror -c junk.c >>config.log 2>&1 -if exist junk.o goto gccOk -echo. -echo Error in --cflags argument: %usercflags% -echo Backslashes and quotes cannot be used with --cflags. Please use forward -echo slashes for filenames and paths (e.g. when passing directories to -I). -rm -f junk.c -goto end - -:nocompiler -echo. -echo Configure failed. -echo To configure Emacs for Windows, you need to have either -echo gcc-2.95 or later with Mingw32 and the Windows API headers, -echo or MSVC 2.x or later. -del junk.c -goto end - -:gccOk -set COMPILER=gcc -echo Using 'gcc' -rm -f junk.c junk.o -Rem It is not clear what GCC version began supporting -mtune -Rem and pentium4 on x86, so check this explicitly. -echo main(){} >junk.c -echo gcc -c -O2 -mtune=pentium4 junk.c >>config.log -gcc -c -O2 -mtune=pentium4 junk.c >>config.log 2>&1 -if not errorlevel 1 goto gccMtuneOk -echo The failed program was: >>config.log -type junk.c >>config.log -set mf=-mcpu=i686 -rm -f junk.c junk.o -goto gccdebug - -:gccMtuneOk -echo GCC supports -mtune=pentium4 >>config.log -set mf=-mtune=pentium4 -rm -f junk.c junk.o - -:gccdebug -rem Check for DWARF-2 debug info support, else default to stabs -echo main(){} >junk.c -echo gcc -c -gdwarf-2 -g3 junk.c >>config.log -gcc -c -gdwarf-2 -g3 junk.c >>config.log 2>&1 -if not errorlevel 1 goto gccdwarf -echo The failed program was: >>config.log -type junk.c >>config.log -set dbginfo=-gstabs+ -rm -f junk.c junk.o -goto compilercheckdone - -:gccdwarf -echo GCC supports DWARF-2 >>config.log -set dbginfo=-gdwarf-2 -g3 -rm -f junk.c junk.o -goto compilercheckdone - -:clOk -set COMPILER=cl -rm -f junk.c junk.obj -echo Using 'MSVC' - -:compilercheckdone - -rem ---------------------------------------------------------------------- -rem Check for external image libraries. Since they are loaded -rem dynamically, the libraries themselves do not need to be present -rem at compile time, but the header files are required. - -set mingwflag= - -if (%nocygwin%) == (N) goto flagsOK -set mingwflag=-mno-cygwin - -:flagsOK - -if (%pngsupport%) == (N) goto pngDone - -echo Checking for libpng... -echo #include "png.h" >junk.c -echo main (){} >>junk.c -rem -o option is ignored with cl, but allows result to be consistent. -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto havePng - -echo ...png.h not found, building without PNG support. -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_PNG= -goto :pngDone - -:havePng -echo ...PNG header available, building with PNG support. -set HAVE_PNG=1 - -:pngDone -rm -f junk.c junk.obj - -if (%tlssupport%) == (N) goto tlsDone - -rem this is a copy of the PNG detection -echo Checking for libgnutls... -echo #include "gnutls/gnutls.h" >junk.c -echo main (){} >>junk.c -rem -o option is ignored with cl, but allows result to be consistent. -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto haveTls - -echo ...gnutls.h not found, building without TLS support. -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_GNUTLS= -goto :tlsDone - -:haveTls -echo ...GnuTLS header available, building with GnuTLS support. -set HAVE_GNUTLS=1 - -:tlsDone -rm -f junk.c junk.obj - -if (%libxml2support%) == (N) goto xml2Done - -echo Checking for libxml2.... -echo #include "libxml/HTMLparser.h" >junk.c -echo main(){} >>junk.c -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto havelibxml2 - -echo ...libxml/HTMLparser.h not found, building without libxml2 support -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_LIBXML2= -goto xml2Done - -:havelibxml2 -echo ...libxml2 header available, building with libxml2 support -set HAVE_LIBXML2=1 - -:xml2Done -rm -f junk.c junk.obj - -if (%jpegsupport%) == (N) goto jpegDone - -echo Checking for jpeg-6b... -echo #include "jconfig.h" >junk.c -echo main (){} >>junk.c -rem -o option is ignored with cl, but allows result to be consistent. -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto haveJpeg - -echo ...jconfig.h not found, building without JPEG support. -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_JPEG= -goto :jpegDone - -:haveJpeg -echo ...JPEG header available, building with JPEG support. -set HAVE_JPEG=1 - -:jpegDone -rm -f junk.c junk.obj - -if (%gifsupport%) == (N) goto gifDone - -echo Checking for libgif... -rem giflib-5.0.0 needs size_t defined before gif_lib.h is included -rem redirection characters need to be protected from the shell -echo #include ^ >junk.c -echo #include "gif_lib.h" >>junk.c -echo main (){} >>junk.c -rem -o option is ignored with cl, but allows result to be consistent. -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto haveGif - -echo ...gif_lib.h not found, building without GIF support. -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_GIF= -goto :gifDone - -:haveGif -echo ...GIF header available, building with GIF support. -set HAVE_GIF=1 - -:gifDone -rm -f junk.c junk.obj - -if (%tiffsupport%) == (N) goto tiffDone - -echo Checking for tiff... -echo #include "tiffio.h" >junk.c -echo main (){} >>junk.c -rem -o option is ignored with cl, but allows result to be consistent. -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto haveTiff - -echo ...tiffio.h not found, building without TIFF support. -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_TIFF= -goto :tiffDone - -:haveTiff -echo ...TIFF header available, building with TIFF support. -set HAVE_TIFF=1 - -:tiffDone -rm -f junk.c junk.obj - -if (%xpmsupport%) == (N) goto xpmDone - -echo Checking for libXpm... -echo #define FOR_MSW 1 >junk.c -echo #include "X11/xpm.h" >>junk.c -echo main (){} >>junk.c -rem -o option is ignored with cl, but allows result to be consistent. -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto haveXpm - -echo ...X11/xpm.h not found, building without XPM support. -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_XPM= -goto :xpmDone - -:haveXpm -echo ...XPM header available, building with XPM support. -set HAVE_XPM=1 - -:xpmDone -rm -f junk.c junk.obj - -if not (%svgsupport%) == (Y) goto :svgDone -echo Checking for librsvg... -echo #include "librsvg/rsvg.h" >junk.c -echo main (){} >>junk.c -rem -o option is ignored with cl, but allows result to be consistent. -echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log -%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log -if exist junk.obj goto haveSvg - -echo ...librsvg/rsvg.h or dependencies not found, building without SVG support. -echo The failed program was: >>config.log -type junk.c >>config.log -set HAVE_RSVG= -goto :svgDone - -:haveSvg -echo ...librsvg header available, building with SVG support (EXPERIMENTAL). -set HAVE_RSVG=1 - -:svgDone -rm -f junk.c junk.obj junk.err junk.out - -rem Any distfiles provided for building distribution? If no, we're done. -if "(%HAVE_DISTFILES%)"=="()" goto :distFilesDone - -rem Any arguments to --distfiles specified? If no, we're done. -if not "%distfiles%"=="" goto :checkDistFiles -set distFilesOk=0 -echo No arguments specified for option --distfiles! -goto distfilesDone - -:checkDistFiles -echo Checking for distfiles... -rem Check if all specified distfiles exist -set fileNotFound= -for %%d in (%distfiles%) do if not exist %%d set fileNotFound=%%d -if not "%fileNotFound%"=="" goto distFilesNotFound - -set distFilesOK=1 -echo ...all distfiles found. -goto :distFilesDone - -:distFilesNotFound -set distFilesOk=0 -echo ...%fileNotFound% not found. -set distfiles= -goto :distfilesDone - -:distFilesDone -set fileNotFound= - -rem ---------------------------------------------------------------------- - -:genmakefiles -echo Generating makefiles -if %COMPILER% == gcc set MAKECMD=gmake -if %COMPILER% == cl set MAKECMD=nmake - -rem Pass on chosen settings to makefiles. -rem -rem The weird place we put the redirection is to make sure no extra -rem whitespace winds up at the end of the Make variables, since some -rem variables, e.g. INSTALL_DIR, cannot stand that. Yes, echo will -rem write the blanks between the end of command arguments and the -rem redirection symbol to the file. OTOH, we cannot put the -rem redirection immediately after the last character of the command, -rem because environment variable expansion can yield a digit there, -rem which will then be misinterpreted as the file descriptor to -rem redirect... -echo # Start of settings from configure.bat >config.settings ->>config.settings echo COMPILER=%COMPILER% -if not "(%mf%)" == "()" >>config.settings echo MCPU_FLAG=%mf% -if not "(%dbginfo%)" == "()" >>config.settings echo DEBUG_INFO=%dbginfo% -if (%nodebug%) == (Y) >>config.settings echo NODEBUG=1 -if (%noopt%) == (Y) >>config.settings echo NOOPT=1 -if (%profile%) == (Y) >>config.settings echo PROFILE=1 -if (%nocygwin%) == (Y) >>config.settings echo NOCYGWIN=1 -if not "(%prefix%)" == "()" >>config.settings echo INSTALL_DIR=%prefix% -if not "(%distfiles%)" == "()" >>config.settings echo DIST_FILES=%distfiles% -rem We go thru docflags because usercflags could be "-DFOO=bar" -something -rem and the if command cannot cope with this -for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y -if (%docflags%)==(Y) >>config.settings echo USER_CFLAGS=%usercflags% -if (%docflags%)==(Y) >>config.settings echo ESC_USER_CFLAGS=%escusercflags% -for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y -if (%doldflags%)==(Y) >>config.settings echo USER_LDFLAGS=%userldflags% -for %%v in (%extrauserlibs%) do if not (%%v)==() set doextralibs=Y -if (%doextralibs%)==(Y) >>config.settings echo USER_LIBS=%extrauserlibs% -echo # End of settings from configure.bat>>config.settings -echo. >>config.settings - -copy config.nt config.tmp -echo. >>config.tmp -echo /* Start of settings from configure.bat. */ >>config.tmp -rem We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify -rem processing of compiler options in w32.c:get_emacs_configuration_options -if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%" >>config.tmp -if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%" >>config.tmp -if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp -if (%enablechecking%) == (Y) echo #define ENABLE_CHECKING 1 >>config.tmp -if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp -if not "(%HAVE_GNUTLS%)" == "()" echo #define HAVE_GNUTLS 1 >>config.tmp -if not "(%HAVE_LIBXML2%)" == "()" echo #define HAVE_LIBXML2 1 >>config.tmp -if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp -if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp -if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp -if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp -if "(%HAVE_RSVG%)" == "(1)" echo #define HAVE_RSVG 1 >>config.tmp - -echo /* End of settings from configure.bat. */ >>config.tmp - -Rem See if fc.exe returns a meaningful exit status. If it does, we -Rem might as well avoid unnecessary overwriting of config.h and epaths.h, -Rem since this forces recompilation of every source file. -if exist foo.bar del foo.bar -fc /b foo.bar foo.bar >nul 2>&1 -if not errorlevel 2 goto doCopy -fc /b config.tmp ..\src\config.h >nul 2>&1 -if errorlevel 1 goto doCopy -fc /b paths.h ..\src\epaths.h >nul 2>&1 -if not errorlevel 1 goto dontCopy - -:doCopy -copy config.tmp ..\src\config.h -copy paths.h ..\src\epaths.h - -:dontCopy -if exist config.tmp del config.tmp -copy /b config.settings+%MAKECMD%.defs+..\nt\makefile.w32-in ..\nt\makefile -if exist ..\admin\unidata copy /b config.settings+%MAKECMD%.defs+..\admin\unidata\makefile.w32-in ..\admin\unidata\makefile -copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile -copy /b config.settings+%MAKECMD%.defs+..\lib\makefile.w32-in ..\lib\makefile -copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile -copy /b config.settings+%MAKECMD%.defs+..\doc\emacs\makefile.w32-in ..\doc\emacs\makefile -copy /b config.settings+%MAKECMD%.defs+..\doc\misc\makefile.w32-in ..\doc\misc\makefile -copy /b config.settings+%MAKECMD%.defs+..\doc\lispref\makefile.w32-in ..\doc\lispref\makefile -copy /b config.settings+%MAKECMD%.defs+..\doc\lispintro\makefile.w32-in ..\doc\lispintro\makefile -if exist ..\lisp\makefile rm -f ../lisp/[Mm]akefile -copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile -rem Use the default (no-op) Makefile.in if the nt version is not present. -if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile -if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile -del config.settings - -Rem Some people use WinZip which doesn't create empty directories! -if not exist ..\site-lisp\nul mkdir ..\site-lisp\ -Rem Update subdirs.el only if it is different or fc.exe doesn't work. -if exist foo.bar del foo.bar -fc /b foo.bar foo.bar >nul 2>&1 -if not errorlevel 2 goto doUpdateSubdirs -fc /b subdirs.el ..\site-lisp\subdirs.el >nul 2>&1 -if not errorlevel 1 goto dontUpdateSubdirs - -:doUpdateSubdirs -if exist ..\site-lisp\subdirs.el del ..\site-lisp\subdirs.el -copy subdirs.el ..\site-lisp\subdirs.el - -:dontUpdateSubdirs -echo. - -rem check that we have all the libraries we need. -set libsOK=1 - -if not "(%HAVE_XPM%)" == "()" goto checkpng -if (%xpmsupport%) == (N) goto checkpng - set libsOK=0 - echo XPM support is missing. It is required for color icons in the toolbar. - echo Install libXpm development files or use --without-xpm - -:checkpng -if not "(%HAVE_PNG%)" == "()" goto checkjpeg -if (%pngsupport%) == (N) goto checkjpeg - set libsOK=0 - echo PNG support is missing. - echo Install libpng development files or use --without-png - -:checkjpeg -if not "(%HAVE_JPEG%)" == "()" goto checktiff -if (%jpegsupport%) == (N) goto checktiff - set libsOK=0 - echo JPEG support is missing. - echo Install jpeg development files or use --without-jpeg - -:checktiff -if not "(%HAVE_TIFF%)" == "()" goto checkgif -if (%tiffsupport%) == (N) goto checkgif - set libsOK=0 - echo TIFF support is missing. - echo Install libtiff development files or use --without-tiff - -:checkgif -if not "(%HAVE_GIF%)" == "()" goto checkdistfiles -if (%gifsupport%) == (N) goto checkdistfiles - set libsOK=0 - echo GIF support is missing. - echo Install giflib or libungif development files or use --without-gif - -:checkdistfiles -if "(%HAVE_DISTFILES%)" == "()" goto donelibchecks -if (%distFilesOk%) == (1) goto donelibchecks -echo. -echo Files specified with option --distfiles could not be found. -echo Fix these issues before running make dist - -:donelibchecks -if (%libsOK%) == (1) goto success -echo. -echo Important libraries are missing. Fix these issues before running make. -goto end - -:success -echo Emacs successfully configured. -echo Emacs successfully configured. >>config.log -if (%MAKECMD%) == (gmake) set MAKECMD=make -echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install. -goto end - -:SmallEnv -echo Your environment size is too small. Please enlarge it and rerun configure. -echo For example, type "command.com /e:2048" to have 2048 bytes available. -set $foo$= - -:end -set prefix= -set nodebug= -set noopt= -set enablechecking= -set profile= -set nocygwin= -set COMPILER= -set MAKECMD= -set usercflags= -set docflags= -set userldflags= -set doldflags= -set mingwflag= -set mf= -set distfiles= -set HAVE_DISTFILES= -set distFilesOk= -set pngsupport= -set tlssupport= -set libxml2support= -set jpegsupport= -set gifsupport= -set tiffsupport= -set xpmsupport= -set svgsupport= -set libsOK= -set HAVE_GIF= -set HAVE_JPEG= -set HAVE_PNG= -set HAVE_TIFF= -set HAVE_XPM= -set dbginfo= -endlocal -set use_extensions= diff --git a/nt/emacs-src.tags b/nt/emacs-src.tags deleted file mode 100644 index 8c18713..0000000 --- a/nt/emacs-src.tags +++ /dev/null @@ -1,6 +0,0 @@ - This file defines the regular expressions for etags to look for - in the src directory. It is used by the w32 build to work around - the annoyances of quoting command-line arguments with various - w32 shell. - -/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/ diff --git a/nt/envadd.bat b/nt/envadd.bat deleted file mode 100644 index 21f0f4b..0000000 --- a/nt/envadd.bat +++ /dev/null @@ -1,43 +0,0 @@ -rem Hack to change/add environment variables in the makefiles for the -rem Windows platform. - -rem Copyright (C) 2003-2015 Free Software Foundation, Inc. - -rem This file is part of GNU Emacs. - -rem GNU Emacs is free software: you can redistribute it and/or modify -rem it under the terms of the GNU General Public License as published by -rem the Free Software Foundation, either version 3 of the License, or -rem (at your option) any later version. - -rem GNU Emacs is distributed in the hope that it will be useful, -rem but WITHOUT ANY WARRANTY; without even the implied warranty of -rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -rem GNU General Public License for more details. - -rem You should have received a copy of the GNU General Public License -rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/. - - -rem Usage: -rem envadd "ENV1=VAL1" "ENV2=VAL2" ... /C -rem -rem The "/C" switch marks the end of environment variables, and the -rem beginning of the command line. -rem -rem By Peter 'Luna' Runestig 2003 - -:Loop -if .%1% == ./C goto EndLoop -rem just to avoid an endless loop: -if .%1% == . goto EndLoop -set %1 -shift -goto Loop -:EndLoop - -rem Eat the "/C" -shift -rem Now, run the command line -%1 %2 %3 %4 %5 %6 %7 %8 %9 - diff --git a/nt/gmake.defs b/nt/gmake.defs deleted file mode 100644 index 90a3709..0000000 --- a/nt/gmake.defs +++ /dev/null @@ -1,333 +0,0 @@ -# -*- Makefile -*- definition file for building GNU Emacs on Windows NT. -# Copyright (C) 2000-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - -# Ensure 'all' is the default target -all: - -# NOTES -# -# I tried to force gmake to use the native shell for simplicity, by -# setting SHELL as below, but this didn't work reliably because of -# various case sensitivity niggles. Specifically, COMSPEC (which is in -# fact usually spelled ComSpec on NT, to make life difficult) typically -# references "cmd.exe" (on NT) when the file is actually called -# "CMD.EXE" on disk for hysterical raisons. As a result, GNU make -# thinks it doesn't exist (unless compiled with a switch to ignore -# case), and so doesn't change which shell it will invoke to execute -# commands. -# -# It would be possible, though very tedious using just gmake facilities, -# to convert the COMSPEC value to uppercase to solve this problem, but -# it isn't worth it. That is partly because, even when using the native -# shell, gmake tends to not be happy with backslashes in command -# strings. The obvious solution is to use forward slashes as much as -# possible, which can be made to work most of the time (putting -# filenames in quotes often helps), but there are still some internal -# cmd.exe commands like `del' and `copy' that won't work with them. -# Although it is possible to convert slashes to backslashes when -# necessary, gmake requires explicitly calling its subst function, which -# nmake does not understand). For this reason, it is simplest to -# mandate that rm and cp be available, so we can use Unix-format file -# names everywhere. (Fortunately both MS and GNU make, and the -# respective compilers, are happy with Unix-format names.) -# -# Since we cannot easily force the choice of a particular shell, we must -# make the effort to cope with whichever shell is being used. -# Fortunately, the only command we need to use that is shell specific is -# the testing of a file's existence for the purpose of working out when -# we are copying files to their original location. That particular -# requirement is abstracted easily enough. -# -# The only other problem area was the change of directory when running -# temacs to dump emacs.exe (where gmake doesn't support cd foo in any -# useful way), but that has been resolved by modifying the Windows -# unexec function slightly to not require the directory change while -# still allowing objects and binaries to be in subdirectories. - -# This doesn't work. -#SHELL:=$(COMSPEC) - -# Determine whether make is using sh or cmd/command as shell; cmd.exe -# will output "ECHO is on" when echo is given by itself, while sh will -# not produce any output. -sh_output := $(shell echo) -ifeq "$(findstring ECHO, $(sh_output))" "ECHO" -THE_SHELL = $(COMSPEC)$(ComSpec) -SHELLTYPE=CMD -SWITCHCHAR=/ -else -USING_SH = 1 -THE_SHELL = $(SHELL) -SHELLTYPE=SH -# MSYS needs to double the slash in cmd-style switches to avoid -# interpreting /x as a Posix style file name reference -ifneq ($(MSYSTEM),) -SWITCHCHAR=// -else -SWITCHCHAR=/ -endif -endif - -MAKETYPE=gmake - -# The following "ifeq" does not appear to DTRT, and therefore breaks -# the build on mingw32. Also the -m option does not exist in many -# (reasonably recent even) versions of Cygwin. These issues need to be -# remedied before putting this cygpath kludge back in. - -# Convert CURDIR to native file name, if in Cygwin format -#ifeq "$(shell cygpath $(CURDIR))" "$(CURDIR)" -#CURDIR := $(shell cygpath -m $(CURDIR)) -#endif - -THISDIR = . - -# Cygwin has changed quoting rules somewhat since b20, in a way that -# affects makefiles using sh as the command processor, so we need to -# detect which rules to use. -ifdef USING_SH -sh_output := $(shell echo [Please ignore a syntax error on the next line - it is intentional] 1>&2) -sh_output := $(shell echo foo") -# This single quote " is to fix fontification due to previous line -ifeq "$(sh_output)" "" -NEW_CYGWIN = 1 -endif - -# By default, newer versions of Cygwin mess with NTFS ACLs in an -# attempt to emulate traditional posix file permissions. This can -# cause bad effects, such as .exe files that are missing the -# FILE_EXECUTE/FILE_GENERIC_EXECUTE permissions when they are created -# with Cygwin commands that don't expect to be creating executable -# files. Then when we later use a non-Cygwin program to create the -# real .exe, the previous Cygwin defined ACL sticks. -CYGWIN=nontsec -export CYGWIN -endif - -ALL_DEPS = $^ -EMPTY = -SPACE = $(EMPTY) $(EMPTY) - -SUBSYSTEM_WINDOWS=-Wl,-subsystem,windows -SUBSYSTEM_CONSOLE=-Wl,-subsystem,console - -# INSTALL_DIR is the directory into which emacs will be installed. -# -ifndef INSTALL_DIR -INSTALL_DIR = $(CURDIR)/.. -endif - -export EMACSLOADPATH - -# Determine the architecture we're running on. -# Define ARCH for our purposes; -# Define CPU for use by ntwin32.mak; -# Define CONFIG_H to the appropriate config.h for the system; -# -ifdef PROCESSOR_ARCHITECTURE -# We're on Windows NT -CPU = $(PROCESSOR_ARCHITECTURE) -CONFIG_H = config.nt -OS_TYPE = windowsnt - ifeq "$(PROCESSOR_ARCHITECTURE)" "x86" -ARCH = i386 -CPU = i386 -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-x86.manifest - else - ifeq "$(PROCESSOR_ARCHITECTURE)" "MIPS" -ARCH = mips -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-mips.manifest - else - ifeq "$(PROCESSOR_ARCHITECTURE)" "ALPHA" -ARCH = alpha -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-alpha.manifest - else - ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC" -ARCH = ppc -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-ppc.manifest - else - $(error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)") - endif - endif - endif - endif -else -# We're on Windows 95 -ARCH = i386 -CPU = i386 -CONFIG_H = config.nt -OS_TYPE = windows95 -endif - -AR = ar -rsc -AR_OUT = -CC = gcc -CC_OUT = -o$(SPACE) -LINK = gcc -LINK_OUT = -o$(SPACE) -RC = windres -O coff -RC_OUT = -o$(SPACE) -RC_INCLUDE = --include-dir$(SPACE) - -libc = -baselibs = -O = o -A = a - -BASE_LIBS = $(libc) $(baselibs) - -ADVAPI32 = -ladvapi32 -COMCTL32 = -lcomctl32 -COMDLG32 = -lcomdlg32 -GDI32 = -lgdi32 -MPR = -lmpr -SHELL32 = -lshell32 -USER32 = -luser32 -WSOCK32 = -lwsock32 -WINMM = -lwinmm -WINSPOOL = -lwinspool -OLE32 = -lole32 -UNISCRIBE = -lusp10 -UUID = -luuid - -# Used by src/makefile.w32-in, since Nmake barfs on $(func SOMETHING) -OBJ0_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ0)) -OBJ1_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1)) -OBJ2_c = $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ2)) - -ifdef NOOPT -DEBUG_CFLAGS = -DEMACSDEBUG -fno-crossjumping -std=gnu99 -else -DEBUG_CFLAGS = -endif - -MWINDOWS = -mwindows - -CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(PROFILE_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) -ESC_CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(PROFILE_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS) -EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1 - -ifdef PROFILE -PROFILE_CFLAGS = -pg -PROFILE_LDFLAGS = -pg -else -PROFILE_CFLAGS = -PROFILE_LDFLAGS = -endif - - -# see comments in allocate_heap in w32heap.c before changing any of the -# -stack, -heap, or -image-base settings. -TEMACS_EXTRA_LINK = -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 $(SUBSYSTEM_CONSOLE) -Wl,-entry,__start -Wl,-Map,$(BLD)/temacs.map - -ifdef NOOPT -OBJDIR = oo -else -OBJDIR = oo-spd -endif -$(OBJDIR):; -mkdir "$(OBJDIR)" -BLD = $(OBJDIR)/$(ARCH) -stamp_BLD: $(OBJDIR) - -mkdir "$(BLD)" - echo $(BLD) > $@ - -COMPILER_TEMP_FILES = - -CP = cp -f -CP_DIR = cp -rf -DEL = rm -DEL_TREE = rm -r - -DIRNAME = $(notdir $(CURDIR)) - -ifdef USING_SH - -IFNOTSAMEDIR = if [ ! -s ../$(DIRNAME)_same-dir.tst ] ; then -FOREACH = for f in -FORVAR = $${f} -FORDO = ; do -ENDFOR = ; done -ENDIF = ; fi -ARGQUOTE = ' -ifdef NEW_CYGWIN -DQUOTE = " -else -DQUOTE = "" -endif - -else - -IFNOTSAMEDIR = if not exist ../$(DIRNAME)_same-dir.tst -FOREACH = for %%f in ( -FORVAR = %%f -FORDO = ) do -ENDFOR = -ENDIF = -ARGQUOTE = " -DQUOTE = \" - -endif - -ifdef NODEBUG -DEBUG_FLAG = -DEBUG_LINK = -else -DEBUG_FLAG = $(DEBUG_INFO) -DEBUG_LINK = $(DEBUG_INFO) -endif - -ifdef NOCYGWIN -NOCYGWIN = -mno-cygwin -endif - -ifdef USER_LIBS -USER_LIBS := $(patsubst %,-l%,$(USER_LIBS)) -endif - -PRAGMA_SYSTEM_HEADER = \#pragma GCC system_header - -ifeq "$(ARCH)" "i386" -ifdef NOOPT -ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN) -else -ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN) $(MCPU_FLAG) -O2 \ - # -fbuiltin \ - # -finline-functions \ - # -fomit-frame-pointer -endif -ARCH_LDFLAGS = $(SYS_LDFLAGS) -else -ERROR Unknown architecture type "$(ARCH)". -endif - -LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(PROFILE_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS) - -export XMFLAGS - -.DEFAULT: - -$(BLD)/%.o: %.c - $(CC) $(CFLAGS) $(CC_OUT)$@ $< diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in deleted file mode 100644 index ff2bf27..0000000 --- a/nt/makefile.w32-in +++ /dev/null @@ -1,465 +0,0 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API. -# Copyright (C) 2000-2015 Free Software Foundation, Inc. -# -# Top level makefile for building GNU Emacs on Windows NT -# -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -# FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out -# (and remove or replace this comment). - -VERSION = 25.0.50 - -TMP_DIST_DIR = emacs-$(VERSION) - -TRES = $(BLD)/emacs.res -CLIENTRES = $(BLD)/emacsclient.res - -LOCAL_FLAGS = -DOLD_PATHS=1 - -XMFLAGS = - -ALL = $(BLD)/addpm.exe $(BLD)/ddeclient.exe $(BLD)/runemacs.exe \ - $(BLD)/cmdproxy.exe $(BLD)/addsection.exe $(BLD)/preprep.exe - -$(BLD)/addpm.exe: $(BLD)/addpm.$(O) - $(LINK) $(LINK_OUT)$@ \ - $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) \ - $(USER32) $(OLE32) $(UUID) $(SHELL32) - -$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O) - $(LINK) $(LINK_OUT)$@ \ - $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) - -$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O) - $(LINK) $(LINK_OUT)$@ \ - $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) - -$(BLD)/addsection.exe: $(BLD)/addsection.$(O) - $(LINK) $(LINK_OUT)$@ \ - $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) - -$(BLD)/preprep.exe: $(BLD)/preprep.$(O) - $(LINK) $(LINK_OUT)$@ \ - $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) - -# -# The resource file. NT 3.10 requires the use of cvtres; even though -# it is not necessary on later versions, it is still ok to use it. -# -$(TRES): emacs.rc icons/emacs.ico $(EMACS_MANIFEST) stamp_BLD - $(RC) $(RC_OUT)$(TRES) emacs.rc - -$(CLIENTRES): emacsclient.rc stamp_BLD - $(RC) $(RC_OUT)$(CLIENTRES) emacsclient.rc - -$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES) - $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \ - $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) - -which-sh: - @echo Using $(THE_SHELL) as shell. - -# These depend on stamp_BLD to make sure the $(BLD) directory is created -# before the compilation begins, even if Make runs several commands -# in parallel under "make -j". -# -$(BLD)/addpm.$(O) $(BLD)/ddeclient.$(O) $(BLD)/runemacs.$(O) $(BLD)/cmdproxy.$(O) $(BLD)/addsection.$(O) $(BLD)/preprep.$(O): stamp_BLD - -# -# Build emacs -# -all: which-sh $(ALL) $(CLIENTRES) all-other-dirs-$(MAKETYPE) - -all-other-dirs-$(MAKETYPE): maybe-bootstrap - -all-other-dirs-nmake: $(BLD)/addsection.exe - cd ..\lib - $(MAKE) $(MFLAGS) all - cd ..\lib-src - $(MAKE) $(MFLAGS) all - cd ..\src - $(MAKE) $(MFLAGS) all - cd ..\lisp - $(MAKE) $(MFLAGS) all - cd ..\leim - $(MAKE) $(MFLAGS) all - cd ..\nt - -all-other-dirs-gmake: $(BLD)/addsection.exe - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src all - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src all - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp all - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim all - -recompile: recompile-$(MAKETYPE) - -recompile-nmake: - cd ..\lisp - $(MAKE) $(MFLAGS) recompile - cd ..\nt - -recompile-gmake: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp recompile - -#### Bootstrapping. - -### This is meant for Emacs maintainers only. It first cleans the -### lisp subdirectory, removing all compiled Lisp files. Then a -### special emacs executable is built from Lisp sources, which is then -### used to compile Lisp files. The last step is a "normal" make. - -maybe-bootstrap: maybe-bootstrap-$(SHELLTYPE) - -# dummy target to force other targets to be evaluated. -doit: - -maybe-bootstrap-CMD: doit - @echo . - @if not EXIST ..\lisp\abbrev.elc echo Essential Lisp files seem to be missing. You should either - @if not EXIST ..\lisp\abbrev.elc echo do 'make bootstrap' or create 'lisp/abbrev.elc' somehow - @echo . - @if not EXIST ..\lisp\abbrev.elc exit -1 - -maybe-bootstrap-SH: doit - @if [ ! -f ../lisp/abbrev.elc ] ; then \ - echo; \ - echo "Essential Lisp files seem to be missing. You should either"; \ - echo "do \`make bootstrap' or create \`lisp/abbrev.elc' somehow."; \ - echo; \ - exit -1; \ - fi - -# Bootstrap depends on cmdproxy because some Lisp functions -# loaded during bootstrap may need to run shell commands. -bootstrap: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe bootstrap-$(MAKETYPE) - $(MAKE) $(MFLAGS) $(XMFLAGS) all - -bootstrap-nmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe - cd ..\lisp - $(MAKE) $(MFLAGS) bootstrap-clean - cd ..\src - $(MAKE) $(MFLAGS) clean - cd ..\lib-src - $(MAKE) $(MFLAGS) clean make-docfile - cd ..\lib - $(MAKE) $(MFLAGS) clean all - cd ..\src - $(MAKE) $(MFLAGS) bootstrap - $(MAKE) $(MFLAGS) bootstrap-clean - cd ..\nt - $(CP) $(BLD)/cmdproxy.exe ../bin - cd ..\lisp - $(MAKE) $(MFLAGS) SHELL=$(SHELLTYPE) bootstrap - cd ..\lib-src - $(MAKE) $(MFLAGS) DOC - cd ..\nt - -bootstrap-gmake: $(BLD)/addsection.exe $(BLD)/cmdproxy.exe - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src make-docfile - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib all - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean - $(CP) $(BLD)/cmdproxy.exe ../bin - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src DOC - -bootstrap-clean: bootstrap-clean-$(MAKETYPE) - -bootstrap-clean-nmake: - cd ..\src - $(MAKE) $(MFLAGS) bootstrap-clean - cd ..\lib - $(MAKE) $(MFLAGS) clean - cd ..\lisp - $(MAKE) $(MFLAGS) bootstrap-clean - -bootstrap-clean-gmake: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src bootstrap-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp bootstrap-clean - -$(INSTALL_DIR): - - mkdir "$(INSTALL_DIR)" - -$(INSTALL_DIR)/bin: $(INSTALL_DIR) - - mkdir "$(INSTALL_DIR)/bin" - -# -# Build and install emacs in INSTALL_DIR -# -.PHONY: install-bin install-shortcuts - -install: install-bin install-shortcuts - -install-bin: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE) - - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin - - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin - - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin - - $(CP) README.W32 $(INSTALL_DIR) - - $(DEL) ../$(DIRNAME)_same-dir.tst - - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst - echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" - - mkdir "$(INSTALL_DIR)/etc" - - mkdir "$(INSTALL_DIR)/info" - - mkdir "$(INSTALL_DIR)/lock" - - mkdir "$(INSTALL_DIR)/data" - - mkdir "$(INSTALL_DIR)/site-lisp" - - mkdir "$(INSTALL_DIR)/etc/icons" - $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF) - $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF) - - $(CP_DIR) icons $(INSTALL_DIR)/etc - $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF) - $(IFNOTSAMEDIR) $(CP) ../COPYING $(INSTALL_DIR) $(ENDIF) - - $(CP) ../COPYING $(INSTALL_DIR)/bin - - $(DEL) ../$(DIRNAME)_same-dir.tst - - $(DEL) $(INSTALL_DIR)/$(DIRNAME)_same-dir.tst - -install-other-dirs-nmake: all - cd ..\lib-src - $(MAKE) $(MFLAGS) install - cd ..\src - $(MAKE) $(MFLAGS) install - cd ..\lisp - $(MAKE) $(MFLAGS) install - cd ..\leim - $(MAKE) $(MFLAGS) install - cd ..\nt - -install-other-dirs-gmake: all - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src install - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src install - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp install - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim install - -install-addpm: $(INSTALL_DIR)/bin $(BLD)/addpm.exe - - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin - -install-shortcuts: install-addpm - "$(INSTALL_DIR)/bin/addpm" -q - -maybe-copy-distfiles: maybe-copy-distfiles-$(SHELLTYPE) - -maybe-copy-distfiles-CMD: create-tmp-dist-dir doit - @if not $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin - -maybe-copy-distfiles-SH: create-tmp-dist-dir doit - @if [ ! $(ARGQUOTE)$(DIST_FILES)$(ARGQUOTE) == "" ] ; then \ - $(CP_DIR) $(DIST_FILES) $(TMP_DIST_DIR)/bin ; \ - fi - -create-tmp-dist-dir: - mkdir "$(TMP_DIST_DIR)" -# Also create bin directory for dist files. - mkdir "$(TMP_DIST_DIR)/bin" - -dist: install-bin install-addpm maybe-copy-distfiles - $(CP) "$(INSTALL_DIR)/BUGS" $(TMP_DIST_DIR) - $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR) - $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR) - $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR) - $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR) - $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR) - $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR) - $(CP_DIR) "$(INSTALL_DIR)/lisp" $(TMP_DIST_DIR) - $(CP_DIR) "$(INSTALL_DIR)/leim" $(TMP_DIST_DIR) - $(CP_DIR) "$(INSTALL_DIR)/site-lisp" $(TMP_DIST_DIR) - $(COMSPEC)$(ComSpec) /c $(ARGQUOTE)zipdist.bat $(VERSION)$(ARGQUOTE) - $(DEL_TREE) $(TMP_DIST_DIR) - -force-info: -# Note that doc/emacs/makefile knows how to -# put the info files in $(infodir), -# so we can do ok running make in the build dir. -info: force-info info-$(MAKETYPE) - -info-nmake: - cd ..\doc\emacs - $(MAKE) $(MFLAGS) info - cd ..\misc - $(MAKE) $(MFLAGS) info - cd ..\lispref - $(MAKE) $(MFLAGS) info - cd ..\lispintro - $(MAKE) $(MFLAGS) info - cd $(MAKEDIR) - -info-gmake: emacs misc lispref lispintro - -emacs misc lispref lispintro: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/$@ info - -# -# Maintenance -# -clean: clean-other-dirs-$(MAKETYPE) - - $(DEL) $(COMPILER_TEMP_FILES) - - $(DEL_TREE) $(OBJDIR) - - $(DEL) stamp_BLD - - $(DEL) ../etc/DOC - -clean-other-dirs-nmake: - cd ..\lib - $(MAKE) $(MFLAGS) clean - cd ..\lib-src - $(MAKE) $(MFLAGS) clean - cd ..\src - $(MAKE) $(MFLAGS) clean - cd ..\doc\lispintro - $(MAKE) $(MFLAGS) clean - cd ..\lispref - $(MAKE) $(MFLAGS) clean - cd ..\..\leim - $(MAKE) $(MFLAGS) clean - cd ..\doc\emacs - $(MAKE) $(MFLAGS) clean - cd ..\misc - $(MAKE) $(MFLAGS) clean - cd ..\..\nt - -clean-other-dirs-gmake: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref clean - -cleanall-other-dirs-nmake: - cd ..\lib - $(MAKE) $(MFLAGS) cleanall - cd ..\lib-src - $(MAKE) $(MFLAGS) cleanall - cd ..\src - $(MAKE) $(MFLAGS) cleanall - cd ..\nt - -cleanall-other-dirs-gmake: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib cleanall - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src cleanall - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src cleanall - -# We used to delete *~ here, but that might inadvertently remove -# precious files if it happens to match their short 8+3 aliases. -cleanall: clean cleanall-other-dirs-$(MAKETYPE) - - $(DEL_TREE) obj - - $(DEL_TREE) obj-spd - - $(DEL_TREE) oo - - $(DEL_TREE) oo-spd - -top-distclean: - - $(DEL) $(COMPILER_TEMP_FILES) - - $(DEL_TREE) obj - - $(DEL_TREE) obj-spd - - $(DEL_TREE) oo - - $(DEL_TREE) oo-spd - - $(DEL) stamp_BLD - - $(DEL) ../etc/DOC - - $(DEL) config.log Makefile - - $(DEL) ../README.W32 - -distclean: distclean-other-dirs-$(MAKETYPE) top-distclean - -distclean-other-dirs-nmake: - cd ..\lib - $(MAKE) $(MFLAGS) distclean - cd ..\lib-src - $(MAKE) $(MFLAGS) distclean - cd ..\src - $(MAKE) $(MFLAGS) distclean - cd ..\lisp - $(MAKE) $(MFLAGS) distclean - cd ..\leim - $(MAKE) $(MFLAGS) distclean - cd ..\doc\emacs - $(MAKE) $(MFLAGS) distclean - cd ..\misc - $(MAKE) $(MFLAGS) distclean - cd ..\lispintro - $(MAKE) $(MFLAGS) distclean - cd ..\lispref - $(MAKE) $(MFLAGS) distclean - cd ..\..\nt - -distclean-other-dirs-gmake: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro distclean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref distclean - -maintainer-clean: maintainer-clean-other-dirs-$(MAKETYPE) top-distclean - -maintainer-clean-other-dirs-nmake: - cd ..\lib - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\lib-src - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\src - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\lisp - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\leim - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\doc\emacs - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\misc - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\lispintro - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\lispref - $(MAKE) $(MFLAGS) maintainer-clean - cd ..\..\nt - -maintainer-clean-other-dirs-gmake: - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lib-src maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../src maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../lisp maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../leim maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/emacs maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/misc maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispintro maintainer-clean - $(MAKE) $(MFLAGS) $(XMFLAGS) -C ../doc/lispref maintainer-clean - -realclean: cleanall - - $(DEL_TREE) ../bin - -TAGS: TAGS-$(MAKETYPE) - -frc: -TAGS-gmake: frc - ../lib-src/$(BLD)/etags $(CURDIR)/*.c - $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP - $(MAKE) $(MFLAGS) -C ../lib-src TAGS - $(MAKE) $(MFLAGS) -C ../lib TAGS - -TAGS-nmake: - echo This target is not supported with NMake - -.PHONY: frc diff --git a/nt/multi-install-info.bat b/nt/multi-install-info.bat deleted file mode 100644 index f69ee48..0000000 --- a/nt/multi-install-info.bat +++ /dev/null @@ -1,40 +0,0 @@ -@echo off - -rem Hack to run install-info with multiple info files on the command -rem line on the Windows platform. - -rem Copyright (C) 2003-2015 Free Software Foundation, Inc. - -rem This file is part of GNU Emacs. - -rem GNU Emacs is free software: you can redistribute it and/or modify -rem it under the terms of the GNU General Public License as published by -rem the Free Software Foundation, either version 3 of the License, or -rem (at your option) any later version. - -rem GNU Emacs is distributed in the hope that it will be useful, -rem but WITHOUT ANY WARRANTY; without even the implied warranty of -rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -rem GNU General Public License for more details. - -rem You should have received a copy of the GNU General Public License -rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/. - - -rem Usage: -rem multi-install-info FILE1 FILE2 ... -rem -rem By Peter 'Luna' Runestig 2003 - -set INSTALL_INFO=install-info -set II_SWITCH=%1=%2 -rem Eat the install-info switch: -shift - -:Loop -shift -if .%1% == . goto EndLoop -%INSTALL_INFO% %II_SWITCH% %1 -goto Loop -:EndLoop - diff --git a/nt/nmake.defs b/nt/nmake.defs deleted file mode 100644 index 5424b9d..0000000 --- a/nt/nmake.defs +++ /dev/null @@ -1,294 +0,0 @@ -# -*- Makefile -*- definition file for building GNU Emacs on Windows NT. -# Copyright (C) 2000-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -# Ensure 'all' is the default target -all: - -THE_SHELL = $(COMSPEC) -SHELLTYPE=CMD -SWITCHCHAR=/ - -MAKETYPE=nmake - -CURDIR = $(MAKEDIR:\=/) -THISDIR = $(MAKEDIR) -DIRNAME = - -ALL_DEPS = $** - -SUBSYSTEM_WINDOWS=-subsystem:windows -SUBSYSTEM_CONSOLE=-subsystem:console - -# INSTALL_DIR is the directory into which emacs will be installed. -# -!ifndef INSTALL_DIR -INSTALL_DIR = $(CURDIR)/.. -!endif - -# Ensure EMACSLOADPATH is defined in the environment. -# -!if [set EMACSLOADPATH=foo] -!endif - -# Allow detection of builds with MSVC 5 or later, so we can -# speed up compiles (see rule at end). -# -_NMAKE_VER_5=162 -_NMAKE_VER_4=0 - -!IFNDEF _NMAKE_VER -_NMAKE_VER=$(_NMAKE_VER_4) -!ENDIF - -# Check that the INCLUDE and LIB environment variables are set. -# -!ifndef INCLUDE -!error The INCLUDE environment variable needs to be set. -!endif -!ifndef LIB -!error The LIB environment variable needs to be set. -!endif - -# Determine the architecture we're running on. -# Define ARCH for our purposes; -# Define CPU for use by ntwin32.mak; -# Define CONFIG_H to the appropriate config.h for the system; -# -!ifdef PROCESSOR_ARCHITECTURE -# We're on Windows NT -CPU = $(PROCESSOR_ARCHITECTURE) -CONFIG_H = config.nt -OS_TYPE = windowsnt -! if "$(PROCESSOR_ARCHITECTURE)" == "x86" -ARCH = i386 -CPU = i386 -! else -! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS" -ARCH = mips -! else -! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" -ARCH = alpha -! else -! if "$(PROCESSOR_ARCHITECTURE)" == "PPC" -ARCH = ppc -! else -! if "$(PROCESSOR_ARCHITECTURE)" == "AMD64" -ARCH = AMD64 -! else -! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)" -! endif -! endif -! endif -! endif -! endif -!else -# We're on Windows 95 -ARCH = i386 -CPU = i386 -CONFIG_H = config.nt -OS_TYPE = windows95 -!endif - -AR = lib -AR_OUT = -out: -CC = cl -CC_OUT = -Fo -LINK = link -LINK_OUT = -out: -RC = rc $(ARCH_RCFLAGS) -RC_OUT = -Fo -RC_INCLUDE = -i - -USE_CRT_DLL = 1 - -!if $(USE_CRT_DLL) -libc = msvcrt$(D).lib -EMACS_EXTRA_C_FLAGS= -D_DLL -D_MT -DUSE_CRT_DLL=1 -!else -libc = libcmt$(D).lib -EMACS_EXTRA_C_FLAGS= -D_MT -!endif -baselibs = -O = obj -A = lib - -BASE_LIBS = $(libc) $(baselibs) oldnames.lib - -ADVAPI32 = advapi32.lib -COMCTL32 = comctl32.lib -COMDLG32 = comdlg32.lib -GDI32 = gdi32.lib -MPR = mpr.lib -SHELL32 = shell32.lib -USER32 = user32.lib -WSOCK32 = wsock32.lib -WINMM = winmm.lib -WINSPOOL = winspool.lib -OLE32 = ole32.lib -UNISCRIBE = usp10.lib -UUID = uuid.lib - -!ifdef NOOPT -DEBUG_CFLAGS = -DEMACSDEBUG -!else -DEBUG_CFLAGS = -!endif - -MWINDOWS = -subsystem:windows -entry:mainCRTStartup - -CFLAGS = -I. $(ARCH_CFLAGS) -D_CRT_SECURE_NO_WARNINGS \ - $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) -ESC_CFLAGS = -I. $(ARCH_CFLAGS) -D_CRT_SECURE_NO_WARNINGS \ - $(DEBUG_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS) - -#SYS_LDFLAGS = -nologo -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj -SYS_LDFLAGS = -nologo -manifest -dynamicbase:no -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj - -# see comments in allocate_heap in w32heap.c before changing any of the -# -stack, -heap, or -base settings. -!if "$(ARCH)" == "i386" -TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -pdb:$(BLD)\temacs.pdb -machine:x86 $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK) -!elseif "$(ARCH)" == "AMD64" -TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x400000000 -pdb:$(BLD)\temacs.pdb -machine:x64 $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK) -!endif - -!ifdef NOOPT -OBJDIR = obj -!else -OBJDIR = obj-spd -!endif -$(OBJDIR):; -mkdir $(OBJDIR) -BLD = $(OBJDIR)/$(ARCH) -stamp_BLD: $(OBJDIR) - -mkdir "$(BLD)" - echo $(BLD) > $@ - -COMPILER_TEMP_FILES = *.pdb - -CP = cp -f -CP_DIR = cp -rf -IFNOTSAMEDIR = if not exist ..\$(DIRNAME)_same-dir.tst -ENDIF = -FOREACH = for %%f in ( -FORVAR = %%f -FORDO = ) do -ENDFOR = -ARGQUOTE = " -# " -DQUOTE = \" -DEL = rm -DEL_TREE = rm -r - -!ifdef NODEBUG -DEBUG_FLAG = -DEBUG_LINK = -D = -!else -DEBUG_FLAG = -Zi -DEBUG_LINK = -debug -D = d -!endif - -# gcc-specific pragma (ignore for MSVC) -PRAGMA_SYSTEM_HEADER = - -!if "$(ARCH)" == "i386" -!ifdef NOOPT -#ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG) -ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Od -Gd $(DEBUG_FLAG) -!else -#ARCH_CFLAGS = -nologo -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG) -ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zl -Zp8 -W2 -Oi -Ot -Oy- -Ob2 -GF -Gy -Gd $(DEBUG_FLAG) -!endif -ARCH_LDFLAGS = $(SYS_LDFLAGS) -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-x86.manifest - -!else -!if "$(ARCH)" == "mips" -ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0 -ARCH_LDFLAGS = $(SYS_LDFLAGS) -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-mips.manifest - -!else -!if "$(ARCH)" == "alpha" -!if "$(BUILD_TYPE)" == "spd" -ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl= -!else -ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl= -!endif -ARCH_LDFLAGS = $(SYS_LDFLAGS) -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-alpha.manifest - -!else -!if "$(ARCH)" == "ppc" -# These flags are a guess...if they don't work, please send me mail. -ARCH_LDFLAGS = $(SYS_LDFLAGS) -EMACS_HEAPSIZE = 27 -EMACS_PURESIZE = 5000000 -EMACS_MANIFEST = emacs-ppc.manifest - -!else -!if "$(ARCH)" == "AMD64" -!ifdef NOOPT -ARCH_CFLAGS = -nologo -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -c -Zl -Zp8 -W2 -Od -Gd -Wp64 $(DEBUG_FLAG) -!else -ARCH_CFLAGS = -nologo -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -c -Zl -Zp8 -W2 -O2x -GF -Gy -Gd $(DEBUG_FLAG) -!endif -ARCH_LDFLAGS = $(SYS_LDFLAGS) -machine:x64 -ARCH_RCFLAGS = -DWIN64 -EMACS_HEAPSIZE = 42 -EMACS_PURESIZE = 10000000 -EMACS_MANIFEST = emacs-x64.manifest - -!else -!ERROR Unknown architecture type "$(ARCH)". -!endif -!endif -!endif -!endif -!endif - -LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(USER_LDFLAGS) - -# From MSVC 5.0 onwards, it seem base relocation information is not included, -# at least in release builds. We need to ensure the reloc info is included -# in order to use the MSVC profiler. -!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") -EXTRA_LINK = -!ELSE -EXTRA_LINK = -profile -!ENDIF - -# -# If the compiler supports compiling multiple .c files to .o files at -# one time, use this feature. -# -!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)") -.c{$(BLD)}.obj: - $(CC) $(CFLAGS) -Fo$(BLD)\ $< -!ELSE -.c{$(BLD)}.obj:: - $(CC) $(CFLAGS) -Fo$(BLD)\ $< -!ENDIF diff --git a/nt/paths.h b/nt/paths.h deleted file mode 100644 index d6dfaad..0000000 --- a/nt/paths.h +++ /dev/null @@ -1,66 +0,0 @@ -/* paths.h file for MS Windows - -Copyright (C) 1993, 1995, 1997, 1999, 2001-2015 Free Software -Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . */ - -/* Relative file names in this file that begin with "%emacs_dir%/" are - treated specially by decode_env_path: they are expanded relative to - the value of the emacs_dir environment variable, which points to - the root of the Emacs tree. */ - -/* The default search path for Lisp function "load". - Together with PATH_SITELOADSEARCH, this sets load-path. */ -/* #define PATH_LOADSEARCH "/usr/local/lib/emacs/lisp" */ -#define PATH_LOADSEARCH "%emacs_dir%/lisp" - -/* Like PATH_LOADSEARCH, but contains the non-standard pieces. */ -#define PATH_SITELOADSEARCH "%emacs_dir%/site-lisp;%emacs_dir%/../site-lisp" - -/* Like PATH_LOADSEARCH, but used only when Emacs is dumping. This - path is usually identical to PATH_LOADSEARCH except that the entry - for the directory containing the installed lisp files has been - replaced with ../lisp. */ -#define PATH_DUMPLOADSEARCH "../lisp" - -/* The extra search path for programs to invoke. This is appended to - whatever the PATH environment variable says to set the Lisp - variable exec-path and the first file name in it sets the Lisp - variable exec-directory. exec-directory is used for finding - executables and other architecture-dependent files. */ -/* #define PATH_EXEC "/usr/local/lib/emacs/etc" */ -#define PATH_EXEC "%emacs_dir%/bin;%emacs_dir%/lib-src/oo-spd/i386;%emacs_dir%/lib-src/oo/i386;%emacs_dir%/nt/oo-spd/i386;%emacs_dir%/nt/oo/i386" - -/* Where Emacs should look for its architecture-independent data - files, like the NEWS file. The lisp variable data-directory - is set to this value. */ -/* #define PATH_DATA "/usr/local/lib/emacs/data" */ -#define PATH_DATA "%emacs_dir%/etc" - -/* Where Emacs should look for X bitmap files. - The lisp variable x-bitmap-file-path is set based on this value. */ -#define PATH_BITMAPS "" - -/* Where Emacs should look for its docstring file. The lisp variable - doc-directory is set to this value. */ -#define PATH_DOC "%emacs_dir%/etc" - -/* Where the configuration process believes the info tree lives. The - lisp variable configure-info-directory gets its value from this - macro, and is then used to set the Info-default-directory-list. */ -/* #define PATH_INFO "/usr/local/info" */ -#define PATH_INFO "C:/emacs/info" diff --git a/src/makefile.w32-in b/src/makefile.w32-in deleted file mode 100644 index 795b55a..0000000 --- a/src/makefile.w32-in +++ /dev/null @@ -1,1725 +0,0 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API. -# Copyright (C) 2000-2015 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see . - - -ALL = emacs - -.PHONY: $(ALL) - -# Set EMACSLOADPATH correctly (in case already defined in environment). -EMACSLOADPATH=$(CURDIR)/../lisp - -# Size in MBs of the static heap in temacs.exe. -HEAPSIZE = $(EMACS_HEAPSIZE) - -LOCAL_FLAGS = -Demacs=1 -I../lib -I../nt/inc $(EMACS_EXTRA_C_FLAGS) - -SRC = . -EMACS = $(BLD)/emacs.exe -TEMACS = $(BLD)/temacs.exe -TEMACS_TMP = $(BLD)/temacs.bin -TLIB0 = $(BLD)/temacs0.$(A) -TLIB1 = $(BLD)/temacs1.$(A) -TLIB2 = $(BLD)/temacs2.$(A) -TOBJ = $(BLD)/firstfile.$(O) -TRES = $(BLD)/emacs.res -TLASTLIB = $(BLD)/lastfile.$(A) -GNULIB = ../lib/$(BLD)/libgnu.$(A) - -DOC = $(OBJDIR)/etc/DOC - -FULL_LINK_FLAGS = $(LINK_FLAGS) $(TEMACS_EXTRA_LINK) - -# -# Split up the objects into two sets so that we don't run out of -# command line space when we link them into a library. -# -# Put emacs.$(O) in a separate lib, since we need to have firstfile.$(O) -# as the "main" object file when linking. -# -OBJ0 = $(BLD)/emacs.$(O) - -OBJ1 = $(BLD)/alloc.$(O) \ - $(BLD)/atimer.$(O) \ - $(BLD)/buffer.$(O) \ - $(BLD)/bytecode.$(O) \ - $(BLD)/callint.$(O) \ - $(BLD)/callproc.$(O) \ - $(BLD)/casefiddle.$(O) \ - $(BLD)/cmds.$(O) \ - $(BLD)/data.$(O) \ - $(BLD)/dired.$(O) \ - $(BLD)/dispnew.$(O) \ - $(BLD)/doc.$(O) \ - $(BLD)/doprnt.$(O) \ - $(BLD)/editfns.$(O) \ - $(BLD)/eval.$(O) \ - $(BLD)/fileio.$(O) \ - $(BLD)/filelock.$(O) \ - $(BLD)/fns.$(O) \ - $(BLD)/indent.$(O) \ - $(BLD)/insdel.$(O) \ - $(BLD)/keyboard.$(O) \ - $(BLD)/keymap.$(O) \ - $(BLD)/lread.$(O) \ - $(BLD)/macros.$(O) \ - $(BLD)/marker.$(O) \ - $(BLD)/minibuf.$(O) \ - $(BLD)/w32.$(O) \ - $(BLD)/w32heap.$(O) \ - $(BLD)/w32inevt.$(O) \ - $(BLD)/w32proc.$(O) \ - $(BLD)/w32console.$(O) \ - $(BLD)/print.$(O) \ - $(BLD)/process.$(O) \ - $(BLD)/regex.$(O) \ - $(BLD)/scroll.$(O) \ - $(BLD)/search.$(O) \ - $(BLD)/sound.$(O) \ - $(BLD)/syntax.$(O) - -OBJ2 = $(BLD)/sysdep.$(O) \ - $(BLD)/term.$(O) \ - $(BLD)/tparam.$(O) \ - $(BLD)/undo.$(O) \ - $(BLD)/unexw32.$(O) \ - $(BLD)/window.$(O) \ - $(BLD)/xdisp.$(O) \ - $(BLD)/casetab.$(O) \ - $(BLD)/floatfns.$(O) \ - $(BLD)/frame.$(O) \ - $(BLD)/gmalloc.$(O) \ - $(BLD)/gnutls.$(O) \ - $(BLD)/intervals.$(O) \ - $(BLD)/composite.$(O) \ - $(BLD)/ralloc.$(O) \ - $(BLD)/textprop.$(O) \ - $(BLD)/vm-limit.$(O) \ - $(BLD)/region-cache.$(O) \ - $(BLD)/bidi.$(O) \ - $(BLD)/charset.$(O) \ - $(BLD)/character.$(O) \ - $(BLD)/chartab.$(O) \ - $(BLD)/coding.$(O) \ - $(BLD)/category.$(O) \ - $(BLD)/ccl.$(O) \ - $(BLD)/font.$(O) \ - $(BLD)/fontset.$(O) \ - $(BLD)/fringe.$(O) \ - $(BLD)/image.$(O) \ - $(BLD)/terminal.$(O) \ - $(BLD)/menu.$(O) \ - $(BLD)/xml.$(O) \ - $(BLD)/profiler.$(O) \ - $(BLD)/w32term.$(O) \ - $(BLD)/w32xfns.$(O) \ - $(BLD)/w32fns.$(O) \ - $(BLD)/xfaces.$(O) \ - $(BLD)/w32select.$(O) \ - $(BLD)/w32menu.$(O) \ - $(BLD)/w32reg.$(O) \ - $(BLD)/w32font.$(O) \ - $(BLD)/w32notify.$(O) \ - $(BLD)/w32uniscribe.$(O) - -LIBS = $(TLIB0) \ - $(TLIB1) \ - $(TLIB2) \ - $(TLASTLIB) \ - $(GNULIB) \ - $(WINMM) \ - $(ADVAPI32) \ - $(GDI32) \ - $(COMDLG32) \ - $(USER32) \ - $(MPR) \ - $(SHELL32) \ - $(WINSPOOL) \ - $(OLE32) \ - $(COMCTL32) \ - $(UNISCRIBE) \ - $(USER_LIBS) \ - $(libc) - -# -# Build the executable and dump it. -# -all: $(ALL) - -# -# The dumped executable -# -emacs: stamp_BLD $(EMACS) -$(EMACS): $(DOC) $(TEMACS) - "$(THISDIR)/$(BLD)/temacs.exe" -batch -l loadup dump - -"$(THISDIR)/$(BLD)/emacs.exe" -batch -f list-load-path-shadows - -# -# The undumped executable -# Note the extra post-link step to insert a static preload heap section. -# If preload runs out of memory, increase the last argument to addsection -# (it is the preload heap size in MB). -# -temacs: stamp_BLD $(TEMACS) -$(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \ - ../nt/$(BLD)/addsection.exe $(GNULIB) - $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) - "$(THISDIR)/../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP $(HEAPSIZE) - -# These omit firstfile.${O}, but there's no documentation in there -# anyways. -buildobj.h: $(SRC)/makefile.w32-in - $(MAKE) $(MFLAGS) make-buildobj-$(SHELLTYPE) - -# Cannot have blanks between the backslash and the redirection -# characters, because CMD's `echo' will put them in buildobj.h. -make-buildobj-CMD: - echo #define BUILDOBJ ^"\> buildobj.h - echo $(OBJ0) \>> buildobj.h - echo $(OBJ1) \>> buildobj.h - echo $(OBJ2) \>> buildobj.h - echo ^">> buildobj.h - -# " -# The above line is here to countermand the single quote -# on the last "echo" command above, wrt font-lock. -make-buildobj-SH: - echo '#define BUILDOBJ $(DQUOTE)\' > buildobj.h - echo $(OBJ0) '\' >> buildobj.h - echo $(OBJ1) '\' >> buildobj.h - echo $(OBJ2) '\' >> buildobj.h - echo '$(DQUOTE)' >> buildobj.h - -GLOBAL_SOURCES = dosfns.c msdos.c \ - xterm.c xfns.c xmenu.c xselect.c xrdb.c xsmfns.c fringe.c image.c \ - fontset.c menu.c dbusbind.c \ - w32.c w32console.c w32fns.c w32heap.c w32inevt.c cygw32.c \ - w32menu.c w32proc.c w32reg.c w32select.c w32term.c w32xfns.c \ - font.c w32font.c w32uniscribe.c w32notify.c \ - dispnew.c frame.c scroll.c xdisp.c window.c bidi.c \ - charset.c coding.c category.c ccl.c character.c chartab.c \ - cm.c term.c terminal.c xfaces.c \ - emacs.c keyboard.c macros.c keymap.c sysdep.c \ - buffer.c filelock.c insdel.c marker.c \ - minibuf.c fileio.c dired.c \ - cmds.c casetab.c casefiddle.c indent.c search.c regex.c undo.c \ - alloc.c data.c doc.c editfns.c callint.c \ - eval.c floatfns.c fns.c print.c lread.c \ - syntax.c bytecode.c \ - process.c callproc.c unexw32.c \ - region-cache.c sound.c atimer.c \ - doprnt.c intervals.c textprop.c composite.c \ - gnutls.c xml.c profiler.c -SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ - xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o -obj = $(GLOBAL_SOURCES:.c=.o) - -globals.h: gl-stamp - @cmd $(SWITCHCHAR)c rem true - -gl-stamp: ../lib-src/$(BLD)/make-docfile.exe $(GLOBAL_SOURCES) - - $(DEL) gl-tmp - "$(THISDIR)/../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp - fc.exe $(SWITCHCHAR)b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h - - $(DEL) gl-tmp - echo timestamp > $@ - -bootstrap: bootstrap-emacs - -# -# Build a temacs with a sufficiently large PURESIZE to load the -# Lisp files from loadup.el in source form. -# -# WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as -# this can break with GNU Make 3.81 and later if sh.exe is used. -bootstrap-temacs-CMD: - $(MAKE) $(MFLAGS) $(XMFLAGS) temacs CFLAGS=$(ARGQUOTE)$(ESC_CFLAGS) -DPURESIZE=$(EMACS_PURESIZE)$(ARGQUOTE) - -bootstrap-temacs-SH: - $(MAKE) $(MFLAGS) $(XMFLAGS) temacs CFLAGS=$(ARGQUOTE)$(CFLAGS) -DPURESIZE=$(EMACS_PURESIZE)$(ARGQUOTE) - -bootstrap-temacs: - $(MAKE) $(MFLAGS) bootstrap-temacs-$(SHELLTYPE) - -# -# Dump an Emacs executable named bootstrap-emacs containing the -# files from loadup.el in source form. -# -bootstrap-emacs: bootstrap-temacs - "$(THISDIR)/$(BLD)/temacs.exe" -batch -l loadup bootstrap - - mkdir "../bin" - $(CP) $(EMACS) ../bin - -# -# Force recompile of files that depend on PURESIZE -# -bootstrap-clean: - - $(DEL) $(BLD)/alloc.$(O) - - $(DEL) $(BLD)/data.$(O) - - $(DEL) $(BLD)/intervals.$(O) - - $(DEL) $(BLD)/keyboard.$(O) - - $(DEL) $(BLD)/keymap.$(O) - -# -# The resource file. NT 3.10 requires the use of cvtres; even though -# it is not necessary on later versions, it is still ok to use it. -# -$(TRES): ../nt/emacs.rc stamp_BLD - $(RC) $(RC_INCLUDE)../nt $(RC_OUT)$@ ../nt/emacs.rc - -# -# Build the library. Split up the build into two phases...otherwise we -# run out of command line space. -# -$(TLIB0): $(OBJ0) - - $(DEL) $@ - $(AR) $(AR_OUT)$@ $(ALL_DEPS) -$(TLIB1): $(OBJ1) - - $(DEL) $@ - $(AR) $(AR_OUT)$@ $(ALL_DEPS) -$(TLIB2): $(OBJ2) - - $(DEL) $@ - $(AR) $(AR_OUT)$@ $(ALL_DEPS) - -# -# Place lastfile.$(O) in its own library so that it can be loaded after -# the source libraries but before any system libraries. Doing so defines -# the end of Emacs' data section portably across compilers and systems. -# -$(TLASTLIB): $(BLD)/lastfile.$(O) - - $(DEL) $@ - $(AR) $(AR_OUT)$@ $(ALL_DEPS) - -# -# Assuming INSTALL_DIR is defined, build and install emacs in it. -# -install: $(ALL) - - mkdir "$(INSTALL_DIR)/bin" - $(CP) $(EMACS) $(INSTALL_DIR)/bin - -# -# Maintenance -# -# We used to delete *~, s/*~, m/*~ here, but that might inadvertently -# remove precious files if it happens to match their short 8+3 aliases. -clean: - - $(DEL) "s/*.h~" "m/*.h~" - - $(DEL) $(COMPILER_TEMP_FILES) - - $(DEL_TREE) $(OBJDIR) - - $(DEL) stamp_BLD gl-stamp globals.h - - $(DEL) buildobj.h - -distclean: cleanall - - $(DEL) config.h epaths.h Makefile - -maintainer-clean: distclean - - $(DEL) TAGS - -cleanall: clean - - $(DEL_TREE) obj - - $(DEL_TREE) obj-spd - - $(DEL_TREE) oo - - $(DEL_TREE) oo-spd - -## Arrange to make a tags table TAGS-LISP for ../lisp, -## plus TAGS for the C files, which includes ../lisp/TAGS by reference. -## -## This works only with GNU Make. - -TAGS: $(OBJ0) $(OBJ1) $(OBJ2) $(CURDIR)/../nt/inc/ms-w32.h - $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE) - -TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2) - $(MAKE) $(MFLAGS) TAGS-LISP-$(MAKETYPE) - -TAGS-gmake: - ../lib-src/$(BLD)/etags.exe --include=TAGS-LISP --include=../nt/TAGS \ - --regex=@../nt/emacs-src.tags \ - $(OBJ0_c) - ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \ - $(OBJ1_c) - ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \ - $(OBJ2_c) \ - $(CURDIR)/*.h $(CURDIR)/../nt/inc/ms-w32.h - -TAGS-nmake: - echo This target is not supported with NMake - exit -1 - -frc: -TAGS-LISP-gmake: frc - $(MAKE) $(MFLAGS) -C ../lisp TAGS-LISP DEST=../src - -TAGS-LISP-nmake: - echo This target is not supported with NMake - exit -1 - -../nt/TAGS: frc - $(MAKE) $(MFLAGS) nt-TAGS-$(MAKETYPE) - -nt-TAGS-gmake: - $(MAKE) $(MFLAGS) -C ../nt TAGS - -nt-TAGS-nmake: - echo This target is not supported with NMake - exit -1 - -full-tags: TAGS TAGS-LISP ../nt/TAGS -.PHONY: full-tags - -### DEPENDENCIES ### - -EMACS_ROOT = .. -GNU_LIB = $(EMACS_ROOT)/lib -NT_INC = $(EMACS_ROOT)/nt/inc - -ACL_H = $(GNU_LIB)/acl.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/stdbool.h -SYSTIME_H = $(SRC)/systime.h \ - $(NT_INC)/sys/time.h \ - $(GNU_LIB)/timespec.h -ATIMER_H = $(SRC)/atimer.h \ - $(NT_INC)/stdbool.h \ - $(SYSTIME_H) -BUFFER_H = $(SRC)/buffer.h \ - $(SYSTIME_H) -C_CTYPE_H = $(GNU_LIB)/c-ctype.h \ - $(NT_INC)/stdbool.h -CAREADLINKAT_H = $(GNU_LIB)/careadlinkat.h \ - $(NT_INC)/unistd.h -CHARACTER_H = $(SRC)/character.h \ - $(GNU_LIB)/verify.h -CCL_H = $(SRC)/ccl.h \ - $(CHARACTER_H) -CHARSET_H = $(SRC)/charset.h \ - $(GNU_LIB)/verify.h -CODING_H = $(SRC)/coding.h \ - $(SRC)/composite.h -MS_W32_H = $(NT_INC)/ms-w32.h \ - $(NT_INC)/sys/stat.h -CONF_POST_H = $(SRC)/conf_post.h \ - $(MS_W32_H) -CONFIG_H = $(SRC)/config.h \ - $(CONF_POST_H) -W32GUI_H = $(SRC)/w32gui.h \ - $(SYSTIME_H) -DISPEXTERN_H = $(SRC)/dispextern.h \ - $(GNU_LIB)/c-strcase.h \ - $(SYSTIME_H) \ - $(W32GUI_H) -FILEMODE_H = $(GNU_LIB)/filemode.h \ - $(NT_INC)/sys/stat.h -FRAME_H = $(SRC)/frame.h \ - $(DISPEXTERN_H) -FONT_H = $(SRC)/font.h \ - $(CCL_H) \ - $(FRAME_H) -FTOASTR_H = $(GNU_LIB)/ftoastr.h \ - $(GNU_LIB)/intprops.h -GRP_H = $(NT_INC)/grp.h \ - $(NT_INC)/pwd.h -INTERVALS_H = $(SRC)/intervals.h \ - $(SRC)/composite.h \ - $(DISPEXTERN_H) -INTTYPES_H = $(NT_INC)/inttypes.h \ - $(NT_INC)/stdint.h -KEYBOARD_H = $(SRC)/keyboard.h \ - $(CODING_H) \ - $(SYSTIME_H) -LANGINFO_H = $(NT_INC)/langinfo.h \ - $(NT_INC)/nl_types.h -LISP_H = $(SRC)/lisp.h \ - $(SRC)/globals.h \ - $(GNU_LIB)/intprops.h \ - $(INTTYPES_H) \ - $(NT_INC)/stdalign.h \ - $(NT_INC)/stdbool.h -MD5_H = $(GNU_LIB)/md5.h \ - $(NT_INC)/stdint.h -MENU_H = $(SRC)/menu.h \ - $(SYSTIME_H) -PROCESS_H = $(SRC)/process.h \ - $(SRC)/gnutls.h \ - $(NT_INC)/unistd.h -SHA1_H = $(GNU_LIB)/sha1.h \ - $(NT_INC)/stdint.h -SHA256_H = $(GNU_LIB)/sha256.h \ - $(NT_INC)/stdint.h -U64_H = $(GNU_LIB)/u64.h \ - $(NT_INC)/stdint.h -SHA512_H = $(GNU_LIB)/sha512.h \ - $(U64_H) -SIG2STR_H = $(GNU_LIB)/sig2str.h \ - $(GNU_LIB)/intprops.h -SOCKET_H = $(NT_INC)/sys/socket.h \ - $(SRC)/w32.h -STAT_TIME_H = $(GNU_LIB)/stat-time.h \ - $(NT_INC)/sys/stat.h -SYSSIGNAL_H = $(SRC)/syssignal.h \ - $(NT_INC)/stdbool.h -SYSTTY_H = $(SRC)/systty.h \ - $(NT_INC)/sys/ioctl.h \ - $(NT_INC)/unistd.h -SYSWAIT_H = $(SRC)/syswait.h \ - $(NT_INC)/stdbool.h \ - $(NT_INC)/sys/wait.h -TERMHOOKS_H = $(SRC)/termhooks.h \ - $(SYSTIME_H) -W32FONT_H = $(SRC)/w32font.h \ - $(FONT_H) -W32TERM_H = $(SRC)/w32term.h \ - $(ATIMER_H) \ - $(FRAME_H) \ - $(W32GUI_H) -WINDOW_H = $(SRC)/window.h \ - $(DISPEXTERN_H) - -$(BLD)/alloc.$(O) : \ - $(SRC)/alloc.c \ - $(SRC)/blockinput.h \ - $(SRC)/puresize.h \ - $(SRC)/w32.h \ - $(SRC)/w32heap.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/verify.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/atimer.$(O) : \ - $(SRC)/atimer.c \ - $(SRC)/blockinput.h \ - $(NT_INC)/unistd.h \ - $(ATIMER_H) \ - $(CONFIG_H) \ - $(LISP_H) \ - $(SYSSIGNAL_H) \ - $(SYSTIME_H) - -$(BLD)/bidi.$(O) : \ - $(SRC)/bidi.c \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(LISP_H) - -$(BLD)/buffer.$(O) : \ - $(SRC)/buffer.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/indent.h \ - $(SRC)/keymap.h \ - $(SRC)/region-cache.h \ - $(NT_INC)/sys/param.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/verify.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/bytecode.$(O) : \ - $(SRC)/bytecode.c \ - $(SRC)/syntax.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/callint.$(O) : \ - $(SRC)/callint.c \ - $(SRC)/commands.h \ - $(SRC)/keymap.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/callproc.$(O) : \ - $(SRC)/callproc.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/composite.h \ - $(SRC)/epaths.h \ - $(SRC)/w32.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CCL_H) \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SYSSIGNAL_H) \ - $(SYSTTY_H) \ - $(SYSWAIT_H) \ - $(TERMHOOKS_H) - -$(BLD)/casefiddle.$(O) : \ - $(SRC)/casefiddle.c \ - $(SRC)/commands.h \ - $(SRC)/composite.h \ - $(SRC)/keymap.h \ - $(SRC)/syntax.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/casetab.$(O) : \ - $(SRC)/casetab.c \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/category.$(O) : \ - $(SRC)/category.c \ - $(SRC)/category.h \ - $(SRC)/keymap.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/ccl.$(O) : \ - $(SRC)/ccl.c \ - $(CCL_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/character.$(O) : \ - $(SRC)/character.c \ - $(SRC)/composite.h \ - $(SRC)/disptab.h \ - $(GNU_LIB)/intprops.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/charset.$(O) : \ - $(SRC)/charset.c \ - $(SRC)/disptab.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(LISP_H) - -$(BLD)/chartab.$(O) : \ - $(SRC)/chartab.c \ - $(CCL_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/cmds.$(O) : \ - $(SRC)/cmds.c \ - $(SRC)/commands.h \ - $(SRC)/keymap.h \ - $(SRC)/syntax.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/coding.$(O) : \ - $(SRC)/coding.c \ - $(SRC)/composite.h \ - $(BUFFER_H) \ - $(CCL_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/composite.$(O) : \ - $(SRC)/composite.c \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/data.$(O) : \ - $(SRC)/data.c \ - $(SRC)/keymap.h \ - $(SRC)/puresize.h \ - $(GNU_LIB)/intprops.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(SYSSIGNAL_H) \ - $(TERMHOOKS_H) - -$(BLD)/dired.$(O) : \ - $(SRC)/dired.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/regex.h \ - $(NT_INC)/dirent.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FILEMODE_H) \ - $(GRP_H) \ - $(LISP_H) \ - $(STAT_TIME_H) \ - $(SYSTIME_H) - -$(BLD)/dispnew.$(O) : \ - $(SRC)/dispnew.c \ - $(SRC)/blockinput.h \ - $(SRC)/cm.h \ - $(SRC)/commands.h \ - $(SRC)/disptab.h \ - $(SRC)/indent.h \ - $(SRC)/termchar.h \ - $(SRC)/w32.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/fpending.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SYSSIGNAL_H) \ - $(SYSTIME_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/doc.$(O) : \ - $(SRC)/doc.c \ - $(SRC)/buildobj.h \ - $(SRC)/keymap.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(KEYBOARD_H) \ - $(LISP_H) - -$(BLD)/doprnt.$(O) : \ - $(SRC)/doprnt.c \ - $(NT_INC)/unistd.h \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/editfns.$(O) : \ - $(SRC)/editfns.c \ - $(SRC)/blockinput.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/intprops.h \ - $(GNU_LIB)/strftime.h \ - $(GNU_LIB)/verify.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(GRP_H) \ - $(INTERVALS_H) \ - $(LISP_H) \ - $(SYSTIME_H) \ - $(WINDOW_H) - -$(BLD)/emacs.$(O) : \ - $(SRC)/emacs.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/gnutls.h \ - $(SRC)/keymap.h \ - $(SRC)/unexec.h \ - $(SRC)/w32.h \ - $(SRC)/w32common.h \ - $(SRC)/w32heap.h \ - $(SRC)/w32select.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/close-stream.h \ - $(ATIMER_H) \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SYSSIGNAL_H) \ - $(SYSTTY_H) \ - $(TERMHOOKS_H) \ - $(W32FONT_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/eval.$(O) : \ - $(SRC)/eval.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) - -$(BLD)/fileio.$(O) : \ - $(SRC)/fileio.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/w32.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/sys/acl.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/allocator.h \ - $(ACL_H) \ - $(BUFFER_H) \ - $(CAREADLINKAT_H) \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(LISP_H) \ - $(STAT_TIME_H) \ - $(SYSTIME_H) \ - $(WINDOW_H) - -$(BLD)/filelock.$(O) : \ - $(SRC)/filelock.c \ - $(SRC)/w32.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(LISP_H) \ - $(SYSTIME_H) - -$(BLD)/firstfile.$(O) : \ - $(SRC)/firstfile.c \ - $(CONFIG_H) - -$(BLD)/floatfns.$(O) : \ - $(SRC)/floatfns.c \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/fns.$(O) : \ - $(SRC)/fns.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/keymap.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/intprops.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LANGINFO_H) \ - $(LISP_H) \ - $(MD5_H) \ - $(SHA1_H) \ - $(SHA256_H) \ - $(SHA512_H) \ - $(WINDOW_H) - -$(BLD)/font.$(O) : \ - $(SRC)/font.c \ - $(SRC)/composite.h \ - $(SRC)/fontset.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/fontset.$(O) : \ - $(SRC)/fontset.c \ - $(SRC)/blockinput.h \ - $(SRC)/fontset.h \ - $(BUFFER_H) \ - $(CCL_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/frame.$(O) : \ - $(SRC)/frame.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/fontset.h \ - $(SRC)/termchar.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/fringe.$(O) : \ - $(SRC)/fringe.c \ - $(SRC)/blockinput.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/gmalloc.$(O) : \ - $(SRC)/gmalloc.c \ - $(SRC)/w32heap.h \ - $(NT_INC)/stdint.h \ - $(NT_INC)/unistd.h \ - $(CONFIG_H) - -$(BLD)/gnutls.$(O) : \ - $(SRC)/gnutls.c \ - $(SRC)/w32.h \ - $(CONFIG_H) \ - $(LISP_H) \ - $(PROCESS_H) - -$(BLD)/xml.$(O) : \ - $(SRC)/xml.c \ - $(SRC)/w32.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/profiler.$(O) : \ - $(SRC)/profiler.c \ - $(CONFIG_H) \ - $(LISP_H) \ - $(SYSSIGNAL_H) \ - $(SYSTIME_H) - -$(BLD)/image.$(O) : \ - $(SRC)/image.c \ - $(SRC)/blockinput.h \ - $(SRC)/epaths.h \ - $(SRC)/w32.h \ - $(NT_INC)/unistd.h \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(SYSTIME_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/indent.$(O) : \ - $(SRC)/indent.c \ - $(SRC)/category.h \ - $(SRC)/composite.h \ - $(SRC)/disptab.h \ - $(SRC)/indent.h \ - $(SRC)/region-cache.h \ - $(SRC)/termchar.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/insdel.$(O) : \ - $(SRC)/insdel.c \ - $(SRC)/blockinput.h \ - $(SRC)/region-cache.h \ - $(GNU_LIB)/intprops.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(INTERVALS_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/intervals.$(O) : \ - $(SRC)/intervals.c \ - $(SRC)/keymap.h \ - $(SRC)/puresize.h \ - $(GNU_LIB)/intprops.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) - -$(BLD)/keyboard.$(O) : \ - $(SRC)/keyboard.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/disptab.h \ - $(SRC)/keymap.h \ - $(SRC)/macros.h \ - $(SRC)/puresize.h \ - $(SRC)/syntax.h \ - $(SRC)/termchar.h \ - $(SRC)/termopts.h \ - $(NT_INC)/sys/ioctl.h \ - $(NT_INC)/unistd.h \ - $(ATIMER_H) \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SYSSIGNAL_H) \ - $(SYSTIME_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/keymap.$(O) : \ - $(SRC)/keymap.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/keymap.h \ - $(SRC)/puresize.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/lastfile.$(O) : \ - $(SRC)/lastfile.c \ - $(CONFIG_H) - -$(BLD)/lread.$(O) : \ - $(SRC)/lread.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/epaths.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(STAT_TIME_H) \ - $(TERMHOOKS_H) - -$(BLD)/macros.$(O) : \ - $(SRC)/macros.c \ - $(SRC)/commands.h \ - $(SRC)/macros.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/marker.$(O) : \ - $(SRC)/marker.c \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/menu.$(O) : \ - $(SRC)/menu.c \ - $(SRC)/blockinput.h \ - $(SRC)/keymap.h \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(MENU_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/minibuf.$(O) : \ - $(SRC)/minibuf.c \ - $(SRC)/commands.h \ - $(SRC)/keymap.h \ - $(SRC)/syntax.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/w32.$(O) : \ - $(SRC)/w32.c \ - $(SRC)/w32.h \ - $(SRC)/w32common.h \ - $(SRC)/w32heap.h \ - $(SRC)/w32select.h \ - $(NT_INC)/dirent.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/sys/acl.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/time.h \ - $(GNU_LIB)/allocator.h \ - $(CAREADLINKAT_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(GRP_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SOCKET_H) \ - $(SYSTIME_H) - -$(BLD)/w32heap.$(O) : \ - $(SRC)/w32heap.c \ - $(SRC)/w32common.h \ - $(SRC)/w32heap.h \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/w32inevt.$(O) : \ - $(SRC)/w32inevt.c \ - $(SRC)/blockinput.h \ - $(SRC)/termchar.h \ - $(SRC)/w32heap.h \ - $(SRC)/w32inevt.h \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/w32proc.$(O) : \ - $(SRC)/w32proc.c \ - $(SRC)/w32.h \ - $(SRC)/w32common.h \ - $(SRC)/w32heap.h \ - $(NT_INC)/nl_types.h \ - $(NT_INC)/sys/file.h \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(LANGINFO_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SYSSIGNAL_H) \ - $(SYSTIME_H) \ - $(SYSWAIT_H) \ - $(W32TERM_H) - -$(BLD)/w32console.$(O) : \ - $(SRC)/w32console.c \ - $(SRC)/disptab.h \ - $(SRC)/termchar.h \ - $(SRC)/w32common.h \ - $(SRC)/w32inevt.h \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/print.$(O) : \ - $(SRC)/print.c \ - $(SRC)/blockinput.h \ - $(SRC)/termchar.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(FTOASTR_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/process.$(O) : \ - $(SRC)/process.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/composite.h \ - $(SRC)/gnutls.h \ - $(SRC)/sysselect.h \ - $(SRC)/termopts.h \ - $(NT_INC)/arpa/inet.h \ - $(NT_INC)/netdb.h \ - $(NT_INC)/netinet/in.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/ioctl.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(ATIMER_H) \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SIG2STR_H) \ - $(SOCKET_H) \ - $(SYSSIGNAL_H) \ - $(SYSTIME_H) \ - $(SYSTTY_H) \ - $(SYSWAIT_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/ralloc.$(O) : \ - $(SRC)/ralloc.c \ - $(SRC)/blockinput.h \ - $(SRC)/getpagesize.h \ - $(NT_INC)/unistd.h \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/regex.$(O) : \ - $(SRC)/regex.c \ - $(SRC)/category.h \ - $(SRC)/regex.h \ - $(SRC)/syntax.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/region-cache.$(O) : \ - $(SRC)/region-cache.c \ - $(SRC)/region-cache.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/scroll.$(O) : \ - $(SRC)/scroll.c \ - $(SRC)/termchar.h \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/search.$(O) : \ - $(SRC)/search.c \ - $(SRC)/blockinput.h \ - $(SRC)/category.h \ - $(SRC)/commands.h \ - $(SRC)/regex.h \ - $(SRC)/region-cache.h \ - $(SRC)/syntax.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(INTERVALS_H) \ - $(LISP_H) - -$(BLD)/sound.$(O) : \ - $(SRC)/sound.c \ - $(NT_INC)/unistd.h \ - $(ATIMER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(LISP_H) \ - $(SYSSIGNAL_H) - -$(BLD)/syntax.$(O) : \ - $(SRC)/syntax.c \ - $(SRC)/category.h \ - $(SRC)/commands.h \ - $(SRC)/keymap.h \ - $(SRC)/regex.h \ - $(SRC)/syntax.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(INTERVALS_H) \ - $(LISP_H) - -$(BLD)/sysdep.$(O) : \ - $(SRC)/sysdep.c \ - $(SRC)/blockinput.h \ - $(SRC)/cm.h \ - $(SRC)/sysselect.h \ - $(SRC)/termchar.h \ - $(SRC)/termopts.h \ - $(NT_INC)/netdb.h \ - $(NT_INC)/pwd.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/param.h \ - $(NT_INC)/sys/stat.h \ - $(NT_INC)/unistd.h \ - $(GNU_LIB)/execinfo.h \ - $(GNU_LIB)/utimens.h \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(GRP_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SOCKET_H) \ - $(SYSSIGNAL_H) \ - $(SYSTIME_H) \ - $(SYSTTY_H) \ - $(SYSWAIT_H) \ - $(TERMHOOKS_H) \ - $(WINDOW_H) - -$(BLD)/term.$(O) : \ - $(SRC)/term.c \ - $(SRC)/blockinput.h \ - $(SRC)/cm.h \ - $(SRC)/composite.h \ - $(SRC)/disptab.h \ - $(SRC)/keymap.h \ - $(SRC)/termchar.h \ - $(SRC)/tparam.h \ - $(NT_INC)/sys/file.h \ - $(NT_INC)/sys/time.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(SYSSIGNAL_H) \ - $(SYSTTY_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/terminal.$(O) : \ - $(SRC)/terminal.c \ - $(SRC)/termchar.h \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) - -$(BLD)/textprop.$(O) : \ - $(SRC)/textprop.c \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(INTERVALS_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/tparam.$(O) : \ - $(SRC)/tparam.c \ - $(SRC)/tparam.h \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/undo.$(O) : \ - $(SRC)/undo.c \ - $(SRC)/commands.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(LISP_H) \ - $(WINDOW_H) - -$(BLD)/unexw32.$(O) : \ - $(SRC)/unexw32.c \ - $(SRC)/unexec.h \ - $(SRC)/w32.h \ - $(SRC)/w32common.h \ - $(SRC)/w32heap.h \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/vm-limit.$(O) : \ - $(SRC)/vm-limit.c \ - $(SRC)/w32heap.h \ - $(NT_INC)/unistd.h \ - $(CONFIG_H) \ - $(LISP_H) - -$(BLD)/window.$(O) : \ - $(SRC)/window.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/disptab.h \ - $(SRC)/indent.h \ - $(SRC)/keymap.h \ - $(SRC)/termchar.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/xdisp.$(O) : \ - $(SRC)/xdisp.c \ - $(SRC)/blockinput.h \ - $(SRC)/commands.h \ - $(SRC)/disptab.h \ - $(SRC)/fontset.h \ - $(SRC)/indent.h \ - $(SRC)/keymap.h \ - $(SRC)/macros.h \ - $(SRC)/region-cache.h \ - $(SRC)/termchar.h \ - $(SRC)/termopts.h \ - $(ATIMER_H) \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/xfaces.$(O) : \ - $(SRC)/xfaces.c \ - $(SRC)/blockinput.h \ - $(SRC)/fontset.h \ - $(SRC)/termchar.h \ - $(NT_INC)/sys/stat.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(C_CTYPE_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/w32fns.$(O) : \ - $(SRC)/w32fns.c \ - $(SRC)/blockinput.h \ - $(SRC)/epaths.h \ - $(SRC)/fontset.h \ - $(SRC)/w32.h \ - $(SRC)/w32common.h \ - $(SRC)/w32heap.h \ - $(NT_INC)/unistd.h \ - $(BUFFER_H) \ - $(CCL_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(SYSTIME_H) \ - $(TERMHOOKS_H) \ - $(W32FONT_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/w32menu.$(O) : \ - $(SRC)/w32menu.c \ - $(SRC)/blockinput.h \ - $(SRC)/keymap.h \ - $(SRC)/w32common.h \ - $(BUFFER_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(MENU_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/w32term.$(O) : \ - $(SRC)/w32term.c \ - $(SRC)/blockinput.h \ - $(SRC)/disptab.h \ - $(SRC)/fontset.h \ - $(SRC)/keymap.h \ - $(SRC)/termchar.h \ - $(SRC)/termopts.h \ - $(SRC)/w32heap.h \ - $(NT_INC)/sys/stat.h \ - $(ATIMER_H) \ - $(BUFFER_H) \ - $(CCL_H) \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(INTERVALS_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(PROCESS_H) \ - $(SYSTIME_H) \ - $(SYSTTY_H) \ - $(TERMHOOKS_H) \ - $(W32FONT_H) \ - $(W32TERM_H) \ - $(WINDOW_H) - -$(BLD)/w32select.$(O) : \ - $(SRC)/w32select.c \ - $(SRC)/blockinput.h \ - $(SRC)/composite.h \ - $(SRC)/w32common.h \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(W32TERM_H) - -$(BLD)/w32reg.$(O) : \ - $(SRC)/w32reg.c \ - $(SRC)/blockinput.h \ - $(CONFIG_H) \ - $(LISP_H) \ - $(W32TERM_H) - -$(BLD)/w32xfns.$(O) : \ - $(SRC)/w32xfns.c \ - $(SRC)/blockinput.h \ - $(SRC)/fontset.h \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(W32TERM_H) - -$(BLD)/w32font.$(O) : \ - $(SRC)/w32font.c \ - $(SRC)/fontset.h \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CODING_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(W32FONT_H) \ - $(W32TERM_H) - -$(BLD)/w32uniscribe.$(O) : \ - $(SRC)/w32uniscribe.c \ - $(SRC)/composite.h \ - $(SRC)/fontset.h \ - $(CHARACTER_H) \ - $(CHARSET_H) \ - $(CONFIG_H) \ - $(DISPEXTERN_H) \ - $(FONT_H) \ - $(FRAME_H) \ - $(LISP_H) \ - $(W32FONT_H) \ - $(W32TERM_H) - -$(BLD)/w32notify.$(O) : \ - $(SRC)/w32notify.c \ - $(SRC)/w32.h \ - $(SRC)/w32common.h \ - $(CODING_H) \ - $(CONFIG_H) \ - $(FRAME_H) \ - $(KEYBOARD_H) \ - $(LISP_H) \ - $(TERMHOOKS_H) \ - $(W32TERM_H) - -# Each object file depends on stamp_BLD, because in parallel builds we must -# make sure $(BLD) exists before starting compilations. -# -$(OBJ0) $(OBJ1) $(OBJ2) $(BLD)/lastfile.$(O) $(BLD)/firstfile.$(O): stamp_BLD commit 8fa49a6786bd71aa91b1e82709bc1852a65c4646 Author: Paul Eggert Date: Fri Aug 14 23:28:12 2015 -0700 * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR. (Bug#21248) diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index 909c866..ef274c6 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi @@ -1735,7 +1735,8 @@ internal representation within Emacs. charsets. The list gives the names of charsets and additional information to identity each charset; for more details, see the @url{https://www.itscj.ipsj.or.jp/itscj_english/iso-ir/ISO-IR.pdf, -International Register of Coded Character Sets} maintained by +ISO International Register of Coded Character Sets to be Used with +Escape Sequences (ISO-IR)} maintained by the @url{https://www.itscj.ipsj.or.jp/itscj_english/, Information Processing Society of Japan/Information Technology Standards Commission of Japan (IPSJ/ITSCJ)}. In this list, commit 200c2b10faf298bf65e8b6dbd0cb9ef00b2f95d6 Author: Paul Eggert Date: Fri Aug 14 18:20:35 2015 -0700 Default to inotify instead of gfile * configure.ac (with_file_notification): Fix typo that prevented suppression of file notification if HAVE_NS. (NOTIFY_OBJ): Prefer inotify to gfile if both exist and with_file_notification is 'yes' (Bug#21241). * etc/NEWS: Mention this. diff --git a/configure.ac b/configure.ac index 16d4484..9f8089f 100644 --- a/configure.ac +++ b/configure.ac @@ -365,7 +365,7 @@ AC_ARG_WITH([file-notification],[AS_HELP_STRING([--with-file-notification=LIB], * ) AC_MSG_ERROR(['--with-file-notification=$withval' is invalid; this option's value should be 'yes', 'no', 'gfile', 'inotify' or 'w32'. 'yes' is a synonym for 'w32' on MS-Windows, for 'no' on Nextstep, -otherwise for the first of 'gfile' or 'inotify' that is usable.]) +otherwise for the first of 'inotify' or 'gfile' that is usable.]) ;; esac with_file_notification=$val @@ -2674,7 +2674,7 @@ NOTIFY_SUMMARY=no dnl FIXME? Don't auto-detect on NS, but do allow someone to specify dnl a particular library. This doesn't make much sense? -if test "${HAVE_ns}" = yes && test ${with_file_notification} = yes; then +if test "${HAVE_NS}" = yes && test ${with_file_notification} = yes; then with_file_notification=no fi @@ -2694,22 +2694,7 @@ case $with_file_notification,$opsys in fi ;; esac -dnl g_file_monitor exists since glib 2.18. G_FILE_MONITOR_EVENT_MOVED -dnl has been added in glib 2.24. It has been tested under -dnl GNU/Linux only. We take precedence over inotify, but this makes -dnl only sense when glib has been compiled with inotify support. How -dnl to check? -case $with_file_notification,$NOTIFY_OBJ in - gfile, | yes,) - EMACS_CHECK_MODULES([GFILENOTIFY], [gio-2.0 >= 2.24]) - if test "$HAVE_GFILENOTIFY" = "yes"; then - AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.]) - NOTIFY_OBJ=gfilenotify.o - NOTIFY_SUMMARY="yes -lgio (gfile)" - fi ;; -esac - -dnl inotify is only available on GNU/Linux. +dnl inotify is available only on GNU/Linux. case $with_file_notification,$NOTIFY_OBJ in inotify, | yes,) AC_CHECK_HEADER(sys/inotify.h) @@ -2723,6 +2708,19 @@ case $with_file_notification,$NOTIFY_OBJ in fi ;; esac +dnl g_file_monitor exists since glib 2.18. G_FILE_MONITOR_EVENT_MOVED +dnl has been added in glib 2.24. It has been tested under +dnl GNU/Linux only. +case $with_file_notification,$NOTIFY_OBJ in + gfile,* | yes,) + EMACS_CHECK_MODULES([GFILENOTIFY], [gio-2.0 >= 2.24]) + if test "$HAVE_GFILENOTIFY" = "yes"; then + AC_DEFINE(HAVE_GFILENOTIFY, 1, [Define to 1 if using GFile.]) + NOTIFY_OBJ=gfilenotify.o + NOTIFY_SUMMARY="yes -lgio (gfile)" + fi ;; +esac + case $with_file_notification,$NOTIFY_OBJ in yes,* | no,* | *,?*) ;; *) AC_MSG_ERROR([File notification '$with_file_notification' requested but requirements not found.]) ;; diff --git a/etc/NEWS b/etc/NEWS index f131981..bbcdc0c 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -43,6 +43,10 @@ or by sticking with Emacs 24.4. If gnustep-config is not available, the old heuristics are used. --- +** 'configure' now prefers inotify to gfile for file notification, +unless gfile is explicitly requested via --with-file-notification='gfile'. + +--- ** The configure option '--with-pkg-config-prog' has been removed. Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to. commit 0abf56df5de778d02e8acccb2044fcd6e7e4953c Author: Paul Eggert Date: Fri Aug 14 17:46:04 2015 -0700 Fix broken URLs for ISO-IR * doc/emacs/mule.texi (Charsets): * lisp/international/mule-conf.el: Fix broken URL (Bug#21248). diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index 5a166d1..909c866 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi @@ -1733,9 +1733,12 @@ internal representation within Emacs. @findex list-character-sets @kbd{M-x list-character-sets} displays a list of all supported charsets. The list gives the names of charsets and additional -information to identity each charset; see the -@url{http://www.itscj.ipsj.or.jp/ISO-IR/, International Register of -Coded Character Sets} for more details. In this list, +information to identity each charset; for more details, see the +@url{https://www.itscj.ipsj.or.jp/itscj_english/iso-ir/ISO-IR.pdf, +International Register of Coded Character Sets} maintained by +the @url{https://www.itscj.ipsj.or.jp/itscj_english/, +Information Processing Society of Japan/Information Technology +Standards Commission of Japan (IPSJ/ITSCJ)}. In this list, charsets are divided into two categories: @dfn{normal charsets} are listed first, followed by @dfn{supplementary charsets}. A supplementary charset is one that is used to define another charset diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el index 3308dbd..babb83b 100644 --- a/lisp/international/mule-conf.el +++ b/lisp/international/mule-conf.el @@ -35,7 +35,9 @@ ;;; Remarks -;; The ISO-IR registry is at http://www.itscj.ipsj.or.jp/ISO-IR/. +;; The ISO-IR registry is maintained by the Information Processing +;; Society of Japan/Information Technology Standards Commission of +;; Japan (IPSJ/ITSCJ) at https://www.itscj.ipsj.or.jp/itscj_english/. ;; Standards docs equivalent to iso-2022 and iso-8859 are at ;; http://www.ecma.ch/. commit e26006404ad1e9b273aafffbbb24074fba5bab37 Author: Paul Eggert Date: Fri Aug 14 15:50:36 2015 -0700 Low-level diagnostics now use ‘text-quoting-style’ * src/doprnt.c (doprnt): Format ` and ' as per ‘text-quoting-style’. * src/xdisp.c (vmessage, message): Mention that the format should not contain ` or '. diff --git a/src/doprnt.c b/src/doprnt.c index 68750f5..7c5a6af 100644 --- a/src/doprnt.c +++ b/src/doprnt.c @@ -49,8 +49,9 @@ along with GNU Emacs. If not, see . */ support features beyond those in `Fformat', which is used by `error' on the Lisp level. */ -/* This function supports the following %-sequences in the `format' - argument: +/* In the FORMAT argument this function supports ` and ' as directives + that output left and right quotes as per ‘text-quoting style’. It + also supports the following %-sequences: %s means print a string argument. %S is silently treated as %s, for loose compatibility with `Fformat'. @@ -144,6 +145,7 @@ doprnt (char *buffer, ptrdiff_t bufsize, const char *format, /* Buffer we have got with malloc. */ char *big_buffer = NULL; + enum text_quoting_style quoting_style = text_quoting_style (); ptrdiff_t tem = -1; char *string; char fixed_buffer[20]; /* Default buffer for small formatting. */ @@ -164,7 +166,9 @@ doprnt (char *buffer, ptrdiff_t bufsize, const char *format, /* Loop until end of format string or buffer full. */ while (fmt < format_end && bufsize > 0) { - if (*fmt == '%') /* Check for a '%' character */ + char const *fmt0 = fmt; + char fmtchar = *fmt++; + if (fmtchar == '%') { ptrdiff_t size_bound = 0; ptrdiff_t width; /* Columns occupied by STRING on display. */ @@ -180,7 +184,6 @@ doprnt (char *buffer, ptrdiff_t bufsize, const char *format, int maxmlen = max (max (1, pDlen), max (pIlen, pMlen)); int mlen; - fmt++; /* Copy this one %-spec into fmtcpy. */ string = fmtcpy; *string++ = '%'; @@ -438,22 +441,36 @@ doprnt (char *buffer, ptrdiff_t bufsize, const char *format, } } - { - /* Just some character; Copy it if the whole multi-byte form - fit in the buffer. */ - char *save_bufptr = bufptr; - - do { *bufptr++ = *fmt++; } - while (fmt < format_end && --bufsize > 0 && !CHAR_HEAD_P (*fmt)); - if (!CHAR_HEAD_P (*fmt)) - { - /* Truncate, but return value that will signal to caller - that the buffer was too small. */ - *save_bufptr = 0; - break; - } - } - }; + char const *src; + ptrdiff_t srclen; + if (quoting_style == CURVE_QUOTING_STYLE && fmtchar == '`') + src = uLSQM, srclen = sizeof uLSQM - 1; + else if (quoting_style == CURVE_QUOTING_STYLE && fmtchar == '\'') + src = uRSQM, srclen = sizeof uRSQM - 1; + else if (quoting_style == STRAIGHT_QUOTING_STYLE && fmtchar == '`') + src = "'", srclen = 1; + else + { + while (fmt < format_end && !CHAR_HEAD_P (*fmt)) + fmt++; + src = fmt0, srclen = fmt - fmt0; + } + + if (bufsize < srclen) + { + /* Truncate, but return value that will signal to caller + that the buffer was too small. */ + do + *bufptr++ = '\0'; + while (--bufsize != 0); + } + else + { + do + *bufptr++ = *src++; + while (--srclen != 0); + } + } /* If we had to malloc something, free it. */ xfree (big_buffer); @@ -467,7 +484,8 @@ doprnt (char *buffer, ptrdiff_t bufsize, const char *format, /* Format to an unbounded buffer BUF. This is like sprintf, except it is not limited to returning an 'int' so it doesn't have a silly 2 GiB limit on typical 64-bit hosts. However, it is limited to the - Emacs-style formats that doprnt supports. + Emacs-style formats that doprnt supports, and it requotes ` and ' + as per ‘text-quoting-style’. Return the number of bytes put into BUF, excluding the terminating '\0'. */ diff --git a/src/xdisp.c b/src/xdisp.c index 52c77bd..6d747eb 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -10275,9 +10275,9 @@ message_with_string (const char *m, Lisp_Object string, bool log) /* Dump an informative message to the minibuf. If M is 0, clear out any existing message, and let the mini-buffer text show through. - The message must be safe ASCII only. If strings may contain escape - sequences or non-ASCII characters, convert them to Lisp strings and - use Fmessage. */ + The message must be safe ASCII and the format must not contain ` or + '. If your message and format do not fit into this category, + convert your arguments to Lisp objects and use Fmessage instead. */ static void ATTRIBUTE_FORMAT_PRINTF (1, 0) vmessage (const char *m, va_list ap) commit 6af5aad26411ffe21c3fe4bc5438347110910111 Author: Paul Eggert Date: Fri Aug 14 15:50:35 2015 -0700 Prefer ‘format’ to ‘substitute-command-keys’ * src/character.h (uLSQM, uRSQM): Move here ... * src/doc.c (uLSQM, uRSQM): ... from here. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-extra.el (cl--describe-class): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Prefer ‘format’ to ‘substitute-command-keys’ when either will do to implement quoting style. This generally makes the code simpler. diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el index 3bdc3ea..aa1dd65 100644 --- a/lisp/cedet/mode-local.el +++ b/lisp/cedet/mode-local.el @@ -629,10 +629,9 @@ SYMBOL is a function that can be overridden." (defun mode-local-print-binding (symbol) "Print the SYMBOL binding." (let ((value (symbol-value symbol))) - (princ (format (substitute-command-keys "\n ‘%s’ value is\n ") - symbol)) + (princ (format "\n ‘%s’ value is\n " symbol)) (if (and value (symbolp value)) - (princ (format (substitute-command-keys "‘%s’") value)) + (princ (format "‘%s’" value)) (let ((pt (point))) (pp value) (save-excursion @@ -690,7 +689,7 @@ SYMBOL is a function that can be overridden." ) ((symbolp buffer-or-mode) (setq mode buffer-or-mode) - (princ (format (substitute-command-keys "‘%s’\n") buffer-or-mode)) + (princ (format "‘%s’\n" buffer-or-mode)) ) ((signal 'wrong-type-argument (list 'buffer-or-mode buffer-or-mode)))) @@ -700,7 +699,7 @@ SYMBOL is a function that can be overridden." (while mode (setq table (get mode 'mode-local-symbol-table)) (when table - (princ (format (substitute-command-keys "\n- From ‘%s’\n") mode)) + (princ (format "\n- From ‘%s’\n" mode)) (mode-local-print-bindings table)) (setq mode (get-mode-local-parent mode))))) diff --git a/lisp/cedet/srecode/srt-mode.el b/lisp/cedet/srecode/srt-mode.el index 48f0555..efcfe4b 100644 --- a/lisp/cedet/srecode/srt-mode.el +++ b/lisp/cedet/srecode/srt-mode.el @@ -258,9 +258,9 @@ we can tell font lock about them.") (when (class-abstract-p C) (throw 'skip nil)) - (princ (substitute-command-keys "‘")) + (princ (format "‘")) (princ name) - (princ (substitute-command-keys "’")) + (princ (format "’")) (when (slot-exists-p C 'key) (when key (princ " - Character Key: ") diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el index bc221e1..f8e5650 100644 --- a/lisp/cus-theme.el +++ b/lisp/cus-theme.el @@ -492,10 +492,10 @@ It includes all faces in list FACES." '("" "c"))) doc) (when fn - (princ (substitute-command-keys " in ‘")) + (princ (format " in ‘")) (help-insert-xref-button (file-name-nondirectory fn) 'help-theme-def fn) - (princ (substitute-command-keys "’"))) + (princ (format "’"))) (princ ".\n") (if (custom-theme-p theme) (progn diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 71233d4..579278c 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -161,11 +161,8 @@ otherwise." ;; Buttons (when (and button (not (widgetp wid-button))) (newline) - (insert (substitute-command-keys "Here is a ‘") - (format "%S" button-type) - (substitute-command-keys "’ button labeled ‘") - button-label - (substitute-command-keys "’.\n\n"))) + (insert (format "Here is a ‘%S’ button labeled ‘%s’.\n\n" + button-type button-label))) ;; Overlays (when overlays (newline) @@ -739,9 +736,7 @@ relevant to POS." (when face (insert (propertize " " 'display '(space :align-to 5)) "face: ") - (insert (substitute-command-keys "‘") - (symbol-name face) - (substitute-command-keys "’\n")))))) + (insert (format "‘%s’\n" face)))))) (insert "these terminal codes:\n") (dotimes (i (length disp-vector)) (insert (car (aref disp-vector i)) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 9742014..132aaa5 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -752,16 +752,16 @@ including `cl-block' and `cl-eval-when'." ;; FIXME: Add a `cl-class-of' or `cl-typeof' or somesuch. (metatype (cl--class-name (symbol-value (aref class 0))))) (insert (symbol-name type) - (substitute-command-keys " is a type (of kind ‘")) + (format " is a type (of kind ‘")) (help-insert-xref-button (symbol-name metatype) 'cl-help-type metatype) - (insert (substitute-command-keys "’)")) + (insert (format "’)")) (when location - (insert (substitute-command-keys " in ‘")) + (insert (format " in ‘")) (help-insert-xref-button (help-fns-short-filename location) 'cl-type-definition type location 'define-type) - (insert (substitute-command-keys "’"))) + (insert (format "’"))) (insert ".\n") ;; Parents. @@ -771,10 +771,10 @@ including `cl-block' and `cl-eval-when'." (insert " Inherits from ") (while (setq cur (pop pl)) (setq cur (cl--class-name cur)) - (insert (substitute-command-keys "‘")) + (insert (format "‘")) (help-insert-xref-button (symbol-name cur) 'cl-help-type cur) - (insert (substitute-command-keys (if pl "’, " "’")))) + (insert (format (if pl "’, " "’")))) (insert ".\n"))) ;; Children, if available. ¡For EIEIO! @@ -785,10 +785,10 @@ including `cl-block' and `cl-eval-when'." (when ch (insert " Children ") (while (setq cur (pop ch)) - (insert (substitute-command-keys "‘")) + (insert (format "‘")) (help-insert-xref-button (symbol-name cur) 'cl-help-type cur) - (insert (substitute-command-keys (if ch "’, " "’")))) + (insert (format (if ch "’, " "’")))) (insert ".\n"))) ;; Type's documentation. @@ -804,10 +804,10 @@ including `cl-block' and `cl-eval-when'." (when generics (insert (propertize "Specialized Methods:\n\n" 'face 'bold)) (dolist (generic generics) - (insert (substitute-command-keys "‘")) + (insert (format "‘")) (help-insert-xref-button (symbol-name generic) 'help-function generic) - (insert (substitute-command-keys "’")) + (insert (format "’")) (pcase-dolist (`(,qualifiers ,args ,doc) (cl--generic-method-documentation generic type)) (insert (format " %s%S\n" qualifiers args) diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el index a138697..7ae63b1 100644 --- a/lisp/emacs-lisp/cl-generic.el +++ b/lisp/emacs-lisp/cl-generic.el @@ -864,11 +864,11 @@ MET-NAME is a cons (SYMBOL . SPECIALIZERS)." (cl--generic-method-specializers method))) (file (find-lisp-object-file-name met-name 'cl-defmethod))) (when file - (insert (substitute-command-keys " in ‘")) + (insert (format " in ‘")) (help-insert-xref-button (help-fns-short-filename file) 'help-function-def met-name file 'cl-defmethod) - (insert (substitute-command-keys "’.\n")))) + (insert (format "’.\n")))) (insert "\n" (or (nth 2 info) "Undocumented") "\n\n"))))))) (defun cl--generic-specializers-apply-to-type-p (specializers type) diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el index 0b00336..c4d6d35 100644 --- a/lisp/emacs-lisp/eieio-opt.el +++ b/lisp/emacs-lisp/eieio-opt.el @@ -141,11 +141,11 @@ are not abstract." (setq location (find-lisp-object-file-name ctr def))) (when location - (insert (substitute-command-keys " in ‘")) + (insert (format " in ‘")) (help-insert-xref-button (help-fns-short-filename location) 'cl-type-definition ctr location 'define-type) - (insert (substitute-command-keys "’"))) + (insert (format "’"))) (insert ".\nCreates an object of class " (symbol-name ctr) ".") (goto-char (point-max)) (if (autoloadp def) diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 9677208..863a02d 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -2204,7 +2204,7 @@ Otherwise no newline is inserted." "Installed" (capitalize status)) 'font-lock-face 'package-status-builtin-face)) - (insert (substitute-command-keys " in ‘")) + (insert (format " in ‘")) (let ((dir (abbreviate-file-name (file-name-as-directory (if (file-in-directory-p pkg-dir package-user-dir) @@ -2213,11 +2213,10 @@ Otherwise no newline is inserted." (help-insert-xref-button dir 'help-package-def pkg-dir)) (if (and (package-built-in-p name) (not (package-built-in-p name version))) - (insert (substitute-command-keys - "’,\n shadowing a ") + (insert (format "’,\n shadowing a ") (propertize "built-in package" 'font-lock-face 'package-status-builtin-face)) - (insert (substitute-command-keys "’"))) + (insert (format "’"))) (if signed (insert ".") (insert " (unsigned).")) diff --git a/lisp/faces.el b/lisp/faces.el index 511b354..125b14d 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1435,12 +1435,10 @@ If FRAME is omitted or nil, use the selected frame." (when alias (setq face alias) (insert - (format (substitute-command-keys - "\n %s is an alias for the face ‘%s’.\n%s") + (format "\n %s is an alias for the face ‘%s’.\n%s" f alias (if (setq obsolete (get f 'obsolete-face)) - (format (substitute-command-keys - " This face is obsolete%s; use ‘%s’ instead.\n") + (format " This face is obsolete%s; use ‘%s’ instead.\n" (if (stringp obsolete) (format " since %s" obsolete) "") @@ -1458,13 +1456,11 @@ If FRAME is omitted or nil, use the selected frame." (help-xref-button 1 'help-customize-face f))) (setq file-name (find-lisp-object-file-name f 'defface)) (when file-name - (princ (substitute-command-keys "Defined in ‘")) - (princ (file-name-nondirectory file-name)) - (princ (substitute-command-keys "’")) + (princ (format "Defined in ‘%s’" + (file-name-nondirectory file-name))) ;; Make a hyperlink to the library. (save-excursion - (re-search-backward - (substitute-command-keys "‘\\([^‘’]+\\)’") nil t) + (re-search-backward (format "‘\\([^‘’]+\\)’") nil t) (help-xref-button 1 'help-face-def f file-name)) (princ ".") (terpri) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 0836c7f..c97647c 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -297,9 +297,7 @@ suitable file is found, return nil." (when remapped (princ "Its keys are remapped to ") (princ (if (symbolp remapped) - (concat (substitute-command-keys "‘") - (symbol-name remapped) - (substitute-command-keys "’")) + (format "‘%s’" remapped) "an anonymous command")) (princ ".\n")) @@ -333,18 +331,16 @@ suitable file is found, return nil." (insert "\nThis function has a compiler macro") (if (symbolp handler) (progn - (insert (format (substitute-command-keys " ‘%s’") handler)) + (insert (format " ‘%s’" handler)) (save-excursion - (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’") - nil t) + (re-search-backward (format "‘\\([^‘’]+\\)’") nil t) (help-xref-button 1 'help-function handler))) ;; FIXME: Obsolete since 24.4. (let ((lib (get function 'compiler-macro-file))) (when (stringp lib) - (insert (format (substitute-command-keys " in ‘%s’") lib)) + (insert (format " in ‘%s’" lib)) (save-excursion - (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’") - nil t) + (re-search-backward (format "‘\\([^‘’]+\\)’") nil t) (help-xref-button 1 'help-function-cmacro function lib))))) (insert ".\n")))) @@ -399,13 +395,13 @@ suitable file is found, return nil." (get function 'derived-mode-parent)))) (when parent-mode - (insert (substitute-command-keys "\nParent mode: ‘")) + (insert (format "\nParent mode: ‘")) (let ((beg (point))) (insert (format "%s" parent-mode)) (make-text-button beg (point) 'type 'help-function 'help-args (list parent-mode))) - (insert (substitute-command-keys "’.\n"))))) + (insert (format "’.\n"))))) (defun help-fns--obsolete (function) ;; Ignore lambda constructs, keyboard macros, etc. @@ -421,9 +417,7 @@ suitable file is found, return nil." (when (nth 2 obsolete) (insert (format " since %s" (nth 2 obsolete)))) (insert (cond ((stringp use) (concat ";\n" use)) - (use (format (substitute-command-keys - ";\nuse ‘%s’ instead.") - use)) + (use (format ";\nuse ‘%s’ instead." use)) (t ".")) "\n")))) @@ -459,8 +453,7 @@ FILE is the file where FUNCTION was probably defined." (format ";\nin Lisp code %s" interactive-only)) ((and (symbolp 'interactive-only) (not (eq interactive-only t))) - (format (substitute-command-keys - ";\nin Lisp code use ‘%s’ instead.") + (format ";\nin Lisp code use ‘%s’ instead." interactive-only)) (t ".")) "\n"))))) @@ -529,8 +522,7 @@ FILE is the file where FUNCTION was probably defined." ;; Aliases are Lisp functions, so we need to check ;; aliases before functions. (aliased - (format (substitute-command-keys "an alias for ‘%s’") - real-def)) + (format "an alias for ‘%s’" real-def)) ((autoloadp def) (format "%s autoloaded %s" (if (commandp def) "an interactive" "an") @@ -564,24 +556,22 @@ FILE is the file where FUNCTION was probably defined." (with-current-buffer standard-output (save-excursion (save-match-data - (when (re-search-backward (substitute-command-keys - "alias for ‘\\([^‘’]+\\)’") + (when (re-search-backward (format "alias for ‘\\([^‘’]+\\)’") nil t) (help-xref-button 1 'help-function real-def))))) (when file-name - (princ (substitute-command-keys " in ‘")) + (princ (format " in ‘")) ;; We used to add .el to the file name, ;; but that's completely wrong when the user used load-file. (princ (if (eq file-name 'C-source) "C source code" (help-fns-short-filename file-name))) - (princ (substitute-command-keys "’")) + (princ (format "’")) ;; Make a hyperlink to the library. (with-current-buffer standard-output (save-excursion - (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’") - nil t) + (re-search-backward (format "‘\\([^‘’]+\\)’") nil t) (help-xref-button 1 'help-function-def function file-name)))) (princ ".") (with-current-buffer (help-buffer) @@ -714,17 +704,14 @@ it is displayed along with the global value." (if file-name (progn - (princ (substitute-command-keys - " is a variable defined in ‘")) + (princ (format " is a variable defined in ‘")) (princ (if (eq file-name 'C-source) "C source code" (file-name-nondirectory file-name))) - (princ (substitute-command-keys "’.\n")) + (princ (format "’.\n")) (with-current-buffer standard-output (save-excursion - (re-search-backward (substitute-command-keys - "‘\\([^‘’]+\\)’") - nil t) + (re-search-backward (format "‘\\([^‘’]+\\)’") nil t) (help-xref-button 1 'help-variable-def variable file-name))) (if valvoid @@ -854,8 +841,7 @@ if it is given a local binding.\n"))) ;; Mention if it's an alias. (unless (eq alias variable) (setq extra-line t) - (princ (format (substitute-command-keys - " This variable is an alias for ‘%s’.\n") + (princ (format " This variable is an alias for ‘%s’.\n" alias))) (when obsolete @@ -864,8 +850,7 @@ if it is given a local binding.\n"))) (if (nth 2 obsolete) (princ (format " since %s" (nth 2 obsolete)))) (princ (cond ((stringp use) (concat ";\n " use)) - (use (format (substitute-command-keys - ";\n use ‘%s’ instead.") + (use (format ";\n use ‘%s’ instead." (car obsolete))) (t "."))) (terpri)) @@ -896,7 +881,7 @@ if it is given a local binding.\n"))) ;; Otherwise, assume it was set directly. (setq file (car file) dir-file nil))) - (princ (substitute-command-keys + (princ (format (if dir-file "by the file\n ‘" "for the directory\n ‘"))) @@ -904,7 +889,7 @@ if it is given a local binding.\n"))) (insert-text-button file 'type 'help-dir-local-var-def 'help-args (list variable file))) - (princ (substitute-command-keys "’.\n")))) + (princ (format "’.\n")))) (princ " This variable's value is file-local.\n"))) (when (memq variable ignored-local-variables) @@ -928,8 +913,7 @@ file-local variable.\n") (princ "if its value\n satisfies the predicate ") (princ (if (byte-code-function-p safe-var) "which is a byte-compiled expression.\n" - (format (substitute-command-keys "‘%s’.\n") - safe-var)))) + (format "‘%s’.\n" safe-var)))) (if extra-line (terpri)) (princ "Documentation:\n") diff --git a/lisp/help.el b/lisp/help.el index 46136d9..461a8ab 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -964,14 +964,12 @@ documentation for the major and minor modes of that buffer." (let* ((mode major-mode) (file-name (find-lisp-object-file-name mode nil))) (when file-name - (princ (concat (substitute-command-keys " defined in ‘") - (file-name-nondirectory file-name) - (substitute-command-keys "’"))) + (princ (format " defined in ‘%s’" + (file-name-nondirectory file-name))) ;; Make a hyperlink to the library. (with-current-buffer standard-output (save-excursion - (re-search-backward (substitute-command-keys "‘\\([^‘’]+\\)’") - nil t) + (re-search-backward (format "‘\\([^‘’]+\\)’") nil t) (help-xref-button 1 'help-function-def mode file-name))))) (princ ":\n") (princ (documentation major-mode))))) diff --git a/src/character.h b/src/character.h index 0b2c419..67d4bca 100644 --- a/src/character.h +++ b/src/character.h @@ -78,6 +78,11 @@ enum OBJECT_REPLACEMENT_CHARACTER = 0xFFFC, }; +/* UTF-8 encodings. Use \x escapes, so they are portable to pre-C11 + compilers and can be concatenated with ordinary string literals. */ +#define uLSQM "\xE2\x80\x98" /* U+2018 LEFT SINGLE QUOTATION MARK */ +#define uRSQM "\xE2\x80\x99" /* U+2019 RIGHT SINGLE QUOTATION MARK */ + /* Nonzero iff C is a character that corresponds to a raw 8-bit byte. */ #define CHAR_BYTE8_P(c) ((c) > MAX_5_BYTE_CHAR) diff --git a/src/doc.c b/src/doc.c index 9f0ddbc..977953d 100644 --- a/src/doc.c +++ b/src/doc.c @@ -687,8 +687,6 @@ the same file name is found in the `doc-directory'. */) /* Curved quotation marks. */ static unsigned char const LSQM[] = { uLSQM0, uLSQM1, uLSQM2 }; static unsigned char const RSQM[] = { uRSQM0, uRSQM1, uRSQM2 }; -#define uLSQM "\xE2\x80\x98" -#define uRSQM "\xE2\x80\x99" /* Return the current effective text quoting style. */ enum text_quoting_style @@ -922,14 +920,13 @@ Otherwise, return a new string. */) if (NILP (tem)) { name = Fsymbol_name (name); - insert1 (Fsubstitute_command_keys - (build_string ("\nUses keymap "uLSQM))); + insert1 (CALLN (Fformat, build_string ("\nUses keymap "uLSQM))); insert_from_string (name, 0, 0, SCHARS (name), SBYTES (name), 1); - insert1 (Fsubstitute_command_keys - (build_string - (uRSQM", which is not currently defined.\n"))); + insert1 (CALLN (Fformat, + (build_string + (uRSQM", which is not currently defined.\n")))); if (start[-1] == '<') keymap = Qnil; } else if (start[-1] == '<') diff --git a/src/syntax.c b/src/syntax.c index d45936b..d543a5f 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1333,9 +1333,10 @@ DEFUN ("internal-describe-syntax-value", Finternal_describe_syntax_value, insert_string (" (nestable)"); if (prefix) - insert1 (Fsubstitute_command_keys - (build_string - (",\n\t is a prefix character for `backward-prefix-chars'"))); + insert1 (CALLN (Fformat, + (build_string + (",\n\t is a prefix character for " + uLSQM"backward-prefix-chars"uRSQM)))); return syntax; } commit 244c801689d2f7a80480d83cd7d092d4762ebe08 Author: Paul Eggert Date: Fri Aug 14 15:50:35 2015 -0700 Extend ‘format’ to translate curved quotes This is a followup to the recent doc string change, and deals with diagnostics and the like. This patch is more conservative than the doc string change, in that the behavior of ‘format’ changes only if its first arg contains curved quotes and the user prefers straight or grave quotes. (Come to think of it, perhaps we should be similarly conservative with doc strings too, but that can wait.) The upside of this conservatism is that existing usage is almost surely unaffected. The downside is that we'll eventually have to change Emacs's format strings to use curved quotes in places where the user might want curved quotes, but that's a simple and mechanical translation that I'm willing to do later. (Bug#21222) * doc/lispref/help.texi (Keys in Documentation): Move description of text-quoting-style from here ... * doc/lispref/strings.texi (Formatting Strings): ... to here, and describe new behavior of ‘format’. * etc/NEWS: Describe new behavior. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): * lisp/info.el (Info-find-index-name): Use ‘concat’ rather than ‘format’ to avoid misinterpretation of recently-added curved quotes. * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Move from here ... * src/lisp.h: ... to here. * src/doc.c (text_quoting_style): New function. (Fsubstitute_command_keys): Use it. * src/editfns.c (Fformat): Implement new behavior. * src/lisp.h (enum text_quoting_style): New enum. diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index ca8ae3f..ab1696e 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -347,19 +347,11 @@ and @samp{\=\=} puts @samp{\=} into the output. @strong{Please note:} Each @samp{\} must be doubled when written in a string in Emacs Lisp. -@defvar text-quoting-style @cindex curved quotes @cindex curly quotes -The value of this variable specifies the style +The value of the @code{text-quoting-style} variable specifies the style @code{substitute-command-keys} uses when generating left and right -quotes. If the variable's value is @code{curve}, the style is -@t{‘like this’} with curved single quotes. If the value is -@code{straight}, the style is @t{'like this'} with straight -apostrophes. If the value is @code{grave}, the style is @t{`like -this'} with grave accent and apostrophe. The default value @code{nil} -acts like @code{curve} if curved single quotes are displayable, and -like @code{grave} otherwise. -@end defvar +quotes. @xref{Formatting Strings}, for more information. @defun substitute-command-keys string This function scans @var{string} for the above special sequences and diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index c2f0607..3093338 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -805,22 +805,27 @@ formatting feature described here; they differ from @code{format} only in how they use the result of formatting. @defun format string &rest objects -This function returns a new string that is made by copying +This function returns a string that is equivalent to copying @var{string} and then replacing any format specification in the copy with encodings of the corresponding @var{objects}. The arguments @var{objects} are the computed values to be formatted. The characters in @var{string}, other than the format specifications, are copied directly into the output, including their text properties, -if any. +if any. If the output equals @var{string}, this function may return +@var{string} itself rather than a new copy. @end defun @cindex @samp{%} in format @cindex format specification +@cindex curved quotes +@cindex curly quotes A format specification is a sequence of characters beginning with a -@samp{%}. Thus, if there is a @samp{%d} in @var{string}, the -@code{format} function replaces it with the printed representation of -one of the values to be formatted (one of the arguments @var{objects}). +@samp{%} or is a curved single quotation mark. Except for @samp{%%} +and quotation marks, each format specification says how to represent +one of the arguments @var{objects}. For example, if there +is a @samp{%d} in @var{string}, the @code{format} function replaces it +with the decimal representation of the integer to be formatted. For example: @example @@ -830,11 +835,12 @@ For example: @end group @end example - Since @code{format} interprets @samp{%} characters as format + Since @code{format} interprets @samp{%}, @samp{‘} and @samp{’} +characters as format specifications, you should @emph{never} pass an arbitrary string as the first argument. This is particularly true when the string is generated by some Lisp code. Unless the string is @emph{known} to -never include any @samp{%} characters, pass @code{"%s"}, described +never include any of the three special characters, pass @code{"%s"}, described below, as the first argument, and the string as the second, like this: @example @@ -908,20 +914,30 @@ is shorter. Replace the specification with a single @samp{%}. This format specification is unusual in that it does not use a value. For example, @code{(format "%% %d" 30)} returns @code{"% 30"}. + +@item ‘ +@itemx ’ +@cindex curved quotes +@cindex curly quotes +Replace the specification with a left or right quote, respectively. +Although typically a curved single quotation mark stands for itself, +other quoting styles are available as per the variable +@samp{text-quoting-style} described below. @end table - Any other format character results in an @samp{Invalid format + Any other format character after @samp{%} results in an @samp{Invalid format operation} error. - Here are several examples: + Here are several examples, which assume the typical quoting style +where curved single quotes stand for themselves: @example @group -(format "The name of this buffer is %s." (buffer-name)) - @result{} "The name of this buffer is strings.texi." +(format "The name of this buffer is ‘%s’." (buffer-name)) + @result{} "The name of this buffer is ‘strings.texi’." -(format "The buffer object prints as %s." (current-buffer)) - @result{} "The buffer object prints as strings.texi." +(format "The buffer object prints as ‘%s’." (current-buffer)) + @result{} "The buffer object prints as ‘strings.texi’." (format "The octal value of %d is %o, and the hex value is %x." 18 18 18) @@ -932,7 +948,7 @@ operation} error. @cindex field width @cindex padding - A specification can have a @dfn{width}, which is a decimal number + A @samp{%} specification can have a @dfn{width}, which is a decimal number between the @samp{%} and the specification character. If the printed representation of the object contains fewer characters than this width, @code{format} extends it with padding. The width specifier is @@ -948,7 +964,7 @@ the width specifier normally consists of spaces inserted on the left: If the width is too small, @code{format} does not truncate the object's printed representation. Thus, you can use a width to specify a minimum spacing between columns with no risk of losing information. -In the following three examples, @samp{%7s} specifies a minimum width +In the following two examples, @samp{%7s} specifies a minimum width of 7. In the first case, the string inserted in place of @samp{%7s} has only 3 letters, and needs 4 blank spaces as padding. In the second case, the string @code{"specification"} is 13 letters wide but @@ -956,12 +972,12 @@ is not truncated. @example @group -(format "The word '%7s' has %d letters in it." +(format "The word ‘%7s’ has %d letters in it." "foo" (length "foo")) - @result{} "The word ' foo' has 3 letters in it." -(format "The word '%7s' has %d letters in it." + @result{} "The word ‘ foo’ has 3 letters in it." +(format "The word ‘%7s’ has %d letters in it." "specification" (length "specification")) - @result{} "The word 'specification' has 13 letters in it." + @result{} "The word ‘specification’ has 13 letters in it." @end group @end example @@ -1003,14 +1019,14 @@ ignored. (format "%-6d is padded on the right" 123) @result{} "123 is padded on the right" -(format "The word '%-7s' actually has %d letters in it." +(format "The word ‘%-7s’ actually has %d letters in it." "foo" (length "foo")) - @result{} "The word 'foo ' actually has 3 letters in it." + @result{} "The word ‘foo ’ actually has 3 letters in it." @end group @end example @cindex precision in format specifications - All the specification characters allow an optional @dfn{precision} + The @samp{%} specification characters allow an optional @dfn{precision} before the character (after the width, if present). The precision is a decimal-point @samp{.} followed by a digit-string. For the floating-point specifications (@samp{%e}, @samp{%f}, @samp{%g}), the @@ -1021,6 +1037,19 @@ shows only the first three characters of the representation for @var{object}. Precision has no effect for other specification characters. +@defvar text-quoting-style +@cindex curved quotes +@cindex curly quotes +This variable specifies the style @code{format} uses when generating +left and right quotes. If the value is @code{curve}, the style is +@t{‘like this’} with curved single quotes. If the value is +@code{straight}, the style is @t{'like this'} with straight +apostrophes. If the value is @code{grave}, the style is @t{`like +this'} with grave accent and apostrophe. The default value @code{nil} +acts like @code{curve} if curved single quotes are displayable, and +like @code{grave} otherwise. +@end defvar + @node Case Conversion @section Case Conversion in Lisp @cindex upper case diff --git a/etc/NEWS b/etc/NEWS index 3ec16f5..f131981 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -895,16 +895,25 @@ denied" instead of "permission denied". The old behavior was problematic in languages like German where downcasing rules depend on grammar. +++ +** ‘format’ now replaces curved single quotes. +That is, it replaces strings' curved single quotes (also known as +curly quotes) as per the value of the new custom variable +‘text-quoting-style’: ‘curve’ means replace curved quotes with +themselves ‘like this’, ‘straight’ means use straight apostrophes +'like this', ‘grave’ means use grave accent and apostrophe `like +this', and nil (default) means use curved quotes if displayable and +grave accent and apostrophe otherwise. Because it now may be used +in many contexts where it's a no-op, ‘format’ is no longer required to +create a string, and may return its first argument if the argument +already has the correct value. + ++++ ** substitute-command-keys now replaces quotes. That is, it converts documentation strings' quoting style as per the -value of the new custom variable ‘text-quoting-style’: ‘curve’ means -use curved quotes (also known as curly quotes) ‘like this’, ‘straight’ -means use straight apostrophes 'like this', ‘grave’ means use grave -accent and apostrophe `like this', and nil (default) means use curved -quotes if displayable and grave accent and apostrophe otherwise. Doc -strings in source code can use either curved quotes or grave accent -and apostrophe. As before, isolated apostrophes and characters -preceded by \= are output as-is. +value of ‘text-quoting-style’ as described above. Doc strings in +source code can use either curved quotes or grave accent and +apostrophe. As before, isolated apostrophes and characters preceded +by \= are output as-is. +++ ** The character classes [:alpha:] and [:alnum:] in regular expressions diff --git a/lisp/calc/calc-help.el b/lisp/calc/calc-help.el index b2e7df1..7a1a983 100644 --- a/lisp/calc/calc-help.el +++ b/lisp/calc/calc-help.el @@ -365,7 +365,7 @@ C-w Describe how there is no warranty for Calc." (let (Info-history) (Info-goto-node (buffer-substring (match-beginning 1) (match-end 1)))) (let* ((string-target (or target thing)) - (quoted (format "['`‘]%s['’]" (regexp-quote string-target))) + (quoted (concat "['`‘]" (regexp-quote string-target) "['’]")) (bracketed (format "\\[%s\\]\\|(%s)\\|\\" makeinfo can append diff --git a/src/doc.c b/src/doc.c index cb52266..9f0ddbc 100644 --- a/src/doc.c +++ b/src/doc.c @@ -684,19 +684,32 @@ the same file name is found in the `doc-directory'. */) return unbind_to (count, Qnil); } -/* Declare named constants for U+2018 LEFT SINGLE QUOTATION MARK and - U+2019 RIGHT SINGLE QUOTATION MARK, which have UTF-8 encodings - "\xE2\x80\x98" and "\xE2\x80\x99", respectively. */ -enum - { - uLSQM0 = 0xE2, uLSQM1 = 0x80, uLSQM2 = 0x98, - uRSQM0 = 0xE2, uRSQM1 = 0x80, uRSQM2 = 0x99, - }; +/* Curved quotation marks. */ static unsigned char const LSQM[] = { uLSQM0, uLSQM1, uLSQM2 }; static unsigned char const RSQM[] = { uRSQM0, uRSQM1, uRSQM2 }; #define uLSQM "\xE2\x80\x98" #define uRSQM "\xE2\x80\x99" +/* Return the current effective text quoting style. */ +enum text_quoting_style +text_quoting_style (void) +{ + if (EQ (Vtext_quoting_style, Qgrave)) + return GRAVE_QUOTING_STYLE; + else if (EQ (Vtext_quoting_style, Qstraight)) + return STRAIGHT_QUOTING_STYLE; + else if (NILP (Vtext_quoting_style) + && DISP_TABLE_P (Vstandard_display_table)) + { + Lisp_Object dv = DISP_CHAR_VECTOR (XCHAR_TABLE (Vstandard_display_table), + LEFT_SINGLE_QUOTATION_MARK); + if (VECTORP (dv) && ASIZE (dv) == 1 + && EQ (AREF (dv, 0), make_number ('`'))) + return GRAVE_QUOTING_STYLE; + } + return CURVE_QUOTING_STYLE; +} + DEFUN ("substitute-command-keys", Fsubstitute_command_keys, Ssubstitute_command_keys, 1, 1, 0, doc: /* Substitute key descriptions for command names in STRING. @@ -751,20 +764,7 @@ Otherwise, return a new string. */) name = Qnil; GCPRO4 (string, tem, keymap, name); - enum { unicode, grave_accent, apostrophe } quote_translation = unicode; - if (EQ (Vtext_quoting_style, Qgrave)) - quote_translation = grave_accent; - else if (EQ (Vtext_quoting_style, Qstraight)) - quote_translation = apostrophe; - else if (NILP (Vtext_quoting_style) - && DISP_TABLE_P (Vstandard_display_table)) - { - Lisp_Object dv = DISP_CHAR_VECTOR (XCHAR_TABLE (Vstandard_display_table), - LEFT_SINGLE_QUOTATION_MARK); - if (VECTORP (dv) && ASIZE (dv) == 1 - && EQ (AREF (dv, 0), make_number ('`'))) - quote_translation = grave_accent; - } + enum text_quoting_style quoting_style = text_quoting_style (); multibyte = STRING_MULTIBYTE (string); nchars = 0; @@ -966,7 +966,7 @@ Otherwise, return a new string. */) strp = SDATA (string) + idx; } } - else if (strp[0] == '`' && quote_translation == unicode) + else if (strp[0] == '`' && quoting_style == CURVE_QUOTING_STYLE) { in_quote = true; start = LSQM; @@ -976,7 +976,7 @@ Otherwise, return a new string. */) idx = strp - SDATA (string) + 1; goto subst; } - else if (strp[0] == '`' && quote_translation == apostrophe) + else if (strp[0] == '`' && quoting_style == STRAIGHT_QUOTING_STYLE) { *bufp++ = '\''; strp++; @@ -991,9 +991,9 @@ Otherwise, return a new string. */) } else if (strp[0] == uLSQM0 && strp[1] == uLSQM1 && (strp[2] == uLSQM2 || strp[2] == uRSQM2) - && quote_translation != unicode) + && quoting_style != CURVE_QUOTING_STYLE) { - *bufp++ = (strp[2] == uLSQM2 && quote_translation == grave_accent + *bufp++ = (strp[2] == uLSQM2 && quoting_style == GRAVE_QUOTING_STYLE ? '`' : '\''); strp += 3; nchars++; diff --git a/src/editfns.c b/src/editfns.c index 9ff39f9..ed57d8a 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -3800,8 +3800,9 @@ DEFUN ("format", Fformat, Sformat, 1, MANY, 0, The first argument is a format control string. The other arguments are substituted into it to make the result, a string. -The format control string may contain %-sequences meaning to substitute -the next available argument: +The format control string may contain ordinary characters, +%-sequences meaning to substitute the next available argument, +and curved single quotation marks meaning to substitute quotes. %s means print a string argument. Actually, prints any object, with `princ'. %d means print as number in decimal (%o octal, %x hex). @@ -3846,6 +3847,12 @@ precision specifier says how many decimal places to show; if zero, the decimal point itself is omitted. For %s and %S, the precision specifier truncates the string to the given width. +\\=‘ and \\=’ means print left and right quotes as per +‘text-quoting-style’. + +Return the first argument if it contains no format directives. +Otherwise, return a new string. + usage: (format STRING &rest OBJECTS) */) (ptrdiff_t nargs, Lisp_Object *args) { @@ -3858,6 +3865,7 @@ usage: (format STRING &rest OBJECTS) */) ptrdiff_t buf_save_value_index IF_LINT (= 0); char *format, *end, *format_start; ptrdiff_t formatlen, nchars; + bool changed = false; /* True if the format is multibyte. */ bool multibyte_format = 0; /* True if the output should be a multibyte string, @@ -3921,6 +3929,8 @@ usage: (format STRING &rest OBJECTS) */) if (STRINGP (args[n]) && STRING_MULTIBYTE (args[n])) multibyte = 1; + enum text_quoting_style quoting_style = text_quoting_style (); + /* If we start out planning a unibyte result, then discover it has to be multibyte, we jump back to retry. */ retry: @@ -4005,6 +4015,7 @@ usage: (format STRING &rest OBJECTS) */) if (format == end) error ("Format string ends in middle of format specifier"); + changed = true; memset (&discarded[format0 - format_start], 1, format - format0); conversion = *format; if (conversion == '%') @@ -4426,6 +4437,20 @@ usage: (format STRING &rest OBJECTS) */) convbytes = format - src; memset (&discarded[src + 1 - format_start], 2, convbytes - 1); + + if (quoting_style != CURVE_QUOTING_STYLE && convbytes == 3 + && (unsigned char) src[0] == uLSQM0 + && (unsigned char) src[1] == uLSQM1 + && ((unsigned char) src[2] == uLSQM2 + || (unsigned char) src[2] == uRSQM2)) + { + convbytes = 1; + str[0] = (((unsigned char) src[2] == uLSQM2 + && quoting_style == GRAVE_QUOTING_STYLE) + ? '`' : '\''); + src = (char *) str; + changed = true; + } } else { @@ -4437,6 +4462,7 @@ usage: (format STRING &rest OBJECTS) */) int c = BYTE8_TO_CHAR (uc); convbytes = CHAR_STRING (c, str); src = (char *) str; + changed = true; } } @@ -4484,113 +4510,119 @@ usage: (format STRING &rest OBJECTS) */) if (bufsize < p - buf) emacs_abort (); - if (maybe_combine_byte) - nchars = multibyte_chars_in_text ((unsigned char *) buf, p - buf); - val = make_specified_string (buf, nchars, p - buf, multibyte); - - /* If the format string has text properties, or any of the string - arguments has text properties, set up text properties of the - result string. */ - - if (string_intervals (args[0]) || arg_intervals) + if (!changed) + val = args[0]; + else { - Lisp_Object len, new_len, props; - struct gcpro gcpro1; + if (maybe_combine_byte) + nchars = multibyte_chars_in_text ((unsigned char *) buf, p - buf); + val = make_specified_string (buf, nchars, p - buf, multibyte); - /* Add text properties from the format string. */ - len = make_number (SCHARS (args[0])); - props = text_property_list (args[0], make_number (0), len, Qnil); - GCPRO1 (props); + /* If the format string has text properties, or any of the string + arguments has text properties, set up text properties of the + result string. */ - if (CONSP (props)) + if (string_intervals (args[0]) || arg_intervals) { - ptrdiff_t bytepos = 0, position = 0, translated = 0; - ptrdiff_t argn = 1; - Lisp_Object list; - - /* Adjust the bounds of each text property - to the proper start and end in the output string. */ - - /* Put the positions in PROPS in increasing order, so that - we can do (effectively) one scan through the position - space of the format string. */ - props = Fnreverse (props); - - /* BYTEPOS is the byte position in the format string, - POSITION is the untranslated char position in it, - TRANSLATED is the translated char position in BUF, - and ARGN is the number of the next arg we will come to. */ - for (list = props; CONSP (list); list = XCDR (list)) + Lisp_Object len, new_len, props; + struct gcpro gcpro1; + + /* Add text properties from the format string. */ + len = make_number (SCHARS (args[0])); + props = text_property_list (args[0], make_number (0), len, Qnil); + GCPRO1 (props); + + if (CONSP (props)) { - Lisp_Object item; - ptrdiff_t pos; + ptrdiff_t bytepos = 0, position = 0, translated = 0; + ptrdiff_t argn = 1; + Lisp_Object list; + + /* Adjust the bounds of each text property + to the proper start and end in the output string. */ + + /* Put the positions in PROPS in increasing order, so that + we can do (effectively) one scan through the position + space of the format string. */ + props = Fnreverse (props); + + /* BYTEPOS is the byte position in the format string, + POSITION is the untranslated char position in it, + TRANSLATED is the translated char position in BUF, + and ARGN is the number of the next arg we will come to. */ + for (list = props; CONSP (list); list = XCDR (list)) + { + Lisp_Object item; + ptrdiff_t pos; - item = XCAR (list); + item = XCAR (list); - /* First adjust the property start position. */ - pos = XINT (XCAR (item)); + /* First adjust the property start position. */ + pos = XINT (XCAR (item)); - /* Advance BYTEPOS, POSITION, TRANSLATED and ARGN - up to this position. */ - for (; position < pos; bytepos++) - { - if (! discarded[bytepos]) - position++, translated++; - else if (discarded[bytepos] == 1) + /* Advance BYTEPOS, POSITION, TRANSLATED and ARGN + up to this position. */ + for (; position < pos; bytepos++) { - position++; - if (translated == info[argn].start) + if (! discarded[bytepos]) + position++, translated++; + else if (discarded[bytepos] == 1) { - translated += info[argn].end - info[argn].start; - argn++; + position++; + if (translated == info[argn].start) + { + translated += info[argn].end - info[argn].start; + argn++; + } } } - } - XSETCAR (item, make_number (translated)); + XSETCAR (item, make_number (translated)); - /* Likewise adjust the property end position. */ - pos = XINT (XCAR (XCDR (item))); + /* Likewise adjust the property end position. */ + pos = XINT (XCAR (XCDR (item))); - for (; position < pos; bytepos++) - { - if (! discarded[bytepos]) - position++, translated++; - else if (discarded[bytepos] == 1) + for (; position < pos; bytepos++) { - position++; - if (translated == info[argn].start) + if (! discarded[bytepos]) + position++, translated++; + else if (discarded[bytepos] == 1) { - translated += info[argn].end - info[argn].start; - argn++; + position++; + if (translated == info[argn].start) + { + translated += info[argn].end - info[argn].start; + argn++; + } } } + + XSETCAR (XCDR (item), make_number (translated)); } - XSETCAR (XCDR (item), make_number (translated)); + add_text_properties_from_list (val, props, make_number (0)); } - add_text_properties_from_list (val, props, make_number (0)); - } - - /* Add text properties from arguments. */ - if (arg_intervals) - for (n = 1; n < nargs; ++n) - if (info[n].intervals) - { - len = make_number (SCHARS (args[n])); - new_len = make_number (info[n].end - info[n].start); - props = text_property_list (args[n], make_number (0), len, Qnil); - props = extend_property_ranges (props, new_len); - /* If successive arguments have properties, be sure that - the value of `composition' property be the copy. */ - if (n > 1 && info[n - 1].end) - make_composition_value_copy (props); - add_text_properties_from_list (val, props, - make_number (info[n].start)); - } + /* Add text properties from arguments. */ + if (arg_intervals) + for (n = 1; n < nargs; ++n) + if (info[n].intervals) + { + len = make_number (SCHARS (args[n])); + new_len = make_number (info[n].end - info[n].start); + props = text_property_list (args[n], make_number (0), + len, Qnil); + props = extend_property_ranges (props, new_len); + /* If successive arguments have properties, be sure that + the value of `composition' property be the copy. */ + if (n > 1 && info[n - 1].end) + make_composition_value_copy (props); + add_text_properties_from_list (val, props, + make_number (info[n].start)); + } - UNGCPRO; + UNGCPRO; + } } /* If we allocated BUF or INFO with malloc, free it too. */ diff --git a/src/lisp.h b/src/lisp.h index 2545203..d3dcaec 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -4300,6 +4300,25 @@ extern void set_initial_environment (void); extern void syms_of_callproc (void); /* Defined in doc.c. */ +enum + { + /* Named constants for the UTF-8 encodings of U+2018 LEFT SINGLE + QUOTATION MARK and U+2019 RIGHT SINGLE QUOTATION MARK. */ + uLSQM0 = 0xE2, uLSQM1 = 0x80, uLSQM2 = 0x98, + uRSQM0 = 0xE2, uRSQM1 = 0x80, uRSQM2 = 0x99 + }; +enum text_quoting_style + { + /* Use curved single quotes ‘like this’. */ + CURVE_QUOTING_STYLE, + + /* Use grave accent and apostrophe `like this'. */ + GRAVE_QUOTING_STYLE, + + /* Use apostrophes 'like this'. */ + STRAIGHT_QUOTING_STYLE + }; +extern enum text_quoting_style text_quoting_style (void); extern Lisp_Object read_doc_string (Lisp_Object); extern Lisp_Object get_doc_string (Lisp_Object, bool, bool); extern void syms_of_doc (void); commit 293775f10555f7da7e61ed8dbdb78d72f30f7e2d Author: Paul Eggert Date: Fri Aug 14 15:21:23 2015 -0700 ; Fix ChangeLog entry put into wrong file diff --git a/ChangeLog.2 b/ChangeLog.2 index 423de5d..3f31807 100644 --- a/ChangeLog.2 +++ b/ChangeLog.2 @@ -19,9 +19,7 @@ 2015-08-14 Ronnie Schnell - Fixed typo in manual. - - Fixed typo in manual. + * doc/emacs/misc.text (Amusements): Fixed typo. 2015-08-14 Eli Zaretskii diff --git a/doc/emacs/ChangeLog.1 b/doc/emacs/ChangeLog.1 index 395796c..469fdc3 100644 --- a/doc/emacs/ChangeLog.1 +++ b/doc/emacs/ChangeLog.1 @@ -1,7 +1,3 @@ -2015-08-14 Ronnie Schnell - - * misc.text (Amusements): Fixed typo. - 2015-03-29 Dani Moncayo * files.texi (Diff Mode): Doc fix. commit 1735729e9b3d8c8e4e8385f9601802f2841774fc Author: Paul Eggert Date: Fri Aug 14 15:18:02 2015 -0700 ; make change-history-commit diff --git a/ChangeLog.2 b/ChangeLog.2 index 2ae3e95..423de5d 100644 --- a/ChangeLog.2 +++ b/ChangeLog.2 @@ -1,3 +1,359 @@ +2015-08-14 Stefan Monnier + + * src/keyboard.c: Use false/true instead of 0/1 for booleans + * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean. + +2015-08-14 Michael Albinus + + * tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect stderr + to /dev/null, this is done in `tramp-send-command-and-check'. + +2015-08-14 Jürgen Hötzel + + Flush file properties in Tramp. + * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes) + (tramp-sh-handle-set-file-times): + * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes) + (tramp-adb-handle-set-file-times): Flush the file properties of + the directory. + +2015-08-14 Ronnie Schnell + + Fixed typo in manual. + + Fixed typo in manual. + +2015-08-14 Eli Zaretskii + + Don't miss warnings about removing string text properties while dumping + * src/alloc.c (purecopy): Warn about removing a string's text + properties even when the same string was already pure-copied + earlier. + * lisp/progmodes/elisp-mode.el (elisp--xref-format) + (elisp--xref-format-extra): Fix the commentary. + +2015-08-13 Stefan Monnier + + * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049) + +2015-08-13 Magnus Henoch + + * lisp/progmodes/compile.el: Assume 8-wide TABs (bug#21038) + * lisp/progmodes/compile.el: Use lexical-binding. + (compilation-move-to-column): Assume 8-wide TABs (bug#21038). + +2015-08-13 Stefan Monnier + + (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037) + * lisp/uniquify.el: Remove redundant `:group's. + +2015-08-13 Paul Eggert + + Make add_to_log varargs + * src/alloc.c (run_finalizer_handler): + * src/charset.c (load_charset_map_from_vector): + * src/nsimage.m (ns_load_image): + * src/xfaces.c (load_pixmap, load_color2): + Simplify, now that add_to_log has a variable number of args. + * src/image.c (image_error): Take a variable number of args. + Callers simplified. + * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs. + * src/xdisp.c (format_nargs, vadd_to_log): New functions. + (add_to_log): Make varargs, and reimplement in terms of vadd_to_log. + * src/xfaces.c (merge_face_ref): Fix typo that omitted color name. + + Optional args for holiday-greek-orthodox-easter + * etc/NEWS: Document this. + * lisp/calendar/holidays.el (holiday-greek-orthodox-easter): + Add optional args N and STRING, mimicking the API and code of + ‘holiday-easter-etc’. From suggestion by Foivos S. Zakkak (Bug#21256). + +2015-08-13 Stephen Leake + + xref-find-definitions: Exclude more generic function items. + * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string. + (cl--generic-find-defgeneric-regexp): New. + (find-function-regexp-alist): Add it. + * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from + elisp-mode.el, change to search for ";;; Code:" + (find-alias-regexp): Move here from elisp-mode.el, cleaned up. + (find-function-regexp-alist): Add them. + * lisp/progmodes/elisp-mode.el: + (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due + to bug#21237. + (elisp--xref-find-definitions): Exclude co-located default methods for + generic functions. Also exclude implicitly declared defgeneric. + (elisp--xref-find-definitions): Handle C source properly. Exclude minor + mode variables defined by 'define-minor-mode'. + * test/automated/elisp-mode-tests.el: Declare generic functions, add + tests for them. + (xref-elisp-test-run): Fix bug. + (emacs-test-dir): Improve initial value. + (find-defs-defun-defvar-el): Don't expect defvar. + (find-defs-feature-el): Match change to find-feature-regexp. + +2015-08-13 Eli Zaretskii + + Improve warning about purecopy of strings with properties + * src/alloc.c (purecopy): Show the offending string with the + warning about removing its text properties. + +2015-08-12 Alan Mackenzie + + Introduce new macros to cover Emacs's new names in cl-lib.el. + This also eliminates `mapcan' warnings in XEmacs. + progmodes/cc-defs.el (c--mapcan-status): new variable to characterise + [X]Emacs versions. + (top-level): Require either 'cl or 'cl-lib, depending on + c--mapcan-status. + Change this back to cc-external-require from an eval-when-compile + require. + (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all) + (c--delete-duplicates): New macros which expand into either old or new + names. + (c-make-keywords-re, c-lang-defconst, c-lang-const) Use the new macros + rather than the old names. + progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather + than mapcan. + progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan. + progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib, + depending on c--mapcan-status. + (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp) + (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key) + (c-not-decl-init-keywords, c-not-primitive-type-keywords) + (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds) + (c-decl-block-key, c-keywords, c-keywords-obarray) + (c-regular-keywords-regexp, c-primary-expr-regexp, + c-primary-expr-regexp) + (c-block-prefix-disallowed-chars, c-known-type-key, + c-nonlabel-token-key) + (c-make-init-lang-vars-fun): Use the new macros rather than the old + names. + +2015-08-12 Oleh Krehel + + loadhist.el (read-feature): Conform to completing-read + * lisp/loadhist.el (read-feature): According to `completing-read' + documentation, if collection is a list, then it must be a list of + strings. And not a list of symbols like before. + +2015-08-12 David Kastrup + + Deal gracefully with up-events (Bug#19746) + * keyboard.c (apply_modifiers_uncached, parse_solitary_modifier) + (parse_modifiers_uncached): React gracefully to "up-" modifiers: + those may easily be injected by user-level Lisp code. + (read_key_sequence): Discard unbound up-events like unbound + down-events: they are even more likely only relevant for special + purposes. + While Emacs will not produce up-events on its own currently (those are + converted to drag or click events before being converted to + Lisp-readable structures), the input queue can be made to contain them + by synthesizing events to `unread-command-events'. Emacs should deal + consistently with such events. + +2015-08-12 Eli Zaretskii + + Fix display of thin lines whose newline has line-height property of t + * src/xdisp.c (append_space_for_newline): Don't try to fix ascent + and descent values of non-empty glyph rows, since they could have + forced low values deliberately. (Bug#21243) + +2015-08-12 Richard Stallman + + Offer to combine multiple To or CC fields. + * sendmail.el (mail-combine-fields): New function. + (mail-send): Call 'mail-combine-fields'. + + Don't decrypt encrypted files. + * mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t. + + Handle encrypted mbox files. + * rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox + file if necessary. + + Re-enable mime processing after decryption. Add 'decrypt' keyword. + * rmail.el (rmail-epa-decrypt-1): New subroutine. + (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out. + In a mime message, reenable Mime and show the parts that + were shown before. + Add keyword "decrypt" if anything decrypted. + + epa-inhibit inhibits auto-recognition of .gpg files + * lisp/epa-file.el (epa-inhibit): New variable. + (epa-file-handler): Check epa-inhibit. + +2015-08-12 Artur Malabarba + + * emacs-lisp/lisp-mnt.el (lm-header): save-excursion + +2015-08-11 Fabián Ezequiel Gallina + + Respect python.el imenu when semantic-mode is off + Fixes debbugs:21220 + * lisp/cedet/semantic/wisent/python.el: Do not force + wisent-python-default-setup on python-mode-hook. + +2015-08-11 Paul Eggert + + Give names to Unicode code points in C code + * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN) + (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN) + (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK) + (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR) + (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET) + (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET) + (OBJECT_REPLACEMENT_CHARACTER): + New named constants for Unicode code points. + * src/bidi.c (bidi_fetch_char, CANONICAL_EQU): + * src/composite.c (char_composable_p): + * src/lread.c (readevalloop, read1): + * src/xdisp.c (get_next_display_element): + Use them. + * src/doc.c (LEFT_SINGLE_QUOTATION_POINT): + Remove; now in character.h. + +2015-08-11 Stephen Leake + + elisp--xref-find-definitions handle cl-defstuct default constructor + * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME. + (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod. + (elisp--xref-find-definitions): Handle cl-defstuct default constructor. + * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out + from xref-elisp-test for ease of debugging. + (xref-elisp-deftest): Rename from xref-elisp-test. + (find-defs-constructor): New test. + (find-defs-defgeneric-el): Match batch test config. + (compile): Required for find-defs compilation-minor-mode test. + (find-defs-defvar-el): Match code change. + (find-defs-face-el): Match code change. + * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions): + Improve doc string. + +2015-08-11 Stefan Monnier + + * lisp/replace.el (perform-replace): Document `replacements'. + (perform-replace): Move the description of the format of `replacements' from + the body's comment to the docstring. + +2015-08-10 Stephen Leake + + Rewrite elisp--xref-find-definitions to handle many more cases; add tests. + * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted + (elisp--xref-format-cl-defmethod): new + (find-feature-regexp): new + (find-alias-regexp): new + (elisp--xref-make-xref): new + (elisp--xref-find-definitions): Rewrite using the above, handle many more + cases. Always output all available definitions. + (xref-location-marker): No need for special cases. + * test/automated/elisp-mode-tests.el: Add more tests of + elisp--xref-find-definitions, improve current tests. + +2015-08-10 Phillip Lord + + * ChangeLog.2: Formatting update. + Formatting for one change entry did not follow standard ChangeLog + conventions and has now been updated. + +2015-08-10 Eli Zaretskii + + Fix recording of events pushed onto unread-command-events + * src/keyboard.c (read_char): Make sure events read from + unread-command-events and unread-post-input-method-events are + always recorded by record_char. Reported by David Kastrup + , see + http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html. + +2015-08-10 Samer Masterson + + Set file buffer as current for "--file" + * lisp/startup.el (command-line-1): Set file buffer as current before + it is displayed so it can be used with options like + "--eval". (Bug#21095) + +2015-08-10 Eli Zaretskii + + Avoid setting LC_NUMERIC on MS-Windows to anything but "C" + * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale + after setting LC_ALL to the desired locale, to avoid affecting how + numbers are read and printed. (Bug#21223) + +2015-08-10 Alan Mackenzie + + Fix "Invalid search bound (wrong side of point)" in fontification. + progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an + initialization expression, check point is not beyond the fontification + limit. + +2015-08-09 Paul Eggert + + Fix DPI calculation when Xft/DPI is default + * src/xsettings.c (parse_settings): Don't use Xft/DPI default + value of -1, which evaluates to 2**32 - 1 (Bug#21152). + Remove unnecessary cast while we're in the neighborhood. + +2015-08-09 Dmitry Gutov + + Add project-vc-search-path and project-vc-ignores + * lisp/progmodes/project.el (project-vc): New group. + (project-vc-search-path, project-vc-ignores): New variables. + (project--value-in-dir): Utility function. + (project-search-path, project-ignores): Use them. + * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./' + at bos. Don't add extra `/'. Don't prepend with `*' if replaced. + +2015-08-09 Paul Eggert + + Fix some minor quoting issues with grave accent + * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]: + Remove redundant quotes. + * src/doc.c (uLSQM, uRSQM): New macros. + * src/doc.c (Fsubstitute_command_keys): + * src/syntax.c (Finternal_describe_syntax_value): Follow the user + preference for quotes rather than hardcoding the ‘grave’ style. + * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT) + (re_match_2_internal) [DEBUG]: In debugging output, quote C + strings with "...", not `...'. + + ChangeLog.2 ignores remote-tracking merges + * build-aux/gitlog-to-emacslog: Ignore commit logs matching + "Merge remote-tracking branch '.*'" too. See Eli Zaretskii in: + http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html + +2015-08-09 Nicolas Richard + + Use kpsewhich in ffap-latex-mode, if available + * lisp/ffap.el (ffap-latex-guess-rules): New variable. + (ffap-latex-mode): Use kpsewhich if available. + + ffap: disallow braces in filenames for tex modes + * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow + braces in tex-related modes. + + Remove useless backslashes from ffap-string-at-point-mode-alist + * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and + misleading backslashes from default value. + + Augment docstring of ffap-string-at-point-mode-alist + * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG + and END are handled. + +2015-08-09 Paul Eggert + + Remove no-op calls to substitute-command-keys + * lisp/org/org-src.el (org-edit-src-code) + (org-edit-fixed-width-region): + * lisp/simple.el (completion-setup-function): + Remove calls to substitute-command-keys that always just return + their argument. + +2015-08-09 Daiki Ueno + + Utilize `quit-window' in epa.el + * epa.el (epa-exit-buffer-function): Set to `quit-window'. + (Bug#21210) + 2015-08-09 Ivan Kanis fix link to source code in help window @@ -8913,7 +9269,7 @@ This file records repository revisions from commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to -commit 9596accf506e66153d9a24828d530543edd8f4b8 (inclusive). +commit e1e33f201698229ae30a29c7008c3f6a3635d71f (inclusive). See ChangeLog.1 for earlier changes. ;; Local Variables: commit e1e33f201698229ae30a29c7008c3f6a3635d71f Author: Stefan Monnier Date: Fri Aug 14 15:29:11 2015 -0400 * src/keyboard.c: Use false/true instead of 0/1 for booleans * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean. diff --git a/src/keyboard.c b/src/keyboard.c index 6f626b7..a577105 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -583,7 +583,7 @@ echo_now (void) if (!current_kboard->immediate_echo) { ptrdiff_t i; - current_kboard->immediate_echo = 1; + current_kboard->immediate_echo = true; for (i = 0; i < this_command_key_count; i++) { @@ -611,10 +611,10 @@ echo_now (void) echo_dash (); } - echoing = 1; + echoing = true; /* FIXME: Use call (Qmessage) so it can be advised (e.g. emacspeak). */ message3_nolog (KVAR (current_kboard, echo_string)); - echoing = 0; + echoing = false; /* Record in what buffer we echoed, and from which kboard. */ echo_message_buffer = echo_area_buffer[0]; @@ -629,7 +629,7 @@ echo_now (void) void cancel_echoing (void) { - current_kboard->immediate_echo = 0; + current_kboard->immediate_echo = false; current_kboard->echo_after_prompt = -1; kset_echo_string (current_kboard, Qnil); ok_to_echo_at_next_pause = NULL; @@ -819,11 +819,11 @@ any_kboard_state () { current_kboard->kbd_queue = nconc2 (Vunread_command_events, current_kboard->kbd_queue); - current_kboard->kbd_queue_has_data = 1; + current_kboard->kbd_queue_has_data = true; } Vunread_command_events = Qnil; #endif - single_kboard = 0; + single_kboard = false; } /* Switch to the single-kboard state, making current_kboard @@ -832,7 +832,7 @@ any_kboard_state () void single_kboard_state () { - single_kboard = 1; + single_kboard = true; } #endif @@ -843,7 +843,7 @@ void not_single_kboard_state (KBOARD *kboard) { if (kboard == current_kboard) - single_kboard = 0; + single_kboard = false; } /* Maintain a stack of kboards, so other parts of Emacs @@ -875,13 +875,13 @@ pop_kboard (void) { struct terminal *t; struct kboard_stack *p = kboard_stack; - bool found = 0; + bool found = false; for (t = terminal_list; t; t = t->next_terminal) { if (t->kboard == p->kboard) { current_kboard = p->kboard; - found = 1; + found = true; break; } } @@ -889,7 +889,7 @@ pop_kboard (void) { /* The terminal we remembered has been deleted. */ current_kboard = FRAME_KBOARD (SELECTED_FRAME ()); - single_kboard = 0; + single_kboard = false; } kboard_stack = p->next; xfree (p); @@ -929,7 +929,7 @@ temporarily_switch_to_single_kboard (struct frame *f) } else if (f != NULL) current_kboard = FRAME_KBOARD (f); - single_kboard = 1; + single_kboard = true; record_unwind_protect_int (restore_kboard_configuration, was_locked); } @@ -1302,11 +1302,11 @@ command_loop_1 (void) kset_prefix_arg (current_kboard, Qnil); kset_last_prefix_arg (current_kboard, Qnil); Vdeactivate_mark = Qnil; - waiting_for_input = 0; + waiting_for_input = false; cancel_echoing (); this_command_key_count = 0; - this_command_key_count_reset = 0; + this_command_key_count_reset = false; this_single_command_key_start = 0; if (NILP (Vmemory_full)) @@ -1424,7 +1424,7 @@ command_loop_1 (void) { cancel_echoing (); this_command_key_count = 0; - this_command_key_count_reset = 0; + this_command_key_count_reset = false; this_single_command_key_start = 0; goto finalize; } @@ -1566,7 +1566,7 @@ command_loop_1 (void) kset_last_repeatable_command (current_kboard, Vreal_this_command); cancel_echoing (); this_command_key_count = 0; - this_command_key_count_reset = 0; + this_command_key_count_reset = false; this_single_command_key_start = 0; } @@ -1683,7 +1683,8 @@ adjust_point_for_property (ptrdiff_t last_pt, bool modified) suppress the point adjustment for automatic composition so that a user can keep inserting another character at point or keep deleting characters around point. */ - bool check_composition = ! modified, check_display = 1, check_invisible = 1; + bool check_composition = ! modified; + bool check_display = true, check_invisible = true; ptrdiff_t orig_pt = PT; eassert (XBUFFER (XWINDOW (selected_window)->contents) == current_buffer); @@ -1698,9 +1699,9 @@ adjust_point_for_property (ptrdiff_t last_pt, bool modified) && (beg = composition_adjust_point (last_pt, PT)) != PT) { SET_PT (beg); - check_display = check_invisible = 1; + check_display = check_invisible = true; } - check_composition = 0; + check_composition = false; if (check_display && PT > BEGV && PT < ZV && !NILP (val = get_char_property_and_overlay @@ -1720,13 +1721,13 @@ adjust_point_for_property (ptrdiff_t last_pt, bool modified) ? max (beg - 1, BEGV) : beg) : end); - check_composition = check_invisible = 1; + check_composition = check_invisible = true; } - check_display = 0; + check_display = false; if (check_invisible && PT > BEGV && PT < ZV) { int inv; - bool ellipsis = 0; + bool ellipsis = false; beg = end = PT; /* Find boundaries `beg' and `end' of the invisible area, if any. */ @@ -1792,7 +1793,7 @@ adjust_point_for_property (ptrdiff_t last_pt, bool modified) was already in the range: we don't get to choose which end of the range we have to go to. */ : (PT < last_pt ? beg : end)); - check_composition = check_display = 1; + check_composition = check_display = true; } #if 0 /* This assertion isn't correct, because SET_PT may end up setting the point to something other than its argument, due to @@ -1805,9 +1806,9 @@ adjust_point_for_property (ptrdiff_t last_pt, bool modified) if (!modified && !ellipsis && beg < end) { if (last_pt == beg && PT == end && end < ZV) - (check_composition = check_display = 1, SET_PT (end + 1)); + (check_composition = check_display = true, SET_PT (end + 1)); else if (last_pt == end && PT == beg && beg > BEGV) - (check_composition = check_display = 1, SET_PT (beg - 1)); + (check_composition = check_display = true, SET_PT (beg - 1)); else if (PT == ((PT < last_pt) ? beg : end)) /* We've already moved as far as we can. Trying to go to the other end would mean moving backwards and thus @@ -1820,11 +1821,11 @@ adjust_point_for_property (ptrdiff_t last_pt, bool modified) (make_number (PT == beg ? end : beg), Qinvisible, Qnil)), !TEXT_PROP_MEANS_INVISIBLE (val))) - (check_composition = check_display = 1, + (check_composition = check_display = true, SET_PT (PT == beg ? end : beg)); } } - check_invisible = 0; + check_invisible = false; } } @@ -1852,11 +1853,11 @@ safe_run_hooks_error (Lisp_Object error, ptrdiff_t nargs, Lisp_Object *args) if (SYMBOLP (hook)) { Lisp_Object val; - bool found = 0; + bool found = false; Lisp_Object newval = Qnil; for (val = find_symbol_value (hook); CONSP (val); val = XCDR (val)) if (EQ (fun, XCAR (val))) - found = 1; + found = true; else newval = Fcons (XCAR (val), newval); if (found) @@ -1868,7 +1869,7 @@ safe_run_hooks_error (Lisp_Object error, ptrdiff_t nargs, Lisp_Object *args) : Fdefault_value (hook)); CONSP (val); val = XCDR (val)) if (EQ (fun, XCAR (val))) - found = 1; + found = true; else newval = Fcons (XCAR (val), newval); if (found) @@ -1933,7 +1934,7 @@ static void poll_for_input (struct atimer *timer) { if (poll_suppress_count == 0) - pending_signals = 1; + pending_signals = true; } #endif /* POLL_FOR_INPUT */ @@ -2137,7 +2138,7 @@ show_help_echo (Lisp_Object help, Lisp_Object window, Lisp_Object object, struct frame *f = NILP (do_mouse_tracking) ? NULL : some_mouse_moved (); help = call1 (Qmouse_fixup_help_message, help); if (f) - f->mouse_moved = 1; + f->mouse_moved = true; } if (STRINGP (help) || NILP (help)) @@ -2168,11 +2169,11 @@ read_char_help_form_unwind (void) #define STOP_POLLING \ do { if (! polling_stopped_here) stop_polling (); \ - polling_stopped_here = 1; } while (0) + polling_stopped_here = true; } while (0) #define RESUME_POLLING \ do { if (polling_stopped_here) start_polling (); \ - polling_stopped_here = 0; } while (0) + polling_stopped_here = false; } while (0) static Lisp_Object read_event_from_main_queue (struct timespec *end_time, @@ -2213,7 +2214,7 @@ read_event_from_main_queue (struct timespec *end_time, kset_kbd_queue (kb, list1 (c)); else XSETCDR (last, list1 (c)); - kb->kbd_queue_has_data = 1; + kb->kbd_queue_has_data = true; c = Qnil; if (single_kboard) goto start; @@ -2389,7 +2390,7 @@ read_char (int commandflag, Lisp_Object map, volatile Lisp_Object also_record; volatile bool reread, recorded; struct gcpro gcpro1, gcpro2; - bool volatile polling_stopped_here = 0; + bool volatile polling_stopped_here = false; struct kboard *orig_kboard = current_kboard; also_record = Qnil; @@ -2429,7 +2430,7 @@ read_char (int commandflag, Lisp_Object map, if (CONSP (Vunread_command_events)) { - bool was_disabled = 0; + bool was_disabled = false; c = XCAR (Vunread_command_events); Vunread_command_events = XCDR (Vunread_command_events); @@ -2448,7 +2449,7 @@ read_char (int commandflag, Lisp_Object map, && EQ (XCDR (c), Qdisabled) && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c)))) { - was_disabled = 1; + was_disabled = true; c = XCAR (c); } @@ -2458,7 +2459,7 @@ read_char (int commandflag, Lisp_Object map, /* Also check was_disabled so last-nonmenu-event won't return a bad value when submenus are involved. (Bug#447) */ && (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar) || was_disabled)) - *used_mouse_menu = 1; + *used_mouse_menu = true; goto reread_for_input_method; } @@ -2478,7 +2479,7 @@ read_char (int commandflag, Lisp_Object map, goto reread_for_input_method; } - this_command_key_count_reset = 0; + this_command_key_count_reset = false; if (!NILP (Vexecuting_kbd_macro)) { @@ -2660,7 +2661,7 @@ read_char (int commandflag, Lisp_Object map, kset_kbd_queue (kb, list1 (c)); else XSETCDR (last, list1 (c)); - kb->kbd_queue_has_data = 1; + kb->kbd_queue_has_data = true; current_kboard = kb; /* This is going to exit from read_char so we had better get rid of this frame's stuff. */ @@ -2836,7 +2837,7 @@ read_char (int commandflag, Lisp_Object map, kset_kbd_queue (current_kboard, XCDR (KVAR (current_kboard, kbd_queue))); if (NILP (KVAR (current_kboard, kbd_queue))) - current_kboard->kbd_queue_has_data = 0; + current_kboard->kbd_queue_has_data = false; input_pending = readable_events (0); if (EVENT_HAS_PARAMETERS (c) && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qswitch_frame)) @@ -3074,7 +3075,7 @@ read_char (int commandflag, Lisp_Object map, /* Clear out this_command_keys. */ this_command_key_count = 0; - this_command_key_count_reset = 0; + this_command_key_count_reset = false; this_single_command_key_start = 0; /* Now wipe the echo area. */ @@ -3590,7 +3591,7 @@ kbd_buffer_store_buffered_event (union buffered_input_event *event, kset_kbd_queue (kb, list2 (make_lispy_switch_frame (event->ie.frame_or_window), make_number (c))); - kb->kbd_queue_has_data = 1; + kb->kbd_queue_has_data = true; union buffered_input_event *sp; for (sp = kbd_fetch_ptr; sp != kbd_store_ptr; sp++) { @@ -3684,7 +3685,7 @@ kbd_buffer_store_buffered_event (union buffered_input_event *event, do it now. */ if (immediate_quit && NILP (Vinhibit_quit)) { - immediate_quit = 0; + immediate_quit = false; QUIT; } } @@ -4002,7 +4003,7 @@ kbd_buffer_get_event (KBOARD **kbp, obj = list1 (intern ("ns-unput-working-text")); kbd_fetch_ptr = event + 1; if (used_mouse_menu) - *used_mouse_menu = 1; + *used_mouse_menu = true; } #endif @@ -4197,13 +4198,13 @@ kbd_buffer_get_event (KBOARD **kbp, && !EQ (event->ie.frame_or_window, event->ie.arg) && (event->kind == MENU_BAR_EVENT || event->kind == TOOL_BAR_EVENT)) - *used_mouse_menu = 1; + *used_mouse_menu = true; #endif #ifdef HAVE_NS /* Certain system events are non-key events. */ if (used_mouse_menu && event->kind == NS_NONKEY_EVENT) - *used_mouse_menu = 1; + *used_mouse_menu = true; #endif /* Wipe out this event, to catch bugs. */ @@ -6896,7 +6897,7 @@ int gobble_input (void) { int nread = 0; - bool err = 0; + bool err = false; struct terminal *t; /* Store pending user signal events, if any. */ @@ -6915,7 +6916,7 @@ gobble_input (void) if (input_blocked_p ()) { - pending_signals = 1; + pending_signals = true; break; } @@ -6928,7 +6929,7 @@ gobble_input (void) if (nr == -1) /* Not OK to read input now. */ { - err = 1; + err = true; } else if (nr == -2) /* Non-transient error. */ { @@ -7188,7 +7189,7 @@ handle_async_input (void) void process_pending_signals (void) { - pending_signals = 0; + pending_signals = false; handle_async_input (); do_pending_atimers (); } @@ -7240,7 +7241,7 @@ totally_unblock_input (void) void handle_input_available_signal (int sig) { - pending_signals = 1; + pending_signals = true; if (input_available_clear_time) *input_available_clear_time = make_timespec (0, 0); @@ -7311,8 +7312,8 @@ handle_user_signal (int sig) && strcmp (special_event_name, p->name) == 0) { /* Enter the debugger in many ways. */ - debug_on_next_call = 1; - debug_on_quit = 1; + debug_on_next_call = true; + debug_on_quit = true; Vquit_flag = Qt; Vinhibit_quit = Qnil; @@ -7359,7 +7360,7 @@ store_user_signal_events (void) { struct user_signal_info *p; struct input_event buf; - bool buf_initialized = 0; + bool buf_initialized = false; for (p = user_signals; p; p = p->next) if (p->npending > 0) @@ -7369,7 +7370,7 @@ store_user_signal_events (void) memset (&buf, 0, sizeof buf); buf.kind = USER_SIGNAL_EVENT; buf.frame_or_window = selected_frame; - buf_initialized = 1; + buf_initialized = true; } do @@ -8201,7 +8202,7 @@ parse_tool_bar_item (Lisp_Object key, Lisp_Object item) Lisp_Object filter = Qnil; Lisp_Object caption; int i; - bool have_label = 0; + bool have_label = false; /* Definition looks like `(menu-item CAPTION BINDING PROPS...)'. Rule out items that aren't lists, don't start with @@ -8310,7 +8311,7 @@ parse_tool_bar_item (Lisp_Object key, Lisp_Object item) /* `:label LABEL-STRING'. */ set_prop (TOOL_BAR_ITEM_LABEL, STRINGP (value) ? value : build_string (bad_label)); - have_label = 1; + have_label = true; } else if (EQ (ikey, QCfilter)) /* ':filter FORM'. */ @@ -8476,7 +8477,7 @@ read_char_x_menu_prompt (Lisp_Object map, Lisp_Object prev_event, bool *used_mouse_menu) { if (used_mouse_menu) - *used_mouse_menu = 0; + *used_mouse_menu = false; /* Use local over global Menu maps. */ @@ -8525,7 +8526,7 @@ read_char_x_menu_prompt (Lisp_Object map, else if (NILP (value)) value = Qt; if (used_mouse_menu) - *used_mouse_menu = 1; + *used_mouse_menu = true; return value; } return Qnil ; @@ -8540,7 +8541,7 @@ read_char_minibuf_menu_prompt (int commandflag, /* FIXME: Use the minibuffer's frame width. */ ptrdiff_t width = FRAME_COLS (SELECTED_FRAME ()) - 4; ptrdiff_t idx = -1; - bool nobindings = 1; + bool nobindings = true; Lisp_Object rest, vector; Lisp_Object prompt_strings = Qnil; @@ -8569,7 +8570,7 @@ read_char_minibuf_menu_prompt (int commandflag, /* Present the documented bindings, a line at a time. */ while (1) { - bool notfirst = 0; + bool notfirst = false; Lisp_Object menu_strings = prompt_strings; ptrdiff_t i = nlength; Lisp_Object obj; @@ -8680,8 +8681,8 @@ read_char_minibuf_menu_prompt (int commandflag, PUSH_C_STR (", ", menu_strings); i += 2; } - notfirst = 1; - nobindings = 0; + notfirst = true; + nobindings = false; /* If the char to type doesn't match the string's first char, explicitly show what char to type. */ @@ -8997,7 +8998,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, /* True if we are trying to map a key by changing an upper-case letter to lower case, or a shifted function key to an unshifted one. */ - bool shift_translated = 0; + bool shift_translated = false; /* If we receive a `switch-frame' or `select-window' event in the middle of a key sequence, we put it off for later. @@ -9008,7 +9009,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, int original_uppercase_position = -1; /* Gets around Microsoft compiler limitations. */ - bool dummyflag = 0; + bool dummyflag = false; struct buffer *starting_buffer; @@ -9098,7 +9099,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, : (/* indec.start < t || fkey.start < t || */ keytran.start < t)) { Lisp_Object key; - bool used_mouse_menu = 0; + bool used_mouse_menu = false; /* Where the last real key started. If we need to throw away a key that has expanded into more than one element of keybuf @@ -9195,12 +9196,12 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, return. Any better way to fix this? -- cyd */ || (interrupted_kboard != current_kboard)) { - bool found = 0; + bool found = false; struct kboard *k; for (k = all_kboards; k; k = k->next_kboard) if (k == interrupted_kboard) - found = 1; + found = true; if (!found) { @@ -9261,7 +9262,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, t = 0; /* The Microsoft C compiler can't handle the goto that would go here. */ - dummyflag = 1; + dummyflag = true; break; } @@ -9751,7 +9752,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, might get translated through function-key-map. */ keybuf[t - 1] = new_key; mock_input = max (t, mock_input); - shift_translated = 1; + shift_translated = true; goto replay_sequence; } @@ -9762,7 +9763,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, read_key_sequence_cmd = Vprefix_help_command; /* The Microsoft C compiler can't handle the goto that would go here. */ - dummyflag = 1; + dummyflag = true; break; } @@ -9804,7 +9805,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, input-decode-map doesn't need to go through it again. */ fkey.start = fkey.end = 0; keytran.start = keytran.end = 0; - shift_translated = 1; + shift_translated = true; goto replay_sequence; } @@ -9830,7 +9831,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, && t - 1 == original_uppercase_position) { keybuf[t - 1] = original_uppercase; - shift_translated = 0; + shift_translated = false; } if (shift_translated) @@ -9883,7 +9884,7 @@ read_key_sequence_vs (Lisp_Object prompt, Lisp_Object continue_echo, if (NILP (continue_echo)) { this_command_key_count = 0; - this_command_key_count_reset = 0; + this_command_key_count_reset = false; this_single_command_key_start = 0; } @@ -10018,7 +10019,7 @@ detect_input_pending_run_timers (bool do_display) void clear_input_pending (void) { - input_pending = 0; + input_pending = false; } /* Return true if there are pending requeued events. @@ -10162,7 +10163,7 @@ these events the first time. */) /* Cause whatever we put into unread-command-events to echo as if it were being freshly read from the keyboard. */ - this_command_key_count_reset = 1; + this_command_key_count_reset = true; return Qnil; } @@ -10177,7 +10178,7 @@ KEEP-RECORD is non-nil. */) int i; this_command_key_count = 0; - this_command_key_count_reset = 0; + this_command_key_count_reset = false; if (NILP (keep_record)) { @@ -10251,7 +10252,7 @@ Also end any kbd macro being defined. */) discard_tty_input (); kbd_fetch_ptr = kbd_store_ptr; - input_pending = 0; + input_pending = false; return Qnil; } @@ -10349,7 +10350,7 @@ stuff_buffered_input (Lisp_Object stuffstring) clear_event (kbd_fetch_ptr); } - input_pending = 0; + input_pending = false; #endif /* SIGTSTP */ } @@ -10359,7 +10360,7 @@ set_waiting_for_input (struct timespec *time_to_clear) input_available_clear_time = time_to_clear; /* Tell handle_interrupt to throw back to read_char, */ - waiting_for_input = 1; + waiting_for_input = true; /* If handle_interrupt was called before and buffered a C-g, make it run again now, to avoid timing error. */ @@ -10371,7 +10372,7 @@ void clear_waiting_for_input (void) { /* Tell handle_interrupt not to throw back to read_char, */ - waiting_for_input = 0; + waiting_for_input = false; input_available_clear_time = 0; } @@ -10532,7 +10533,7 @@ handle_interrupt (bool in_signal_handler) struct gl_state_s saved; struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; - immediate_quit = 0; + immediate_quit = false; pthread_sigmask (SIG_SETMASK, &empty_mask, 0); saved = gl_state; GCPRO4 (saved.object, saved.global_code, @@ -10547,7 +10548,7 @@ handle_interrupt (bool in_signal_handler) force_quit_count = count; if (count == 3) { - immediate_quit = 1; + immediate_quit = true; Vinhibit_quit = Qnil; } Vquit_flag = Qt; @@ -10581,7 +10582,7 @@ quit_throw_to_read_char (bool from_signal) /* Prevent another signal from doing this before we finish. */ clear_waiting_for_input (); - input_pending = 0; + input_pending = false; Vunread_command_events = Qnil; @@ -10609,13 +10610,13 @@ See also `current-input-mode'. */) { /* When using X, don't give the user a real choice, because we haven't implemented the mechanisms to support it. */ - new_interrupt_input = 1; + new_interrupt_input = true; } else #endif /* HAVE_X_WINDOWS */ new_interrupt_input = !NILP (interrupt); #else /* not USABLE_SIGIO */ - new_interrupt_input = 0; + new_interrupt_input = false; #endif /* not USABLE_SIGIO */ if (new_interrupt_input != interrupt_input) @@ -10907,8 +10908,8 @@ init_kboard (KBOARD *kb, Lisp_Object type) kset_prefix_arg (kb, Qnil); kset_last_prefix_arg (kb, Qnil); kset_kbd_queue (kb, Qnil); - kb->kbd_queue_has_data = 0; - kb->immediate_echo = 0; + kb->kbd_queue_has_data = false; + kb->immediate_echo = false; kset_echo_string (kb, Qnil); kb->echo_after_prompt = -1; kb->kbd_macro_buffer = 0; @@ -10968,7 +10969,7 @@ delete_kboard (KBOARD *kb) && FRAME_LIVE_P (XFRAME (selected_frame))) { current_kboard = FRAME_KBOARD (XFRAME (selected_frame)); - single_kboard = 0; + single_kboard = false; if (current_kboard == kb) emacs_abort (); } @@ -10982,7 +10983,7 @@ init_keyboard (void) { /* This is correct before outermost invocation of the editor loop. */ command_loop_level = -1; - immediate_quit = 0; + immediate_quit = false; quit_char = Ctl ('g'); Vunread_command_events = Qnil; timer_idleness_start_time = invalid_timespec (); @@ -10991,9 +10992,9 @@ init_keyboard (void) kbd_fetch_ptr = kbd_buffer; kbd_store_ptr = kbd_buffer; do_mouse_tracking = Qnil; - input_pending = 0; + input_pending = false; interrupt_input_blocked = 0; - pending_signals = 0; + pending_signals = false; /* This means that command_loop_1 won't try to select anything the first time through. */ @@ -11545,7 +11546,7 @@ See Info node `(elisp)Multiple Terminals'. */); DEFVAR_BOOL ("cannot-suspend", cannot_suspend, doc: /* Non-nil means to always spawn a subshell instead of suspending. \(Even if the operating system has support for stopping a process.\) */); - cannot_suspend = 0; + cannot_suspend = false; DEFVAR_BOOL ("menu-prompting", menu_prompting, doc: /* Non-nil means prompt with menus when appropriate. @@ -11555,7 +11556,7 @@ The menu is displayed on the screen if X menus were enabled at configuration time and the previous event was a mouse click prefix key. Otherwise, menu prompting uses the echo area. */); - menu_prompting = 1; + menu_prompting = true; DEFVAR_LISP ("menu-prompt-more-char", menu_prompt_more_char, doc: /* Character to see next line of menu prompt. diff --git a/src/keyboard.h b/src/keyboard.h index b843e8d..3e4c475 100644 --- a/src/keyboard.h +++ b/src/keyboard.h @@ -170,7 +170,7 @@ struct kboard kbd_queue_has_data is 0. When we push back an incomplete command, then this flag is 0, meaning we don't want to try reading from this KBOARD again until more input arrives. */ - char kbd_queue_has_data; + bool_bf kbd_queue_has_data; /* True means echo each character as typed. */ bool_bf immediate_echo : 1; commit 59ff39dca6e5b85b03ec5453d256382e06771ab3 Author: Michael Albinus Date: Fri Aug 14 21:14:15 2015 +0200 * tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect stderr to /dev/null, this is done in `tramp-send-command-and-check'. diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 661c504..7f7558e 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -1557,7 +1557,7 @@ be non-negative integers." (when (and (tramp-remote-acl-p v) (tramp-send-command-and-check v (format - "getfacl -ac %s 2>/dev/null" + "getfacl -ac %s" (tramp-shell-quote-argument localname)))) (with-current-buffer (tramp-get-connection-buffer v) (goto-char (point-max)) commit ee90aa6dc35f130ec503a113b6e5114224e255f5 Author: Jürgen Hötzel Date: Fri Aug 14 21:11:51 2015 +0200 Flush file properties in Tramp. * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes) (tramp-sh-handle-set-file-times): * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes) (tramp-adb-handle-set-file-times): Flush the file properties of the directory. diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el index ca76f62..a8f5294 100644 --- a/lisp/net/tramp-adb.el +++ b/lisp/net/tramp-adb.el @@ -652,6 +652,7 @@ But handle the case, if the \"test\" command is not available." (defun tramp-adb-handle-set-file-modes (filename mode) "Like `set-file-modes' for Tramp files." (with-parsed-tramp-file-name filename nil + (tramp-flush-file-property v (file-name-directory localname)) (tramp-flush-file-property v localname) (tramp-adb-send-command-and-check v (format "chmod %s %s" (tramp-compat-decimal-to-octal mode) localname)))) @@ -659,6 +660,7 @@ But handle the case, if the \"test\" command is not available." (defun tramp-adb-handle-set-file-times (filename &optional time) "Like `set-file-times' for Tramp files." (with-parsed-tramp-file-name filename nil + (tramp-flush-file-property v (file-name-directory localname)) (tramp-flush-file-property v localname) (let ((time (if (or (null time) (equal time '(0 0))) (current-time) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index bb939bf..661c504 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -1407,6 +1407,7 @@ of." (defun tramp-sh-handle-set-file-modes (filename mode) "Like `set-file-modes' for Tramp files." (with-parsed-tramp-file-name filename nil + (tramp-flush-file-property v (file-name-directory localname)) (tramp-flush-file-property v localname) ;; FIXME: extract the proper text from chmod's stderr. (tramp-barf-unless-okay @@ -1421,6 +1422,7 @@ of." (if (tramp-tramp-file-p filename) (with-parsed-tramp-file-name filename nil (when (tramp-get-remote-touch v) + (tramp-flush-file-property v (file-name-directory localname)) (tramp-flush-file-property v localname) (let ((time (if (or (null time) (equal time '(0 0))) (current-time) commit 0ab86500e37e8d76a73f0c375bf9195340f4e18d Author: Ronnie Schnell Date: Fri Aug 14 12:29:58 2015 -0400 Fixed typo in manual. diff --git a/doc/emacs/ChangeLog.1 b/doc/emacs/ChangeLog.1 index 26aaa0e..395796c 100644 --- a/doc/emacs/ChangeLog.1 +++ b/doc/emacs/ChangeLog.1 @@ -1,7 +1,7 @@ 2015-08-14 Ronnie Schnell - * misc.texti (Amusements): Fixed typo. - + * misc.text (Amusements): Fixed typo. + 2015-03-29 Dani Moncayo * files.texi (Diff Mode): Doc fix. commit 8fac7b9f28462c003095c527941bdc8ce1a0974e Author: Ronnie Schnell Date: Fri Aug 14 12:29:28 2015 -0400 Fixed typo in manual. diff --git a/doc/emacs/ChangeLog.1 b/doc/emacs/ChangeLog.1 index 469fdc3..26aaa0e 100644 --- a/doc/emacs/ChangeLog.1 +++ b/doc/emacs/ChangeLog.1 @@ -1,3 +1,7 @@ +2015-08-14 Ronnie Schnell + + * misc.texti (Amusements): Fixed typo. + 2015-03-29 Dani Moncayo * files.texi (Diff Mode): Doc fix. diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 20996c2..cb15a3b 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -2688,7 +2688,7 @@ character. Keep dissociwords out of your documentation, if you want it to be well userenced and properbose. @findex dunnet - @kbd{M-x dunnet} runs an text-based adventure game. + @kbd{M-x dunnet} runs a text-based adventure game. @findex gomoku @cindex Go Moku commit 9d053b34cb62afece1e14e7cdedeef0d160fb528 Author: Eli Zaretskii Date: Fri Aug 14 13:34:18 2015 +0300 Don't miss warnings about removing string text properties while dumping * src/alloc.c (purecopy): Warn about removing a string's text properties even when the same string was already pure-copied earlier. * lisp/progmodes/elisp-mode.el (elisp--xref-format) (elisp--xref-format-extra): Fix the commentary. diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 8131457..8392df2 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -605,7 +605,7 @@ It can be quoted, or be inside a quoted form." (elisp--xref-find-apropos id)))) ;; WORKAROUND: This is nominally a constant, but the text properities -;; are not preserved thru dump if use defconst. See bug#21237 +;; are not preserved thru dump if use defconst. See bug#21237. (defvar elisp--xref-format (let ((str "(%s %s)")) (put-text-property 1 3 'face 'font-lock-keyword-face str) @@ -613,7 +613,7 @@ It can be quoted, or be inside a quoted form." str)) ;; WORKAROUND: This is nominally a constant, but the text properities -;; are not preserved thru dump if use defconst. See bug#21237 +;; are not preserved thru dump if use defconst. See bug#21237. (defvar elisp--xref-format-extra (let ((str "(%s %s %s)")) (put-text-property 1 3 'face 'font-lock-keyword-face str) diff --git a/src/alloc.c b/src/alloc.c index 66e62da..91b4c6e 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -5339,6 +5339,10 @@ purecopy (Lisp_Object obj) if (PURE_POINTER_P (XPNTR (obj)) || INTEGERP (obj) || SUBRP (obj)) return obj; /* Already pure. */ + if (STRINGP (obj) && XSTRING (obj)->intervals) + message_with_string ("Dropping text-properties while making string `%s' pure", + obj, true); + if (HASH_TABLE_P (Vpurify_flag)) /* Hash consing. */ { Lisp_Object tmp = Fgethash (obj, Vpurify_flag, Qnil); @@ -5351,14 +5355,9 @@ purecopy (Lisp_Object obj) else if (FLOATP (obj)) obj = make_pure_float (XFLOAT_DATA (obj)); else if (STRINGP (obj)) - { - if (XSTRING (obj)->intervals) - message_with_string ("Dropping text-properties while making string `%s' pure", - obj, true); - obj = make_pure_string (SSDATA (obj), SCHARS (obj), - SBYTES (obj), - STRING_MULTIBYTE (obj)); - } + obj = make_pure_string (SSDATA (obj), SCHARS (obj), + SBYTES (obj), + STRING_MULTIBYTE (obj)); else if (COMPILEDP (obj) || VECTORP (obj) || HASH_TABLE_P (obj)) { struct Lisp_Vector *objp = XVECTOR (obj);