Files
emacs/lisp
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
..
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-04 01:38:11 +02:00
2024-10-04 01:38:11 +02:00
2024-10-24 16:50:07 +08:00
2024-09-07 06:25:15 -04:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-06-23 16:40:06 +02:00
2024-07-18 11:46:50 +02:00
2024-07-18 11:46:50 +02:00
2024-07-18 11:46:50 +02:00
2024-10-24 16:50:07 +08:00
2024-07-18 11:46:50 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-26 14:52:29 -04:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-04 01:38:11 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-27 08:23:06 -04:00
2024-09-02 21:02:09 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-04 01:38:11 +02:00
2024-07-20 02:42:08 +02:00
2024-10-24 16:50:07 +08:00
2024-07-20 02:42:08 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-09-08 19:17:48 +03:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-18 17:56:08 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-07-20 02:42:08 +02:00
2024-10-20 08:03:08 +03:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-09-08 19:17:48 +03:00
2024-10-04 01:38:11 +02:00
2024-07-20 02:42:08 +02:00
2024-10-24 16:50:07 +08:00
2024-10-08 09:01:47 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-07-20 02:42:08 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-07-20 02:42:08 +02:00
2024-10-24 16:50:07 +08:00
2024-08-04 10:47:16 +03:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-07-20 02:42:08 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00
2024-10-19 11:34:41 +03:00
2024-09-28 07:59:16 -04:00
2024-09-21 07:32:38 -04:00
2024-10-24 16:50:07 +08:00
2024-07-18 11:46:50 +02:00
2024-10-24 16:50:07 +08:00
2024-10-24 16:50:07 +08:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.