aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Use IPv6 localhost when family is 'ipv6Robert Pluim2019-02-041-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes Bug#34193 * src/process.c (Fmake_network_process): Explicitly use ::1 when using IPv6 with 'local. Update docstring. * test/lisp/net/network-stream-tests.el (make-ipv6-tcp-server-with-unspecified-port): (make-ipv6-tcp-server-with-specified-port): Test creating ipv6 local server. (make-server): Add optional family argument, default ipv4 (echo-server-with-local-ipv4): Test connecting to 'local ipv4 (echo-server-with-local-ipv6): Test connecting to 'local ipv6 * doc/lispref/processes.texi (Network Processes): Describe behavior when using 'local. * etc/NEWS: Document new 'make-network-process' behavior when connecting to 'local with ipv6.
* | | | Support (locale-info 'paper) on GNU platformsPaul Eggert2019-02-021-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (HAVE_LANGINFO__NL_PAPER_WIDTH): New macro. * src/fns.c (Flocale_info) [HAVE_LANGINFO__NL_PAPER_WIDTH]: Get paper width and height from locale.
* | | | Fix unlikely user-full-name integer overflowPaul Eggert2019-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | * src/editfns.c (Fuser_full_name): Don’t assume uid fits into fixnum.
* | | | Prevent segfault in bootstrap-emacs on MinGWEli Zaretskii2019-02-021-1/+3
| | | | | | | | | | | | | | | | | | | | * src/emacs.c (main) [WINDOWSNT]: Fix logic of determining by argv[0] whether to use the static heap. (Bug#34277)
* | | | Fix bugs caused by running window change functions during redisplayMartin Rudalics2019-02-022-24/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (redisplay_internal): Run window change functions before updating the display so changes induced by these functions can get caught by redisplay (Bug#34138). * src/window.c (run_window_change_functions): Bind Qinhibit_redisplay to avoid that the minibuffer window gets resized while running window change functions (Bug#34179, Bug#34260).
* | | | Rename CANNOT_DUMP to HAVE_UNEXECPaul Eggert2019-02-0110-62/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (CANNOT_DUMP): Remove. All uses removed, or changed to the negative of with_unexec. (HAVE_UNEXEC): New macro. All uses of CANNOT_DUMP changed to the negative of this macro.
* | | | Merge from origin/emacs-26Paul Eggert2019-02-011-4/+10
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | 7ba8f80398 Avoid errors in 'rmail-get-new-mail' 9c8412a0b8 Fix process-contact bug with TCP connections # Conflicts: # src/process.c
| * | | Fix process-contact bug with TCP connectionsPaul Eggert2019-01-301-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression from Emacs 25.3 (Bug#34134). * src/process.c (server_accept_connection): Set host correctly, fixing a bug introduced in 2017-09-16T21:29:18Z!eggert@cs.ucla.edu when working around a GCC bug.
* | | | Prefer static to extern where either will doPaul Eggert2019-01-3110-36/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/charset.c (charset_table_size): * src/pdumper.c (dump_private): * src/sysdep.c (init_sigsegv): * src/window.c (old_selected_window): Now static. * src/charset.c (charset_table_size): Now int, since the value always fits in int. * src/gtkutil.c (xg_gtk_initialized): Now present only if HAVE_XWIDGETS, to make it clearer that this is an xwidgets hack. All uses changed. * src/lread.c (ndefsubr): Remove; unused. * src/pdumper.h: Use usual GNU indenting style for functions, since my static-vs-extern checking hack relies on it. (dump_public): Always declare; simpler and doesn’t hurt. (pdumper_handle_page_fault): Remove unused decl.
* | | | Widen modiff counts to avoid wraparoundPaul Eggert2019-01-3114-46/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Widen modification counts to at least 64 bits, to make wraparound practically impossible. * doc/lispref/buffers.texi (Buffer Modification): Don’t say the modification-count can wrap around. * src/buffer.c (Frestore_buffer_modified_p, Fbuffer_swap_text) (modify_overlay): * src/insdel.c (insert_1_both, insert_from_string_1) (insert_from_gap, insert_from_buffer_1) (adjust_after_replace, replace_range, replace_range_2) (del_range_2, modify_text): * src/textprop.c (modify_text_properties): Use modiff_incr instead of incrementing directly. (Fbuffer_modified_tick, Fbuffer_chars_modified_tick): Don’t assume modification counts fit into fixnums. * src/buffer.h (struct buffer_text, struct buffer): * src/cmds.c (internal_self_insert): * src/fileio.c (Finsert_file_contents): * src/indent.c (last_known_column_modified): * src/keyboard.c (command_loop_1): * src/marker.c (cached_modiff): * src/syntax.c (find_start_modiff, parse_sexp_propertize) (find_defun_start): * src/window.h (struct window): Use modiff_count for modification counts. * src/editfns.c (Fsubst_char_in_region): Copy instead of incrementing modification counts, since integer overflow checking is not needed here. * src/lisp.h (modiff_count): New type. (modiff_incr, modiff_to_integer): New inline functions. * src/pdumper.c (dump_buffer): Update hash.
* | | | Minor pdumper simplificationPaul Eggert2019-01-311-33/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (dump_roots, pdumper_load): Simplify initialization. (dump_bitset_init, pdumper_load): Omit unnecessary assignments. (dump_bitset_destroy): Remove; never called. All callers removed. (dump_do_dump_relocation, pdumper_load): Add FIXME comment. (pdumper_load): Simplify by assuming C99. Remove unused local.
* | | | * src/Makefile.in (clean): Delete versioned pdmp files.Glenn Morris2019-01-281-1/+2
| | | | | | | | | | | | | | | | Else build number increments without limit even in clean builds.
* | | | Fix last change in xfaces.cEli Zaretskii2019-01-281-21/+12
| | | | | | | | | | | | | | | | | | | | * src/xfaces.c (init_xfaces): Don't rely of 'face' property of a face to be a natural number.
* | | | Fix bug with face-id after restoring from pdumpEli Zaretskii2019-01-283-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xfaces.c (init_xfaces): New function. * src/emacs.c (main) [HAVE_PDUMPER]: If dumped with pdumper, call init_xfaces. (Bug#34226) * src/lisp.h (init_xfaces) [HAVE_PDUMPER]: Add prototype. * test/lisp/faces-tests.el (faces--test-face-id): New test for bug#34226.
* | | | forward-line now works with bignumsPaul Eggert2019-01-274-67/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/cmds.c (Fforward_line): Support bignum arg. (scan_newline): Return void since no caller was using the return value. * src/search.c (find_newline, scan_newline_from_point) (find_newline1): Return the number of newlines counted, not the count shortage, so that the return value always fits in ptrdiff_t even if the original count was a bignum. All callers changed. * test/src/cmds-tests.el (forward-line-with-bignum): New test.
* | | | Improve pdump load diagnosticsEli Zaretskii2019-01-271-4/+6
| | | | | | | | | | | | | | | | | | | | * src/emacs.c (load_pdump): Improve diagnostics when pdump file fails to load correctly.
* | | | * src/emacs.c (load_pdump): Fix a thinko in last change.Eli Zaretskii2019-01-261-4/+7
| | | |
* | | | Improve pdump file search and 'pdumper-stats'Eli Zaretskii2019-01-265-16/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (pdumper_record_wd): New function. (pdumper_load): Use xstrdup instead of strdup, as on MS-Windows the latter uses the wrong heap. Don't free a NULL pointer. * src/emacs.c (load_pdump): Support the use case where the Emacs binary was renamed: look in exec-directory for the pdump file whose base name is derived from the Emacs binary, in addition to just emacs.pdmp. (main): Call pdumper_record_wd to prepend CWD to the pdump file name. * src/fileio.c (file_name_absolute_p): Now extern. * src/lisp.h (file_name_absolute_p): Add prototype. * src/pdumper.h (pdumper_record_wd): Add prototype. * doc/emacs/cmdargs.texi (Initial Options): Update the documentation of where Emacs looks for the dump file.
* | | | Fix face initializations in pdump'ed EmacsEli Zaretskii2019-01-261-1/+12
| | | | | | | | | | | | | | | | | | | | * src/dispnew.c (init_display_interactive): Call init_faces_initial in the daemon if dumped with pdumper. (Bug#34114)
* | | | Avoid having to build src/emacs when we just want to `make tags`Stefan Monnier2019-01-231-1/+4
| | | | | | | | | | | | | | | | | | | | * Makefile.in (TAGS tags): Remove `src` from the dependencies. * src/Makefile.in (ctagsfiles1): Strip macuvs.h and fingerprint.c.
* | | | ; * src/Makefile.in: Fix wording of comment in last change.Eli Zaretskii2019-01-231-1/+1
| | | |
* | | | Fix build errors with pdump fingerprint on macOSEli Zaretskii2019-01-231-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | * src/Makefile.in ($(lispsource)/international/charprop.el): Remove macuvs.h from the target list, to avoid circular dependency on macOS. Reported by Alan Third <alan@idiocy.org>.
* | | | * src/keyboard.c (read_char): Use CALLN.Paul Eggert2019-01-231-1/+1
| | | |
* | | | * src/emacs.c (load_pdump): Minor simplification.Stefan Monnier2019-01-231-7/+8
| | | |
* | | | Fix compilation of pdumper.c with old buggy GCCEli Zaretskii2019-01-231-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (emacs_ptr_at): Renamed from emacs_ptr, to avoid compilation errors with GCC 4.7. Reported by Martin Rudalics <rudalics@gmx.at>. All callers changed.
* | | | Add hook for all eventsPhillip Lord2019-01-221-0/+4
| | | | | | | | | | | | | | | | | | | | * lisp/subr.el (input-event-functions): Add input-event-functions * src/keyboard.c (read_char): Call input-event-functions on all hooks
* | | | Simplify pdumper-load via timespectodPaul Eggert2019-01-211-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | Suggested by Eli Zaretskii in: https://lists.gnu.org/r/emacs-devel/2019-01/msg00458.html * src/pdumper.c (pdumper_load): Simplify.
* | | | * src/pdumper.c (dump_string) [CHECK_STRUCTS]: Fix copy&paste errorStefan Monnier2019-01-211-1/+1
| | | |
* | | | Fix occasional pdumper/bootstrap errorAlan Third2019-01-211-0/+1
| | | | | | | | | | | | | | | | | | | | * src/Makefile.in (emacs$(EXEEXT)): Copy the new executable over bootstrap-emacs.
* | | | Support native image resizing on MS-WindowsEli Zaretskii2019-01-203-13/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32term.c (x_draw_image_foreground): Scale the image if the requested dimensions are different from the bitmap dimensions. * src/image.c (Fimage_scaling_p): Return t when HAVE_NTGUI. (x_set_image_size) [HAVE_NTGUI]: Record the scaled dimensions in the image struct. * src/dispextern.h (HAVE_NATIVE_SCALING): Define when HAVE_NTGUI as well. * etc/NEWS: Update the announcement of native image scaling.
* | | | Improve error data when passing a wrong type to 'sort' (Bug#34104)Philipp Stephani2019-01-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/fns.c (Fsort): Use 'list-or-vector-p' for error message. (syms_of_fns): Define 'list-or-vector-p'. * test/src/fns-tests.el (fns-tests-sort): Extend unit test.
* | | | pdumper-stats now returns s, not msPaul Eggert2019-01-191-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/internals.texi (pdumper-stats): * src/pdumper.c (pdumper_load): Return seconds, not milliseconds. Minimize rounding errors in the usual case.
* | | | ; Fix a recent change in pdumper.cEli Zaretskii2019-01-191-3/+6
| | | | | | | | | | | | | | | | | | | | * src/pdumper.c (Fpdumper_stats): Don't expand dump filename, as we don't record the directory relative to which it was specified.
* | | | Minor cleanup in pdumper.cEli Zaretskii2019-01-191-11/+5
| | | | | | | | | | | | | | | | | | | | * src/pdumper (subtract_timespec): Function removed. (pdumper_load): Use timespec_sub instead of subtract_timespec.
* | | | Improve 'pdumper-stats' and its documentationEli Zaretskii2019-01-191-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (Fpdumper_stats): Improve formatting and wording of the doc string. Decode the pdump file name and expand-file-name it. * doc/lispref/internals.texi (Building Emacs): Document 'pdumper-stats'.
* | | | Unbreak the macOS NS buildEli Zaretskii2019-01-191-2/+0
| | | | | | | | | | | | | | | | | | | | * src/xdisp.c (expose_window_tree): Declare and define 'f' on NS as well. Reported by Herbert J. Skuhra <herbert@gojira.at>.
* | | | Port to platforms where NULL is a pointerPaul Eggert2019-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/image.c (x_create_x_image_and_pixmap): The Picture type is an integer, not a pointer. Come to think of it, Picture is really XID, and as far as I can tell, all-bits-one is the invalid XID, not all-bits-zero. However that is a bigger issue; for now, this patch just unbreaks the build.
* | | | Improve documentation of portable dumpingEli Zaretskii2019-01-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pdumper.c (Fdump_emacs_portable): Improve the doc string and the error messages. * doc/lispref/internals.texi (Building Emacs): Document portable dumping and the 'dump-emacs-portable' function.
* | | | Merge from origin/emacs-26Glenn Morris2019-01-185-28/+35
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b6d78a0 (origin/emacs-26) Fix a typo in ELisp manual c9f6f86 Prevent redrawing if frame is garbaged 00ba226 Attempt to fix hangs on MS-Windows due to C-g b26d637 Fix Calc graph output on MS-Windows 03818b0 Fix a minor mistake in ELisp manual 6ac5985 ; Fix some trivial doc typos 21b9026 * etc/tutorials/TUTORIAL: Fix typo (bug#34049) d223727 Fix UI of Buffer-menu 0f71655 Reinitialize ispell-really-enchant when changing the speller 9845044 Speed up loading css-mode
| * | | Prevent redrawing if frame is garbagedAlan Third2019-01-152-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/nsterm.m ([EmacsView viewWillDraw]): Cancel drawing if the frame has been garbaged. * src/xdisp.c (expose_window_tree, expose_frame): Remove NS only exceptions.
| * | | Attempt to fix hangs on MS-Windows due to C-gEli Zaretskii2019-01-142-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32uniscribe.c (uniscribe_otf_capability): Set inhibit-quit around calls to otf_features, because the latter cons Lisp data structures while we are in a critical section. * src/xdisp.c (ALLOCATE_HDC) [HAVE_NTGUI]: Set inhibit-quit. (RELEASE_HDC) [HAVE_NTGUI]: Restore inhibit-quit. (OPTIONAL_HDC, DECLARE_HDC): Remove macros, their job is now done by ALLOCATE_HDC and by a single #ifdef. (draw_glyphs): Adapt to the above changes in macros. (Bug#34059)
| * | | ; Fix some trivial doc typosGlenn Morris2019-01-122-2/+2
| | | |
| * | | Improve GC+Cairo workaroundPaul Eggert2019-01-053-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Eli Zaretskii (Bug#20890#31). * src/font.h (font_data_structures_may_be_ill_formed): New function. * src/ftfont.c (ftfont_close): * src/ftcrfont.c (ftcrfont_close): Use it. (cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)
| * | | Work around GC+Cairo bugPaul Eggert2019-01-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Workaround suggested by Robert Pluim (Bug#20890#13). * src/ftfont.c (ftfont_close) [USE_CAIRO]: Do nothing if GC is in progress.
* | | | Clean up memory allocation and unexec support on MS-WindowsEli Zaretskii2019-01-185-40/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32heap.c (report_temacs_memory_usage): Condition on !CANNOT_DUMP, in addition to ENABLE_CHECKING. (init_heap): Accept an argument, which tells us what heap allocation method to use. (DUMPED_HEAP_SIZE) [CANNOT_DUMP]: Define to a small value, as we don't use dumped_data[] in this case. * src/w32heap.h (init_heap): Adjust prototype. <using_dynamic_heap>: Remove declaration. * src/emacs.c (main) [WINDOWSNT]: Determine heap allocation method based on whether we are in temacs and whether unexec will be used to dump Emacs. Pass the heap allocation method to init_heap, which is now called after parsing the --temacs=METHOD option. * src/unexw32.c (unexec): Don't fiddle with using_dynamic_heap. <using_dynamic_heap>: Remove definition. * src/w32proc.c (malloc_before_init, realloc_before_init) (free_before_init): New functions, to catch memory allocation before heap allocation method is set up.
* | | | Be more specific with XRender bit-depths (bug#34051)Alan Third2019-01-171-9/+23
| | | | | | | | | | | | | | | | | | | | * src/image.c (x_create_x_image_and_pixmap): Fail gracefully if a bit depth is requested that XRender doesn't support.
* | | | Fix --enable-profiling builds (bug#34099)Glenn Morris2019-01-171-0/+4
| | | | | | | | | | | | | | | | | | | | * src/profiler.c (syms_of_profiler_for_pdumper): Only set cpu_log if CPU profiling is enabled.
* | | | Expand spectrum of window change functionsMartin Rudalics2019-01-171-1/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/window.c (run_window_change_functions): Run window change functions for Qwindow_state_change_functions. (resize_frame_windows): Set frame's window_change slot when single-window frames change size. (Qwindow_state_change_functions): New symbol. (Vwindow_state_change_functions): New Lisp variable. * doc/lispref/windows.texi (Selecting Windows): Mention 'window-selection/state-change-functions' and add reference to Window Hooks. (Window Hooks): Document 'window-state-change-functions'. * etc/NEWS: Mention new hook 'window-state-change-functions'.
* | | | Port pdumper to older GNU/LinuxPaul Eggert2019-01-161-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Colin Baxter in: https://lists.gnu.org/r/emacs-devel/2019-01/msg00321.html * src/alloc.c (my_heap_start): Also define if GNU_LINUX && CANNOT_DUMP && DOUG_LEA_MALLOC.
* | | | Fix segfault in profiler after pdump loadDaniel Colascione2019-01-161-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move initialization of the profiler's hash test to static initialization from the syms function so that pdumper doesn't need to bother capturing it in any special way. * src/profiler.c (cmpfn_profiler, hashfn_profiler): forward declare. (hashtest_profiler): statically initialize. (syms_of_profiler): remove dynamic initialization of hashtest_profiler.