1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00
Commit Graph

175543 Commits

Author SHA1 Message Date
Cecilio Pardo
4e8bf2977e Support :transform-smoothing on images (MS-Windows) (bug#57166)
* src/dispextern.h (struct image): Add field 'smoothing' for
NTGUI.
* src/image.c (image_set_transform): Assign the 'smoothing'
field of the image struct.
* src/w32gdiplus.h: Add references to more GDI+ functions.
* src/w32image.c (gdiplus_init): Add references to more GDI+
functions.
* src/w32term.c (w32_draw_image_foreground): If the image is
marked for smoothing and GDI+ is available, draw it with GDI+
bilinear interpolation.
* etc/NEWS: New entry for this change.
2024-11-05 14:37:07 +02:00
Eli Zaretskii
8a7910fb67 Make 'yank-media' on MS-Windows require native image APIs
* src/w32select.c (convert_dibv5_to_png) [!HAVE_NATIVE_IMAGE_API]:
Fail if GDI+ cannot be used.  Patch by Cecilio Pardo
<cpardo@imayhem.com>.  (Bug#71909)

* etc/NEWS: Mention this dependency.
2024-11-05 14:29:02 +02:00
Robert Pluim
fb55431c44 ; Fix typos in case-conversion descriptions
* doc/lispref/nonascii.texi (Character Properties): Fix typos.
* doc/lispref/strings.texi (Case Conversion): Fix typos.
(Case Tables): Fix typos.
2024-11-05 12:33:49 +01:00
Stefan Kangas
a0f8fb806f pcomplete/find: Support new GNU find expressions
* 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.
2024-11-05 04:29:23 +01:00
Eli Zaretskii
83f095d1fd ; Fix typo and indexing in the ELisp manual
* doc/lispref/display.texi (Image Descriptors): Fix typo and indexing.
(Defining Images): Fix indexing.
2024-11-04 21:34:25 +02:00
Michael Albinus
37b1799c9e ; Instrument proced-tests.el further
* test/lisp/proced-tests.el
(proced--assert-process-valid-cpu-refinement): Explain also Lisp errors.
2024-11-04 14:24:21 +01:00
Jim Porter
9cfd13ff44 ; * test/lisp/eshell/esh-cmd-tests.el: Fix last change. 2024-11-03 20:21:12 -08:00
Jim Porter
ee87af4f16 Add support for range objects in Eshell "for" loops
* lisp/eshell/esh-cmd.el (eshell-for-iterate): Add support for
'eshell-range' objects.

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/for-loop-range): New
test.

* doc/misc/eshell.texi (Control Flow): Update documentation.

* etc/NEWS: Announce this change.
2024-11-03 20:18:14 -08:00
Jim Porter
ed9ea57e57 Move more of Eshell range handling to the parser phase
* 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.
2024-11-03 20:18:14 -08:00
Jim Porter
4d69d3778a Add QUOTED argument to 'eshell-stringify'
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.
2024-11-03 20:18:14 -08:00
Jim Porter
08d5994b43 Improve handling of Eshell "for" loops
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.
2024-11-03 15:42:26 -08:00
Stefan Kangas
b3c82f939c Mark IDLWAVE as obsolete
* lisp/obsolete/idlw-complete-structtag.el:
* lisp/obsolete/idlw-help.el:
* lisp/obsolete/idlw-shell.el:
* lisp/obsolete/idlw-toolbar.el:
* lisp/obsolete/idlwave.el: Mark as obsolete.  (Bug#71157)

* lisp/files.el (auto-mode-alist): Remove IDLWAVE entry.
* doc/emacs/programs.texi (Program Modes): Remove IDLWAVE from
list of supported languages.
2024-11-03 16:29:40 +01:00
Stefan Kangas
75c5aaae89 Move IDLWAVE to lisp/obsolete
* lisp/progmodes/idlw-complete-structtag.el:
* lisp/progmodes/idlw-help.el:
* lisp/progmodes/idlw-shell.el:
* lisp/progmodes/idlw-toolbar.el:
* lisp/progmodes/idlwave.el: Move from here...
* lisp/obsolete/idlw-complete-structtag.el
* lisp/obsolete/idlw-help.el
* lisp/obsolete/idlw-shell.el
* lisp/obsolete/idlw-toolbar.el
* lisp/obsolete/idlwave.el: ...to here.  (Bug#71157)
2024-11-03 16:29:36 +01:00
Stefan Kangas
378661dcd6 ; Whitespace fix in idlwave.el 2024-11-03 16:27:16 +01:00
Michael Albinus
03fa832b4d Improve Tramp documentation on direct async processes
* doc/misc/tramp.texi (Remote processes): Add another example
enabling direct async processes based on method name.  (Bug#74105)

* etc/NEWS: Rephrase Tramp entry on direct async processes.
2024-11-03 15:48:19 +01:00
Andrea Corallo
53f0151518 * Remove warning introduced by 8e7f5f97db
* lisp/term/w32-win.el (w32--get-clipboard-data-media): Declare.
2024-11-03 15:35:33 +01:00
Cecilio Pardo
8e7f5f97db Add support for 'yank-media' on MS-Windows
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.
2024-11-03 15:12:20 +02:00
Eli Zaretskii
5ee56b8693 ; * etc/NEWS: Announce 'greek-polytonic'. (Bug#73909) 2024-11-03 09:25:51 +02:00
Thanos Apollo
d276f45320 Add greek-polytonic input method 2024-11-03 09:23:27 +02:00
Thanos Apollo
7cda5fa4cf Improve greek input method
* lisp/leim/quail/greek.el ("greek"): Add sequences for DIALYTIKA
TONOS (U+0385) and add proper bindings for double angle quotation
marks.  (Bug#73909)
2024-11-03 09:21:17 +02:00
Stefan Kangas
d1b67b4a1c * etc/symbol-releases.eld: Add 'set-transient-map'. 2024-11-03 07:25:29 +01:00
Stefan Kangas
2a41f4ae76 Remove Emacs 24.4 compat code from which-key
* lisp/which-key.el (which-key--show-page): Remove Emacs 24.4
compatibility code.
2024-11-03 07:25:29 +01:00
Stephen Gildea
d245fb3964 Expand manual section on Time Stamps
* doc/emacs/files.texi (Time Stamps): Add examples of enabling
time stamping with add-hook and setting time-stamp-pattern as a
file-local variable.
2024-11-02 09:45:09 -07:00
Eli Zaretskii
435d7d4292 Fix color-lightening and darkening calculations
* lisp/color.el (color-lighten-hsl): Fix calculations (bug#74055).

* test/lisp/color-tests.el (color-tests-lighten-hsl)
(color-tests-lighten-name, color-tests-darken-hsl)
(color-tests-darken-name): Adjust test results.
2024-11-02 18:15:25 +02:00
Eli Zaretskii
99650746d9 Revert "Fix color-lighten-hsl logic"
This reverts commit 656c2dd66e.
That commit was mistaken, see bug#74055.
2024-11-02 17:36:02 +02:00
Eli Zaretskii
021c0ba116 ; * lisp/progmodes/c-ts-common.el: Fix merging snafu. 2024-11-02 08:42:35 -04:00
Eli Zaretskii
aac4a939f9 Merge from origin/emacs-30
f7b85fe986 Improve documentation of letter-case conversions
2024-11-02 08:38:11 -04:00
Eli Zaretskii
1c7110dade ; Merge from origin/emacs-30
The following commits were skipped:

0f9d48e99c project-tests: Add test assertion for bug#73801
b4b0d5a853 project-try-vc: Fix the "sometimes wrong cache" issue
8113b5c562 Fix bugs in dabbrev-expand (bug#74090)
3101c5031e Fix undefined variable in previous commit (bug#73900)
2024-11-02 08:38:11 -04:00
Eli Zaretskii
a88863d32f Merge from origin/emacs-30
e6a8492fab Fix c-ts-common-comment-indent-new-line (bug#73900)

# Conflicts:
#	lisp/progmodes/c-ts-common.el
2024-11-02 08:37:53 -04:00
Eli Zaretskii
244b1ade49 ; Merge from origin/emacs-30
The following commits were skipped:

df5ac0daf0 Fix the call to treesit-thing-defined-p
7a3c10dcb5 Backport: Call tab-bar-tab-post-open-functions during tab...
2024-11-02 08:34:43 -04:00
Eli Zaretskii
9bc6362d6e Merge from origin/emacs-30
98796f95fa Work on proced-tests.el
8a4d13e370 ; * doc/lispref/frames.texi (Yanking Media): Add index en...
0aae02a374 * lisp/files.el (require-with-check): Be a bit more lenie...
cc6a11f483 (with-peg-rules): Fix references to rulesets (bug#74018)
70f084db2f ; * etc/NEWS: Fix typo (bug#74066).
9e1abf11fc Tweak doc w.r.t to "void function" (bug#73886)
7a8ca202c5 Fix flakey proced refine tests (Bug#73441)
55a8cec013 Another 'void' update
2024-11-02 08:34:42 -04:00
Eli Zaretskii
74d3232522 ; * lisp/net/eww.el (eww--html buffer-list): Fix comment style. 2024-11-02 13:33:36 +02:00
Sebastián Monía
6a0c2b8729 More lax doctype check in EWW (bug#73133)
The regexp to match doctype tags was simplified and will match
more legacy entries; also correct binding of 'case-fold-search'.
* lisp/net/eww.el (eww--html buffer-list): Update function.
2024-11-02 13:32:06 +02:00
Eli Zaretskii
0a6d46228d ; * src/nsterm.m (ns_draw_fringe_bitmap): Fix coding style. 2024-11-02 13:16:41 +02:00
Daniel Pettersson
87358e9404 Fix inconsistency in bitmap overlay drawing for macOS
* src/nsterm.m (ns_draw_fringe_bitmap): Respect 'overlay_p',
by not clearing fringe if set, as its done in xterm.  (Bug#71763)
2024-11-02 13:15:13 +02:00
Stefan Kangas
4df832750c Don't start docstrings with "This function"
* lisp/calculator.el (calculator-add-operators):
* lisp/erc/erc-log.el (erc-generate-log-file-name-with-date)
(erc-generate-log-file-name-short):
* lisp/eshell/esh-mode.el (eshell-begin-on-new-line):
* lisp/progmodes/hideif.el (hif-merge-ifdef-region):
* lisp/tab-bar.el (tab-bar--event-to-item):
* lisp/textmodes/artist.el (artist-no-rb-unset-point2)
(artist-no-rb-unset-points):
* lisp/which-key.el (which-key--hide-popup): Don't start function
docstrings with "This function".
2024-11-01 23:56:12 +01:00
Stefan Kangas
471716c67d Mark unused reftex variable as obsolete
* lisp/textmodes/reftex-vars.el
(reftex-toc-split-windows-horizontally-fraction): Mark unused variable
as obsolete in favor of 'reftex-toc-split-windows-fraction'.
2024-11-01 23:56:07 +01:00
Jim Porter
673c906a5b Improve evaluation of conditional Eshell forms
This simplifies the logic for building these forms and also fixes an
issue where a subcommand in a "&&" or "||" conditional had its output
suppressed.

* lisp/eshell/esh-cmd.el (eshell-structure-basic-command): Make
obsolete.
(eshell-silence-test-command): New function...
(eshell-rewrite-while-command, eshell-rewrite-if-command): ... use it,
and make the command form ourselves.
(eshell-parse-pipeline): Use 'and' and 'or' to make the conditional
command sequence.
(eshell-command-success): New macro.
(eshell-do-eval): Add support for 'and' and 'or' forms.

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/and-operator/output)
(esh-cmd-test/or-operator/output): New tests.
2024-11-01 11:41:21 -07:00
Stephen Gildea
ffda8dfe84 ; time-stamp: Reformat some long doc strings for clarity.
* lisp/time-stamp.el (time-stamp-format, time-stamp-pattern): Reformat
doc strings for clarity.
(group time-stamp): is a subgroup of "files", not "data".
The "data" group seems to be for editing non-text files.
* test/lisp/time-stamp-tests.el: Fix tense of some doc strings.
2024-11-01 09:36:07 -07:00
Eli Zaretskii
f7b85fe986 Improve documentation of letter-case conversions
* doc/lispref/nonascii.texi (Character Properties):
* doc/lispref/strings.texi (Case Conversion, Case Tables):
Document that special-casing rules override the case-table
conversions.  (Bug#74155)
2024-11-01 16:39:39 +02:00
Manuel Giraud
872be2bb5f New `tmm-menubar' shortcut display style
Bug#74111
* lisp/tmm.el (tmm-shortcut-inside-entry): New user option to
control if the shortcut character is highlighted inside the menu
entry's string.
(tmm-add-one-shortcut): Compute the new shortcut style.
(tmm-add-prompt, tmm-completion-prompt): Adapt the completion
prompt according to the shortcut display style.
(tmm-prompt): Adapt the prompt regexp.
(tmm-shortcut): Simplify default case and make it work with this
change.
* etc/NEWS: Announce the option.
2024-11-01 14:08:29 +02:00
Eli Zaretskii
1863028742 Revert "Remove undefined variable from c-ts-common.el"
This reverts commit 9ff155183c.
This problem was already fixed on the release branch m and
the fix will merged soon.  (Bug#74149)
2024-11-01 09:18:01 +02:00
Jim Porter
9682d385c1 Improve correctness of Eshell globs when using escape characters
This new implementation opts *in* to treating characters as glob
characters, rather than opting out.  This reduces the need to coordinate
with other parts of Eshell and should be harder to break (bug#74033).

* lisp/eshell/em-glob.el (eshell-parse-glob-chars): Return the
propertized globbing character directly.
(eshell--propertize-glob, eshell--glob-char-p)
(eshell--contains-glob-char-p, eshell--all-glob-chars-p): New functions.
(eshell-glob-p): Make obsolete.
(eshell-glob-regexp, eshell-glob-convert-1, eshell-glob-convert): Check
for 'eshell-glob-char' property.
(eshell-extended-glob): Remove text properties when returning no match.
(eshell--glob-anything): New constant.
(eshell-glob-entries): Propertize "*" to treat it as a glob.

* lisp/eshell/em-ls.el (eshell-ls--expand-wildcards): New function...
(eshell-ls--insert-directory): ... use it.

* test/lisp/eshell/em-glob-tests.el: Use 'eshell--propertize-glob' in
tests.
(em-glob-test/convert/literal-characters)
(em-glob-test/convert/mixed-literal-characters): New tests.

* lisp/eshell/em-glob.el (eshell-expand-glob): Rename from
'eshell-extended-glob'.  Update callers.
(eshell-extended-glob): New function to expand a GLOB that hasn't been
propertized yet, for use outside of Eshell command forms.
(eshell-parse-glob-chars): Return the propertized globbing character
directly.
(eshell-parse-glob-string, eshell--glob-char-p)
(eshell--contains-glob-char-p, eshell--all-glob-chars-p): New functions.
(eshell-glob-regexp, eshell-glob-convert-1, eshell-glob-convert): Check
for 'eshell-glob-char' property.
(eshell-glob-p): Make obsolete.
(eshell--glob-anything): New constant...
(eshell-glob-entries): ... use it.

* lisp/eshell/em-ls.el (eshell-ls--expand-wildcards): New function...
(eshell-ls--insert-directory): ... use it.

* test/lisp/eshell/em-glob-tests.el: Use 'eshell-parse-glob-string in
tests.
(em-glob-test/convert/literal-characters)
(em-glob-test/convert/mixed-literal-characters): New tests.
2024-10-31 22:38:10 -07:00
Jim Porter
98e24e369a Fix and improve behavior of 'eshell/clear'
* lisp/eshell/esh-mode.el (eshell-clear): New function.
(eshell/clear): Fix incorrect behavior, and do the right thing when
'eshell-scroll-show-maximum-output' is nil.
(eshell/clear-scrollback): Call 'eshell/clear'.

* test/lisp/eshell/esh-mode-tests.el
(esh-mode-test/clear/eshell-command)
(esh-mode-test/clear/eshell-command/erase)
(esh-mode-test/clear/emacs-command)
(esh-mode-test/clear/emacs-command/erase): New tests.

* etc/NEWS: Mention the new 'eshell-command' (bug#73722).
2024-10-31 22:36:16 -07:00
Steven Allen
9ff155183c Remove undefined variable from c-ts-common.el
This variable came from code copied from c-indent-new-comment-line.
It's a parameter meant to be used by c-context-line-break, not a
global variable.

* lisp/progmodes/c-ts-common.el (c-ts-common-comment-indent-new-line):
Remove reference to undefined variable.  (Bug#74149)
2024-11-01 02:17:24 +01:00
Dmitry Gutov
0f9d48e99c project-tests: Add test assertion for bug#73801
* test/lisp/progmodes/project-tests.el
(project-vc-extra-root-markers-supports-wildcards): End with a
check that we didn't cache a wrong value for parent (bug#73801).

(cherry picked from commit 94a9e40e82)
2024-11-01 02:35:08 +02:00
Dmitry Gutov
b4b0d5a853 project-try-vc: Fix the "sometimes wrong cache" issue
* lisp/progmodes/project.el (project-try-vc--search):
Extract from 'project-try-vc'.
(project-try-vc): Use it.
(project-try-vc--search): Call itself recursively directly, to
avoid creating invalid cache entry (bug#73801).

(cherry picked from commit 29b30eb49f)
2024-11-01 02:34:36 +02:00
Dmitry Gutov
94a9e40e82 project-tests: Add test assertion for bug#73801
* test/lisp/progmodes/project-tests.el
(project-vc-extra-root-markers-supports-wildcards): End with a
check that we didn't cache a wrong value for parent (bug#73801).
2024-11-01 02:32:10 +02:00
Jim Porter
33997047e8 Don't remove trailing slash in Eshell "pwd" for remote root directories
* lisp/eshell/em-dirs.el (eshell/pwd): Check if 'file-local-name' of the
directory is the root dir.
2024-10-31 10:37:24 -07:00
Robert Pluim
9fe7b8ca41 ; * lisp/vc/smerge-mode.el: Fix typo in comment. 2024-10-31 16:28:44 +01:00