* emacs-lisp/eldoc.el (eldoc-function-argstring-format):
authorJuanma Barranquero <lekktu@gmail.com>
Sat, 24 Jan 2009 11:34:57 +0000 (11:34 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Sat, 24 Jan 2009 11:34:57 +0000 (11:34 +0000)
  Revert 2007-09-26 change; use `string-match-p' to check for &keywords.
  (eldoc-get-fnsym-args-string, eldoc-highlight-function-argument):
  Use `string-match-p'.

lisp/ChangeLog
lisp/emacs-lisp/eldoc.el

index 8f3e42a..44aa924 100644 (file)
@@ -1,3 +1,10 @@
+2009-01-24  Juanma Barranquero  <lekktu@gmail.com>
+
+       * emacs-lisp/eldoc.el (eldoc-function-argstring-format):
+       Revert 2007-09-26 change; use `string-match-p' to check for &keywords.
+       (eldoc-get-fnsym-args-string, eldoc-highlight-function-argument):
+       Use `string-match-p'.
+
 2009-01-24  Ulf Jasper  <ulf.jasper@web.de>
 
        * net/newst-treeview.el (newsticker--treeview-first-feed): New.
index c988cec..47f4dd4 100644 (file)
@@ -300,7 +300,7 @@ highlights argument number INDEX."
           ;; Remove any enclosing (), since e-function-argstring adds them.
           (string-match "\\`[^ )]* ?" args)
           (setq args (substring args (match-end 0)))
-          (if (string-match ")\\'" args)
+          (if (string-match-p ")\\'" args)
               (setq args (substring args 0 -1))))
          (t
           (setq args (help-function-arglist sym))))
@@ -338,7 +338,7 @@ In the absence of INDEX, just call `eldoc-docstring-format-sym-doc'."
                     ;; All the rest arguments are the same.
                     (setq index 1))
                    ((string= argument "&optional"))
-                   ((string-match "\\.\\.\\.$" argument)
+                   ((string-match-p "\\.\\.\\.$" argument)
                     (setq index 0))
                    (t
                     (setq index (1- index))))))
@@ -491,10 +491,10 @@ ARGLIST is either a string, or a list of strings or symbols."
   "Apply `eldoc-argument-case' to each word in ARGSTRING.
 The words \"&rest\", \"&optional\" are returned unchanged."
   (mapconcat (lambda (s)
-              (if (member s '("&optional" "&rest"))
+              (if (string-match-p "\\`(?&\\(?:optional\\|rest\\))?\\'" s)
                   s
                 (funcall eldoc-argument-case s)))
-            (split-string argstring "[][ ()]+" t) " "))
+            (split-string argstring) " "))
 
 \f
 ;; When point is in a sexp, the function args are not reprinted in the echo