1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-25 07:28:20 +00:00
Commit Graph

909 Commits

Author SHA1 Message Date
Andrea Corallo
ce15b23846 * Makefile.in (BIN_DESTDIR, src): Fix 'BIN_DESTDIR' on MacOS. 2021-04-07 09:50:02 +02:00
Andrea Corallo
74b58f28ec Merge remote-tracking branch 'savannah/master' into native-comp 2021-04-05 21:00:18 +02:00
Yuuki Harano
8c7453632e Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-04-06 00:11:36 +09:00
Glenn Morris
dd1aa7bc4c Make maintainer-clean delete generated files, as per standards
These are generated files that were once kept in the repository.
When they were removed from the repository, as a half-way measure
they were only deleted by "extraclean", but this was never
necessary and was not a proper use of that rule.
* admin/charsets/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* admin/grammars/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* admin/unidata/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* leim/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* GNUmakefile: Doc fix.
2021-04-04 09:19:24 -07:00
Eli Zaretskii
12d2fd6037 Fix 'extraclean' targets
* GNUmakefile: Add description of 'extraclean'.

* Makefile.in (extraclean_dirs): Add lwlib.

* lwlib/Makefile.in (clean mostlyclean extraclean): Add
'extraclean' target.

* lisp/Makefile.in (extraclean): Remove ${loaddefs}, not just
${LOADDEFS}.  Delete all backup and autosave files.
2021-04-01 15:57:55 +03:00
Yuuki Harano
7a7bc15242 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-03-14 23:24:49 +09:00
Andrea Corallo
82bd6d57d5 Merge remote-tracking branch 'savannah/master' into native-comp 2021-03-12 16:42:51 +01:00
Petteri Hintsanen
62610da8c4 Make tags tables from Texinfo sources
* doc/misc/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* doc/lispref/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* doc/lispintro/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* doc/emacs/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* Makefile.in (TAGS tags): Make tags in doc/emacs, doc/lispintro,
doc/lispref and doc/misc.
2021-03-11 16:42:57 +02:00
Andrea Corallo
43b0df62cd Merge commit '9cbdf20316' into native-comp 2021-03-09 10:03:47 +01:00
Yuuki Harano
4dda6db3ab Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-03-08 21:20:54 +09:00
Glenn Morris
d632622b5a Simplify silent-rules build machinery
* src/verbose.mk.in: New file.
* configure.ac (AM_V, AM_DEFAULT_V): Remove output variables.
(src/verbose.mk): New output file.
* Makefile.in, admin/charsets/Makefile.in:
* admin/grammars/Makefile.in, admin/unidata/Makefile.in:
* doc/emacs/Makefile.in, doc/lispintro/Makefile.in:
* doc/lispref/Makefile.in, doc/misc/Makefile.in, leim/Makefile.in:
* lib-src/Makefile.in, lib/Makefile.in, lisp/Makefile.in:
* lwlib/Makefile.in, nt/Makefile.in, oldXMenu/Makefile.in:
* src/Makefile.in, src/verbose.mk.in, test/Makefile.in:
Include src/verbose.mk rather than repeatedly defining AM_V_at etc.
2021-03-06 16:28:46 -08:00
Glenn Morris
f476e282d2 Don't pass implicit flags to sub-makes
* Makefile.in (info_misc, uninstall, texi_misc):
Don't pass any implicit make flags to sub-makes.
Ref https://lists.gnu.org/r/help-make/2021-03/msg00007.html
2021-03-06 11:09:19 -08:00
Glenn Morris
c3cf99f537 Remove the --without-makeinfo configure option (bug#46837)
* configure.ac (--without-makeinfo): Remove option.
(HAVE_MAKEINFO): Remove output variable.

* Makefile.in (HAVE_MAKEINFO): Remove.
(info_misc): Remove HAVE_MAKEINFO check.
(info-real): Remove target.
(info): Simplify.

; * etc/NEWS: Mention this.
2021-03-06 10:38:07 -08:00
Eli Zaretskii
45b1151696 Revert "Fix Makefile subshell output when run in parallel"
This reverts commit 117505454c.
It breaks the build for versions of GNU Make that don't support -O.
2021-03-06 16:49:00 +02:00
Basil L. Contovounesios
117505454c Fix Makefile subshell output when run in parallel
For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-03/msg00255.html

* Makefile.in (texi_misc): Avoid interspersing parallel Make output
with that from subshell.
2021-03-06 14:08:27 +00:00
Glenn Morris
4c2820ce3f * Makefile.in: Ensure non-info forms of doc/misc have an Emacs binary. 2021-03-04 20:04:50 -08:00
Andrea Corallo
b9ccbac768 * Makefile.in (ELN_DESTDIR): Remove unnecessary double quoting. 2021-03-04 21:43:59 +01:00
Glenn Morris
9e94509267 Generate info/dir directly from any org sources
* Makefile.in (texi_misc): New variable.
(srcdir_doc_info_dir_inputs): Use texi_misc.
(${srcdir}/info/dir): No longer depend on info-real.
2021-03-04 10:47:09 -08:00
Glenn Morris
ee6527545d ; Makefile.in: Update a comment. 2021-03-04 10:41:36 -08:00
Glenn Morris
4825ea3c5d info/dir needs generated texi files to exist
* Makefile.in (misc-info): Depend on lisp.
(${srcdir}/info/dir): Depend on info-real.
(info): Simplify.
2021-02-28 15:22:29 -08:00
Glenn Morris
fddd63f8b8 Distribute the real source for some doc/misc manuals (bug#45143)
* doc/misc/modus-themes.texi, doc/misc/org.texi:
Remove generated files from repository.
* doc/misc/Makefile.in: Add rules for building .texi from .org.
(ORG_SRC, abs_top_builddir, EMACS, emacs):
New variables.
(org_template): New template.
(orgclean): New phony target.
* Makefile.in (info): Depend on lisp.
* lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch):
New function.
* doc/misc/org.org, doc/misc/org-setup.org: New files.
Import from https://code.orgmode.org d8e8a97a14.
2021-02-26 19:36:09 -08:00
Yuuki Harano
aac33a8074 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-01-10 18:49:51 +09:00
Andrea Corallo
400f620f24 Merge remote-tracking branch 'savannah/master' into HEAD 2021-01-08 21:40:45 +01:00
Stefan Monnier
d8d223e7ef * Makefile.in (test/%): New target 2021-01-03 23:15:33 -05:00
Yuuki Harano
44f7f57c68 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-01-03 16:33:29 +09:00
Andrea Corallo
5db5064395 Merge remote-tracking branch 'savannah/master' into HEAD 2021-01-02 10:11:15 +01:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Andrea Corallo
87f6e93799 * Makefile.in (w32locallisppath): Add PATH_REL_LOADSEARCH (bug#45303). 2020-12-17 22:08:44 +01:00
Yuuki Harano
31bba950bc Use gsettings instead of X resource database
* src/pgtkfns.c (pgtk_is_lower_char, pgtk_is_upper_char)
(pgtk_is_numeric_char, parse_resource_key)
(pgtk_get_defaults_value, pgtk_set_defaults_value)
(Fpgtk_set_resource, pgtk_get_string_resource): handle gsettings scheme

* m4/gsettings.m4: new file

* etc/org.gnu.emacs.defaults.gschema.xml: new file

* configure.ac (GLIB_DISABLE_DEPRECATION_WARNINGS)
(gsettingsschemadir):

* Makefile.in (gsettingsschemadir, GLIB_COMPILE_SCHEMAS)
(install, uninstall, clean):

* .gitignore: add gschema

*.gschema.valid は生成ファイルなので無視。

schema の置き場所を変更。
2020-11-22 14:46:55 +11:00
Andrea Corallo
afb765ab3c Make filename hashing compatible with self contained builds (bug#43532)
* Makefile.in (lispdirrel): Add replace template.
	(epaths-force): Form correctly 'PATH_REL_LOADSEARCH' into epath.h
	* configure.ac (lispdirrel): Define variable (relative path of the
	lisp files from the installation directory).
	* src/comp.c (Fcomp_el_to_eln_filename): Update algorithm not to
	rely on 'PATH_DUMPLOADSEARCH' but on 'PATH_REL_LOADSEARCH'.
	* src/epaths.in (PATH_REL_LOADSEARCH): Add macro template.
2020-10-04 19:44:15 +02:00
Andrea Corallo
eb87425988 * Makefile.in (ELN_DESTDIR): Add ${version}/ to it. 2020-09-06 08:08:19 +02:00
Andrea Corallo
67c5369156 Rename and move eln system directory
Rename eln sys directory into 'native-lisp' and move it from
"$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/" to
"$(DESTDIR)${libdir}/emacs/".

Add to the directory name used to disambiguate the eln compatibility
the Emacs version to have it more user friendly.

	* Makefile.in (clean, install-eln): Rename eln-cache into
	native-lisp.
	(ELN_DESTDIR): Move from
	'$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/' to
	'$(DESTDIR)${libdir}/emacs/'.

	* lisp/loadup.el: Update for comp-native-path-postfix ->
	comp-native-version-dir rename.

	* src/comp.c (syms_of_comp): Rename eln-cache -> native-lisp.
	(syms_of_comp, Fcomp_el_to_eln_filename): Rename
	comp-native-path-postfix -> comp-native-version-dir.
	(hash_native_abi): Rework and add emacs-version to
	comp-native-version-dir.
2020-09-04 17:12:22 +02:00
Andrea Corallo
171db31101 Make install target functional for new eln-cache directory arrangement
* src/comp.h (fixup_eln_load_path): New extern.

	* src/comp.c (fixup_eln_load_path): New function.

	* src/pdumper.c (dump_do_dump_relocation): Update to make use of
	'fixup_eln_load_path'.

	* lisp/loadup.el: Update to store in the compilation unit the
	correct eln-cache installed path. Rename --lisp-dest -> --eln-dest
	and.

	* Makefile.in: Pass the eln destination directory to
	src/Makefile. Rename LISP_DESTDIR -> ELN_DESTDIR.
	(ELN_DESTDIR): Define.
	(install-eln): New target.
	(install): Add install-eln as prerequisite.

	* src/Makefile.in: Rename --lisp-dest -> --eln-dest and
	LISP_DESTDIR -> ELN_DESTDIR.
2020-08-17 18:04:23 +02:00
Andrea Corallo
dbeafd3403 Some Makefile updates and clean-up
* Makefile.in (clean): Remove 'eln-cache' folder.

	* lisp/Makefile.in (.SUFFIXES): Remove .eln.
	(native-compile-clean): Target remove.
	(compile-always, bootstrap-clean): Remove 'native-compile-clean'
	prerequisite.

	* src/Makefile.in (%.eln): Remove rule.
2020-08-17 18:04:22 +02:00
Andrea Corallo
46e7613ad3 Merge remote-tracking branch 'savannah/master' into HEAD 2020-08-13 12:22:07 +02:00
Carlos Pita
1a845a672d Improve client/daemon xdg/systemd experience
* Makefile.in: Add emacsclient.desktop generation.
* etc/emacsclient.desktop: Add file, use emacsd as StartupWMClass.
* etc/emacs.service: Run with name emacsd (bug#37847).
2020-08-09 15:57:51 +02:00
Andrea Corallo
3dd6cf8139 Implement working make install for native build. 2020-04-12 16:52:05 +01:00
Paul Eggert
28399e585e * Makefile.in (PREFERRED_BRANCH): Now emacs-27. 2020-02-19 17:41:24 -08:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Paul Eggert
8bccbb9889 Fix extraclean in a different way for info+lib/sys
* Makefile.in (extraclean):
* lib/Makefile.in (extraclean): Use rmdir but suppress any
error indication.  That way, ‘make extraclean’ will remove the
directory if it’s empty, and successfully do nothing otherwise.
2019-06-20 11:19:09 -07:00
Lars Ingebrigtsen
afc9d9b3ad Leave the emtpy info and lib/sys in extraclean
* lib/Makefile.in: Ditto.

* Makefile.in (extraclean): Don't use GNU-specific rmdir; just
leave the empty directory be.
2019-06-20 18:50:52 +02:00
Lars Ingebrigtsen
de4e1bddb1 Make extraclean return tree to pristine state by deleting more
* src/Makefile.in (extraclean): Remove TAGS and config.in.

* Makefile.in (extraclean): Remove info, configure and
emacsver.texi in extraclean.
* admin/unidata/Makefile.in (extraclean): Make it depend on
distclean to remove .elc files.

* leim/Makefile.in (extraclean): Depend on bootstrap-clean to
remove generated .el files.

* lib/Makefile.in (extraclean): Added target to remove sys
directory and run distclean.

* lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
2019-06-20 17:04:04 +02:00
Paul Eggert
b5376e0ebd Skip tests if test subdir is missing
Problem reported by Jeffrey Walton in:
https://lists.gnu.org/r/emacs-devel/2019-05/msg00041.html
* Makefile.in (CHECK_TARGETS): New macro; use it
to simplify 'check' and similar rules.
($(CHECK_TARGETS)): If tests are missing, do not fail
after issuing a diagnostic.  Just skip the tests.
2019-05-03 14:54:38 -07:00
Philipp Stephani
e4406e52a7 Also regenerate emacs-module.h if module-env-*.h changes.
* Makefile.in (CONFIG_STATUS_FILES_IN): Add versioned environment
header fragments.
2019-04-28 19:17:41 +02:00
Eli Zaretskii
c5358e831f Regenerate src/emacs-module.h when emacs-module.h.in changes
* Makefile.in (CONFIG_STATUS_FILES_IN): Add
src/emacs-module.h.in.
2019-04-24 18:38:31 +03:00
Paul Eggert
6fa8d3c894 Let plain ‘make’ work even not GNU Make
* Makefile.in (top_distclean): Clean makefile as well as Makefile.
* configure.ac: If not using plain ‘make’, create a makefile
so that plain ‘make’ simply calls $(MAKE).
2019-04-22 20:44:54 -07:00
Stefan Monnier
dbc48d758a Avoid having to build src/emacs when we just want to make tags
* Makefile.in (TAGS tags): Remove `src` from the dependencies.
* src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c.
2019-01-23 16:02:11 -05:00
Daniel Colascione
d12e5d003d Add portable dumper
Add a new portable dumper as an alternative to unexec.  Use it by default.

* src/dmpstruct.awk: New file.
* src/doc.c (get_doc_string): use will_dump_p().
* src/editfns.c (styled_format): silence compiler warning
with UNINIT.
* src/emacs-module.c (syms_of_module): staticpro ltv_mark.
* src/emacs.c (gflags): new variable.
(init_cmdargs): unwrap
(string_starts_with_p, find_argument, dump_error_to_string)
(load_pdump): new functions.
(main): detect pdumper and --temacs invocation; actually load
portable dump when detected; set gflags as appropriate; changes to
init functions throughout to avoid passing explicit
'initialized' argument.
* src/eval.c (inhibit_lisp_code): remove unused variable.
(init_eval_once_for_pdumper): new function.
(init_eval_once): call it.
* src/filelock.c: CANNOT_DUMP -> will_dump_p()
* src/fingerprint-dummy.c: new file
* src/fingerprint.h: new file
* src/fns.c: CANNOT_DUMP -> will_dump_p(), etc.
(weak_hash_tables): remove
(hashfn_equal, hashfn_eql): un-staticify
(make_hash_table): set new 'next_weak' hash table field; drop
global weak_hash_tables logic.
(copy_hash_table): drop global weak_hash_tables logic.
(hash_table_rehash): new function.
(hash_lookup, hash_put, hash_remove_from_table, hash_clear):
rehash if needed.
(sweep_weak_table): un-staticify; explain logic; bool-ify.
(sweep_weak_hash_tables): remove function.
* src/font.c (syms_of_font): remember pdumper stuff.
* src/fontset.c (syms_of_fontset): remember pdumper stuff.
* src/frame.c (make_initial_frame): don't reset Vframe_list.
(init_frame_once_for_pdumper, init_frame_once): new functions.
(syms_of_frame): remove redundant staticpro.
* src/fringe.c (init_fringe_once_for_pdumper): new functin.
(init_fringe_once): call it.
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper): new function.
(syms_of_ftcrfont): call it.
* src/ftfont.c (syms_of_ftfont_for_pdumper): new function.
(syms_of_ftfont): call it.
* src/ftxont.c (syms_of_ftxfont_for_pdumper): new function.
(syms_of_ftxfont): call it.
* src/gmalloc.c: adjust for pdumper througout
(DUMPED): remove weird custom dumped indicator.
* src/gnutls.c (syms_of_gnutls): pdumper note for
gnutls_global_initialized.
* src/image.c (syms_of_image): add pdumper comment,
initializer note.
* src/insdel.c (prepare_to_modify_buffer_1): account
for buffer contents possibly being in dump image.
* src/keyboard.c (syms_of_keyboard_for_pdumper): new function.
(syms_of_keyboard): staticpro more; call pdumper syms function.
* src/lisp.h: add comments throughout
(gflags): declare.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p, will_dump_with_unexec_p)
(dumped_with_unexec_p, definitely_will_not_unexec_p): new
functions.
(POWER_OF_2, ROUNDUP): move macros.
(PSEUDOVECTOR_TYPE, PSEUDOVECTOR_TYPEP): take vectorlike header
pointer instead of vector; constify.
(Lisp_Hash_Table): add comment about need to rehash on access; add
comment for next_weak.
(HASH_KEY, HASH_VALUE, HASH_HASH, HASH_TABLE_SIZE): const-ify.
(hash_table_rehash): declare.
(hash_rehash_needed_p, hash_rehash_if_needed): new functions.
(finalizers, doomed_finalizers): declare extern.
(SUBR_SECTION_ATTRIBUTE): new macro.
(staticvec, staticidx): un-static-ify.
(sweep_weak_hash_tables): remove declaration.
(sweep_weak_table): declare.
(hashfn_eql, hashfn_equal): declare.
(number_finalizers_run): new variable.
(Vdead): externify when ENABLE_CHECKING.
(gc_root_type): new enumeration.
(gc_root_visitor): new struct.
(visit_static_gc_roots): declare.
(vectorlike_nbytes): declare.
(vector_nbytes): define as trivial inline function wrapper for
vectorlike_nbytes.
(init_obarray_once): change signature.
(primary_thread): extern-ify.
(init_buffer): change signature.
(init_frame_once): declare.
* src/lread.c (readevalloop): adjust for new dumped predicates.
(init_obarray_once): new function.
(ndefsubr): new variable.
(defsubr): increment it.
(load_path_check): adjust for pdumper.
(load_path_default): use pdumper functions; adjust for
dump search.
* src/macfont.m (macfont_init_font_change_handler): avoid
shadowing global.
(syms_of_macfont_for_pdumper): new function.
(syms_of_macfont): call it.
* src/menu.c (syms_of_menu): staticpro more stuff.
* src/minibuf.c (Ftry_completion): rehash if needed.
(init_minibuf_once_for_pdumper): new function.
(init_minibuf_once): call it.
* src/nsfont.m (syms_of_nsfns): staticpro more.
* src/nsfont.m (syms_of_nsfont_for_pdumper): new function.
(syms_of_nsfont): call it.
* src/nsterm.m (syms_of_nsfont): remember pdumper stuff.
* src/pdumper.c: new file.
* src/pdumper.h: new file.
* src/process.c (init_process_emacs): use new pdumper functions
instead of CANNOT_DUMP.
* src/profiler.c (syms_of_profiler_for_pdumper): new function.
(syms_of_profiler_for_pdumper): call it.
* src/search.c (syms_of_search_for_pdumper): new function.
(syms_of_search_for_pdumper): call it.
* src/sheap.c (bss_sbrk_did_unexec): remove.
* src/sheap.h (bss_sbrk_did_unexec): remove.
* src/syntax.c (syms_of_syntax): don't redundantly staticpro
re_match_object.
* src/sysdep.c: use will_dump_with_unexec_p() instead of bss
hack thing.
* src/syssignals.h (init_sigsegv): declare.
* src/systime.h (init_timefns): remove bool from signature.
* src/textprop.c (syms_of_textprop): move staticpro.
* src/thread.c (main_thread_p): constify.
* src/thread.h (main_thread_p): constify.
* src/timefns.c (init_timefns): remove bool from signature.
(syms_of_timefns_for_pdumper): new function.
(syms_of_timefns): call it.
* src/w32.c: rearrange code.
* src/w32.h (w32_relocate): declare.
* src/w32fns.c (syms_of_w32fns): add pdumper note.
* src/w32font.c (syms_of_w32font_for_pdumper): new function.
(syms_of_w32font): call it.
* src/w32heap.c (using_dynamic_heap): new variable.
(init_heap): use it.
* src/w32menu.c (syms_of_w32menu): add pdumper note.
* src/w32proc.c
(ctrl_c_handler, mainCRTStartup, _start, open_input_file)
(rva_to_section, close_file_data): move here.
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
new function.
(syms_of_w32uniscribe): call it.
* src/window.c (init_window_once_for_pdumper): new function.
(init_window_once): call it; staticpro more stuff.
* src/xfont.c (syms_of_xfont_for_pdumper): new function.
(syms_of_xfont): call it.
* src/xftfont.c (syms_of_xftfont_for_pdumper): new function.
(syms_of_xftfont): call it.
* src/xmenu.c (syms_of_xmenu_for_pdumper): new function.
(syms_of_xmenu): call it.
* src/xselect.c (syms_of_xselect_for_pdumper): new function.
(syms_of_xselect): call it.
* src/xsettings.c (syms_of_xsettings): add more pdumper notes.
* src/term.c (syms_of_xterm): add pdumper note.

* src/dispnew.c (init_faces_initial): new function.
(init_display_interactive): rename from init_display; use
will_dump_p instead of !initialized.  Initialize faces early for
pdumper if needed.
(init_display): new function.
(syms_of_display_for_pdumper): new function.
(syms_of_display): call it.

* src/dbusbind.c (syms_of_dbusbind): Add TODO for bus reset
on pdumper load.

* src/data.c (Fdefalias): Use will_dump_p
instead of Vpurify_flag.
(Fmake_variable_buffer_local): silence compiler warning with -Og
by making valcontents UNINIT.
(arith_driver): silence compiler warning with UNINIT.

* src/conf_post.h (ATTRIBUTE_SECTION): new macro.

* src/composite.c (composition_gstring_put_cache): rehash hash
table if needed.

* src/coding.c (init_coding_once, syms_of_coding): remember
pdumper stuff.

* src/charset.h (charset_table_size, charset_table_user): declare.

* src/charset.c (charset_table_used, charset_table_size): un-static.
(init_charset_oncem, syms_of_charset): remember pdumper stuff.

* src/category.c (category_table_version): remove obsolete
variable.

* src/callint.c (syms_of_callint): staticpro 'preserved_fns'
(init_callproc): use will_dump_p instead of !CANNOT_DUMP.

* src/bytecode.c (exec_byte_code): rehash table tables if needed

* src/buffer.c (alloc_buffer_text, free_buffer_text): account for
pdumper
(init_buffer_once): add TODO; remember stuff for pdumper.
(init_buffer): don't take initialized argument; adjust
for pdumper.

* src/atimer.c (init_atimer): initialize subr only if
!initialized.

* src/alloc.c: (vector_marked_p, set_vector_marked)
(vectorlike_marked_p, set_vectorlike_marked, cons_marked_p)
(set_cons_marked, string_marked_p, set_string_marked)
(symbol_marked_p, set_symbol_marked, interval_marked_p)
(set_interval_marked): new accessor routines.  Use them
instead of raw GC access throughout.
(Vdead): make non-static when ENABLE_CHECKING.
(vectorlike_nbytes): rename of 'vector_nbytes'; take a vectorlike
header as input instead of a vector.
(number_finalizers_run): new internal C variable.
(mark_maybe_object): check for pdumper objects.
(valid_pointer_p): don't be gratuitously inefficient under rr(1).
(make_pure_c_string): add support for size_byte = -2 mode
indicating that string data points into Emacs image rodata.
(visit_vectorlike_root): visits GC roots embedded in
vectorlike objects.
(visit_buffer_root): visits GC roots embedded in
our totally-not-a-buffer buffer global objects.
(visit_static_gc_roots): visit GC roots in the Emacs data section.
(mark_object_root_visitor): root callback used for conventional GC
marking
(weak_hash_tables): new internal variable for tracking found weak
hash tables during GC.
(mark_and_sweep_weak_table_contents): new weak hash table marking.
(garbage_collect_1): use new GC root visitor machinery.
(mark_vectorlike): accept a vectorlike_header instead of a
Lisp_Vector.
(mark_frame, mark_window, mark_hash_table): new functions.
(mark_object): initialize 'm'; check for pdumper objects and use
new mark-bit accessors throughout.  Remove some object-specific
marking code and move to helper functions above.
(survives_gc_p): check for pdumper objects.
(gc-sweep): clear pdumper mark bits.
(init_alloc_once_for_pdumper): new helper function for early init
called both during normal init and pdumper load.
(init_alloc_once): pdumper integration.

* src/Makefile.in: Rewrite dumping for pdumper; add pdumper.o;
invoke temacs with --temacs command line option; build dmpstruct.h
from dmpstruct.awk; stop relying on CANNOT_DUMP; clean up pdumper
intermediate files during build.

* nextstep/Makefile.in: build emacs.pdmp into NS packages

* lisp/startup.el: account for new '--temacs' and '--dump-file'
command line option.

* lisp/loadup.el: rewrite early init to account for pdumper; use
injected 'dump-mode' variable (set via the new '--temacs' option)
instead of parsing command line.

* lisp/cus-start.el: Check 'dump-mode' instead of 'purify-flag',
since the new 'dump-mode'

* lib-src/make-fingerprint.c: new program

* lib-src/Makefile.in: built make-fingerprint utility program

* configure.ac: Add --with-pdumper toggle to control pdumper
support; add --with-unexec toggle to control unexec support.
Add --with-dumping option to control which dumping strategy we use
by default.  Adjust for pdumper throughout.  Check for
posix_madvise.

* Makefile.in: Add @DUMPING@ substitution; add pdumper mode.

* .gitignore: Add make-fingerprint, temacs.in, fingerprint.c,
dmpstruct.h, and pdumper dump files.
2019-01-15 17:37:36 -05:00
Paul Eggert
ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Glenn Morris
e456ddaa30 Tweak Makefile emacs-module.h handling
* Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
Handle whitespace.  Remove non-portable mkdir argument.

(cherry picked from commit c1d0dbd6ca)
2018-10-16 18:43:45 +03:00
Philipp Stephani
1dce1b2ffb Install emacs-module.h (Bug#31929)
* Makefile.in (includedir): New variable.
(install-arch-indep): Install emacs-module.h.
(uninstall): Uninstall emacs-module.h.

(cherry picked from commit 00ea749f2a)
2018-10-16 18:43:18 +03:00
Glenn Morris
5cbce95796 * Makefile.in (uninstall): Remove some stray icon files. 2018-10-03 17:08:28 -04:00
Glenn Morris
c1d0dbd6ca Tweak Makefile emacs-module.h handling
* Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
Handle whitespace.  Remove non-portable mkdir argument.
2018-10-03 16:47:01 -04:00
Philipp Stephani
00ea749f2a Install emacs-module.h (Bug#31929)
* Makefile.in (includedir): New variable.
(install-arch-indep): Install emacs-module.h.
(uninstall): Uninstall emacs-module.h.
2018-10-03 22:00:14 +02:00
Paul Eggert
3624317969 Fix ‘make clean’ with a file named ‘-.o’
Problem reported by T.V Raman in:
https://lists.gnu.org/r/emacs-devel/2018-09/msg00866.html
* Makefile.in (clean, extraclean):
* doc/emacs/Makefile.in (mostlyclean):
* doc/lispintro/Makefile.in (mostlyclean):
* doc/lispref/Makefile.in (mostlyclean):
* doc/misc/Makefile.in (mostlyclean, clean):
* etc/refcards/Makefile (clean):
* lib-src/Makefile.in (mostlyclean, extraclean):
* lib/Makefile.in (clean):
* lwlib/Makefile.in (clean mostlyclean):
* oldXMenu/Makefile.in (clean mostlyclean):
* src/Makefile.in (mostlyclean, extraclean):
* test/Makefile.in (mostlyclean):
Say ‘rm ./*.o’ instead of ‘rm *.o’ to avoid undesirable failure
when a file name begins with ‘-’.
2018-09-24 10:45:07 -07:00
Glenn Morris
0407733ef3 Merge from origin/emacs-26
7efcdf7 (origin/emacs-26) Clarify completion text in the ELisp manual
30b0b0e Fix handling of abbreviated control command in gdb-mi.el
5cf282d Clarify documentation of functions reading character events
96281c5 Record :version for built-in variables while dumping
82160cf * src/process.c (connect_network_socket): Fix memory leak.  (...
6c616e4 * Makefile.in (appdatadir): Use the non-obsolete location "me...
9618e16 Better fix for bug#32550
30d94e4 Fix Bug#32550
57bcdc7 Don't call XGetGeometry for frames without outer X window (Bu...
82fc6b6 * lisp/calculator.el: Fix doc typo.
ddc7c64 Standardize calc bug reporting instructions

Conflicts:
	lisp/cus-start.el
2018-09-10 13:12:38 -07:00
Glenn Morris
6c616e465c * Makefile.in (appdatadir): Use the non-obsolete location "metainfo".
; https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
; "AppStream tools scan the /usr/share/appdata/ path for legacy
; compatibility as well.  It should not be used anymore by new
; software though, even on older Linux distributions (like RHEL 7
; and Ubuntu 16.04 LTS) the metainfo path is well supported.  Support
; for the legacy path might be dropped completely in future."
2018-09-05 16:37:56 -04:00
Paul Eggert
9a27310f0a Set group when installing, too
From a patch by Ulrich Mueller in:
https://lists.gnu.org/r/emacs-devel/2018-06/msg00687.html
* Makefile.in (set_installuser): Also set the group, in order
to match install(1) behavior.  Also, don’t clutter stderr
with a diagnostic if ‘id’ is missing.
2018-06-21 13:30:23 -07:00
Glenn Morris
461e681822 * Makefile.in (check-declare): Also check test/ directory. 2018-03-09 16:40:43 -05:00
Glenn Morris
9bd8f01cd6 Merge from origin/emacs-26
2c0cfa6455 * ChangeLog.3: Update
4387bb44ae Update authors
bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-...
bd2a2a1e84 Improve documentation of etags
7ba75b9637 Teach etags new interpreters for some languages
1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-stri...
dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#2...
80463a43da Improve documentation of fill-separate-heterogeneous-words...
4bd2416d55 Fix documentation of some x-* functions
9c2b11484f Inherit query-on-exit flag to stderr process (Bug#30031)
3efb1e7def Fix Bug#30057
a9b884c60f Tag some unstable tests, and skip by default (bug#24503)

# Conflicts:
#	test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
2018-01-15 13:53:40 -08:00
Glenn Morris
a9b884c60f Tag some unstable tests, and skip by default (bug#24503)
* Makefile.in (check-all): New phony target.
* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
Also skip unstable tests.
(SELECTOR_ALL): New variable.
(check-all): New phony target.
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
(eieio-test-method-order-list-6):
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-37-obsolete-name-in-constructor):
Mark as unstable rather than skipping on hydra.nixos.org.
2018-01-09 19:59:04 -08:00
Paul Eggert
bb267f17f9 Merge from origin/emacs-26
63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
2018-01-01 01:13:04 -08:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Glenn Morris
56274bc0bb Add a Makefile rule for running gitmerge
* Makefile.in (GITMERGE_EMACS, GITMERGE_NMIN): New variables.
(gitmerge): New phony target.
2017-12-18 20:08:31 -05:00
Paul Eggert
a89f0b6f33 maint: shorten https://lists.gnu.org/archive/html/... links 2017-11-25 22:48:12 -08:00
Nicolas Petton
82d2a05a74 ; * Makefile.in: set PREFERRED_BRANCH to emacs-26 2017-10-05 22:26:47 +02:00
Paul Eggert
5172fa02cc Prefer HTTPS to HTTP for gnu.org
This fixes some URLs I omitted from my previous pass,
notably those in lists.gnu.org.  Although lists.gnu.org
does not yet support TLS 1.1, TLS 1.0 is better than nothing.
* lisp/erc/erc.el (erc-official-location):
* lisp/mail/emacsbug.el (report-emacs-bug):
Use https:, not http:.
2017-10-01 19:59:01 -07:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Paul Eggert
cb80fd0d50 Less chatter for ’make info/dir’
* Makefile.in (${srcdir}/info/dir): Tweak shell command so
that an ordinary make says just "GEN info/dir" rather than
also having a seemingly-unrelated mv line.
2017-09-12 12:18:08 -07:00
Paul Eggert
5ed0bf1061 Clarify when autogen.sh should run only autoconf
* Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
not plain ‘./autogen.sh’, to make it clear that only
autoconf-related tools should be run here.
2017-08-02 13:03:03 -07:00
Paul Eggert
8201263765 Fix minor quoting issues in Makefile.in
* Makefile.in (install-arch-dep, uninstall):
Quote EMACS and EMACS_NAME more consistently.
2017-04-13 15:37:46 -07:00
Glenn Morris
900caf992e * Makefile.in (install-etc): Use existing Makefile variables. 2017-04-13 13:56:02 -04:00
Paul Eggert
55086ef651 Fix obsolete ‘test/automated’ references
* Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
(bootstrap-clean, maintainer-clean):
Clean ‘test’, not ‘test/automated’.  Test for existence of
subdirectory only for ‘test’, not for directories that should
always exist.
* admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
* lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
* lisp/man.el (Man-parse-man-k):
* lisp/url/url-domsuf.el, make-dist:
* test/file-organization.org:
Fix obsolete references to test/automated.
2017-03-27 11:30:08 -07:00
Paul Eggert
2f8935099c Fixups for GNU Make switchover
This fixes some minor problems introduced in the recent switch to GNU
Make, discovered by further testing.  Without some of these changes
'make -j' would sometimes have race conditions caused by missing
dependencies.  (Bug#26100)
* .gitignore: Remove src/stamp-h.in, src/stamp-h1.
* Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
src/config.in, since the former's timestamp now represents
the latter's.
($(srcdir)/configure): Use plain ./autogen.sh, for consistency
with other autogen.sh invocations.
($(srcdir)/src/stamp-h.in):
Remove rule, as this file is no longer created.
* Makefile.in (top_distclean):
* src/Makefile.in (bootstrap-clean):
No need to remove stamp-h1, as that was an Automake byproduct
and Automake is no longer in use.
* lib/Makefile.in, src/Makefile.in:
(AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
(../config.status, Makefile): Simplify by limiting dependencies
to files we care about and files in the repository, and by
using just one file to represent the timestamps on multiple
targets updated by the same rule.
* autogen.sh: Do not create or use src/stamp-h.in.
Instead, have 'find' test the two output files directly.
2017-03-17 11:42:34 -07:00
Paul Eggert
65faa7bcb5 Switch from Automake to GNU Make
Emacs assumes GNU Make, and GNU Make has much of the functionality of
Automake built-in.  The Emacs build process uses Automake primarily
because Emacs uses some Gnulib code and Gnulib formerly required
Automake.  Now that Gnulib no longer requires Automake, Emacs can
stop using Automake and this should simplify Emacs maintenance
in the future (Bug#26100).  Although this patch may look long, most of
it is generated automatically: the changes to build-aux/config.guess,
build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
all done by admin/merge-gnulib.
* .gitignore: Remove build-aux/ar-lib, build-aux/compile,
build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
as they are no longer built by autogen.sh.
Add lib/gnulib.mk, as it is now built by 'configure'.
Remove nt/gnulib.mk, as it is no longer built by 'make'.
* INSTALL.REPO, README, admin/make-tarball.txt:
Remove mention of Automake.
* Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
(AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
Remove.
($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
($(srcdir)/src/config.in):
Use autogen.sh instead of doing it by hand.
* admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
New vars, to simplify processing of avoided modules.
(GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
Add --gnu-make, and change makefile name to gnulib.mk.in.
Copy config.guess, config.sub, and install-sh too, since
Automake no longer does that for us.
* admin/notes/copyright:
* admin/update_autogen (genfiles):
Update list of files.
Remove hack for nt/gnulib.mk, a file that is no longer needed.
* autogen.sh (progs): Remove Automake.
(automake_min): Remove.
Build aclocal.m4 so that autoreconf need not use aclocal.
* build-aux/config.guess, build-aux/config.sub:
* build-aux/install-sh:
New files, copied from Gnulib.  These are now updated by
admin/merge-gnulib instead by autogen.sh.
* configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
Remove.
(AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
(AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
(BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
(--disable-silent-rules): New option, since Automake no longer
does this for us.
(AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
with AM_SUBST_NOTMAKE.
(AC_PROG_INSTALL): Add call.
(MAKEINFO): Do not bother with the 'missing' program.
(MAKEINFO, SYSTEM_TYPE): AC_SUBST.
(AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
(SUBDIR_MAKEFILES): Remove duplication.
* lib/Makefile.am: Remove, replacing with:
* lib/Makefile.in: New file, with the old Makefile.am contents
and with the following changes:
(AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
(MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
(AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
(EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
Remove.
(VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
(AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
(libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
(mostlyclean, distclean, bootstrap-clean, maintainer-clean):
New macros and rules, since Automake no longer does them.
Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
Include dependency files if AUTO_DEPEND.
(ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
New macros.
(bootstrap-clean): Depend on distclean, not maintainer-clean,
and remove gnulib.mk.
(AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
New macros and rules, copied from ../Makefile.in.
($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
(.c.o, e-%.o): New generic rules.
* lib/gnulib.mk: Remove.
* lib/gnulib.mk.in: New file, which is built by autogen.sh
and contains much of what used to be in lib/gnulib.mk.
* m4/gnulib-common.m4: Copy from gnulib.
* make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
* nt/gnulib-cfg.mk: New file, which supersedes ...
* nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
* src/Makefile.in (ACLOCAL_INPUTS): Remove.
(AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
($(top_srcdir)/configure, ../config.status, config.in Makefile):
Defer to parent Makefile.
2017-03-17 11:42:34 -07:00
Paul Eggert
995be66f0f Install update-game-score only on request
Most distributions do not install update-game-score properly
due to setuid/setgid complications, so install it only when
the installer specifies a user or group (Bug#25895).
* .gitattributes: Remove lib-src/update-game-score.exe.manifest.
* Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
New vars.
(epaths-force): Use PATH_GAME.
(uninstall): Remove snake-scores and tetris-scores only if shared.
* configure.ac: Default --with-gameuser to 'no'.
(UPDATE_MANIFEST): Remove.
* etc/NEWS: Mention this.
* lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
(use_gamedir): New macro.
(UTILITIES): Remove update-game-score unless use_gamedir.
(SCRIPTS): Remove $(UPDATE_MANIFEST).
($(DESTDIR)${archlibdir}): Install game directory program and data
only if use_gamedir.
* lib-src/update-game-score.exe.manifest: Remove, as
update-game-score is no longer installed on MS-Windows.
* lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
Use auxiliary program only if setuid or setgid.
* make-dist: Do not distribute update-game-score.exe.manifest.
* src/callproc.c (init_callproc):
Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
(syms_of_callproc): Remove unnecessary initialization of
Vshared_game_score_directory.
2017-03-12 12:04:10 -07:00
Phillip Lord
542a763281 Revert "Replace ldefs-boot with a much smaller file"
This reverts commit c27b645956.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:49:48 +00:00
Phillip Lord
8f58747a87 Revert "Speed generation of ldefs-boot-auto"
This reverts commit 7b5e1c8238.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
2017-03-07 13:48:20 +00:00
Phillip Lord
7b5e1c8238 Speed generation of ldefs-boot-auto
Previously, generation of ldefs-boot-auto required at least one full
bootstrap and, in extreme cases, two. Now, from build system, it
requires the same time as taken to dump Emacs.

* Makefile.in: Remove all calls, pass to src.
* admin/ldefs-clean.el: Update for changed messages.
* lisp/Makefile.in (compile-first-delete): Add.
* lisp/ldefs-boot-auto.el: Update.
* src/Makefile.in (generate-ldefs-boot): Add.
2017-02-28 21:32:49 +00:00
Eli Zaretskii
ba6e7232d0 Automatically regenerate emacs.1 and *.rc files
* Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
non-Makefile files produced by config.status.
($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
their targets are regenerated when the source changes.
2017-02-18 14:49:30 +02:00
Paul Eggert
d7134989be Do not trick info/dir’s timestamp
* Makefile.in (${srcdir}/info/dir): When making this file, do not
do anything special about its timestamp.  Previously this rule
used move-if-change, which meant that this file’s timestamp could
end up being older than the files it depends on, and this caused
‘make --question info’ to fail, which caused ‘make-dist’ to fail
now that ‘make-dist’ invokes ‘make --question info’.
2017-02-06 18:04:50 -08:00
Glenn Morris
fc20bd940f Remove unused configure output variable
* configure.ac (GNULIB_MK):
* Makefile.in (gnulib_mk): Remove, no longer used.
2017-01-08 10:19:48 -08:00
Glenn Morris
25d3297bb9 Fix automake dependencies
* Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
All platforms need this file to exist.
2017-01-08 10:16:16 -08:00
Paul Eggert
952d0f2ce4 Remove @SET_MAKE@ from manually-maintained files
Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
* Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
* src/Makefile.in: Remove @SET_MAKE@.
2017-01-07 18:15:37 -08:00
Eli Zaretskii
003954e67f Fix dependencies of nt/gnulib.mk
* Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
of nt/gnulib.mk on lib/Makefile.in.
2017-01-05 18:04:54 +02:00
Eli Zaretskii
10444dcf77 Generate nt/gnulib.mk from lib/gnulib.mk
This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
with the purpose of avoiding manual maintenance of
nt/gnulib.mk.

* nt/gnulib-modules-to-delete.cfg: New file.
* nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1): New variables.
(${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.

* make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
files to link.
* configure.ac (GNULIB_MK): Compute the value according to $opsys.
* autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
running autoreconf.
* Makefile.in (gnulib_mk): New variable.
($(srcdir)/nt/gnulib.mk): Rule to produce it.
(AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
name.
* .gitignore: Add nt/gnulib.mk.

* src/w32.c (acl_errno_valid): Implement it here, as we no longer
build the acl-permissions module from Gnulib.
2017-01-03 17:46:40 +02:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Phillip Lord
c27b645956 Replace ldefs-boot with a much smaller file
* Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
   (bootstrap): Depend on bootstrap-build.
 * admin/ldefs-clean.el: New file.
 * lisp/Makefile.in (compile-first): Depend on loaddefs.el
 * lisp/ldefs-boot.el: Remove.
 * lisp/ldefs-boot-auto.el: New file.
 * lisp/ldefs-boot-manual.el: New file.
 * lisp/loadup.el: Load ldefs-boot-manual.el.
 * src/emacs.c (generating_ldefs_boot): New variable.
   (main): Check whether we are generating ldefs.
 * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
   requested.
 * src/lisp.h (generating_ldefs_boot): New variable.
 * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
   lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
   lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
   ldefs-boot.
 * admin/update_autogen: Alter mechanism for ldefs-boot generation.
2016-12-13 22:15:32 +00:00
Andreas Schwab
2335b9100b * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
system unit file.
2016-12-10 21:14:18 +01:00
Paul Eggert
aed629d61c Put post-25 ChangeLog entries into ChangeLog.3
* ChangeLog.2: Copy from emacs-25 branch.
* ChangeLog.3: New file, with changes only in master.
* Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
2016-12-07 12:53:56 -08:00
Paul Eggert
c61ee94959 Merge from origin/emacs-25
4af5981 Add a comment in generated refcards about the source
ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
4887e7c js-mode: Fix indent problem after a regexp
e992ac0 Fix sluggish display of symbols in UTF-8 language environment
1fc101b Don't confuse how Texinfo outputs @var with the input
91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
5b0cddd More fixes in copyright notices in etc/refcards/
f994c20 Update copyright text in refcards
9ad2ae7 Fix Outline command names
26c3554 Send text received by bracketed paste to process
db0b58d Correct the statement about programming modes always running ...
78aece4 Improve documentation of 'occur'
eb364fd Do call debugger on failed cl-assert
3ef4ee8 Avoid infloop in python
8da810f Don't refer to obsolete FEATURE-unload-hook
4f478ca Improve documentation of dabbrevs
7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
3b199f7 Improve documentation of some Help commands
93d3a0e Fix documentation of yes-or-no prompts
af04919 Fix documentation of partial completion style
ed80184 Fix documentation of the mode line on emacsclient frames
e6be855 Fix description of 'C-z' in User manual
16f7007 Improve and clarify documentation of Outline Mode
31d93aa Add Emacs version number to nt/README.W32
0b6b815 Fix python-mode hideshow regexp
dc152c5 Modernize usage of 'macOS' in doc and comments
84c5343 Prefer comments /* like this */ in C code
bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
3ef86fd Clarify documentation of face attribute functions
de51d59 ; * nt/README.W32: Minor copyedits.
db436e9 Don't call debug on failed cl-assert

# Conflicts:
#	doc/emacs/cmdargs.texi
#	etc/NEWS
#	etc/PROBLEMS
#	lisp/auth-source.el
#	lisp/net/tramp-sh.el
2016-11-19 14:31:05 -08:00
Glenn Morris
181bd848eb Include a systemd user unit file. (Bug#16507)
* etc/emacs.service: New file.
* doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
* Makefile.in (libdir): New, set by configure.
(systemdunitdir): New variable.
(install-etc, uninstall): Handle the emacs.service file.
2016-11-13 15:46:31 -08:00
Paul Eggert
dc152c54f4 Modernize usage of 'macOS' in doc and comments
Apple changed the spelling of its operating system again, to "macOS",
effective with macOS 10.12 Sierra (2016-09-20).  Change Emacs
documentation and comments to match this.  Stick with older OS
spellings ("OS X", "Mac OS X") when talking about older releases where
the older names are more correct.
2016-11-06 00:42:03 -07:00
Paul Eggert
6a20bd3579 Merge from origin/emacs-25
dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
9c247d2 Update category-table for Chinese characters
43986d1 Inhibit buffer relocation during regex searches
fee4cef Revert fixes to allocation of regex matching
2016-11-04 15:01:17 -07:00
Glenn Morris
91c97b6eed * Makefile.in (install-arch-indep): Skip etc/refcards/emacsver.tex.in. 2016-10-26 15:47:54 -04:00
John Wiegley
a644fa3675 Merge from origin/emacs-25
f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
afe7d1f Revert "Document EXIF image rotation"
c6f377c Document OS X LANG default
eb4a18c Set locale when run from OS X GUI
456c0a3 make-docfile cleanup for I/O, etc.
25ec995 Memory-management cleanup in make-docfile
02d925e Kevin Gallagher has new email address
4ef153b Improve doc strings of 'forward/backward-word-strictly'
3ad05a0 Describe Makefile test targets in test/README
2016-02-15 14:09:12 -08:00
Michael Albinus
3ad05a0dc4 Describe Makefile test targets in test/README
* CONTRIBUTE: Move Makefile test targets to test/README.

* Makefile.in:
* test/README: Describe Makefile test targets.
2016-02-10 12:18:30 +01:00
Paul Eggert
370a260218 Make it easy to override preferred-branch test
* Makefile.in (preferred-branch-is-current):
Rename from emacs-25-branch-is-current.  All uses changed.
(PREFERRED_BRANCH): New macro.
2016-01-30 15:26:09 -08:00
Paul Eggert
99fa8c3dbf - 2016-01-30 13:56:23 -08:00
Nicolas Petton
a4ab2a563a Make it possible to run make change-history on emacs-25
* Makefile.in: Check if the current branch is emacs-25 instead of
  master.
2016-01-30 15:20:11 +01:00
Michael Albinus
696f32c95c Merge missing commit from emacs-25 branch
* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
New variables.
(check-expensive, check-doit): New targets.

* Makefile.in (check-expensive): New target.

* test/lisp/autorevert-tests.el
(auto-revert-test01-auto-revert-several-files):
* test/lisp/filenotify-tests.el (file-notify--deftest-remote)
(file-notify-test06-many-events):
* test/lisp/net/tramp-tests.el (tramp-test26-process-file)
(tramp-test27-start-file-process, tramp-test28-shell-command)
(tramp-test29-vc-registered)
(tramp-test31-special-characters-with-stat)
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls)
(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
(tramp-test35-unload): Tag the tests as :expensive-test.
2016-01-12 10:37:06 +01:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00
Michael Albinus
4e62197a64 Introduce check-expensive tests.
* Makefile.in (check-expensive):
* test/automated/Makefile.in (check-expensive): New target.

* test/automated/auto-revert-tests.el
(auto-revert-test01-auto-revert-several-files):
* test/automated/file-notify-tests.el (file-notify--deftest-remote):
* test/automated/tramp-tests.el (tramp-test26-process-file)
(tramp-test27-start-file-process, tramp-test28-shell-command)
(tramp-test29-vc-registered)
(tramp-test31-special-characters-with-stat)
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls)
(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
(tramp-test35-unload): Tag the tests as :expensive-test.
2016-01-04 23:28:07 +01:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Glenn Morris
ffefb6e899 * Makefile.in: Avoid duplication.
(have-tests): New rule.
(check, check-maybe): Use it.
2015-12-03 19:57:11 -05:00
Phillip Lord
354a1fc38d make check unconditional, check-maybe top-level.
* Makefile.in: Add check-maybe target.
 * test/Makefile.in: Restore unconditional behaviour to make check.
2015-12-02 21:28:56 +00:00
Phillip Lord
22bbf7ca22 Rename all test files to reflect source layout.
* CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
   test directory moves.
 * test/file-organisation.org: New file.
 * test/automated/Makefile.in
   test/automated/data/decompress/foo.gz
   test/automated/data/epg/pubkey.asc
   test/automated/data/epg/seckey.asc
   test/automated/data/files-bug18141.el.gz
   test/automated/data/flymake/test.c
   test/automated/data/flymake/test.pl
   test/automated/data/package/archive-contents
   test/automated/data/package/key.pub
   test/automated/data/package/key.sec
   test/automated/data/package/multi-file-0.2.3.tar
   test/automated/data/package/multi-file-readme.txt
   test/automated/data/package/newer-versions/archive-contents
   test/automated/data/package/newer-versions/new-pkg-1.0.el
   test/automated/data/package/newer-versions/simple-single-1.4.el
   test/automated/data/package/package-test-server.py
   test/automated/data/package/signed/archive-contents
   test/automated/data/package/signed/archive-contents.sig
   test/automated/data/package/signed/signed-bad-1.0.el
   test/automated/data/package/signed/signed-bad-1.0.el.sig
   test/automated/data/package/signed/signed-good-1.0.el
   test/automated/data/package/signed/signed-good-1.0.el.sig
   test/automated/data/package/simple-depend-1.0.el
   test/automated/data/package/simple-single-1.3.el
   test/automated/data/package/simple-single-readme.txt
   test/automated/data/package/simple-two-depend-1.1.el
   test/automated/abbrev-tests.el
   test/automated/auto-revert-tests.el
   test/automated/calc-tests.el
   test/automated/icalendar-tests.el
   test/automated/character-fold-tests.el
   test/automated/comint-testsuite.el
   test/automated/descr-text-test.el
   test/automated/electric-tests.el
   test/automated/cl-generic-tests.el
   test/automated/cl-lib-tests.el
   test/automated/eieio-test-methodinvoke.el
   test/automated/eieio-test-persist.el
   test/automated/eieio-tests.el
   test/automated/ert-tests.el
   test/automated/ert-x-tests.el
   test/automated/generator-tests.el
   test/automated/let-alist.el
   test/automated/map-tests.el
   test/automated/advice-tests.el
   test/automated/package-test.el
   test/automated/pcase-tests.el
   test/automated/regexp-tests.el
   test/automated/seq-tests.el
   test/automated/subr-x-tests.el
   test/automated/tabulated-list-test.el
   test/automated/thunk-tests.el
   test/automated/timer-tests.el
   test/automated/epg-tests.el
   test/automated/eshell.el
   test/automated/faces-tests.el
   test/automated/file-notify-tests.el
   test/automated/auth-source-tests.el
   test/automated/gnus-tests.el
   test/automated/message-mode-tests.el
   test/automated/help-fns.el
   test/automated/imenu-test.el
   test/automated/info-xref.el
   test/automated/mule-util.el
   test/automated/isearch-tests.el
   test/automated/json-tests.el
   test/automated/bytecomp-tests.el
   test/automated/coding-tests.el
   test/automated/core-elisp-tests.el
   test/automated/decoder-tests.el
   test/automated/files.el
   test/automated/font-parse-tests.el
   test/automated/lexbind-tests.el
   test/automated/occur-tests.el
   test/automated/process-tests.el
   test/automated/syntax-tests.el
   test/automated/textprop-tests.el
   test/automated/undo-tests.el
   test/automated/man-tests.el
   test/automated/completion-tests.el
   test/automated/dbus-tests.el
   test/automated/newsticker-tests.el
   test/automated/sasl-scram-rfc-tests.el
   test/automated/tramp-tests.el
   test/automated/obarray-tests.el
   test/automated/compile-tests.el
   test/automated/elisp-mode-tests.el
   test/automated/f90.el
   test/automated/flymake-tests.el
   test/automated/python-tests.el
   test/automated/ruby-mode-tests.el
   test/automated/subword-tests.el
   test/automated/replace-tests.el
   test/automated/simple-test.el
   test/automated/sort-tests.el
   test/automated/subr-tests.el
   test/automated/reftex-tests.el
   test/automated/sgml-mode-tests.el
   test/automated/tildify-tests.el
   test/automated/thingatpt.el
   test/automated/url-future-tests.el
   test/automated/url-util-tests.el
   test/automated/add-log-tests.el
   test/automated/vc-bzr.el
   test/automated/vc-tests.el
   test/automated/xml-parse-tests.el
   test/BidiCharacterTest.txt
   test/biditest.el
   test/cedet/cedet-utests.el
   test/cedet/ede-tests.el
   test/cedet/semantic-ia-utest.el
   test/cedet/semantic-tests.el
   test/cedet/semantic-utest-c.el
   test/cedet/semantic-utest.el
   test/cedet/srecode-tests.el
   test/cedet/tests/test.c
   test/cedet/tests/test.el
   test/cedet/tests/test.make
   test/cedet/tests/testdoublens.cpp
   test/cedet/tests/testdoublens.hpp
   test/cedet/tests/testfriends.cpp
   test/cedet/tests/testjavacomp.java
   test/cedet/tests/testnsp.cpp
   test/cedet/tests/testpolymorph.cpp
   test/cedet/tests/testspp.c
   test/cedet/tests/testsppcomplete.c
   test/cedet/tests/testsppreplace.c
   test/cedet/tests/testsppreplaced.c
   test/cedet/tests/testsubclass.cpp
   test/cedet/tests/testsubclass.hh
   test/cedet/tests/testtypedefs.cpp
   test/cedet/tests/testvarnames.c
   test/etags/CTAGS.good
   test/etags/ETAGS.good_1
   test/etags/ETAGS.good_2
   test/etags/ETAGS.good_3
   test/etags/ETAGS.good_4
   test/etags/ETAGS.good_5
   test/etags/ETAGS.good_6
   test/etags/a-src/empty.zz
   test/etags/a-src/empty.zz.gz
   test/etags/ada-src/2ataspri.adb
   test/etags/ada-src/2ataspri.ads
   test/etags/ada-src/etags-test-for.ada
   test/etags/ada-src/waroquiers.ada
   test/etags/c-src/a/b/b.c
   test/etags/c-src/abbrev.c
   test/etags/c-src/c.c
   test/etags/c-src/dostorture.c
   test/etags/c-src/emacs/src/gmalloc.c
   test/etags/c-src/emacs/src/keyboard.c
   test/etags/c-src/emacs/src/lisp.h
   test/etags/c-src/emacs/src/regex.h
   test/etags/c-src/etags.c
   test/etags/c-src/exit.c
   test/etags/c-src/exit.strange_suffix
   test/etags/c-src/fail.c
   test/etags/c-src/getopt.h
   test/etags/c-src/h.h
   test/etags/c-src/machsyscalls.c
   test/etags/c-src/machsyscalls.h
   test/etags/c-src/sysdep.h
   test/etags/c-src/tab.c
   test/etags/c-src/torture.c
   test/etags/cp-src/MDiagArray2.h
   test/etags/cp-src/Range.h
   test/etags/cp-src/burton.cpp
   test/etags/cp-src/c.C
   test/etags/cp-src/clheir.cpp.gz
   test/etags/cp-src/clheir.hpp
   test/etags/cp-src/conway.cpp
   test/etags/cp-src/conway.hpp
   test/etags/cp-src/fail.C
   test/etags/cp-src/functions.cpp
   test/etags/cp-src/screen.cpp
   test/etags/cp-src/screen.hpp
   test/etags/cp-src/x.cc
   test/etags/el-src/TAGTEST.EL
   test/etags/el-src/emacs/lisp/progmodes/etags.el
   test/etags/erl-src/gs_dialog.erl
   test/etags/f-src/entry.for
   test/etags/f-src/entry.strange.gz
   test/etags/f-src/entry.strange_suffix
   test/etags/forth-src/test-forth.fth
   test/etags/html-src/algrthms.html
   test/etags/html-src/index.shtml
   test/etags/html-src/software.html
   test/etags/html-src/softwarelibero.html
   test/etags/lua-src/allegro.lua
   test/etags/objc-src/PackInsp.h
   test/etags/objc-src/PackInsp.m
   test/etags/objc-src/Subprocess.h
   test/etags/objc-src/Subprocess.m
   test/etags/objcpp-src/SimpleCalc.H
   test/etags/objcpp-src/SimpleCalc.M
   test/etags/pas-src/common.pas
   test/etags/perl-src/htlmify-cystic
   test/etags/perl-src/kai-test.pl
   test/etags/perl-src/yagrip.pl
   test/etags/php-src/lce_functions.php
   test/etags/php-src/ptest.php
   test/etags/php-src/sendmail.php
   test/etags/prol-src/natded.prolog
   test/etags/prol-src/ordsets.prolog
   test/etags/ps-src/rfc1245.ps
   test/etags/pyt-src/server.py
   test/etags/tex-src/gzip.texi
   test/etags/tex-src/nonewline.tex
   test/etags/tex-src/testenv.tex
   test/etags/tex-src/texinfo.tex
   test/etags/y-src/atest.y
   test/etags/y-src/cccp.c
   test/etags/y-src/cccp.y
   test/etags/y-src/parse.c
   test/etags/y-src/parse.y
   test/indent/css-mode.css
   test/indent/js-indent-init-dynamic.js
   test/indent/js-indent-init-t.js
   test/indent/js-jsx.js
   test/indent/js.js
   test/indent/latex-mode.tex
   test/indent/modula2.mod
   test/indent/nxml.xml
   test/indent/octave.m
   test/indent/pascal.pas
   test/indent/perl.perl
   test/indent/prolog.prolog
   test/indent/ps-mode.ps
   test/indent/ruby.rb
   test/indent/scheme.scm
   test/indent/scss-mode.scss
   test/indent/sgml-mode-attribute.html
   test/indent/shell.rc
   test/indent/shell.sh
   test/redisplay-testsuite.el
   test/rmailmm.el
   test/automated/buffer-tests.el
   test/automated/cmds-tests.el
   test/automated/data-tests.el
   test/automated/finalizer-tests.el
   test/automated/fns-tests.el
   test/automated/inotify-test.el
   test/automated/keymap-tests.el
   test/automated/print-tests.el
   test/automated/libxml-tests.el
   test/automated/zlib-tests.el: Files Moved.
2015-11-24 17:04:22 +00:00
Paul Eggert
29dfca2355 Use ‘echo’ safely with ‘\’ or leading ‘-’
POSIX says that ‘echo FOO’ produces implementation-defined output
if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
behavior in that case.
* Makefile.in (removenullpaths): Remove.
(epaths-force): Rewrite to avoid the need for ‘echo’.
(install-etc): Be clearer about escaping the shell metacharacters
‘\’ and ‘$’.
* Makefile.in (install-arch-indep, install-etcdoc):
* admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
* admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
* configure.ac, lib-src/rcs2log, make-dist:
* src/Makefile.in (lisp.mk):
Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
if $foo can contain arbitrary characters.
* lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
* doc/lispref/two-volume.make (vol1.pdf):
* test/etags/make-src/Makefile (web ftp publish):
Use ‘printf’ rather than ‘echo -e’.
2015-10-10 18:11:27 -07:00
Paul Eggert
dc436dd77f Minor backslash fixes in manuals and scripts
* Makefile.in (install-arch-indep):
* admin/charsets/compact.awk:
* admin/charsets/gb180302.awk (gb_to_index):
* admin/charsets/gb180304.awk (gb_to_index):
Avoid undefined behavior in Awk regular expression backslashes.
* doc/misc/efaq.texi (Matching parentheses):
Omit unnecessary backslashes.
* doc/misc/gnus-faq.texi (FAQ 5-8):
Avoid undefined behavior in suggested sed backslash usage.
2015-09-16 15:59:13 -07:00
Glenn Morris
94c4e0dcdf * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
; I don't think this actually does anything any more anyway,
; on at least the vast majority of the platforms running Emacs today.
2015-06-24 15:47:01 -04:00
Glenn Morris
8769d0fe79 * Makefile.in (install-arch-dep): Simplify with Make conditionals. 2015-06-23 16:44:07 -04:00
Glenn Morris
7934415695 * Makefile.in (SUBDIR_MAKEFILES):
* lwlib/Makefile.in (WARN_CFLAGS):
Use built-in Make functions rather than echo+sed.
2015-06-09 15:23:47 -04:00
Paul Eggert
90a19baa20 Move gen_origin from program to data
That way, 'make change-history' needs to change only ChangeLog.2,
instead of having to change two files.
* ChangeLog.2: Add commit info for range that this file covers.
* Makefile.in (new_commit_regexp): New macro.
(change-history-nocommit): Simplify, by putting what used to be
the gen_origin value into the data (ChangeLog.2) rather than
into the program (gitlog-to-emacslog).
* build-aux/gitlog-to-emacslog (gen_origin): Calculate from
the input file (e.g., ChangeLog.2) rather than by having a
constant in the program.  Substitute it into the output.
2015-06-07 15:41:02 -07:00
Glenn Morris
126b0d9865 * Makefile.in: Fix extraclean rule.
(extraclean_dirs): New.
(extraclean): Use it.
2015-05-23 15:05:02 -07:00
Glenn Morris
50ecfcd648 * Makefile.in: Add admin/charsets into top-level clean rules.
(clean): Add admin/charsets.
(maybeclean_dirs): New variable.
(distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
2015-05-22 19:05:59 -04:00
Glenn Morris
46ea93792d * src/lisp.mk: Remove from repository and generate at build-time.
* src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
(shortlisp_filter): New variable.
(emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
(distclean): Remove lisp.mk.
* Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
* lisp/loadup.el: Tweak layout to make it easier to parse.
* make-dist: Do not distribute src/lisp.mk.
2015-05-16 17:52:27 -07:00
Glenn Morris
a0dd752f39 * Makefile.in (emacslog): Remove srcdir.
(ChangeLog): Update for the above.
2015-05-10 23:22:08 -07:00
Glenn Morris
e20b70bf50 * Makefile.in: Fixes for recent change-history changes.
(change-history-nocommit): Update footer regexp.
Ensure output script stays executable.
2015-05-10 12:01:39 -07:00
Glenn Morris
e0c7e102cf * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
* build-aux/gitlog-to-emacslog: Check called from right directory.
(srcprefix): Remove.
2015-05-08 21:34:35 -04:00
Glenn Morris
63bee24f74 * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
* Makefile.in (ChangeLog): No longer pass "distprefix".
* make-dist: Update "make ChangeLog" syntax for the above change.
2015-05-08 21:15:48 -04:00
Glenn Morris
deb845418b * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
* Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
2015-05-08 21:02:36 -04:00
Glenn Morris
907606c84f Add command-line option-parsing to gitlog-to-emacslog.
* build-aux/gitlog-to-emacslog: Add command-line options.
By default, refuse to remove an existing output file.
* Makefile.in (CHANGELOG): Update default.
(ChangeLog): Do not test for existing file.
(change-history-nocommit): Ensure temp file does not exist.
2015-05-08 20:45:22 -04:00
Glenn Morris
74fdcc1b7e * Makefile.in (change-history-commit): Add missing piece of previous. 2015-05-06 22:01:02 -04:00
Glenn Morris
adb69ddff0 Avoid unnecessary bumping of Makefile.in's timestamp.
* Makefile.in (gen_origin): Move to gitlog-to-emacslog.
(emacslog): New variable.
(ChangeLog): Use $emacslog.  Don't pass $gen_origin.
(unchanged-history-files): Use $emacslog rather than Makefile.in.
(change-history-nocommit): Store hash in $emacslog.
* build-aux/gitlog-to-emacslog (gen_origin): Move default here.
* admin/update_autogen (changelog_files): Update for the above.
2015-05-06 21:58:58 -04:00
Glenn Morris
09b872dff4 * Makefile.in: Don't always insist on removing existing "ChangeLog".
(CHANGELOG): New variable.
(no-ChangeLog): Remove.
(ChangeLog): Replace "no-ChangeLog"; pass output file to script.
(change-history-nocommit): Use a temp file rather than insisting
on deletion of any existing "ChangeLog".
2015-05-06 21:40:28 -04:00
Glenn Morris
96b99c1bef * Makefile.in (change-history-nocommit): New. 2015-05-06 17:02:06 -04:00
Paul Eggert
d6e990b65c Unclutter 'make doc' output a bit
* Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
Use make subst rather than sh IFS to split target string apart.
This makes 'make' output easier to follow.
2015-04-30 09:18:23 -07:00
Paul Eggert
75e039b67e ; make change-history-commit 2015-04-25 16:40:05 -07:00
Paul Eggert
9099d45df7 Quote 'like this' in top-level files
* CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
Prefer to single-quote 'like this' (instead of the older style
`like this').
* configure.ac: Fix some space-before-tab problems that 'git commit'
complained about.
2015-04-19 14:44:50 -07:00
Paul Eggert
f48a28e343 ; make change-history-commit 2015-04-18 19:56:03 -07:00
Paul Eggert
3f5a12a552 ; make change-history-commit 2015-04-16 17:59:58 -07:00
Paul Eggert
a8292e29dd Standardize names of ChangeLog history files
Suggested by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
* Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
* doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
* lisp/erc/ChangeLog.1: New file, containing the old contents of ...
* lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
* lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
* lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
Remove.
2015-04-15 10:59:11 -07:00
Paul Eggert
374a0262cd Split top-level entries into pre- and post-April 7
This more clearly distingiushes pre-April-7 ChangeLog entries (which
are for top-level files only) from post-April-7 entries (which are
about files at all levels.  Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
* ChangeLog.1: Move post-April-7 entries from here ...
* ChangeLog.2: ... to this new file.
* Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
2015-04-15 10:59:11 -07:00
Paul Eggert
3a4d078252 Update Makefile.in's .PHONY dependencies
* Makefile.in (change-history-commit, master-branch-is-current)
(no-ChangeLog): Now phony.
2015-04-12 15:21:33 -07:00
Paul Eggert
950c0027cb Improve 'make change-history' prereq tests
* Makefile.in (gen_origin): Fix to match what's in the master branch.
(no-ChangeLog, master-branch-is-current): New rules.
(change-history): Depend on them, to avoid similar future problems.
Escape the local-variables string to pacify Emacs when editing
Makefile.in.
2015-04-12 10:40:41 -07:00
Paul Eggert
cbef1e918d ; make change-history-commit 2015-04-09 10:22:42 -07:00
Paul Eggert
7bb614e399 Adapt 'make change-history' to coding cookie
* Makefile.in (change-history): Adjust to change of format of
ChangeLog file, which now has a coding cookie before an indented
copyright notice.
2015-04-09 10:22:42 -07:00
Paul Eggert
2346856168 Generate a ChangeLog file from commit logs
* .gitignore: Add 'ChangeLog'.
* build-aux/gitlog-to-changelog: New file, from Gnulib.
* build-aux/gitlog-to-emacslog: New file.
* CONTRIBUTE: Document the revised workflow.
* Makefile.in (clean): Remove *.tmp and etc/*.tmp*
instead of just special cases.
(CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
(ChangeLog, unchanged-history-files, change-history)
(change-history-commit): New rules.
* admin/admin.el (make-manuals-dist--1):
Don't worry about doc/ChangeLog.
* admin/authors.el: Add a FIXME.
* admin/make-tarball.txt:
* lisp/calendar/icalendar.el:
* lisp/gnus/deuglify.el:
* lisp/obsolete/gulp.el:
* lwlib/README:
Adjust to renamed ChangeLog history files.
* admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
* admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
Remove obsolete discussion of merging ChangeLog files.
New section "Maintaining ChangeLog history".
* build-aux/git-hooks/pre-commit:
Reject attempts to commit files named 'ChangeLog'.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* make-dist: Make and distribute top-level ChangeLog if there's a
.git directory.  Distribute the new ChangeLog history files
instead of scattered ChangeLog files.  Distribute the new files
gitlog-to-changelog and gitlog-to-emacslog.
Fixes: bug#19113
2015-04-07 00:00:55 -07:00
Paul Eggert
fec9b792f5 Clarify 'make info'
* Makefile.in (info): Use GNU make conditional rather than
an '@' rule with a shell conditional, so that the builder can
see the submake.
2015-01-03 19:12:25 -08:00
Paul Eggert
ed51b8df3c Less 'make' chatter for VCSWITNESS
* Makefile.in (dirstate, VCSWITNESS): New macros.
(src): Use them to lessen 'make' chatter.
2015-01-03 18:54:33 -08:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Paul Eggert
5d6b37084b Less 'make' chatter at top level
* Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
(am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
(am__v_at_1): New macros, copied from src/Makefile.in.
($(srcdir)/src/config.in, ${srcdir}/info/dir):
Be less chatty when not verbose.
($(srcdir)/src/stamp-h.in): Simplify with '$@'.
2014-12-31 07:48:08 -08:00
Andreas Schwab
a6a43d654a Don't rerun configure if lisp/version.el changes
lisp/version.el is no longer the authority for emacs-version.

* Makefile.in (config.status): Don't depend on
${srcdir}/lisp/version.el.
2014-11-14 21:47:30 +01:00
David Reitter
c28ef9a466 Compress publicsuffix file to save space
* url-domsuf.el (url-domsuf-parse-file): Read compressed
publicsuffix file if available.
* Makefile.in (install-arch-indep): Compress publicsuffix.txt file.
2014-11-14 07:22:01 -05:00
Eric S. Raymond
7148318abc Git transition patch
All bzr revision IDS, and all CVS revision IDs for which a commit
could be identified, were changed to time-date!committer version
stamps. All .cvsignore files in the history became .gitignore files.
Fixes-bug annotations from bzr were copied into the corresponding
commit comments.

(The first .cvsignore commit was 1999-09-30T14:07:54Z!fx@gnu.org>.
The last CVS commit was <2009-12-27T08:11:12Z!cyd@stupidchicken.com>)

Committer/author email addresses are generally correct for the
transition day, not necessarily when the commit was originally made.
2014-11-11 13:28:02 -05:00
Glenn Morris
be1f31616a Further reduce the number of versioned files storing the version number
* configure.ac (doc/man/emacs.1): Generate it.

* Makefile.in (top_bootclean): Remove doc/man/emacs.1.

* make-dist: Do not distribute doc/man/emacs.1.

* admin/admin.el (set-version): No need to update doc/man/emacs.1.

* doc/man/emacs.1.in: Rename from emacs.1.

* .bzrignore: Add doc/man/emacs.1.
2014-11-09 18:01:56 -08:00
Glenn Morris
4e65e7e2b9 Stop keeping etc/refcards/emacsver.tex in the repository
* configure.ac (etc/refcards/emacsver.tex): Generate it.

* Makefile.in (etc-emacsver): New PHONY rule.
(bootstrap-clean): Delete etc/refcards/emacsver.tex.

* admin/admin.el (set-version): No need to update etc/refcards/emacsver.tex.
(set-copyright): Update etc/refcards/emacsver.tex.in.

* etc/refcards/emacsver.tex.in: Rename from emacsver.tex.

* .bzrignore: Add etc/refcards/emacsver.tex.
2014-11-09 16:57:01 -08:00
Dani Moncayo
8958d7da78 Makefile.in (epaths-force-w32): Ensure that w32srcdir is an absolute path. 2014-11-09 00:33:36 +01:00