[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp ChangeLog minibuffer.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] emacs/lisp ChangeLog minibuffer.el |
Date: |
Sun, 06 Dec 2009 01:25:47 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 09/12/06 01:25:46
Modified files:
lisp : ChangeLog minibuffer.el
Log message:
(minibuffer-complete-and-exit): Don't replace the
minibuffer's content with itself.
Fold the confirm-after-completion case into the `confirm' case.
(completion-pcm-word-delimiters): Add : and / to the delimiters.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16837&r2=1.16838
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/minibuffer.el?cvsroot=emacs&r1=1.102&r2=1.103
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16837
retrieving revision 1.16838
diff -u -b -r1.16837 -r1.16838
--- ChangeLog 6 Dec 2009 00:42:19 -0000 1.16837
+++ ChangeLog 6 Dec 2009 01:25:41 -0000 1.16838
@@ -1,3 +1,10 @@
+2009-12-06 Stefan Monnier <address@hidden>
+
+ * minibuffer.el (minibuffer-complete-and-exit): Don't replace the
+ minibuffer's content with itself.
+ Fold the confirm-after-completion case into the `confirm' case.
+ (completion-pcm-word-delimiters): Add : and / to the delimiters.
+
2009-12-06 Kevin Ryde <address@hidden>
* ffap.el (ffap-rfc-path): Make this a defcustom since
@@ -22,8 +29,8 @@
* bindings.el (complete-symbol): Call semantic-ia-complete-symbol
if possible.
- * cedet/semantic/ia.el (semantic-ia-complete-symbol): Make
- argument optional.
+ * cedet/semantic/ia.el (semantic-ia-complete-symbol):
+ Make argument optional.
* shell.el (shell): Require ansi-color (Bug#5113).
@@ -82,12 +89,11 @@
(bibtex-field-braces-alist, bibtex-field-strings-alist)
(bibtex-field-re-init): Replace only space characters by regexp
for whitespace.
- (bibtex-generate-url-list, bibtex-cite-matcher-alist): Fix
- docstring.
+ (bibtex-generate-url-list, bibtex-cite-matcher-alist): Fix docstring.
(bibtex-initialize): Also update bibtex-strings.
(bibtex-kill-field): Preserve white space at end of entry.
- (bibtex-kill-entry, bibtex-yank-pop, bibtex-insert-kill): Update
- bibtex-reference-keys.
+ (bibtex-kill-entry, bibtex-yank-pop, bibtex-insert-kill):
+ Update bibtex-reference-keys.
2009-12-05 Stefan Monnier <address@hidden>
Index: minibuffer.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/minibuffer.el,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -b -r1.102 -r1.103
--- minibuffer.el 6 Dec 2009 00:58:40 -0000 1.102
+++ minibuffer.el 6 Dec 2009 01:25:46 -0000 1.103
@@ -57,7 +57,25 @@
;;; Todo:
-;; - make partial-complete-mode obsolete:
+;; - extend `boundaries' to provide various other meta-data about the
+;; output of `all-completions':
+;; - quoting/unquoting (so we can complete files names with envvars
+;; and backslashes, and all-completion can list names without
+;; quoting backslashes and dollars).
+;; - indicate how to turn all-completion's output into
+;; try-completion's output: e.g. completion-ignored-extensions.
+;; maybe that could be merged with the "quote" operation above.
+;; - completion hook to run when the completion is
+;; selected/inserted (maybe this should be provided some other
+;; way, e.g. as text-property, so `try-completion can also return it?)
+;; both for when it's inserted via TAB or via choose-completion.
+;; - indicate that `all-completions' doesn't do prefix-completion
+;; but just returns some list that relates in some other way to
+;; the provided string (as is the case in filecache.el), in which
+;; case partial-completion (for example) doesn't make any sense
+;; and neither does the completions-first-difference highlight.
+
+;; - make partial-completion-mode obsolete:
;; - (?) <foo.h> style completion for file names.
;; This can't be done identically just by tweaking completion,
;; because partial-completion-mode's behavior is to expand <string.h>
@@ -414,8 +432,8 @@
POINT is the position of point within STRING.
The return value is a list of completions and may contain the base-size
in the last `cdr'."
- ;; FIXME: We need to additionally return completion-extra-size (similar
- ;; to completion-base-size but for the text after point).
+ ;; FIXME: We need to additionally return the info needed for the
+ ;; second part of completion-base-position.
(completion--some (lambda (style)
(funcall (nth 2 (assq style completion-styles-alist))
string table pred point))
@@ -626,6 +644,12 @@
((test-completion (buffer-substring beg end)
minibuffer-completion-table
minibuffer-completion-predicate)
+ ;; FIXME: completion-ignore-case has various slightly
+ ;; incompatible meanings. E.g. it can reflect whether the user
+ ;; wants completion to pay attention to case, or whether the
+ ;; string will be used in a context where case is significant.
+ ;; E.g. usually try-completion should obey the first, whereas
+ ;; test-completion should obey the second.
(when completion-ignore-case
;; Fixup case of the field, if necessary.
(let* ((string (buffer-substring beg end))
@@ -633,7 +657,7 @@
string
minibuffer-completion-table
minibuffer-completion-predicate)))
- (when (and (stringp compl)
+ (when (and (stringp compl) (not (equal string compl))
;; If it weren't for this piece of paranoia, I'd replace
;; the whole thing with a call to do-completion.
;; This is important, e.g. when the current minibuffer's
@@ -646,22 +670,19 @@
(delete-region beg end))))
(exit-minibuffer))
- ((eq minibuffer-completion-confirm 'confirm)
+ ((memq minibuffer-completion-confirm '(confirm confirm-after-completion))
;; The user is permitted to exit with an input that's rejected
;; by test-completion, after confirming her choice.
- (if (eq last-command this-command)
+ (if (or (eq last-command this-command)
+ ;; For `confirm-after-completion' we only ask for confirmation
+ ;; if trying to exit immediately after typing TAB (this
+ ;; catches most minibuffer typos).
+ (and (eq minibuffer-completion-confirm 'confirm-after-completion)
+ (not (memq last-command minibuffer-confirm-exit-commands))))
(exit-minibuffer)
(minibuffer-message "Confirm")
nil))
- ((eq minibuffer-completion-confirm 'confirm-after-completion)
- ;; Similar to the above, but only if trying to exit immediately
- ;; after typing TAB (this catches most minibuffer typos).
- (if (memq last-command minibuffer-confirm-exit-commands)
- (progn (minibuffer-message "Confirm")
- nil)
- (exit-minibuffer)))
-
(t
;; Call do-completion, but ignore errors.
(case (condition-case nil
@@ -1080,9 +1101,6 @@
"Complete the text between START and END using COLLECTION.
Return nil if there is no valid completion, else t.
Point needs to be somewhere between START and END."
- ;; FIXME: some callers need to setup completion-ignore-case,
- ;; completion-ignored-extensions. The latter can be embedded in the
- ;; completion tables, but the first cannot (actually, maybe it should).
(assert (<= start (point)) (<= (point) end))
;; FIXME: undisplay the *Completions* buffer once the completion is done.
(with-wrapper-hook
@@ -1247,6 +1265,8 @@
;; substitute-in-file-name turns "fo-$TO-ba" into "fo-o/b-ba", there's
;; no way for us to return proper boundaries info, because the
;; boundary is not (yet) in `string'.
+ ;; FIXME: Actually there is a way to return correct boundaries info,
+ ;; at the condition of modifying the all-completions return accordingly.
(let ((start (length (file-name-directory string)))
(end (string-match-p "/" (cdr action))))
(list* 'boundaries start end)))
@@ -1644,7 +1664,7 @@
(defun completion-pcm--prepare-delim-re (delims)
(setq completion-pcm--delim-wild-regex (concat "[" delims "*]")))
-(defcustom completion-pcm-word-delimiters "-_. "
+(defcustom completion-pcm-word-delimiters "-_./: "
"A string of characters treated as word delimiters for completion.
Some arcane rules:
If `]' is in this string, it must come first.