+2014-01-07 Bastien Guerry <bzg@gnu.org>
+
+ * minibuffer.el (completion--try-word-completion): When both a
+ hyphen and a space are possible candidates for the character
+ following a word, display both candidates. (Bug#15980)
+
2014-01-07 Martin Rudalics <rudalics@gmx.at>
* window.el (balance-windows-2): While rounding don't give a
;; instead, but it was too blunt, leading to situations where SPC
;; was the only insertable char at point but minibuffer-complete-word
;; refused inserting it.
- (let ((exts (mapcar (lambda (str) (propertize str 'completion-try-word t))
- '(" " "-")))
- (before (substring string 0 point))
- (after (substring string point))
- tem)
- (while (and exts (not (consp tem)))
- (setq tem (completion-try-completion
- (concat before (pop exts) after)
- table predicate (1+ point) md)))
- (if (consp tem) (setq comp tem))))
+ (let* ((exts (mapcar (lambda (str) (propertize str 'completion-try-word t))
+ '(" " "-")))
+ (before (substring string 0 point))
+ (after (substring string point))
+ (comps
+ (delete nil
+ (mapcar (lambda (ext)
+ (completion-try-completion
+ (concat before ext after)
+ table predicate (1+ point) md))
+ exts))))
+ (when (and (= 1 (length comps) (consp (car comps))))
+ (setq comp (car comps)))))
;; Completing a single word is actually more difficult than completing
;; as much as possible, because we first have to find the "current