1. 11 Apr, 2021 19 commits
  2. 10 Apr, 2021 21 commits
    • Gregory Heytings's avatar
      Add new icomplete-vertical-mode · 5761e900
      Gregory Heytings authored
      
      Co-authored-by: default avatarJoão Távora <joaotavora@gmail.com>
      
      * lisp/icomplete.el (icomplete-completions): Consider icomplete-vertical-mode.
      (icomplete-vertical-mode-minibuffer-map): New map.
      (icomplete--vertical-minibuffer-setup): New helper.
      (icomplete-vertical-mode): New minor mode.
      
      * doc/emacs/buffers.texi (Icomplete): Mention icomplete-vertical-mode.
      
      * etc/NEWS: Mention icomplete-vertical-mode
      5761e900
    • Stefan Monnier's avatar
      * lisp/misearch.el (multi-isearch-read-buffers): Fix last change · ffd12743
      Stefan Monnier authored
      These are not buffers but buffer names.
      ffd12743
    • Philipp Stephani's avatar
      d6aa50f7
    • Stefan Monnier's avatar
      * lisp/cus-dep.el: Use lexical-binding · 56e8d969
      Stefan Monnier authored
      56e8d969
    • Stefan Monnier's avatar
      * lisp/misearch.el: Use lexical-binding · 26e1d854
      Stefan Monnier authored
      (multi-isearch-read-buffers, multi-isearch-read-files):
      Replace `add-to-list` with `cl-pushnew` for use on a local variable.
      26e1d854
    • Philipp Stephani's avatar
      2db03e3e
    • Philipp Stephani's avatar
      496a46b3
    • Stefan Monnier's avatar
      * lisp/ps-bdf.el: Use lexical-binding · 8b928976
      Stefan Monnier authored
      8b928976
    • Stefan Monnier's avatar
      * lisp/informat.el: Use lexical-binding · edf8497c
      Stefan Monnier authored
      edf8497c
    • Stefan Monnier's avatar
      * lisp/loadup.el: Use lexical-binding · 5ad3893e
      Stefan Monnier authored
      5ad3893e
    • Stefan Monnier's avatar
      * lisp/jka-compr.el: Use lexical-binding · cb6b810d
      Stefan Monnier authored
      Prefer #' to quote function names.
      cb6b810d
    • Philipp Stephani's avatar
    • Glenn Morris's avatar
      ; Fix copyright years · 81ffc433
      Glenn Morris authored
      81ffc433
    • Alan Mackenzie's avatar
      Convert CC Mode to lexical binding in Emacs · 3f5fe0cd
      Alan Mackenzie authored
      lisp/progmodes/cc-align.el, lisp/progmodes/cc-awk.el,
      lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el,
      lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el,
      lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-guess.el,
      lisp/progmodes/cc-langs.el, lisp/progmodes/cc-menus.el,
      lisp/progmodes/cc-mode.el, lisp/progmodes/cc-styles.el,
      lisp/progmodes/cc-subword.el, lisp/progmodes/cc-vars.el: Mark these files with
      a `lexical-binding' setting in line 1.
      
      lisp/progmodes/cc-align.el, lisp/progmodes/cc-engine.el,
      lisp/progmodes/cc-vars.el (c-syntactic-context, c-syntactic-element): Declare
      these as special variables.
      
      lisp/progmodes/cc-bytecomp.el (cc-bytecomp-debug-msg): prefix the parameter
      ARGS with a _, and remove an `ignore' call.
      
      lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Remove `kluge-start',
      an unused variable.
      (c-while-widening-to-decl-block): Add an extra parameter, which suppresses
      the generation of a setting of variable `where'.
      (c-defun-name-and-limits): Remove variable `where' from the function and use
      the new argument to the previous macro.
      
      lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state): Remove two unneeded
      variables, `last' and `intermediate'.
      
      lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): Remove unused variable.
      
      lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Replace the doc
      string with the more precise one from stand-alone CC Mode.
      
      lisp/progmodes/cc-styles.el (c-set-offset): Give the `ignored' parameter a
      leading _.
      3f5fe0cd
    • Philipp Stephani's avatar
      Add a helper binary to create a basic Secure Computing filter. · 1060289f
      Philipp Stephani authored
      The binary uses the 'seccomp' helper library.  The library isn't
      needed to load the generated Secure Computing filter.
      
      * configure.ac: Check for 'seccomp' header and library.
      
      * lib-src/seccomp-filter.c: New helper binary to generate a generic
      Secure Computing filter for GNU/Linux.
      
      * lib-src/Makefile.in (DONT_INSTALL): Add 'seccomp-filter' helper
      binary if possible.
      (all): Add Secure Computing filter file if possible.
      (seccomp-filter$(EXEEXT)): Compile helper binary.
      (seccomp-filter.bpf seccomp-filter.pfc): Generate filter files.
      
      * test/src/emacs-tests.el (emacs-tests/seccomp/allows-stdout)
      (emacs-tests/seccomp/forbids-subprocess): New unit tests.
      
      * test/Makefile.in (src/emacs-tests.log): Add dependency on the helper
      binary.
      1060289f
    • Philipp Stephani's avatar
      2d17e012
    • Philipp Stephani's avatar
      Read file in a loop if necessary. · 8a84f97a
      Philipp Stephani authored
      This allows for short reads from 'emacs_read'.
      
      * src/emacs.c (read_full): New helper function.
      (load_seccomp): Use it.
      8a84f97a
    • Eli Zaretskii's avatar
      15122b31
    • Philipp Stephani's avatar
      Add support for --seccomp command-line option. · be8328ac
      Philipp Stephani authored
      When passing this option on GNU/Linux, Emacs installs a Secure
      Computing kernel system call filter.  See Bug#45198.
      
      * configure.ac: Check for seccomp header.
      
      * src/emacs.c (usage_message): Document --seccomp option.
      (emacs_seccomp): New wrapper for 'seccomp' syscall.
      (load_seccomp, maybe_load_seccomp): New helper functions.
      (main): Potentially load seccomp filters during startup.
      (standard_args): Add --seccomp option.
      
      * lisp/startup.el (command-line): Detect and ignore --seccomp option.
      
      * test/src/emacs-tests.el (emacs-tests/seccomp/absent-file)
      (emacs-tests/seccomp/empty-file)
      (emacs-tests/seccomp/file-too-large)
      (emacs-tests/seccomp/invalid-file-size): New unit tests.
      (emacs-tests--with-temp-file): New helper macro.
      
      * etc/NEWS: Document new --seccomp option.
      be8328ac
    • Philipp Stephani's avatar
      Edebug: Disable backtracking when hitting a &define keyword. · 53dfd85a
      Philipp Stephani authored
      Edebug doesn't deal well with backtracking out of definitions, see
      Bug#41988.  Rather than trying to support this rare situation (e.g. by
      implementing a multipass parser), prevent it by adding an implicit
      gate.
      
      * lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Disable
      backtracking when hitting a &define keyword.
      
      * test/lisp/emacs-lisp/edebug-tests.el
      (edebug-tests-duplicate-&define): New unit test.
      (edebug-tests--duplicate-&define): New helper macro.
      
      * doc/lispref/edebug.texi (Backtracking): Mention &define in the list
      of constructs that disable backtracking.
      
      * etc/NEWS: Document new behavior.
      53dfd85a
    • Stefan Monnier's avatar
      b72571ca