After applying the following patch, you can run GNU Emacs as a standalone LISP interpreter for batch usage. It basically disables the command loop and non-essential symbols in batch mode. temacs is Emacs sans any bootstrap elisp code. It is the first artifact generated during the Emacs build process. So you might not find it in your package installation. You can use the emacs binary too for the same effect - just understand that underneath they are not the same. modified src/keyboard.c @@ -1067,6 +1067,7 @@ command_loop (void) while (1) { internal_catch (Qtop_level, top_level_1, Qnil); + if (!noninteractive) internal_catch (Qtop_level, command_loop_2, Qnil); executing_kbd_macro = Qnil; @@ -2631,9 +2632,9 @@ read_char (int commandflag, Lisp_Object map, if (minibuf_level == 0 && !end_time && !current_kboard->immediate_echo + && ! noninteractive && (this_command_key_count > 0