1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-09 09:16:02 -08:00
Commit graph

151382 commits

Author SHA1 Message Date
Michael Albinus
55a9c17cef Change Tramp version to "2.5.2-pre"
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.5.2-pre".
2021-07-30 17:19:29 +02:00
Stephen Gildea
3f70e85609 ; fix 2 typos in MH-E comments
* lisp/mh-e/ChangeLog.1: fix typo
* lisp/mh-e/mh-junk.el (mh-junk-allowlist): fix verb tense
2021-07-30 06:35:48 -07:00
Dmitry Gutov
df1dbaf121 Make fileloop skip missing files
* lisp/fileloop.el (fileloop-next-file): If a file doesn't exist,
skip to the next one (bug#44979).
2021-07-30 14:58:25 +02:00
Maxim Nikulin
ce8d5c6fa5 Tweak previous mailcap-view-file change
* lisp/net/mailcap.el (mailcap-view-file): Remove the :noquery t
mistakenly added (bug#12972).

Copyright-paperwork-exempt: yes
2021-07-30 14:42:07 +02:00
k3tu0isui
9ffbe99b11 Fix problem when switching between different prolog versions
* lisp/progmodes/prolog.el (run-prolog): Make switching between
different prolog systems work more reliably (bug#45795).

* lisp/progmodes/prolog.el (prolog-ensure-process): Don't start a
new process if one already exists.

Copyright-paperwork-exempt: yes
2021-07-30 14:40:21 +02:00
Mattias Engdegård
f472dd8ea5 Simplify lexical let-optimisations
Ensure in cconv that let-bindings have the normal form (VAR EXPR)
where VAR is a valid variable name, so that we don't need to keep
re-checking this all the time in the optimiser.

* lisp/emacs-lisp/byte-opt.el
(byte-optimize-enable-variable-constprop)
(byte-optimize-warn-eliminated-variable): Remove; these were mainly
used for debugging.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form):
Assume normalised let-bindings (with lexical-binding).
Stop using the variables removed above.
* lisp/emacs-lisp/cconv.el (cconv-convert): Ensure normalised
let-bindings.  Malformed bindings are dropped after warning.

remove byte-optimize-warn-eliminated-variable
2021-07-30 14:37:38 +02:00
Lars Ingebrigtsen
16876744d4 Ensure that recover-file doesn't leave stale auto-save files behind
* lisp/files.el (recover-file): Don't leave stale auto-save files
behind after crash recovery (bug#11331).
2021-07-30 14:07:04 +02:00
Lars Ingebrigtsen
2ece0f8d3c Allow shell PROMPT strings to have ANSI codes
* lisp/comint.el (comint-output-filter): Don't overwrite ANSI
codes from the prompt command (bug#11883).
2021-07-30 14:03:43 +02:00
Max Nikulin
920aaef9d9 mailcap.el: Avoid xdg-open silent failure
* lisp/net/mailcap.el (mailcap-view-file): Use 'pipe :connection-type
instead of 'pty to prevent killing of background process on handler
exit.  Avoid regression similar to Bug#44824.

Problem happens only in some desktop environments where mailcap handler
launches actual viewer (as defined in .desktop files and obtained from
mimeapps.list) in background.  E.g. xdg-open invokes "gio open" or
kde-open5 for Gnome or KDE accordingly and these handlers launch e.g.
eog or okular in background.  As soon as main process exits, temporary
terminal session created by `start-process-shell-command' is terminated.
As a result background processes receive SIGHUP.

Previously command were executed with no buffer as well, so the change
does not affect "needsterminal" and "copiousoutput" mailcap features,
they are not supported as earlier.

If main process of the handler fails then show a message with exit
reason.  Output (including error messages) is ignored as before.
Gtk applications tend to report significant amount of failed asserts
hardly informative for majority of users (bug#12972).

Copyright-paperwork-exempt: yes
2021-07-30 14:00:41 +02:00
Lars Ingebrigtsen
88ba1a86c2 Fix case insensitivity in `read-file-name'
* lisp/minibuffer.el (read-file-name-default): Make `read-file-name'
actually respect `read-file-name-completion-ignore-case' (bug#14340).
2021-07-30 13:51:46 +02:00
Lars Ingebrigtsen
0bd1346318 Fix issue with mml-preview from outside Gnus
* lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Be more
resilient when running from outside Gnus.
2021-07-30 13:32:54 +02:00
Lars Ingebrigtsen
4053bd5201 Work around long-standing seq.el compilation warning
* lisp/emacs-lisp/seq.el (seq-contains): When using cl-defgeneric
to define an obsolete function, it'll complain about it being
obsolete.  Suppress that warning.  (Should probably be fixed in
cl-defgeneric instead.)
2021-07-30 13:13:46 +02:00
Basil L. Contovounesios
97894b07c2 Remove a redundant let-binding from Ispell
Recent optimizer changes revealed a case-fold-search binding in
Ispell that was made redundant in the revision of 2020-11-03
"Simplify ispell-check-version’s use of -vv flag".

* lisp/textmodes/ispell.el (ispell-check-version): Remove no-op
binding of case-fold-search.
2021-07-30 11:30:53 +01:00
Michael Albinus
5f65b67dac * etc/NEWS: Tramp supports authentication via yubikey now. Fix typos. 2021-07-30 11:57:50 +02:00
Michael Albinus
245d3e9ffd Fix bug#49773 in Tramp
* lisp/net/tramp.el (tramp-handle-find-backup-file-name)
(tramp-handle-lock-file, tramp-handle-make-auto-save-file-name):
Check security hole only if action is in progress.  (Bug#49773)
2021-07-30 11:57:39 +02:00
Mattias Engdegård
52a55e11de Optimise let and let* whose body is constant or the last variable
Simplify  (let ((X1 E1) ... (Xn En)) Xn)
      =>  (progn E1 ... En)

and       (let* ((X1 E1) ... (Xn En)) Xn)
      =>  (let* ((X1 E1) ... (Xn-1 En-1)) En)

and similarly the case where the body is a constant, extending a
previous optimisation that only applied to the constant nil.
This reduces the number of bound variables, shortens the code, and
enables further optimisations.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Rewrite using
`pcase` and add the aforementioned transformations.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test cases.
2021-07-30 09:54:30 +02:00
Mattias Engdegård
ab9c06449d Move warnings about bad let-bindings from source optimiser to cconv
* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form): Move warnings...
* lisp/emacs-lisp/cconv.el (cconv-convert): ...here, which is an
overall better place (closer to the front-end).
2021-07-30 09:54:30 +02:00
Mattias Engdegård
dc9e2a1749 Optimise prog1 better
Rewrite (prog1 CONST FORMS...) => (progn FORMS... CONST)
where CONST is a compile-time constant, because putting the value last
allows the lapcode peephole pass to do important improvements like
branch elimination.  Also use progn instead of prog1 for `ignore`.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
New `prog1` and `ignore` transforms.
2021-07-30 09:54:29 +02:00
Mattias Engdegård
9a63338114 Elide lexical variables in for-effect context in source optimiser
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Remove for-effect uses of lexical variables.  We previously relied on
this being done by the lapcode peephole optimiser but at source level
it enables more optimisation opportunities.
Keywords are elided for the same reason.
2021-07-30 09:54:29 +02:00
Mattias Engdegård
566e29f78c Single source optimiser entry point
Make the optimiser aware of lexical arguments.  Otherwise we cannot
know for sure whether a variable is lexical or dynamic during
traversal.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-one-form): New optimiser
entry point, replacing the recursive byte-optimize-form.
* lisp/emacs-lisp/bytecomp.el (byte-optimize-one-form): Autoload.
(byte-compile-keep-pending, byte-compile-top-level):
Use byte-optimize-one-form.
2021-07-30 09:54:29 +02:00
Stephen Gildea
5fb8b20fa3 mh-junk: replace color-based terms with descriptive words
* lisp/mh-e/*.el: "whitelist" -> "allowlist" and "blacklist" -> "blocklist".
* doc/misc/mh-e.texi: update manual to match.
* lisp/mh-e/folder.el: Change the binding of 'mh-junk-allowlist' to 'J a'.
  Add a compatibility binding for the old 'J w'.
* lisp/mh-e/mh-scan.el (mh-note-allowlisted): Change char from 'W' to 'A'.
* lisp/mh-e/junk.el: Rename 'mh-blacklist-a-msg' to 'mh-junk-blocklist-a-msg',
  adding the missing "junk-" to the function name.
2021-07-29 17:38:39 -07:00
Nick Gasson
7e8d1b08e3 Avoid errors in rmailsum for messages without "From"
* lisp/mail/rmailsum.el (rmail-header-summary): Be defensive about
the presence of the "From" header.  (Bug#49770)

Copyright-paperwork-exempt: yes
2021-07-29 18:37:21 +03:00
dickmao
314474e2d5 Follow-up toggle-subscription name change
* doc/misc/gnus.texi (Subscription Commands): Refer to correct function.
* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-current-group):
Make backwards-compatible.
(gnus-group-unsubscribe-group):
Make backwards-compatible (bug#49768).
2021-07-29 13:33:58 +02:00
Dmitry Gutov
69398a4da0 Fix printing of multiple items in one group without line numbers
* lisp/progmodes/xref.el (xref--insert-xrefs):
Fix printing of multiple items in one group without line numbers
(mentioned in bug#49731).
2021-07-29 04:57:36 +03:00
dickmao
d6a3b1cd2b Rename Gnus -unsubscribe-group commands to -toggle-subscription
* doc/emacs/misc.texi (Gnus Group Buffer): Document change.
* doc/misc/gnus.texi (Subscription Commands): Document change.
(Browse Foreign Server): Document change.
* lisp/gnus/gnus-group.el (gnus-group-mode-map):
Unsubscribe is not subscribe.
(gnus-group-sub-map): Unsubscribe is not subscribe.
(gnus-group-make-menu-bar): Unsubscribe is not subscribe.
(gnus-group-tool-bar-gnome): Unsubscribe is not subscribe.
(gnus-group-mode): Unsubscribe is not subscribe.
(gnus-group-unsubscribe): Refactor.
(gnus-group-subscribe): Refactor.
(gnus-group-unsubscribe-current-group): Define obsolete alias.
(gnus-group-unsubscribe-group): Define obsolete alias.
(gnus-group-toggle-subscription-at-point): Refactor.
(gnus-group-set-subscription-at-point): Refactor.
(gnus-group-toggle-subscription): Refactor.
(gnus-group-set-subscription): Refactor.
* lisp/gnus/gnus-srvr.el (gnus-browse-mode-map):
Unsubscribe is not subscribe.
(gnus-browse-make-menu-bar): Unsubscribe is not subscribe.
(gnus-browse-mode): Document the change.
(gnus-browse-unsubscribe-current-group): Define obsolete alias.
(gnus-browse-unsubscribe-group): Define obsolete alias.
(gnus-browse-toggle-subscription-at-point): Unsubscribe is not subscribe.
(gnus-browse-toggle-subscription): Unsubscribe is not subscribe
(bug#49759).
2021-07-28 20:52:51 +02:00
Juri Linkov
ee1887bf54 Improve :type of defcustom 'context-menu-functions' and add documentation.
* doc/emacs/frames.texi (Menu Mouse Clicks): Describe context-menu-mode
and context-menu-functions instead of suggesting global-set-key.
(Menu Bars): Mention context-menu-mode and context-menu-functions.

* etc/NEWS: Add context-menu-mode and context-menu-functions.

* lisp/mouse.el (context-menu-functions): Use :type with repeat/function-item.
(context-menu-minor, context-menu-undo, context-menu-region)
(context-menu-ffap): Improve docstrings displayed for function-item in
defcustom of context-menu-functions.
2021-07-28 19:40:23 +03:00
Lars Ingebrigtsen
fa51d6cdcd Improve mode-line-position-column-format manual entry
* doc/lispref/modes.texi (Mode Line Variables): Mention %C, and
don't mention the obsolete column-number-indicator-zero-based
variable.
2021-07-28 18:39:44 +02:00
Juri Linkov
ea69802a8f * lisp/progmodes/gud.el: Add prefix 'gud-' to repeat-map variables (bug#49632)
* lisp/progmodes/gud.el (gud-sdb-repeat-map, gud-dbx-repeat-map)
(gud-xdb-repeat-map, gud-perldb-repeat-map, gud-pdb-repeat-map)
(gud-guiler-repeat-map, gud-jdb-repeat-map): Rename with prefix 'gud-'.
2021-07-28 19:22:53 +03:00
Lars Ingebrigtsen
c9c1460342 Make byte-recompile-directory less brittle
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Don't
interpret files named "~" as $HOME (bug#49758).
2021-07-28 18:10:59 +02:00
Lars Ingebrigtsen
e5ddf91db2 Improve mode-line-position-column-format doc string
* lisp/bindings.el (mode-line-position-column-format): Improve doc
string.
(mode-line-position-line-format): Point to
`mode-line-position-column-line-format'.
2021-07-28 17:57:19 +02:00
Kévin Le Gouguec
6a6ea7bc6f Improve file-name-concat NEWS entry 2021-07-28 17:38:41 +02:00
Philip Kaludercic
190ea9cd3e
Replace cl-c[ad]+r with regular c[ad]+r
* rcirc.el (rcirc-make-trees): Replace cl-cdadr with cdadr
(rcirc-handler-333): Replace cl-cadddr with cadddr
(rcirc-authenticate): Replace cl-cdddr with cdddr
2021-07-28 10:31:57 +02:00
Michael Albinus
2910e668eb Display yubikey message properly in Tramp
* lisp/net/tramp.el (tramp-action-show-and-confirm-message):
Display message properly.
2021-07-28 09:07:45 +02:00
Brian Leung
cfcf42ff87 Ensure that gud commands for non-GDB debuggers are handled by repeat-mode
* lisp/progmodes/gud.el (sdb-repeat-map): Define.
(sdb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(dbx-repeat-map): Define.
(dbx): Set repeat-mode property to the symbol corresponding to the
repeat map.
(xdb-repeat-map): Define.
(xdb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(perldb-repeat-map): Define.
(perldb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(pdb-repeat-map): Define.
(pdb): Set repeat-mode property to the symbol corresponding to the
repeat map.
(guiler-repeat-map): Define.
(guiler): Set repeat-mode property to the symbol corresponding to the
repeat map.
(jdb-repeat-map): Define.
(jdb): Set repeat-mode property to the symbol corresponding to the
repeat map.  (Bug#49632)
2021-07-28 00:13:48 +03:00
Brian Leung
29d6209995 Ensure that gud commands for M-x gdb are handled by repeat-mode
* lisp/progmodes/gud.el (gud-gdb-repeat-map): Rename from
gud-repeat-map, and populate at the top-level.
(gud-set-repeat-map-property): Introduce this helper function for
setting the repeat-map property.
(gud-gdb): Use the gud-set-repeat-map-property function to assign the
repeat-map property.

* lisp/progmodes/gdb-mi.el (gdb): Use the gud-set-repeat-map-property
function to assign the repeat-map property.

Because different debugging tools may not support all of the gud-foo
functions, we reassign the repeat-map property within the respective
commands, as opposed to the top level of the files, to ensure that the
repeat-map property is reassigned each time to a symbol corresponding
to the active debugging tool.  (Bug#49632)
2021-07-28 00:13:40 +03:00
Juri Linkov
30bd6a50aa * lisp/tab-bar.el (tab-bar-format-global): Use string-trim-right (bug#30056). 2021-07-27 23:55:32 +03:00
Juri Linkov
2c2baa9d12 Add new context-menu options for menus "File At Point" and "Version Control".
* lisp/mouse.el (context-menu-functions): Add more options.
(context-menu-global, context-menu-local): Fix separators.
(context-menu-minor): Rewrite to support list of submenus.
(context-menu-vc, context-menu-ffap): New functions.
(context-menu-undo, context-menu-region): Fix separators.

* lisp/dired.el (dired-context-menu):
* lisp/info.el (Info-context-menu):
* lisp/net/goto-addr.el (goto-address-context-menu):
* lisp/net/eww.el (eww-context-menu):
* lisp/progmodes/prog-mode.el (prog-context-menu):  Fix separators.
2021-07-27 23:48:07 +03:00
Mattias Engdegård
b4173443fb ; * lisp/completion.el (load-completions-from-file): Simplify
Use a condition-case :success clause instead flags for control.
2021-07-27 20:35:59 +02:00
Philip Kaludercic
7e13bfd4a8
Remove removal of text properties from rcirc-buffer-alist keys
* rcirc.el (rcirc-mode): Remove set-text-properties call
2021-07-27 20:01:49 +02:00
Michael Albinus
35610b870e Mark all autorevert tests as unstable on Cygwin (bug#49665)
* test/lisp/autorevert-tests.el: Mark all tests as unstable on
Cygwin (bug#49665).
2021-07-27 19:41:57 +02:00
Philip Kaludercic
fb27708f51
Fix checkdoc issues
* rcirc.el (rcirc-finished-sasl): Add period.
(rcirc-mode): Expand docstring.
(rcirc-handler-900): Document sender and process
2021-07-27 17:42:32 +02:00
Mattias Engdegård
949dd41c31 Fix mistake in switch-case generation of null (bug#49746)
Reported by Gregor Zattler.

* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix):
Be more careful in the selection of equality.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.
2021-07-27 17:32:23 +02:00
Philip Kaludercic
402385393a
Update rcirc-buffer-alist after receiving NICK
* rcirc.el (rcirc-handler-NICK): Remove old nick and add new nick
2021-07-27 17:30:22 +02:00
Lars Ingebrigtsen
989937e1bc Revert "Make revert-buffer preserve buffer-readedness"
This reverts commit fcae435f59.

This leads to problems when reverting from a file that's changed
readedness externally.
2021-07-27 17:24:14 +02:00
Michael Albinus
17048030f5 ; Fix last change in tramp.el 2021-07-27 13:08:36 +02:00
Philip Kaludercic
262fbe1a47
Fix TOPIC command
* rcirc.el (topic): Add target argument.
2021-07-27 10:08:06 +02:00
Michael Albinus
124a3cb60b Final tweak for Tramp's yubikey detection
* lisp/net/tramp.el (tramp-yubikey-regexp)
(tramp-action-show-and-confirm-message): Expect also "\n".
2021-07-27 09:28:28 +02:00
Alan Third
d2d3fc3929 Convert fringe bitmaps to vectors on NS port
Unfortunately *step doesn't support masks for bitmap images so
changing the colors of fringe bitmaps is awkward.  We can work around
this by converting the bitmap into an NSBezierPath and drawing it in
the required color.

* src/nsterm.m (ns_define_fringe_bitmap):
(ns_destroy_fringe_bitmap): New functions
(ns_draw_fringe_bitmap): Display the NSBezierPath.
* src/nsimage.m
([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Remove
variable that's there to allow us to easily modify the XBM colors.
([EmacsImage setXBMColor:]): Remove method.
2021-07-26 23:12:31 +01:00
Alan Third
9ce3fdc461 Fix NS inset rectangle corners
* src/nsterm.m (ns_draw_relief): Use a path to draw the mitered
corners instead of rectangles.
2021-07-26 23:12:25 +01:00
Alan Third
49bbed0dfd Simplify NS sizing and positioning code
* src/nsterm.m (ns_set_offset): Unify the two branches into one, most
of the code is the same.
(ns_set_window_size): Use the provided tools to calculate the window
size instead of doing it ourselves.
2021-07-26 23:12:12 +01:00