[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
The operating system groups files into directories. To specify a file, you must specify the directory and the file's name within that directory. Therefore, Emacs considers a file name as having two main parts: the directory name part, and the nondirectory part (or file name within the directory). Either part may be empty. Concatenating these two parts reproduces the original file name.
On most systems, the directory part is everything up to and including the last slash (backslash is also allowed in input on MS-DOS or MS-Windows); the nondirectory part is the rest. The rules in VMS syntax are complicated.
For some purposes, the nondirectory part is further subdivided into the name proper and the version number. On most systems, only backup files have version numbers in their names. On VMS, every file has a version number, but most of the time the file name actually used in Emacs omits the version number, so that version numbers in Emacs are found mostly in directory lists.
This function returns the directory part of filename, as a directory
name (voir la section Directory Names), or nil
if filename does not
include a directory part.
On GNU and Unix systems, a string returned by this function always ends in a slash. On MS-DOS it can also end in a colon. On VMS, it returns a string ending in one of the three characters ‘:’, ‘]’, or ‘>’.
(file-name-directory "lewis/foo") ; Unix example ⇒ "lewis/" (file-name-directory "foo") ; Unix example ⇒ nil (file-name-directory "[X]FOO.TMP") ; VMS example ⇒ "[X]" |
This function returns the nondirectory part of filename.
(file-name-nondirectory "lewis/foo")
⇒ "foo"
(file-name-nondirectory "foo")
⇒ "foo"
(file-name-nondirectory "lewis/")
⇒ ""
;; The following example is accurate only on VMS.
(file-name-nondirectory "[X]FOO.TMP")
⇒ "FOO.TMP"
|
This function returns filename with any file version numbers, backup version numbers, or trailing tildes discarded.
If keep-backup-version is non-nil
, then true file version
numbers understood as such by the file system are discarded from the return
value, but backup version numbers are kept.
(file-name-sans-versions "~rms/foo.~1~")
⇒ "~rms/foo"
(file-name-sans-versions "~rms/foo~")
⇒ "~rms/foo"
(file-name-sans-versions "~rms/foo")
⇒ "~rms/foo"
;; The following example applies to VMS only.
(file-name-sans-versions "foo;23")
⇒ "foo"
|
This function returns filename's final “extension,” if any, after
applying file-name-sans-versions
to remove any version/backup part.
The extension, in a file name, is the part that starts with the last
‘.’ in the last name component (minus any version/backup part).
This function returns nil
for extensionless file names such as
‘foo’. It returns ""
for null extensions, as in ‘foo.’.
If the last component of a file name begins with a ‘.’, that ‘.’
doesn't count as the beginning of an extension. Thus, ‘.emacs’'s
“extension” is nil
, not ‘.emacs’.
If period is non-nil
, then the returned value includes the
period that delimits the extension, and if filename has no extension,
the value is ""
.
This function returns filename minus its extension, if any. The version/backup part, if present, is only removed if the file has an extension. For example,
(file-name-sans-extension "foo.lose.c") ⇒ "foo.lose" (file-name-sans-extension "big.hack/foo") ⇒ "big.hack/foo" (file-name-sans-extension "/my/home/.emacs") ⇒ "/my/home/.emacs" (file-name-sans-extension "/my/home/.emacs.el") ⇒ "/my/home/.emacs" (file-name-sans-extension "~/foo.el.~3~") ⇒ "~/foo" (file-name-sans-extension "~/foo.~3~") ⇒ "~/foo.~3~" |
Note that the ‘.~3~’ in the two last examples is the backup part, not an extension.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.