GNU bug report logs -
#66261
Disassembling a regexp's bytecode
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#66261: Disassembling a regexp's bytecode
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 66261 <at> debbugs.gnu.org.
--
66261: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66261
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Pushed to `master` with a short mention in search.texi.
Stefan
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Tags: patch
I'd like to add a function that lets us see a regexp's bytecode directly
from within Emacs (recompiling with REGEX_EMACS_DEBUG can be quite useful
in many cases, but it's much more invasive and it's often overkill).
The patch below is what I use currently, but clearly it's not ready for
`master`. Before I try and clean it, I'd like to discuss some issues to
figure out how best to solve them:
- First, in order to easily use the same code between REGEX_EMACS_DEBUG
and my new `re--describe-compiled`, I need to print sometimes to
`stderr` and sometimes to a string, which I do using `open_memstream`.
AFAIK `open_memstream` is not directly available in Windows (and
maybe under some other Unixes either, tho it's in POSIX-2008, IIUC).
Could someone help me get an `opem_memstream` emulation working
(maybe via gnulib)?
- I'm thinking of always providing this function. Another option would
be to do it under the control of a compilation flag, tho it doesn't
seem worth adding a new flag just for that. I guess we could
reuse REGEX_EMACS_DEBUG (tho it's too invasive IMO), or
ENABLE_CHECKING, but I'd rather just always offer the function.
After all, it might encourage users to look more carefully at their
regexps and maybe even to help us improve our regexp engine, who knows.
Stefan
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.16.0, Xaw3d scroll bars) of 2023-09-16 built on pastel
Repository revision: 0954f127b8840bf843a2acfb18d2e18e526166e1
Repository branch: work
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)
Configured using:
'configure -C --enable-checking --enable-check-lisp-object-type --with-modules --with-cairo --with-tiff=ifavailable
'CFLAGS=-Wall -g3 -Og -Wno-pointer-sign'
PKG_CONFIG_PATH=/home/monnier/lib/pkgconfig'
[regexp.patch (text/patch, attachment)]
This bug report was last modified 1 year and 287 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.