Subject: Re: bug#19732: 25.0.50; Wrong type argument: arrayp when running vc-dir on a CVS repo

From: Dmitry Gutov <[email-masked]>
Date: Fri, 30 Jan 2015 20:34:40 +0200

Rupert, please try this patch instead:

<--
diff --git a/lisp/vc/vc-cvs.el b/lisp/vc/vc-cvs.el
index d803c16..707090a 100644
--- a/lisp/vc/vc-cvs.el
+++ b/lisp/vc/vc-cvs.el
@@ -1076,7 +1076,7 @@ Query all files in DIR if files is nil."
      (if (and (not files) local (not (eq local 'only-file)))
  	(vc-cvs-dir-status-heuristic dir update-function)
        (if (not files) (setq files (vc-expand-dirs (list dir) 'CVS)))
-      (vc-cvs-command (current-buffer) 'async dir "-f" "status" files)
+      (vc-cvs-command (current-buffer) 'async files "-f" "status")
        ;; Alternative implementation: use the "update" command instead of
        ;; the "status" command.
        ;; (vc-cvs-command (current-buffer) 'async
<--

On 01/30/2015 03:12 PM, Rupert Swarbrick wrote:
>    (apply #'vc-cvs-command
>           (append (list (current-buffer) 'async dir "-f" "status")
>                   files))
>
> (which would be neater with a Common Lisp style apply: maybe there's a
> more standard emacs lisp idiom for this?)

AFAICS, they work the same. So you wouldn't need the `append'.

> I'm not sending a patch with this bug report because I still haven't
> gotten around to filing copyright assignment papers with the FSF,
> sorry. So someone else gets to do the typing...

Have you exceeded the allowed limit? 10-15 lines of code without 
assignment are fine.