Last call to make your voice heard! Our 2022 Developer Survey closes in less than a week. Take survey.

Questions tagged [byte-compilation]

is for the Emacs Lisp compiler in Emacs that compiles lisp code to byte-code for faster execution compared to uncompiled lisp code. Byte-compiled code is read by the byte-code interpreter.

Filter by
Sorted by
Tagged with
0 votes
1 answer
28 views

How to disassemble an lambda/anonymous function given its hex adress but not name?

Assume that we have: (defalias 'my-f (lambda () (message "a"))) (byte-compile 'my-f) => #f(compiled-function () #<bytecode 0x1dc01052127a>) (setq my-g (byte-compile (...
user avatar
  • 140
2 votes
1 answer
81 views

Which byte-compile-file is my Emacs using? Function signature in describe-function differs to that in bytecomp.el

After reviewing some functions in my own dot-emacs files, I've noticed that the function signature that describe-function shows for byte-compile-file differs to that for the function definition in the ...
user avatar
0 votes
1 answer
99 views

Is there a way to determine if emacs uses the byte compiled or the natively compiled code of a function?

Say, there is some function and if I do a describe-function on it it says: x is an interactive compiled Lisp function in x.el Can I tell somehow if this loaded compiled code is byte compiled or ...
user avatar
  • 1,058
0 votes
1 answer
30 views

Errors with use-package after upgrading package

I load modus-themes (among other packages) in my Emacs configuration using: (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/") ("melpa" . &...
user avatar
1 vote
1 answer
56 views

How to revert org-ctrl-c-tab in Org?

I accidentaly pressed the keys C-c C-i which executed the command org-ctrl-c-tab. According to the self-documentation: org-ctrl-c-tab is an interactive and byte-compiled function defined in org.el.gz. ...
user avatar
4 votes
1 answer
105 views

How do you find all macro calls in an elisp file?

I am trying to make sure a package that is installed from Melpa (org-ref) byte compiles correctly, and a typical issue is related to the use of macros. For example, if I use org-with-wide-buffer which ...
user avatar
0 votes
0 answers
44 views

How to compile 3rd party packages ahread of time with native compilation?

Currently Emacs compiles packages on demand (native compilation, creating *.eln files). How can I scan my locally installed packages and compile them ahead of time, so this is a one time operation ...
user avatar
  • 7,079
1 vote
1 answer
74 views

Why is byte compiler issuing a warning on one of these 2 de Morgan equivalent expressions?

Assuming that the symbol foo is not defined nor declared with a defvar or let form, the following code generates a byte-compiler warning in Emacs 26.3 and 27.2: (defun f-or () "Use or." (...
user avatar
  • 581
3 votes
1 answer
139 views

eval-when-compile and eval-and-compile identical definitions?

How can eval-when-compile and eval-and-compile have different behavior if their definitions are identical? From byte-run.el: (defmacro eval-when-compile (&rest body) ;; ... documentation string ...
user avatar
  • 1,754
3 votes
1 answer
42 views

Avoiding warnings of undefined functions while compiling

I have a lot of code in my init file like this: (when library-is-available ;; Code that use that uses functions from library ) However, I get warnings that the functions that I am using are not ...
user avatar
  • 1,429
0 votes
0 answers
34 views

How to properly advise macros used by functions if earlier byte-compilation is present?

I am trying to customize the looks of org-agenda and, in order to do so, I would like to advice the macro org-agenda--insert-overriding-header; this macro appears to be used in several functions. ...
user avatar
  • 85
0 votes
0 answers
26 views

Is there a way to change the unibyte string bytecode output of `byte-compile` to hex?

Given a byte-compiled function: (byte-compile (defun factorial (integer) "Compute factorial of an integer." (if (= 1 integer) 1 (* integer (...
user avatar
0 votes
0 answers
35 views

Mutually recursive bytecode function throws an error when I try to eval

The following workflow contains the steps needed to reproduce the error: ;; Byte-compile the function. (byte-compile '(defun flatten (x) (cl-labels ((rec (x acc) ...
user avatar
0 votes
1 answer
48 views

Can you detect if a byte-compiled elisp file was not compiled by the current emacs?

Is there a way to tell if the current *.elc files were not compiled with the current Emacs? I am trying to detect an error where emacs is updated, but old .elc files are left in the user elpa ...
user avatar
1 vote
2 answers
318 views

Byte compilation error with use-package

The beginning of my ~/.emacs.d/init.el file looks like this: ;; MELPA (require 'package) (setq package-enable-at-startup nil) (setq package-check-signature nil) (add-to-list 'package-archives '("...
user avatar
1 vote
2 answers
56 views

`rx` form, that is partially compiled, partially variable?

Is it possible to obtain an (rx ...) form, that is expanded at compile time for performance, but partially variable? rx-to-string may be slow For instance I want an expression that behaves ...
user avatar
  • 1,481
0 votes
1 answer
52 views

How to byte-compile a file in the background?

To cut time on untangling my org setup file, I now only compile on save. However it is somewhat annoying to have the compile buffer popup on every save. ;; Only untangle on a change/save (defun ...
user avatar
  • 554
4 votes
0 answers
141 views

Which Lisp objects are byte-compiled?

A compiled program and a source code can be interpreted differently at runtime. The issue is that some Lisp objects should not be modified because of the byte-compilation. Emacs Lisp manual: 2.7 ...
user avatar
3 votes
1 answer
306 views

*Compile-log* buffer warning

I am a newbie to Emacs Lisp. started Emacs and the *Compile-log* buffer shows the following logs which I don't have much clue of. I was trying to install Magit and Helm. should anything in this log ...
user avatar
  • 85
1 vote
1 answer
109 views

Which site-lisp file was loaded, default.el or default.elc?

I'm setting up some site-wide default configuration in the site-lisp directory, and trying to figure out whether emacs is loading the byte-compiled default.elc or default.el. I haven't applied any ...
user avatar
  • 1,754
1 vote
1 answer
48 views

Byte compilation still happening when `no-byte-compile` is t on adding advice

In org-mode, I have the following: #+BEGIN_SRC emacs-lisp :results scalar (setq no-byte-compile t) (defun f ()) (defun g ()) (add-function :before (symbol-function 'f) 'g) (symbol-function 'f) #+...
user avatar
0 votes
1 answer
30 views

Source file ‘c:/Users/.../AppData/Local/emacs-26.1-x86_64/share/emacs/26.1/lisp/progmodes/python.el’ newer than byte-compiled file

this message shows up on Emacs startup. what does it mean and how to get rid of it? Source file ‘c:/Users/jcao/AppData/Local/emacs-26.1-x86_64/share/emacs/26.1/lisp/progmodes/python.el’ newer than ...
user avatar
  • 85
2 votes
1 answer
247 views

Workaround for "Invalid search bound (wrong side of point)" in CC Mode

Emacs 24.x and 25.x have a bug in CC Mode which can result in some operations failing with the error Invalid search bound (wrong side of point) For example, I can reproduce it with the following ...
user avatar
0 votes
0 answers
222 views

How to manually byte-compile a package?

Looking at the package installed under elpa directory I see that it have been byte compiled and the structure is different from the source. Consider the following example https://github.com/hlissner/...
user avatar
  • 103
4 votes
3 answers
255 views

How do I get byte-compilation warnings about undefined variables?

The following code works fine with M-x eval-buffer, and byte-compiles without any warnings. (eval-when-compile (defconst demo-one 1)) (defvar demo-some-var `(foo bar ,demo-one)) However, if I ...
user avatar
4 votes
0 answers
1k views

byte-compile much slower in X (vs. -nw)

Setup Windows 10 host with X server (VcXsrv) Linux guest (Arch) in virtual machine (VMware) Benchmark (defmacro measure-time (&rest body) "Measure the time it takes to evaluate BODY." `(let ...
user avatar
  • 989
3 votes
2 answers
201 views

byte-compile and lexical-binding

Could someone in the know please help me understand what's going on here: ;; -*- lexical-binding: t; -*- (let* ((a 0)) (let* ((a 1)) (funcall (byte-compile (lambda () a))))) ;;=> 0 wat? Not ...
user avatar
  • 335
0 votes
1 answer
45 views

Byte-compilation and "uninterned" function names

Not quite a duplicate: this appears to be very similar to the situation described in an existing question. But my question is not "why does it happen", but rather "is there any way to keep using ...
user avatar
2 votes
0 answers
86 views

byte-compiling in presence of pcase patterns

TIL that trying to compile anything with pcase matching in it may lead to an explosion of code generated during expansion. Even the most innocent looking patterns may generate hundreds of branches and ...
user avatar
  • 335
2 votes
3 answers
668 views

error: Invalid byte opcode: op=183, ptr=2

I byte-compile my ~/.emacs.d/init.el. It was done by Emacs 26.1 from Cygwin and I got error when load emacs-nox 25.2 from Debian WSL: error: Invalid byte opcode: op=183, ptr=2 Were new opcodes ...
user avatar
  • 3,132
4 votes
0 answers
52 views

A workflow for managing compiled elisp packages with different versions of emacs

I am using different versions of emacs, on different computers. On some of those (work computers) I don't really have a choice to update, whereas for my personal computers, I like to run the latest ...
user avatar
  • 4,093
3 votes
1 answer
90 views

How to get Emacs to know that a symbol has a function definition

While reading the source file prelude-ivy.el in the Prelude modules directory, I saw that there was a warning associated with "here" in the last line, specifically that prelude-required-packages was ...
user avatar
  • 399
0 votes
1 answer
86 views

Byte complie predictive mode

I'm trying to byte compile predictive mode and I have an issue that I can't solve. If I clone it from the official repo, and make it, I get: In toplevel form: predictive-auto-overlay-auto-dict.el:35:...
user avatar
  • 203
4 votes
1 answer
214 views

Make a variable visible to some functions only

Consider the following metacode: ;;; -*- lexical-binding: t -*- (defvar var1 ...) (defvar var2 ...) (defun main () "Main entry point" ...) (defun func1 ...) (defun func2 ...) ... (defun funcn ...)...
user avatar
  • 1,618
0 votes
2 answers
164 views

Generating a single byte-compiled file from more sources

I have a relatively large elisp file which starts becoming hard to maintain and I am going to split it into smaller files. However, for my use case, it would be still convenient to have a single byte-...
user avatar
  • 1,618
1 vote
1 answer
456 views

Can we force emacs to not load byte compiled files?

I would like Emacs to not use byte-compiled files because the stack-trace is really messy. So for my own elisp files, I can add ;; -*-no-byte-compile: t; -*- to disallow byte-compilation. But how ...
user avatar
  • 239
0 votes
1 answer
83 views

eval-when-compile statements not running in files required by compiled file

I've got one file including (eval-when-compile (require 'cl)) Some other files require this file, and also need to have cl required when they are byte-compiled. This is not happening - this first ...
user avatar
3 votes
2 answers
170 views

Can one inhibit eval-when-compile?

There is an eval-when-compile macro but, AFAICT, no eval-when-not-compiling or load-time-only, that would be very convenient for me now. Do you know any generic workaround? Why do I need this: I ...
user avatar
  • 1,085
5 votes
2 answers
646 views

Where are these variables defined? - bytecomp Warnings

Lately I'm getting warnings when compiling the .emacs Warning (bytecomp): reference to free variable ‘url-http-extra-headers’ Warning (bytecomp): reference to free variable ‘oauth--token-data’ ...
user avatar
  • 865
5 votes
1 answer
280 views

Why are custom themes not usually byte-compiled?

Three pieces of evidence suggest custom themes should not be byte-compiled: All built-in themes under etc/themes specify no-byte-compile: t. The function custom-available-themes considers only .el ...
user avatar
  • 11.3k
6 votes
1 answer
296 views

package.el: How can I avoid byte-compilation

How can I tell package.el to not byte-compile? It is generally OK to byte-compile installed packages but it makes difficult to test a new Emacs with byte compiler improvements (such as Emacs 26 from ...
user avatar
3 votes
2 answers
336 views

Disassembly of a bytecode *file*?

There is a disassembler for functions, but is there something that will disassemble a bytecode file? Thoughts on how to accomplish?
user avatar
  • 858
5 votes
1 answer
3k views

How do you recompile an .el source file and make it active in my current session

I have been writing some elisp code, current i have to open the file edit quit and reload emacs seems there must be a better way ? I know i can recompile the current file but that does not seem to ...
user avatar
  • 503
1 vote
1 answer
49 views

What does `#[0` (hash angle bracket 0) mean in the elisp debugger?

When using the debugger I get lines like the following in the stack trace: #[0 "\302\303!\210\300\211\207" [describe-input-method this-command helm-mode 1] 2 "\n\n(fn)"]() I have no clue what the #[...
user avatar
  • 113
4 votes
0 answers
272 views

Is there an ELISP decompiler?

I'm thinking of writing one so that when I get those horrible tracebacks from bytecode files, I can better see where I was at. Is there one already? Are there any other tools for showing an error ...
user avatar
  • 858
0 votes
1 answer
220 views

Ignore byte-compiled files without source file

I recently refactored my Emacs config, part of which involved deleting some old files which had been byte-compiled. My new configuration (ab)uses the load-dir package to load all my customisation ...
user avatar
  • 107
1 vote
1 answer
65 views

Requiring user-installed packages from byte-compiled .emacs

I have the following in my .emacs.el: (when (require 'edit-server nil t) (custom-set-variables '(edit-server-default-major-mode 'markdown-mode) '(edit-server-new-frame nil)) (edit-server-...
user avatar
  • 5,437
6 votes
0 answers
125 views

How to build Emacs without byte-compiling Lisp files

Q:  Is there an option to build Emacs without byte-compiling the Lisp files? BACKGROUND:  The length of time needed to build Emacs makes debugging / developing an extremely slow process. For example,...
user avatar
  • 17.6k
0 votes
1 answer
45 views

`error' called with 1 args to fill 0 format field(s)

I'm getting an error called with 1 args to fill 0 format field(s) error when byte-compiling cider-repl-history.el with Emacs 24.4 and 24.5. No such error is reported for Emacs 25.1. Line 422 of cider-...
user avatar
2 votes
1 answer
559 views

Function might not be defined at runtim

To use directory-files-recursively in Emacs 24.x, I'm adding the following to a file cider-compat.el: (eval-and-compile (unless (fboundp 'directory-files-recursively) (defun directory-files-...
user avatar