[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20193: 25.0.50; declarative type specification for D-Bus args
From: |
Michael Albinus |
Subject: |
bug#20193: 25.0.50; declarative type specification for D-Bus args |
Date: |
Thu, 03 Sep 2015 12:07:30 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Daiki Ueno <ueno@gnu.org> writes:
>> For the second new test I'm not sure whether this is possible (the
>> documentation doesn't speak about), but it looks natural to me.
>
> Yes, this was actually a bug because of missing checks on the number of
> required arguments after `:type'. Fixed as:
> http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=scratch/dbusbind-type-tests&id=def5829c0769b142b3cc0d69a9ad58935a9f237f
Well, dbus-test.el passes now, thanks. But there are still some cases
I'm not so happy with:
plist-get
(dbus--test-create-message-with-args
'(:array)
'(:array :signature "u")
:type '(:array :uint32)
nil)
:signature)
|- "asauau"
I would expect "asauaub"
(plist-get
(dbus--test-create-message-with-args
'(:array)
:type '(:array :uint32)
'(:array :signature "u")
'())
:signature)
|- Debugger entered--Lisp error: (wrong-type-argument numberp :array)
How to specify an empty array, if it isn't the last argument? Maybe like this:
(plist-get
(dbus--test-create-message-with-args
'(:array)
'(:array :signature "u")
:type '(:array :uint32) nil
nil)
:signature)
|- "asauaub"
(plist-get
(dbus--test-create-message-with-args
'(:array)
:type '(:array :uint32) nil
'(:array :signature "u")
nil)
:signature)
|- "asauaub"
Maybe you could be a little bit more verbose about, and adapt the code?
When there is a :type argument, there must *always* be two additional
arguments? Or shall we allow the sloppy writing of one argument (the
type spec), when it is the last in the call, and it is an empty list?
This must be documented, then.
As you see, even I (who has tried to understand the new syntax) am a
little bit confused.
> Regards,
Best regards, Michael.
bug#20193: 25.0.50; declarative type specification for D-Bus args, Stefan Monnier, 2015/09/03