Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
7231a895
Commit
7231a895
authored
Mar 15, 2024
by
Stefan Monnier
Browse files
* lisp/emacs-lisp/bindat.el (sint): Burp in dynbind (bug#69749)
parent
00553628
Pipeline
#28512
failed with stages
in 55 minutes and 46 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
0 deletions
+4
-0
lisp/emacs-lisp/bindat.el
lisp/emacs-lisp/bindat.el
+4
-0
No files found.
lisp/emacs-lisp/bindat.el
View file @
7231a895
...
...
@@ -944,9 +944,13 @@ a bindat type expression."
(
bindat-defmacro
sint
(
bitlen
le
)
"Signed integer of size BITLEN.
Big-endian if LE is nil and little-endian if not."
(
unless
lexical-binding
(
error
"The `sint' type requires 'lexical-binding'"
))
(
let
((
bl
(
make-symbol
"bitlen"
))
(
max
(
make-symbol
"max"
))
(
wrap
(
make-symbol
"wrap"
)))
;; FIXME: This `let*' around the `struct' results in code which the
;; byte-compiler does not handle efficiently. 🙁
`
(
let*
((
,
bl
,
bitlen
)
(
,
max
(
ash
1
(
1-
,
bl
)))
(
,
wrap
(
+
,
max
,
max
)))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment