1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 10:31:37 -08:00
emacs/test/lisp
Stefan Monnier 533c659b6c Bindat: new macro-expansion based data layout language
Thorough redesign of the Bindat system, which makes it possible
to define new Bindat type forms, define recursive types, control
the values returned when unpacking, freely mix arbitrary computations
with type definitions, as well as support for arbitrary sized
integers.

This also reverts the recent addition of the `bindat-spec` macro and
the support for 64bit integers in the old Bindat language since that
is now considered obsolete anyway.

* doc/lispref/processes.texi (Bindat Types): Rename from `Bindat Spec`
and rewrite for the new sublanguage.
(Bindat Functions): Adjust to the new terminology.
(Bindat Computed Types): New node.

* lisp/emacs-lisp/bindat.el (bindat--type): New type.
(bindat--unpack-u64, bindat--unpack-u64r): Delete functions.
(bindat--unpack-item, bindat--pack-item, bindat--fixed-length-alist):
Revert addition of support for 64bit integers.
(bindat--unpack-group, bindat--length-group, bindat--pack-group):
Handle the new `bindat--type` values.
(bindat-spec): Revert addition of this macro.
(bindat--unpack-uint, bindat--unpack-uintr, bindat--pack-uint)
(bindat--pack-uintr): New functions.
(bindat-type, bindat-defmacro, bindat--pcase): New macros.
(bindat-type): New Edebug elem.
(bindat--type): New generic function.
(bindat--primitives): New constant.
(bindat--macroenv, bindat--op): New vars.
(bindat--make-docstring, bindat--fun, bindat--makefun, bindat--toplevel):
New functions.

* test/lisp/emacs-lisp/bindat-tests.el: Use `bindat-type`.
(ip): New Bindat type.
(header-bindat-spec, data-bindat-spec, packet-bindat-spec): Adjust to
new `bindat-type` macro.
(bindat-test-unpack): Simplify now that the order of fields is preserved.
(bindat-test--int-websocket-type, bindat-test--LEB128): New consts.
(bindat-test--pack-val, bindat-test--sint, bindat-test--recursive):
New tests.
2021-03-05 19:56:31 -05:00
..
align-resources Add some tests for align.el 2020-12-29 08:38:25 +01:00
bookmark-resources Add ability to mark/unmark/delete all bookmarks 2020-08-09 15:13:05 -05:00
calc Fix multiple Calc defmath errors (bug#46750) 2021-03-01 20:59:52 +01:00
calendar Display yearly ical events from first year on. Fix Bug#23100. 2021-02-15 17:27:45 +01:00
cedet Make inversion.el obsolete (Bug#46841) 2021-03-03 19:54:37 +01:00
custom-resources Use lexical-binding in most remaining tests 2020-05-01 13:05:26 +02:00
emacs-lisp Bindat: new macro-expansion based data layout language 2021-03-05 19:56:31 -05:00
emulation Update copyright year to 2021 2021-01-01 01:13:56 -08:00
epg-resources Move epg.el test data to follow our conventions 2020-10-24 02:36:55 +02:00
erc Accept string argument in erc-add-to-input-ring 2021-02-27 05:35:40 +01:00
eshell Update copyright year to 2021 2021-01-01 01:13:56 -08:00
faces-resources Update copyright year to 2021 2021-01-01 01:13:56 -08:00
files-resources Move some test data to follow our conventions 2020-10-23 16:29:46 +02:00
gnus ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
hfy-cmap-resources * test/lisp/hfy-cmap-resources/rgb.txt: Add comment line. 2020-11-12 03:20:39 +01:00
image Update copyright year to 2021 2021-01-01 01:13:56 -08:00
international Update copyright year to 2021 2021-01-01 01:13:56 -08:00
mail Use lexical-binding in mail-utils.el and add tests 2021-02-10 18:44:43 +01:00
minibuffer-resources Move more test data to follow our conventions 2020-10-23 21:07:26 +02:00
net Fix Bootstring skew parameter in puny.el 2021-03-01 14:05:36 +01:00
nxml ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
obsolete Make inversion.el obsolete (Bug#46841) 2021-03-03 19:54:37 +01:00
org Update copyright year to 2021 2021-01-01 01:13:56 -08:00
pcmpl-linux-resources Use lexical-binding in pcmpl-linux.el and add tests 2020-09-02 12:53:02 +02:00
play Use lexical-binding in almost all of play/*.el 2021-02-10 06:25:28 +01:00
progmodes ; * test/lisp/progmodes/f90-tests.el: Remove stale comment. 2021-02-26 17:11:49 +01:00
saveplace-resources Use lexical-binding in saveplace.el and add tests 2020-08-08 01:40:38 +02:00
so-long-tests Update copyright year to 2021 2021-01-01 01:13:56 -08:00
term Update copyright year to 2021 2021-01-01 01:13:56 -08:00
textmodes Fix regexp mistakes 2021-02-19 13:44:25 +01:00
time-resources Add missed file needed by time-tests.el 2020-10-22 18:51:00 +02:00
url Update copyright year to 2021 2021-01-01 01:13:56 -08:00
vc Update copyright year to 2021 2021-01-01 01:13:56 -08:00
xdg-resources Move more test data to follow our conventions 2020-10-23 21:07:26 +02:00
abbrev-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
align-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
allout-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
allout-widgets-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ansi-color-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
apropos-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
arc-mode-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
auth-source-pass-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
auth-source-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
autoinsert-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
autorevert-tests.el Fix recently uncovered 'make check' failures 2021-01-23 23:38:19 +00:00
battery-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
bookmark-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
buff-menu-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
button-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
char-fold-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
color-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
comint-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
completion-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
cus-edit-tests.el ; Finish customize-changed-options obsoletion 2021-02-09 12:58:51 +00:00
custom-tests.el Decouple require-theme from load-theme 2021-03-04 15:40:35 +00:00
dabbrev-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
delim-col-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
descr-text-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
dired-aux-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
dired-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
dired-x-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
dom-tests.el ; Minor license statement fixes 2021-02-08 09:10:57 +01:00
electric-tests.el * test/lisp/electric-tests.el: Fix switch to lexical-binding. 2021-01-29 16:49:12 -05:00
elide-head-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
epg-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
faces-tests.el Tweak tty-find-type to allow TERM=screen.xterm 2021-01-20 17:25:40 +01:00
ffap-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
filenotify-tests.el * test/lisp/filenotify-tests.el (file-notify-test07-many-events-remote): 2021-01-07 16:43:27 +01:00
files-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
files-x-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
find-cmd-tests.el Use lexical-binding in find-cmd.el and add tests 2021-01-29 06:19:06 +01:00
font-lock-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
format-spec-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
help-fns-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
help-mode-tests.el Hyperlink symbol names without word syntax in Help 2021-01-10 13:37:38 +00:00
help-tests.el Update substitute-command-keys tests, again 2021-01-12 05:41:13 -08:00
hfy-cmap-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
hi-lock-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
htmlfontify-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ibuffer-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ido-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
image-file-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
image-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
imenu-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
info-xref-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
isearch-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
jit-lock-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
json-tests.el Fix json.el encoding of confusable object keys 2021-02-21 12:53:45 +00:00
jsonrpc-tests.el Fix typos 2021-02-18 16:50:55 +01:00
kmacro-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ls-lisp-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
makesum-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
man-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
md4-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
minibuffer-tests.el Fix warning in completion-pcm--optimize-pattern 2021-03-01 22:38:17 +01:00
misc-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
mouse-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
mwheel-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
obarray-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
paren-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
password-cache-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
pcmpl-linux-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ps-print-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
register-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
replace-tests.el test/lisp/replace-tests.el: Add nested match group test 2021-01-20 02:46:17 +01:00
rot13-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
saveplace-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
scroll-lock-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
ses-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
shadowfile-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
shell-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
simple-tests.el Fix count-lines problem in non-ASCII buffers 2021-02-09 08:12:14 +01:00
sort-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
soundex-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
startup-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
subr-tests.el Lift {global,local}-key-binding to Lisp 2021-01-13 18:54:09 +01:00
tabify-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
tar-mode-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
tempo-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
term-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
thingatpt-tests.el Make symbol-at-point return nil if there's no symbols in the buffer 2021-01-20 16:58:09 +01:00
thread-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
time-stamp-tests.el time-stamp-tests now pass in more locales 2021-01-18 13:47:15 -08:00
time-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
timezone-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
version-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
wdired-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
whitespace-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
wid-edit-tests.el Add test for the widget-color-match function (Bug#45829) 2021-01-19 09:11:37 -03:00
xdg-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
xml-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00
xt-mouse-tests.el Update copyright year to 2021 2021-01-01 01:13:56 -08:00