Commit graph

773 commits

Author SHA1 Message Date
Alan Mackenzie
1cd188799f Make symbols with positions work with native compilation
This version of the software should bootstrap Emacs successfully with native
compilation enabled.

* lisp/emacs-lisp/bytecomp.el (byte-compile-strip-s-p-1)
(byte-compile-strip-symbol-positions): Rename and move to macroexp.el.  Rename
calls to these functions throughout the file.
(byte-compile-initial-macro-environment): In the code sections for
eval-when-compile and eval-and-compile, call macroexp-strip-symbol-positions
before evaluating code.
(byte-compile-file, byte-compile-output-file-form)
(byte-compile-file-form-defmumble, byte-compile, batch-byte-compile): Call
macroexp-strip-symbol-positions from code being passed to the native compiler.

* lisp/emacs-lisp/cl-macs.el (cl-macs--strip-s-p-1)
(cl-macs--strip-symbol-positions): Remove, replacing them with the renamed
functions in macroexp.el.
(cl-define-compiler-macro): Apply macroexp-strip-symbol-positions to ARGS and
BODY.

* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Use `null' to compile
byte-not rather than a compilation of `eq'.
(comp--native-compile): bind symbols-with-pos-enabled to t.

* lisp/emacs-lisp/macroexp.el (byte-compile--ssp-conses-seen)
(byte-compile--ssp-vectors-seen, byte-compile--ssp-records-seen): Provisional
auxiliary variables to support the following functions.
(macroexp--strip-s-p-2, byte-compile-strip-s-p-1)
(macroexp-strip-symbol-positions): Functions moved from bytecomp.el, renamed,
and further developed.
(macroexp--compiler-macro): Bind symbol-with-pos-enabled to t around the call
to `handler'.
(internal-macroexpand-for-load): Strip symbol positions from the form being
eagerly expanded for macros.

* src/comp.c (F_SYMBOLS_WITH_POS_ENABLED_RELOC_SYM): New macro for a
relocation symbol.
(comp_t): New elements bool_ptr_type, f_symbols_with_pos_enabled_ref,
lisp_symbol_with_position, lisp_symbol_with_position_header,
lisp_symbol_with_position_sym, lisp_symbol_with_position_pos,
lisp_symbol_with_position_type, lisp_symbol_with_position_ptr_type,
get_symbol_with_position.
(helper_GET_SYMBOL_WITH_POSITION): New function.
(emit_BASE_EQ): Function rename from emit_EQ.
(emit_AND, emit_OR, emit_BARE_SYMBOL_P, emit_SYMBOL_WITH_POS_P)
(emit_SYMBOL_WITH_POS_SYM): New functions.
(emit_EQ): New function which handles symbols with position correctly.
(emit_NILP): Use emit_BASE_EQ rather than emit_EQ.
(emit_limple_insn): When emitting a conditional branch, check each operand for
being a literal Qnil, and if one of them is, use emit_BASE_EQ rather than
emit_EQ.
(declare_runtime_imported_funcs): Declare helper_GET_SYMBOL_WITH_POSITION.
(emit_ctxt_code): Export the global F_SYMBOLS_WITH_POS_ENABLED_RELOC_SYM.
(define_lisp_symbol_with_position, define_GET_SYMBOL_WITH_POSITION): New
functions.
(Fcomp__init_ctxt): Initialise comp.bool_ptr_type, call the two new
define_.... functions.
(load_comp_unit): Initialise **f_symbols_with_pos_enabled_reloc.

* src/fns.c (Fput): Strip positions from symbols in PROPNAME and VALUE.
2021-12-30 10:14:58 +00:00
Andrea Corallo
e7699bf290 * Fix native comp for non trivial function names (bug#52833)
* lisp/emacs-lisp/comp.el (comp-c-func-name): Fix native compilation
for functions with function names containing non trivial
characters (bug#52833).
2021-12-28 15:59:32 +01:00
Andrea Corallo
fd86829e66 Make use of `comp-cstr-shallow-copy'
* lisp/emacs-lisp/comp.el (comp-mvar-propagate): Remove.
(comp-fwprop-call, comp-fwprop-insn): Use `comp-cstr-shallow-copy'.

* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range)
(comp-cstr-union-1-no-mem, comp-cstr-union-1)
(comp-cstr-intersection-no-mem, comp-cstr-intersection)
(comp-cstr-negation): Use `comp-cstr-shallow-copy'.
2021-12-01 22:21:04 +01:00
Andrea Corallo
2971a6890f * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix target dir. 2021-10-16 10:56:50 +02:00
Andrea Corallo
ced72b6e4c * Fix `native-compile-target-directory' effectiveness on trampolines
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix
`native-compile-target-directory' effectiveness on trampoline
compilation.
2021-10-15 09:32:20 +02:00
Andrea Corallo
1af45ad04e ; * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix comment. 2021-10-15 09:18:54 +02:00
Paul Eggert
96278de8ac New function num-processors
This addresses a FIXME comment in lisp/emacs-lisp/comp.el,
relating to the number of subsidiary processes used by
comp-run-async-workers in native compilation.
* admin/merge-gnulib (GNULIB_MODULES): Add nproc.
* doc/lispref/processes.texi (Process Information), etc/NEWS:
Document num-processors.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/nproc.c, lib/nproc.h, m4/nproc.m4:
New files, copied from Gnulib by admin/merge-gnulib.
* lisp/emacs-lisp/comp.el (w32-get-nproc): Remove decl.
(comp-effective-async-max-jobs): Use num-processors.
* src/process.c: Include nproc.h.
(Fnum_processors): New function.
(syms_of_process): Define ‘all’, ‘current’, ‘num-processors’.
* src/w32proc.c (Fw32_get_nproc): Add FIXME comment.
* test/src/process-tests.el (process-num-processors): New test.
2021-10-10 14:00:26 -07:00
Andrea Corallo
e606cc6f40 * Fix `batch-native-compile' not to spawn a subprocess
* lisp/emacs-lisp/comp.el (comp-running-batch-compilation): New var.
(comp-final): Use it.
(batch-native-compile): Bind `comp-running-batch-compilation' it.
2021-10-04 21:55:57 +02:00
Eli Zaretskii
73b2b9f67a ; * lisp/emacs-lisp/comp.el (batch-native-compile): Don't use non-ASCII. 2021-09-28 15:03:38 +03:00
Eli Zaretskii
90655e4bc0 Make the build of source tarball produce *.eln files
* lisp/emacs-lisp/comp.el (batch-native-compile): Accept an
optional argument; if non-nil, place the .eln file as appropriate
for building a source tarball.

* doc/lispref/compile.texi (Native-Compilation Functions):
Document the new optional argument of 'batch-native-compile'.

* lisp/Makefile.in (.PHONY, $(THEFILE)n) [HAVE_NATIVE_COMP]: New
targets.

* src/Makefile.in (%.eln) [HAVE_NATIVE_COMP]: New recipe.
(all) [HAVE_NATIVE_COMP]: Add ../native-lisp to prerequisites.
(elnlisp) [HAVE_NATIVE_COMP]: New list of *.eln files.
(../native-lisp) [HAVE_NATIVE_COMP]: New recipe.

* src/verbose.mk.in (AM_V_ELN): New macro.
2021-09-28 15:00:50 +03:00
Eli Zaretskii
b02a7ad263 ; * lisp/emacs-lisp/comp.el (batch-native-compile): Doc fix. 2021-09-28 11:18:17 +03:00
Lars Ingebrigtsen
85e9e5f616 Don't quote nil and t in doc strings and comments
* test/src/minibuf-tests.el (test-try-completion-ignore-case):
* test/lisp/url/url-auth-tests.el
(url-auth-test-digest-auth-retrieve-cache):
* test/lisp/subr-tests.el (subr-tests-add-hook-depth):
* test/lisp/so-long-tests/so-long-tests.el
(so-long-tests-invisible-buffer-function):
* test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-sort):
* src/xfaces.c:
* src/process.c (Finterrupt_process):
(syms_of_process):
* src/minibuf.c (Fread_from_minibuffer):
(Fcompleting_read):
(syms_of_minibuf):
* src/dispnew.c (syms_of_display):
* src/data.c:
* lisp/so-long.el (so-long--hack-local-variables):
* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
(elisp--xref-find-definitions):
* lisp/org/ox-html.el (org-html-htmlize-output-type):
* lisp/org/org-agenda.el (org-agenda-do-in-region):
* lisp/net/tramp.el:
* lisp/minibuffer.el (set-minibuffer-message):
* lisp/isearch.el (isearch-wrap-pause):
(isearch-repeat-on-direction-change):
* lisp/emacs-lisp/timer.el (timer):
* lisp/emacs-lisp/package.el (package-read-archive-contents):
* lisp/emacs-lisp/faceup.el (faceup-next-property-change):
* lisp/emacs-lisp/comp.el (comp-func):
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p):
* lisp/emacs-lisp/cl-macs.el (cl-do):
(cl-do*):
(cl--self-tco):
* lisp/emacs-lisp/bytecomp.el (byte-compile-unresolved-functions):
(byte-compile-cond-jump-table): Don't quote t and nil.
2021-09-21 22:11:43 +02:00
Eli Zaretskii
83e3d8d879 Improve doc strings of a recent commit
* lisp/emacs-lisp/generator.el (iter-defun):
* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln):
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode):
* lisp/emacs-lisp/autoload.el (autoload-insert-section-header):
Include description of arguments in the doc string's first line.
2021-09-18 14:56:55 +03:00
Stefan Kangas
dd1220b969 ; More stylistic docfixes in emacs-lisp/*.el found by checkdoc 2021-09-18 13:14:50 +02:00
Eli Zaretskii
bfd5e268a8 ; * lisp/emacs-lisp/comp.el (native-comp-compiler-options): Doc fix. 2021-09-11 10:22:06 +03:00
Arthur Miller
dea67939b6 Add support for GCC compiler command-line options
* lisp/emacs-lisp/comp.el ('native-comp-compiler-options): New option.
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Add support
for new 'native-comp-compiler-options'.
* src/comp.c (Fcomp_native_compiler_options_effective_p): New function.
(add_compiler_options): New function.
(Fcomp__compile_ctxt_to_file): Call 'add_compiler_options'.
2021-09-10 21:04:41 +02:00
Andrea Corallo
f7da671493 * Forward `comp-file-preloaded-p' to async workers
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward
`comp-file-preloaded-p' to async workers.
2021-08-27 15:30:20 +02:00
Eli Zaretskii
654e096b09 ; * lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions): Doc fix. 2021-08-22 11:42:05 +03:00
Andrea Corallo
7fa5dec86e * Fix `native-compile-target-directory' effectiveness for async compilation.
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async
workers `native-compile-target-directory'.
2021-08-17 23:47:05 +02:00
Mattias Engdegård
051434fdef Use string-replace instead of replace-regexp-in-string
`string-replace` is easier to understand, less error-prone, much
faster, and results in shorter Lisp and byte code.  Use it where
applicable and obviously safe (erring on the conservative side).

* admin/authors.el (authors-scan-change-log):
* lisp/autoinsert.el (auto-insert-alist):
* lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent)
(calc-edit-macro-combine-ext-command)
(calc-edit-macro-combine-var-name):
* lisp/calc/calc-units.el (math-make-unit-string):
* lisp/calendar/cal-html.el (cal-html-comment):
* lisp/calendar/cal-tex.el (cal-tex-comment):
* lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
(icalendar--convert-string-for-import):
* lisp/calendar/iso8601.el (iso8601--concat-regexps)
(iso8601--full-time-match, iso8601--combined-match):
* lisp/calendar/time-date.el (format-seconds):
* lisp/calendar/todo-mode.el (todo-filter-items-filename):
* lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name)
(cedet-file-name-to-directory-name):
* lisp/comint.el (comint-watch-for-password-prompt):
* lisp/dired-aux.el (dired-do-chmod):
* lisp/dired-x.el (dired-man):
* lisp/dired.el (dired-insert-directory, dired-goto-file-1):
* lisp/emacs-lisp/comp.el (comp-c-func-name):
* lisp/emacs-lisp/re-builder.el (reb-copy):
* lisp/erc/erc-dcc.el (erc-dcc-unquote-filename):
* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy)
(erc-update-mode-line-buffer, erc-message-english-PART):
* lisp/files.el (make-backup-file-name-1, files--transform-file-name)
(read-file-modes):
* lisp/fringe.el (fringe-mode):
* lisp/gnus/gnus-art.el (gnus-button-handle-info-url):
* lisp/gnus/gnus-group.el (gnus-group-completing-read):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
* lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy):
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
(gnus-search-transform-expression, gnus-search-run-search):
* lisp/gnus/gnus-start.el (gnus-dribble-enter):
* lisp/gnus/gnus-sum.el (gnus-summary-refer-article):
* lisp/gnus/gnus-util.el (gnus-mode-string-quote):
* lisp/gnus/message.el (message-put-addresses-in-ecomplete)
(message-parse-mailto-url, message-mailto-1):
* lisp/gnus/mml-sec.el (mml-secure-epg-sign):
* lisp/gnus/mml-smime.el (mml-smime-epg-verify):
* lisp/gnus/mml2015.el (mml2015-epg-verify):
* lisp/gnus/nnmaildir.el (nnmaildir--system-name)
(nnmaildir-request-list, nnmaildir-retrieve-groups)
(nnmaildir-request-group, nnmaildir-retrieve-headers):
* lisp/gnus/nnrss.el (nnrss-node-text):
* lisp/gnus/spam-report.el (spam-report-gmane-internal)
(spam-report-user-mail-address):
* lisp/ibuffer.el (name):
* lisp/image-dired.el (image-dired-pngnq-thumb)
(image-dired-pngcrush-thumb, image-dired-optipng-thumb)
(image-dired-create-thumb-1):
* lisp/info.el (Info-set-mode-line):
* lisp/international/mule-cmds.el (describe-language-environment):
* lisp/mail/rfc2231.el (rfc2231-parse-string):
* lisp/mail/rfc2368.el (rfc2368-parse-mailto-url):
* lisp/mail/rmail.el (rmail-insert-inbox-text)
(rmail-simplified-subject-regexp):
* lisp/mail/rmailout.el (rmail-output-body-to-file):
* lisp/mail/undigest.el (rmail-digest-rfc1153):
* lisp/man.el (Man-default-man-entry):
* lisp/mouse.el (minor-mode-menu-from-indicator):
* lisp/mpc.el (mpc--debug):
* lisp/net/browse-url.el (browse-url-mail):
* lisp/net/eww.el (eww-update-header-line-format):
* lisp/net/newst-backend.el (newsticker-save-item):
* lisp/net/rcirc.el (rcirc-sentinel):
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/nxml/rng-cmpct.el (rng-c-literal-2-re):
* lisp/nxml/xmltok.el (let*):
* lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex)
(nnir-run-find-grep):
* lisp/play/dunnet.el (dun-doassign):
* lisp/play/handwrite.el (handwrite):
* lisp/proced.el (proced-format-args):
* lisp/profiler.el (profiler-report-header-line-format):
* lisp/progmodes/gdb-mi.el (gdb-mi-quote):
* lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex)
(makefile-make-font-lock-keywords):
* lisp/progmodes/prolog.el (prolog-guess-fill-prefix):
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
* lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal):
* lisp/progmodes/which-func.el (which-func-current):
* lisp/replace.el (query-replace-read-from)
(occur-engine, replace-quote):
* lisp/select.el (xselect--encode-string):
* lisp/ses.el (ses-export-tab):
* lisp/subr.el (shell-quote-argument):
* lisp/term/pc-win.el (msdos-show-help):
* lisp/term/w32-win.el (w32--set-selection):
* lisp/term/xterm.el (gui-backend-set-selection):
* lisp/textmodes/picture.el (picture-tab-search):
* lisp/thumbs.el (thumbs-call-setroot-command):
* lisp/tooltip.el (tooltip-show-help-non-mode):
* lisp/transient.el (transient-format-key):
* lisp/url/url-mailto.el (url-mailto):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p):
* lisp/vc/vc-bzr.el (vc-bzr-status):
* lisp/vc/vc-hg.el (vc-hg--glob-to-pcre):
* lisp/vc/vc-svn.el (vc-svn-after-dir-status):
* lisp/xdg.el (xdg-desktop-strings):
* test/lisp/electric-tests.el (defun):
* test/lisp/term-tests.el (term-simple-lines):
* test/lisp/time-stamp-tests.el (formatz-mod-del-colons):
* test/lisp/wdired-tests.el (wdired-test-bug32173-01)
(wdired-test-unfinished-edit-01):
* test/src/json-tests.el (json-parse-with-custom-null-and-false-objects):
Use `string-replace` instead of `replace-regexp-in-string`.
2021-08-08 19:25:26 +02:00
Lars Ingebrigtsen
bc1ffc5f6e Fix print-length issue in comp-run-async-workers
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind
print-length/print-level to ensure there's no truncation (bug#49922).
2021-08-07 12:59:22 +02:00
Andrea Corallo
a32e65b357 * Add `native-compile-target-directory' (bug#48743)
* lisp/emacs-lisp/comp.el (native-compile-target-directory): New
variable.
(comp-spill-lap-function): Make use of.
2021-06-01 18:12:20 +02:00
Andrea Corallo
c4b02dad9b Rename batch-byte-native-compile-for-bootstrap (bug#48743)
* lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap'
-> `batch-byte+native-compile.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Rename
`batch-byte-native-compile-for-bootstrap' ->
`batch-byte+native-compile + `byte-native-for-bootstrap' ->
`byte+native-compile'.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
(batch-native-compile, batch-byte+native-compile): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte+native-compile)
(byte-compile-file): Likewise.
* test/src/comp-tests.el (comp-tests-bootstrap): Rename
`byte-native-for-bootstrap' -> `byte+native-compile'.
2021-06-01 18:11:37 +02:00
Andrea Corallo
8992a45202 * Make *Async-native-compile-log* buffer read-only (bug#48763)
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Make
"*Async-native-compile-log*" read-only.
2021-05-31 20:52:45 +02:00
Basil L. Contovounesios
43fd13770a Fix native-comp-async-report-warnings-errors :type
* doc/lispref/compile.texi (Native-Compilation Variables): Document
'silent' alternative of native-comp-async-report-warnings-errors.
* lisp/emacs-lisp/comp.el
(native-comp-async-report-warnings-errors): Fix quoting in
:type expression (bug#48586).
2021-05-22 13:22:29 +01:00
Eric Abrahamsen
e761e12498 Add a 'silent option for native-comp-async-report-warnings-errors
* lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors):
Set to 'silent to log warnings, but not pop up the *Warnings* buffer.
* lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output):
Check value.
2021-05-16 14:27:53 -07:00
Andrea Corallo
8bc91a6a3f * Rename comp-deferred-compilation-deny-list
* lisp/emacs-lisp/comp.el (native-comp-deferred-compilation-deny-list)
(native-compile-async-skip-p): Rename
comp-deferred-compilation-deny-list ->
native-comp-deferred-compilation-deny-list.
2021-05-11 18:31:45 +02:00
Andrea Corallo
fbbcbed10e Rename comp-eln-load-path → native-comp-eln-load-path
* src/comp.c (Fcomp_el_to_eln_filename): Rename comp-eln-load-path →
native-comp-eln-load-path.
* src/lread.c (maybe_swap_for_eln): Likewise.
* lisp/startup.el (native-comp-eln-load-path)
(normal-top-level): Likewise.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final)
(comp-eln-load-path-eff, comp-trampoline-compile)
(comp-clean-up-stale-eln, comp-run-async-workers)
(comp-lookup-eln, batch-byte-native-compile-for-bootstrap): Likewise.
2021-05-06 17:16:09 +02:00
Andrea Corallo
901ce56603 Rename comp-warning-on-missing-source
* src/lread.c (maybe_swap_for_eln): Rename
comp-warning-on-missing-source →
native-comp-warning-on-missing-source.
* src/comp.c (syms_of_comp): Likewise.
* lisp/emacs-lisp/comp.el (native-comp-warning-on-missing-source):
Likewise.
2021-05-06 17:16:09 +02:00
Andrea Corallo
8c429a42c4 Rename comp-native-driver-options → native-comp-driver-options
* src/comp.c (add_driver_options, syms_of_comp): Rename
comp-native-driver-options → native-comp-driver-options.
* lisp/emacs-lisp/comp.el (native-comp-driver-options)
(comp-ctxt, comp-spill-lap-function, comp-final)
(comp-run-async-workers): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise.
2021-05-06 17:16:08 +02:00
Andrea Corallo
419852a599 * Rename comp-async-query-on-exit → native-comp-async-query-on-exit
* lisp/emacs-lisp/comp.el (native-comp-async-query-on-exit)
(comp-run-async-workers): Rename comp-async-query-on-exit →
native-comp-async-query-on-exit.
2021-05-06 17:16:08 +02:00
Andrea Corallo
c90129c5e5 * Rename comp-async-report-warnings-errors
* lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors)
(comp-accept-and-process-async-output): Rename
comp-async-report-warnings-errors →
native-comp-async-report-warnings-errors.
2021-05-06 17:16:08 +02:00
Andrea Corallo
4e01605efa * Rename comp-async-env-modifier-form → native-comp-async-env-modifier-form
* lisp/emacs-lisp/comp.el (native-comp-async-env-modifier-form)
(comp-final, comp-run-async-workers): Rename
comp-async-env-modifier-form → native-comp-async-env-modifier-form.
2021-05-06 17:16:08 +02:00
Andrea Corallo
4e063bf8eb * Rename comp-async-all-done-hook → native-comp-async-all-done-hook
* lisp/emacs-lisp/comp.el (native-comp-async-all-done-hook)
(comp-run-async-workers): Rename comp-async-all-done-hook →
native-comp-async-all-done-hook.
2021-05-06 17:16:08 +02:00
Andrea Corallo
e73186a446 * Rename comp-async-cu-done-functions → native-comp-async-cu-done-functions
* lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions)
(comp-run-async-workers): Rename comp-async-cu-done-functions →
native-comp-async-cu-done-functions.
2021-05-06 17:16:08 +02:00
Andrea Corallo
d8f84a1c00 * Rename comp-async-jobs-number → native-comp-async-jobs-number
* lisp/emacs-lisp/comp.el (native-comp-async-jobs-number)
(comp-effective-async-max-jobs, native--compile-async)
(native-compile-async): Rename comp-async-jobs-number →
native-comp-async-jobs-number.
2021-05-06 17:16:08 +02:00
Andrea Corallo
31ca1c3e81 Rename comp-never-optimize-functions → native-comp-never-optimize-functions
* lisp/emacs-lisp/nadvice.el (advice--add-function): Rename
comp-never-optimize-functions → native-comp-never-optimize-functions.
* lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions)
(comp-subr-trampoline-install, comp-call-optim-form-call): Likewise.
2021-05-06 17:16:07 +02:00
Andrea Corallo
85b61c0c58 Rename comp-bootstrap-deny-list → native-comp-bootstrap-deny-list
* lisp/emacs-lisp/comp.el (native-comp-bootstrap-deny-list)
(batch-native-compile): Rename comp-bootstrap-deny-list →
native-comp-bootstrap-deny-list.
2021-05-06 17:16:07 +02:00
Andrea Corallo
6595295078 * Rename comp-always-compile → native-comp-always-compile
* lisp/emacs-lisp/comp.el (native-comp-always-compile)
(comp-run-async-workers): comp-always-compile →
native-comp-always-compile.
2021-05-06 17:16:07 +02:00
Andrea Corallo
6efd7885db * Rename comp-verbose -> native-comp-verbose
* lisp/emacs-lisp/comp.el (native-comp-verbose, comp-log)
(comp-log-func, comp-final, comp-run-async-workers): Rename
comp-verbose -> native-comp-verbose.
2021-05-06 17:16:07 +02:00
Andrea Corallo
94c69eb1d7 Rename comp-debug -> native-comp-debug
* src/comp.c (emit_ctxt_code, syms_of_comp): Rename comp-debug ->
native-comp-debug.
* lisp/emacs-lisp/comp.el (native-comp-debug, comp-ctxt)
(comp-spill-lap-function, comp-run-async-workers): Likewise.
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise.
* test/src/comp-tests.el (comp-tests-bootstrap): Likewise.
2021-05-06 17:16:07 +02:00
Andrea Corallo
43f29696ad Rename comp-speed -> native-comp-speed
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
comp-speed -> native-comp-speed.
* lisp/emacs-lisp/comp.el (native-comp-speed, comp-ctxt, comp-func,
comp-spill-lap-function, comp-trampoline-compile,
comp-run-async-workers): Likewise.
* src/comp.c (emit_ctxt_code, load_comp_unit, syms_of_comp): Likewise.
* test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1)
(comp-tests-check-ret-type-spec, comp-tests-pure): Likewise.
2021-05-06 17:16:07 +02:00
Andrea Corallo
643cc3fa14 * Rename comp-limple-mode -> native-comp-limple-mode
* lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Doc update.
(native-comp-limple-mode, comp-log-to-buffer): Rename comp-limple-mode
-> native-comp-limple-mode.
2021-05-06 17:16:06 +02:00
Andrea Corallo
40736357b8 Rename feature nativecomp' into native-compile'
* test/src/comp-tests.el : Rename feature `nativecomp' into
	`native-compile'.
	* test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise.
	* src/comp.c (syms_of_comp): Likewise.
	* lisp/startup.el (normal-top-level): Likewise.
	* lisp/loadup.el: Likewise.
	* lisp/help.el (help-function-arglist): Likewise.
	* lisp/emacs-lisp/package.el (package--native-compile-async)
	(package--delete-directory): Likewise.
	* lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise.
	* lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise.
	* lisp/emacs-lisp/advice.el (ad-add-advice): Likewise.
2021-05-05 22:27:29 +02:00
Andrea Corallo
d6ddc97884 * Do not try to load unexistent eln file if async compilation was skipped
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Don't try to
	load if the eln file was not produced.
2021-05-04 21:46:39 +02:00
Stefan Kangas
d55d5358b2 ; * lisp/emacs-lisp/comp.el: Fix typos. Add LocalWords. 2021-04-27 14:17:44 +02:00
Glenn Morris
40a1e94f4c Doc fixes for comp.el
* lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list)
(comp-bootstrap-deny-list, comp-pred-to-cstr, make-comp-mvar)
(comp-mvar-used-p, comp-async-compilation): Doc fixes.
2021-04-26 22:18:14 -07:00
Glenn Morris
b3b2cba5ca Fix some custom types in comp.el
* lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list)
(comp-bootstrap-deny-list, comp-never-optimize-functions)
(comp-async-env-modifier-form, comp-native-driver-options):
Fix :type (`list' on its own isn't even a valid type).
2021-04-26 22:09:46 -07:00
Stefan Kangas
e1541b5cb4 Rename abnormal hook to comp-async-cu-done-functions
* lisp/emacs-lisp/comp.el (comp-async-cu-done-functions): Rename
from 'comp-async-cu-done-hook' to reflect that it is an abnormal
hook.  Doc fix and update single caller.
2021-04-27 03:37:43 +02:00
Andrea Corallo
edf42af2cc Rework where `comp-ctxt' is defined.
* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Remove
	`comp-ctxt' definition.
	* lisp/emacs-lisp/comp.el (comp-ctxt): Likewise.
	* lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Define it here.
2021-04-26 23:01:39 +02:00