emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Help with adding an auxiliary bytecode table


From: Alex Gramiak
Subject: Help with adding an auxiliary bytecode table
Date: Thu, 18 Apr 2019 09:53:22 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

I've attached a diff below that adds an auxiliary optable to bytecode.c
and attempts to integrate it into bytecode.el. I can run emacs -Q with
it, but when I run it with my configuration I get the following in
stderr:

  Invalid function: ((bytecomp "Wrong type argument: arrayp, nil" :error
  "*Compile-Log*"))

And then Emacs aborts (--debug-init doesn't change this). Would someone
with experience in the bytecompiler be so kind as to help me fix this?
My initial reaction is that the stale bytecode is somehow incompatible,
but then why does emacs -Q run fine?

Flymake in every elisp buffer is reporting that the first require or
provide in the buffer contains a "Wrong type argument: arrayp, nil".

Background:

I wanted to add a new search procedure for vectors that was faster than
memq, and vector-memq turns out to be. The problem is that since memq is
a bytecode operation, it turns out to be faster than vector-memq for
small input unless I make sure that memq isn't turned into a bytecode
op. So since the current space in the lookup table is limited, I figured
that a prefix command that looks up in a secondary table would be a good
solution.

Attachment: aux-table.diff
Description: bytecode


reply via email to

[Prev in Thread] Current Thread [Next in Thread]