]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoFix `eql' `equal' propagation of non hash consed values (bug#46843)
Andrea Corallo [Mon, 1 Mar 2021 18:39:00 +0000 (19:39 +0100)]
Fix `eql' `equal' propagation of non hash consed values (bug#46843)

Extend assumes allowing the following form:

(assume dst (and-nhc src1 src2))

`and-nhc' assume operator allow for constraining correctly
intersections where non hash consed values are not propagated as
values but rather promoted to their types.

* lisp/emacs-lisp/comp-cstr.el
(comp-cstr-intersection-no-hashcons): New function.
* lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit
`and-nhc' operator (implemented in fwprop by
`comp-cstr-intersection-no-hashcons').
(comp-add-cond-cstrs): Map `eq' to `and' assume operator and
`equal' `eql' into `and-nhc'.
(comp-fwprop-insn): Update to handle `and-nhc'.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add two
tests covering `eql' and `equal' propagation of non hash consed
values.

3 years agoDon't treat '=' as simple equality emitting constraints (bug#46812)
Andrea Corallo [Sat, 27 Feb 2021 21:00:11 +0000 (22:00 +0100)]
Don't treat '=' as simple equality emitting constraints (bug#46812)

Extend assumes allowing the following form

(assume dst (= src1 src2))

to caputure '=' semanting during fwprop handling float integer
conversions.

* lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as
simple equality.
(comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun)
(comp-reverse-arithm-fun): Rename and add '=' '!='.
(comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update
for new function nameing and to handle '='.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch
of '=' specific tests.

3 years agoMigrate and rename a bunch of functions from comp.el to comp-cstr.el
Andrea Corallo [Sat, 27 Feb 2021 20:26:41 +0000 (21:26 +0100)]
Migrate and rename a bunch of functions from comp.el to comp-cstr.el

* lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p)
(comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p)
(comp-cstr-cons-p): Move and rename from 'comp.el'.
* lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p)
(make-comp-mvar, comp-emit-assume, comp-fwprop-prologue)
(comp-function-foldable-p, comp-function-call-maybe-fold)
(comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func)
(comp-compute-function-type): Update for renamed functions.
* src/comp.c (emit_mvar_rval): Likewise.
* test/src/comp-tests.el (comp-tests-mentioned-p-1)
(comp-tests-cond-rw-checker-val): Likewise.

3 years ago* Canonicalize filenames on Windows before hashing (bug#46256)
Andrea Corallo [Fri, 26 Feb 2021 20:27:02 +0000 (21:27 +0100)]
* Canonicalize filenames on Windows before hashing (bug#46256)

* src/comp.c (Fcomp_el_to_eln_filename): On Windowns
canonicalize filenames before hashing.

3 years ago* Change native compiler configure flag into '--with-native-compilation'
Andrea Corallo [Fri, 26 Feb 2021 19:11:31 +0000 (20:11 +0100)]
* Change native compiler configure flag into '--with-native-compilation'

* configure.ac: Rename configure nativecomp flags into
--with-native-compilation.

3 years ago* Interactive tag native compilation function in emacs-lisp-mode
Andrea Corallo [Fri, 26 Feb 2021 18:57:41 +0000 (19:57 +0100)]
* Interactive tag native compilation function in emacs-lisp-mode

* lisp/progmodes/elisp-mode.el
(emacs-lisp-native-compile-and-load): Tag it for `emacs-lisp-mode'.

3 years agoMerge remote-tracking branch 'savannah/master' into native-comp
Andrea Corallo [Fri, 26 Feb 2021 18:54:59 +0000 (19:54 +0100)]
Merge remote-tracking branch 'savannah/master' into native-comp

3 years agoFix Tramp manual
Michael Albinus [Fri, 26 Feb 2021 17:37:14 +0000 (18:37 +0100)]
Fix Tramp manual

* doc/misc/tramp.texi (External methods): Mention "about-args".
(Remote shell setup): Use sshx.

3 years agoMake some defcustom types stricter in comp.el
Stefan Kangas [Fri, 26 Feb 2021 17:03:19 +0000 (18:03 +0100)]
Make some defcustom types stricter in comp.el

* lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose)
(comp-async-jobs-number, comp-async-env-modifier-form): Use stricter
types.

3 years agoAdd :version tags to defcustoms in comp.el
Stefan Kangas [Fri, 26 Feb 2021 16:56:36 +0000 (17:56 +0100)]
Add :version tags to defcustoms in comp.el

* lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose)
(comp-never-optimize-functions, comp-async-jobs-number)
(comp-async-cu-done-hook, comp-async-all-done-hook)
(comp-async-env-modifier-form)
(comp-async-report-warnings-errors, comp-native-driver-options)
(comp-libgccjit-reproducer): Add :version tags.

3 years ago; * test/lisp/progmodes/f90-tests.el: Remove stale comment.
Stefan Kangas [Fri, 26 Feb 2021 16:09:57 +0000 (17:09 +0100)]
; * test/lisp/progmodes/f90-tests.el: Remove stale comment.

3 years ago* lisp/progmodes/dcl-mode.el: Minor doc fixes.
Stefan Kangas [Fri, 26 Feb 2021 16:05:18 +0000 (17:05 +0100)]
* lisp/progmodes/dcl-mode.el: Minor doc fixes.

3 years agoConvert some more progmode menus to easy-menu-define
Stefan Kangas [Fri, 26 Feb 2021 15:23:45 +0000 (16:23 +0100)]
Convert some more progmode menus to easy-menu-define

* lisp/progmodes/dcl-mode.el (dcl-mode-map):
* lisp/progmodes/icon.el (icon-mode-map):
* lisp/progmodes/scheme.el (scheme-mode-map):
Move menu definitions from here...
* lisp/progmodes/dcl-mode.el (dcl-mode-menu):
* lisp/progmodes/icon.el (icon-mode-menu)
* lisp/progmodes/scheme.el (scheme-mode-menu):
...to here, and use easy-menu-define.

* lisp/progmodes/icon.el
(icon-mode-map, icon-mode-syntax-table): Simplify.

3 years agoConvert simula-mode menu to easy-menu-define
Stefan Kangas [Fri, 26 Feb 2021 15:09:14 +0000 (16:09 +0100)]
Convert simula-mode menu to easy-menu-define

* lisp/progmodes/simula.el (simula-mode-map): Move menu definition
from here...
(simula-mode-menu): ...to here, and use easy-menu-define.
(simula-popup-menu): Declare unused function obsolete.

3 years agoFix syntax highlighting of easy-menu-define docstrings
Stefan Kangas [Fri, 26 Feb 2021 14:59:56 +0000 (15:59 +0100)]
Fix syntax highlighting of easy-menu-define docstrings

* lisp/emacs-lisp/easymenu.el (easy-menu-define): Add doc-string
declaration for correct syntax highlighting.

3 years agoRemove redundant requires of easymenu
Stefan Kangas [Fri, 26 Feb 2021 14:50:41 +0000 (15:50 +0100)]
Remove redundant requires of easymenu

* lisp/allout.el:
* lisp/emacs-lisp/edebug.el:
* lisp/emacs-lisp/ert.el:
* lisp/erc/erc-menu.el:
* lisp/help-mode.el:
* lisp/net/dictionary.el:
* lisp/nxml/rng-nxml.el:
* lisp/progmodes/ebrowse.el:
* lisp/progmodes/meta-mode.el:
* lisp/progmodes/prolog.el:
* lisp/progmodes/ps-mode.el:
* lisp/progmodes/vera-mode.el:
* lisp/wid-browse.el: Remove redundant require of easymenu.  We only
use the autoloaded macro 'easy-menu-define' here.

3 years agoRemove check for missing easymenu from cperl-mode.el
Stefan Kangas [Fri, 26 Feb 2021 04:43:53 +0000 (05:43 +0100)]
Remove check for missing easymenu from cperl-mode.el

* lisp/progmodes/cperl-mode.el (cperl-menu): Don't wrap definition
in condition-case; easymenu always exists in Emacs.
(easymenu): Remove redundant require.

3 years agoFix last change
Eli Zaretskii [Fri, 26 Feb 2021 14:50:41 +0000 (16:50 +0200)]
Fix last change

* lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors):
Improve wording of the doc string.

3 years ago* Improve `comp-async-report-warnings-errors' docstring
Andrea Corallo [Fri, 26 Feb 2021 14:15:06 +0000 (15:15 +0100)]
* Improve `comp-async-report-warnings-errors' docstring

* lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors):
Improve docstring.

3 years agoImprove documentation of last change
Eli Zaretskii [Fri, 26 Feb 2021 14:08:44 +0000 (16:08 +0200)]
Improve documentation of last change

* lisp/emacs-lisp/comp.el (comp-async-query-on-exit)
(comp-async-report-warnings-errors): Improve wording.

3 years ago* Add `comp-async-query-on-exit' customize.
Andrea Corallo [Fri, 26 Feb 2021 07:49:58 +0000 (08:49 +0100)]
* Add `comp-async-query-on-exit' customize.

* lisp/emacs-lisp/comp.el (comp-async-query-on-exit): New customize.
(comp-run-async-workers): Make use of.

3 years agoFunction-quote completion property of declare form
Basil L. Contovounesios [Sat, 20 Feb 2021 18:55:12 +0000 (18:55 +0000)]
Function-quote completion property of declare form

For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01666.html

* lisp/emacs-lisp/byte-run.el (byte-run--set-completion): Quote with
'function' for syntactical consistency with other declare form
properties.  This allows writing (declare (completion foo)) instead
of (declare (completion 'foo)).
* lisp/emacs-lisp/easymenu.el (easy-menu-do-define):
* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Prefer
function-put over put for function symbols.
* lisp/subr.el (ignore, undefined): Remove #'-quoting from declare
form; it is no longer needed.

3 years agoFix pcase rx pattern bugs
Mattias Engdegård [Fri, 26 Feb 2021 08:52:16 +0000 (09:52 +0100)]
Fix pcase rx pattern bugs

Two unrelated bugs: A missing type check caused an error in rx
patterns for non-string match targets, and rx patterns did not work at
all in pcase-let or pcase-let*.

Second bug reported by Basil Contovounesios and Ag Ibragimov; fixes
proposed by Stefan Monnier.  Discussion and explanation in thread at
https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01924.html

* lisp/emacs-lisp/rx.el (rx): Add (pred stringp) to avoid type errors,
and replace the `pred` clause for the actual match with something that
works with pcase-let(*) without being optimised away.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases.

3 years ago* Fix some comp-vec logic
Andrea Corallo [Thu, 25 Feb 2021 19:46:27 +0000 (20:46 +0100)]
* Fix some comp-vec logic

* lisp/emacs-lisp/comp.el (comp-vec-length, comp-vec-append)
(comp-vec-prepend): Fix logic.
(comp-vec-aref): Fix indentation.

3 years ago* Fix two docstrings in comp.el
Andrea Corallo [Thu, 25 Feb 2021 19:25:05 +0000 (20:25 +0100)]
* Fix two docstrings in comp.el

* lisp/emacs-lisp/comp.el (comp-new-frame,
comp-maybe-add-vmvar): Fix docstring.

3 years agoFix documentation of a recent change
Eli Zaretskii [Thu, 25 Feb 2021 18:58:44 +0000 (20:58 +0200)]
Fix documentation of a recent change

* src/fns.c (Fyes_or_no_p): Don't use braces around one-line
block.
(syms_of_fns) <use-short-answers>: Improve the wording of the doc
string.
* etc/NEWS: Improve wording of the entry about 'use-short-answers'.

3 years agoNew variable 'use-short-answers' to use 'y-or-n-p' instead of 'yes-or-no-p'
Juri Linkov [Thu, 25 Feb 2021 18:45:40 +0000 (20:45 +0200)]
New variable 'use-short-answers' to use 'y-or-n-p' instead of 'yes-or-no-p'

* lisp/cus-start.el: Add use-short-answers.

* lisp/emacs-lisp/map-ynp.el (read-answer): Handle use-short-answers.
(read-answer-short): Add use-short-answers to docstring.

* src/fns.c (Fyes_or_no_p): Call y-or-n-p if use_short_answers is true.
(syms_of_fns): Add DEFVAR_BOOL use-short-answers (bug#46594).

3 years agoFix freeze on older macOS's (bug#46687)
Alan Third [Wed, 24 Feb 2021 09:52:42 +0000 (09:52 +0000)]
Fix freeze on older macOS's (bug#46687)

* src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]):
([EmacsView viewWillDraw]): Only run this code when actually drawing
to an offscreen bitmap.

3 years agoRe-enable network-stream-tests.el :nowait t tests
Robert Pluim [Thu, 25 Feb 2021 15:39:34 +0000 (16:39 +0100)]
Re-enable network-stream-tests.el :nowait t tests

After the fix for Bug#46709, these no longer fail in the absence of a
working Internet connection

* test/lisp/net/network-stream-tests.el (internet-is-working): Remove
defvar, it's no longer needed in this file.

* test/lisp/net/network-stream-tests.el
(connect-to-tls-ipv4-nowait):
(connect-to-tls-ipv6-nowait):
(open-network-stream-tls-nowait):
(open-gnutls-stream-new-api-nowait):
(open-gnutls-stream-old-api-nowait): Remove check for internet-is-working.

3 years agoDon't crash if gnutls_handshake fails
Robert Pluim [Thu, 25 Feb 2021 15:36:56 +0000 (16:36 +0100)]
Don't crash if gnutls_handshake fails

In some situations involving Internet access not being fully
functional, gnutls_handshake returns a fatal error, which we were
ignoring, causing us to call gnutls_handshake again.  Now we check for
the error and return it to the caller.

* src/gnutls.c (gnutls_try_handshake): Return immediately if
gnutls_handshake returns a fatal error (Bug#46709).

3 years ago* Specify 'ipv4 when testing ipv4 in network-stream-tests.el
Robert Pluim [Thu, 25 Feb 2021 15:33:47 +0000 (16:33 +0100)]
* Specify 'ipv4 when testing ipv4 in network-stream-tests.el

* test/lisp/net/network-stream-tests.el
(connect-to-tls-ipv4-nowait): Specify :family 'ipv4.

3 years ago; * src/xfaces.c (realize_gui_face): Correct formatting
Robert Pluim [Tue, 23 Feb 2021 14:21:26 +0000 (15:21 +0100)]
; * src/xfaces.c (realize_gui_face): Correct formatting

* src/xfaces.c (realize_gui_face): Correct code formatting.

3 years agoConvert epa-key-list-mode menu to easy-menu-define
Stefan Kangas [Thu, 25 Feb 2021 11:54:58 +0000 (12:54 +0100)]
Convert epa-key-list-mode menu to easy-menu-define

* lisp/epa.el (epa-key-list-mode-map): Move menu from here...
(epa-key-list-mode-menu): ...to here, and convert to easy-menu-define.

3 years agoRemove last remaining external uses of `edebug-form-spec`
Stefan Monnier [Thu, 25 Feb 2021 04:08:47 +0000 (23:08 -0500)]
Remove last remaining external uses of `edebug-form-spec`

* lisp/emacs-lisp/gv.el (gv-place): Use `def-edebug-elem-spec`.

* lisp/obsolete/erc-compat.el (erc-define-minor-mode): Remove redundant
`edebug-form-spec`.

3 years ago* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case
Stefan Monnier [Wed, 24 Feb 2021 23:39:06 +0000 (18:39 -0500)]
* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case

Add use of `macroexp-file-name` from a macro called from within
a function, which works thanks to eager-macroexpansion (so the macro
is expanded which the file is being loaded rather than only later
when the function is called).

* test/lisp/emacs-lisp/macroexp-resources/m1.el
(macroexp--m1-tests-file-name): New function.

3 years ago* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): New test
Stefan Monnier [Wed, 24 Feb 2021 23:12:18 +0000 (18:12 -0500)]
* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): New test

* test/lisp/emacs-lisp/macroexp-resources/m1.el:
* test/lisp/emacs-lisp/macroexp-resources/m2.el: New files.

3 years agoInclude a "make check-maybe" in the admin/emake script
Lars Ingebrigtsen [Wed, 24 Feb 2021 22:55:05 +0000 (23:55 +0100)]
Include a "make check-maybe" in the admin/emake script

3 years ago; Fix recent obsoletion warning in cl.el.
Basil L. Contovounesios [Wed, 24 Feb 2021 22:34:06 +0000 (22:34 +0000)]
; Fix recent obsoletion warning in cl.el.

3 years ago; Add :version tags to recent newsticker options.
Basil L. Contovounesios [Wed, 24 Feb 2021 22:20:10 +0000 (22:20 +0000)]
; Add :version tags to recent newsticker options.

3 years ago* lisp/emacs-lisp/macroexp.el (macroexp-file-name): Work in `eval-buffer`
Stefan Monnier [Wed, 24 Feb 2021 22:16:00 +0000 (17:16 -0500)]
* lisp/emacs-lisp/macroexp.el (macroexp-file-name): Work in `eval-buffer`

Rely on `current-load-list` instead of `load-file-name`.

* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables):
Change the var we override accordingly.

3 years agoImprove quail-update-leim-list-file error messaging
Lars Ingebrigtsen [Wed, 24 Feb 2021 19:32:09 +0000 (20:32 +0100)]
Improve quail-update-leim-list-file error messaging

* lisp/international/quail.el (quail-update-leim-list-file): Give
a better error message.

3 years agoFix warning generated by indian.el + quail.el
Lars Ingebrigtsen [Wed, 24 Feb 2021 19:31:31 +0000 (20:31 +0100)]
Fix warning generated by indian.el + quail.el

* lisp/leim/quail/indian.el (quail-define-indian-trans-package):
Reintroduce kludge to fix automatic detection by Quail.

3 years ago* lisp/tab-bar.el: Move aliases down closer to keybindings.
Juri Linkov [Wed, 24 Feb 2021 18:52:27 +0000 (20:52 +0200)]
* lisp/tab-bar.el: Move aliases down closer to keybindings.

3 years ago* lisp/tab-bar.el (tab-switch): New defalias to 'tab-bar-switch-to-tab'.
Juri Linkov [Wed, 24 Feb 2021 18:51:04 +0000 (20:51 +0200)]
* lisp/tab-bar.el (tab-switch): New defalias to 'tab-bar-switch-to-tab'.

(tab-prefix-map): Bind "O" to 'tab-previous'.

3 years ago* lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function.
Stefan Monnier [Wed, 24 Feb 2021 18:52:45 +0000 (13:52 -0500)]
* lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function.

Yes, finally: a function that tells you the name of the file where
the code is located.  Finding this name is non-trivial in practice,
as evidenced by the "4 shift/reduce conflicts" warning when compiling
CEDET's python.el, because its `wisent-source` got it wrong in that
case, thinking the grammar came from `python.el` instead of
`python-wy.el`.

While at it, also made `macroexp-compiling-p` public, since it's
useful at various places.

(macroexp-compiling-p): Rename from `macroexp--compiling-p`.

* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables):
Bind `load-file-name` to nil so we can distinguish a load that calls
the byte compiler from a byte compilation which causes a load.

* lisp/cedet/semantic/wisent/python.el (wisent-python--expected-conflicts):
Remove; it was just a workaround.
* lisp/subr.el (do-after-load-evaluation): Avoid `byte-compile--` vars.
* lisp/cedet/semantic/fw.el (semantic-alias-obsolete):
Use `macroexp-compiling-p` and `macroexp-file-name`.
* lisp/cedet/semantic/wisent/comp.el (wisent-source): Use `macroexp-file-name`
(wisent-total-conflicts): Tighten regexp.
* lisp/emacs-lisp/cl-lib.el (cl--compiling-file): Delete function
and variable.  Use `macroexp-compiling-p` instead.
* lisp/progmodes/flymake.el (flymake-log):
* lisp/emacs-lisp/package.el (package-get-version):
* lisp/emacs-lisp/ert-x.el (ert-resource-directory):
Use `macroexp-file-name`.

3 years agoAdd options to use feed names from newticker-url-list
Ulf Jasper [Wed, 24 Feb 2021 18:26:37 +0000 (19:26 +0100)]
Add options to use feed names from newticker-url-list

* lisp/net/newst-treeview.el
  (newsticker-treeview-use-feed-name-from-url-list-in-treeview): New.
  (newsticker-treeview-use-feed-name-from-url-list-in-itemview): New.
  (newsticker--treeview-item-show): Show feed name from
  newsticker-url-list if wanted.
  (newsticker--treeview-propertize-tag): Add argument 'tooltip'.
  (newsticker--treeview-tree-get-tag): Usefeed name from
  newsticker-url-list if wanted.  (Fixes third issue in
  Bug#41376.)

3 years agoFix wisent/python.el grammar warning
Lars Ingebrigtsen [Wed, 24 Feb 2021 17:29:25 +0000 (18:29 +0100)]
Fix wisent/python.el grammar warning

* lisp/cedet/semantic/wisent/python.el: Fix warning about
shift/reduce conflicts in the Python grammar.

3 years agoFix warning generated by indian.el + quail.el
Lars Ingebrigtsen [Wed, 24 Feb 2021 17:13:03 +0000 (18:13 +0100)]
Fix warning generated by indian.el + quail.el

* lisp/leim/quail/indian.el (quail-define-indian-trans-package):
Reintroduce kludge to fix automatic detection by Quail.

3 years agoRemove the "Documentation:" line from the variable help
Lars Ingebrigtsen [Wed, 24 Feb 2021 16:58:38 +0000 (17:58 +0100)]
Remove the "Documentation:" line from the variable help

* lisp/help-fns.el (describe-variable): Remove the
"Documentation:" line (bug#46702).  This makes the help text more
compact and seems easier to read, too.

3 years agoFix Calc menu item for vector dot products
Lars Ingebrigtsen [Wed, 24 Feb 2021 16:53:53 +0000 (17:53 +0100)]
Fix Calc menu item for vector dot products

* lisp/calc/calc-menu.el (calc-vectors-menu): Use the correct
function `calc-times' instead of the non-existent `calc-mult'
function (bug#46710).

3 years agoInteractive tag byte compilation functions in emacs-lisp-mode
Doug Davis [Wed, 24 Feb 2021 16:43:49 +0000 (17:43 +0100)]
Interactive tag byte compilation functions in emacs-lisp-mode

* lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile)
(emacs-lisp-byte-compile-and-load): Add interactive tagging
(bug#46721).

3 years agoRun all functions in `prefix-command-echo-keystrokes-functions'
Miha Rihtaršič [Wed, 24 Feb 2021 16:38:56 +0000 (17:38 +0100)]
Run all functions in `prefix-command-echo-keystrokes-functions'

* lisp/simple.el (internal-echo-keystrokes-prefix): Really run all
functions in `prefix-command-echo-keystrokes-functions' (bug#46727).

Copyright-paperwork-exempt: yes

3 years agoUse named faces in shortdoc
Protesilaos Stavrou [Wed, 24 Feb 2021 16:18:26 +0000 (17:18 +0100)]
Use named faces in shortdoc

* shortdoc.el (shortdoc-heading): Define new face for headings.
(shortdoc-display-group): Apply new heading face.
(shortdoc--display-function): Use existing face for section text.
* etc/NEWS: Document new face (bug#46748).

3 years agoUse sh-mode for PKGBUILD files
Utkarsh Singh [Tue, 23 Feb 2021 15:41:14 +0000 (16:41 +0100)]
Use sh-mode for PKGBUILD files

* lisp/files.el (auto-mode-alist): Use sh-mode for PKGBUILD files
(bug#46660).

Copyright-paperwork-exempt: yes

3 years agoFix dangerous code in xdisp.c
Eli Zaretskii [Wed, 24 Feb 2021 15:55:28 +0000 (17:55 +0200)]
Fix dangerous code in xdisp.c

* src/xdisp.c (move_it_to, display_line): Make sure ZV_BYTE is
greater than 1 before fetching previous byte.

3 years agoBetter support for 'truncate-line' non-nil in the mini-window
Eli Zaretskii [Wed, 24 Feb 2021 15:43:08 +0000 (17:43 +0200)]
Better support for 'truncate-line' non-nil in the mini-window

* src/xdisp.c (resize_mini_window): Resize the mini-window
when multi-line text is displayed under truncate-lines
non-nil in the minibuffer.  (Bug#46718)

3 years agoSpecify the Emacs version of new vc-dir faces
Protesilaos Stavrou [Wed, 24 Feb 2021 09:18:38 +0000 (11:18 +0200)]
Specify the Emacs version of new vc-dir faces

* vc-dir.el (vc-dir-header)
(vc-dir-header-value)
(vc-dir-directory)
(vc-dir-file)
(vc-dir-mark-indicator)
(vc-dir-status-warning)
(vc-dir-status-edited)
(vc-dir-status-up-to-date)
(vc-dir-status-ignored): Add version 28.1.  (Bug#46745)

3 years agoFix async compilation and paramenter naming
Andrea Corallo [Tue, 23 Feb 2021 23:03:21 +0000 (00:03 +0100)]
Fix async compilation and paramenter naming

* lisp/emacs-lisp/comp.el (native--compile-async)
(native-compile-async): Fix broken parameter renaming.

3 years agoDo not emit assumptions referencing clobbered mvars (bug#46670)
Andrea Corallo [Tue, 23 Feb 2021 13:35:11 +0000 (14:35 +0100)]
Do not emit assumptions referencing clobbered mvars (bug#46670)

* lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot.
(comp-new-frame): Add `vsize' parameter.
(comp-limplify-top-level, comp-limplify-function): Update for new
`comp-new-frame'.
(comp-maybe-add-vmvar): New function.
(comp-add-cond-cstrs): Logic update to emit assumptions not
referencing clobbered variables.
(comp-place-phis, comp-ssa, comp-ssa-rename-insn)
(comp-ssa-rename): Update rename logic to rename also negative
slots.
(comp-fwprop-insn): Update to handle `(assume mvar mvar)' form.
* test/src/comp-tests.el (46670-1): Add testcase.
* test/src/comp-test-funcs.el (comp-test-46670-1-f)
(comp-test-46670-2-f): New functions.

3 years ago* Move ssa rename from vector to comp-vec
Andrea Corallo [Mon, 22 Feb 2021 16:28:19 +0000 (17:28 +0100)]
* Move ssa rename from vector to comp-vec

* lisp/emacs-lisp/comp.el (comp-block): Updated `final-frame' slot
type.
(comp-limplify): Updated `frame' slot type.
(comp-slot-n, comp-new-frame, comp-place-phis, comp-ssa)
(comp-ssa-rename-insn, comp-ssa-rename, comp-finalize-phis): Use
`comp-vec'.

3 years ago* Add a simple growable vector like type
Andrea Corallo [Mon, 22 Feb 2021 14:07:00 +0000 (15:07 +0100)]
* Add a simple growable vector like type

* lisp/emacs-lisp/comp.el (comp-vec): Define struct.
(comp-vec-copy, comp-vec-length, comp-vec--verify-idx)
(comp-vec-aref, comp-vec-append, comp-vec-prepend): New functions.

3 years agoSmall fixes
Juri Linkov [Tue, 23 Feb 2021 19:05:30 +0000 (21:05 +0200)]
Small fixes

* lisp/emacs-lisp/seq.el (seq-contains): Move the ‘declare’ form
after the docstring.
* lisp/misc.el (copy-from-above-command): Fix whitespace regexp.

3 years ago* lisp/tab-line.el (tab-line-tab-name-format-function): New defcustom.
Juri Linkov [Tue, 23 Feb 2021 19:01:31 +0000 (21:01 +0200)]
* lisp/tab-line.el (tab-line-tab-name-format-function): New defcustom.

(tab-line-tab-name-format-default): New function as the default value.
(tab-line-format-template): Funcall tab-line-tab-name-format-function.
This is like recently added tab-bar-tab-name-format-function.

3 years ago* lisp/tab-bar.el (tab-prefix-map): Bind "n" to 'tab-duplicate'.
Juri Linkov [Tue, 23 Feb 2021 18:57:31 +0000 (20:57 +0200)]
* lisp/tab-bar.el (tab-prefix-map): Bind "n" to 'tab-duplicate'.

(tab-bar-separator): New function.
(tab-bar-make-keymap-1): Use it.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Ulf Jasper [Tue, 23 Feb 2021 18:43:56 +0000 (19:43 +0100)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years agoLeave other windows unchanged, use search instead of re-search
Ulf Jasper [Tue, 23 Feb 2021 18:31:32 +0000 (19:31 +0100)]
Leave other windows unchanged, use search instead of re-search

* lisp/net/newst-backend.el (newsticker-customize-feed): Leave other
  windws unchanged.  Use search instead of re-search.

3 years agoFix invalid interactive-statement
Ulf Jasper [Tue, 23 Feb 2021 18:23:50 +0000 (19:23 +0100)]
Fix invalid interactive-statement

* lisp/net/newst-backend.el (newsticker-customize): Fix invalid
  interactive-statement.

3 years ago* test/: Use lexical-binding the few remaining files
Stefan Monnier [Tue, 23 Feb 2021 17:14:59 +0000 (12:14 -0500)]
* test/: Use lexical-binding the few remaining files

* test/manual/biditest.el: Use lexical-binding.
(biditest-generate-testfile): Remove unused var `levels`.

* test/manual/image-circular-tests.el: Use lexical-binding.

* test/manual/image-size-tests.el: Use lexical-binding.
(image-size-tests): Check `fboundp` before calling `imagemagick-types`.

* test/manual/redisplay-testsuite.el: Use lexical-binding.

* test/manual/cedet/cedet-utests.el: Use lexical-binding.
Use `with-current-buffer`.
(cedet-utest): Test `fboundp` i.s.o `featurep` to silence warning.
(srecode-map-save-file): Declare var.
(pulse-test): Test `fboundp` before calling `pulse-available-p`.
Declare `pulse-momentary-highlight-overlay` since it's not autoloaded.

* test/manual/cedet/semantic-tests.el: Use lexical-binding.
Use `with-current-buffer`.
(semanticdb-ebrowse-dump): Remove unused var `ab`.
(semanticdb-test-gnu-global): Don't use obsolete "name" arg to constructor.
(cedet-utest-directory): Declare var.

3 years agoAdd command for customizing current newsticker feed
Ulf Jasper [Tue, 23 Feb 2021 16:33:46 +0000 (17:33 +0100)]
Add command for customizing current newsticker feed

* lisp/net/newst-backend.el (newsticker-customize-feed): New.
  (newsticker--insert-bytes): Add documentation string.
  (newsticker--decode-iso8601-date): Fix documentation string.
* lisp/net/newst-treeview.el (newsticker-treeview-customize-current-feed):
  New.
  (newsticker-treeview-mode-map): Add key for new command
  'newsticker-treeview-customize-current-feed'. (Fixes second issue in
  Bug#41376.)

3 years ago; Fix tramp.texi typos
Michael Albinus [Tue, 23 Feb 2021 15:04:22 +0000 (16:04 +0100)]
; Fix tramp.texi typos

3 years ago* doc/misc/tramp.texi: Grammar/style fixes
Robert Pluim [Tue, 23 Feb 2021 13:21:26 +0000 (14:21 +0100)]
* doc/misc/tramp.texi: Grammar/style fixes

* doc/misc/tramp.texi (Overview):
(Obtaining @value{tramp}):
(Quick Start Guide):
(Configuration):
(Connection types):
(Inline methods):
(External methods):
(Password handling):
(Predefined connection information):
(Remote shell setup):
(Remote processes):
(Frequently Asked Questions):
(External packages):
(Traces and Profiles): Grammar/style fixes.

3 years ago* lisp/net/dictionary-connection.el: Grammar fixes
Robert Pluim [Tue, 23 Feb 2021 13:07:32 +0000 (14:07 +0100)]
* lisp/net/dictionary-connection.el: Grammar fixes

* lisp/net/dictionary-connection.el: Grammar fix
(dictionary-connection-open): Use active voice.
(dictionary-connection-status): Reword and improve formatting.

3 years agoMake message-mailto work for emacsclient
Robert Pluim [Tue, 23 Feb 2021 12:47:49 +0000 (13:47 +0100)]
Make message-mailto work for emacsclient

* doc/misc/message.texi (System Mailer Setup): Add index entry.
Mention option to use emacsclient.

* etc/NEWS: Mention emacsclient option for 'mailto:' handling.

* etc/emacs-mail.desktop: Add example using emacsclient.

* lisp/gnus/message.el (message-mailto): Add optional url argument
so we can call it from emacsclient.

3 years agoCC Mode: Fix bug in "state cache" invalidation function.
Alan Mackenzie [Tue, 23 Feb 2021 11:16:24 +0000 (11:16 +0000)]
CC Mode: Fix bug in "state cache" invalidation function.

* lisp/progmodes/cc-engine.el (c-invalidate-state-cache-1): Rewrite part of
it, following the code in c-parse-state-1, to get a proper setting of
c-state-cache-good-pos.

3 years agoConvert some more menus to easy-menu-define
Stefan Kangas [Tue, 23 Feb 2021 02:51:12 +0000 (03:51 +0100)]
Convert some more menus to easy-menu-define

* lisp/tar-mode.el (tar-mode-map):
* lisp/textmodes/sgml-mode.el (sgml-mode-map, html-mode-map):
* lisp/wdired.el (wdired-mode-map): Move menus from here...

* lisp/tar-mode.el (tar-mode-immediate-menu, tar-mode-mark-menu)
* lisp/textmodes/sgml-mode.el (sgml-mode-menu, html-mode-menu):
* lisp/wdired.el (wdired-mode-menu): ...to here, and convert to
easy-menu-define.

3 years agoImprove easymenu.el Commentary section
Stefan Kangas [Tue, 23 Feb 2021 02:24:31 +0000 (03:24 +0100)]
Improve easymenu.el Commentary section

* lisp/emacs-lisp/easymenu.el: Improve Commentary section.

3 years ago* lisp/progmodes/antlr-mode.el: Fix bootstrap failure
Stefan Monnier [Mon, 22 Feb 2021 22:38:58 +0000 (17:38 -0500)]
* lisp/progmodes/antlr-mode.el: Fix bootstrap failure

(antlr-mode): Remove compatibility code with older CC-mode.
This somehow appears to fix the error:

    In antlr-mode:
    progmodes/antlr-mode.el:2426:20: Error: `c-init-language-vars' defined
        after use in (c-init-language-vars) (missing `require' of a library
        file?)
    progmodes/antlr-mode.el:2427:26: Warning: c-init-language-vars called
        with 0 arguments, but requires 1

No idea what caused the error to appear after the previous patch either.

3 years agoDo mode tagging in decipher.el
Lars Ingebrigtsen [Mon, 22 Feb 2021 22:30:04 +0000 (23:30 +0100)]
Do mode tagging in decipher.el

3 years agoDo mode tagging in bubbles.el
Lars Ingebrigtsen [Mon, 22 Feb 2021 22:27:53 +0000 (23:27 +0100)]
Do mode tagging in bubbles.el

3 years ago* lisp/obsolete: Use lexical-binding
Stefan Monnier [Mon, 22 Feb 2021 21:54:59 +0000 (16:54 -0500)]
* lisp/obsolete: Use lexical-binding

Use lexical-binding in all the lisp/obsolete/*.el files.
While at it, removed redundant :group arguments and used #' to quote
functions.  Commented out the key bindings which the #' revealed
to lead to non-existing commands, and replaced those revealed to be obsolete.

* lisp/obsolete/cl-compat.el: Use cl-lib.

* lisp/obsolete/cust-print.el: Assume `defalias` exists.
(with-custom-print): Use `declare`.

* lisp/obsolete/iswitchb.el (iswitchb-init-XEmacs-trick)
(iswitchb-xemacs-backspacekey): Remove functions.

* lisp/obsolete/landmark.el (landmark, landmark-nslify-wts):
Prefer `apply` to `eval`.

* lisp/obsolete/longlines.el (longlines-mode): Don't use `add-to-list`
on a hook.

* lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): Use `clear-string`.

* lisp/obsolete/pgg-pgp.el (pgg-pgp-encrypt-region): Remove oddly
unused var `passphrase`.
(pgg-pgp-verify-region): Declare var `jam-zcat-filename-list`.

* lisp/obsolete/pgg-pgp5.el (pgg-pgp5-encrypt-region): Remove oddly
unused var `passphrase`.
(pgg-pgp5-verify-region): Declare var `jam-zcat-filename-list`.

* lisp/obsolete/pgg.el: Remove some XEmacs compatibility code.
(pgg-run-at-time, pgg-cancel-timer, pgg-clear-string): Remove functions.
Use their core equivalent instead.

* lisp/obsolete/rcompile.el (remote-compile): Remove unused vars `l`,
`l-host`, `l-user`, and `localname`.

* lisp/obsolete/starttls.el (starttls-any-program-available):
Use `define-obsolete-function-alias`.

* lisp/obsolete/tls.el (tls-format-message): Delete function, use
`format-message` instead.

* lisp/obsolete/url-ns.el (url-ns-prefs): Use `with-current-buffer`
and `dlet`.

* lisp/obsolete/vip.el (vip-escape-to-emacs): Remove unused var `key`.
(vip-command-argument, vip-read-string, ex-delete, ex-line): Remove
unused var `conditions`.
(ex-map): Use a closure instead of `eval`.
(ex-set): Make it an alias of `set-variable`.
(ex-substitute): Remove unused var `cont`.

* lisp/obsolete/abbrevlist.el:
* lisp/obsolete/bruce.el:
* lisp/obsolete/cc-compat.el:
* lisp/obsolete/cl-compat.el:
* lisp/obsolete/cl.el:
* lisp/obsolete/complete.el:
* lisp/obsolete/crisp.el:
* lisp/obsolete/cust-print.el:
* lisp/obsolete/erc-compat.el:
* lisp/obsolete/erc-hecomplete.el:
* lisp/obsolete/eudcb-ph.el:
* lisp/obsolete/fast-lock.el:
* lisp/obsolete/gs.el:
* lisp/obsolete/gulp.el:
* lisp/obsolete/html2text.el:
* lisp/obsolete/info-edit.el:
* lisp/obsolete/iswitchb.el:
* lisp/obsolete/landmark.el:
* lisp/obsolete/lazy-lock.el:
* lisp/obsolete/longlines.el:
* lisp/obsolete/mailpost.el:
* lisp/obsolete/mantemp.el:
* lisp/obsolete/meese.el:
* lisp/obsolete/messcompat.el:
* lisp/obsolete/metamail.el:
* lisp/obsolete/mouse-sel.el:
* lisp/obsolete/nnir.el:
* lisp/obsolete/old-emacs-lock.el:
* lisp/obsolete/otodo-mode.el:
* lisp/obsolete/patcomp.el:
* lisp/obsolete/pc-mode.el:
* lisp/obsolete/pc-select.el:
* lisp/obsolete/pgg-def.el:
* lisp/obsolete/pgg-gpg.el:
* lisp/obsolete/pgg-parse.el:
* lisp/obsolete/pgg-pgp.el:
* lisp/obsolete/pgg-pgp5.el:
* lisp/obsolete/pgg.el:
* lisp/obsolete/rcompile.el:
* lisp/obsolete/s-region.el:
* lisp/obsolete/sb-image.el:
* lisp/obsolete/sregex.el:
* lisp/obsolete/starttls.el:
* lisp/obsolete/sup-mouse.el:
* lisp/obsolete/terminal.el:
* lisp/obsolete/tls.el:
* lisp/obsolete/tpu-edt.el:
* lisp/obsolete/tpu-extras.el:
* lisp/obsolete/tpu-mapper.el:
* lisp/obsolete/url-ns.el:
* lisp/obsolete/vc-arch.el:
* lisp/obsolete/vi.el:
* lisp/obsolete/vip.el:
* lisp/obsolete/ws-mode.el:
* lisp/obsolete/yow.el: Use lexical-binding.

3 years agoMention the problems with newlines in Dired
Lars Ingebrigtsen [Mon, 22 Feb 2021 21:39:27 +0000 (22:39 +0100)]
Mention the problems with newlines in Dired

* doc/emacs/dired.texi (Dired Enter): Mention newlines and what to
do about them.

* lisp/dired.el (dired-listing-switches): Mention newlines
(bug#46705).

3 years agoButtonize function values in help (and add a blank line)
Lars Ingebrigtsen [Mon, 22 Feb 2021 21:34:03 +0000 (22:34 +0100)]
Buttonize function values in help (and add a blank line)

* lisp/help-fns.el (describe-variable): Add a newline for better
readability (bug#46702).  This also has the side effect of
buttonizing `function-references-like-this' in the "Its value is"
part.

* lisp/help-mode.el (help-make-xrefs): Adjust comments.

3 years ago; Fix last change in test-custom-libs.el.
Basil L. Contovounesios [Mon, 22 Feb 2021 20:31:06 +0000 (20:31 +0000)]
; Fix last change in test-custom-libs.el.

3 years agoRevert "* configure.ac: Rename configure nativecomp flags..."
Andrea Corallo [Mon, 22 Feb 2021 20:01:44 +0000 (21:01 +0100)]
Revert "* configure.ac: Rename configure nativecomp flags..."

This reverts commit f6c5f0dd5c8167b6f8f724f42632a4b8808efe7a.

Reason for this is that I overlooked few other suggestions and this
change has to be discussed before a final decision is taken.

3 years ago* Some clean-up in comp.el
Andrea Corallo [Mon, 22 Feb 2021 14:17:07 +0000 (15:17 +0100)]
* Some clean-up in comp.el

* lisp/emacs-lisp/comp.el (comp-func): Remove 'array-h'.
(comp-spill-lap-function, comp-intern-func-in-ctxt)
(comp-spill-lap-function, comp-addr-to-bb-name): Update
accordingly.

3 years ago* configure.ac: Rename configure nativecomp flags into --with-native-comp.
Andrea Corallo [Mon, 22 Feb 2021 13:39:04 +0000 (14:39 +0100)]
* configure.ac: Rename configure nativecomp flags into --with-native-comp.

Configure now with '--with-native-comp'!

3 years ago* lisp/progmodes/antlr-mode.el: Remove XEmacs compatibility
Stefan Monnier [Mon, 22 Feb 2021 17:22:19 +0000 (12:22 -0500)]
* lisp/progmodes/antlr-mode.el: Remove XEmacs compatibility

(cond-emacs-xemacs, cond-emacs-xemacs-macfn, defunx, ignore-errors-x):
Remove those functions and macros.  Replace every use with the result
of their use.
(antlr-default-directory): Remove function, use the `default-directory`
variable instead.
(antlr-read-shell-command): Remove function, use
`read-shell-command` instead.
(antlr-with-displaying-help-buffer): Remove function, by inlining it at
its only call site.
(antlr-end-of-rule, antlr-beginning-of-rule, antlr-end-of-body)
(antlr-beginning-of-body): Mark them as movement commands.

3 years ago* lisp/tab-bar.el: 'C-x t N' bound to tab-new-to supports a negative argument
Juri Linkov [Mon, 22 Feb 2021 17:12:43 +0000 (19:12 +0200)]
* lisp/tab-bar.el: 'C-x t N' bound to tab-new-to supports a negative argument

* lisp/tab-bar.el (tab-bar-new-tab-to): Negative TO-INDEX counts
tabs from the end of the tab bar.
(tab-bar-new-tab): Fix docstring to add reference to
'tab-bar-new-tab-to'.
(tab-prefix-map): Bind "N" to tab-new-to.

3 years ago* lisp/tab-bar.el: 'C-x t M' bound to tab-move-to supports a negative argument
Juri Linkov [Mon, 22 Feb 2021 17:08:16 +0000 (19:08 +0200)]
* lisp/tab-bar.el: 'C-x t M' bound to tab-move-to supports a negative argument

* lisp/tab-bar.el (tab-bar-move-tab-to): Negative TO-INDEX counts
tabs from the end of the tab bar.
(tab-bar-move-tab): Fix docstring to add reference to tab-bar-move-tab-to.
(tab-prefix-map): Bind "M" to tab-move-to.

3 years ago'Mod-9' bound to 'tab-last' now switches to the last tab like in web browsers
Juri Linkov [Mon, 22 Feb 2021 17:03:42 +0000 (19:03 +0200)]
'Mod-9' bound to 'tab-last' now switches to the last tab like in web browsers

* lisp/tab-bar.el (tab-bar--define-keys): Rebind 0 from
tab-bar-switch-to-recent-tab to its alias tab-recent.
Bind 9 to tab-last.
(tab-bar-switch-to-last-tab): New command.
(tab-last): New alias to tab-bar-switch-to-last-tab.
(tab-bar-switch-to-tab, tab-bar-undo-close-tab): Fix docstrings to
avoid mentioning the term "last" for "most recently used" meaning.

3 years ago* lisp/tab-bar.el (tab-bar--undefine-keys): New function from tab-bar-mode.
Juri Linkov [Mon, 22 Feb 2021 16:56:47 +0000 (18:56 +0200)]
* lisp/tab-bar.el (tab-bar--undefine-keys): New function from tab-bar-mode.

3 years agoPrefer `declare` over a `put` of `list-indent-function`.
Stefan Monnier [Mon, 22 Feb 2021 16:54:17 +0000 (11:54 -0500)]
Prefer `declare` over a `put` of `list-indent-function`.

While at it, I enabled lexical-binding in the affected files.

* lisp/cedet/semantic/sb.el: Enable lexical-binding.
(semantic-sb-with-tag-buffer): Use `declare`.

* lisp/cedet/semantic/bovine/el.el: Enable lexical-binding.
(semantic-elisp-setup-form-parser): Use `declare`.

* lisp/emacs-lisp/ert.el:
* lisp/emacs-lisp/ert-x.el: Remove redundant `put`.

* lisp/emulation/cua-rect.el: Enable lexical-binding.
(cua--rectangle-operation, cua--rectangle-aux-replace): Use `declare`.

* lisp/mh-e/mh-acros.el: Enable lexical-binding.
(mh-do-in-gnu-emacs, mh-do-in-xemacs, mh-funcall-if-exists, defun-mh)
(defmacro-mh, with-mh-folder-updating, mh-in-show-buffer)
(mh-do-at-event-location, mh-iterate-on-messages-in-region)
(mh-iterate-on-range): Use `declare`.

* lisp/mh-e/mh-compat.el: Enable lexical-binding.
(mh-flet): Use `declare`.

* lisp/mh-e/mh-e.el: Enable lexical-binding.
(defgroup-mh, defcustom-mh, defface-mh): Use `declare`.

* lisp/net/sieve.el: Enable lexical-binding.  Remove redundant :group args.
(sieve-activate, sieve-remove, sieve-edit-script): Remove unused arg
from the interactive spec.
(sieve-deactivate-all): Remove unused var `name`.
(sieve-change-region): Use `declare`.

* lisp/obsolete/fast-lock.el: Enable lexical-binding.
Remove redundant :group args.  Remove XEmacs compat code.
(save-buffer-state): Remove macro.
(fast-lock-add-properties): Use `with-silent-modifications` instead.

* lisp/obsolete/lazy-lock.el: Enable lexical-binding.
Remove redundant :group args.
(do-while): Use `declare`.
(save-buffer-state): Remove macro.
(lazy-lock-fontify-rest-after-change, lazy-lock-defer-line-after-change)
(lazy-lock-defer-rest-after-change, lazy-lock-after-fontify-buffer)
(lazy-lock-after-unfontify-buffer, lazy-lock-fontify-region):
Use `with-silent-modifications` instead.

* lisp/obsolete/pgg.el: Enable lexical-binding.  Remove XEmacs compat code.
(pgg-save-coding-system, pgg-as-lbt, pgg-process-when-success):
Use `declare`.
(pgg-add-passphrase-to-cache): Remove unused var `new-timer`.
(pgg-decrypt-region): Remove unused var `buf`.

* lisp/org/org-agenda.el (org-let, org-let2): Move from org-macs and
use `declare`.

* lisp/org/org-macs.el (org-let, org-let2): Move these functions that
are inherently harmful to your karma to the only package that uses them.
(org-scroll): Use `pcase` to avoid `eval` and use more readable syntax
for those integers standing for events.

* lisp/progmodes/antlr-mode.el: Enable lexical-binding.
(save-buffer-state-x): Use `declare` and `with-silent-modifications`.

* lisp/international/mule-util.el (with-coding-priority):
* lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once):
* lisp/org/org-element.el (org-element-map):
* test/lisp/emacs-lisp/bytecomp-tests.el (test-byte-comp-compile-and-load):
* test/lisp/emacs-lisp/generator-tests.el (cps-testcase): Use `declare`.

3 years agoFix ANSI coloring problem in large outputs in eshell
Lars Ingebrigtsen [Mon, 22 Feb 2021 15:47:38 +0000 (16:47 +0100)]
Fix ANSI coloring problem in large outputs in eshell

* lisp/ansi-color.el (ansi-color-apply-on-region): Ensure that we
fontize from where we left off, and don't skip to the end of the
region (bug#46332).

3 years agocl-extra: Fix docstring retrieval
Julian Scheid [Mon, 22 Feb 2021 15:06:03 +0000 (16:06 +0100)]
cl-extra: Fix docstring retrieval

* lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix
docstring retrieval (bug#46662).

3 years agoSkip tests that require Internet when there's no Internet
Robert Pluim [Mon, 22 Feb 2021 14:05:48 +0000 (15:05 +0100)]
Skip tests that require Internet when there's no Internet

Bug#46641

The network-stream-tests actually work fine when the local machine has
no IP at all, but cause a crash in the GnuTLS library when there is an
IP configured but the interface is down.

* test/lisp/net/network-stream-tests.el (internet-is-working): New
defvar, checks if we can resolve "google.com".
(connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait)
(open-network-stream-tls-nowait, open-gnutls-stream-new-api-nowait)
(open-gnutls-stream-old-api-nowait): Use it to check for working
Internet access.

* test/src/process-tests.el (internet-is-working): New defvar, checks
if we can resolve "google.com".
(lookup-family-specification, lookup-unicode-domains)
(unibyte-domain-name, lookup-google, non-existent-lookup-failure): Use
it to check for working Internet access.

3 years agoFix hang when running dns-query with no working internet
Robert Pluim [Mon, 22 Feb 2021 13:47:41 +0000 (14:47 +0100)]
Fix hang when running dns-query with no working internet

* lisp/net/dns.el (dns-set-servers): reduce the timeout and retry
count when using 'nslookup' for "localhost".
(dns-query): Check to see if we actually managed to initiate a dns
request before starting a busy-wait for the result.

3 years agoSimplify comint-watch-for-password-prompt
Lars Ingebrigtsen [Mon, 22 Feb 2021 14:47:30 +0000 (15:47 +0100)]
Simplify comint-watch-for-password-prompt

* lisp/comint.el (comint-watch-for-password-prompt): Simplify by
using `string-trim'.

3 years agoFix prompt for the `M-S-x' command
Lars Ingebrigtsen [Mon, 22 Feb 2021 14:32:34 +0000 (15:32 +0100)]
Fix prompt for the `M-S-x' command

* lisp/simple.el (read-extended-command): Further kludge the
hard-coded "M-x" prompt for the new `M-S-x' command.

3 years ago* Don't use paths to indicate filenames
Andrea Corallo [Mon, 22 Feb 2021 13:31:23 +0000 (14:31 +0100)]
* Don't use paths to indicate filenames

* lisp/emacs-lisp/comp.el (native--compile-async)
(native-compile-async): Replace `paths' argname with `files'.

3 years ago* Fix union constraint for mixed pos/neg constraints
Andrea Corallo [Mon, 22 Feb 2021 12:58:30 +0000 (13:58 +0100)]
* Fix union constraint for mixed pos/neg constraints

* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg
type shadowing pos values.
* test/lisp/emacs-lisp/comp-cstr-tests.el
(comp-cstr-typespec-tests-alist): Add testcase.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase.