1. 17 Apr, 2019 1 commit
    • YAMAMOTO Mitsuharu's avatar
      Use cairo_scaled_font_t object for text drawing and metrics calculation · acec59c9
      YAMAMOTO Mitsuharu authored
      * src/ftfont.h (struct font_info): Replace member cr_font_face of type
      cairo_font_face_t * with cr_scaled_font of type cairo_scaled_font_t *.
      * src/ftcrfont.c: Include math.h for floor, ceiling, and lround.
      (ftcrfont_glyph_extents): Use cairo_scaled_font_glyph_extents.
      (ftcrfont_open): Create cairo_scaled_font_t object and set it to
      cr_scaled_font member of struct font_info.
      (ftcrfont_close): Use cairo_scaled_font_destroy.
      (ftcrfont_draw): Use cairo_set_scaled_font.
      acec59c9
  2. 16 Apr, 2019 2 commits
    • Paul Eggert's avatar
      Fix uninit var in widget.c · debaa72d
      Paul Eggert authored
      * src/widget.c (EmacsFrameQueryGeometry):
      Avoid use of uninitialized variables ok_width, ok_height (Bug#35277).
      debaa72d
    • Paul Eggert's avatar
      Remove Vparam_value_alist · a6b4c3bb
      Paul Eggert authored
      * src/xfaces.c (Vparam_value_alist):
      Remove.  All uses removed.
      (Finternal_set_lisp_face_attribute):
      Simplify by using AUTO_FRAME_ARG.
      a6b4c3bb
  3. 15 Apr, 2019 6 commits
    • Eli Zaretskii's avatar
      Fix the MSDOS build when running under CWSDPMI · 70ec3928
      Eli Zaretskii authored
      * src/msdos.c (the_only_tty_output): Define.
      * src/msdos.h (the_only_tty_output): Declare.
      * src/frame.c (make_terminal_frame) [MSDOS]:
      * src/dispnew.c (init_display) [MSDOS]: Set up
      f->output_data.tty pointer using the_only_tty_output, before
      dereferencing the pointer.  This prevents crashes with DPMI
      servers that provide NULL pointer protection.
      70ec3928
    • Paul Eggert's avatar
      Remove static var system_eol_type · 8065e05a
      Paul Eggert authored
      * src/coding.c (system_eol_type): Remove.
      (coding_inherit_eol_type, syms_of_coding):
      Simplify to avoid the need for system_eol_type.
      8065e05a
    • YAMAMOTO Mitsuharu's avatar
      Avoid compiler warnings on cairo build · da3e3fc7
      YAMAMOTO Mitsuharu authored
      * src/image.c (jpeg_load_body) [USE_CAIRO]: #ifdef out USE_SAFE_ALLOCA
      and SAFE_FREE.
      * src/xterm.c (x_composite_image) [USE_CAIRO]: #ifdef out unused function.
      (x_draw_image_glyph_string) [USE_CAIRO]: #ifdef out unused variable pixmap.
      da3e3fc7
    • Noam Postavsky's avatar
      Let debugger handle process spawn errors on w32 (Bug#33016) · 9800df69
      Noam Postavsky authored
      Since child_setup() is called between block_input()...unblock_input(),
      when an error is signaled the Lisp debugger is prevented from
      starting.  Therefore, let the callers signal the error instead (which
      they already do for non-w32 platforms, just the error message needs an
      update).
      * src/callproc.c (child_setup) [WINDOWSNT]: Don't call
      report_file_error here.
      (call_process) [WINDOWNT]:
      * src/process.c (create_process) [WINDOWSNT]: Call report_file_errno
      here instead, after the unblock_input() call, same as for !WINDOWSNT.
      * src/lisp.h (CHILD_SETUP_ERROR_DESC): New preprocessor define.  Flip
      the containing ifndef DOS_NT branches so that it's ifdef DOS_NT.
      * src/eval.c (when_entered_debugger): Remove.
      (syms_of_eval) <internal-when-entered-debugger>: Define it as a Lisp
      integer variable instead.
      (maybe_call_debugger): Update comment.
      * test/src/process-tests.el (make-process-w32-debug-spawn-error):
      * test/src/callproc-tests.el (call-process-w32-debug-spawn-error): New
      tests.
      9800df69
    • Alexander Gramiak's avatar
      Bump minimum GTK versions to 2.24 and 3.10 · fc0f469f
      Alexander Gramiak authored
      * configure.ac: Bump required GTK 2 and GTK 3 versions and the
      associated GLib versions. Remove obsolete AC_CHECK_FUNCS calls. These
      check for functions available in later GTK 2 versions. These checks
      and can safely be removed with the exception of
      gtk_window_set_has_resize_grip, which according to a comment in
      gtkutil.c causes an issue in Ubuntu's GTK 2.
      
      * src/gtkutil.c:
      * src/xfns.c:
      * src/xterm.c:
      * src/xterm.h: Remove now unused conditional blocks. Use HAVE_GTK3
      instead of GTK_CHECK_VERSION where now applicable. Remove checks of
      now always true USE_GTK_TOOLTIP.
      fc0f469f
    • Paul Eggert's avatar
      Replace executable’s fingerprint in place · 5c2f94a1
      Paul Eggert authored
      * admin/merge-gnulib (GNULIB_MODULES): Add memmem-simple.
      (AVOIDED_MODULES): Add memchr.
      * configure.ac (HAVE_PDUMPER): AC_SUBST it, too, for use in makefiles.
      * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
      * lib/fingerprint.c: New file.
      * lib/memmem.c, lib/str-two-way.h, m4/memmem.m4: New files,
      copied from Gnulib.
      * lib/fingerprint.h: Rename from src/fingerprint.h.
      * lib-src/make-fingerprint.c: Include limits.h, sys/stat.h,
      fingerprint.h, intprops.h, min-max.h.
      (SSIZE_MAX): New macro, if not already defined.
      (main): Without -r, Replace the fingerprint in the input file
      instead of generating a fingerprint.c.
      * lib/Makefile.in (libgnu_a_OBJECTS): Add fingerprint.o.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      * src/Makefile.in (HAVE_PDUMPER, MAKE_PDUMPER_FINGERPRINT):
      New macros.
      (temacs$(EXEEXT)): Use them to replace the fingerprint instead
      of precalculating it.
      (mostlyclean, ctagsfiles1): Do not worry about fingerprint.c.
      5c2f94a1
  4. 14 Apr, 2019 2 commits
  5. 13 Apr, 2019 3 commits
  6. 12 Apr, 2019 1 commit
    • Dmitry Gutov's avatar
      Add :array-type option to json-parse-string · b41c1ca1
      Dmitry Gutov authored
      * src/json.c (enum json_array_type): New type.
      (struct json_configuration): New field array_type.
      (json_parse_args): Rename the last argument.  Handle the
      :array-type keyword argument (bug#32793).
      (Fjson_parse_string): Update the docstring accordingly.
      (json_to_lisp): Handle the case of :array-type being `list'.  Add
      a call to 'rarely_quit' inside the loop.
      (syms_of_json): Define new symbols.
      (Fjson_serialize, Fjson_insert, Fjson_parse_string)
      (Fjson_parse_buffer): Update the config struct initializers.
      b41c1ca1
  7. 11 Apr, 2019 3 commits
    • Eli Zaretskii's avatar
      Improve documentation of 'read-command' · 85829363
      Eli Zaretskii authored
      * src/minibuf.c (Fread_command): Document the return value
      when DEFAULT-VALUE is nil and the user enters nothing.
      * doc/lispref/minibuf.texi (High-Level Completion): Document
      the printed representation of a symbol whose name is empty.
      (Bug#3522)
      85829363
    • Eli Zaretskii's avatar
      Fix an outdated URL in a comment · b77723a5
      Eli Zaretskii authored
      * src/emacs.c: Fix reference to Cocoa CoreFoundation Release
      Notes.  (Bug#35225)
      b77723a5
    • Paul Eggert's avatar
      Bring back dmpstruct.h · 9994bf17
      Paul Eggert authored
      Bring back the dmpstruct.h checking, and use it when
      --enable-checking=structs is specified.  The checking can be helpful
      to some developers, although it gets in the way of others and is
      not needed for ordinary tarball builds.
      * src/dmpstruct.awk: Restore this file, with mode 644 not 755.
      * configure.ac: New option-arg --enable-checking=structs,
      implied by --enable-checking.
      (CHECK_STRUCTS): New macro and var.
      * src/Makefile.in (CHECK_STRUCTS): New macro.
      (dmpstruct_headers, dmpstruct.h, dmpstruct.h):
      Restore these macros and rules.
      (pdumper.o): Restore this dependency if $(CHECK_STRUCTS) is true.
      (mostlyclean): Remove dmpstruct.h.
      * src/pdumper.c [CHECK_STRUCTS]: Include dmpstruct.h,
      and restore checks against hashes.
      9994bf17
  8. 10 Apr, 2019 1 commit
  9. 09 Apr, 2019 3 commits
    • Paul Eggert's avatar
      Remove the need for temacs.in · d8260374
      Paul Eggert authored
      Instead of building a file temacs.in used only to compute a
      fingerprint, compute the fingerprint directly from the .o and
      .a files that go into temacs.in.  This speeds up the build by
      avoiding the need to link temacs twice, once with a dummy
      fingerprint.
      * lib-src/make-fingerprint.c (main): No need to generate
      a fingerprint file that includes config.h, now that fingerprint.c
      depends on all the .o files.
      * src/Makefile.in ($(libsrc)/make-fingerprint$(EXEEXT)):
      Use the same rule as $(libsrc)/make-docfile$(EXEEXT).
      * src/fingerprint-dummy.c: Remove.
      * src/Makefile.in (${charsets}, $(libsrc)/make-docfile$(EXEEXT))
      ($(LIBEGNU_ARCHIVE), $(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a)
      (../config.status, ${ETAGS}, ../lisp/TAGS, $(lwlibdir)/TAGS)
      ($(lispsource)/loaddefs.el):
      Prefer ‘$(MAKE) -C $(dir $@)’ to ‘${MAKE} -C SOMESTRING’ when
      either will do, as the former is more regular and lets us
      coalesce rules better.
      (EMACS_DEPS_PRE, EMACS_DEPS_POST, BUILD_EMACS_PRE)
      (BUILD_EMACS_POST, temacs.in$(EXEEXT)): Remove.
      (FINGERPRINTED): New macro.
      (fingerprint.c): Use it instead of temacs.in$(EXEEXT), to
      avoid the need to build temacs.in at all.
      (temacs$(EXEEXT)): No need to depend on other .o files now;
      fingerprint.o is enough, since it depends on the rest.
      Spell out what used to be in BUILD_EMACS_PRE and BUILD_EMACS_POST.
      (mostlyclean): No need to remove temacs.in.
      d8260374
    • Paul Eggert's avatar
      Remove assumption of uint64_t etc. in portable code · e44ff2de
      Paul Eggert authored
      C11 doesn’t guarantee the existence of types like uint64_t,
      so avoid these types in portable code, as it’s easy to do so.
      There’s no need to avoid the types in w32-specific code,
      since w32 is guaranteed to have them.
      * lib-src/make-fingerprint.c (main):
      * src/fingerprint-dummy.c:
      * src/fingerprint.h:
      * src/pdumper.c (dump_fingerprint, struct dump_header):
      Prefer unsigned char to uint8_t in portable code, as either will do.
      Put an "#include <config.h>" in fingerprint.c files, so
      that the corresponding .o file is rebuilt after ./configure is run.
      * lib-src/make-fingerprint.c (main):
      Simplify loop.
      * src/Makefile.in (fingerprint.c): Update atomically.
      * src/pdumper.c: Omit unnecessary check that off_t is the same
      size as int32_t or int64_t, as the code does not rely on this
      assumption.
      (dump_off): Use int_least32_t, not int32_t.
      (struct dump_reloc): Use unsigned int, not uint32_t.
      (dump_anonymous_allocate_w32, dump_anonymous_allocate_posix)
      (dump_anonymous_allocate, dump_map_file_w32, dump_map_file_posix)
      (dump_map_file:
      Do the sanity checks at compile time, not at run-time, to avoid
      usage of uint64_t etc. on non-w32 platforms.
      e44ff2de
    • Paul Eggert's avatar
      Remove dmpstruct.h · 44a39e3e
      Paul Eggert authored
      The hassles of updating the dmpstruct.h-using code bit me again.
      These updates are more trouble than they’re worth.  See:
      https://lists.gnu.org/r/emacs-devel/2019-03/msg00122.html
      As I’m the main person who’s made changes in this area since
      dmpstruct.h was introduced, I’m the most motivated to clean up
      the situation.
      * make-dist (possibly_non_vc_files): Remove src/dmpstruct.h.
      * src/Makefile.in (dmpstruct_headers, dmpstruct.h): Remove.
      (pdumper.o): Do not depend on dmpstruct.h.
      (mostlyclean): Do not remove dmpstruct.h.
      * src/dmpstruct.awk: Remove.
      * src/pdumper.c: Do not include dmpstruct.h.
      (CHECK_STRUCTS): Remove.  All uses removed.
      44a39e3e
  10. 08 Apr, 2019 3 commits
  11. 07 Apr, 2019 4 commits
  12. 06 Apr, 2019 5 commits
  13. 05 Apr, 2019 2 commits
  14. 04 Apr, 2019 1 commit
  15. 03 Apr, 2019 3 commits
    • Eli Zaretskii's avatar
      Improve commentary in 'field_relpos' · 2bcf0f09
      Eli Zaretskii authored
      * src/pdumper.c (PDUMPER_MAX_OBJECT_SIZE): New macro.
      (field_relpos): Use PDUMPER_MAX_OBJECT_SIZE, and comment on
      why we require that relpos be not too large.
      2bcf0f09
    • Eli Zaretskii's avatar
      Restore process-environment after portable dumping · b29b79ef
      Eli Zaretskii authored
      * src/pdumper.c (struct dump_context): New member
      old_process_environment.
      (Fdump_emacs_portable): Record the original value of
      process-environment.
      (dump_unwind_cleanup): Restore the original values of
      process-environment and post-gc-hook.
      b29b79ef
    • Noam Postavsky's avatar
      Allow partial decompression (Bug#33133) · b36913d8
      Noam Postavsky authored
      * src/decompress.c (Fzlib_decompress_region): Add optional
      ALLOW-PARTIAL parameter.
      * lisp/url/url-http.el (url-handle-content-transfer-encoding): Use it.
      * doc/lispref/text.texi (Decompression): Document it.
      * etc/NEWS: Announce it.
      b36913d8