]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoFix buffer overflow in xbm_scan (bug#47094)
Alan Third [Sat, 13 Mar 2021 21:59:59 +0000 (21:59 +0000)]
Fix buffer overflow in xbm_scan (bug#47094)

* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
buffer.

3 years agoSeparate values 'override' and 'append' in 'outline-minor-mode-highlight'
Juri Linkov [Sat, 13 Mar 2021 21:33:14 +0000 (23:33 +0200)]
Separate values 'override' and 'append' in 'outline-minor-mode-highlight'

* lisp/outline.el (outline-font-lock-keywords): Handle 'override' and 'append'
separately.
(outline-minor-mode-highlight): Separate values 'override' and 'append'.
(outline-minor-mode-highlight-buffer): Go to match-beginning
before checking '(point)'.

3 years agoAdd help-key-binding styling to wombat theme
Stefan Kangas [Sat, 13 Mar 2021 19:14:54 +0000 (20:14 +0100)]
Add help-key-binding styling to wombat theme

* etc/themes/wombat-theme.el (help-key-binding): Add face
definition.

3 years ago; Add comment for a recent change
Eli Zaretskii [Sat, 13 Mar 2021 15:04:46 +0000 (17:04 +0200)]
; Add comment for a recent change

* lisp/faces.el (help-key-binding): Comment on the reason for a
recent change.

3 years agoFix rare redisplay glitches when image has been removed from display
Eli Zaretskii [Sat, 13 Mar 2021 15:00:15 +0000 (17:00 +0200)]
Fix rare redisplay glitches when image has been removed from display

* src/dispnew.c (update_window): Make sure all glyph rows below
the last visible one are marked as invalid, even when the loop
which "updates the rest of the lines" didn't examine the last
visible row.  (Bug#47093)

3 years agoAdjust colors of help-key-binding face for readability
Stefan Kangas [Sat, 13 Mar 2021 14:17:24 +0000 (15:17 +0100)]
Adjust colors of help-key-binding face for readability

* lisp/faces.el (help-key-binding): Adjust colors for improved
readability, and use a flat :box for highlighting (with negative
:line-width height to avoid any vertical resizing of the minibuffer).

This was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-03/msg00535.html

3 years agoRemove ;;;###tramp-autoload cookie from Tramp defcustoms (Bug#47063)
Michael Albinus [Sat, 13 Mar 2021 13:35:39 +0000 (14:35 +0100)]
Remove ;;;###tramp-autoload cookie from Tramp defcustoms (Bug#47063)

* lisp/net/tramp-crypt.el (tramp-crypt-enabled-p): New defun.
(tramp-crypt-add-directory, tramp-crypt-remove-directory):
Add property `completion-predicate'.

* lisp/net/tramp-sh.el (tramp-terminal-type, tramp-remote-path)
(tramp-remote-process-environment): Remove.  Move them to ...

* lisp/net/tramp.el: ... here.

3 years agoExtend support for faces in Enriched mode
Eli Zaretskii [Sat, 13 Mar 2021 10:26:48 +0000 (12:26 +0200)]
Extend support for faces in Enriched mode

* lisp/textmodes/enriched.el (enriched-face-ans): Support faces
with bold and italic attributes.  (Bug#46507)

3 years ago* src/keyboard.c parse_solitary_modifier): Accept `click` modifier
Stefan Monnier [Fri, 12 Mar 2021 19:33:41 +0000 (14:33 -0500)]
* src/keyboard.c parse_solitary_modifier): Accept `click` modifier

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