[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/simple.el
From: |
Kim F. Storm |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/simple.el |
Date: |
Sat, 01 Jun 2002 17:56:01 -0400 |
Index: emacs/lisp/simple.el
diff -c emacs/lisp/simple.el:1.547 emacs/lisp/simple.el:1.548
*** emacs/lisp/simple.el:1.547 Fri May 31 20:00:29 2002
--- emacs/lisp/simple.el Sat Jun 1 17:56:01 2002
***************
*** 3778,3788 ****
(delete-char len)))
(defvar choose-completion-string-functions nil
! "List of functions which may override the standard
`choose-completion-string'.
! Each function in the list is called in turn with arguments CHOICE BUFFER
BASE-SIZE
! like choose-completion-string. If a function in the list returns non-nil,
that
! function is supposed to have inserted the completion in the minibuffer.
! If all functions in the list return nil, use the default completion
selection.")
;; Switch to BUFFER and insert the completion choice CHOICE.
;; BASE-SIZE, if non-nil, says how many characters of BUFFER's text
--- 3778,3792 ----
(delete-char len)))
(defvar choose-completion-string-functions nil
! "Functions that may override the normal insertion of a completion choice.
! These functions are called in order with four arguments:
! CHOICE - the string to insert in the buffer,
! BUFFER - the buffer in which the choice should be inserted,
! MINI-P - non-nil iff BUFFER is a minibuffer, and
! BASE-SIZE - the part of BUFFER which isn't part of completion.
! If a function in the list returns non-nil, that function is supposed
! to have inserted the CHOICE in the BUFFER, and possibly exited
! the minibuffer; no further functions will be called.")
;; Switch to BUFFER and insert the completion choice CHOICE.
;; BASE-SIZE, if non-nil, says how many characters of BUFFER's text
***************
*** 3792,3802 ****
;; unless it is reading a file name and CHOICE is a directory,
;; or completion-no-auto-exit is non-nil.
(defun choose-completion-string (choice &optional buffer base-size)
- (unless (run-hook-with-args-until-success
- 'choose-completion-string-functions choice buffer base-size)
- (choose-completion-string1 choice buffer base-size)))
-
- (defun choose-completion-string1 (choice &optional buffer base-size)
(let ((buffer (or buffer completion-reference-buffer))
(mini-p (string-match "\\` \\*Minibuf-[0-9]+\\*\\'" (buffer-name
buffer))))
;; If BUFFER is a minibuffer, barf unless it's the currently
--- 3796,3801 ----
***************
*** 3806,3838 ****
(not (equal buffer
(window-buffer (active-minibuffer-window))))))
(error "Minibuffer is not active for completion")
! ;; Insert the completion into the buffer where completion was requested.
! (set-buffer buffer)
! (if base-size
! (delete-region (+ base-size (if mini-p
! (minibuffer-prompt-end)
! (point-min)))
! (point))
! (choose-completion-delete-max-match choice))
! (insert choice)
! (remove-text-properties (- (point) (length choice)) (point)
! '(mouse-face nil))
! ;; Update point in the window that BUFFER is showing in.
! (let ((window (get-buffer-window buffer t)))
! (set-window-point window (point)))
! ;; If completing for the minibuffer, exit it with this choice.
! (and (not completion-no-auto-exit)
! (equal buffer (window-buffer (minibuffer-window)))
! minibuffer-completion-table
! ;; If this is reading a file name, and the file name chosen
! ;; is a directory, don't exit the minibuffer.
! (if (and (eq minibuffer-completion-table 'read-file-name-internal)
! (file-directory-p (field-string (point-max))))
! (let ((mini (active-minibuffer-window)))
! (select-window mini)
! (when minibuffer-auto-raise
! (raise-frame (window-frame mini))))
! (exit-minibuffer))))))
(defun completion-list-mode ()
"Major mode for buffers showing lists of possible completions.
--- 3805,3839 ----
(not (equal buffer
(window-buffer (active-minibuffer-window))))))
(error "Minibuffer is not active for completion")
! (unless (run-hook-with-args-until-success
! 'choose-completion-string-functions choice buffer mini-p
base-size)
! ;; Insert the completion into the buffer where completion was requested.
! (set-buffer buffer)
! (if base-size
! (delete-region (+ base-size (if mini-p
! (minibuffer-prompt-end)
! (point-min)))
! (point))
! (choose-completion-delete-max-match choice))
! (insert choice)
! (remove-text-properties (- (point) (length choice)) (point)
! '(mouse-face nil))
! ;; Update point in the window that BUFFER is showing in.
! (let ((window (get-buffer-window buffer t)))
! (set-window-point window (point)))
! ;; If completing for the minibuffer, exit it with this choice.
! (and (not completion-no-auto-exit)
! (equal buffer (window-buffer (minibuffer-window)))
! minibuffer-completion-table
! ;; If this is reading a file name, and the file name chosen
! ;; is a directory, don't exit the minibuffer.
! (if (and (eq minibuffer-completion-table 'read-file-name-internal)
! (file-directory-p (field-string (point-max))))
! (let ((mini (active-minibuffer-window)))
! (select-window mini)
! (when minibuffer-auto-raise
! (raise-frame (window-frame mini))))
! (exit-minibuffer)))))))
(defun completion-list-mode ()
"Major mode for buffers showing lists of possible completions.
- [Emacs-diffs] Changes to emacs/lisp/simple.el,
Kim F. Storm <=
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Richard M. Stallman, 2002/06/01
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Richard M. Stallman, 2002/06/04
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Miles Bader, 2002/06/10
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Richard M. Stallman, 2002/06/17
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Richard M. Stallman, 2002/06/26
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Dave Love, 2002/06/27
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Andreas Schwab, 2002/06/29
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Andreas Schwab, 2002/06/29
- [Emacs-diffs] Changes to emacs/lisp/simple.el, Andreas Schwab, 2002/06/29