diff src/minibuf.c @ 110:fe104dbd9147 r20-1b7

Import from CVS: tag r20-1b7
author cvs
date Mon, 13 Aug 2007 09:19:45 +0200
parents 1ce6082ce73f
children 9f59509498e1
line wrap: on
line diff
--- a/src/minibuf.c	Mon Aug 13 09:18:41 2007 +0200
+++ b/src/minibuf.c	Mon Aug 13 09:19:45 2007 +0200
@@ -51,6 +51,10 @@
 /* Prompt to display in front of the minibuffer contents */
 Lisp_Object Vminibuf_prompt;
 
+/* Added on 97/3/14 by Jareth Hein (jhod@po.iijnet.or.jp) for input system support */
+/* String to be displayed in front of prompt of the minibuffer contents */
+Lisp_Object Vminibuf_preprompt;
+
 /* Hook to run just after entry to minibuffer. */
 Lisp_Object Qminibuffer_setup_hook, Vminibuffer_setup_hook;
 
@@ -106,6 +110,25 @@
   return Qnil;
 }
 
+/* 97/4/13 jhod: Added for input methods */
+DEFUN ("set-minibuffer-preprompt", Fset_minibuffer_preprompt, 1, 1, 0, /*
+Set the minibuffer preprompt string to PREPROMPT. This is used by language
+input methods to relay state information to the user.
+*/
+       (preprompt))
+{
+  if (NILP (preprompt))
+    {
+      Vminibuf_preprompt = Qnil;
+    }
+  else
+    {
+      CHECK_STRING (preprompt);
+  
+      Vminibuf_preprompt = LISP_GETTEXT (preprompt);
+    }
+}
+
 DEFUN ("read-minibuffer-internal", Fread_minibuffer_internal, 1, 1, 0, /*
 Lowest-level interface to minibuffers.  Don't call this.
 */
@@ -232,7 +255,7 @@
 	  Lisp_Object re = XCAR (regexps);
 	  if (STRINGP (re)
 	      && (fast_string_match (re, nonreloc, reloc, offset,
-				     length, 0, ERROR_ME, 0) >= 0))
+				     length, 0, ERROR_ME, 0) < 0))
 	    return (1);
 	}
     }
@@ -865,7 +888,7 @@
   DEFSUBR (Fminibuffer_prompt);
   DEFSUBR (Fminibuffer_prompt_width);
 #endif
-
+  DEFSUBR (Fset_minibuffer_preprompt);
   DEFSUBR (Fread_minibuffer_internal);
 
   DEFSUBR (Ftry_completion);
@@ -885,6 +908,10 @@
   staticpro (&Vminibuf_prompt);
   Vminibuf_prompt = Qnil;
 
+  /* Added by Jareth Hein (jhod@po.iijnet.or.jp) for input system support */
+  staticpro (&Vminibuf_preprompt);
+  Vminibuf_preprompt = Qnil;
+								
   DEFVAR_LISP ("minibuffer-setup-hook", &Vminibuffer_setup_hook /*
 Normal hook run just after entry to minibuffer.
 */ );
@@ -895,9 +922,9 @@
 */ );
   completion_ignore_case = 0;
 
-  /* Worthless doc string */
   DEFVAR_LISP ("completion-regexp-list", &Vcompletion_regexp_list /*
 List of regexps that should restrict possible completions.
+Each completion has to match all regexps in this list.
 */ );
   Vcompletion_regexp_list = Qnil;
 }