emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/simple.el
Date: Wed, 16 Nov 2005 17:43:17 -0500

Index: emacs/lisp/simple.el
diff -c emacs/lisp/simple.el:1.762 emacs/lisp/simple.el:1.763
*** emacs/lisp/simple.el:1.762  Sat Nov 12 00:10:56 2005
--- emacs/lisp/simple.el        Wed Nov 16 22:43:16 2005
***************
*** 4314,4322 ****
                          (eq (syntax-class syntax) 4)
                          (cdr syntax)))))
        (cond
!        ((or (null matching-paren)
!             (/= (char-before oldpos)
!                 matching-paren))
          (message "Mismatched parentheses"))
         ((not blinkpos)
          (if (not blink-matching-paren-distance)
--- 4314,4320 ----
                          (eq (syntax-class syntax) 4)
                          (cdr syntax)))))
        (cond
!        ((not (eq matching-paren (char-before oldpos)))
          (message "Mismatched parentheses"))
         ((not blinkpos)
          (if (not blink-matching-paren-distance)
***************
*** 4908,4944 ****
          (setq default-directory (file-name-directory mbuf-contents))))
      ;; If partial-completion-mode is on, point might not be after the
      ;; last character in the minibuffer.
!     ;; FIXME: This still doesn't work if the text to be completed
!     ;; starts with a `-'.
!     (when (and partial-completion-mode (not (eobp)))
        (setq common-string-length
!             (- common-string-length (- (point) (point-max)))))
      (with-current-buffer standard-output
        (completion-list-mode)
        (set (make-local-variable 'completion-reference-buffer) mainbuf)
!       (if minibuffer-completing-file-name
!         ;; For file name completion,
!         ;; use the number of chars before the start of the
!         ;; last file name component.
!         (setq completion-base-size
                (with-current-buffer mainbuf
                  (save-excursion
                    (goto-char (point-max))
                    (skip-chars-backward completion-root-regexp)
!                   (- (point) (minibuffer-prompt-end)))))
!       ;; Otherwise, in minibuffer, the whole input is being completed.
!       (if (minibufferp mainbuf)
!           (if (and (symbolp minibuffer-completion-table)
!                    (get minibuffer-completion-table 
'completion-base-size-function))
!               (setq completion-base-size
!                     (funcall (get minibuffer-completion-table 
'completion-base-size-function)))
!             (setq completion-base-size 0))))
        ;; Put faces on first uncommon characters and common parts.
        (when (or completion-common-substring completion-base-size)
          (setq common-string-length
!               (if completion-common-substring
!                   (length completion-common-substring)
!                   (- common-string-length completion-base-size)))
        (let ((element-start (point-min))
                (maxp (point-max))
                element-common-end)
--- 4906,4954 ----
          (setq default-directory (file-name-directory mbuf-contents))))
      ;; If partial-completion-mode is on, point might not be after the
      ;; last character in the minibuffer.
!     ;; FIXME: This hack should be moved to complete.el where we call
!     ;; display-completion-list.
!     (when partial-completion-mode
        (setq common-string-length
!             (if (eq (char-after (field-beginning)) ?-)
!                 ;; If the text to be completed starts with a `-', there is no
!                 ;; common prefix.
!                 ;; FIXME: this probably still doesn't do the right thing
!                 ;; when completing file names.  It's not even clear what
!                 ;; is TRT.
!                 0
!               (- common-string-length (- (point) (point-max))))))
      (with-current-buffer standard-output
        (completion-list-mode)
        (set (make-local-variable 'completion-reference-buffer) mainbuf)
!       (setq completion-base-size
!             (if minibuffer-completing-file-name
!                 ;; For file name completion, use the number of chars before
!                 ;; the start of the last file name component.
                (with-current-buffer mainbuf
                  (save-excursion
                    (goto-char (point-max))
                    (skip-chars-backward completion-root-regexp)
!                   (- (point) (minibuffer-prompt-end))))
!               ;; Otherwise, in minibuffer, the whole input is being completed.
!               (if (minibufferp mainbuf) 0)))
!       (if (and (symbolp minibuffer-completion-table)
!                (get minibuffer-completion-table 
'completion-base-size-function))
!           (setq completion-base-size
!                 ;; FIXME: without any extra arg, how is this function
!                 ;; expected to return anything else than a constant unless
!                 ;; it redoes part of the work of all-completions?
!                 ;; In most cases this value would better be computed and
!                 ;; returned at the same time as the list of all-completions
!                 ;; is computed.  --Stef
!                 (funcall (get minibuffer-completion-table
!                               'completion-base-size-function))))
        ;; Put faces on first uncommon characters and common parts.
        (when (or completion-common-substring completion-base-size)
          (setq common-string-length
!               (if completion-common-substring
!                   (length completion-common-substring)
!                 (- common-string-length completion-base-size)))
        (let ((element-start (point-min))
                (maxp (point-max))
                element-common-end)




reply via email to

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