emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/files.el


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/files.el
Date: Sun, 19 May 2002 11:55:04 -0400

Index: emacs/lisp/files.el
diff -c emacs/lisp/files.el:1.573 emacs/lisp/files.el:1.574
*** emacs/lisp/files.el:1.573   Tue May 14 01:36:21 2002
--- emacs/lisp/files.el Sun May 19 11:55:04 2002
***************
*** 551,561 ****
  If SUFFIXES is non-nil, it should be a list of suffixes to append to
  file name when searching.  If SUFFIXES is nil, it is equivalent to '(\"\").
  If non-nil, PREDICATE is used instead of `file-readable-p'.
! PREDICATE can also be an integer to pass to the access(2) function,
! in which case file-name-handlers are ignored (this use is deprecated).
! For compatibility with XEmacs, PREDICATE can also be a symbol among
! `executable', `readable', `writable', or `exists' or a list of one
! of those symbols."
    (if (and predicate (symbolp predicate) (not (functionp predicate)))
        (setq predicate (list predicate)))
    (when (and (consp predicate) (not (functionp predicate)))
--- 551,562 ----
  If SUFFIXES is non-nil, it should be a list of suffixes to append to
  file name when searching.  If SUFFIXES is nil, it is equivalent to '(\"\").
  If non-nil, PREDICATE is used instead of `file-readable-p'.
! PREDICATE can also be an integer to pass to the `access' system call,
! in which case file-name handlers are ignored.  This usage is deprecated.
! 
! For compatibility, PREDICATE can also be one of the symbols
! `executable', `readable', `writable', or `exists', or a list of
! one or more of those symbols."
    (if (and predicate (symbolp predicate) (not (functionp predicate)))
        (setq predicate (list predicate)))
    (when (and (consp predicate) (not (functionp predicate)))
***************
*** 768,781 ****
      (pop-to-buffer buffer t norecord)
      (raise-frame (window-frame (selected-window)))))
  
  (defun find-file (filename &optional wildcards)
    "Edit file FILENAME.
  Switch to a buffer visiting file FILENAME,
  creating one if none already exists.
  Interactively, or if WILDCARDS is non-nil in a call from Lisp,
  expand wildcards (if any) and visit multiple files.  Wildcard expansion
  can be suppressed by setting `find-file-wildcards'."
!   (interactive "FFind file: \np")
    (let ((value (find-file-noselect filename nil nil wildcards)))
      (if (listp value)
        (mapcar 'switch-to-buffer (nreverse value))
--- 769,800 ----
      (pop-to-buffer buffer t norecord)
      (raise-frame (window-frame (selected-window)))))
  
+ (defun find-file-read-args (prompt)
+   (list (let ((find-file-default
+              (and buffer-file-name
+                   (abbreviate-file-name buffer-file-name)))
+             (minibuffer-setup-hook
+              '((lambda ()
+                  (setq minibuffer-default find-file-default)
+                  ;; Clear out this hook so it does not interfere
+                  ;; with any recursive minibuffer usage.
+                  (setq minibuffer-setup-hook nil)))))
+         (read-file-name prompt nil default-directory))
+       current-prefix-arg))
+ 
  (defun find-file (filename &optional wildcards)
    "Edit file FILENAME.
  Switch to a buffer visiting file FILENAME,
  creating one if none already exists.
+ Interactively, the default if you just type RET is the current directory,
+ but the visited file name is available through the minibuffer history:
+ type M-n to pull it into the minibuffer.
+ 
  Interactively, or if WILDCARDS is non-nil in a call from Lisp,
  expand wildcards (if any) and visit multiple files.  Wildcard expansion
  can be suppressed by setting `find-file-wildcards'."
!   (interactive
!    (find-file-read-args "Find file: "))
    (let ((value (find-file-noselect filename nil nil wildcards)))
      (if (listp value)
        (mapcar 'switch-to-buffer (nreverse value))
***************
*** 785,793 ****
    "Edit file FILENAME, in another window.
  May create a new window, or reuse an existing one.
  See the function `display-buffer'.
  Interactively, or if WILDCARDS is non-nil in a call from Lisp,
  expand wildcards (if any) and visit multiple files."
!   (interactive "FFind file in other window: \np")
    (let ((value (find-file-noselect filename nil nil wildcards)))
      (if (listp value)
        (progn
--- 804,817 ----
    "Edit file FILENAME, in another window.
  May create a new window, or reuse an existing one.
  See the function `display-buffer'.
+ 
+ Interactively, the default if you just type RET is the current directory,
+ but the visited file name is available through the minibuffer history:
+ type M-n to pull it into the minibuffer.
+ 
  Interactively, or if WILDCARDS is non-nil in a call from Lisp,
  expand wildcards (if any) and visit multiple files."
!   (interactive (find-file-read-args "FFind file in other window: "))
    (let ((value (find-file-noselect filename nil nil wildcards)))
      (if (listp value)
        (progn
***************
*** 800,808 ****
    "Edit file FILENAME, in another frame.
  May create a new frame, or reuse an existing one.
  See the function `display-buffer'.
  Interactively, or if WILDCARDS is non-nil in a call from Lisp,
  expand wildcards (if any) and visit multiple files."
!   (interactive "FFind file in other frame: \np")
    (let ((value (find-file-noselect filename nil nil wildcards)))
      (if (listp value)
        (progn
--- 824,837 ----
    "Edit file FILENAME, in another frame.
  May create a new frame, or reuse an existing one.
  See the function `display-buffer'.
+ 
+ Interactively, the default if you just type RET is the current directory,
+ but the visited file name is available through the minibuffer history:
+ type M-n to pull it into the minibuffer.
+ 
  Interactively, or if WILDCARDS is non-nil in a call from Lisp,
  expand wildcards (if any) and visit multiple files."
!   (interactive (find-file-read-args "FFind file in other frame: "))
    (let ((value (find-file-noselect filename nil nil wildcards)))
      (if (listp value)
        (progn
***************
*** 813,821 ****
  
  (defun find-file-read-only (filename &optional wildcards)
    "Edit file FILENAME but don't allow changes.
! Like `find-file' but marks buffer as read-only.
  Use \\[toggle-read-only] to permit editing."
!   (interactive "fFind file read-only: \np")
    (find-file filename wildcards)
    (toggle-read-only 1)
    (current-buffer))
--- 842,850 ----
  
  (defun find-file-read-only (filename &optional wildcards)
    "Edit file FILENAME but don't allow changes.
! Like \\[find-file] but marks buffer as read-only.
  Use \\[toggle-read-only] to permit editing."
!   (interactive (find-file-read-args "fFind file read-only: "))
    (find-file filename wildcards)
    (toggle-read-only 1)
    (current-buffer))
***************
*** 824,830 ****
    "Edit file FILENAME in another window but don't allow changes.
  Like \\[find-file-other-window] but marks buffer as read-only.
  Use \\[toggle-read-only] to permit editing."
!   (interactive "fFind file read-only other window: \np")
    (find-file-other-window filename wildcards)
    (toggle-read-only 1)
    (current-buffer))
--- 853,859 ----
    "Edit file FILENAME in another window but don't allow changes.
  Like \\[find-file-other-window] but marks buffer as read-only.
  Use \\[toggle-read-only] to permit editing."
!   (interactive (find-file-read-args "fFind file read-only other window: "))
    (find-file-other-window filename wildcards)
    (toggle-read-only 1)
    (current-buffer))
***************
*** 833,839 ****
    "Edit file FILENAME in another frame but don't allow changes.
  Like \\[find-file-other-frame] but marks buffer as read-only.
  Use \\[toggle-read-only] to permit editing."
!   (interactive "fFind file read-only other frame: \np")
    (find-file-other-frame filename wildcards)
    (toggle-read-only 1)
    (current-buffer))
--- 862,868 ----
    "Edit file FILENAME in another frame but don't allow changes.
  Like \\[find-file-other-frame] but marks buffer as read-only.
  Use \\[toggle-read-only] to permit editing."
!   (interactive (find-file-read-args "fFind file read-only other frame: "))
    (find-file-other-frame filename wildcards)
    (toggle-read-only 1)
    (current-buffer))



reply via email to

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