1. 30 Nov, 2019 4 commits
    • Andrii Kolomoiets's avatar
      vc-hg: prompt for branch to merge · 561840b5
      Andrii Kolomoiets authored
      * lisp/vc/vc-hg.el (vc-hg-merge-branch): Prompt for revision to merge.
      (vc-hg-revision-table): Use branches, tags and bookmarks as competion
      * etc/NEWS: Mention changes of vc-hg.el
      * doc/emacs/maintaining.texi (Switching Branches): Mention 'hg update'
      (Merging): Mention 'hg merge' command.
      This fixes bug#22860
    • Michal Sojka's avatar
      Fix preserving cell boundaries in table.el after <delete> · 63e7dd43
      Michal Sojka authored
      * lisp/textmodes/table.el (table-command-remap-alist): Add
      entry for 'delete-forward-char'.  (Bug#38353)
    • Eli Zaretskii's avatar
      Add ':extend' attribute to faces and themes · 64687872
      Eli Zaretskii authored
      * etc/themes/wombat-theme.el:
      * etc/themes/wheatgrass-theme.el:
      * etc/themes/tsdh-light-theme.el:
      * etc/themes/tsdh-dark-theme.el:
      * etc/themes/tango-theme.el:
      * etc/themes/tango-dark-theme.el:
      * etc/themes/misterioso-theme.el:
      * etc/themes/manoj-dark-theme.el:
      * etc/themes/light-blue-theme.el:
      * etc/themes/leuven-theme.el:
      * etc/themes/dichromacy-theme.el:
      * etc/themes/deeper-blue-theme.el:
      * etc/themes/adwaita-theme.el: Add ':extend' attribute to all
      faces that are by default defined with it.
      * lisp/vc/smerge-mode.el (smerge-upper, smerge-lower)
      * lisp/vc/log-view.el (log-view-file, log-view-message):
      * lisp/vc/ediff-init.el (ediff-current-diff-A)
      (ediff-current-diff-B, ediff-current-diff-C)
      (ediff-current-diff-Ancestor, ediff-even-diff-A)
      (ediff-even-diff-B, ediff-even-diff-C)
      (ediff-even-diff-Ancestor, ediff-odd-diff-A)
      (ediff-odd-diff-B, ediff-odd-diff-C)
      * lisp/vc/diff-mode.el (diff-header, diff-file-header)
      (diff-removed, diff-added): Make sure all definitions of faces
      have the same value of the ':extend' property, otherwise
      customizing background color or underline etc. attributes of
      these faces on some displays will produce effects different
      from other displays.
    • Juanma Barranquero's avatar
  2. 29 Nov, 2019 12 commits
    • Alan Third's avatar
      Fix image scaling with masks (bug#38109) · 3e9c82d9
      Alan Third authored
      * src/image.c (lookup_image): Move call to image_set_transform after
      (image_create_x_image_and_pixmap_1): Use new function.
      (image_set_transform): Apply the transform to the mask too.
      (x_create_xrender_picture): New function.
      (xpm_load): Use new function.
      * src/xterm.c (x_composite_image): Use PictOpOver when there is a mask
      so the transparency is honoured.
      (x_draw_image_foreground_1): Use x_composite_image.
    • Stefan Monnier's avatar
      * lisp/gnus/gnus.el (gnus-info): Define with `cl-defstruct` · b1a69505
      Stefan Monnier authored
      This makes the accessors into (inlined) functions (instead of macros),
      which simplifies some uses, and it makes the gnus-info-set-<foo>
      macros redundant since we can use `setf` instead.  Remove them and
      update all users.
      (gnus-info-group, gnus-info-rank, gnus-info-read, gnus-info-marks)
      (gnus-info-method, gnus-info-params): Auto-defined by defstruct.
      (gnus-info-level, gnus-info-score): Define as a function.  Add gv-setter.
      (gnus-info-set-group, gnus-info-set-rank, gnus-info-set-read): Remove,
      use `setf` instead.
      (gnus-info-set-marks, gnus-info-set-method, gnus-info-set-params):
      Define as a function.
      (gnus-info-set-entry): Delete function.
      (gnus-info--grow-entry): New function, extracted from it.
      (gnus-info--set-level, gnus-info--set-score): New functions, extracted
      from the `gnus-info-set-level` and `gnus-info-set-score` which they replace.
      (gnus-get-info): Define as a function.
      * lisp/gnus/gnus-group.el (gnus-group-edit-group-done):
      Use the `extend` arg of `gnus-info-set-method`.
      (gnus-group-sort-selected-flat): eta-reduce.
    • Stefan Monnier's avatar
      * lisp/textmodes/mhtml-mode.el: Fix bug#38372 · 7fff418e
      Stefan Monnier authored
      The `sgml-syntax-propertize-rules` rely on the `sgml--syntax-propertize-ppss`
      setup by `sgml-syntax-propertize` so it is not correct/safe to use
      them directly like html used to do.
      Change `sgml-syntax-propertize` so it can be used by mhtml,
      and then adjust mhtml-mode accordingly.
      * lisp/textmodes/mhtml-mode.el: Remove redundant `eval-and-compile`.
      Only require cl-lib at compile-time.
      (mhtml--syntax-propertize): New const, extracted from mhtml-syntax-propertize.
      (mhtml-syntax-propertize): Use `sgml-syntax-propertize`.
      * lisp/textmodes/sgml-mode.el (sgml--syntax-propertize): New const,
      extracted from sgml-syntax-propertize.
      (sgml-syntax-propertize): Add optional `rules-function` arg.
    • Robert Pluim's avatar
      Add nsm-should-check IPv6 local subnet tests · 6d8e758e
      Robert Pluim authored
      * test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv6): Now
      that IPv6 addresses are returned from network-interface-list, test
      nsm-should check and nsm-network-same-subnet for IPv6 as well.
    • Eli Zaretskii's avatar
      Support showing one revision with Mercurial · 8400766b
      Eli Zaretskii authored
      * lisp/vc/vc-hg.el (vc-hg-print-log): Support 'with-diff'
      invocation of "C-1 C-x v L".
    • Phil Sainty's avatar
    • Eli Zaretskii's avatar
      Document 'zap-up-to-char' · baa9ea73
      Eli Zaretskii authored
      * doc/emacs/killing.texi (Other Kill Commands): Document
      * lisp/simple.el (zap-to-char): Mention 'zap-up-to-char' in
      the doc string.  (Bug#38392)
    • Eli Zaretskii's avatar
      Support showing one revision with Subversion · 11baa417
      Eli Zaretskii authored
      * lisp/vc/vc-svn.el (vc-svn-print-log): Support 'with-diff'
      invocation of "C-1 C-x v L".
    • Eli Zaretskii's avatar
      Minor fix in 'vc-print-root-log's prompt for revision ID · 3fe9d865
      Eli Zaretskii authored
      * lisp/vc/vc.el (vc-print-root-log): Remove text properties
      from the default revision suggestion.
    • Eli Zaretskii's avatar
      Support showing one revision with Bazaar · cf715848
      Eli Zaretskii authored
      * lisp/vc/vc-bzr.el (vc-bzr-print-log): Support 'with-diff'
      invocation of "C-1 C-x v L".
    • Eli Zaretskii's avatar
      Improve indexing of VC log commands · b20d7f2c
      Eli Zaretskii authored
      * doc/emacs/maintaining.texi (VC Change Log): Add missing
      index entries.
    • Eli Zaretskii's avatar
      Improve documentation and UI of 'C-x v L' · 6e41b08e
      Eli Zaretskii authored
      * lisp/vc/vc.el (vc-print-root-log): Improve the wording of
      the doc string and of the prompt for the root directory.
      * etc/NEWS: Improve and expand the wording of the changes in
      'C-x v L'.
      * doc/emacs/maintaining.texi (VC Change Log): Improve and
      clarify wording of the 'C-x v L' description.
  3. 28 Nov, 2019 7 commits
    • Noam Postavsky's avatar
      Improve errors & warnings due to fancy quoted vars (Bug#32939) · b2790db0
      Noam Postavsky authored
      Add some hints to the message for byte compiler free & unused variable
      warnings, and 'void-variable' errors where the variable has confusable
      quote characters in it.
      * lisp/help.el (uni-confusables), uni-confusables-regexp): New
      (help-command-error-confusable-suggestions): New function, added to
      (help-uni-confusable-suggestions): New function.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-variable-ref):
      * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Use it.
      * lisp/emacs-lisp/lisp-mode.el
      (lisp--match-confusable-symbol-character): New function.
      (lisp-fdefs): Use it to fontify confusable characters with
      font-lock-warning-face when they occur in symbol names.
      * doc/lispref/modes.texi (Faces for Font Lock):
      * doc/lispref/objects.texi (Basic Char Syntax): Recommend backslash
      escaping of confusable characters, and mention new fontification.
      * etc/NEWS: Announce the new fontification behavior.
      * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-fontify-confusables):
      New test.
    • Noam Postavsky's avatar
      Stop signaling an error when reading "smart quotes" in symbols · 85f586f3
      Noam Postavsky authored
      Revert commits from 2018-01-28 "Fix round tripping of read->print for
      symbols with strange quotes", and 2017-07-22 "Signal error for symbol
      names with strange quotes (Bug#2967)".
      * etc/NEWS: Remove corresponding entries.
      * src/character.c (confusable_symbol_character_p):
      * test/src/lread-tests.el (lread-tests--old-style-backquotes): Remove.
      * src/lread.c (read1): Don't signal error on confusable character.
      * src/print.c (print_object): Don't escape confusable characters.
    • Filipp Gunbin's avatar
      Do not call custom-reevaluate-setting in dired-isearch-filenames-end · 98f8c5fb
      Filipp Gunbin authored
        * lisp/dired-aux.el (dired-isearch-filenames-end)
        (dired-isearch-filenames, dired-isearch-filenames-regexp): Use
        temporary local variable for dired-isearch-filenames instead of
        custom-reevaluate-setting (Bug#30187).  Without this fix, the value
        set in .emacs with plain setq would be lost after one isearch.
    • Eli Zaretskii's avatar
      Improve PY-b5 input methods · af724ed5
      Eli Zaretskii authored
      * leim/leim-ext.el ("quail/PY-b5"): Assign key sequence for
      U+25CB (WHITE CIRCLE).  (Bug#3179)
    • Eli Zaretskii's avatar
      Allow disabling the BPA part of bidi reordering · 5629af9c
      Eli Zaretskii authored
      * src/xdisp.c (syms_of_xdisp): New variable 'bidi-inhibit-bpa'.
      * src/bidi.c (bidi_paired_bracket_type): If 'bidi-inhibit-bpa'
      is non-nil, return BIDI_BRACKET_NONE for all characters.
      * lisp/frame.el: Add 'bidi-inhibit-bpa' to the list of
      variables whose changes require redisplay.  (Bug#38407)
    • Robert Pluim's avatar
      Support wlan in network-interface-list on pre-Vista Windows · b05aa8d7
      Robert Pluim authored
      * src/w32.c (network_interface_list): Check for 'Wireless' in
      adapter description to support pre-Vista Windows.
    • Stefan Monnier's avatar
  4. 27 Nov, 2019 10 commits
    • Juri Linkov's avatar
      Menu bar rearrangements, move Print menu items to submenu, etc. (bug#37594) · 79218117
      Juri Linkov authored
      * lisp/menu-bar.el (menu-bar-print-menu): New defvar.
      (menu-bar-file-menu): Move print entries to submenu.
      Add menu entries for tab-new, tab-close, make-frame-on-monitor.
      (menu-bar-showhide-menu): Add menu entry for global-tab-line-mode.
      Don't add toggle-tab-bar-mode-from-frame on ns where it's unavailable.
      (menu-bar-tools-menu): Add rgrep.
      * lisp/bindings.el (next-buffer, previous-buffer): Advertise bindings
      'C-x right' and 'C-x left' instead of 'XF86Forward' and 'XF86Back'.
    • Juri Linkov's avatar
      'C-1 C-x v L' asks for revision and shows its log entry with diff (bug#38044) · f655967b
      Juri Linkov authored
      * doc/emacs/maintaining.texi (VC Change Log): Explain the numeric prefix arg
      of 'C-x v L' (vc-print-root-log).
      * lisp/vc/vc-git.el (vc-git-print-log): Add command line option "-p"
      when vc-log-view-type is 'with-diff'.
      (vc-git-log-view-mode): Use long style when vc-log-view-type is 'with-diff'.
      * lisp/vc/vc.el (vc-print-log-internal): Add optional arg 'type'.
      (vc-log-internal-common): Use 'region-history-mode' when type is
      'with-diff' and backend supports 'region-history-mode'.
      (vc-print-root-log): Add optional arg 'revision'.  In interactive spec
      read a revision when current-prefix-arg is 1.  Use current-prefix-arg
      "as is" when it is a number.  Show revision in long style with diff
      when limit is 1 and revision is non-nil.
    • Juri Linkov's avatar
      * lisp/image-mode.el: Resize image on window resizing (bug#32672) · b31a966e
      Juri Linkov authored
      * lisp/image-mode.el (image--window-change): New function.
      (image--window-change-function): New variable.
      (image-mode--setup-mode): Add buffer-local hook image--window-change
      to window-size-change-functions, window-state-change-functions,
    • Eli Zaretskii's avatar
      Make some anonymous faces extend to EOL · 2435f811
      Eli Zaretskii authored
      * lisp/vc/log-edit.el (log-edit-font-lock-keywords):
      * lisp/mpc.el (mpc-separator):
      * lisp/help.el (describe-key):
      * lisp/help-fns.el (describe-symbol): Make the anonymous faces
      extend to EOL.
    • Eli Zaretskii's avatar
      ; Fix recent change in w32.c · 39b3bc00
      Eli Zaretskii authored
      * src/w32.c (network_interface_list): Correct an embarrassing
      typo and cleanup the code.
    • Mattias Engdegård's avatar
      Mouse rectangular region selection (bug#38013) · 4eb7db5d
      Mattias Engdegård authored
      Make it possible to select a rectangular region using the mouse.
      The standard binding is C-M-mouse-1.
      * lisp/mouse.el (mouse-scroll-subr): Add ADJUST argument.
      (mouse-drag-region-rectangle): New.
      * lisp/rect.el (rectangle--reset-point-crutches): New.
      (rectangle--reset-crutches): Use 'rectangle--reset-point-crutches'.
      * src/xdisp.c (remember_mouse_glyph, syms_of_xdisp):
      Add 'mouse-fine-grained-tracking'.
      * doc/lispref/commands.texi (Motion Events):
      Document 'mouse-fine-grained-tracking'.
      * doc/emacs/frames.texi (Mouse Commands):
      * doc/emacs/killing.texi (Rectangles):
      * etc/NEWS: Document rectangular selection with the mouse.
    • Andrii Kolomoiets's avatar
      Call vc-setup-buffer in vc-hg-log-incoming and vc-hg-log-outgoing · e7b4c248
      Andrii Kolomoiets authored
      * lisp/vc/vc-hg.el (vc-hg-log-incoming, vc-hg-log-outgoing):
      Call vc-setup-buffer.
    • Lars Ingebrigtsen's avatar
      Fix documentation of eieio-class-name · 99532a87
      Lars Ingebrigtsen authored
      * doc/misc/eieio.texi (Predicates): Update the documentation of
      eieio-class-name to say what it really returns (bug#38365).
    • Lars Ingebrigtsen's avatar
      Make message-allow-no-recipients 'always work · fd638805
      Lars Ingebrigtsen authored
      * lisp/gnus/message.el (message-send): Make
      message-allow-no-recipients 'always work.
    • Mattias Engdegård's avatar
      Fine-grained NS modifier key settings (bug#38296) · 215f678c
      Mattias Engdegård authored
      For the ns-KEY-modifier and ns-right-KEY-modifier variables, KEY
      being 'control', 'command', 'alternate' and 'function', allow
      values on the form (:ordinary SYMBOL :function :SYMBOL :mouse SYMBOL),
      so that the key can be used for different modifiers (or none) in
      different contexts.  This is particularly useful for using the macOS
      Option key for extended character entry while still using it as an
      Emacs modifier for function keys and mouse clicks.
      * src/nsterm.m (mod_of_kind, right_mod, nil_or_none): Helper functions.
      (EV_MODIFIERS2): Add KIND argument.
      (EV_MODIFIERS): Adapt call to EV_MODIFIERS2.
      (ns_get_shifted_character): Use correct event kind for modifiers.
      (ns-alternate-modifier, ns-right-alternate-modifier)
      (ns-command-modifier, ns-right-command-modifier)
      (ns-control-modifier, ns-right-control-modifier)
      (ns-function-modifier): Rewrite doc strings for new data format.
      (QCordinary, QCfunction, QCmouse): Define symbols.
      * lisp/cus-start.el: Conform to new data types.
      * doc/emacs/macos.texi (Mac / GNUstep Basics)
      (Mac / GNUstep Customization): Improved documentation.
      * etc/NEWS: Mention the change.
  5. 26 Nov, 2019 7 commits
    • Juri Linkov's avatar
      message uses minibuffer-message in the active minibuffer (bug#17272 bug#19064) · aa89c84e
      Juri Linkov authored
      * doc/lispref/display.texi (Displaying Messages): Explain the
      behavior of using minibuffer-message if the minibuffer is active.
      * src/editfns.c (Fmessage_in_echo_area): New function with body
      copied from Fmessage.
      (Fmessage): Call minibuffer-message in the active minibuffer,
      otherwise call Fmessage_in_echo_area.
      (message-in-echo-area): New variable.
      * lisp/isearch.el (isearch--momentary-message, isearch-message):
      * lisp/minibuffer.el (minibuffer-message, minibuffer-completion-help):
      Use 'message-in-echo-area' instead of 'message' where necessary.
      * lisp/autorevert.el (auto-revert-handler):
      * lisp/man.el (Man-bgproc-sentinel):
      * lisp/subr.el (do-after-load-evaluation):
      Revert recent changes that replaced 'message' with 'minibuffer-message'.
      This is not needed anymore since 'message' uses 'minibuffer-message'
      in the active minibuffer.
    • Juri Linkov's avatar
      Allow recursive minibuffers for yes-or-no-p and y-or-n-p (bug#17272 bug#19064) · b3c0fb21
      Juri Linkov authored
      * lisp/subr.el (y-or-n-p): Let-bind enable-recursive-minibuffers to t.
      * src/fns.c (Fyes_or_no_p): Specbind Qenable_recursive_minibuffers to Qt.
    • Juri Linkov's avatar
    • Paul Eggert's avatar
      etags: remove some arbitrary limits · cffa5703
      Paul Eggert authored
      etags had undefined behavior if input files, lines, tags, etc.,
      had more than INT_MAX bytes.  Clean up the usage of integer types
      to fix the overflow errors I found.
      * admin/merge-gnulib (GNULIB_MODULES): Add mempcpy.
      * lib-src/etags.c: Include inttypes.h, intprops.h.
      (memcpyz): New function.  Use it to simplify several occurrences
      of memcpy followed by storing a trailing '\0'.
      (xnew): Use xnmalloc, to catch overflow on integer multiplication.
      (xrnew): Change last arg to multiplier.  The type is not needed.
      All callers changed.
      (node, lineno, charno, linecharno, invalidcharno, make_tag):
      (pfnote, add_node, number_len, C_symtype, lbz, Makefile_targets)
      Use intmax_t for line numbers and character positions, instead of
      int or long.
      (linebuffer, make_tag, pfnote, total_size_of_entries, put_entry)
      (in_word_set, C_symtype, token, cstack, pushclass_above):
      (popclass_above, write_classname, consider_token, C_entries)
      (Ruby_functions, Makefile_targets, Lua_functions, TeX_commands)
      (TeX_decode_env, erlang_func, erlang_attribute, erlang_atom)
      (substitute, regex_tag_multiline, nocase_tail, readline_interval)
      (readline, savenstr, concat, etags_getcwd, relative_filename)
      Use ptrdiff_t for object sizes, instead of int or long or unsigned
      or size_t.
      (write_classname, C_entries):
      Avoid sprintf, as the result could exceed INT_MAX bytes
      and then behavior goes haywire.
      (main): Use int, instead of unsigned, for argv counts.
      (get_language_from_filename): Use bool for boolean.
      (Ruby_functions): Prefer strcpy to memcpy when copying "=".
      (linebuffer_setlen): Use ‘if’ instead of ‘while’.
      (memory_full, xnmalloc, xnrealloc): New functions.
      (xmalloc): Use memory_full, and take a ptrdiff_t instead of a size_t.
      (xrealloc): Remove; no longer needed.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      * lib/mempcpy.c, m4/mempcpy.m4: New files, copied from Gnulib.
    • Juanma Barranquero's avatar
      Fix previous change to (next|previous)-buffer · 75b41a38
      Juanma Barranquero authored
      * lisp/window.el (next-buffer, previous-buffer): If no other
      buffer is available, signal 'user-error' only when called
    • Paul Eggert's avatar
      Update from Gnulib · 1b9dbca8
      Paul Eggert authored
      This incorporates:
      2019-11-24 Fix errors in C++ mode on mingw
      2019-11-24 time_r: Fix for mingw (regression from 2019-11-16)
      2019-11-24 sys_time: Fix errors in C++ mode on mingw
      2019-11-22 intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
      2019-11-21 Disable many _GL_CXXALIASWARN on non-glibc
      2019-11-21 Fix various errors in _GL_CXXALIAS_SYS invocations
      2019-11-19 intprops: INT_MULTIPLY_WRAPV speedup for GCC 9.3+
      2019-11-18 stdint: Define [u]intptr_t correctly on 64-bit native Windows
      2019-11-18 stdint: Fix value of WINT_MAX when we override wint_t
      2019-11-18 stdint: Avoid "conflicting types" error on mingw 5.22
      2019-11-16 time_r: Fix for mingw
      2019-11-06 regex: now back in sync with glibc
      * lib/intprops.h, lib/regexec.c, lib/signal.in.h:
      * lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h:
      * lib/string.in.h, lib/sys_select.in.h, lib/sys_time.in.h:
      * lib/time.in.h, lib/unistd.in.h, m4/time_r.m4:
      Copy from Gnulib.
    • Stefan Monnier's avatar