1. 29 Nov, 2019 10 commits
  2. 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
  3. 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.
  4. 26 Nov, 2019 13 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
    • Robert Pluim's avatar
      Use in nsm-tests · 95e218af
      Robert Pluim authored
      Winsock doesn't like "127.1"
      * test/lisp/net/nsm-tests.el (nsm-check-local-subnet-ipv4): Spell
      numeric localhost as "" instead of "127.1".
    • Stefan Monnier's avatar
      * test/lisp/minibuffer-tests.el (completion-table-test-quoting): New test · 384d1c47
      Stefan Monnier authored
      * test/data/minibuffer-test-cttq$tion: New file-name test data.
    • Eli Zaretskii's avatar
      Support ':extend' in faces defined by list of key/value pairs · d4515f3c
      Eli Zaretskii authored
      * src/xfaces.c: Update and improve commentary at the beginning
      of the file.
      (face_attr_sym): New static array.
      (init_xfaces): Initialize 'face_attr_sym'.
      (merge_face_ref): Handle the :extend attribute in faces
      specified as lists of key/value pairs.  (Bug#37774)
    • Eli Zaretskii's avatar
      Fix MS-Windows build with mingw.org's MinGW · 094eb04c
      Eli Zaretskii authored
      mingw.org's MinGW by default targets Windows 9X, so
      _WIN32_WINNT is set to a value that bypasses declarations
      in system headers we need to compile network_interface_list.
      Also, the code needed a workaround for Windows XP, where
      some functionality is missing from the GetAdaptersAddresses
      * src/w32.c (_WIN32_WINNT): Define to 0x0501, if the value is
      lower, temporarily while processing iphlpapi.h.
      (address_prefix_match): New helper function.
      (network_interface_list): Work around the fact that the
      OnLinkPrefixLength member of IP_ADAPTER_UNICAST_ADDRESS is not
      available when _WIN32_WINNT < 0x0600.  On Windows XP use
      special code that calls address_prefix_match to compute the
      network prefix length.
    • Stefan Monnier's avatar
    • Juanma Barranquero's avatar
      (next|previous)-buffer no longer fail silently (bug#38384) · e495dbea
      Juanma Barranquero authored
      * lisp/window.el (next-buffer, previous-buffer):
      Signal 'user-error' if there is no buffer to switch to.
      * etc/NEWS: Document it.