emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/macfns.c,v


From: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] Changes to emacs/src/macfns.c,v
Date: Fri, 22 Dec 2006 08:27:27 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     YAMAMOTO Mitsuharu <mituharu>   06/12/22 08:27:27

Index: macfns.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/macfns.c,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -b -r1.99 -r1.100
--- macfns.c    15 Dec 2006 08:05:18 -0000      1.99
+++ macfns.c    22 Dec 2006 08:27:27 -0000      1.100
@@ -1969,9 +1969,9 @@
     {
       AEDesc desc;
 #ifdef MAC_OSX
-      FSRef fref;
+      FSRef fref, fref_proxy;
 #else
-      FSSpec fss;
+      FSSpec fss, fss_proxy;
 #endif
       Boolean changed;
       Lisp_Object encoded_file_name = ENCODE_FILE (file_name);
@@ -1997,10 +1997,19 @@
        {
          if (alias)
            {
+             /* (FS)ResolveAlias never sets `changed' to true if
+                `alias' is minimal.  */
 #ifdef MAC_OSX
-             err = FSUpdateAlias (NULL, &fref, alias, &changed);
+             err = FSResolveAlias (NULL, alias, &fref_proxy, &changed);
+             if (err == noErr)
+               err = FSCompareFSRefs (&fref, &fref_proxy);
 #else
-             err = UpdateAlias (NULL, &fss, alias, &changed);
+             err = ResolveAlias (NULL, alias, &fss_proxy, &changed);
+             if (err == noErr)
+               err = !(fss.vRefNum == fss_proxy.vRefNum
+                       && fss.parID == fss_proxy.parID
+                       && EqualString (fss.name, fss_proxy.name,
+                                       false, true));
 #endif
            }
          if (err != noErr || alias == NULL)
@@ -2051,11 +2060,11 @@
         confusing.  */
       || (!MINI_WINDOW_P (w)
          && (modified_p != !NILP (w->last_had_star))))
+    {
     SetWindowModified (FRAME_MAC_WINDOW (f),
                       !MINI_WINDOW_P (w) && modified_p);
-
-  if (windows_or_buffers_changed)
     mac_update_proxy_icon (f);
+    }
 #endif
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]