emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/fileio.c [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/fileio.c [emacs-unicode-2]
Date: Thu, 11 Nov 2004 22:18:53 -0500

Index: emacs/src/fileio.c
diff -c emacs/src/fileio.c:1.492.2.25 emacs/src/fileio.c:1.492.2.26
*** emacs/src/fileio.c:1.492.2.25       Thu Nov  4 08:55:31 2004
--- emacs/src/fileio.c  Fri Nov 12 02:52:55 2004
***************
*** 3371,3377 ****
  }
  
  DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0,
!        doc: /* Return mode bits of file named FILENAME, as an integer.  */)
       (filename)
       Lisp_Object filename;
  {
--- 3371,3378 ----
  }
  
  DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0,
!        doc: /* Return mode bits of file named FILENAME, as an integer.
! Return nil, if file does not exist or is not accessible.  */)
       (filename)
       Lisp_Object filename;
  {
***************
*** 5628,5644 ****
  auto_save_1 ()
  {
    struct stat st;
  
    /* Get visited file's mode to become the auto save file's mode.  */
!   if (! NILP (current_buffer->filename)
!       && stat (SDATA (current_buffer->filename), &st) >= 0)
!     /* But make sure we can overwrite it later!  */
!     auto_save_mode_bits = st.st_mode | 0600;
!   else if (! NILP (current_buffer->filename))
!     /* Remote files don't cooperate with stat.  */
!     auto_save_mode_bits = XINT (Ffile_modes (current_buffer->filename)) | 
0600;
!   else
!     auto_save_mode_bits = 0666;
  
    return
      Fwrite_region (Qnil, Qnil,
--- 5629,5649 ----
  auto_save_1 ()
  {
    struct stat st;
+   Lisp_Object modes;
+ 
+   auto_save_mode_bits = 0666;
  
    /* Get visited file's mode to become the auto save file's mode.  */
!   if (! NILP (current_buffer->filename))
!     {
!       if (stat (SDATA (current_buffer->filename), &st) >= 0)
!       /* But make sure we can overwrite it later!  */
!       auto_save_mode_bits = st.st_mode | 0600;
!       else if ((modes = Ffile_modes (current_buffer->filename),
!               INTEGERP (modes)))
!       /* Remote files don't cooperate with stat.  */
!       auto_save_mode_bits = XINT (modes) | 0600;
!     }
  
    return
      Fwrite_region (Qnil, Qnil,
***************
*** 6090,6095 ****
--- 6095,6117 ----
    return Ffile_exists_p (string);
  }
  
+ DEFUN ("next-read-file-uses-dialog-p", Fnext_read_file_uses_dialog_p,
+        Snext_read_file_uses_dialog_p, 0, 0, 0,
+        doc: /* Return t if a call to `read-file-name' will use a dialog.
+ The return value is only relevant for a call to `read-file-name' that happens
+ before any other event (mouse or keypress) is handeled.  */)
+   ()
+ {
+ #if defined (USE_MOTIF) || defined (HAVE_NTGUI) || defined (USE_GTK) || 
defined (TARGET_API_MAC_CARBON)
+   if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event))
+       && use_dialog_box
+       && use_file_dialog
+       && have_menus_p ())
+     return Qt;
+ #endif
+   return Qnil;
+ }
+ 
  DEFUN ("read-file-name", Fread_file_name, Sread_file_name, 1, 6, 0,
         doc: /* Read file name, prompting with PROMPT and completing in 
directory DIR.
  Value is not expanded---you must call `expand-file-name' yourself.
***************
*** 6222,6231 ****
    GCPRO2 (insdef, default_filename);
  
  #if defined (USE_MOTIF) || defined (HAVE_NTGUI) || defined (USE_GTK) || 
defined (TARGET_API_MAC_CARBON)
!   if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event))
!       && use_dialog_box
!       && use_file_dialog
!       && have_menus_p ())
      {
        /* If DIR contains a file name, split it.  */
        Lisp_Object file;
--- 6244,6250 ----
    GCPRO2 (insdef, default_filename);
  
  #if defined (USE_MOTIF) || defined (HAVE_NTGUI) || defined (USE_GTK) || 
defined (TARGET_API_MAC_CARBON)
!   if (! NILP (Fnext_read_file_uses_dialog_p ()))
      {
        /* If DIR contains a file name, split it.  */
        Lisp_Object file;
***************
*** 6610,6615 ****
--- 6629,6635 ----
  
    defsubr (&Sread_file_name_internal);
    defsubr (&Sread_file_name);
+   defsubr (&Snext_read_file_uses_dialog_p);
  
  #ifdef unix
    defsubr (&Sunix_sync);




reply via email to

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