declare smobs in alloc.c
[bpt/emacs.git] / lisp / minibuf-eldef.el
index a36df99..8dff6f4 100644 (file)
@@ -1,6 +1,6 @@
 ;;; minibuf-eldef.el --- Only show defaults in prompts when applicable  -*- lexical-binding: t -*-
 ;;
-;; Copyright (C) 2000-2013 Free Software Foundation, Inc.
+;; Copyright (C) 2000-2014 Free Software Foundation, Inc.
 ;;
 ;; Author: Miles Bader <miles@gnu.org>
 ;; Keywords: convenience
@@ -38,6 +38,7 @@
 (defun minibuffer-default--in-prompt-regexps ()
   `(("\\( (default\\(?: is\\)? \\(.*\\))\\):? \\'"
      1 ,(if minibuffer-eldef-shorten-default " [\\2]"))
+    ("([^(]+?\\(, default\\(?: is\\)? \\(.*\\)\\)):? \\'" 1)
     ("\\( \\[.*\\]\\):? *\\'" 1)))
 
 (defcustom minibuffer-eldef-shorten-default nil
@@ -152,15 +153,11 @@ been set up by `minibuf-eldef-setup-minibuffer'."
              (and (= (point-max) minibuf-eldef-initial-buffer-length)
                   (string-equal (minibuffer-contents-no-properties)
                                 minibuf-eldef-initial-input)))
-    ;; swap state
+    ;; Swap state.
     (setq minibuf-eldef-showing-default-in-prompt
          (not minibuf-eldef-showing-default-in-prompt))
-    (cond (minibuf-eldef-showing-default-in-prompt
-          (overlay-put minibuf-eldef-overlay 'invisible nil)
-          (overlay-put minibuf-eldef-overlay 'intangible nil))
-         (t
-          (overlay-put minibuf-eldef-overlay 'invisible t)
-          (overlay-put minibuf-eldef-overlay 'intangible t)))))
+    (overlay-put minibuf-eldef-overlay 'invisible
+                 (not minibuf-eldef-showing-default-in-prompt))))
 
 \f
 ;;;###autoload