1. 22 Feb, 2021 9 commits
  2. 21 Feb, 2021 12 commits
    • Mattias Engdegård's avatar
      Faster, more compact, and readable closure creation · d0c47652
      Mattias Engdegård authored
      Simplify closure creation by calling a single function at run time
      instead of putting it together from small pieces.  This is faster
      (by about a factor 2), takes less space on disk and in memory, and
      makes internal functions somewhat readable in disassembly listings again.
      
      This is done by creating a prototype function at compile-time whose
      closure variables are placeholder values V0, V1... which can be seen
      in the disassembly.  The prototype is then cloned at run time using
      the new make-closure function that replaces the placeholders with
      the actual closure variables.
      
      * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure):
      Generate call to make-closure from a prototype function.
      * src/alloc.c (Fmake_closure): New function.
      (syms_of_alloc): Defsubr it.
      * src/data.c (syms_of_data): Defsym byte-code-function-p.
      d0c47652
    • Stefan Kangas's avatar
      Run admin/cus-tests.el tests from test suite · 2790c6a5
      Stefan Kangas authored
      * test/Makefile.in (SUBDIRS): Run tests in new directory "misc",
      intended for tests not belonging to any one file.
      * test/misc/test-custom-deps.el:
      * test/misc/test-custom-libs.el:
      * test/misc/test-custom-noloads.el:
      * test/misc/test-custom-opts.el: New files.
      * test/lisp/custom-tests.el (custom--test-local-option): Move test to
      above new file test-custom-opts.el.
      
      * admin/cus-test.el: Document running tests from regular test suite.
      * test/file-organization.org (Test Files): Document new test directory
      "misc" for tests not belonging to any one file.
      2790c6a5
    • Stefan Kangas's avatar
      Fix interactive mode tagging for man and woman · ff759b1d
      Stefan Kangas authored
      * lisp/man.el (man-common): New mode inheriting special-mode.
      (Man-mode):
      * lisp/woman.el (woman-mode): Inherit from man-common.
      
      * lisp/man.el (man-follow, Man-update-manpage)
      (Man-fontify-manpage, Man-cleanup-manpage, Man-next-section)
      (Man-previous-section, Man-goto-section)
      (Man-goto-see-also-section, Man-follow-manual-reference)
      (Man-kill, Man-goto-page, Man-next-manpage)
      (Man-previous-manpage): Change interactive mode tag to man-common.
      
      This was discussed in:
      https://lists.gnu.org/r/emacs-devel/2021-02/msg01619.html
      ff759b1d
    • Lars Ingebrigtsen's avatar
      Declare that `ignore' and `undefined' shouldn't be completed over · 24166be1
      Lars Ingebrigtsen authored
      * lisp/subr.el (ignore, undefined): Declare that these shouldn't
      be completed over.
      24166be1
    • Lars Ingebrigtsen's avatar
      Use `undefined' instead of `ignore' in wdired · d15a42ac
      Lars Ingebrigtsen authored
      * lisp/wdired.el (wdired-mode-map): Use `undefined' here instead
      of `ignore' to give the user more feedback.
      d15a42ac
    • Basil L. Contovounesios's avatar
      Fix json.el encoding of confusable object keys · 908f251e
      Basil L. Contovounesios authored
      * lisp/json.el (json-encode-string): Clarify commentary.
      (json--encode-stringlike): New function that covers a subset of
      json-encode.
      (json-encode-key): Use it for more efficient encoding and
      validation, and to avoid mishandling confusable keys like boolean
      symbols (bug#42545).
      (json-encode-array): Make it clearer that argument can be a list.
      (json-encode): Reuse json-encode-keyword and json--encode-stringlike
      for a subset of the dispatch logic.
      (json-pretty-print): Ensure confusable keys like ":a" survive a
      decoding/encoding roundtrip (bug#24252, bug#45032).
      
      * test/lisp/json-tests.el (test-json-encode-string)
      (test-json-encode-hash-table, test-json-encode-alist)
      (test-json-encode-plist, test-json-pretty-print-object): Test
      encoding of confusable keys.
      908f251e
    • Stefan Kangas's avatar
      Make unused variable menu-bar-handwrite-map obsolete · 767608ef
      Stefan Kangas authored
      * lisp/play/handwrite.el (menu-bar-handwrite-map): Make unused
      variable obsolete.
      767608ef
    • Stefan Kangas's avatar
      Convert bubbles menu to easy-menu-define · 1b9e2334
      Stefan Kangas authored
      * lisp/play/bubbles.el (bubbles-game-theme-menu)
      (bubbles-graphics-theme-menu, bubbles-menu, bubbles-mode-map):
      Move menu definition from here...
      (bubbles-menu): ...to here, and convert to easy-menu-define.
      1b9e2334
    • Stefan Kangas's avatar
      ; Fix previous easy-menu-define conversion · 669b911c
      Stefan Kangas authored
      * lisp/emacs-lisp/re-builder.el (reb-mode-menu):
      * lisp/progmodes/make-mode.el (makefile-mode-menu): Replace :button
      attribute with :style and :selected.
      669b911c
    • Stefan Kangas's avatar
      df932bef
    • Stefan Kangas's avatar
      Convert some progmodes menus to easy-menu-define · 2c26eb11
      Stefan Kangas authored
      * lisp/progmodes/asm-mode.el (asm-mode-map):
      * lisp/progmodes/grep.el (grep-mode-map):
      * lisp/progmodes/m4-mode.el (m4-mode-map):
      * lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from here...
      * lisp/progmodes/asm-mode.el (asm-mode-menu):
      * lisp/progmodes/grep.el (grep-menu-map):
      * lisp/progmodes/m4-mode.el (m4-mode-menu):
      * lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite
      using easy-menu-define.
      2c26eb11
    • Michael Albinus's avatar
      Clarification of password handling in Tramp manual · 30107947
      Michael Albinus authored
      * doc/misc/tramp.texi (Password handling): Describe, how to
      suppress `auth-sources' for Tramp.
      (Remote shell setup, Remote processes)
      (Cleanup remote connections, Frequently Asked Questions):
      Handle reference to Emacs manual.
      30107947
  3. 20 Feb, 2021 15 commits
    • Alan Third's avatar
      Fix memory leak · e6842038
      Alan Third authored
      * src/nsterm.m ([EmacsSurface dealloc]): Release will remove all
      objects and free the memory.
      e6842038
    • Stefan Kangas's avatar
      Convert makefile-mode menu to easy-menu-define · cf95b534
      Stefan Kangas authored
      * lisp/progmodes/make-mode.el (makefile-mode-map): Move menu
      definition from here...
      (makefile-mode-menu): ...to here, and rewrite using easy-menu-define.
      cf95b534
    • F. Jason Park's avatar
      Mute noisy test fixture for socks.el · a6234bb5
      F. Jason Park authored
      * test/lisp/net/socks-tests.el:
      (socks-tests-perform-hello-world-http-request): Bind
      'inhibit-message' non-nil when in batch mode.
      (Bug#46342)
      a6234bb5
    • Lars Ingebrigtsen's avatar
      Change command-completion-using-modes-p to defun · 496bed5c
      Lars Ingebrigtsen authored
      * lisp/simple.el (command-completion-using-modes-p): Change into a
      defun for now because of a build problem.
      496bed5c
    • Lars Ingebrigtsen's avatar
      Mention `M-S-x' in the Emacs manual. · 006d0ae3
      Lars Ingebrigtsen authored
      * doc/emacs/m-x.texi (M-x): Mention `M-S-x' in the Emacs manual.
      006d0ae3
    • Eli Zaretskii's avatar
      ; Fix typos in last change · 4c4c2eab
      Eli Zaretskii authored
      * etc/NEWS: Improve wording.
      * lisp/simple.el (execute-extended-command-for-buffer): Fix typo.
      4c4c2eab
    • Lars Ingebrigtsen's avatar
      Add a new command for mode-specific commands · e3e3133f
      Lars Ingebrigtsen authored
      * doc/lispref/commands.texi (Interactive Call): Document it.
      * lisp/simple.el (command-completion-using-modes-p): Refactored
      out into its own function for reuse...
      (command-completion-default-include-p): ... from here.
      (execute-extended-command-for-buffer): New command and keystroke
      (`M-S-x').
      e3e3133f
    • Lars Ingebrigtsen's avatar
      Change how (declare (modes store the data · 12578d6a
      Lars Ingebrigtsen authored
      * lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Change from
      being a predicate to storing the modes.  This allows using the
      modes for positive command discovery, too.
      * src/data.c (Fcommand_modes): Look at the `command-modes' symbol
      property, too.
      12578d6a
    • Lars Ingebrigtsen's avatar
      Add the `always' function · 825aed11
      Lars Ingebrigtsen authored
      * doc/lispref/functions.texi (Calling Functions): Document it.
      * lisp/subr.el (always): New function.
      
      * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark it as
      side effect free.
      825aed11
    • F. Jason Park's avatar
      Use raw bytes for SOCKS 4 IP addresses · 43703a06
      F. Jason Park authored
      * lisp/net/socks.el: (socks--open-network-stream, socks-send-command):
      * test/lisp/net/socks-tests.el: (socks-tests-v4-basic): (Bug#46342).
      43703a06
    • F. Jason Park's avatar
      Add more auth-related tests for socks.el · acf71609
      F. Jason Park authored
      * test/lisp/net/socks-tests.el (auth-registration-and-suite-offer)
      (filter-response-parsing-v4, filter-response-parsing-v5): Assert
      auth-method selection wrangling and socks-filter parsing.
      (v5-auth-user-pass, v5-auth-user-pass-blank, v5-auth-none): Show prep
      and execution of the SOCKS connect command and proxying of an HTTP
      request; simplify fake server.  (Bug#46342)
      acf71609
    • Stefan Kangas's avatar
      Convert re-builder menu to easy-menu-define · d184895a
      Stefan Kangas authored
      * lisp/emacs-lisp/re-builder.el (reb-mode-map): Move menu
      definition from here...
      (reb-mode-menu): ...to here, and rewrite using easy-menu-define.
      d184895a
    • Stefan Kangas's avatar
      Convert finder menu to easy-menu-define · 7b12747e
      Stefan Kangas authored
      * lisp/finder.el (finder-mode-map): Move menu definition from
      here...
      (finder-mode-menu): ...to here, and rewrite using
      easy-menu-define.
      7b12747e
    • Stefan Kangas's avatar
      Add toolbar for help-mode · c85c8e7d
      Stefan Kangas authored
      * lisp/help-mode.el (help-mode): Add toolbar.
      (help-mode-tool-bar-map): New variable.
      (help-mode-menu): Disable forward/backward items when stack is empty.
      
      (help-bookmark-make-record, help-bookmark-jump): Minor doc fixes.
      c85c8e7d
    • Stefan Kangas's avatar
      b612f1a4
  4. 19 Feb, 2021 4 commits