* lisp/pcmpl-gnu.el (pcomplete/find): Remove -newerxy flag.
This flag is not used verbatim like that, and we already complete
the "-newer" flag, which should be all that users need.
Problem reported by Juri Linkov <juri@linkov.net>.
* lisp/progmodes/make-mode.el (makefile-gnumake-functions-alist):
Add missing GNU Make functions, according to The GNU Make Manual
0.75 for GNU Make, and reorder the list of functions. (Bug#74207)
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Use the
'display-line-numbers-disable' property instead of setting the
variable 'display-line-numbers', to avoid global effects.
(Bug#73005)
* lisp/tmm.el (tmm-clear-self-insert-and-exit): New function to
clear the minibuffer content then call `self-insert-and-exit'.
(tmm-define-keys): Use it.
(tmm-goto-completions): Explain why. (Bug#74166)
* lisp/emacs-lisp/vtable.el (vtable--compute-columns): If a column
was not created with an explicit 'align' property, allow changing
this property when the column data changes from numeric to
non-numeric (or vice versa). This makes it possible to add data to
an empty table, because in a table without data all columns are
assumed to be numeric and right-aligned. (Bug#73775)
* doc/misc/tramp.texi (Ad-hoc multi-hops): New subsection "Using
different proxies for the same destination".
* etc/NEWS: Tramp supports different proxies for the same
destination host name in parallel.
Fix typos.
* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Fix docstring.
* lisp/net/tramp.el (tramp-make-tramp-file-name): Don't call
`tramp-add-hops' during file name completion.
(tramp-handle-file-name-as-directory)
(tramp-handle-file-name-directory): Use `tramp-cache-undefined'
for an empty `tramp-default-proxies-alist'.
(tramp-add-hops): Extend. Remove existing entries with same
target and different proxy, if needed. (Bug#74219)
* lisp/time-stamp.el (time-stamp-string-preprocess): %P variations;
allow (and ignore) "*", "E", and "O" as modifier characters.
(time-stamp-inserts-lines): safe-local-variable only if booleanp
* lisp/progmodes/python.el (python-font-lock-keywords-level-2)
(python--treesit-special-attributes): Update special attributes,
making it current for Python 3.13.
* lisp/subr.el (when, unless): Return nil when the body is empty.
Reported by Brennan Vincent.
* test/lisp/subr-tests.el (subr-test-when): Add test cases.
(cherry picked from commit 9ee9154247)
Reported by Brennan Vincent.
* lisp/subr.el (when, unless): Return nil when the body is empty.
* test/lisp/subr-tests.el (subr-test-when): Add test cases.
* lisp/pcmpl-gnu.el (pcomplete/find): Add expressions from new GNU find:
"-newerxy" (4.3.3) and "-files0-from" (4.9.0). This list is now
complete as of GNU findutils 4.10.0, released on 2024-06-01.
* lisp/eshell/esh-util.el (eshell-range): New struct.
(eshell--range-string-p, eshell--string-to-range): New functions.
* lisp/eshell/esh-arg.el (eshell-parse-integer)
(eshell-parse-range-token): New functions...
(eshell-parse-argument-hook): ... add them.
(eshell--after-range-token-regexp): New defsubst.
(eshell-concat-1): Don't remove the 'number' property; we use that when
handling range arguments.
(eshell--range-token): New constant.
(eshell-unmark-range-token): New function.
* lisp/eshell/esh-var.el (eshell-parse-index): Update implementation to
use parsed range argument.
* test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-var-indices):
Test range index using variables.
This will make it easier to reconstitute numbers that we converted to
strings.
* lisp/eshell/esh-util.el (eshell--numeric-string-p): New function.
(eshell-stringify, eshell-stringify-list): Add QUOTED argument.
(eshell-convert, eshell-list-to-string): Stringify as quoted.
* lisp/eshell/esh-arg.el (eshell--numberlike-p): Remove.
(eshell-concat-1): Pass along QUOTED.
* lisp/eshell/esh-cmd.el (eshell-lisp-command): Use
'eshell--numeric-string-p'.
* lisp/eshell/esh-var.el (eshell-parse-variable):
* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Stringify as
quoted.
This fixes some errors with more-complex string forms, and also allows
iterating over sequences other than just lists.
* lisp/eshell/esh-cmd.el (eshell-for-iterate): New function...
(eshell-rewrite-for-command): ... use it.
* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/for-loop): Test
multiple values.
(esh-cmd-test/for-loop-string, esh-cmd-test/for-loop-vector): New tests.
(esh-cmd-test/for-loop-mixed-args): Rename.
* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/sentinel/change-buffer): Make sure all the processes get
cleaned up.
Adds the capacity to handle types different from strings to the
clipboard management functions on MS-Windows, and some logic
required to convert media types names and content to be what
yank-media and the modes that use it expect (bug#71909).
* lisp/term/w32-win.el (w32--selection-target-translations): New
variable that holds the name translations for media types.
(w32--translate-selection-target): New function, translate the
name of a media type.
(w32--translate-reverse-selection-target): New function, reverse
translation.
(w32--get-selection): Modified to translate target names when
asked for targets, and retrieve media types when asked for them.
(w32--mime-type-textual-p): New function, checks if a MIME type
is textual.
* lisp/textmodes/sgml-mode.el (html-mode--image-yank-handler):
Fixed the image save mechanism, that added line feed characters
on MS-Windows, breaking binary formats.
* src/w32image.c (gdiplus_init): Modified to fetch more
functions fromm gdiplus.
(get_encoder_clsid): Renamed to 'w32_gdip_get_encoder_clsid'
and made nonstatic.
(gdiplus_startup): Renamed to 'w32_gdiplus_startup' and
made nonstatic.
* src/w32select.c (stdfmt_name): Made global, was static
function.
(convert_dibv5_to_png): New function to convert DIBV5 clipboard
format to PNG.
(get_clipboard_format_name): New function get the name of a
format given its index.
(Fw32__get_clipboard_data_media): New function, retrieves and
converts media content.
(syms_of_w32select): Export new lisp functions.
* src/w32gdiplus.h: New file, for definitions in w32image.c
* doc/lispref/frames.texi: Updated with MS-Windows support.
* etc/NEWS: Added entry about new feature.