]> code.delx.au - gnu-emacs/blobdiff - src/macfns.c
*** empty log message ***
[gnu-emacs] / src / macfns.c
index f7594e9c6c215b5e5f509762d6016c2634d44a9c..88f975a65c88f6cf9ab972a3302b3c34acd0edec 100644 (file)
@@ -4247,6 +4247,7 @@ specified.  Ensure that file exists if MUSTMATCH is non-nil.  */)
     NavUserAction userAction;
     CFStringRef message=NULL, client=NULL, saveName = NULL;
     
+    BLOCK_INPUT;
     /* No need for a callback function because we are modal */
     NavGetDefaultDialogCreationOptions(&options);
     options.modality = kWindowModalityAppModal;
@@ -4317,9 +4318,7 @@ specified.  Ensure that file exists if MUSTMATCH is non-nil.  */)
        AEDisposeDesc(&defLocAed);
       }
 
-      BLOCK_INPUT;
       status = NavDialogRun(dialogRef);
-      UNBLOCK_INPUT;
     }
 
     if (saveName) CFRelease(saveName);
@@ -4332,9 +4331,7 @@ specified.  Ensure that file exists if MUSTMATCH is non-nil.  */)
        {
        case kNavUserActionNone:
        case kNavUserActionCancel:
-         NavDialogDispose(dialogRef);
-         Fsignal (Qquit, Qnil);  /* Treat cancel like C-g */
-         return;
+         break;                /* Treat cancel like C-g */
        case kNavUserActionOpen:
        case kNavUserActionChoose:
        case kNavUserActionSaveAs:
@@ -4369,6 +4366,7 @@ specified.  Ensure that file exists if MUSTMATCH is non-nil.  */)
                               dir, mustmatch, dir, Qfile_name_history,
                               default_filename, Qnil);
     }
+    UNBLOCK_INPUT;
   }
 
   UNGCPRO;