mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-23 10:34:07 +00:00
(completion-hilit-commonality): Don't presume
all-completions always include the input as prefix. (completion-pcm--pattern-trivial-p): Accept a few more patterns as trivial. (completion-pcm--hilit-commonality): Remove leftover code that used to deal with the now removed cdr-in-last-cons.
This commit is contained in:
parent
8d5e14a9c7
commit
1bba1cfc46
@ -1,11 +1,20 @@
|
||||
2009-01-06 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* minibuffer.el (completion-hilit-commonality): Don't presume
|
||||
all-completions always include the input as prefix.
|
||||
(completion-pcm--pattern-trivial-p): Accept a few more patterns
|
||||
as trivial.
|
||||
(completion-pcm--hilit-commonality): Remove leftover code that used to
|
||||
deal with the now removed cdr-in-last-cons.
|
||||
|
||||
2009-01-06 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* international/mule.el (define-coding-system): Fix typos in docstring.
|
||||
|
||||
2009-01-05 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
* progmodes/cc-styles.el (c-setup-paragraph-variables): Ensure
|
||||
paragraph-\(start\|separate\) match blank lines. For AWK Mode.
|
||||
* progmodes/cc-styles.el (c-setup-paragraph-variables):
|
||||
Ensure paragraph-\(start\|separate\) match blank lines. For AWK Mode.
|
||||
|
||||
2009-01-05 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
@ -90,34 +99,31 @@
|
||||
(tramp-prefix-domain-regexp, tramp-domain-regexp)
|
||||
(tramp-user-with-domain-regexp, tramp-prefix-ipv6-format)
|
||||
(tramp-prefix-ipv6-regexp, tramp-ipv6-regexp)
|
||||
(tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp): New
|
||||
defconst.
|
||||
(tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp): New defconst.
|
||||
(tramp-file-name-structure, tramp-file-name-regexp-unified)
|
||||
(tramp-completion-dissect-file-name, tramp-parse-hosts-group)
|
||||
(tramp-dissect-file-name, tramp-make-tramp-file-name)
|
||||
(tramp-completion-make-tramp-file-name): Handle IPv6 addresses.
|
||||
(tramp-handle-insert-file-contents): Fix setting of
|
||||
`buffer-read-only'.
|
||||
(tramp-compute-multi-hops, tramp-local-host-p): Use
|
||||
`tramp-local-host-regexp'.
|
||||
(tramp-file-name-real-user, tramp-file-name-domain): Use
|
||||
`tramp-user-with-domain-regexp'.
|
||||
(tramp-compute-multi-hops, tramp-local-host-p):
|
||||
Use `tramp-local-host-regexp'.
|
||||
(tramp-file-name-real-user, tramp-file-name-domain):
|
||||
Use `tramp-user-with-domain-regexp'.
|
||||
|
||||
* net/tramp-smb.el (top): Use `tramp-prefix-domain-regexp'.
|
||||
(tramp-smb-maybe-open-connection): Use `tramp-file-name-*'
|
||||
methods.
|
||||
(tramp-smb-maybe-open-connection): Use `tramp-file-name-*' methods.
|
||||
|
||||
2009-01-03 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
|
||||
|
||||
* proced.el (proced-grammar-alist): Refiner can be a
|
||||
list (function help-echo) instead of a cons pair.
|
||||
(proced-post-display-hook): New variable.
|
||||
(proced-tree-depth): Renamed from proced-tree-indent.
|
||||
(proced-tree-depth): Rename from proced-tree-indent.
|
||||
(proced-mode): Derive mode from special-mode.
|
||||
(proced-mode-map): Changed accordingly.
|
||||
(proced-mode-map): Change accordingly.
|
||||
(proced, proced-update): Run proced-post-display-hook.
|
||||
(proced-do-mark-all): Count processes for which mark has been
|
||||
updated.
|
||||
(proced-do-mark-all): Count processes for which mark has been updated.
|
||||
(proced-format): Check for ppid attribute.
|
||||
(proced-process-attributes): Take time and ctime attribute from
|
||||
system-process-attributes.
|
||||
|
@ -789,7 +789,11 @@ of the differing parts is, by contrast, slightly highlighted."
|
||||
(car (setq elem (cons (copy-sequence (car elem))
|
||||
(cdr elem))))
|
||||
(setq elem (copy-sequence elem)))))
|
||||
(put-text-property 0 com-str-len
|
||||
(put-text-property 0
|
||||
;; If completion-boundaries returns incorrect
|
||||
;; values, all-completions may return strings
|
||||
;; that don't contain the prefix.
|
||||
(min com-str-len (length str))
|
||||
'font-lock-face 'completions-common-part
|
||||
str)
|
||||
(if (> (length str) com-str-len)
|
||||
@ -1333,7 +1337,13 @@ expression (not containing character ranges like `a-z')."
|
||||
:type 'string)
|
||||
|
||||
(defun completion-pcm--pattern-trivial-p (pattern)
|
||||
(and (stringp (car pattern)) (null (cdr pattern))))
|
||||
(and (stringp (car pattern))
|
||||
;; It can be followed by `point' and "" and still be trivial.
|
||||
(let ((trivial t))
|
||||
(dolist (elem (cdr pattern))
|
||||
(unless (member elem '(point ""))
|
||||
(setq trivial nil)))
|
||||
trivial)))
|
||||
|
||||
(defun completion-pcm--string->pattern (string &optional point)
|
||||
"Split STRING into a pattern.
|
||||
@ -1411,29 +1421,24 @@ PATTERN is as returned by `completion-pcm--string->pattern'."
|
||||
(defun completion-pcm--hilit-commonality (pattern completions)
|
||||
(when completions
|
||||
(let* ((re (completion-pcm--pattern->regex pattern '(point)))
|
||||
(case-fold-search completion-ignore-case)
|
||||
(last (last completions))
|
||||
(base-size (cdr last)))
|
||||
(case-fold-search completion-ignore-case))
|
||||
;; Remove base-size during mapcar, and add it back later.
|
||||
(setcdr last nil)
|
||||
(nconc
|
||||
(mapcar
|
||||
(lambda (str)
|
||||
;; Don't modify the string itself.
|
||||
(setq str (copy-sequence str))
|
||||
(unless (string-match re str)
|
||||
(error "Internal error: %s does not match %s" re str))
|
||||
(let ((pos (or (match-beginning 1) (match-end 0))))
|
||||
(put-text-property 0 pos
|
||||
'font-lock-face 'completions-common-part
|
||||
str)
|
||||
(if (> (length str) pos)
|
||||
(put-text-property pos (1+ pos)
|
||||
'font-lock-face 'completions-first-difference
|
||||
str)))
|
||||
str)
|
||||
completions)
|
||||
base-size))))
|
||||
(mapcar
|
||||
(lambda (str)
|
||||
;; Don't modify the string itself.
|
||||
(setq str (copy-sequence str))
|
||||
(unless (string-match re str)
|
||||
(error "Internal error: %s does not match %s" re str))
|
||||
(let ((pos (or (match-beginning 1) (match-end 0))))
|
||||
(put-text-property 0 pos
|
||||
'font-lock-face 'completions-common-part
|
||||
str)
|
||||
(if (> (length str) pos)
|
||||
(put-text-property pos (1+ pos)
|
||||
'font-lock-face 'completions-first-difference
|
||||
str)))
|
||||
str)
|
||||
completions))))
|
||||
|
||||
(defun completion-pcm--find-all-completions (string table pred point
|
||||
&optional filter)
|
||||
|
Loading…
Reference in New Issue
Block a user