summaryrefslogtreecommitdiff
path: root/src/macfns.c
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2007-01-01 03:21:06 +0000
committerMiles Bader <miles@gnu.org>2007-01-01 03:21:06 +0000
commit4c34eeeee5886d14f3e60b77fb563cb549c8896f (patch)
treeaf17010f0864173dd6416585f08d686377791412 /src/macfns.c
parent76acf92ebe73e35528c5966a21328305ba7b5aef (diff)
parentdb6292445840e2795f35ebad62a14314fc3c7c21 (diff)
downloademacs-4c34eeeee5886d14f3e60b77fb563cb549c8896f.tar.gz
emacs-4c34eeeee5886d14f3e60b77fb563cb549c8896f.tar.bz2
emacs-4c34eeeee5886d14f3e60b77fb563cb549c8896f.zip
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 563-582) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 177-185) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-158
Diffstat (limited to 'src/macfns.c')
-rw-r--r--src/macfns.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/macfns.c b/src/macfns.c
index a5de3edeec6..962f837c152 100644
--- a/src/macfns.c
+++ b/src/macfns.c
@@ -1969,9 +1969,9 @@ mac_update_proxy_icon (f)
{
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 @@ mac_update_proxy_icon (f)
{
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 @@ mac_update_title_bar (f, save_match_data)
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);
+ {
+ SetWindowModified (FRAME_MAC_WINDOW (f),
+ !MINI_WINDOW_P (w) && modified_p);
+ mac_update_proxy_icon (f);
+ }
#endif
}