本節ではさまざまな種類のファイル、つまり、 ディレクトリ、シンボリックリンク、普通のファイルを区別する方法を 説明します。
ファイルfilenameがシンボリックリンクであると、 関数
file-symlink-pは当該リンクが指すファイルの名前を返す。 これは、テキストファイル、ディレクトリ、別のシンボリックリンク、 存在しないファイルの名前のいずれかである。ファイルfilenameがシンボリックリンクでない (あるいは当該ファイルが存在しない)場合、
file-symlink-pはnilを返す。(file-symlink-p "foo") => nil (file-symlink-p "sym-link") => "foo" (file-symlink-p "sym-link2") => "sym-link" (file-symlink-p "/bin") => "/pub/bin"
ファイルfilenameが既存ディレクトリの名前であると
tを返し、 さもなければnilを返す。(file-directory-p "~rms") => t (file-directory-p "~rms/lewis/files.texi") => nil (file-directory-p "~rms/lewis/no-such-file") => nil (file-directory-p "$HOME") => nil (file-directory-p (substitute-in-file-name "$HOME")) => t