From xemacs-m  Sun Mar  9 22:29:18 1997
Received: from mecca.spd.louisville.edu (mecca.spd.louisville.edu [136.165.40.148])
	by xemacs.org (8.8.5/8.8.5) with SMTP id WAA14461
	for <xemacs-beta@xemacs.org>; Sun, 9 Mar 1997 22:29:18 -0600 (CST)
Received: (from tjchol01@localhost) by mecca.spd.louisville.edu (950413.SGI.8.6.12/8.6.12) id EAA15177; Mon, 10 Mar 1997 04:29:24 GMT
Date: Mon, 10 Mar 1997 04:29:24 GMT
Message-Id: <199703100429.EAA15177@mecca.spd.louisville.edu>
From: "Tomasz J. Cholewo" <tjchol01@mecca.spd.louisville.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: XEmacs-Beta Mailing List <xemacs-beta@xemacs.org>
Subject: [patch] 20.1-b6 completion-regexp-list meaning reversed

Hi,

I was wondering why make-regexp.el[1] did not work under XEmacs.  
The reason is that the meaning of completion-regexp-list was reversed:

 (let ((completion-regexp-list '("^.$")))
   (all-completions "" (mapcar 'list '("a" "ab" "cc" "d"))))
 => ("ab" "cc")       according to XEmacs 
 => ("a" "d")         according to GNU Emacs (and common sense :-)) 

The following patch corrects a typo in regexp_ignore_completion_p which
was causing this problem.

Tom

[1] A nice small function which could be used for speeding up most
font-lock regexps.  If it would be in the distribution then one could
use (eval-when-compile (make-regexp ...)) to leave regexps in
unoptimized and therefore much easier to maintain form without any
performance penalty.  Just a suggestion for 20.2 :-).

============== CUT HERE ===================
diff -urd xemacs-20.1-b6-orig/src/ChangeLog xemacs-20.1-b6/src/ChangeLog
--- xemacs-20.1-b6-orig/src/ChangeLog	Sat Mar  8 18:27:37 1997
+++ xemacs-20.1-b6/src/ChangeLog	Sun Mar  9 22:47:21 1997
@@ -1,3 +1,8 @@
+Sun Mar  9 21:46:53 1997  Tomasz J. Cholewo  <t.cholewo@ieee.org>
+
+	* minibuf.c (regexp_ignore_completion_p): Reverse meaning of 
+        completion-regexp-list.
+
 Thu Mar  6 19:15:29 1997  Steven L Baur  <steve@altair.xemacs.org>
 
 	* data.c (eq_with_ebola_notice): Unobfuscate Ebola warning!!!
diff -urd xemacs-20.1-b6-orig/src/minibuf.c xemacs-20.1-b6/src/minibuf.c
--- xemacs-20.1-b6-orig/src/minibuf.c	Sat Jan 11 15:14:45 1997
+++ xemacs-20.1-b6/src/minibuf.c	Sun Mar  9 22:42:10 1997
@@ -232,7 +232,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);
 	}
     }
@@ -895,9 +895,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;
 }

