[comp.emacs] monkey.el symbolic link bug

rich@wiley.UUCP (11/12/87)

Monkey.el does not correctly mark symbolic links with '@' under Sun
UNIX version 4.3.  Monkey uses the file-symlink-p standard function,
but gives it a relative pathname instead of a full path name.
Unfortunately, file-symlink-p calls readlink(2), which expects a full
path name.  This is probably a gunemacs documentation bug, since the
documentation string for file-symlink-p does not make this
distinction.

Fix: stuff the path name onto the front of the file name before calling
file-symlink-p.  My fix also checks for symbolic links before
directories -- this is a personal preference, making a symbolic link
to a directory show up as '@' instead of '/'.

Context diff follows:
----------------------------------------------------------------------
*** monkey.el	Thu Nov 12 12:53:35 1987
--- monkey.el.fixed	Thu Nov 12 12:47:20 1987
***************
*** 450,457 ****
      (insert
       " "
       (cond (monkey-be-fast ??)
  	   ((file-directory-p name) ?/)
- 	   ((file-symlink-p name) ?@)
  	   ((file-readable-p name) " ")
  	   (t ??)))
      (insert-char 32 indent-spaces)
--- 450,457 ----
      (insert
       " "
       (cond (monkey-be-fast ??)
+ 	   ((file-symlink-p (concat default-directory name)) ?@)
  	   ((file-directory-p name) ?/)
  	   ((file-readable-p name) " ")
  	   (t ??)))
      (insert-char 32 indent-spaces)
-- 
					... Rich Messenger
					    {cit-vax,trwrb}!wiley!rich
					    wiley!rich@csvax.caltech.edu