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

151382 commits

Author SHA1 Message Date
Juri Linkov
12409c9064 New transient mode 'repeat-mode' to allow shorter key sequences (bug#46515)
* doc/emacs/basic.texi (Repeating): Document repeat-mode.

* lisp/repeat.el (repeat-exit-key): New defcustom.
(repeat-mode): New global minor mode.
(repeat-post-hook): New function.

* lisp/bindings.el (undo-repeat-map): New variable.
(undo): Put 'repeat-map' property with
'undo-repeat-map'.
(next-error-repeat-map): New variable.
(next-error, previous-error): Put 'repeat-map' property with
'next-error-repeat-map'.

* lisp/window.el (other-window-repeat-map): New variable.
(other-window): Put 'repeat-map' property with
'other-window-repeat-map'.
(resize-window-repeat-map): New variable.
(enlarge-window, enlarge-window-horizontally)
(shrink-window-horizontally, shrink-window): Put 'repeat-map'
property with 'resize-window-repeat-map'.
2021-02-17 20:04:42 +02:00
Juri Linkov
734396aa04 New command 'tab-duplicate' like in web browsers 2021-02-17 19:56:45 +02:00
Michael Albinus
e5f50f32f7 Further Tramp code cleanup
* doc/misc/tramp.texi (Predefined connection information):
Mention "about-args".

* lisp/net/tramp-cmds.el (tramp-version): Adapt docstring.

* lisp/net/tramp.el (tramp-handle-expand-file-name):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name)
* lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name):
Handle local "/..".

* lisp/net/tramp-rclone.el (tramp-methods) <rclone>:
Adapt `tramp-mount-args'.
(tramp-rclone-flush-directory-cache): Remove.
(tramp-rclone-do-copy-or-rename-file)
(tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file)
(tramp-rclone-handle-make-directory): Don't use that function.
(tramp-rclone-maybe-open-connection): Fix use of `tramp-mount-args'.

* lisp/net/trampver.el (tramp-inside-emacs): New defun.
* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
(tramp-sh-handle-process-file, tramp-open-shell): Use it.
(tramp-get-env-with-u-option): Remove.

* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-top):
New test.
2021-02-17 18:04:35 +01:00
Eli Zaretskii
199294206a ; Fix last m-x.texi change. 2021-02-17 18:59:01 +02:00
Eli Zaretskii
0c30b939e7 ; Fix last change in commands.texi. 2021-02-17 18:57:42 +02:00
Eli Zaretskii
927b88571c Disable filtering of commands in M-x completion
This makes the default behavior like it was before:
M-x completion doesn't filter out any commands.  To
have commands filtered based on their relevance to the
current buffer's modes, customize the option
'read-extended-command-predicate' to call
'command-completion-default-include-p'.
* doc/lispref/commands.texi (Interactive Call):
* doc/emacs/m-x.texi (M-x): Update the description of
'read-extended-command-predicate' and improve wording.

* etc/NEWS: Update the entry about
'read-extended-command-predicate'.

* lisp/simple.el (read-extended-command-predicate): Change default
value to nil.  Update doc string.  Add :group.
(read-extended-command): Handle nil as meaning to apply
no-filtering.
2021-02-17 18:53:54 +02:00
Lars Ingebrigtsen
0324ec1737 Fix recently introduced bug in `byte-compile-lambda'
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix recently
introduced error when compiling non-lexical commands (bug#46589).
2021-02-17 17:12:31 +01:00
Basil L. Contovounesios
cccd701ac9 ; Finish recent rename of completion-* predicates. 2021-02-17 13:27:56 +00:00
Lars Ingebrigtsen
06f8407ee6 Clarify 'read-extended-command-predicate' in NEWS 2021-02-17 12:15:07 +01:00
Lars Ingebrigtsen
b3e34643c4 Change name for the completion-* predicates
* lisp/simple.el (command-completion-default-include-p)
(command-completion-with-modes-p, command-completion-button-p):
Rename from completion-*.
(read-extended-command-predicate): Adjust default predicate.

* lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Adjust
predicate name.
2021-02-17 12:01:27 +01:00
Glenn Morris
26fcd82890 * configure.ac: Replace obsolete AC_CHECK_HEADER usage. (Bug#46578) 2021-02-16 21:25:18 -08:00
Glenn Morris
5f078928bb * configure.ac: Replace obsolete AC_TRY_LINK with AC_LINK_IFELSE. 2021-02-16 20:55:13 -08:00
Glenn Morris
45e964755b Remove TIME_WITH_SYS_TIME, unused for a long time
* configure.ac (AC_HEADER_TIME): Remove.  (Bug#46578)
2021-02-16 20:55:13 -08:00
Harald Jörg
7b2448ae6e cperl-mode: Improve detection of index entries for imenu
* lisp/progmodes/cperl-mode.el
(cperl-imenu-addback): Customization variable deleted.  This
variable has been declared obsolete in 1998.
(cperl--basic-identifier-regexp) and many other variables:
defining regular expressions for basic Perl constructs.
(cperl-imenu--create-perl-index): This function has been
completely rewritten, keeping only some parts of the output
formatting.  It now recognizes a lot more package and
subroutine declarations which came since Perl 5.14: Packages
with a version and/or a block attached, lexical subroutines,
declarations with a newline between the keyword "package" and
the package name, and several more.  This version also
correctly separates subroutine names from attributes, does no
longer support "unnamed" packages (which don't exist in Perl),
and doesn't fall for false positives like stuff that looks
like a declaration in a multiline string.
(cperl-tags-hier-init): Eliminate call to
`cperl-imenu-addback` (which actually was commented out in
1997)

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test--validate-regexp) and six other new tests for the
new regular expressions and the index creation.

* test/lisp/progmodes/cperl-mode-resources/grammar.pl: New
file showcasing different syntax variations for package and
sub declarations (bug#46574).
2021-02-17 00:54:38 +01:00
Lars Ingebrigtsen
64ef8ff74d Don't move point in `exif-parse-buffer'
* lisp/image/exif.el (exif-parse-buffer): Don't move point
(bug#46552).
2021-02-17 00:43:52 +01:00
Lars Ingebrigtsen
b39ac4c85a Fix edebug spec for minibuffer-with-setup-hook
* lisp/files.el (minibuffer-with-setup-hook): Instrument the
:append form for edebug (bug#46531).
2021-02-16 23:32:04 +01:00
Lars Ingebrigtsen
cead0ea38e Clarify Gnus Agent expiry quirks
* doc/misc/gnus.texi (Agent Expiry): Mention that the last article
won't be expired (bug#46533).
2021-02-16 23:06:46 +01:00
Andrea Corallo
21858596f0 * Clean-up some signal related dead-code
* src/comp.c (restore_sigmask): Remove function.
	(Fcomp__compile_ctxt_to_file): Remove some dead-code.
2021-02-16 22:12:06 +01:00
Andrea Corallo
7b676861dd * src/comp.c (check_comp_unit_relocs): Prefer ptrdiff_t to EMACS_INT. 2021-02-16 22:01:27 +01:00
Andrea Corallo
72e4a22391 * Better long range check
* src/comp.c (emit_rvalue_from_emacs_uint)
	(emit_rvalue_from_emacs_int, emit_rvalue_from_lisp_word_tag)
	(emit_rvalue_from_lisp_word): Better long range check.
2021-02-16 21:49:32 +01:00
Andrea Corallo
543e6e664c * Sanitize frame slot access in final
* src/comp.c (comp_t): Add 'frame_size' field.
	(emit_mvar_lval): Add sanity check on frame element access.
	(compile_function): Initialize 'comp.frame_size' and
	'comp.frame_size'.
2021-02-16 21:44:02 +01:00
Glenn Morris
bdb0774faf thumbs.el: avoid creating thumbs directory on loading library
* lisp/thumbs.el (thumbs-cleanup-thumbsdir):
Don't create the thumbs directory if it does not exist.
2021-02-16 12:11:55 -08:00
Glenn Morris
b2fe1bbd06 * admin/cus-test.el (cus-test-load-libs): Quieten loading. 2021-02-16 12:03:39 -08:00
Glenn Morris
f2bf357308 * admin/cus-test.el (cus-test-get-lisp-files): Ignore loaddefs files. 2021-02-16 12:01:25 -08:00
Bastian Beranek
12b80948fd * lisp/tab-bar.el: Fix behavior of toggle-frame-tab-bar (bug #46299)
(toggle-frame-tab-bar): Add frame parameter to protect tab bar state.
(tab-bar--update-tab-bar-lines): Check parameter.
2021-02-16 19:27:32 +02:00
Basil L. Contovounesios
1abf3ae854 Pacify unused function warning in xfns.c with GTK2
* src/xfns.c (x_get_net_workarea, x_get_monitor_for_frame)
(x_make_monitor_attribute_list, x_get_monitor_attributes_fallback):
[HAVE_XINERAMA] (x_get_monitor_attributes_xinerama)
[HAVE_XRANDR] (x_get_monitor_attributes_xrandr)
(x_get_monitor_attributes): Fix #ifdefs around definitions to avoid
unused function warnings regardless of GTK use (bug#46509).
[HAVE_XRANDR] (x_get_monitor_attributes_xrandr): Undefine
RANDR13_LIBRARY after it's been used.
2021-02-16 16:46:53 +00:00
Lars Ingebrigtsen
76220fc3fc Revert "Fix problem of point movement in image-mode"
This reverts commit 7c7377288a.

This is fixed differently in Emacs 27.
2021-02-16 17:42:24 +01:00
Lars Ingebrigtsen
7c7377288a Fix problem of point movement in image-mode
* lisp/image-mode.el (image-mode): Switch disable-point-adjustment
on, otherwise `C-c C-c' will move point around oddly.
(image-toggle-display): Ensure that point is on the image (bug#46552).
2021-02-16 17:39:03 +01:00
Eli Zaretskii
c977370dd7 Avoid point movement when visiting image files
* lisp/image-mode.el (image-toggle-display-image): Preserve point
around the call to exif-parse-buffer, to prevent it from moving
into the image data.  (Bug#46552)
2021-02-16 18:20:06 +02:00
Lars Ingebrigtsen
fff138eb3d Do interactive mode tagging for info.el 2021-02-16 14:21:52 +01:00
Lars Ingebrigtsen
b79055e960 Don't resize images in image-mode if we have a rotation
* lisp/image-mode.el (image-fit-to-window): Don't resize of we
have a manually rotated imaged (and explain the resizing logic a
bit).
2021-02-16 14:00:55 +01:00
Konstantin Kharlamov
5b10ca8f4f make smerge-vc-next-conflict wrap around
* lisp/vc/smerge-mode.el:
(smerge-vc-next-conflict): While searching for conflict markers,
wrap search around if current file is the last one with conflicts
(bug#46538).
2021-02-16 12:49:53 +01:00
Stefan Kangas
03adc69af7 Do `interactive' mode tagging in gomoku.el
* lisp/play/gomoku.el: Do `interactive' mode tagging.
2021-02-16 10:06:42 +01:00
Stefan Kangas
9f843572d2 * lisp/play/gomoku.el: Minor doc fixes; formatting. 2021-02-16 10:06:42 +01:00
Stefan Monnier
62cda6acd6 * lisp/emacs-lisp/bindat.el: Add 64bit int support
(bindat--unpack-u64, bindat--unpack-u64r, bindat--pack-u64)
(bindat--pack-u64r): New functions.
(bindat--unpack-item, bindat--pack-item): Use them.
(bindat--fixed-length-alist): Add new types.
2021-02-15 23:54:45 -05:00
Stefan Kangas
9b8cf1a38d Fix admin/check-doc-strings for new DEFUN format
* admin/check-doc-strings: Various fixes, including for the new DEFUN
format.  The script still produces a ton of false positives, however.
2021-02-16 05:26:44 +01:00
Stefan Monnier
a0b35e2f80 * lisp/emacs-lisp/bindat.el: Clarify when field labels are optional
The fixes the doc and the Edebug spec, as well as a subtle issue in
the code where a field whose name is (eval 'fill) was mistakenly
considered as an anonymous field of type `fill`.

(bindat--unpack-item, bindat--unpack-group, bindat--length-group)
(bindat--pack-item, bindat--pack-group): Use dotimes, dolist, and pcase.
(bindat--item-aux): New edebug elem.
(bindat-item): Use it to fix the handling of optional fields.
(bindat-format-vector): Use `mapconcat`.
2021-02-15 23:22:09 -05:00
Stefan Monnier
83d9fbe3bb * lisp/emacs-lisp/bindat.el (bindat-spec): New macro.
It's basically an alias for `quote`, but it offers the advantage of
providing Edebug support and opens the possibility of compiling
the bindat spec to ELisp code.

* doc/lispref/processes.texi (Bindat Spec): Document `bindat-spec`.
(Bindat Functions): Tweak a few things to adjust to the state of the code.

* test/lisp/emacs-lisp/bindat-tests.el: Use it.

* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests--read): New function.
(edebug-tests--&rest-behavior): New test.
2021-02-15 21:25:15 -05:00
Basil L. Contovounesios
2106b12fa7 ; Fix last change in simple.el. 2021-02-16 00:07:44 +00:00
Stefan Monnier
d41a4ad4ae * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Warn on empty let bodies 2021-02-15 12:07:52 -05:00
Ulf Jasper
899619ff6a Display yearly ical events from first year on. Fix Bug#23100.
Convert yearly rrule starting in year x into diary-anniversary entry
for year x-1 when importing an icalendar.  Correspondingly convert
diary-anniversary for year x into yearly rrule starting in year x+1.

*
test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-american:
*
test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-european:
*
test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-iso:
*
test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-american:
*
test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-european:
*
test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-iso:
*
test/lisp/calendar/icalendar-tests.el (icalendar-convert-anniversary-to-ical):
Match new diary-anniversary/yearly-rrule behaviour.

* lisp/calendar/icalendar.el (icalendar--datestring-to-isodate): Add
year-shift option.  (icalendar--convert-anniversary-to-ical): Shift
the year as diary-anniversary is not displayed in the initial year.
(icalendar--convert-recurring-to-diary): Shift the year as
diary-anniversary is not displayed in the initial year. (Bug#23100)
2021-02-15 17:27:45 +01:00
Stefan Monnier
211731b3a9 * lisp/calc/calc-sel.el (calc-replace-sub-formula): Fix typo
Reported by Sébastien Miquel <sebastien.miquel@posteo.eu>
2021-02-15 10:57:26 -05:00
Stefan Monnier
fc4927fc3a * lisp/emacs-lisp/bindat.el: Expose the struct variable (bug#46534)
(bindat--unpack-group, bindat--length-group, bindat--pack-group):
Mark it as dynamically scoped.
2021-02-15 10:50:07 -05:00
Lars Ingebrigtsen
6ea920c88d Allow overriding declared predicates, too
* lisp/simple.el (completion-default-include-p): Rename and move
the checking for an explicit predicate down here...
(read-extended-command): ... from here.
(read-extended-command-predicate): Adjust default value.
2021-02-15 14:43:53 +01:00
Lars Ingebrigtsen
398811b7f6 Do `interactive' mode tagging in the remaining lisp/gnus files 2021-02-15 13:43:27 +01:00
Lars Ingebrigtsen
b535c8ba87 Add a new variable `global-minor-modes'
* doc/lispref/modes.texi (Minor Modes): Document it.
* lisp/simple.el (global-minor-modes): New variable.
(completion-in-mode-p): Use it.
(completion-with-modes-p): Use it.

* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Support it.
2021-02-15 13:08:21 +01:00
Lars Ingebrigtsen
0bd846c174 Rename minor-modes to local-minor-modes
* doc/lispref/modes.texi (Minor Modes): Update documentation.
* lisp/simple.el (completion-with-modes-p): Change usage.

* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Change usage.

* src/buffer.c: Rename from minor_modes to local_minor_modes
throughout.
(syms_of_buffer): Rename minor-modes to local-minor-modes.

* src/buffer.h (struct buffer): Rename minor_modes_.

* src/pdumper.c (dump_buffer): Update hash and usage.
2021-02-15 13:08:21 +01:00
Stefan Monnier
54e577fbc1 * lisp/emacs-lisp/edebug.el (edebug-&optional, edebug-&rest): Remove vars
According to my tests, `edebug-&optional` never has any effect.
And `edebug-&rest` can be replaced with a closure.

(edebug-&rest-wrapper): Remove function.
(edebug--match-&-spec-op): Use a closure to remember the `specs`.
2021-02-14 23:56:42 -05:00
Stefan Monnier
623e534e49 * lisp/emacs-lisp/byte-run.el (compiler-macro): Make it Edebuggable
* lisp/emacs-lisp/gv.el (gc-expander, gv-setter): Reuse the spec of
`compiler-macro`.
2021-02-14 23:03:04 -05:00
Lars Ingebrigtsen
2594162b23 Make the button completion predicate be more useful
* lisp/simple.el (completion-button-p): Rework from
`completion-at-point-p'.

* lisp/net/shr.el (shr-show-alt-text): It should be possible to
complete to commands that aren't bound to a key.
2021-02-15 04:42:32 +01:00