mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-07 15:00:34 -08:00
* lisp/emacs-lisp/bindat.el (bindat-spec): New macro.
It's basically an alias for `quote`, but it offers the advantage of providing Edebug support and opens the possibility of compiling the bindat spec to ELisp code. * doc/lispref/processes.texi (Bindat Spec): Document `bindat-spec`. (Bindat Functions): Tweak a few things to adjust to the state of the code. * test/lisp/emacs-lisp/bindat-tests.el: Use it. * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests--read): New function. (edebug-tests--&rest-behavior): New test.
This commit is contained in:
parent
2106b12fa7
commit
83d9fbe3bb
5 changed files with 91 additions and 24 deletions
|
|
@ -24,13 +24,15 @@
|
|||
(require 'cl-lib)
|
||||
|
||||
(defvar header-bindat-spec
|
||||
'((dest-ip ip)
|
||||
(bindat-spec
|
||||
(dest-ip ip)
|
||||
(src-ip ip)
|
||||
(dest-port u16)
|
||||
(src-port u16)))
|
||||
|
||||
(defvar data-bindat-spec
|
||||
'((type u8)
|
||||
(bindat-spec
|
||||
(type u8)
|
||||
(opcode u8)
|
||||
(length u16r) ;; little endian order
|
||||
(id strz 8)
|
||||
|
|
@ -38,7 +40,8 @@
|
|||
(align 4)))
|
||||
|
||||
(defvar packet-bindat-spec
|
||||
'((header struct header-bindat-spec)
|
||||
(bindat-spec
|
||||
(header struct header-bindat-spec)
|
||||
(items u8)
|
||||
(fill 3)
|
||||
(item repeat (items)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue