1. 27 Mar, 2019 3 commits
    • YAMAMOTO Mitsuharu's avatar
      Support native image resizing on cairo · 2755cf18
      YAMAMOTO Mitsuharu authored
      * src/xterm.c (x_cr_draw_image): Add arguments image_width and
      image_height and support scaling.  All callers changed.
      * src/image.c (Fimage_scaling_p): Return t when USE_CAIRO.
      (x_set_image_size) [USE_CAIRO]: Record the scaled dimensions
      in the image struct.
      * src/dispextern.h (HAVE_NATIVE_SCALING): Define when
      USE_CAIRO as well.
      * etc/NEWS: Update the announcement of native image scaling.
    • YAMAMOTO Mitsuharu's avatar
      Fix cairo image drawing with box · d7e44265
      YAMAMOTO Mitsuharu authored
      * src/xterm.c (x_cr_draw_image): Don't call cr_clip for non-mask case.
      (x_draw_image_foreground) [USE_CAIRO]: Draw image here ...
      (x_draw_image_glyph_string) [USE_CAIRO]: ... instead of here.
      (x_draw_image_foreground, x_draw_image_foreground_1)
      (x_draw_image_glyph_string) [USE_CAIRO]: Ifdef away unused code path.
    • Paul Eggert's avatar
      2019-03-26 regex cleanup · 5d6a3144
      Paul Eggert authored
      Problems reported by Mattias Engdegård in:
      * lisp/align.el (align-rules-list):
      * lisp/speedbar.el (speedbar-check-read-only, speedbar-check-vc):
      * lisp/vc/diff-mode.el (diff-add-change-log-entries-other-window):
      * lisp/woman.el (woman-parse-numeric-arg):
      Put "-" at end of character alternatives, since a range was not intended.
      * lisp/erc/erc.el (font-lock):
      * lisp/mail/footnote.el (cl-seq):
      Avoid duplicate character alternatives by using cl-seq API.
      * lisp/mail/footnote.el (footnote--current-regexp):
      * lisp/textmodes/css-mode.el (css--font-lock-keywords):
      Avoid repetition of repetition.
      * lisp/net/webjump.el (webjump-url-encode):
      Add ~ to character alternatives, and rewrite confusing range.
      * lisp/progmodes/verilog-mode.el (verilog-compiler-directives)
      Remove duplicate.
      * lisp/progmodes/verilog-mode.el (verilog-preprocessor-re):
      * lisp/textmodes/css-mode.el (css--font-lock-keywords):
      Don’t escape a char that doesn’t need it.
      * lisp/textmodes/picture.el (picture-tab-chars): In docstring,
      do not say regexp characters will be quoted; merely say in
      another way that the syntax is that of character alternatives.
      (picture-set-tab-stops, picture-tab-search): Don’t attempt
      to regexp-quote picture-tab-chars.
      (picture-tab-search): Quote \ in picture-tab-chars for
      skip-chars-backwards, which treats \ differently than
      regexp character alternatives do.
  2. 26 Mar, 2019 6 commits
  3. 25 Mar, 2019 17 commits
    • Paul Eggert's avatar
      Port recent ngettext stub to non-glibc · 7f967b16
      Paul Eggert authored
      * src/editfns.c: Don’t try to call glibc ngettext;
      we’re not ready for that yet.
      (Fngettext): Do not restrict integer arguments to fixnums.
      Improve doc string a bit.
    • Paul Eggert's avatar
      Update from Gnulib. · a3c55309
      Paul Eggert authored
      This incorporates:
      2019-03-23 Support cross-compilation to musl libc
      2019-03-23 noreturn: In C++ mode with clang, use _Noreturn as fallback
      2019-03-22 _Noreturn: beware of C's _Noreturn in C++ pre C++11
      2019-03-19 Help making signal handlers more reliable
      2019-03-18 _Noreturn: clang and MSVC do support [[noreturn]] in C++11
      2019-03-17 _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11
      2019-03-14 all: Update URLs to msdn.microsoft.com
      * doc/misc/texinfo.tex, lib/_Noreturn.h, lib/gettimeofday.c:
      * lib/mktime.c, lib/regcomp.c, lib/regexec.c, lib/stat-time.h:
      * lib/utimens.c, m4/fdopendir.m4, m4/getgroups.m4:
      * m4/gettimeofday.m4, m4/gnulib-common.m4, m4/putenv.m4, m4/utimes.m4:
      Update from gnulib.
    • Juri Linkov's avatar
      * lisp/vc/vc.el (vc-diff-mergebase, vc-log-mergebase): New commands. · d43af7b6
      Juri Linkov authored
      * lisp/vc/vc-git.el (vc-git-mergebase): New function.
      (vc-git-print-log): Interpret string value of arg LIMIT as an end-revision.
      * lisp/vc/vc-hooks.el (vc-prefix-map): Bind 'vc-log-mergebase' to
      'C-x v M L', and 'vc-diff-mergebase' to 'C-x v M D'.  (Bug#33950)
    • Paul Eggert's avatar
      Fix alignment bug with pure bignums · db53731c
      Paul Eggert authored
      Problem found on 32-bit sparc, which has stricter alignment
      checking than x86-64.
      * src/alloc.c (pure_alloc): When TYPE is negative it now specifies
      the negation of the required alignment of the result.
      (make_pure_bignum): Specify bignum limb alignment.
    • Juri Linkov's avatar
      * lisp/international/mule-cmds.el (ngettext): Move to editfns.c. · 389475db
      Juri Linkov authored
      * src/editfns.c (Fngettext): Move from mule-cmds.el and use
      gettext's ngettext when available.
    • Eric Abrahamsen's avatar
      Fix text property bug in gnus-group-list-active · 1f8a6b56
      Eric Abrahamsen authored
      * lisp/gnus/gnus-group.el (gnus-group-list-active): The property value
        should be the group name, not the value of gethash. Ie, it should be
        the key, not the value.
    • Eric Abrahamsen's avatar
      Don't save Gnus' dummy.group to the .newsrc.eld file · a09306d5
      Eric Abrahamsen authored
      * lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Remove
        the "dummy.group" element.
    • Eric Abrahamsen's avatar
      Handle multiple possible types for Gnus group names · a8efdd4c
      Eric Abrahamsen authored
      * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Numbers,
        symbols, and strings.
    • Paul Eggert's avatar
      Fix a dns-mode reentrancy bug · 6d0f7f70
      Paul Eggert authored
      * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
      Don’t assume kill-new does no matching.
    • Basil L. Contovounesios's avatar
      Fix non_local_exit_get signature in Elisp manual · 04a228f4
      Basil L. Contovounesios authored
      * doc/lispref/internals.texi (Module Nonlocal): Fix typo in return
      type of non_local_exit_get.
    • Michael Albinus's avatar
      Explain messages with patches in CONTRIBUTE · ace29fcb
      Michael Albinus authored
      * CONTRIBUTE: A message shall contain the string "[PATCH]" in the
      subject if there's a patch in the message.
    • Paul Eggert's avatar
      Support ./configure --with-gif=ifavailable etc. · 97a793cb
      Paul Eggert authored
      Suggested by Stefan Monnier in:
      * INSTALL, etc/NEWS: Document this.
      * configure.ac: Implement this.
    • Stefan Monnier's avatar
      * lisp/vc/diff-mode.el: Better handle empty lines in context diffs · 49188503
      Stefan Monnier authored
      (diff-end-of-hunk): Obey diff-valid-unified-empty-line for context style.
      (diff--refine-hunk): Don't look further than the end.
    • Paul Eggert's avatar
      Fix some integer issues in regex-emacs · b7a98993
      Paul Eggert authored
      Also, remove some duplicate comments related to thread.h.
      * src/regex-emacs.h (struct re_registers):
      * src/regex-emacs.c (SIGN_EXTEND_CHAR): Remove.
      (TALLOC, RETALLOC): Remove.  All uses replaced by usual
      allocators, which check for integer overflow.
      (extract_number): Redo without using ‘unsigned’.
      (CHARSET_RANGE_TABLE_EXISTS_P): Clearly return a boolean.
      (print_fastmap, print_partial_compiled_pattern, CHECK_INFINITE_LOOP)
      (regex_compile, analyze_first, bcmp_translate, mutually_exclusive_p)
      Use bool for booleans.
      (print_fastmap, regex_compile, execute_charset):
      Prefer int to unsigned where either will do.
      (print_double_string): Prefer ptrdiff_t to ssize_t, since the
      latter can in theory be narrower than the former.  Use fwrite
      instead of repeated putchar.
      (emacs_re_max_failures, fail_stack_type, compile_stack_type)
      (re_wctype_parse, regex_compile, re_search, re_search_2)
      (re_match_2, re_match_2_internal, re_compile_pattern):
      Prefer ptrdiff_t to size_t where either will do.
      (union fail_stack_elt, PUSH_FAILURE_REG, POP_FAILURE_REG_OR_COUNT):
      Make the integer an intptr_t, not long.
      (GET_BUFFER_SPACE, EXTEND_BUFFER, regex_compile):
      Use xpalloc to simplify allocation.
      (regex_compile): Check for integer overflow when calculating
      register numbers.
      * src/regex-emacs.c (re_set_registers, re_match_2_internal):
      * src/regex-emacs.h (struct re_registers, struct re_pattern_buffer):
      * src/search.c (Freplace_match):
      Prefer ptrdiff_t to unsigned where either will do.
      * src/regex-emacs.h (struct re_pattern_buffer):
      Prefer bool_bf to unsigned where either will do.
    • Paul Eggert's avatar
    • João Távora's avatar
      Avoid occasional confusion of Flymake C/C++ backend · 67c3a3af
      João Távora authored
      The regexp would sometimes match non-errors and create a diagnostic
      with nil severity, which would have consequences for the Flymake
      engine (these should eventually be addressed, too).
      * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics):
      Tighten regexp.
    • João Távora's avatar
      Make bundled Flymake C backend work for C++, too · 8cac2bf0
      João Távora authored
      * lisp/progmodes/flymake-cc.el (flymake-cc-use-special-make-target):
      Pass -x flag according to major-mode.
  4. 24 Mar, 2019 5 commits
  5. 23 Mar, 2019 4 commits
    • Eli Zaretskii's avatar
    • Michael Albinus's avatar
      Fix Bug#34943 · a3194e7b
      Michael Albinus authored
      * lisp/files-x.el (cl-lib): Require when compiling.
      (hack-connection-local-variables): Regard connection-local
      variables as safe.  (Bug#34943)
      * lisp/shell.el (shell): Use `with-connection-local-variables' for
      the whole code block.  (Bug#34943)
      * lisp/net/tramp-adb.el (tramp-connection-local-safe-shell-file-names):
      Do not set values.
      * lisp/net/tramp-integration.el
      (tramp-connection-local-safe-shell-file-names): Remove.
      (shell-file-name, shell-command-switch): Do not add safe-local-variable
      * lisp/net/tramp.el (tramp-handle-shell-command): Use proper
      buffer name.
      * test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name):
      Tag it :unstable.
    • Eli Zaretskii's avatar
      Avoid compiler warning in w32proc.c · 86c3cd99
      Eli Zaretskii authored
      * src/w32proc.c (w32_executable_type): Avoid compiler warnings
      about potential NULL pointer dereferencing.
    • Michael R. Mauger's avatar
      * lisp/progmodes/sql.el Bug#25424 · 068cbed3
      Michael R. Mauger authored
      (sql-end-of-statement): default terminator as semicolon.
  6. 22 Mar, 2019 5 commits
    • Stephen Leake's avatar
      Fix bug in delete-indentation when region is inactive · b515edb9
      Stephen Leake authored
      * test/lisp/simple-tests.el: Add tests for delete-indentation.
      (simple-delete-indentation-no-region): Works with no region.
      (simple-delete-indentation-inactive-region): Was broken with inactive
      region; now fixed.
      * lisp/simple.el (delete-indentation): Check (use-region-p) before using BEG.
    • Eric Abrahamsen's avatar
      Change Gnus hash tables into real hash tables · c1b63af4
      Eric Abrahamsen authored
      Gnus has used obarrays as makeshift hash tables for groups: group
      names are coerced to unibyte and interned in custom obarrays, and
      their symbol-value set to whatever value needs to be stored. This
      patch replaces those obarrays with actual hash tables.
      * lisp/gnus/gnus-util.el (gnus-intern-safe, gnus-create-hash-size):
        Remove functions.
        (gnus-make-hashtable): Change to return a real hash table.
        (gnus-text-property-search): Utility similar to `text-property-any',
        but compares on `equal'. Needed because the 'gnus-group text
        property is now a string.
      * lisp/gnus/gnus.el (gnus-gethash, gnus-gethash-safe, gnus-sethash):
        Remove macros.
        (gnus-group-list): New variable holding all group names as an
        ordered list. Used because `gnus-newsrc-hashtb' used to preserve
        `gnus-newsrc-alist' ordering, but now doesn't.
      * lisp/gnus/nnmaildir.el (nnmaildir--servers): Change from obarray to
        (nnmaildir--up2-1): Remove function.
      * lisp/thingatpt.el (thing-at-point-newsgroup-p): This was making use
        of Gnus obarrays, replace with a cond that can handle many different
      * lisp/gnus/gnus-bcklg.el (gnus-backlog-articles): Remove
        gnus-backlog-hashtb, which wasn't doing anything. Just keep a list
        of ident strings in gnus-backlog-articles.
        (gnus-backlog-setup): Delete unnecessary function.
        (gnus-backlog-enter-article, gnus-backlog-remove-oldest-article,
        gnus-backlog-remove-article, gnus-backlog-request-article): Alter
        calls accordingly.
      * lisp/gnus/gnus-dup.el (gnus-duplicate-list-max-length): Rename from
        `gnus-duplicate-list-length', for accuracy.
      * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format,
        gnus-groups-to-gnus-format, gnus-newsrc-to-gnus-format): Read group
        names as strings.
        (gnus-gnus-to-quick-newsrc-format): Write `gnus-newsrc-alist' using
        the ordering in `gnus-group-list'.
      * lisp/gnus/gnus-agent.el:
      * lisp/gnus/gnus-async.el:
      * lisp/gnus/gnus-cache.el:
      * lisp/gnus/gnus-group.el:
      * lisp/gnus/gnus-score.el:
      * lisp/gnus/gnus-sum.el:
      * lisp/gnus/gnus-topic.el:
      * lisp/gnus/message.el:
      * lisp/gnus/mml.el:
      * lisp/gnus/nnagent.el:
      * lisp/gnus/nnbabyl.el:
      * lisp/gnus/nnvirtual.el:
      * lisp/gnus/nnweb.el: In all files, change obarrays to hash-tables,
        and swap `gnus-sethash' for `puthash', `gnus-gethash' for `gethash',
        `mapatoms' for `maphash', etc.
      * test/lisp/gnus/gnus-test-headers.el (gnus-headers-make-dependency-table,
        gnus-headers-loop-dependencies): New tests to make sure we're
        building `gnus-newsgroup-dependencies' correctly.
    • Michael Albinus's avatar
      Fix Bug#24394, Bug#34172 · 3375d082
      Michael Albinus authored
      * lisp/subr.el (process-file-shell-command):
      Use `with-connection-local-variables'.  Do not set "/bin/sh" for
      remote buffers, trust settings of `shell-file-name'.
      * lisp/net/tramp-adb.el (tramp-methods) <adb>:
      * lisp/net/tramp-smb.el (tramp-methods) <smb>:
      Remove `tramp-remote-shell' and `tramp-remote-shell-args'.
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch)
      (tramp-maybe-open-connection): Use proper read syntax for function
      * lisp/net/tramp.el (tramp-handle-shell-command): Do not use shell
      file names from `tramp-methods'.
      Respect `async-shell-command-buffer'.  (Bug#24394, Bug#34172)
      Use `start-file-process-shell-command' and `process-file-shell-command'.
      * test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
      Let it run partly for tramp-adb.
    • NicolasPetton's avatar
      Fix the error message when modifying maps in-place (Bug#34941) · 4174409c
      NicolasPetton authored
      * lisp/emacs-lisp/map.el (map-not-inplace): Fix the message of the
      (map-put!): When signaling map-no-inplace error, output the map that
      cannot be updated inplace.
    • Eli Zaretskii's avatar
      Minor fixes for the last change · 09c220a5
      Eli Zaretskii authored
      * lisp/simple.el (delete-indentation):
      * doc/emacs/indent.texi (Indentation Commands):
      * etc/NEWS: Fix last change.  (Bug#34796)