[Top][All Lists]
[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''
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Bug in CVS version of vc.el,
Tim Van Holder <=