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


From: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] Changes to emacs/src/macfns.c
Date: Fri, 04 Mar 2005 06:08:55 -0500

Index: emacs/src/macfns.c
diff -c emacs/src/macfns.c:1.51 emacs/src/macfns.c:1.52
*** emacs/src/macfns.c:1.51     Thu Feb  3 11:56:47 2005
--- emacs/src/macfns.c  Fri Mar  4 11:08:54 2005
***************
*** 2294,2301 ****
  
  /* Create and set up the Mac window for frame F.  */
  
- extern OSErr install_window_handler (WindowPtr);
- 
  static void
  mac_window (f)
       struct frame *f;
--- 2294,2299 ----
***************
*** 4356,4362 ****
        options.actionButtonLabel = CFSTR ("Ok");
        options.windowTitle = CFSTR ("Enter name");
  
!       if (!NILP(default_filename))
          {
            Lisp_Object utf8 = ENCODE_UTF_8 (default_filename);
            char *begPtr = SDATA(utf8);
--- 4354,4360 ----
        options.actionButtonLabel = CFSTR ("Ok");
        options.windowTitle = CFSTR ("Enter name");
  
!       if (STRINGP (default_filename))
          {
            Lisp_Object utf8 = ENCODE_UTF_8 (default_filename);
            char *begPtr = SDATA(utf8);
***************
*** 4381,4402 ****
        }
      
      /* Set the default location and continue*/
!     if (status == noErr) {
!       if (!NILP(dir)) {
!       FSRef defLoc;
        AEDesc defLocAed;
        status = FSPathMakeRef(SDATA(ENCODE_FILE(dir)), &defLoc, NULL);
        if (status == noErr) 
          {
            AECreateDesc(typeFSRef, &defLoc, sizeof(FSRef), &defLocAed);
            NavCustomControl(dialogRef, kNavCtlSetLocation, (void*) &defLocAed);
            AEDisposeDesc(&defLocAed);
          }
        }
  
-       status = NavDialogRun(dialogRef);
-     }
- 
      if (saveName) CFRelease(saveName);
      if (message) CFRelease(message);
  
--- 4379,4407 ----
        }
      
      /* Set the default location and continue*/
!     if (status == noErr)
!       {
        AEDesc defLocAed;
+ #ifdef MAC_OSX
+       FSRef defLoc;
        status = FSPathMakeRef(SDATA(ENCODE_FILE(dir)), &defLoc, NULL);
+ #else
+       FSSpec defLoc;
+       status = posix_pathname_to_fsspec (SDATA (ENCODE_FILE (dir)), &defLoc);
+ #endif
        if (status == noErr) 
          {
+ #ifdef MAC_OSX
            AECreateDesc(typeFSRef, &defLoc, sizeof(FSRef), &defLocAed);
+ #else
+           AECreateDesc(typeFSS, &defLoc, sizeof(FSSpec), &defLocAed);
+ #endif
            NavCustomControl(dialogRef, kNavCtlSetLocation, (void*) &defLocAed);
            AEDisposeDesc(&defLocAed);
          }
+       status = NavDialogRun(dialogRef);
        }
  
      if (saveName) CFRelease(saveName);
      if (message) CFRelease(message);
  
***************
*** 4413,4423 ****
--- 4418,4439 ----
          {
            NavReplyRecord reply;
            AEDesc aed;
+ #ifdef MAC_OSX
            FSRef fsRef;
+ #else
+           FSSpec fs;
+ #endif
            status = NavDialogGetReply(dialogRef, &reply);
+ 
+ #ifdef MAC_OSX
            AECoerceDesc(&reply.selection, typeFSRef, &aed);
            AEGetDescData(&aed, (void *) &fsRef, sizeof (FSRef));
            FSRefMakePath(&fsRef, (UInt8 *) filename, sizeof (filename));
+ #else
+           AECoerceDesc (&reply.selection, typeFSS, &aed);
+           AEGetDescData (&aed, (void *) &fs, sizeof (FSSpec));
+           fsspec_to_posix_pathname (&fs, filename, sizeof (filename) - 1);
+ #endif
            AEDisposeDesc(&aed);
            if (reply.saveFileName)
              {




reply via email to

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