Index: libnautilus-private/apps_nautilus_preferences.schemas.in
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/apps_nautilus_preferences.schemas.in,v
retrieving revision 1.13
diff -u -r1.13 apps_nautilus_preferences.schemas.in
--- libnautilus-private/apps_nautilus_preferences.schemas.in	10 Dec 2003 13:13:06 -0000	1.13
+++ libnautilus-private/apps_nautilus_preferences.schemas.in	22 Dec 2003 22:13:45 -0000
@@ -425,6 +425,21 @@
       </locale>
     </schema>
     
+    <schema>
+      <key>/schemas/apps/nautilus/preferences/follow_symbolic_links</key>
+      <applyto>/apps/nautilus/preferences/follow_symbolic_links</applyto>
+      <owner>nautilus</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+         <short>Follow symlinks</short>
+         <long>
+	 If set to true, then Nautilus will follow symlinks instead of resolving
+	 them.
+         </long>
+      </locale>
+    </schema>
+    
     <!-- Icon View -->
 
     <schema>
Index: libnautilus-private/nautilus-file.c
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-file.c,v
retrieving revision 1.332
diff -u -r1.332 nautilus-file.c
--- libnautilus-private/nautilus-file.c	18 Dec 2003 11:06:43 -0000	1.332
+++ libnautilus-private/nautilus-file.c	22 Dec 2003 22:13:48 -0000
@@ -2604,8 +2604,8 @@
 		return g_strdup (file->details->activation_uri);
 	}
 
-	/* If the file is a symbolic link, we return the file the link points at */
-	if (nautilus_file_is_symbolic_link (file)) {
+	if (nautilus_file_is_symbolic_link (file) &&
+	    eel_preferences_get_boolean (NAUTILUS_PREFERENCES_FOLLOW_SYMBOLIC_LINKS)) {
 		return nautilus_file_get_symbolic_link_target_uri (file);
 	}
 	
Index: libnautilus-private/nautilus-global-preferences.c
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-global-preferences.c,v
retrieving revision 1.212
diff -u -r1.212 nautilus-global-preferences.c
--- libnautilus-private/nautilus-global-preferences.c	6 Nov 2003 16:07:01 -0000	1.212
+++ libnautilus-private/nautilus-global-preferences.c	22 Dec 2003 22:13:48 -0000
@@ -404,6 +404,10 @@
 	  PREFERENCE_BOOLEAN,
 	  GINT_TO_POINTER (FALSE)
 	},
+	{ NAUTILUS_PREFERENCES_FOLLOW_SYMBOLIC_LINKS,
+	  PREFERENCE_BOOLEAN,
+	  GINT_TO_POINTER (TRUE)
+	},
 	/* FIXME bugzilla.gnome.org 41245: Saved in pixels instead of in %? */
 	{ NAUTILUS_PREFERENCES_SIDEBAR_WIDTH,
 	  PREFERENCE_INTEGER,
Index: libnautilus-private/nautilus-global-preferences.h
===================================================================
RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-global-preferences.h,v
retrieving revision 1.120
diff -u -r1.120 nautilus-global-preferences.h
--- libnautilus-private/nautilus-global-preferences.h	6 Nov 2003 16:07:01 -0000	1.120
+++ libnautilus-private/nautilus-global-preferences.h	22 Dec 2003 22:13:48 -0000
@@ -66,6 +66,7 @@
 /* Navigation  */
 #define NAUTILUS_PREFERENCES_HOME_URI                 		"preferences/home_uri"
 #define NAUTILUS_PREFERENCES_HIDE_BUILT_IN_BOOKMARKS		"preferences/hide_built_in_bookmarks"
+#define NAUTILUS_PREFERENCES_FOLLOW_SYMBOLIC_LINKS		"preferences/follow_symbolic_links"
 
 /* Single/Double click preference  */
 #define NAUTILUS_PREFERENCES_CLICK_POLICY			"preferences/click_policy"
