]> code.delx.au - gnu-emacs/blobdiff - src/minibuf.c
* dispextern.h (struct face.stipple):
[gnu-emacs] / src / minibuf.c
index ba8729bdff2a60a0b95ef79f1805ab2a41dc9230..ca2f22df9edef6267b6099958e48122e1f9cf21e 100644 (file)
@@ -143,6 +143,14 @@ choose_minibuf_frame_1 (Lisp_Object ignore)
   return Qnil;
 }
 
+DEFUN ("active-minibuffer-window", Factive_minibuffer_window,
+       Sactive_minibuffer_window, 0, 0, 0,
+       doc: /* Return the currently active minibuffer window, or nil if none.  */)
+     (void)
+{
+  return minibuf_level ? minibuf_window : Qnil;
+}
+
 DEFUN ("set-minibuffer-window", Fset_minibuffer_window,
        Sset_minibuffer_window, 1, 1, 0,
        doc: /* Specify which minibuffer window to use for the minibuffer.
@@ -1107,7 +1115,7 @@ function, instead of the usual behavior.  */)
 {
   Lisp_Object args[4], result;
   char *s;
-  int len;
+  ptrdiff_t len;
   int count = SPECPDL_INDEX ();
 
   if (BUFFERP (def))
@@ -1129,7 +1137,7 @@ function, instead of the usual behavior.  */)
          if (STRINGP (prompt))
            {
              s = SSDATA (prompt);
-             len = strlen (s);
+             len = SBYTES (prompt);
              if (len >= 2 && s[len - 2] == ':' && s[len - 1] == ' ')
                len = len - 2;
              else if (len >= 1 && (s[len - 1] == ':' || s[len - 1] == ' '))
@@ -1887,7 +1895,7 @@ the values STRING, PREDICATE and `lambda'.  */)
     return Qt;
 }
 
-Lisp_Object Qmetadata;
+static Lisp_Object Qmetadata;
 extern Lisp_Object Qbuffer;
 
 DEFUN ("internal-complete-buffer", Finternal_complete_buffer, Sinternal_complete_buffer, 3, 3, 0,
@@ -2181,6 +2189,7 @@ properties.  */);
               doc: /* Minibuffer keymap used for reading Lisp expressions.  */);
   Vread_expression_map = Qnil;
 
+  defsubr (&Sactive_minibuffer_window);
   defsubr (&Sset_minibuffer_window);
   defsubr (&Sread_from_minibuffer);
   defsubr (&Seval_minibuffer);