diff options
| -rw-r--r-- | doc/lispref/files.texi | 12 | ||||
| -rw-r--r-- | etc/NEWS | 31 | ||||
| -rw-r--r-- | lisp/files.el | 18 |
3 files changed, 31 insertions, 30 deletions
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index dd9ce2cd011..5238597a465 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi | |||
| @@ -718,7 +718,7 @@ Emacs can then detect the first attempt to modify a buffer visiting a | |||
| 718 | file that is locked by another Emacs job, and ask the user what to do. | 718 | file that is locked by another Emacs job, and ask the user what to do. |
| 719 | The file lock is really a file, a symbolic link with a special name, | 719 | The file lock is really a file, a symbolic link with a special name, |
| 720 | stored in the same directory as the file you are editing. The name is | 720 | stored in the same directory as the file you are editing. The name is |
| 721 | constructed by prepending @file{.#} to the filename of the buffer. | 721 | constructed by prepending @file{.#} to the file name of the buffer. |
| 722 | The target of the symbolic link will be of the form | 722 | The target of the symbolic link will be of the form |
| 723 | @code{@var{user}@@@var{host}.@var{pid}:@var{boot}}, where @var{user} | 723 | @code{@var{user}@@@var{host}.@var{pid}:@var{boot}}, where @var{user} |
| 724 | is replaced with the current username (from @code{user-login-name}), | 724 | is replaced with the current username (from @code{user-login-name}), |
| @@ -1932,7 +1932,7 @@ is a symbolic link and @var{flag} is @code{nofollow}. | |||
| 1932 | 1932 | ||
| 1933 | @defun set-file-extended-attributes filename attribute-alist | 1933 | @defun set-file-extended-attributes filename attribute-alist |
| 1934 | This function sets the Emacs-recognized extended file attributes for | 1934 | This function sets the Emacs-recognized extended file attributes for |
| 1935 | @code{filename}. The second argument @var{attribute-alist} should be | 1935 | @var{filename}. The second argument @var{attribute-alist} should be |
| 1936 | an alist of the same form returned by @code{file-extended-attributes}. | 1936 | an alist of the same form returned by @code{file-extended-attributes}. |
| 1937 | The return value is @code{t} if the attributes are successfully set, | 1937 | The return value is @code{t} if the attributes are successfully set, |
| 1938 | otherwise it is @code{nil}. | 1938 | otherwise it is @code{nil}. |
| @@ -2145,7 +2145,7 @@ stripped if there is one. For example: | |||
| 2145 | 2145 | ||
| 2146 | Note that this function will error if @var{filename} or | 2146 | Note that this function will error if @var{filename} or |
| 2147 | @var{extension} are empty, or if the @var{filename} is shaped like a | 2147 | @var{extension} are empty, or if the @var{filename} is shaped like a |
| 2148 | directory (i.e. if @code{directory-name-p} returns non-@code{nil}). | 2148 | directory (i.e., if @code{directory-name-p} returns non-@code{nil}). |
| 2149 | @end defun | 2149 | @end defun |
| 2150 | 2150 | ||
| 2151 | @defun file-name-sans-extension filename | 2151 | @defun file-name-sans-extension filename |
| @@ -2434,7 +2434,7 @@ might begin with a literal @samp{~}, you can use @code{(concat | |||
| 2434 | (file-name-as-directory directory) filename)} instead of | 2434 | (file-name-as-directory directory) filename)} instead of |
| 2435 | @code{(expand-file-name filename directory)}. | 2435 | @code{(expand-file-name filename directory)}. |
| 2436 | 2436 | ||
| 2437 | Filenames containing @samp{.} or @samp{..} are simplified to their | 2437 | File names containing @samp{.} or @samp{..} are simplified to their |
| 2438 | canonical form: | 2438 | canonical form: |
| 2439 | 2439 | ||
| 2440 | @example | 2440 | @example |
| @@ -3476,11 +3476,11 @@ identifies the remote system. | |||
| 3476 | 3476 | ||
| 3477 | This identifier string can include a host name and a user name, as | 3477 | This identifier string can include a host name and a user name, as |
| 3478 | well as characters designating the method used to access the remote | 3478 | well as characters designating the method used to access the remote |
| 3479 | system. For example, the remote identifier string for the filename | 3479 | system. For example, the remote identifier string for the file name |
| 3480 | @code{/sudo::/some/file} is @code{/sudo:root@@localhost:}. | 3480 | @code{/sudo::/some/file} is @code{/sudo:root@@localhost:}. |
| 3481 | 3481 | ||
| 3482 | If @code{file-remote-p} returns the same identifier for two different | 3482 | If @code{file-remote-p} returns the same identifier for two different |
| 3483 | filenames, that means they are stored on the same file system and can | 3483 | file names, that means they are stored on the same file system and can |
| 3484 | be accessed locally with respect to each other. This means, for | 3484 | be accessed locally with respect to each other. This means, for |
| 3485 | example, that it is possible to start a remote process accessing both | 3485 | example, that it is possible to start a remote process accessing both |
| 3486 | files at the same time. Implementers of file name handlers need to | 3486 | files at the same time. Implementers of file name handlers need to |
| @@ -173,7 +173,7 @@ looking at the doc string of a function that belongs to one of these | |||
| 173 | groups. | 173 | groups. |
| 174 | 174 | ||
| 175 | --- | 175 | --- |
| 176 | ** Improved "find definition" feature of *Help* buffers. | 176 | ** Improved "find definition" feature of "*Help*" buffers. |
| 177 | Now clicking on the link to find the definition of functions generated | 177 | Now clicking on the link to find the definition of functions generated |
| 178 | by 'cl-defstruct', or variables generated by 'define-derived-mode', | 178 | by 'cl-defstruct', or variables generated by 'define-derived-mode', |
| 179 | for example, will go to the exact place where they are defined. | 179 | for example, will go to the exact place where they are defined. |
| @@ -906,7 +906,7 @@ String or list of strings specifying switches for Git log under VC. | |||
| 906 | +++ | 906 | +++ |
| 907 | *** New Summary buffer sort options for extra headers. | 907 | *** New Summary buffer sort options for extra headers. |
| 908 | The extra header sort option ('C-c C-s C-x') prompts for a header | 908 | The extra header sort option ('C-c C-s C-x') prompts for a header |
| 909 | and fails if no sort function has been defined. Sorting by | 909 | and fails if no sort function has been defined. Sorting by |
| 910 | Newsgroups ('C-c C-s C-u') has been pre-defined. | 910 | Newsgroups ('C-c C-s C-u') has been pre-defined. |
| 911 | 911 | ||
| 912 | +++ | 912 | +++ |
| @@ -1176,8 +1176,8 @@ can provide a better overview in a long list of available bindings. | |||
| 1176 | *** New keybinding 'C-h R' prompts for a manual to display and displays it. | 1176 | *** New keybinding 'C-h R' prompts for a manual to display and displays it. |
| 1177 | 1177 | ||
| 1178 | --- | 1178 | --- |
| 1179 | *** Closing the *Help* buffer from the toolbar now buries the buffer. | 1179 | *** Closing the "*Help*" buffer from the toolbar now buries the buffer. |
| 1180 | In previous Emacs versions, the *Help* buffer was killed instead when | 1180 | In previous Emacs versions, the "*Help*" buffer was killed instead when |
| 1181 | clicking the "X" icon in the tool bar. | 1181 | clicking the "X" icon in the tool bar. |
| 1182 | 1182 | ||
| 1183 | +++ | 1183 | +++ |
| @@ -1232,10 +1232,11 @@ There's also a Cham greeting in "etc/HELLO". | |||
| 1232 | 1232 | ||
| 1233 | --- | 1233 | --- |
| 1234 | *** New input methods for Lakota language orthographies. | 1234 | *** New input methods for Lakota language orthographies. |
| 1235 | Two orthographies are represented here, the Suggested Lakota Orthography | 1235 | Two orthographies are represented here, the Suggested Lakota |
| 1236 | and what is known as the White Hat Orthography. Input methods lakota-slo-prefix, | 1236 | Orthography and what is known as the White Hat Orthography. Input |
| 1237 | lakota-slo-postfix, and lakota-white-hat-postfix have been added. | 1237 | methods 'lakota-slo-prefix', 'lakota-slo-postfix', and |
| 1238 | There is also a Lakota greeting in "etc/HELLO". | 1238 | 'lakota-white-hat-postfix' have been added. There is also a Lakota |
| 1239 | greeting in "etc/HELLO". | ||
| 1239 | 1240 | ||
| 1240 | ** Ispell | 1241 | ** Ispell |
| 1241 | 1242 | ||
| @@ -2137,7 +2138,7 @@ Shift while typing 'C-a', i.e. 'C-S-a', will now highlight the text. | |||
| 2137 | 2138 | ||
| 2138 | +++ | 2139 | +++ |
| 2139 | *** ERT can now output more verbose test failure reports. | 2140 | *** ERT can now output more verbose test failure reports. |
| 2140 | If the EMACS_TEST_VERBOSE environment variable is set, failure | 2141 | If the 'EMACS_TEST_VERBOSE' environment variable is set, failure |
| 2141 | summaries will include the failing condition. | 2142 | summaries will include the failing condition. |
| 2142 | 2143 | ||
| 2143 | ** Miscellaneous | 2144 | ** Miscellaneous |
| @@ -2148,7 +2149,7 @@ This can be used to transform (and suppress) strings from entering the | |||
| 2148 | kill ring. | 2149 | kill ring. |
| 2149 | 2150 | ||
| 2150 | --- | 2151 | --- |
| 2151 | *** `C-u M-x dig' will now prompt for a query type to use. | 2152 | *** 'C-u M-x dig' will now prompt for a query type to use. |
| 2152 | 2153 | ||
| 2153 | +++ | 2154 | +++ |
| 2154 | *** rcirc now supports SASL authentication. | 2155 | *** rcirc now supports SASL authentication. |
| @@ -2592,10 +2593,6 @@ GPG key servers can now be queried for keys with the | |||
| 2592 | 'M-x epa-search-keys' command. Keys can then be added to your | 2593 | 'M-x epa-search-keys' command. Keys can then be added to your |
| 2593 | personal key ring. | 2594 | personal key ring. |
| 2594 | 2595 | ||
| 2595 | +++ | ||
| 2596 | ** Function 'lm-maintainer' was replaced with 'lm-maintainers'. | ||
| 2597 | The former is now declared obsolete. | ||
| 2598 | |||
| 2599 | 2596 | ||
| 2600 | * New Modes and Packages in Emacs 28.1 | 2597 | * New Modes and Packages in Emacs 28.1 |
| 2601 | 2598 | ||
| @@ -2905,6 +2902,10 @@ These variables describe facts about the SQL standard and | |||
| 2905 | product-specific additions. There should be no need for users to | 2902 | product-specific additions. There should be no need for users to |
| 2906 | customize them. | 2903 | customize them. |
| 2907 | 2904 | ||
| 2905 | --- | ||
| 2906 | ** Function 'lm-maintainer' is replaced with 'lm-maintainers'. | ||
| 2907 | The former is now declared obsolete. | ||
| 2908 | |||
| 2908 | 2909 | ||
| 2909 | * Lisp Changes in Emacs 28.1 | 2910 | * Lisp Changes in Emacs 28.1 |
| 2910 | 2911 | ||
| @@ -3078,7 +3079,7 @@ been added, and takes a callback to handle the return status. | |||
| 3078 | +++ | 3079 | +++ |
| 3079 | ** New function 'file-name-with-extension'. | 3080 | ** New function 'file-name-with-extension'. |
| 3080 | This function allows a canonical way to set/replace the extension of a | 3081 | This function allows a canonical way to set/replace the extension of a |
| 3081 | filename string. | 3082 | file name. |
| 3082 | 3083 | ||
| 3083 | +++ | 3084 | +++ |
| 3084 | ** New function 'file-backup-file-names'. | 3085 | ** New function 'file-backup-file-names'. |
diff --git a/lisp/files.el b/lisp/files.el index 39f4ca65b1d..859c193db99 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -1011,7 +1011,7 @@ Any directory whose name matches this regexp will be treated like | |||
| 1011 | a kind of root directory by `locate-dominating-file', which will stop its | 1011 | a kind of root directory by `locate-dominating-file', which will stop its |
| 1012 | search when it bumps into it. | 1012 | search when it bumps into it. |
| 1013 | The default regexp prevents fruitless and time-consuming attempts to find | 1013 | The default regexp prevents fruitless and time-consuming attempts to find |
| 1014 | special files in directories in which filenames are interpreted as hostnames, | 1014 | special files in directories in which file names are interpreted as host names, |
| 1015 | or mount points potentially requiring authentication as a different user.") | 1015 | or mount points potentially requiring authentication as a different user.") |
| 1016 | 1016 | ||
| 1017 | (defun locate-dominating-file (file name) | 1017 | (defun locate-dominating-file (file name) |
| @@ -2959,7 +2959,7 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|CBR\\|7Z\\|SQUASHFS\\)\\'" . | |||
| 2959 | ("\\.xmp\\'" . image-mode) | 2959 | ("\\.xmp\\'" . image-mode) |
| 2960 | ("\\.xwd\\'" . image-mode) | 2960 | ("\\.xwd\\'" . image-mode) |
| 2961 | ("\\.yuv\\'" . image-mode))) | 2961 | ("\\.yuv\\'" . image-mode))) |
| 2962 | "Alist of filename patterns vs corresponding major mode functions. | 2962 | "Alist of file name patterns vs corresponding major mode functions. |
| 2963 | Each element looks like (REGEXP . FUNCTION) or (REGEXP FUNCTION NON-NIL). | 2963 | Each element looks like (REGEXP . FUNCTION) or (REGEXP FUNCTION NON-NIL). |
| 2964 | \(NON-NIL stands for anything that is not nil; the value does not matter.) | 2964 | \(NON-NIL stands for anything that is not nil; the value does not matter.) |
| 2965 | Visiting a file whose name matches REGEXP specifies FUNCTION as the | 2965 | Visiting a file whose name matches REGEXP specifies FUNCTION as the |
| @@ -3152,7 +3152,7 @@ To find the right major mode, this function checks for a -*- mode tag | |||
| 3152 | checks for a `mode:' entry in the Local Variables section of the file, | 3152 | checks for a `mode:' entry in the Local Variables section of the file, |
| 3153 | checks if it uses an interpreter listed in `interpreter-mode-alist', | 3153 | checks if it uses an interpreter listed in `interpreter-mode-alist', |
| 3154 | matches the buffer beginning against `magic-mode-alist', | 3154 | matches the buffer beginning against `magic-mode-alist', |
| 3155 | compares the filename against the entries in `auto-mode-alist', | 3155 | compares the file name against the entries in `auto-mode-alist', |
| 3156 | then matches the buffer beginning against `magic-fallback-mode-alist'. | 3156 | then matches the buffer beginning against `magic-fallback-mode-alist'. |
| 3157 | 3157 | ||
| 3158 | If `enable-local-variables' is nil, or if the file name matches | 3158 | If `enable-local-variables' is nil, or if the file name matches |
| @@ -4901,8 +4901,8 @@ The extension (in a file name) is the part that begins with the last \".\". | |||
| 4901 | Trims a leading dot from the EXTENSION so that either \"foo\" or | 4901 | Trims a leading dot from the EXTENSION so that either \"foo\" or |
| 4902 | \".foo\" can be given. | 4902 | \".foo\" can be given. |
| 4903 | 4903 | ||
| 4904 | Errors if the filename or extension are empty, or if the given | 4904 | Errors if the FILENAME or EXTENSION are empty, or if the given |
| 4905 | filename has the format of a directory. | 4905 | FILENAME has the format of a directory. |
| 4906 | 4906 | ||
| 4907 | See also `file-name-sans-extension'." | 4907 | See also `file-name-sans-extension'." |
| 4908 | (let ((extn (string-trim-left extension "[.]"))) | 4908 | (let ((extn (string-trim-left extension "[.]"))) |
| @@ -4941,7 +4941,7 @@ See also `backup-directory-alist'." | |||
| 4941 | (function :tag "Function"))) | 4941 | (function :tag "Function"))) |
| 4942 | 4942 | ||
| 4943 | (defcustom backup-directory-alist nil | 4943 | (defcustom backup-directory-alist nil |
| 4944 | "Alist of filename patterns and backup directory names. | 4944 | "Alist of file name patterns and backup directory names. |
| 4945 | Each element looks like (REGEXP . DIRECTORY). Backups of files with | 4945 | Each element looks like (REGEXP . DIRECTORY). Backups of files with |
| 4946 | names matching REGEXP will be made in DIRECTORY. DIRECTORY may be | 4946 | names matching REGEXP will be made in DIRECTORY. DIRECTORY may be |
| 4947 | relative or absolute. If it is absolute, so that all matching files | 4947 | relative or absolute. If it is absolute, so that all matching files |
| @@ -4954,7 +4954,7 @@ For the common case of all backups going into one directory, the alist | |||
| 4954 | should contain a single element pairing \".\" with the appropriate | 4954 | should contain a single element pairing \".\" with the appropriate |
| 4955 | directory name. | 4955 | directory name. |
| 4956 | 4956 | ||
| 4957 | If this variable is nil, or it fails to match a filename, the backup | 4957 | If this variable is nil, or it fails to match a file name, the backup |
| 4958 | is made in the original file's directory. | 4958 | is made in the original file's directory. |
| 4959 | 4959 | ||
| 4960 | On MS-DOS filesystems without long names this variable is always | 4960 | On MS-DOS filesystems without long names this variable is always |
| @@ -6780,7 +6780,7 @@ See also `make-auto-save-file-name'." | |||
| 6780 | 6780 | ||
| 6781 | (defun wildcard-to-regexp (wildcard) | 6781 | (defun wildcard-to-regexp (wildcard) |
| 6782 | "Given a shell file name pattern WILDCARD, return an equivalent regexp. | 6782 | "Given a shell file name pattern WILDCARD, return an equivalent regexp. |
| 6783 | The generated regexp will match a filename only if the filename | 6783 | The generated regexp will match a file name only if the file name |
| 6784 | matches that wildcard according to shell rules. Only wildcards known | 6784 | matches that wildcard according to shell rules. Only wildcards known |
| 6785 | by `sh' are supported." | 6785 | by `sh' are supported." |
| 6786 | (let* ((i (string-match "[[.*+\\^$?]" wildcard)) | 6786 | (let* ((i (string-match "[[.*+\\^$?]" wildcard)) |
| @@ -7500,7 +7500,7 @@ If the current frame has no client, kill Emacs itself using | |||
| 7500 | 7500 | ||
| 7501 | With prefix ARG, silently save all file-visiting buffers, then kill. | 7501 | With prefix ARG, silently save all file-visiting buffers, then kill. |
| 7502 | 7502 | ||
| 7503 | If emacsclient was started with a list of filenames to edit, then | 7503 | If emacsclient was started with a list of file names to edit, then |
| 7504 | only these files will be asked to be saved." | 7504 | only these files will be asked to be saved." |
| 7505 | (interactive "P") | 7505 | (interactive "P") |
| 7506 | (if (frame-parameter nil 'client) | 7506 | (if (frame-parameter nil 'client) |