[COMMIT] Fix confusing and incorrect docstring for regexp-opt
Aidan Kehoe
kehoea at parhasard.net
Sat Jan 12 12:57:28 EST 2008
SUPERSEDES 18306.7206.428781.245956 at parhasard.net
Ar an t-ochtú lá de mí Eanair, scríobh Stephen J. Turnbull:
> APPROVE
>
> but as usual I have my personal preferences. ;-)
>
> Aidan Kehoe writes:
> >
> > Yes, my version is a bit long-winded. I think it’s clearer than the old
> > version, though; in a strict sense the old version was incorrect, too,
> > because every string that doesn’t use regexp special characters is a regexp.
> >
> > 2008-01-07 Aidan Kehoe <kehoea at parhasard.net>
> >
> > * regexp-opt.el (regexp-opt):
> > Clarify the treatment of regexp special characters in STRINGS.
> >
> > XEmacs Packages source patch:
> > Diff command: cvs -q diff -u
> > Files affected: xemacs-packages/xemacs-base/regexp-opt.el
> > ===================================================================
> > RCS
> >
> > Index: xemacs-packages/xemacs-base/regexp-opt.el
> > ===================================================================
> > RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/xemacs-base/regexp-opt.el,v
> > retrieving revision 1.3
> > diff -u -r1.3 regexp-opt.el
> > --- xemacs-packages/xemacs-base/regexp-opt.el 2003/10/29 16:31:46 1.3
> > +++ xemacs-packages/xemacs-base/regexp-opt.el 2008/01/07 12:27:44
> > @@ -94,8 +94,12 @@
> > ;;;###autoload
> > (defun regexp-opt (strings &optional paren)
> > "Return a regexp to match a string in STRINGS.
> > -Each string should be unique in STRINGS and should not contain any regexps,
> > -quoted or not. If optional PAREN is non-nil, ensure that the returned regexp
> > +Each string should be unique in STRINGS. Regexp special characters in the
> > +elements of STRINGS will not be treated as special characters; that is to
> > +say, `regexp-opt' will call `regexp-quote' on the elements of STRINGS before
> > +constructing the regexp.
>
> I would write
>
> "Return a regexp which matches exactly those strings in STRINGS.
>
> Each string in STRINGS should be unique. Regexp special characters in
> the elements of STRINGS will not be treated specially in matching;
> they will be escaped as necessary in constructing the regexp."
Okay, done. Thank you.
NOTE: This patch has been committed.
xemacs-packages/xemacs-base/ChangeLog addition:
2008-01-12 Aidan Kehoe <kehoea at parhasard.net>
* regexp-opt.el (regexp-opt):
Clarify the treatment of regexp special characters in STRINGS,
taking on board input from Stephen. Thank you Stephen!
XEmacs Packages source patch:
Diff command: cvs -q diff -Nu
Files affected: xemacs-packages/xemacs-base/regexp-opt.el
===================================================================
RCS
Index: xemacs-packages/xemacs-base/regexp-opt.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/xemacs-base/regexp-opt.el,v
retrieving revision 1.4
diff -u -u -r1.4 regexp-opt.el
--- xemacs-packages/xemacs-base/regexp-opt.el 2008/01/11 23:12:50 1.4
+++ xemacs-packages/xemacs-base/regexp-opt.el 2008/01/12 17:55:30
@@ -88,14 +88,19 @@
;;; Code:
+;; XEmacs; correct the docstring, make it clearer.
;;;###autoload
(defun regexp-opt (strings &optional paren)
- "Return a regexp to match a string in the list STRINGS.
-Each string should be unique in STRINGS and should not contain any regexps,
-quoted or not. If optional PAREN is non-nil, ensure that the returned regexp
-is enclosed by at least one regexp grouping construct.
-The returned regexp is typically more efficient than the equivalent regexp:
+ "Return a regexp which matches exactly those strings in STRINGS.
+Each string in STRINGS should be unique. Regexp special characters in
+the elements of STRINGS will not be treated specially in matching;
+they will be escaped as necessary in constructing the regexp.
+
+If optional PAREN is non-nil, ensure that the returned regexp is enclosed by
+at least one regexp grouping construct. The returned regexp is typically
+more efficient than the equivalent regexp:
+
(let ((open (if PAREN \"\\\\(\" \"\")) (close (if PAREN \"\\\\)\" \"\")))
(concat open (mapconcat 'regexp-quote STRINGS \"\\\\|\") close))
@@ -117,7 +122,8 @@
(re (regexp-opt-group sorted-strings open)))
(if words (concat "\\<" re "\\>") re))))
-;; XEmacs; added here. This is in subr.el in GNU.
+;; XEmacs; added here. This is in subr.el in GNU; this implementation is
+;; from their revision 1.541 of 2007-01-04, under GPL 2.
(defun-when-void subregexp-context-p (regexp pos &optional start)
"Return non-nil if POS is in a normal subregexp context in REGEXP.
A subregexp context is one where a sub-regexp can appear.
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
More information about the XEmacs-Patches
mailing list