* fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
authorMichael Albinus <michael.albinus@gmx.de>
Thu, 10 Apr 2008 20:35:54 +0000 (20:35 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Thu, 10 Apr 2008 20:35:54 +0000 (20:35 +0000)
only after check for file name handler functions. Signal, when
native functionality is not supported.
(syms_of_fileio): Declare it unconditionally.

src/ChangeLog
src/fileio.c

index 34edb23..3e222ec 100644 (file)
@@ -1,3 +1,10 @@
+2008-04-10  Michael Albinus  <michael.albinus@gmx.de>
+
+       * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
+       only after check for file name handler functions. Signal, when
+       native functionality is not supported.
+       (syms_of_fileio): Declare it unconditionally.
+
 2008-04-10  Jason Rumney  <jasonr@gnu.org>
 
        * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
index 6433fe9..f9f3740 100644 (file)
@@ -2878,7 +2878,6 @@ This is what happens in interactive use with M-x.  */)
   return Qnil;
 }
 
-#ifdef S_IFLNK
 DEFUN ("make-symbolic-link", Fmake_symbolic_link, Smake_symbolic_link, 2, 3,
        "FMake symbolic link to file: \nGMake symbolic link to file %s: \np",
        doc: /* Make a symbolic link to FILENAME, named LINKNAME.
@@ -2923,6 +2922,7 @@ This happens for interactive use with M-x.  */)
     RETURN_UNGCPRO (call4 (handler, Qmake_symbolic_link, filename,
                           linkname, ok_if_already_exists));
 
+#ifdef S_IFLNK
   encoded_filename = ENCODE_FILE (filename);
   encoded_linkname = ENCODE_FILE (linkname);
 
@@ -2949,8 +2949,13 @@ This happens for interactive use with M-x.  */)
     }
   UNGCPRO;
   return Qnil;
-}
+
+#else
+  UNGCPRO;
+  xsignal1 (Qfile_error, build_string ("Symbolic links are not supported"));
+
 #endif /* S_IFLNK */
+}
 
 #ifdef VMS
 
@@ -6637,9 +6642,7 @@ A non-nil value may result in data loss!  */);
   defsubr (&Sdelete_file);
   defsubr (&Srename_file);
   defsubr (&Sadd_name_to_file);
-#ifdef S_IFLNK
   defsubr (&Smake_symbolic_link);
-#endif /* S_IFLNK */
 #ifdef VMS
   defsubr (&Sdefine_logical_name);
 #endif /* VMS */