emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug in CVS version of vc.el


From: Tim Van Holder
Subject: Bug in CVS version of vc.el
Date: Wed, 24 Mar 2004 09:37:39 +0100
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

In adding the optional buffer argument to vc-print-log (in vc.el
1.369, an error was introduced.
The number of arguments for the backend function is retrieved
using

(length (cadr (symbol-function
               (vc-find-backend-function (vc-backend file)
                                         'print-log))))

which, going from the docs for symbol-function, is perfectly
correct - and will likely BE correct for a function loaded from
lisp source.
However, if the function in question was loaded from a byte-
compiled file, symbol-function returns the byte-code object
(an array), in which case

(length (aref (symbol-function
               (vc-find-backend-function (vc-backend file)
                                         'print-log))
               0))

is needed to retrieve the argument list.

This should probably be made clear in the lisp reference too,
as that only shows lambda lists as the return value of
symbol-function.

Also, the documentation for Vectors mentions that they are used
as part of the representation of byte-compiled functions - however,
this seems inaccurate, as sequence functions (e.g. elt) cannot be
used on byte code objects - they're arrays, but not vectors.


In GNU Emacs 21.3.50.1 (i686-pc-linux-gnu, GTK+ Version 2.0.6)
 of 2004-03-24 on leeloo
configured using `configure '--with-png' '--with-tiff' '--with-jpeg' '--with-gif' '--prefix=/opt/gcc3' 'CFLAGS=-gstabs+3' '--with-gtk''






reply via email to

[Prev in Thread] Current Thread [Next in Thread]