Merge branch 'master' into 'master'
Fix: directory followed symlinks with :follow-links nil I'm on Linux. I'm looking at a directory that contains both physical directories and symbolic links to directories. ### What I would expect: ```common-lisp (directory "/path/to/dir/*.*" :check-for-subdirs t :follow-links t :truenamep nil) ``` will show both (because it will show everything in that directory) and mark both types as directories with trailing slashes. ```common-lisp (directory "/path/to/dir/*.*" :check-for-subdirs t :follow-links nil :truenamep nil) ``` will again show all files but only add trailing slashes to the physical subdirectories. ### What actually happens Both commands give me the same output. That is because `directory` calls `unix:unix-file-kind` to categorise files into directory/link/etc., which internally calls `stat`. It will only use `lstat` if the second, optional argument is passed as **t**. In default mode (the way it currently is) symlinks to directories will be assigned the type :directory regardless of the flags passed to `directory`. I believe the change contained in this merge request is thus the correct fix. See merge request !15
No related branches found
No related tags found
Please register or sign in to comment