diff options
author | Miles Bader <miles@gnu.org> | 2007-01-01 03:21:06 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2007-01-01 03:21:06 +0000 |
commit | 4c34eeeee5886d14f3e60b77fb563cb549c8896f (patch) | |
tree | af17010f0864173dd6416585f08d686377791412 /src/macfns.c | |
parent | 76acf92ebe73e35528c5966a21328305ba7b5aef (diff) | |
parent | db6292445840e2795f35ebad62a14314fc3c7c21 (diff) | |
download | emacs-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.c | 27 |
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 } |