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 [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/fileio.c [lexbind]
Date: Thu, 11 Nov 2004 23:43:11 -0500

Index: emacs/src/fileio.c
diff -c emacs/src/fileio.c:1.449.2.21 emacs/src/fileio.c:1.449.2.22
*** emacs/src/fileio.c:1.449.2.21       Thu Nov  4 13:12:22 2004
--- emacs/src/fileio.c  Fri Nov 12 04:21:14 2004
***************
*** 3366,3372 ****
  }
  
  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;
  {
--- 3366,3373 ----
  }
  
  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;
  {
***************
*** 5712,5728 ****
  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,
--- 5713,5733 ----
  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,
***************
*** 6174,6179 ****
--- 6179,6201 ----
    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.
***************
*** 6306,6315 ****
    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;
--- 6328,6334 ----
    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;
***************
*** 6694,6699 ****
--- 6713,6719 ----
  
    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]