1. 28 Jan, 2019 2 commits
    • Eli Zaretskii's avatar
      Fix last change in xfaces.c · 9d8f900d
      Eli Zaretskii authored
      * src/xfaces.c (init_xfaces): Don't rely of 'face'
      property of a face to be a natural number.
      9d8f900d
    • Eli Zaretskii's avatar
      Fix bug with face-id after restoring from pdump · cd06d173
      Eli Zaretskii authored
      * 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.
      cd06d173
  2. 27 Jan, 2019 2 commits
    • Paul Eggert's avatar
      forward-line now works with bignums · cc1c46e4
      Paul Eggert authored
      * 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.
      cc1c46e4
    • Eli Zaretskii's avatar
      Improve pdump load diagnostics · 6c2ee11d
      Eli Zaretskii authored
      * src/emacs.c (load_pdump): Improve diagnostics when pdump
      file fails to load correctly.
      6c2ee11d
  3. 26 Jan, 2019 3 commits
    • Eli Zaretskii's avatar
      4eb78a47
    • Eli Zaretskii's avatar
      Improve pdump file search and 'pdumper-stats' · a7974933
      Eli Zaretskii authored
      * 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.
      a7974933
    • Eli Zaretskii's avatar
      Fix face initializations in pdump'ed Emacs · bf4099b2
      Eli Zaretskii authored
      * src/dispnew.c (init_display_interactive): Call init_faces_initial
      in the daemon if dumped with pdumper. (Bug#34114)
      bf4099b2
  4. 23 Jan, 2019 6 commits
  5. 22 Jan, 2019 1 commit
    • Phillip Lord's avatar
      Add hook for all events · 7b31de4d
      Phillip Lord authored
      * lisp/subr.el (input-event-functions): Add input-event-functions
      * src/keyboard.c (read_char): Call input-event-functions on all hooks
      7b31de4d
  6. 21 Jan, 2019 3 commits
  7. 20 Jan, 2019 1 commit
    • Eli Zaretskii's avatar
      Support native image resizing on MS-Windows · 67b1053d
      Eli Zaretskii authored
      * 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.
      67b1053d
  8. 19 Jan, 2019 6 commits
  9. 18 Jan, 2019 3 commits
    • Paul Eggert's avatar
      Port to platforms where NULL is a pointer · 7818bcdd
      Paul Eggert authored
      * 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.
      7818bcdd
    • Eli Zaretskii's avatar
      Improve documentation of portable dumping · 6bac9ea1
      Eli Zaretskii authored
      * 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.
      6bac9ea1
    • Eli Zaretskii's avatar
      Clean up memory allocation and unexec support on MS-Windows · 5e3b0f52
      Eli Zaretskii authored
      * 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.
      5e3b0f52
  10. 17 Jan, 2019 5 commits
    • Alan Third's avatar
      Be more specific with XRender bit-depths (bug#34051) · 03b8903e
      Alan Third authored
      * src/image.c (x_create_x_image_and_pixmap): Fail gracefully if a bit
      depth is requested that XRender doesn't support.
      03b8903e
    • Glenn Morris's avatar
      Fix --enable-profiling builds (bug#34099) · 8ca414de
      Glenn Morris authored
      * src/profiler.c (syms_of_profiler_for_pdumper):
      Only set cpu_log if CPU profiling is enabled.
      8ca414de
    • Martin Rudalics's avatar
      Expand spectrum of window change functions · 0aece3e1
      Martin Rudalics authored
      * 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'.
      0aece3e1
    • Paul Eggert's avatar
      Port pdumper to older GNU/Linux · 978cf88b
      Paul Eggert authored
      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.
      978cf88b
    • Daniel Colascione's avatar
      Fix segfault in profiler after pdump load · 191a5568
      Daniel Colascione authored
      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.
      191a5568
  11. 16 Jan, 2019 7 commits
    • Daniel Colascione's avatar
      3fd369be
    • Daniel Colascione's avatar
      Fix crash in charset detection after pdumper load · ece563e8
      Daniel Colascione authored
      * src/coding.c:
      (reset_coding_after_pdumper_load): new function re-init character
      classes after pdumper load.
      (syms_of_coding): Call it.
      ece563e8
    • Andy Moreton's avatar
      Avoid compilation warnings in MS-Windows build · 8bf51c38
      Andy Moreton authored
      * src/pdumper.c (dump_cold_bignum):
      * src/emacs.c(load_pdump) [WINDOWSNT]: Avoid compiler warnings
      due to 64-bit vs 32-bit data type mismatches.
      8bf51c38
    • Eli Zaretskii's avatar
      Improve documentation of pdumper; minor code cleanup · ebd174e2
      Eli Zaretskii authored
      * src/emacs.c (usage_message): Add the --dump-file option.
      (string_starts_with_p, find_argument): Functions removed; use
      'argmatch' instead.
      (PDUMP_FILE_ARG): Macro removed; use literal strings instead,
      as with other command-line options.  Use HAVE_PDUMPER for cpp
      conditionals which used PDUMP_FILE_ARG.
      (load_pdump, main): Use 'argmatch' for "--dump-file" and
      "--temacs" arguments, thus supporting the "-dump-file" and
      "-temacs" variants, for consistency with other options.
      (main): Remove the extra fatal error for using --dump-file in
      unexec'ed Emacs: load_pdump does that anyway.
      (standard_args): Add --dump-file and --temacs, with
      appropriate priorities.
      
      * etc/NEWS: Expand on the pdumper support.
      
      * doc/emacs/cmdargs.texi (Initial Options): Document the
      '--dump-file' command-line option.
      ebd174e2
    • Eli Zaretskii's avatar
      Fix minor glitch with producing 'emacs' executable · e96a54eb
      Eli Zaretskii authored
      * src/Makefile.in (LC_ALL) [!DUMPING]: Don't overwrite
      previous emacs-X.Y.Z executables with new ones.
      e96a54eb
    • Glenn Morris's avatar
      ; Copyright fixes for pdumper files · 655badc3
      Glenn Morris authored
      I wonder if the copyright years for lib-src/make-fingerprint.c are correct.
      655badc3
    • Paul Eggert's avatar
      Fix unlikely races with GnuTLS, datagrams · e87e6a24
      Paul Eggert authored
      Retry some calls if interrupted at inopportune times.
      These were found by code inspection.
      * src/gnutls.c (gnutls_try_handshake): Simplify by using
      new emacs_gnutls_handle_error API.
      (emacs_gnutls_write): Remove GNUTLS_E_AGAIN hack since
      emacs_gnutls_handle_error now does that.
      Use emacs_gnutls_handle_error only on errors.
      (emacs_gnutls_read): Retry if gnutls_record_recv returns
      GNUTLS_E_INTERRUPTED, to be consistent with emacs_read.
      (emacs_gnutls_handle_error): Return 0 on fatal errors,
      -1 (setting errno) on ordinary errors, to simplify callers.
      Assume that ERR is negative, since it always is now.
      Map non-fatal GnuTLS errors to errno values as best we can.
      * src/process.c (read_process_output) [DATAGRAM_SOCKETS]:
      Retry recvfrom if it is interrupted, to be consistent with
      how things are handled when not a datagram channel.
      (send_process) [DATAGRAM_SOCEKTS]: If sendto is interrupted,
      process pending signals and retry it, to be consistent with
      how things are handled when not a datagram channel.
      e87e6a24
  12. 15 Jan, 2019 1 commit
    • Daniel Colascione's avatar
      Add portable dumper · d12e5d00
      Daniel Colascione authored
      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.
      d12e5d00