1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 06:00:50 -08:00
Commit graph

948 commits

Author SHA1 Message Date
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
Alan Third
a1b7a3f2a3 Add native image scaling (bug#33587)
* configure.ac: Test for XRender outside of xft checks.
* src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
xft libs.
* lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
native scaling is available.
* src/dispextern.h: Add XRender and image scaling stuff.
(struct image): Add XRender Pictures.
* src/image.c (x_create_bitmap_mask):
(image_create_x_image_and_pixmap): Handle XRender Picture.
(scale_image_size):
(compute_image_size): Make available when any form of scaling is
enabled.
(x_set_image_size): New function.
(lookup_image): Set image size.
(x_create_x_image_and_pixmap): Create XRender Picture when necessary.
(x_put_x_image): Handle the case where desired size != actual size.
(free_image): Free XRender Pictures.
(Fimage_scaling_p): New function.
(syms_of_image): Add image-scaling-p.
* src/nsimage.m (ns_load_image): Remove NS specific resizing.
([EmacsImage setSizeFromSpec:]): Remove method.
(ns_image_set_size): New function.
* src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
the same compositing functions, so remove unnecessary difference.
* src/xterm.c (x_composite_image): New function.
(x_draw_image_foreground): Use new x_composite_image function.
* doc/lispref/display.texi (Image Descriptors): Document
image-scaling-p and add resizing descriptors.
(ImageMagick Images): Remove resizing descriptors.
2019-01-10 19:24:20 +00:00
Paul Eggert
a3d52b3057 Port to platforms where tputs is in libtinfow
* configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).
2019-01-05 10:15:56 -08: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
2fcf2dff00 Fix copyright years by hand
These are dates that admin/update-copyright did not update, or
updated incorrectly.
2019-01-01 01:02:40 +00: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
Paul Eggert
ed3ae3fc58 emacsclient: assume HAVE_INET_SOCKETS
* configure.ac (HAVE_INET_SOCKETS): Remove.
* lib-src/emacsclient.c: Simplify by assuming HAVE_SOCKETS and
HAVE_INET_SOCKETS, which are always true nowadays, except perhaps
for MS-DOS and if so this program shouldn’t be built there anyway.
Don’t bother including sys/types.h, as it’s not needed on modern
systems (and syswait.h does it for us anyway).
(main): Simplify by assuming SIGSTOP (which is always defined
if SIGCONT is), and by assuming HAVE_SOCKETS && HAVE_INET_SOCKETS.
2018-11-26 11:39:45 -08:00
Nicolas Petton
e3b3683660
Bump Emacs version to 26.1.90
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 26.1.90.
2018-11-12 16:45:23 +01:00
Glenn Morris
15059d228c * configure.ac (emacs_config_features): Add notify backends. 2018-10-29 20:50:14 -04:00
Paul Eggert
d2a07b9a82 Fix struct thread alignment on FreeBSD x86
Problem reported by Joseph Mingrone in:
https://lists.gnu.org/r/emacs-devel/2018-10/msg00238.html
While we’re at it, apply a similar fix to struct Lisp_Subr; this
removes the need for GCALIGNED_STRUCT_MEMBER and thus can shrink
struct Lisp_Subr a bit.
* configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Bring back this macro.
Although used only for performance (not to actually align
structures), we might as well take advantage of it.
* src/lisp.h (GCALIGNED_STRUCT_MEMBER): Remove; all uses removed.
(union Aligned_Lisp_Subr): New type, like struct Lisp_Subr but aligned.
* src/lisp.h (XSUBR, DEFUN):
* src/lread.c (defsubr): Use it.  All callers changed.
* src/thread.c (union aligned_thread_state): New type.
(main_thread): Now of this type, so it’s aligned.
All uses changed.
* src/xmenu.c (syms_of_xmenu) [USE_GTK || USE_X_TOOLKIT]:
Adjust to union Aligned_Lisp_Subr change.
2018-10-19 09:26:50 -07:00
Paul Eggert
e511b9dd6a Bring back nocombreloc if dumping
Without this patch, Emacs dumps core on Fedora 28 x86-64
when configured via "CC='gcc -m32' --enable-gcc-warnings
--without-imagemagick --without-gif --with-modules
PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig".
and then when run normally in a windowing system.
'make check' and 'emacs -nw' work OK even without the patch.
* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Prepend
-znocombreloc if supported and if dumping.  This mostly
reverts 2018-06-15T21:37:39!eggert@cs.ucla.edu "Remove old
combreloc hack".
2018-10-17 17:57:45 -07:00
Glenn Morris
722833d30e Merge from origin/emacs-26
73babba (origin/emacs-26) Clarify documentation of fractional vertica...
b20c51d * lisp/isearch.el (isearch-cmds): Recall absent isearch--stat...
700acbd doc/lispref/edebug.texi (Specification List) Remove obstrusiv...
1902450 Fix wording in module API documentation
e724a8f Fix redisplay of glyphless characters
8fc892d Update --without-toolkit-scroll-bars doc
80e0bfa Call GTK functions only on GTK scrollbars
91c4c46 Update the description of startup in ELisp manual
18b42c6 Use the 'line-number' face for line-number fields past EOB
a6ab8db Ensure NS frame is redrawn correctly  after scroll

Conflicts:
	lisp/isearch.el
2018-10-16 08:08:04 -07:00
Robert Pluim
8fc892df37 Update --without-toolkit-scroll-bars doc
* configure.ac (--without-toolkit-scroll-bars): Update list of
affected toolkits.
2018-10-13 10:53:30 +02:00
Paul Eggert
7f1beabfcd Port --enable-gcc-warnings to recent clang
* configure.ac: Disable -Wnull-pointer-arithmetic if clang (Bug#32924).
2018-10-09 11:16:26 -07:00
Glenn Morris
3cc42bb600 * configure.ac: Fix goofs in my recent ImageMagick change. 2018-08-30 13:56:08 -04:00
Glenn Morris
d8bef4b519 Merge from origin/emacs-26
2670cbf (origin/emacs-26) ; * configure.ac: Remove outdated comment (...
3b71bef admin.el: respect environment settings for makeinfo etc
3764ab4 * etc/PROBLEMS: New entry about GTK+ 3 crash with some X serv...
9d61344 Index profiler commands in elisp manual
f088817 Fix math-imaginary-i check
fca935e ; Let pre-commit git hook check merged in changes (Bug#29197)
fe06fcc Avoid infinite hscrolling loops when line numbers are displayed
63e59c8 Avoid crashes in malformed defvar
785682c * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
2695b7e * configure.ac: Doc fixes related to --with-xim.
d0d162c Small checkdoc quoting fix (bug#32546)

Conflicts:
	configure.ac
2018-08-29 08:24:03 -07:00
Glenn Morris
2670cbf9a8 ; * configure.ac: Remove outdated comment (it was about CRT_DIR). 2018-08-28 21:03:12 -04:00
Glenn Morris
bf1b147b55 * configure.ac, src/image.c: Tweak previous ImageMagick change. 2018-08-27 22:03:42 -04:00
Karl Otness
5729486951 Support ImageMagick version 7 (bug#25967)
* configure.ac, src/image.c: Add support for ImageMagick version 7.

Copyright-paperwork-exempt: yes
2018-08-27 22:03:42 -04:00
Glenn Morris
785682c26d * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM. 2018-08-27 21:46:14 -04:00
Glenn Morris
2695b7e745 * configure.ac: Doc fixes related to --with-xim. 2018-08-27 21:44:29 -04:00
Glenn Morris
624e7dc778 Update GNOME bugtracker URLs
* configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
* src/emacs.c (main):
* src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
; * src/gtkutil.c (xg_display_close):
; * src/image.c (svg_load_image): Update URLs in comments.
2018-08-24 13:13:08 -04:00
Paul Eggert
1164d49ba6 Rename --without-mini-gmp to --with-libgmp
* configure.ac (HAVE_GMP): Rename ‘configure’ option from
--without-mini-gmp to --with-libgmp.  All uses changed.
* doc/lispref/numbers.texi (Predicates on Numbers): Large
integers are always available.  Clarify how eq works on them.
2018-08-14 16:06:59 -07:00
Glenn Morris
d113142a8b Merge from origin/emacs-26
614cc65 ; * lisp/simple.el (line-move-visual): Fix typo.
d2ad4ba Do not consider external packages to be removable (Bug#27822)
ec0995c * src/alloc.c: Remove obsolete comments.
ec6f588 Better support utf-8-with-signature and utf-8-hfs in HTML
eb026a8 Don't use -Wabi compiler option
2018-08-14 09:06:43 -07:00
Paul Eggert
ca10011898 * configure.ac (GMP_LIB): Set to -lgmp if --without-mini-gmp. 2018-08-12 17:14:59 -07:00
Paul Eggert
d966f8d291 Make mini-gmp safe for --enable-gcc-warnings
* configure.ac (GMP_OBJ): When building mini-gmp, compile
mini-gmp-emacs.c, not mini-gmp.c.
* lib-src/etags.c (NDEBUG): Don't attempt to redefine, in
case the builder compiles with -DNDEBUG.
* src/conf_post.h (NDEBUG) [!ENABLE_CHECKING && !NDEBUG]: Define.
This avoids bloat in mini-gmp-emacs.o.
* src/mini-gmp-emacs.c: New file, which pacifies --enable-gcc-warnings.
2018-08-12 11:13:15 -07:00
Paul Eggert
3fc948a36c New 'configure' arg --with-mini-gmp
* configure.ac: It lets the builder override default of whther
mini-gmp is used.  Use AC_SEARCH_LIBS as per Autoconf manual.
2018-08-12 01:07:02 -07:00
Paul Eggert
da7fc851dc Reject old libgmp that lack mpz_roinit_n
* configure.ac (HAVE_GMP): Port to RHEL 6.9, which has
libgmp 3.5, which predates mpz_roinit_n.
2018-08-11 16:28:19 -07:00
Eli Zaretskii
eb026a8d1b Don't use -Wabi compiler option
* configure.ac: Add -Wabi to the list of disabled warning
options.  For the details, see
http://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00123.html.
2018-08-11 11:38:43 +03:00
Tom Tromey
accb7b7ecc Merge remote-tracking branch 'origin/master' into feature/bignum 2018-08-09 17:56:53 -06:00
Paul Eggert
d216d7d248 Substitute a <ieee754.h> on hosts lacking it
* .gitignore: Add lib/ieee754.h.
* admin/merge-gnulib (GNULIB_MODULES): Add ieee754-h.
* configure.ac: Remove ieee754.h check, as Gnulib now does that.
* etc/NEWS: Mention this.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/ieee754.in.h, m4/ieee754-h.m4: New files, from Gnulib.
* src/lisp.h (IEEE_FLOATING_POINT): Now a macro so that it
can be used in #if.
* src/lread.c, src/print.c: Include <ieee754.h> if
IEEE_FLOATING_POINT, not if HAVE_IEEE754_H.
* src/lread.c (string_to_number):
* src/print.c (float_to_string):
Process NaNs only on IEEE hosts, and assume <ieee754.h>
in that case.
2018-08-01 19:01:51 -07:00
Paul Eggert
6e37d2fd05 Read and print NaN significand if <ieee754.h>
* configure.ac: Check for ieee754.h.
* doc/lispref/numbers.texi (Float Basics): Document
that NaN string representation digits are machine-dependent.
* etc/NEWS: Mention the change.
* src/lread.c, src/print.c [HAVE_IEEE754_H]: Include ieee754.h.
* src/lread.c (string_to_number) [HAVE_IEEE754_H]:
* src/print.c (float_to_string) [HAVE_IEEE754_H]:
Read and print NaN significand.
2018-08-01 00:51:55 -07:00
Charles A. Roelli
d45b2a31ca * configure.ac [$HAVE_NS]: Correct build instructions.
Running 'make install' to test a repo build on macOS used to
be required, but is no longer needed.
2018-07-16 20:36:31 +02:00
Robert Pluim
155ec50969 Add GMP to emacs_config_features
* configure.ac : Add GMP to emacs_config_features.  This allows us
to determine whether the built-in gmp-mini is being used or not.
2018-07-13 15:26:30 +02:00
Tom Tromey
7cb45cd25e Add configury for GMP library
* configure.ac (GMP_LIB, GMP_OBJ): New substs.
* src/Makefile.in (GMP_OBJ, GMP_OBJ): New variables.
(base_obj): Add GMP_OBJ.
(LIBES): Add GMP_LIB.
* src/mini-gmp.h: New file.
* src/mini-gmp.c: New file.
2018-07-12 22:12:27 -06:00
Paul Eggert
0bb7dfc39c Adjust to Gnulib change with -Wswitch-default
* configure.ac: Simplify by not bothering to omit
-Wswitch-default, as Gnulib no longer enables it by default.
2018-07-03 23:51:32 -07:00
Paul Eggert
b8b960e5e1 Minor CANNOT_DUMP cleanups
Mostly, this avoids munging executables when CANNOT_DUMP = yes,
as the munging is needed only for unexec.
* configure.ac (PAXCTL_dumped, PAXCTL_notdumped) [CANNOT_DUMP]:
Leave these empty.
(LD_SWITCH_SYSTEM_TEMACS) [CANNOT_DUMP]:
Do not append -no-pie or -nopie.
* src/alloc.c (my_heap_start) [CANNOT_DUMP]: Omit; not used.
2018-06-15 15:51:56 -07:00
Paul Eggert
c2b20948fb Remove old combreloc hack
It has not been needed for many years and gets in the way of
portable dumping, address sanitization, etc.  See:
https://lists.gnu.org/r/emacs-devel/2016-12/msg00147.html
* configure.ac (LDFLAGS_NOCOMBRELOC, emacs_cv_znocombreloc):
Remove.  All uses removed.
* etc/PROBLEMS: Remove discussion of combreloc problems.
2018-06-15 14:38:26 -07:00
Glenn Morris
42a851c634 Merge from origin/emacs-26
ca3f0a8 ; * etc/NEWS: Belated announcement of 2 changes made in Emacs...
99f92da Improve documentation of 'directory-files-and-attributes'
df8649a * lisp/gnus/message.el (message-remove-header): Don't remove ...
b682a7e ; * etc/NEWS: Add headings for Emacs 26.2
aa175a4 Adapt hexl-mode to native line-number display
b8e7749 Fix example in Tramp manual
f212fe5 Handle case where Xft is found but not XRender
186280f * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh...
24ba633 Improve read-multiple-choice docstring (Bug#31628)

Conflicts:
	etc/NEWS
	src/dired.c
2018-06-02 10:25:50 -07:00
Robert Pluim
f212fe512c Handle case where Xft is found but not XRender
* configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
XRender is not found.  (Bug#31634)
2018-05-29 20:33:49 +02:00
Eli Zaretskii
038063651e Bump Emacs version to 26.1.50
* msdos/sed2v2.inp:
* nt/README.W32:
* configure.ac:
* README: Bump Emacs version to 26.1.50.
2018-05-28 19:09:55 +03:00
Paul Eggert
a73e4f53ab GNOME moved URLs for its active bug reports
* src/emacs.c (main) [USE_GTK]:
* src/gtkutil.c (xg_display_close):
* src/xterm.c (x_connection_closed):
Update GNOME bug report URLs.
2018-05-26 16:44:09 -07:00
Paul Eggert
8c3215e7a4 Port --enable-gcc-warnings to GCC 8
* configure.ac: Do not use GCC 8’s new -Wcast-align flag.
* lib-src/ebrowse.c (xmalloc):
* lib-src/emacsclient.c (xmalloc, xstrdup):
* lib-src/etags.c (xmalloc):
* lib-src/make-docfile.c (xmalloc):
* lib-src/movemail.c (xmalloc):
* src/dispnew.c (new_glyph_pool):
* src/regex.c (xmalloc):
* src/term.c (tty_menu_create):
* src/tparam.h (tparam):
Use ATTRIBUTE_MALLOC.  Also see GCC bug 85562.
* lib-src/emacsclient.c (fail):
Do not dereference a null pointer.
* src/frame.c (delete_frame):
Add a decl with UNINIT to work around GCC bug 85563.
* src/menu.h (finish_menu_items):
Do not use attribute const.
* src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
2018-04-28 16:56:48 -07:00
Nicolas Petton
8dffaeabd7
Bump Emacs version to 26.1
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 26.1.
2018-04-05 11:56:27 +02:00
Glenn Morris
55444a5a7a * configure.ac (with_gconf): Respect --without-all. 2018-02-28 15:20:42 -05:00
Noam Postavsky
cb3863370c Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
* configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
AC_SEARCH_LIBS.
* src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
instead of just LIBLCMS2.
2018-02-17 08:49:18 -05:00
Alan Third
5b464a9cea Fix modifier key handling on macOS
* configure.ac: Use the Carbon framework on macOS.
* src/nsterm.m (ns_get_shifted_character) [NS_IMPL_COCOA]: New function.
(EmacsView::keyDown) [NS_IMPL_COCOA]: Use ns_get_shifted_character
when we have shift style modifiers.
2018-02-17 12:34:50 +00:00
Paul Eggert
b8c4151808 Work if libpng is in /usr/local (2nd try)
Problem reported by Werner Lemberg in:
https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
with a further fix suggested by Glenn Morris in Bug#30431#14.
* configure.ac: Try pkg-config before libpng-config.
Adjust LIBPNG accordingly, and append -lz regardless of
whether it was pkg-config.
2018-02-12 16:41:08 -08:00
Paul Eggert
1590f8823d Revert libpng /usr/local patch
It broke builds on Arch, Debian, OpenSuSE; see thread containing:
https://lists.gnu.org/r/2018-02/msg00330.html
* configure.ac: Don't try pkg-config; just use libpng-config.
2018-02-12 07:27:01 -08:00
Paul Eggert
e9ca57cfcb Work even if libpng is installed in /usr/local
Problem reported by Werner Lemberg in:
https://lists.gnu.org/r/emacs-devel/2018-02/msg00304.html
* configure.ac: Try pkg-config before libpng-config.
2018-02-11 18:45:06 -08:00