]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoFix simple-tests--undo*
Yuan Fu [Fri, 12 Mar 2021 17:18:22 +0000 (12:18 -0500)]
Fix simple-tests--undo*

* test/lisp/simple-tests.el (simple-tests--undo-in-region,
simple-tests--undo-equiv-table): Re-enable in batch mode.
Enable 'transient-mark-mode' in temp buffer.

3 years ago* lisp/filesets.el: Address byte-compiler warning
Stefan Monnier [Fri, 12 Mar 2021 16:57:32 +0000 (11:57 -0500)]
* lisp/filesets.el: Address byte-compiler warning

(filesets-run-cmd): Let-bind `filesets--files`.
(filesets-cmd-isearch-getargs): Use it.

3 years ago* lisp/tooltip.el (tooltip): Restore group that was not "redundant".
Glenn Morris [Fri, 12 Mar 2021 16:57:26 +0000 (08:57 -0800)]
* lisp/tooltip.el (tooltip): Restore group that was not "redundant".

3 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 12 Mar 2021 16:47:41 +0000 (08:47 -0800)]
Merge from origin/emacs-27

02a5cfce47 (origin/emacs-27) * lisp/mouse.el: Fix mouse-1-clock-follo...
c881e990e3 * lisp/emacs-lisp/gv.el (edebug-after): Don't run the gett...

3 years ago; Merge from origin/emacs-27
Glenn Morris [Fri, 12 Mar 2021 16:47:41 +0000 (08:47 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

9f09083bcd * doc/misc/tramp.texi (Remote shell setup): Fix reference....

3 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 12 Mar 2021 16:47:41 +0000 (08:47 -0800)]
Merge from origin/emacs-27

fc83f37951 Fix initialization of 'while-no-input-ignore-events'
8f603da44c Update documentation of reading passwords

3 years ago; Merge from origin/emacs-27
Glenn Morris [Fri, 12 Mar 2021 16:47:41 +0000 (08:47 -0800)]
; Merge from origin/emacs-27

The following commits were skipped:

ed2b23ecc1 Improve the 'dired-do-kill-lines' doc string
8c93becb35 (emacs-27) ; Auto-commit of loaddefs files.

3 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 12 Mar 2021 16:47:41 +0000 (08:47 -0800)]
Merge from origin/emacs-27

2c5f215419 Avoid crashes in Mew due to corrupted tool-bar label
7a23915618 * lisp/tooltip.el (tooltip): Doc fix for GTK.
c4bbe02cc4 * lisp/help.el (help-for-help-internal): Doc fix; use impe...

# Conflicts:
# lisp/help.el
# lisp/tooltip.el

3 years agoSkip recent undo tests in batch mode for now
Glenn Morris [Fri, 12 Mar 2021 16:41:03 +0000 (08:41 -0800)]
Skip recent undo tests in batch mode for now

* test/lisp/simple-tests.el (simple-tests--undo-in-region):
Split into separate test.  Skip in batch mode for now.
(simple-tests--undo-equiv-table): Skip in batch mode for now.

3 years ago* lisp/cedet/{*.el,ede/*.el}: Use lexical-binding
Stefan Monnier [Fri, 12 Mar 2021 16:32:42 +0000 (11:32 -0500)]
* lisp/cedet/{*.el,ede/*.el}: Use lexical-binding

Remove a few redundant `:group` arguments as well.

* lisp/cedet/ede.el: Use lexical-binding.
Don't load `ede/files` at compile-time.
(ede-speedbar): Declare function.
(ede-load-project-file): Allow `rootreturn` to be a reference rather
than a symbol.
(ede-initialize-state-current-buffer): Pass `ROOT` as a reference
rather than a symbol to `ede-directory-get-open-project` and
`ede-load-project-file` so we don't need to make it dynamically scoped.
(ede-flush-deleted-projects): Avoid `add-to-list` on a local var.

* lisp/cedet/ede/files.el: Use lexical-binding.
(ede-directory-get-open-project): Allow `rootreturn` to be a reference
rather than a symbol.
(ede-project-root-directory): Remove unused var `root`.
(ede-expand-filename-impl): Remove unused vars `path` and `proj`.

* lisp/cedet/cedet-idutils.el: Use lexical-binding.
(cedet-idutils-search): Remove always-nil variable `scopeflags`.

* lisp/cedet/data-debug.el: Use lexical-binding.
(data-debug-insert-overlay-button, data-debug-insert-overlay-list-button)
(data-debug-insert-buffer-button, data-debug-insert-buffer-list-button)
(data-debug-insert-process-button): Remove always-nil variable `tip`.
(data-debug-insert-ring-button): Remove unused var `ringthing`.
(data-debug-insert-widget-properties): Remove unused var `type`.

* lisp/cedet/semantic.el: Use lexical-binding.
(semantic-mode): Strength-reduce `eval` to `symbol-value`.

* lisp/cedet/ede/custom.el: Use lexical-binding.
(ede-project-sort-targets): Remove unused vars `count`, `current`, and
`order`.

* lisp/cedet/ede/pconf.el: Use lexical-binding.
(ede-proj-configure-synchronize): Remove unused var `add-missing`.

* lisp/cedet/ede/pmake.el (ede-proj-makefile-garbage-patterns):
Simplify via η-reduction.
(ede-proj-makefile-dependencies): Use `seq-some` rather than `eval+or`.

* lisp/cedet/ede/proj-elisp.el: Use lexical-binding.
(project-compile-target): Remove unused var `elc`.
(ede-update-version-in-source): Remove unused var `match`.
(project-compile-target): Declare function `cedet-update-autoloads`
from file we don't have.

* lisp/cedet/cedet-cscope.el: Use lexical-binding.
* lisp/cedet/cedet-files.el: Use lexical-binding.
* lisp/cedet/cedet-global.el: Use lexical-binding.
* lisp/cedet/cedet.el: Use lexical-binding.
* lisp/cedet/ede/auto.el: Use lexical-binding.
* lisp/cedet/ede/autoconf-edit.el: Use lexical-binding.
* lisp/cedet/ede/config.el: Use lexical-binding.
* lisp/cedet/ede/cpp-root.el: Use lexical-binding.
* lisp/cedet/ede/detect.el: Use lexical-binding.
* lisp/cedet/ede/generic.el: Use lexical-binding.
* lisp/cedet/ede/linux.el: Use lexical-binding.
* lisp/cedet/ede/locate.el: Use lexical-binding.
* lisp/cedet/ede/makefile-edit.el: Use lexical-binding.
* lisp/cedet/ede/proj-info.el: Use lexical-binding.
* lisp/cedet/ede/proj-obj.el: Use lexical-binding.
* lisp/cedet/ede/proj-prog.el: Use lexical-binding.
* lisp/cedet/ede/proj-shared.el: Use lexical-binding.
* lisp/cedet/ede/proj.el: Use lexical-binding.
* lisp/cedet/ede/shell.el: Use lexical-binding.
* lisp/cedet/ede/simple.el: Use lexical-binding.
* lisp/cedet/ede/source.el: Use lexical-binding.
* lisp/cedet/ede/speedbar.el: Use lexical-binding.
* lisp/cedet/ede/util.el: Use lexical-binding.

3 years agoTramp sshfs fixes
Michael Albinus [Fri, 12 Mar 2021 15:09:42 +0000 (16:09 +0100)]
Tramp sshfs fixes

* doc/misc/tramp.texi (FUSE setup): Fix typo.

* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-set-file-modes):
Use `tramp-compat-set-file-modes'.

* test/lisp/net/tramp-tests.el
(tramp-test43-asynchronous-requests): Don't run for tramp-sshfs.

3 years ago; Fix typos in doc strings
Mattias Engdegård [Fri, 12 Mar 2021 11:11:17 +0000 (12:11 +0100)]
; Fix typos in doc strings

3 years agoDocument how to create a branch for Git/Mercurial
Robert Pluim [Fri, 12 Mar 2021 10:34:38 +0000 (11:34 +0100)]
Document how to create a branch for Git/Mercurial

* doc/emacs/maintaining.texi (Creating Branches): Add instructions
for git/Mercurial.

3 years ago* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Simplify (doh!)
Stefan Monnier [Fri, 12 Mar 2021 03:31:39 +0000 (22:31 -0500)]
* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Simplify (doh!)

3 years ago* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Tune down the warning
Stefan Monnier [Fri, 12 Mar 2021 03:27:41 +0000 (22:27 -0500)]
* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Tune down the warning

Don't warn for always-nil bindings if the binding is made explicit.
Fixes bug#47080.

3 years ago* lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Use `macroexp-let2`
Stefan Monnier [Fri, 12 Mar 2021 02:47:10 +0000 (21:47 -0500)]
* lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Use `macroexp-let2`

This also silences the recently introduced compilation warning.

3 years agoRename to image--transform-smoothing in image-mode.el
Lars Ingebrigtsen [Fri, 12 Mar 2021 01:37:53 +0000 (02:37 +0100)]
Rename to image--transform-smoothing in image-mode.el

* lisp/image-mode.el (image--transform-smoothing): Rename from
image-transform-smoothing.
(image-transform-properties, image-transform-reset): Adjust usage.

3 years agoAdd a new `image-transform-smoothing' user option
Lars Ingebrigtsen [Fri, 12 Mar 2021 01:37:10 +0000 (02:37 +0100)]
Add a new `image-transform-smoothing' user option

* doc/lispref/display.texi (Image Descriptors): Document it.
* lisp/image.el (image-transform-smoothing): New user option.
(create-image): Use it.
(image--default-smoothing): New function.

3 years agoFix compilation warning in python-wy.el after lexical rewrite
Lars Ingebrigtsen [Fri, 12 Mar 2021 00:20:07 +0000 (01:20 +0100)]
Fix compilation warning in python-wy.el after lexical rewrite

* admin/grammars/python.wy: Require semantic/tag.

In end of data:
cedet/semantic/wisent/python-wy.el:862:1: Warning: the function
    `semantic-tag-name' might not be defined at runtime.

3 years agoMake byte-compiled uses of `define-minor-mode' more compatible
Lars Ingebrigtsen [Thu, 11 Mar 2021 23:41:50 +0000 (00:41 +0100)]
Make byte-compiled uses of `define-minor-mode' more compatible

* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Be more
defensive about accessing minor mode variables.

3 years ago; Fix some typos.
Basil L. Contovounesios [Thu, 11 Mar 2021 22:27:20 +0000 (22:27 +0000)]
; Fix some typos.

3 years agoMap redo records for undo in region to 'undo-in-region
Yuan Fu [Wed, 3 Mar 2021 14:50:15 +0000 (09:50 -0500)]
Map redo records for undo in region to 'undo-in-region

* lisp/simple.el (undo-equiv-table): Add explaination for
undo-in-region, undo to the beginning of undo list and null undo.
(undo): If equiv is 'undo-in-region, empty or t, set pending-undo-list
to t.  If the redo is undo-in-region, map buffer-undo-list to
'undo-in-region instead of t, if it is an identity mapping, map to
'empty.
(undo-make-selective-list): Only continue when ulist is a proper list.
* test/lisp/simple-tests.el (simple-tests--undo): Add test for
undo-only in region.
(simple-tests--sans-leading-nil): New helper function.
(simple-tests--undo-equiv-table): New test for 'undo-equiv-table'.

3 years ago* lisp/mail/: Use lexical-binding
Stefan Monnier [Thu, 11 Mar 2021 19:32:42 +0000 (14:32 -0500)]
* lisp/mail/: Use lexical-binding

Remove some redundant `:group` args as well.

* lisp/mail/supercite.el: Use lexical-binding.
(completer-disable): Declare var.
(sc-set-variable): Don't rely on dynbind to access `help` variable.

* lisp/mail/mail-extr.el: Use lexical-binding.
(mail-extract-address-components): Avoid use of dynamic scoping to
refer to local vars.

* lisp/mail/mailabbrev.el: Use lexical-binding.
(mail-abbrev-make-syntax-table): Rename `_` variable to `syntax-_`.

* lisp/mail/mailheader.el: Use lexical-binding.
(headers): Don't declare as dynbound globally.
(mail-header-set, mail-header-merge): Declare `headers` as dynbound
locally, instead.  Mark those functions as obsolete.
(mail-header-format): Use `alist-get` instead of `mail-header`.

* lisp/mail/binhex.el (binhex-decode-region-external): Remove always-nil
var `firstline`.

* lisp/mail/emacsbug.el: Use lexical-binding.
(report-emacs-bug): Remove always-nil var `message-end-point`.

* lisp/mail/rmail-spam-filter.el: Use lexical-binding.
(bbdb/mail_auto_create_p): Declare variable.

* lisp/mail/rmail.el (rmail-get-new-mail): Remove always-nil var
`delete-files`.

* lisp/mail/rmailout.el: Use lexical-binding.
(rmail-output-read-file-name): Remove unused var `err`.
(rmail-convert-to-babyl-format): Remove unused var `count`.
(rmail-output-as-mbox): Remove unused vars `from` and `date`.

* lisp/mail/rmailsort.el: Use lexical-binding.
(rmail-sort-messages): Remove unused var `msginfo`.

* lisp/mail/rfc822.el: Use lexical-binding.
* lisp/mail/rmailedit.el: Use lexical-binding.
* lisp/mail/mailclient.el: Use lexical-binding.
* lisp/mail/blessmail.el: Use lexical-binding.
* lisp/mail/mail-hist.el: Use lexical-binding.
* lisp/mail/rmailkwd.el: Use lexical-binding.
* lisp/mail/rmailmsc.el: Use lexical-binding.
* lisp/mail/uce.el: Use lexical-binding.
* lisp/mail/unrmail.el: Use lexical-binding.

3 years agoUpdate docstrings of 'delete'/'remove' to interlink each other (bug#47054)
Juri Linkov [Thu, 11 Mar 2021 19:08:09 +0000 (21:08 +0200)]
Update docstrings of 'delete'/'remove' to interlink each other (bug#47054)

* lisp/subr.el (remove): Add xref to 'delete'.
* src/fns.c (Fdelete): Add xref to 'remove'.

3 years ago* lisp/tab-bar.el (tab-bar--current-tab-find): New function.
Juri Linkov [Thu, 11 Mar 2021 19:05:12 +0000 (21:05 +0200)]
* lisp/tab-bar.el (tab-bar--current-tab-find): New function.

(tab-bar-close-other-tabs, tab-bar-close-group-tabs): Use it.
(tab-bar--history-pre-change): Rename from
'tab-bar-history--pre-change' to follow naming convention.
(tab-bar-history-mode): Use renamed 'tab-bar--history-pre-change'.

3 years agoOn MS-Windows, fflush stderr after newline
Paul Eggert [Thu, 11 Mar 2021 18:35:04 +0000 (10:35 -0800)]
On MS-Windows, fflush stderr after newline

Problem reported by Ioannis Kappas (Bug#46388).
* src/sysdep.c (errputc) [WINDOWSNT]: Flush stderr after newline.

3 years ago* lisp/outline.el (outline-font-lock-keywords): Simplify
Stefan Monnier [Thu, 11 Mar 2021 18:30:15 +0000 (13:30 -0500)]
* lisp/outline.el (outline-font-lock-keywords): Simplify

The `laxmatch` part of `font-lock-keywords` is just a boolean.

3 years ago* lisp: Remove yet more always-nil variables
Stefan Monnier [Thu, 11 Mar 2021 18:29:14 +0000 (13:29 -0500)]
* lisp: Remove yet more always-nil variables

* lisp/align.el (align-region):
Remove always-nil variable `group-c`.
* lisp/ido.el (ido-make-prompt): Remove always-nil variable `prefix`.

* lisp/xdg.el (xdg-mime-collect-associations):
Remove always-nil variable `end`.

* lisp/calc/calc-yank.el (calc-edit):
Remove always-nil variable `flag`.

* lisp/calendar/todo-mode.el (todo-edit-item--header):
Remove always-nil variable `dayname`.
(todo-show-categories-table):
Remove always-nil variable `sortkey`.

* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-docstring-engine):
Remove always-nil variable `err`.

* lisp/emacs-lisp/tcover-ses.el: Remove always-nil variable `pause`.

* lisp/eshell/em-ls.el (eshell-ls-files):
Remove always-nil variable `ignore`.

* lisp/net/ange-ftp.el (ange-ftp-copy-file-internal): Remove always-nil
variable `temp2`.

* lisp/progmodes/cperl-mode.el (cperl-tags-hier-init): Remove
always-nil variables `l1`, `l2`, `l3`.
(cperl-tags-treeify): Remove always-nil variable `l1`.

* lisp/progmodes/ebrowse.el (ebrowse-tags-read-member+class-name):
Remove always-nil variable `class`.

* lisp/textmodes/artist.el (artist-draw-ellipse-with-0-height):
Remove always-nil variable `fill-info`.

* lisp/textmodes/flyspell.el (flyspell-emacs-popup):
Remove always-nil variable `show-affix-info`.

* lisp/textmodes/rst.el (rst-Ado):
Remove always-nil variable `char`.

* lisp/vc/vc.el (vc-diff-build-argument-list-internal):
Remove always-nil variable `rev2-default`.

3 years ago* lisp/cedet: Remove always-nil variables
Stefan Monnier [Thu, 11 Mar 2021 18:21:22 +0000 (13:21 -0500)]
* lisp/cedet: Remove always-nil variables

* lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-variables):
Remove always-nil variable `conf-done`.

* lisp/cedet/ede/project-am.el: Use ref instead of dynbound var.
(project-rescan): Pass the ref.
(project-am-expand-subdirlist): Use it.

* lisp/cedet/semantic/idle.el (semantic-idle-work-core-handler):
Fix misuse of the wrong `errbuf `variable.

* lisp/cedet/semantic/scope.el (semantic-analyze-scoped-type-parts):
Remove always-nil variable `extmeth`.

* lisp/cedet/semantic/wisent/comp.el (wisent-context-name)
(wisent-context-bindings): Make them into functions.
(wisent-with-context): Use `dlet`.

3 years ago* lisp/emulation/edt.el (edt-with-position): Don't bind `left`
Stefan Monnier [Thu, 11 Mar 2021 18:15:32 +0000 (13:15 -0500)]
* lisp/emulation/edt.el (edt-with-position): Don't bind `left`

(edt-find-forward, edt-find-next-forward, edt-sentence-forward)
(edt-paragraph-forward): Adjust accordingly.

3 years ago* lisp/vc/pcvs-parse.el: Fix lexical-binding breakage
Stefan Monnier [Thu, 11 Mar 2021 18:14:19 +0000 (13:14 -0500)]
* lisp/vc/pcvs-parse.el: Fix lexical-binding breakage

(cvs-parse-table, cvs-parse-merge, cvs-parse-status, cvs-parse-commit):
Declare vars set by `cvs-match` as dynamic.

3 years ago* lisp/ses.el (ses-set-cell): Use `macroexp-let2`
Stefan Monnier [Thu, 11 Mar 2021 18:11:40 +0000 (13:11 -0500)]
* lisp/ses.el (ses-set-cell): Use `macroexp-let2`

(ses--\,@); Rename from `ses--metaprogramming`.

3 years ago* lisp/obsolete/iswitchb.el: Remove dead code
Stefan Monnier [Thu, 11 Mar 2021 18:10:13 +0000 (13:10 -0500)]
* lisp/obsolete/iswitchb.el: Remove dead code

(most-len, most-is-exact): Delete vars.
(iswitchb-output-completion): Delete function.
(iswitchb-completions): Delete dead code consequence of `most` being nil.

3 years ago* lisp/org/: Delete some always-nil variables
Stefan Monnier [Thu, 11 Mar 2021 18:07:37 +0000 (13:07 -0500)]
* lisp/org/: Delete some always-nil variables

* lisp/org/ob-lilypond.el (org-babel-lilypond-compile-lilyfile):
Remove always-nil variable `arg-2`.

* lisp/org/ol-gnus.el (org-gnus-store-link):
Remove always-nil variables `newsgroup` and `xarchive`.

* lisp/org/ol.el (org-store-link):
Remove always-nil variable `description`.

* lisp/org/org-clock.el (org-clock-special-range):
Remove always-nil variables `m1` and `m`.

* lisp/org/org-crypt.el (org--matcher-tags-todo-only): Declare var.

* lisp/org/org-protocol.el (org-protocol-open-source):
Remove always-nil variable `result`.

* lisp/org/ox-odt.el (org-odt-format-label):
Remove always-nil variable `short-caption`.
(org-odt-link--inline-formula):
Remove always-nil variables `width` and `height`.

* lisp/org/ox.el (org-export--missing-definitions):
Remove always-nil variable `seen`.

3 years ago* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Warn never-initialized vars
Stefan Monnier [Thu, 11 Mar 2021 18:01:59 +0000 (13:01 -0500)]
* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Warn never-initialized vars

(byte-compile-not-lexical-var-p): Remove Emacs<24 compatibility.

3 years agoRe-fix previous Info-fontify-node change
Lars Ingebrigtsen [Thu, 11 Mar 2021 16:50:02 +0000 (17:50 +0100)]
Re-fix previous Info-fontify-node change

* lisp/info.el (Info-fontify-node): Re-fix previous fix here
(bug#34661) by fixing an off-by-one error in the `looking-back'.

3 years ago* lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double
Stefan Monnier [Thu, 11 Mar 2021 16:41:53 +0000 (11:41 -0500)]
* lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double

This functionality was broken by commit 3d5e31eceb9dc1fb62b2b2,
the problem being that we end up considering as distinct the events
`down-double-mouse-1` and `double-down-mouse-1`.

Reported by Eyal Soha <eyalsoha@gmail.com>

(mouse--click-1-maybe-follows-link): Make sure the last element of
the list passed to `event-convert-list` is indeed a "basic" event.

3 years agoAdd remote processes to Tramp sshfs method
Michael Albinus [Thu, 11 Mar 2021 16:16:50 +0000 (17:16 +0100)]
Add remote processes to Tramp sshfs method

* doc/misc/tramp.texi (FUSE setup): Method sshfs supports also
remote processes.

* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property): Move setting of
`tramp-cache-unload-hook' out of function.

* lisp/net/tramp.el (tramp-expand-args): New defun.
(tramp-handle-make-process):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it.

* lisp/net/tramp-sshfs.el (tramp-methods) <sshfs>:
Adapt `tramp-mount-args'.  Add `tramp-login-args',
`tramp-direct-async', `tramp-remote-shell',
`tramp-remote-shell-login' and `tramp-remote-shell-args'.
(tramp-connection-properties): Set "direct-async-process" fir sshfs.
(tramp-sshfs-file-name-handler-alist): Add `exec-path',
`make-process', `process-file', `set-file-modes', `shell-command',
`start-file-process', `tramp-get-remote-gid',
`tramp-get-remote-uid' and `tramp-set-file-uid-gid'.
(tramp-sshfs-handle-exec-path, tramp-sshfs-handle-process-file)
(tramp-sshfs-handle-set-file-modes): New defuns.

* test/lisp/net/tramp-tests.el (tramp-test20-file-modes)
(tramp-test28-process-file, tramp-test29-start-file-process)
(tramp-test30-make-process, tramp-test32-shell-command)
(tramp-test32-shell-command-dont-erase-buffer)
(tramp-test34-explicit-shell-file-name, tramp-test35-exec-path)
(tramp-test43-asynchronous-requests): Run also for tramp-sshfs.
(tramp--test-shell-file-name): New defun.
(tramp-test28-process-file)
(tramp-test34-explicit-shell-file-name)
(tramp-test43-asynchronous-requests): Use it.
(tramp-test40-special-characters-with-stat)
(tramp-test40-special-characters-with-perl)
(tramp-test40-special-characters-with-ls)
(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
(tramp-test41-utf8-with-ls): Remove superfluous skip.

3 years agoMake tags tables from Texinfo sources
Petteri Hintsanen [Sun, 7 Mar 2021 22:25:53 +0000 (00:25 +0200)]
Make tags tables from Texinfo sources

* doc/misc/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* doc/lispref/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* doc/lispintro/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* doc/emacs/Makefile.in (ETAGS, texifiles): New variables.
(TAGS, tags, FORCE, ${ETAGS}): New targets.
(bootstrap-clean maintainer-clean): Delete TAGS.
* Makefile.in (TAGS tags): Make tags in doc/emacs, doc/lispintro,
doc/lispref and doc/misc.

3 years ago* src/image.c (image_set_transform): Don't use ! for Lisp object.
Philipp Stephani [Thu, 11 Mar 2021 10:05:32 +0000 (11:05 +0100)]
* src/image.c (image_set_transform): Don't use ! for Lisp object.

3 years ago* src/image.c (FRAME_SCALE_FACTOR): Define only when needed.
Philipp Stephani [Thu, 11 Mar 2021 10:04:57 +0000 (11:04 +0100)]
* src/image.c (FRAME_SCALE_FACTOR): Define only when needed.

3 years agoFix wording of a recently added documentation
Eli Zaretskii [Thu, 11 Mar 2021 06:37:29 +0000 (08:37 +0200)]
Fix wording of a recently added documentation

* etc/NEWS:
* doc/lispref/display.texi (Image Descriptors): Fix wording of the
description of :transform-smoothing.

3 years ago* lisp/gnus/nnmh.el (nnmh-newsgroup-articles): Declare var
Stefan Monnier [Thu, 11 Mar 2021 06:14:30 +0000 (01:14 -0500)]
* lisp/gnus/nnmh.el (nnmh-newsgroup-articles): Declare var

Reported by Barry Fishman <barry@ecubist.org>.

Along the way, I checked other variables which are similarly let-bound
to nil and then read with any intervening assignment, which found
another similar case of missing `defvar`s plus a bit of dead code.

* lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal):
Remove constant nil var `beg`.
* lisp/gnus/gnus-search.el (gnus-search-query-parse-kv):
Remove constant nil var `return`.
* lisp/gnus/gnus-start.el (gnus-ask-server-for-new-groups):
Remove constant nil var `group`.
(gnus-killed-assoc, gnus-marked-assoc, gnus-newsrc-assoc): Declare vars.
* lisp/gnus/gnus-sum.el (gnus-compute-read-articles):
Remove constant nil var `first`.
* lisp/gnus/nnbabyl.el (nnbabyl-request-accept-article):
Remove constant nil var `beg`.
* lisp/gnus/nnfolder.el (nnfolder-possibly-change-group):
Remove constant nil var `inf`.
* lisp/gnus/nnrss.el (nnrss-request-article):
Remove constant nil var `err`.

3 years ago; Fix US spelling in last change.
Basil L. Contovounesios [Wed, 10 Mar 2021 23:28:28 +0000 (23:28 +0000)]
; Fix US spelling in last change.

3 years agoEnable selectable image smoothing (bug#38394)
Alan Third [Tue, 9 Mar 2021 18:05:10 +0000 (18:05 +0000)]
Enable selectable image smoothing (bug#38394)

* lisp/doc-view.el (doc-view-insert-image): Always use smoothing in
docview.
* lisp/image-mode.el (image-transform-smoothing): New variable.
(image-mode-map): Add smoothing binding.
(image-transform-properties): Apply smoothing when requested.
(image-transform-set-smoothing): New function.
(image-transform-reset): Reset smoothing.
* src/image.c (image_set_transform): Use new :transform-smoothing
attribute.
(syms_of_image): Add :transform-smoothing attribute.
* doc/lispref/display.texi (Image Descriptors): Document new
:transform-smoothing property.

3 years ago* lisp/tab-bar.el (tab-bar-close-group-tabs): New command.
Juri Linkov [Wed, 10 Mar 2021 18:09:23 +0000 (20:09 +0200)]
* lisp/tab-bar.el (tab-bar-close-group-tabs): New command.

(tab-close-group): New alias.
(tab-bar-close-other-tabs): Rewrite to fix old bug where regardless of
the returned value from tab-bar-tab-prevent-close-functions,
only one tab was retained.

3 years ago* lisp/tab-bar.el: 'C-x t G' (tab-group) assigns a group name to the tab.
Juri Linkov [Wed, 10 Mar 2021 17:57:48 +0000 (19:57 +0200)]
* lisp/tab-bar.el: 'C-x t G' (tab-group) assigns a group name to the tab.

* lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab): Add tab group if any.
(tab-bar-change-tab-group): New command.
(display-buffer-in-new-tab): Handle tab-group alist entry.
(tab-group): New alias.
(tab-prefix-map): Bind "G" to 'tab-group'.

3 years agoHighlight the entire summary line for selected articles
Kévin Le Gouguec [Wed, 10 Mar 2021 15:15:01 +0000 (16:15 +0100)]
Highlight the entire summary line for selected articles

* lisp/gnus/gnus-sum.el (gnus-highlight-selected-summary):
Highlight the entire summary line (bug#47026).

3 years agoRemove Emacs 19 workaround from cperl-mode.el
Stefan Kangas [Wed, 10 Mar 2021 14:52:07 +0000 (15:52 +0100)]
Remove Emacs 19 workaround from cperl-mode.el

* lisp/progmodes/cperl-mode.el (cperl-make-indent): Remove Emacs 19
workaround.

3 years agoFix byte-compilation warning in benchmark-run
Lars Ingebrigtsen [Wed, 10 Mar 2021 14:52:36 +0000 (15:52 +0100)]
Fix byte-compilation warning in benchmark-run

* lisp/emacs-lisp/benchmark.el (benchmark-run): Avoid a
byte-compilation warning about an empty let body (bug#46819).

3 years ago* lisp/files.el (cd): Improve error message.
Stefan Kangas [Wed, 10 Mar 2021 14:10:24 +0000 (15:10 +0100)]
* lisp/files.el (cd): Improve error message.

3 years agoMark string predicates side-effect-free
Mattias Engdegård [Wed, 10 Mar 2021 13:08:41 +0000 (14:08 +0100)]
Mark string predicates side-effect-free

* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add string>,
string-greaterp, string-empty-p, string-prefix-p, string-suffix-p
and string-blank-p, all recently marked pure.

3 years agoRemove several references to Emacs 22 and earlier
Stefan Kangas [Wed, 10 Mar 2021 04:45:47 +0000 (05:45 +0100)]
Remove several references to Emacs 22 and earlier

* admin/charsets/mapfiles/README:
* doc/emacs/custom.texi (Saving Customizations):
* doc/lispintro/emacs-lisp-intro.texi (Simple Extension):
* doc/misc/efaq-w32.texi (Location of init file):
* doc/misc/gnus-faq.texi (FAQ 1-3):
* doc/misc/gnus.texi (Top, Various, Image Enhancements):
* lisp/erc/erc-menu.el (menu):
* lisp/progmodes/cfengine.el (cfengine-fill-paragraph):
Remove some references to Emacs 22 and earlier.

* doc/lispref/buffers.texi:
* doc/lispref/eval.texi:
* doc/lispref/files.texi:
* doc/lispref/keymaps.texi:
* doc/lispref/loading.texi:
* doc/lispref/minibuf.texi:
* doc/lispref/positions.texi:
* doc/lispref/variables.texi: Remove comments about "Emacs 19
specific" features.

3 years agoFix duplicate ":" in ert-find-test-other-window prompt
Stefan Kangas [Wed, 10 Mar 2021 03:34:53 +0000 (04:34 +0100)]
Fix duplicate ":" in ert-find-test-other-window prompt

* lisp/emacs-lisp/ert.el (ert-find-test-other-window): Don't insert
duplicate ":" in prompt.

3 years agoDo mode tagging in ert.el
Stefan Kangas [Wed, 10 Mar 2021 03:34:01 +0000 (04:34 +0100)]
Do mode tagging in ert.el

3 years agoUse proper command substitutions in some docstrings
Stefan Kangas [Mon, 8 Mar 2021 11:50:22 +0000 (12:50 +0100)]
Use proper command substitutions in some docstrings

* lisp/arc-mode.el (archive-mode):
* lisp/ibuffer.el (ibuffer):
* lisp/tar-mode.el (tar-mode):
* lisp/textmodes/table.el (table-insert): Use substitute-command-keys
instead of hardcoded keys in some docstrings.

3 years ago* lisp/userlock.el: Use lexical-binding.
Stefan Kangas [Wed, 10 Mar 2021 03:07:48 +0000 (04:07 +0100)]
* lisp/userlock.el: Use lexical-binding.

3 years agoUse 'help-key-binding' face in userlock.el
Stefan Kangas [Wed, 10 Mar 2021 02:29:50 +0000 (03:29 +0100)]
Use 'help-key-binding' face in userlock.el

* lisp/userlock.el (userlock--fontify-key): New function.
(ask-user-about-lock, ask-user-about-lock-help,
(ask-user-about-supersession-threat)
(ask-user-about-supersession-help): Add face 'help-key-binding' to
displayed keys.

3 years ago(project-switch-commands): Remove the ###autoload instruction
Dmitry Gutov [Wed, 10 Mar 2021 01:08:29 +0000 (03:08 +0200)]
(project-switch-commands): Remove the ###autoload instruction

* lisp/progmodes/project.el (project-switch-commands):
Remove the ###autoload instruction.  It's unnecessary and can
cause surprises in some circumstances (bug#46986).

3 years ago* lisp/help.el (help--describe-translation): Fix typo.
Stefan Kangas [Wed, 10 Mar 2021 00:20:58 +0000 (01:20 +0100)]
* lisp/help.el (help--describe-translation): Fix typo.

3 years ago* lisp/mail/rmailmm.el: Use `cl-defstruct` and `lexical-binding`
Stefan Monnier [Tue, 9 Mar 2021 21:17:31 +0000 (16:17 -0500)]
* lisp/mail/rmailmm.el: Use `cl-defstruct` and `lexical-binding`

Remove redundant `:group` args.
(rmail-mime-entity): Make it a `cl-defstruct`.
(rmail-mime-entity-set-truncated): Mark as obsolete.
(rmail-mime-display): New `cl-defstruct`.
(rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode)
(rmail-mime-toggle-hidden, rmail-mime-update-tagline)
(rmail-mime-text-handler, rmail-mime-bulk-handler)
(rmail-mime-process-multipart, rmail-mime-handle, rmail-mime-process)
(rmail-mime-parse, rmail-mime-insert, rmail-show-mime): Adjust accordingly.
(rmail-mime-toggle-raw): Apply de Morgan.
(rmail-mime-insert-text): Remove unused var `tagline`.
(rmail-mime-insert-image): Remove unused var `content-type`.
(shr-inhibit-images, shr-width): Declare vars.
(rmail-mime-insert-multipart): Remove unused vars `tagline` and `body`.
(rmail-mime-insert): Remove unused var `tagline`.
(rmail-search-mime-message): Remove unused var `body-end`.

3 years agoPort alternate signal stack to upcoming glibc 2.34
Paul Eggert [Tue, 9 Mar 2021 19:22:59 +0000 (11:22 -0800)]
Port alternate signal stack to upcoming glibc 2.34

* src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align
it to max_align_t.  This copies from Gnulib’s c-stack.c, and works
around a portability bug in draft glibc 2.34, which no longer
defines SIGSTKSZ when _GNU_SOURCE is defined.

3 years ago* src/buffer.c (Fbuffer_swap_text): Swap `mark-active` as well
Stefan Monnier [Tue, 9 Mar 2021 18:04:14 +0000 (13:04 -0500)]
* src/buffer.c (Fbuffer_swap_text): Swap `mark-active` as well

This avoids undesirable situations where `mark-active` is set even
though the `mark` isn't.

3 years ago* lisp/tab-bar.el (tab-bar-select-tab): Set window-state-put WINDOW arg to nil
Juri Linkov [Tue, 9 Mar 2021 17:27:31 +0000 (19:27 +0200)]
* lisp/tab-bar.el (tab-bar-select-tab): Set window-state-put WINDOW arg to nil

WINDOW arg nil will always create a new window regardless of the value
returned by 'frame-root-window' that is nondeterministic - it returns
an internal window when there are more than 1 window on the frame/tab,
otherwise it returns a live window that was reused between different tabs
(bug#46904)
(tab-prefix-map): Bind "u" to 'tab-undo'.

3 years ago* lisp/emacs-lisp/cconv.el: Don't confuse a string for a docstring
Stefan Monnier [Tue, 9 Mar 2021 16:04:03 +0000 (11:04 -0500)]
* lisp/emacs-lisp/cconv.el: Don't confuse a string for a docstring

(cconv--convert-funcbody): Check there's something after a docstring.

* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-string-vs-docstring):
New corresponding test.

3 years agosmerge-vc-next-conflict: Move to conflict markers more reliably
Konstantin Kharlamov [Tue, 9 Mar 2021 02:47:49 +0000 (04:47 +0200)]
smerge-vc-next-conflict: Move to conflict markers more reliably

* lisp/vc/smerge-mode.el (smerge-vc-next-conflict): Search for a
conflict marker if call to (vc-find-conflicted-file) haven't resulted in
a jump to one.  And remove `buffer` variable that becomes unused.

3 years agoStrip text properties from the default string
Dmitry Gutov [Tue, 9 Mar 2021 02:06:01 +0000 (04:06 +0200)]
Strip text properties from the default string

* lisp/progmodes/project.el (project--read-regexp):
Strip text properties from the default string (bug#47012).

3 years agoMake semantic/idle not move point after last change
Lars Ingebrigtsen [Mon, 8 Mar 2021 19:37:31 +0000 (20:37 +0100)]
Make semantic/idle not move point after last change

* lisp/cedet/semantic/idle.el (semantic--eldoc-info): Don't move
point (bug#46999).

3 years ago; NEWS fix
Glenn Morris [Mon, 8 Mar 2021 17:50:43 +0000 (09:50 -0800)]
; NEWS fix

3 years ago* lisp/progmodes/xref.el (xref-after-update-hook): New defcustom (bug#46992).
Juri Linkov [Mon, 8 Mar 2021 17:48:28 +0000 (19:48 +0200)]
* lisp/progmodes/xref.el (xref-after-update-hook): New defcustom (bug#46992).

(xref--insert-xrefs): Use run-hooks on it.

3 years ago* lisp/faces.el (help-argument-name): Use grey background, not foreground
Juri Linkov [Mon, 8 Mar 2021 17:42:44 +0000 (19:42 +0200)]
* lisp/faces.el (help-argument-name): Use grey background, not foreground

https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00402.html

3 years ago* lisp/net/*.el: Use lexical-binding
Stefan Monnier [Mon, 8 Mar 2021 15:11:22 +0000 (10:11 -0500)]
* lisp/net/*.el: Use lexical-binding

Also remove some redundant `:group` arguments.

* lisp/net/eudc-export.el: Use lexical-binding.
(eudc-create-bbdb-record): Use `cl-progv` and `apply` to avoid `eval`.

* lisp/net/eudc-hotlist.el: Use lexical-binding.

* lisp/net/eudc.el (eudc-print-attribute-value): Use `funcall` to avoid
`eval`.

* lisp/net/eudcb-bbdb.el: Use lexical-binding.
(eudc-bbdb-filter-non-matching-record): Use `funcall` to avoid `eval`.
Move `bbdb-val` binding to avoid `setq`.
Use `seq-some` instead of `eval+or`.
(eudc-bbdb-format-record-as-result): Use `dolist` and `pcase`.
Use `funcall` to avoid `eval`.
(eudc-bbdb-query-internal): Simplify a bit.

* lisp/net/eudcb-ldap.el: Use lexical-binding.
(eudc-ldap-get-host-parameter): Use `defalias` to avoid `eval-and-compile`.

* lisp/net/telnet.el: Use lexical-binding.
* lisp/net/quickurl.el: Use lexical-binding.
* lisp/net/newst-ticker.el: Use lexical-binding.
* lisp/net/newst-reader.el: Use lexical-binding.
* lisp/net/goto-addr.el: Use lexical-binding.
* lisp/net/gnutls.el: Use lexical-binding.
* lisp/net/eudcb-macos-contacts.el: Use lexical-binding.
* lisp/net/eudcb-mab.el: Use lexical-binding.

* lisp/net/net-utils.el: Use lexical-binding.
(finger): Remove unused var `found`.

* lisp/net/network-stream.el (open-protocol-stream): Remove redundant
`defalias`.

* lisp/net/newst-plainview.el: Use lexical-binding.
(newsticker-hide-entry, newsticker-show-entry): Remove unused var
`is-invisible`.
(w3m-fill-column, w3-maximum-line-length): Declare vars.

* lisp/net/tramp.el (tramp-compute-multi-hops):
* lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory):
* lisp/net/tramp-cmds.el (tramp-default-rename-file):
* lisp/net/webjump.el (webjump): Don't forget lexical-binding for `eval`.

3 years agoFix handling of `tramp-cache-{g,s}et-count-*'
Michael Albinus [Mon, 8 Mar 2021 14:44:38 +0000 (15:44 +0100)]
Fix handling of `tramp-cache-{g,s}et-count-*'

* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property): Fix handling of `tramp-cache-{g,s}et-count-*'.

3 years agoFix structure of condition object in nested 'ert-fail'.
Philipp Stephani [Mon, 8 Mar 2021 13:30:24 +0000 (14:30 +0100)]
Fix structure of condition object in nested 'ert-fail'.

See the test 'ert-test-fail' for the expected structure.

* lisp/emacs-lisp/ert.el (ert--should-signal-hook): Condition list
should be (SYMBOL . DATA), not (SYMBOL DATA).
* test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Fix
unit test.

3 years agoUse `pop-to-buffer-same-window' in `project-eshell'
Simen Heggestøyl [Mon, 8 Mar 2021 11:38:41 +0000 (12:38 +0100)]
Use `pop-to-buffer-same-window' in `project-eshell'

* lisp/progmodes/project.el (project-eshell): Use
`pop-to-buffer-same-window' instead of `pop-to-buffer' to match the
behavior of `M-x eshell'.

3 years agoMake checkdoc--next-docstring use the doc-string-elt property
Mauro Aranda [Mon, 8 Mar 2021 11:11:38 +0000 (08:11 -0300)]
Make checkdoc--next-docstring use the doc-string-elt property

This follows from a fix for Bug#46918 and a discussion to use
doc-string-elt:
https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00232.html

* lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Check for a
non-nil doc-string-elt property, instead of hard-coding the
supported symbols.  Use that property to position point at the
doc-string.

3 years agoAdd Tramp sshfs method
Michael Albinus [Mon, 8 Mar 2021 11:05:29 +0000 (12:05 +0100)]
Add Tramp sshfs method

* doc/misc/tramp.texi (Top, Configuration): Insert sections 'FUSE-based
methods' and 'FUSE setup' in menu.
(Quick Start Guide): Fix @anchors.  Add doas.  Extend section
'Using @command{rclone}' to 'Using @acronym{FUSE}-based methods'.
(External methods): Remove rclone paragraph.
(FUSE-based methods, FUSE setup): New nodes.
(Predefined connection information): Mention "mount-point".

* etc/NEWS: Mention Tramp sshfs method.
Fix typos and other oddities.

* lisp/net/tramp-fuse.el: New file.

* lisp/net/tramp-rclone.el (tramp-fuse): Require.
(tramp-rclone-file-name-handler-alist): Replace `tramp-rclone-handle-*'
by `tramp-fuse-handle-*' where appropriate.
(tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file)
(tramp-rclone-handle-directory-files)
(tramp-rclone-handle-file-attributes)
(tramp-rclone-handle-file-executable-p)
(tramp-rclone-handle-file-name-all-completions)
(tramp-rclone-handle-file-readable-p)
(tramp-rclone-handle-insert-directory)
(tramp-rclone-handle-insert-file-contents)
(tramp-rclone-handle-make-directory, tramp-rclone-mount-point)
(tramp-rclone-mounted-p, tramp-rclone-local-file-name):
Remove.  Functionality moved to tramp-fuse.el.
(tramp-rclone-remote-file-name)
(tramp-rclone-maybe-open-connection): Use `tramp-fuse-*' functions.

* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Simplify check.

* lisp/net/tramp-sshfs.el: New file.

* lisp/net/tramp.el: Remove TODO item.

* test/lisp/net/tramp-tests.el (tramp--test-sshfs-p): New defun.
(tramp-test14-delete-directory): Use it.

3 years agoDelete two more items obsoleted in Emacs 23.1
Stefan Kangas [Mon, 8 Mar 2021 04:25:18 +0000 (05:25 +0100)]
Delete two more items obsoleted in Emacs 23.1

* lisp/calendar/icalendar.el
(icalendar--datetime-to-noneuropean-date): Remove alias obsolete since
* lisp/obsolete/nnir.el (nnir-swish-e-index-file):
Delete items obsolete since Emacs 23.1.

; * etc/NEWS: List removed items.

3 years agoNormalize version specifiers for make-obsolete and friends
Stefan Kangas [Mon, 8 Mar 2021 04:09:27 +0000 (05:09 +0100)]
Normalize version specifiers for make-obsolete and friends

* lisp/auth-source.el (auth-source-forget-user-or-password)
(auth-source-user-or-password, auth-source-hide-passwords):
* lisp/calendar/icalendar.el (icalendar--datetime-to-noneuropean-date):
* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym-function-arglist):
* lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
* lisp/obsolete/nnir.el (nnir-swish-e-index-file):
* lisp/obsolete/starttls.el (starttls-any-program-available):
Normalize version specifiers for make-obsolete and friends.

3 years ago* lisp/help-mode.el (help-mode-tool-bar-map): Fix tooltips.
Stefan Kangas [Mon, 8 Mar 2021 03:23:11 +0000 (04:23 +0100)]
* lisp/help-mode.el (help-mode-tool-bar-map): Fix tooltips.

3 years agoAdd new face 'help-key-binding' for keybindings in help
Stefan Kangas [Mon, 8 Mar 2021 02:29:42 +0000 (03:29 +0100)]
Add new face 'help-key-binding' for keybindings in help

* lisp/faces.el (help-key-binding): New face.
* lisp/help.el
(help-for-help): Rename from 'help-for-help-internal'.  Use
'substitute-command-keys' syntax.
(help): Make into alias for 'help-for-help'.
(help-for-help-internal): Make into obsolete alias for
'help-for-help'.
(help--key-description-fontified): New function to add the
'help-key-binding' face.
(help-key-description, substitute-command-keys)
(describe-map-tree, help--describe-command)
(help--describe-translation, describe-map):
* lisp/help-fns.el (help-fns--key-bindings, describe-mode):
Use above new function.
* lisp/isearch.el (isearch-help-for-help-internal): Use
`substitute-command-keys' syntax.
* lisp/help-macro.el (make-help-screen): Use
'substitute-command-keys' and 'help--key-description-fontified'.
Simplify.
* src/keymap.c (describe_key_maybe_fontify): New function to add
the 'help-key-binding' face to keybindings.
(describe_vector): Use above new keybinding.
(syms_of_keymap) <Qfont_lock_face, Qhelp_key_binding>: New
DEFSYMs.
(fontify_key_properties): New static variable.
* lisp/tooltip.el (tooltip-show): Avoid overriding faces in
specified tooltip text.
* test/lisp/help-tests.el (with-substitute-command-keys-test):
Don't test for text properties.
(help-tests-substitute-command-keys/add-key-face)
(help-tests-substitute-command-keys/add-key-face-listing):
New tests.

3 years agoSpeed up xref rendering for matches on very long lines
Dmitry Gutov [Mon, 8 Mar 2021 02:25:15 +0000 (04:25 +0200)]
Speed up xref rendering for matches on very long lines

* lisp/progmodes/xref.el (xref--insert-xrefs): Cut up the current
line into pieces here for multiple matches's summaries, so that
xref--insert-xrefs can do less work (bug#46859).
(xref--insert-xrefs): Do less work.
(xref--outdated-p):
Update accordingly to how the summary creation logic changed.
(xref--buf-pairs-iterator): Update to the new calling convention.
(xref-location-column): Effectively rename back to
xref-file-location-column since the generic version is now unused.

* test/lisp/progmodes/xref-tests.el
(xref-matches-in-directory-finds-two-matches-on-the-same-line)
(xref-matches-in-directory-finds-an-empty-line-regexp-match):
Adjust to the xref-location-column change.
(xref-matches-in-files-trims-summary-for-matches-on-same-line):
New test.

* test/lisp/progmodes/xref-resources/file1.txt:
Change contents slightly to test the new xref--outdated-p code.

3 years agoXref test improvements
Dmitry Gutov [Mon, 8 Mar 2021 00:44:24 +0000 (02:44 +0200)]
Xref test improvements

* test/lisp/progmodes/xref-tests.el
(xref--xref-file-name-display-is-abs):
Fix not to rely on the default value.
(xref-matches-in-files-includes-matches-from-all-the-files):
New test.

3 years ago* lisp/net/tramp-cache.el: Fix misuse of bound-and-true-p
Stefan Monnier [Mon, 8 Mar 2021 00:07:27 +0000 (19:07 -0500)]
* lisp/net/tramp-cache.el: Fix misuse of bound-and-true-p

(tramp-get-file-property, tramp-set-file-property): Check the var's
value rather than its name.

3 years ago* lisp/net/ange-ftp.el: Fix problem pointed out by compiler warning
Stefan Monnier [Mon, 8 Mar 2021 00:06:45 +0000 (19:06 -0500)]
* lisp/net/ange-ftp.el: Fix problem pointed out by compiler warning

(ange-ftp-fix-name-for-bs2000): Remove redundant `boundp` test.

3 years ago* lisp/erc/erc.el: Fix problem pointed out by compiler warning
Stefan Monnier [Mon, 8 Mar 2021 00:06:06 +0000 (19:06 -0500)]
* lisp/erc/erc.el: Fix problem pointed out by compiler warning

[ Also use `read-string` instead of `read-from-minibuffer`.  ]

(erc-part-from-channel): Comment out improbable
reference to the formal argument from within the interactive spec.

3 years ago* lisp/cedet/semantic/fw.el (semantic-find-file-noselect): Fix warning
Stefan Monnier [Mon, 8 Mar 2021 00:05:02 +0000 (19:05 -0500)]
* lisp/cedet/semantic/fw.el (semantic-find-file-noselect): Fix warning

Remove ugly hack trying to warn the user about some unknown problem,
and which stopped working in 2013 when files.el started using
lexical-binding.

3 years ago* lisp/skeleton.el (skeleton-read): Silence compiler warning
Stefan Monnier [Mon, 8 Mar 2021 00:04:18 +0000 (19:04 -0500)]
* lisp/skeleton.el (skeleton-read): Silence compiler warning

3 years ago* lisp/cedet/semantic/bovine.el: Fix recent regression
Stefan Monnier [Mon, 8 Mar 2021 00:03:36 +0000 (19:03 -0500)]
* lisp/cedet/semantic/bovine.el: Fix recent regression

The conversion to `lexical-binding` introduced a regression because
`bovine/c.el` relied on inspecting the local variable `lse` in one of
its callers.

(semantic-bovinate-stream): Bind `lse` dynamically, because of
`semantic-parse-region-c-mode`.
(semantic-bovinate-nonterminal-check-map): Rename from
`semantic-bovinate-nonterminal-check-obarray` to hold some other kind
of table.
(semantic-bovinate-nonterminal-check): Use a hash-table instead of an obarray.

* lisp/cedet/semantic/bovine/c.el (semantic-parse-region-c-mode):
Declare use of `lse` via dynamic scoping.

* test/lisp/cedet/semantic-utest-c.el
(semantic-test-c-preprocessor-simulation): Re-enable test.

3 years ago* lisp/emacs-lisp/bytecomp.el: Warn about unprefixed vars in `boundp`
Stefan Monnier [Mon, 8 Mar 2021 00:00:47 +0000 (19:00 -0500)]
* lisp/emacs-lisp/bytecomp.el: Warn about unprefixed vars in `boundp`

(byte-compile--check-prefixed-var): New fun,
extracted from `byte-compile--declare-var`.
(byte-compile--declare-var): Use it.
(byte-compile-maybe-guarded): Use it as well.

3 years agoRemove outline-cycle-minor-mode and outline-cycle-highlight-minor-mode
Juri Linkov [Sun, 7 Mar 2021 18:52:39 +0000 (20:52 +0200)]
Remove outline-cycle-minor-mode and outline-cycle-highlight-minor-mode

* lisp/outline.el (outline-font-lock-keywords): Use OVERRIDE or
LAXMATCH depending on outline-minor-mode-highlight in outline-minor-mode.
(outline-minor-mode-cycle, outline-minor-mode-highlight): Promote
defvar to defcustom.
(outline-minor-mode-highlight-buffer): Don't override existing faces.
(outline-cycle-minor-mode, outline-cycle-highlight-minor-mode):
Remove minor modes.

* etc/compilation.txt:
* etc/grep.txt: Enable outline-minor-mode-cycle and
outline-minor-mode-highlight with outline-minor-mode.
https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00144.html

3 years ago* test/infra/Dockerfile.emba: Install texinfo.
Michael Albinus [Sun, 7 Mar 2021 17:55:44 +0000 (18:55 +0100)]
* test/infra/Dockerfile.emba: Install texinfo.

3 years agoTag a semantic test that seems to hang recently
Glenn Morris [Sun, 7 Mar 2021 17:27:27 +0000 (09:27 -0800)]
Tag a semantic test that seems to hang recently

* test/lisp/cedet/semantic-utest-c.el
(semantic-test-c-preprocessor-simulation): Mark as unstable.

3 years agoFix string-replace error data
Basil L. Contovounesios [Sun, 7 Mar 2021 14:55:15 +0000 (14:55 +0000)]
Fix string-replace error data

* lisp/subr.el (string-replace): Signal an error with data that is a
list, and whose contents are consistent with other uses of
wrong-length-argument.
* test/lisp/subr-tests.el (string-replace): Test for this.
(subr-test-define-prefix-command): Pacify byte-compiler warnings.

3 years ago; * test/infra/Dockerfile.emba: Fix last change.
Michael Albinus [Sun, 7 Mar 2021 10:43:27 +0000 (11:43 +0100)]
; * test/infra/Dockerfile.emba: Fix last change.

3 years ago* test/infra/Dockerfile.emba: Touch "info/emacs".
Michael Albinus [Sun, 7 Mar 2021 10:36:38 +0000 (11:36 +0100)]
* test/infra/Dockerfile.emba: Touch "info/emacs".

3 years agoAdapt Dockerfile.emba according to recent configure changes
Michael Albinus [Sun, 7 Mar 2021 09:44:12 +0000 (10:44 +0100)]
Adapt Dockerfile.emba according to recent configure changes

* test/infra/Dockerfile.emba: Remove "--without-makeinfo" from
configure.  Add "lisp" to make.

3 years ago* lisp/cedet/semantic/wisent: Use lexical-binding
Stefan Monnier [Sun, 7 Mar 2021 06:58:16 +0000 (01:58 -0500)]
* lisp/cedet/semantic/wisent: Use lexical-binding

* lisp/cedet/semantic/wisent/comp.el: lexical-binding.
(wisent-defcontext): Make sure the vars are also dynbound in the files
that `require` us.
(wisent-state-actions, wisent-automaton-lisp-form): Use `obarray-make`.
(wisent--compile-grammar): Rename from `wisent-compile-grammar`.
(wisent-compile-grammar): Redefine as an obsolete function.
(wisent-automaton-lisp-form): Avoid variable `state`.

* lisp/cedet/semantic/grammar.el: Use lexical-binding.
(semantic-grammar-require-form): New var.
(semantic-grammar-header): Use it to provide new element `require-form`.
(semantic-grammar-header-template): Use it.

* lisp/cedet/semantic/wisent.el (wisent-compiled-grammar): New macro.

* lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-parsetable-builder):
Use it in the generated code instead of the `wisent-compile-grammar` function.
(wisent-grammar-mode): Set `semantic-grammar-require-form` so
the generated ELisp files require `semantic/wisent` rather than
`semantic/bovine`.

* lisp/cedet/semantic/wisent/wisent.el: Use lexical-binding.
* lisp/cedet/semantic/wisent/java-tags.el: Use lexical-binding.
* lisp/cedet/semantic/wisent/python.el: Use lexical-binding.
* lisp/cedet/semantic/wisent/javascript.el: Use lexical-binding.
(semantic-ctxt-current-symbol): Remove unused var `symlist`.

* admin/grammars/python.wy (wisent-python-EXPANDING-block):
Declare dynbound var.

* lisp/cedet/semantic/grammar-wy.el: Regenerate.

3 years agoRemove additional items obsolete since Emacs 22/23
Stefan Kangas [Sun, 7 Mar 2021 05:26:53 +0000 (06:26 +0100)]
Remove additional items obsolete since Emacs 22/23

* lisp/speedbar.el (speedbar-update-speed)
(speedbar-navigating-speed): Remove variables obsolete since Emacs 23.
(speedbar-dir-follow, speedbar-directory-buttons-follow): Don't use
above removed variables.

* lisp/erc/erc.el (erc-announced-server-name, erc-process)
(erc-default-coding-system, erc-send-command): Remove variables and
functions obsolete since Emacs 22.

; * etc/NEWS: List removed items.

3 years agoRemove some items obsolete since Emacs 22/23 from Gnus
Stefan Kangas [Sun, 7 Mar 2021 04:36:11 +0000 (05:36 +0100)]
Remove some items obsolete since Emacs 22/23 from Gnus

* lisp/gnus/gnus-art.el (gnus-article-hide-pgp-hook)
(gnus-treat-strip-pgp, gnus-treat-display-xface):
* lisp/gnus/gnus-msg.el (gnus-inews-mark-gcc-as-read):
* lisp/gnus/gnus-start.el (nnmail-spool-file):
* lisp/gnus/nnmail.el (nnmail-spool-file)
(nnmail-fix-eudora-headers): Remove items obsolete since 22.1.
* lisp/gnus/gnus-art.el (gnus-treat-display-x-face):
* lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Don't use above obsolete symbols.
* doc/misc/gnus.texi (Washing Mail, Not Reading Mail): Don't refer to
above obsolete variables.
; * etc/NEWS: List removed items.

* lisp/gnus/gnus.el (gnus-local-domain, gnus-carpal):
* lisp/gnus/nnimap.el (nnimap-split-rule):
* lisp/gnus/nntp.el (nntp-authinfo-file): Fix obsolete variable
version format.