1. 09 Jun, 2019 9 commits
    • Dmitry Gutov's avatar
      Rename xref--pop-to-location to xref-pop-to-location · 4f479aeb
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref-pop-to-location):
      Rename from xref-pop-to-location.  So that third-party
      xref-show-definitions-function implementations can use it safely
      (bug#36144).  Update all callers.
    • Dmitry Gutov's avatar
      Add a built-in alternative for xref-show-definitions-function · ec563971
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--transient-buffer-mode-map):
      New variable.
      (xref--transient-buffer-mode): New major mode.
      (xref--button-map): Remove the RET binding (it was unnecessary in
      the first place).
      Extract from xref--show-xref-buffer.
      (xref--show-defs-buffer-at-bottom): New function.
    • Stefan Kangas's avatar
      Fix TODO to convert defvar with leading '*' to defcustom · b7e26952
      Stefan Kangas authored
      * etc/TODO: Remove done TODO to remove '*' from defvar.
      * doc/misc/gnus.texi: Remove leading '*' from defvar example.
      * lisp/kermit.el (kermit-esc-char): Convert to defcustom.
      * lisp/desktop.el (desktop-header):
      * lisp/obsolete/cc-compat.el (c-indent-level)
      (c-brace-imaginary-offset, c-brace-offset, c-argdecl-indent)
      (c-label-offset, c-continued-statement-offset)
      (c-continued-brace-offset): Remove leading '*' from docstring.
      * lisp/progmodes/dcl-mode.el: Remove leading '*' from docstring in
      * test/manual/cedet/tests/test.el: Add comment asking if example of
      defvar with leading '*' should be removed.
      (Bug#35994)  (The previous commit is also for the same bug.)
    • Stefan Kangas's avatar
      Fix TODO to remove leading '*' from defcustom · 8c4d114e
      Stefan Kangas authored
      * etc/TODO: Remove done TODO to remove leading '*' from defcustom
      * lisp/ibuffer.el (ibuffer-inline-columns): Remove leading '*' from
    • Stefan Kangas's avatar
      Mark define-widget-keywords as obsolete · f58cae8b
      Stefan Kangas authored
      * lisp/widget.el (define-widget-keywords): Mark as obsolete.
    • Stefan Kangas's avatar
      Use lexical-binding in underline.el and add tests · e40f1c68
      Stefan Kangas authored
      * lisp/textmodes/underline.el: Use lexical-binding.
      * test/lisp/textmodes/underline-tests.el: New file.
    • Stefan Kangas's avatar
      Checkdoc fixes in lisp/bookmark.el · fb6610f5
      Stefan Kangas authored
      * lisp/bookmark.el (bookmark-bmenu-inline-header-height)
      (bookmark-bmenu-marks-width, bookmark-map, bookmark-quit-flag)
      (bookmark-name-from-full-record, bookmark-set-internal)
      (bookmark-insert-annotation, bookmark--jump-via)
      (bookmark-bmenu-set-header, bookmark-show-annotation)
      (bookmark-bmenu-other-window-with-mouse, bookmark-bmenu-relocate):
      Checkdoc docstring fixes.  (Bug#35916)
    • Paul Eggert's avatar
      Fix int overflow bug in ‘equal’ · 1e6396ec
      Paul Eggert authored
      * src/fns.c (internal_equal):
      Fix bug when vector lengths exceed INT_MAX.
    • Paul Eggert's avatar
      Tune base64 decoding · 5abaea33
      Paul Eggert authored
      This improves performance of base64-decode-region by about 7.5% on
      my platform, and gets rid of some macros.
      * src/fns.c (IS_ASCII, IS_BASE64, IS_BASE64_IGNORABLE)
      (base64_value_to_char, base64_char_to_value):
      Now an array of two arrays.  All uses changed.
      (base64url_value_to_char, base64url_char_to_value):
      Remove.  All uses changed to the other array.
      (base64_char_to_value): Entries are now of type signed char, not
      short, since we can assume C99.  Use C99 initializers; this is
      clearer and caters to the (theoretical) possibility of systems
      that do not use ASCII or do not have 8-bit bytes.  Allow any index
      in the range 0..UCHAR_MAX instead of limiting it to 0..127, so
      that uses need not check for in-range indexes.  Also record
      padding chars.  All uses changed.
      (base64_decode_1): Always store number of chars in *NCHARS_RETURN,
      for simplicity.  All callers changed.  Speed up the byte-fetching.
  2. 08 Jun, 2019 10 commits
    • Paul Eggert's avatar
      Fix out-of-source make-dist problems · 1043cd30
      Paul Eggert authored
      Problem with jisx2131-filter reported by Phillip Lord in:
      * admin/charsets/Makefile.in (SED_SCRIPT):
      Put it in $(srcdir), which is not necessarily the working directory.
      ($(SED_SCRIPT)): Rename from jisx2131-filter.  All uses changed.
      (clean): Do not remove SED_SCRIPT.
      (extraclean): Remove it here instead.
      * make-dist (possibly_non_vc_files): Remove src/emacs-module.h.
      Although it is portable and could be distributed in the tarball,
      it's too much hassle to do that, so let each builder make it.
    • Glenn Morris's avatar
      ; Fix recent maintainer header removals · d26b49e5
      Glenn Morris authored
      The convention is that no "Maintainer" means "Author" is the maintainer.
    • Eli Zaretskii's avatar
    • Bernhard Rotter's avatar
      Fix path for current directory in eshell on MS-Windows · 8a75bde4
      Bernhard Rotter authored
      On MS-Windows, PATH implicitly includes the current directory.
      Do it right for Eshell by adding "./" instead of ".", to
      avoid finding .FOO instead of ./FOO.
      * lisp/eshell/esh-util.el (eshell-get-path): New function.
      * lisp/eshell/em-cmpl.el (eshell-complete-commands-list):
      * lisp/eshell/esh-ext.el (eshell-search-path): Use eshell-get-path.
    • Eli Zaretskii's avatar
      Minor fixes for the last commits · 1cc90d21
      Eli Zaretskii authored
      * src/fns.c (Fbase64url_encode_region)
      (Fbase64url_encode_string, Fbase64_decode_region)
      (Fbase64_decode_string): Fix doc strings.
      (base64_decode_1): Minor stylistic code changes.
      * doc/lispref/text.texi (Base 64): Fix typos and improve
      wording of the last committed text.
    • Eli Zaretskii's avatar
    • Pierre Téchoueyres's avatar
      Add support for base64url variant of base-64 encoding/decoding · 7541b068
      Pierre Téchoueyres authored
      Implement the RFC4648 variant of base64 encoding used by URLs.
      * doc/lispref/text.texi (base64url-encode-region,
      base64url-encode-string): Document new functions.
      (base64-decode-region, base64-decode-string): Document new optional
      parameter 'base64url' used to use url variant when decoding data.
      * src/fns.c (base64url-encode-region, base64url-encode-region): New
      functions to manage url variant.
      (base64-decode-region, base64-decode-string): Add optional
      parameter to indicate use of url-variant.
      (base64_encode_region_1, base64_encode_string_1): Internal functions
      with extracted code from 'base64_encode_region' and
      'base64_encode_string' and optional parameters to manage padding and
      url variant.
      (base64-encode-region, base64-encode-string) : Use
      base64_encode_region_1 and base64_encode_string_1.
      (base64-encode-1): Add parameters to manage padding and url variant.
      (base64-decode-1): Add parameter to manage url variant.
      * test/src/fns-tests.el (fns-tests--with-region): New helper macro to
      test region variant of base64 encode / decode functions.
      (fns-tests--string-repeat): Helper function used in base64 tests.
      (fns-tests-base64-encode-region, fns-tests-base64-encode-string):
      Tests for standard base64 function.
      fns-test-base64url-encode-string): Tests for url variant.
      (fns-tests-base64-decode-string): Tests for decoding part.
    • YAMAMOTO Mitsuharu's avatar
      Support X core font driver on cairo (Bug#28236) · faf10bd8
      YAMAMOTO Mitsuharu authored
      * configure.ac (HAVE_X_WINDOWS): Add xfont.o to FONT_OBJ if HAVE_CAIRO.
      * doc/lispref/frames.texi (Font and Color Parameters): Mention X core font
      driver with Cairo drawing.
      * src/font.c (syms_of_font) [HAVE_X_WINDOWS && USE_CAIRO]: Call syms_of_xfont.
      * src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.
      * src/xterm.c (x_cr_gc_clip) [USE_CAIRO]: New function extracted from
      (x_begin_cr_clip) [USE_CAIRO]: Use it.
      (xlib_surface_key, saved_drawable_key) [USE_CAIRO]: New variables.
      (x_cr_destroy_xlib_surface, x_try_cr_xlib_drawable)
      (x_end_cr_xlib_drawable) [USE_CAIRO]: New functions.
      (x_draw_glyph_string_foreground) [USE_CAIRO]: Get Xlib surface when drawing
      text with X core fonts into bitmap surfaces.  Add fallback code for drawing
      into outline surfaces.
    • YAMAMOTO Mitsuharu's avatar
      Implement native image rotation and cropping on cairo · 88c49ac3
      YAMAMOTO Mitsuharu authored
      * src/dispextern.h (struct image) [USE_CAIRO]:
      * src/image.c (free_image, image_clear_image_1)
      (image_set_crop, image_set_size, image_set_rotation)
      (image_create_x_image_and_pixmap) [USE_CAIRO]: #ifdef out HAVE_XRENDER part.
      * src/image.c (cr_create_surface_from_pix_containers) [USE_CAIRO]: Rename
      from cr_create_surface_from_pix_containers.  Change arguments to pair of
      Emacs_Pix_Container:s.  Move block_input and unblock_input to caller.
      (cr_put_image_to_cr_data) [USE_CAIRO]: New function.
      (prepare_image_for_display) [USE_CAIRO]: Use it.
      (image_set_transform) [USE_CAIRO]: Create dummy solid color pattern equipped
      with transformation matrix and set it to img->cr_data.
      * src/xterm.c (fringe_bmp) [USE_CAIRO]: Change type to cairo_pattern_t **.
      (x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap) [USE_CAIRO]: Create
      or destroy cairo pattern.
      (x_cr_draw_image) [USE_CAIRO]: Remove arguments image_width and image_height.
      Change type of image to cairo pattern.  All callers changed.
      * src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Get cairo surface
      from img->cr_data, which is of cairo pattern now.
    • Thomas Fitzsimmons's avatar
      Make icalendar-import-buffer not show diary file buffer · 890a0826
      Thomas Fitzsimmons authored
      * lisp/calendar/diary-lib.el (diary-make-entry): Add
      omit-trailing-space parameter.  Add do-not-show parameter to
      allow not showing diary file buffer.
      * lisp/calendar/icalendar.el (icalendar--add-diary-entry): Remove
      workaround to omit trailing space in diary entry.  Have
      diary-make-entry not display the diary file buffer.  (Bug#35645)
  3. 07 Jun, 2019 21 commits
    • Paul Eggert's avatar
      Fix commentary about fixnums and hashes. · 58cde923
      Paul Eggert authored
    • Paul Eggert's avatar
      Fix minor ssize_t / ptrdiff_t confusion · 8553af84
      Paul Eggert authored
      * src/fileio.c (Fcopy_file): This limit is because of ssize_t,
      so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.
    • Paul Eggert's avatar
      Use machine pointer width for face hashes · de46a6a4
      Paul Eggert authored
      * src/dispextern.h (struct face):
      * src/xfaces.c (hash_string_case_insensitive, lface_hash)
      (cache_face, lookup_face): Use uintptr_t for face hashes
      instead of discarding the upper pointer bits on 64-bit machines.
    • Stefan Monnier's avatar
      * lisp/gnus: Further reduce assumptions about gnus-data format · da1974fa
      Stefan Monnier authored
      * lisp/gnus/gnus-registry.el (gnus-registry-fetch-message-id-fast)
      (gnus-registry-fetch-sender-fast, gnus-registry-fetch-recipients-fast)
      (gnus-registry--set/remove-mark): Don't hardcode assoc for gnus-data-find-in.
      * lisp/gnus/gnus-sum.el (gnus-data-update-list): Don't hardcode `nth 2`
      for gnus-data-pos.
      (gnus-summary-insert-old-articles, gnus-summary-insert-new-articles)
      (gnus-summary-first-article-p): Don't hardcode `car` for `gnus-data-number`.
      (gnus-summary-move-article, gnus-summary-expire-articles)
      (gnus-summary-delete-article): Don't hardcode assoc for gnus-data-find-in.
      * lisp/gnus/spam.el (spam-fetch-article-header): Don't hardcode `nth 3`
      for gnus-data-header.
    • Eli Zaretskii's avatar
    • Eli Zaretskii's avatar
      Support text shaping with HarfBuzz · dec52501
      Eli Zaretskii authored
      The code to support HarfBuzz was written by these individuals:
        Khaled Hosny <dr.khaled.hosny@gmail.com>
        YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
        Eli Zaretskii <eliz@gnu.org>
      * src/xftfont.c (xftfont_list): Call ftfont_list2.
      (xftfont_match): Call ftfont_match2.
      (xftfont_open) [HAVE_HARFBUZZ]: Set the font driver to
      xfthbfont_driver as required.  Reset xftfont_info->hb_font to
      (xftfont_close) [HAVE_HARFBUZZ]: Dispose of the hb_font object.
      (xftfont_shape): Accept an additional argument DIRECTION and
      pass it to ftfont_shape.
      (xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
      (xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
      (syms_of_xftfont): New DEFSYM 'xfthb'.
      (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize
      * src/xfns.c (Fx_create_frame, x_create_tip_frame)
      [HAVE_HARFBUZZ]: Register the HarfBuzz font driver.
      * src/w32uniscribe.c (bswap_32) [HAVE_HARFBUZZ]: Define to use
      the builtin for GCC 4.3.9 and newer; else use byteswap.h from
      (struct uniscribe_font_info): New member 'scale'.  The member
      'cache' is now used both by Uniscribe and HarfBuzz backends.
      (uniscribe_open): Set the font backend as required by the font
      entity's font_type field.
      (uniscribe_close) [HAVE_HARFBUZZ]: Dispose of the hb_font
      (uniscribe_shape): Accept an additional argument DIRECTION.
      (w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
      (w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
      (w32hb_get_variation_glyphs, load_harfbuzz_funcs)
      [HAVE_HARFBUZZ]: New functions.
      (syms_of_w32uniscribe_for_pdumper): Initialize
      harfbuzz_font_driver if loading the requisite functions from
      the HarfBuzz DLL succeeded.
      * src/w32font.c (syms_of_w32font): New DEFSYM 'harfbuzz'.
      * src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
      Determine whether we should register the HarfBuzz backend, or
      Uniscribe backend, or both for the new frame.
      * src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
      * src/macfont.m (lgstring_direction): New enumeration.
      (mac_font_shape_1, mac_screen_font_shape, macfont_shape):
      Accept an additional argument DIRECTION; all callers changed.
      * src/lisp.h (get_unicode_property): Add prototype.
      * src/hbfont.c: New file.
      * src/ftxfont.c (ftxfont_list): Call ftfont_list2.
      (ftxfont_match): Call ftfont_match2.
      * src/ftfont.h [HAVE_HARFBUZZ]: Include hb.h and hb-ft.h.
      (struct font_info): New member hb_font.
      * src/ftfont.c (ftfont_list2, ftfont_list_family): New functions.
      (ftfont_open) [HAVE_HARFBUZZ]: Reset ftfont_info->hb_font to
      NULL.  Set the font backend to fthbfont_driver when required.
      (ftfont_close) [HAVE_HARFBUZZ]: Dispose of ftfont_info->hb_font.
      (ftfont_glyph_metrics): New function.
      (ftfont_text_extents): Call ftfont_glyph_metrics instead of
      (ftfont_shape): Accept an additional argument DIRECTION.
      (ftfont_variation_glyphs) [!HAVE_OTF_GET_VARIATION_GLYPHS]:
      Support for variation glyphs without FLT.
      (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
      (syms_of_ftfont): New DEFSYM freetypehb.
      (syms_of_ftfont_for_pdumper): Initialize fthbfont_driver.
      * src/ftcrfont.c (ftcrfont_list): Call ftfont_list2.
      (ftcrfont_match): Call ftfont_match2.
      (ftcrfont_open) [HAVE_HARFBUZZ]: Set the font backend to
      ftcrhbfont_driver as required.  Reset ftcrfont_info->hb_font
      to NULL.
      (ftcrfont_close) [HAVE_HARFBUZZ]: Discard of
      (ftcrfont_shape): Pass DIRECTION to ftfont_shape.
      (ftcrhbfont_list, ftcrhbfont_match)
      (ftcrhbfont_begin_hb_font, ftcrhbfont_end_hb_font)
      [HAVE_HARFBUZZ]: New functions.
      (syms_of_ftcrfont): New DEFSYM ftcrhb.
      (syms_of_ftcrfont_for_pdumper): Initialize ftcrhbfont_driver.
      * src/font.h [HAVE_HARFBUZZ]: Include hb.h.
      (struct font_driver): Update comments and function signatures
      to reflect the new argument DIRECTION accepted by the 'shape'
      method.  New methods 'begin_hb_font' and 'end_hb_font'.
      (hbfont_shape, hbfont_combining_capability)
      (fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: Add prototypes.
      * src/font.c (Ffont_shape_gstring): Accept an additional
      argument DIRECTION, and pass it to the font driver's 'shape'
      (Ffont_variation_glyphs): Doc fix.
      (syms_of_font): New DEFSYMS L2R and R2L.
      * src/composite.h (composition_reseat_it): Adjust prototype.
      * src/composite.c (autocmp_chars): Accept additional argument
      DIRECTION, and pass it to auto-composition-function.  All
      callers changed.
      (composition_reseat_it): Accept additional argument
      BIDI_LEVEL, and use it to determine the DIRECTION argument to
      be passed to autocmp_chars.  All callers changed.
      (syms_of_composite) <auto-composition-function>: Improve the
      doc string; document the meaning of the new argument
      * src/chartab.c (get_unicode_property): New function,
      refactored from the body of get-unicode-property-internal.
      (Fget_unicode_property_internal): Call get_unicode_property
      after validating the input arguments.
      * src/Makefile.in (HARFBUZZ_CFLAGS, HARFBUZZ_LIBS): New macros.
      (SOME_MACHINE_OBJECTS): Add hbfont.o
      * lisp/language/tv-util.el (tai-viet-composition-function):
      * lisp/language/thai-util.el (thai-composition-function):
      * lisp/language/misc-lang.el (arabic-shape-gstring):
      * lisp/language/lao-util.el (lao-composition-function):
      * lisp/language/japanese.el (compose-gstring-for-variation-glyph):
      * lisp/language/hebrew.el (hebrew-shape-gstring):
      * lisp/language/ethio-util.el (ethio-composition-function):
      * lisp/composite.el (compose-chars-after)
      (compose-gstring-for-terminal, auto-compose-chars): All
      composition functions that call shapers now accept an
      additional argument DIRECTION, either L2R or R2L.
      * etc/NEWS: Document the HarfBuzz support.
      * etc/HELLO: Add diacritics to Hebrew greetings.
      * doc/lispref/frames.texi (Font and Color Parameters):
      * doc/emacs/msdos.texi (Windows Fonts): Describe the
      'harfbuzz' font backend on MS-Windows and how it is preferred
      to 'uniscribe'.
      * configure.ac (--wthout-harfbuzz): New option.
      (HAVE_HARFBUZZ): New tests.
      (FONT_OBJ) [HAVE_HARFBUZZ]: Add hbfont.o
      (emacs_config_features): Add HARFBUZZ.
      * admin/nt/dist-build/build-dep-zips.py: Add HarfBuzz dependency.
    • Tak Kunihiro's avatar
      Make mouse-wheel-scroll-amount consistent among platforms · 9f4c945b
      Tak Kunihiro authored
      * lisp/term/ns-win.el (mouse-wheel-scroll-amount): Do not put any
      values on mouse-wheel-scroll-amount on ns.
    • Eli Zaretskii's avatar
    • Glenn Morris's avatar
      Merge from origin/emacs-26 · 348657cc
      Glenn Morris authored
      9254885a (origin/emacs-26) Resurrect display-line-number-mode in clien...
      aecbbd57 * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
      8e5fc38a Fix typo
      ee21b402 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36...
      f68b33f5 Fix styling of Unicode codepoints in manuals
      ff7ec6ff Fix a few uses of quotes in user manual
      b67042be More minor copyedits in the Emacs manual
      9734b5c5 Fix minor issues in the Emacs manual
      c153250a Try to improve text on atomic windows in Elisp manual
      fb314ba3 Don't recommend insert-before-markers in process filters
    • Glenn Morris's avatar
      ; Merge from origin/emacs-26 · 6bee17e4
      Glenn Morris authored
      The following commit was skipped:
      04f13a5d Disable byte-compile-cond-use-jump-table (Bug#35770)
    • Glenn Morris's avatar
      Merge from origin/emacs-26 · 5e1e1e71
      Glenn Morris authored
      28602856 Allow macros autoloaded as functions during bytecomp (Bug#36022)
    • Eli Zaretskii's avatar
      Resurrect display-line-number-mode in client frames · 9254885a
      Eli Zaretskii authored
      * lisp/linum.el (linum-on): Mention bug#35726 in a comment.
      * lisp/display-line-numbers.el
      (display-line-numbers--turn-on): Don't check for daemon.
    • Eli Zaretskii's avatar
    • Phillip Lord's avatar
      Fix typo · 8e5fc38a
      Phillip Lord authored
      * nt/README.W32:
    • Eli Zaretskii's avatar
      Fix failures of term-tests on MS-Widows · e5bc9a32
      Eli Zaretskii authored
      * test/lisp/term-tests.el (term-simple-lines)
      (term-carriage-return, term-line-wrap, term-cursor-movement)
      (term-scrolling-region, term-set-directory)
      (term-line-wrapping-then-motion, term-to-margin): Skip tests
      on MS-Windows and MS-DOS.
    • John Shahid's avatar
      Consider line spacing and font height when deriving proc window size · ad9eadbe
      John Shahid authored
      * lisp/window.el (window-adjust-process-window-size): Use
        window-screen-lines instead of window-body-height.
      * lisp/term.el (term-mode): Use window-screen-lines to set the initial
        window height.
    • YAMAMOTO Mitsuharu's avatar
      Fix image_set_crop yet again · 3a1f92d0
      YAMAMOTO Mitsuharu authored
      * src/image.c (image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Don't call
      compute_image_size, as it is already called from image_set_size.
      (image_set_size, image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Use harmless
      matrix transformation code also for USE_CAIRO and HAVE_NTGUI cases,
      though image_set_transform is not yet implemented on them.
    • Eli Zaretskii's avatar
      Avoid compiler warning in copy-file-range.c on MS-Windows · 480da9f2
      Eli Zaretskii authored
      * nt/mingw-cfg.site (gl_cv_func_copy_file_range): Set to "yes",
      to avoid compiling lib/copy-file-range.c on MS-Windows.
    • Paul Eggert's avatar
      Fix recently-introduced image_set_crop typo · cfb592fd
      Paul Eggert authored
      * src/image.c (image_set_crop) [!HAVE_NATIVE_TRANSFORMS]:
      Don’t call compute_image_size, as it does not exist and its
      result is not needed.
    • Paul Eggert's avatar
      Use copy_file_range to copy files · 486a81f3
      Paul Eggert authored
      The copy_file_range syscall (introduced in Linux kernel
      version 4.5) can copy files more efficiently via server-side
      copy etc.
      * admin/merge-gnulib (GNULIB_MODULES): Add copy-file-range.
      * lib/copy-file-range.c, m4/copy-file-range.m4:
      New files, copied from Gnulib.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      * src/fileio.c (Fcopy_file): Try copy_file_range first,
      falling back on read+write only if copy_file_range failed or
      if the input is empty and so could be a /proc file.
    • Paul Eggert's avatar
      Update from Gnulib · 111408a0
      Paul Eggert authored
      This incorporates:
      2019-06-04 copy-file-range: new module
      2019-05-28 binaty-io: O_BINARY on consoles no longer fails
      * doc/misc/texinfo.tex, lib/binary-io.c, lib/binary-io.h:
      * lib/unistd.in.h, m4/unistd_h.m4: Copy from Gnulib.
      * lib/gnulib.mk.in: Regenerate.