Files
emacs/test/lisp
Kévin Le Gouguec 53bd2d57f3 Recognize shebang lines that pass '-S/--split-string' to 'env'
* etc/NEWS: announce the change.

* lisp/files.el (auto-mode-interpreter-regexp): Add optional '-S'
switch to the ignored group capturing the env invocation.
Allow multiple spaces between #!, interpreter and first argument:
empirically, Linux's 'execve' accepts that.  (Bug#66902)

* test/lisp/files-tests.el (files-tests--check-shebang): New helper to
generate a temporary file with a given interpreter line, and assert
that the mode picked by 'set-auto-mode' is derived from an expected
mode.  Write the 'should' form so that failure reports include useful
context; for example:

    (ert-test-failed
     ((should
       (equal (list shebang actual-mode) (list shebang expected-mode)))
      :form
      (equal ("#!/usr/bin/env -S make -f" fundamental-mode)
	     ("#!/usr/bin/env -S make -f" makefile-mode))
      :value nil :explanation
      (list-elt 1 (different-atoms fundamental-mode makefile-mode))))

* test/lisp/files-tests.el (files-tests-auto-mode-interpreter): New
test; exercise some aspects of 'interpreter-mode-alist'.
2023-11-19 11:05:26 +02:00
..
2023-01-01 05:31:12 -05:00
2023-10-28 05:06:21 -04:00
2023-09-23 09:32:57 -04:00
2023-01-01 05:31:12 -05:00
2023-11-18 06:07:48 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-09-04 18:25:18 +02:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:47:47 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-10-12 11:02:53 +02:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-03-02 14:21:33 +02:00
2023-01-01 05:47:47 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00