aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref/compile.texi (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; Grammar fixes for "native-compiled"Stefan Kangas2025-02-281-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Prefer "native-compiled" to "native compiled". The adjective "native-compiled" with the hyphen is generally more consistent with the typical pattern in English, especially when the compound modifies a noun (e.g., "native-compiled code"). 2. Prefer "natively compiled" to "natively-compiled". The adverb "natively" modifies "compiled", and it is standard not to hyphenate an adverb + adjective combination when the adverb ends in -ly (e.g., "code that is natively compiled"). For example, note that we say "high-speed internet" but "highly performant code". * Makefile.in (dest): * configure.ac (HAVE_NATIVE_COMP): * doc/emacs/building.texi (Lisp Libraries): * doc/lispref/compile.texi (Native Compilation) (Native-Compilation Functions, Native-Compilation Variables): * doc/lispref/functions.texi (What Is a Function, Declare Form): * doc/lispref/loading.texi (How Programs Do Loading, Library Search): * etc/NEWS: * etc/NEWS.28: * etc/NEWS.29: * etc/NEWS.30: * lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions) (comp-function-type-spec): * lisp/emacs-lisp/comp-cstr.el: * lisp/subr.el (locate-eln-file): * src/comp.c (SETJMP_NAME, syms_of_comp): * src/data.c (Fsubrp, Fnative_comp_function_p, Fsubr_native_lambda_list): * src/lread.c (Fload): * src/pdumper.c (dump_do_dump_relocation): * test/src/comp-tests.el (lambda-return2): Avoid grammatically incorrect variations on "natively compiled" and "native-compiled". (Bug#56727)
* Update copyright year to 2025Paul Eggert2025-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* ; Improve documentation of 'native-compile-directory' (bug#73303)Eli Zaretskii2024-10-231-0/+8
| | | | | | | | | * lisp/emacs-lisp/comp.el (native-compile-directory): Doc fix. * doc/lispref/compile.texi (Native-Compilation Functions): Document 'native-compile-directory'. * etc/NEWS: Improve wording.
* ; Improve a recent change to the documentationEli Zaretskii2024-07-081-2/+2
| | | | | | * lisp/emacs-lisp/comp.el (native-comp-debug): * doc/lispref/compile.texi (Native-Compilation Variables): Improve wording.
* ; Improve 'native-comp-debug' documentationAndrea Corallo2024-07-081-0/+3
| | | | | * lisp/emacs-lisp/comp.el (native-comp-debug): Improve doc. * doc/lispref/compile.texi (Native-Compilation Variables): Likewise.
* ; Fix documentation of recently-installed changesEli Zaretskii2024-05-141-8/+10
| | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (compilation-safety): Doc fix. * etc/NEWS: Fix wording of the 'compilation-safety' entry. * doc/lispref/functions.texi (Declare Form): Fix cross-reference and wording. * doc/lispref/compile.texi (Native-Compilation Variables): Add the missing @anchor. Fix wording.
* Add some 'compilation-safety' documentationAndrea Corallo2024-05-131-0/+18
| | | | | | | * lisp/emacs-lisp/bytecomp.el (compilation-safety): Better doc. * doc/lispref/functions.texi (Declare Form): Add 'safety'. * doc/lispref/compile.texi (Native-Compilation Variables): Add 'compilation-safety'.
* Use a dedicated type to represent interpreted-function valuesStefan Monnier2024-04-281-19/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change `function` so that when evaluating #'(lambda ...) we return an object of type `interpreted-function` rather than a list starting with one of `lambda` or `closure`. The new type reuses the existing PVEC_CLOSURE (nee PVEC_COMPILED) tag and tries to align the corresponding elements: - the arglist, the docstring, and the interactive-form go in the same slots as for byte-code functions. - the body of the function goes in the slot used for the bytecode string. - the lexical context goes in the slot used for the constants of bytecoded functions. The first point above means that `help-function-arglist`, `documentation`, and `interactive-form`s don't need to distinguish interpreted and bytecode functions any more. Main benefits of the change: - We can now reliably distinguish a list from a function value. - `cl-defmethod` can dispatch on `interactive-function` and `closure`. Dispatch on `function` also works now for interpreted functions but still won't work for functions represented as lists or as symbols, of course. - Function values are now self-evaluating. That was alrready the case when byte-compiled, but not when interpreted since (eval '(closure ...)) signals a void-function error. That also avoids false-positive warnings about "don't quote your lambdas" when doing things like `(mapcar ',func ...)`. * src/eval.c (Fmake_interpreted_closure): New function. (Ffunction): Use it and change calling convention of `Vinternal_make_interpreted_closure_function`. (FUNCTIONP, Fcommandp, eval_sub, funcall_general, funcall_lambda) (Ffunc_arity, lambda_arity): Simplify. (funcall_lambda): Adjust to new representation. (syms_of_eval): `defsubr` the new function. Remove definition of `Qclosure`. * lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure): Change calling convention and use `make-interpreted-closure`. * src/data.c (Fcl_type_of): Distinguish `byte-code-function`s from `interpreted-function`s. (Fclosurep, finterpreted_function_p): New functions. (Fbyte_code_function_p): Don't be confused by `interpreted-function`s. (Finteractive_form, Fcommand_modes): Simplify. (syms_of_data): Define new type symbols and `defsubr` the two new functions. * lisp/emacs-lisp/cl-print.el (cl-print-object) <interpreted-function>: New method. * lisp/emacs-lisp/oclosure.el (oclosure): Refine the parent to be `closure`. (oclosure--fix-type, oclosure-type): Simplify. (oclosure--copy, oclosure--get, oclosure--set): Adjust to new representation. * src/callint.c (Fcall_interactively): Adjust to new representation. * src/lread.c (bytecode_from_rev_list): * lisp/simple.el (function-documentation): * lisp/help.el (help-function-arglist): Remove the old `closure` case and adjust the byte-code case so it handles `interpreted-function`s. * lisp/emacs-lisp/cl-preloaded.el (closure): New type. (byte-code-function): Add it as a parent. (interpreted-function): Adjust parent (the type itself was already added earlier by accident). * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Adjust to new representation. (byte-compile): Use `interpreted-function-p`. * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Adjust to new representation. (side-effect-free-fns): Add `interpreted-function-p` and `closurep`. * src/profiler.c (trace_hash, ffunction_equal): Simplify. * lisp/profiler.el (profiler-function-equal): Simplify. * lisp/emacs-lisp/nadvice.el (advice--interactive-form-1): Use `interpreted-function-p`; adjust to new representation; and take advantage of the fact that function values are now self-evaluating. * lisp/emacs-lisp/lisp-mode.el (closure): Remove `lisp-indent-function` property. * lisp/emacs-lisp/disass.el (disassemble-internal): Adjust to new representation. * lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation): Use `interpreted-function-p`. * lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): Add `closurep` and `interpreted-function-p`. * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Adjust to more precise type info in `describe-function`. * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d--render-entries): Use `interpreted-function-p`. * test/lisp/emacs-lisp/macroexp-resources/vk.el (vk-f4, vk-f5): Don't hardcode function values. * doc/lispref/functions.texi (Anonymous Functions): Don't suggest that function values are lists. Reword "self-quoting" to reflect the fact that #' doesn't return the exact same object. Update examples with the new shape of the return value. * doc/lispref/variables.texi (Lexical Binding): * doc/lispref/lists.texi (Rearrangement): * doc/lispref/control.texi (Handling Errors): Update examples to reflect new representation of function values.
* Better eval-when-compile example in manualMattias Engdegård2024-04-251-2/+2
| | | | | | * doc/lispref/compile.texi (Eval During Compile): `regexp-opt` makes for a poor example because as a pure function it doesn't need `eval-when-compile` for constant inputs.
* Eliminate lazy bytecode loadingMattias Engdegård2024-01-311-66/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The obsolete lazy-loaded bytecode feature, enabled by `byte-compile-dynamic`, slows down Lisp execution even when not in use because every call to a bytecode function has to check that function for laziness. This change forces up-front loading of all lazy bytecode so that we can remove all those checks. (Dynamically loaded doc strings are not affected.) There is no point in generating lazy bytecode any more so we stop doing that; this simplifies the compiler. `byte-compile-dynamic` now has no effect. This is a fully compatible change; the few remaining users of `byte-compile-dynamic` should not notice any difference. * src/lread.c (bytecode_from_rev_list): Force eager loading of lazy bytecode. * src/bytecode.c (exec_byte_code): Remove lazy bytecode checks. * src/eval.c (fetch_and_exec_byte_code, Ffetch_bytecode): Remove. (funcall_lambda): Call exec_byte_code directly, avoiding checks. * lisp/subr.el (fetch-bytecode): New definition, obsolete no-op. * lisp/emacs-lisp/disass.el (disassemble-1): * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Remove calls to fetch-bytecode. (byte-compile-dynamic): Update doc string. (byte-compile-close-variables, byte-compile-from-buffer) (byte-compile-insert-header, byte-compile-output-file-form) (byte-compile--output-docform-recurse, byte-compile-output-docform) (byte-compile-file-form-defmumble): Remove effects of byte-compile-dynamic. * doc/lispref/compile.texi (Dynamic Loading): Remove node now that the entire `byte-compile-dynamic` facility has been rendered inert. * etc/NEWS: Announce changes.
* Merge from savannah/emacs-29Po Lu2024-01-021-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
| * ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
| |
* | Merge from origin/emacs-29Eli Zaretskii2023-12-231-2/+13
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a4751657389 * doc/man/emacsclient.1: Fix --tramp option. 1e5357d3d1f * doc/man/emacsclient.1: Add missing sections (bug#66598) fba7b9db397 Add explanation for extra parentheses in ELisp Introduction 77232826821 Add sample code to the "let*" section in "forward-paragraph" 7a00ca92c19 Fix treesit test (bug#67117) d220893216c Fix c++-ts-mode indentation (bug#67975) d386a8aa43f Recommend customizing eglot for python-base-mode bd0c7589715 Improve documentation of new native-compilation commands 1ad126c0f28 ; Fix typo 77678244b83 doc/lispintro: Don't mention `set` (bug#67734) cb3684e9dfa Fix script for some characters 2922d683b78 ; * src/treesit.c (treesit_traverse_child_helper): Fix co... 7b315e8a5c9 Fix an issue when searching subtree backward (bug#67117) 03625c2fefa Fix passive mode for tnftp client in ange-ftp.el. b6429b1c1c7 ; Improve documentation of ispell.el's dictionary database 75cc1593412 ; * etc/PROBLEMS: Update the "GnuPG hangs" entry. 67d9af1c074 Fix using disabled command without a docstring f68f3500236 Improve documentation of text properties handling when ya... 06c399914fa Eglot: Add Uiua language server
| * Improve documentation of new native-compilation commandsEli Zaretskii2023-12-221-2/+13
| | | | | | | | | | | | | | | | | | | | * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu) (emacs-lisp-native-compile, emacs-lisp-native-compile-and-load): Doc fixes. * doc/lispref/compile.texi (Native-Compilation Functions): Document 'emacs-lisp-native-compile' and 'emacs-lisp-native-compile-and-load'.
* | ; Grammar fixes ("allow to" et al)Stefan Kangas2023-09-171-3/+3
| | | | | | | | | | | | Ref: https://lists.gnu.org/r/emacs-devel/2016-01/msg01598.html https://lists.gnu.org/r/emacs-devel/2016-01/msg01465.html
* | Merge from origin/emacs-29Eli Zaretskii2023-09-161-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 755ae813a6a ; Declare some treesit.c functions in typescript-ts-mode.el. 89fa204b706 Fix loss of encrypted data in plstore.el d9a1175a611 Close SQL database when corresponding 'sqlite-mode' buffe... cbd8fac283a Fix Unicode normalization of characters 825be05b379 Support one-time passwords in Tramp f880b94e649 Fix the 'C' and 'c' categories of characters 58fd212d8a2 Fix Emoji zooming commands 8970cdd009a ; Fix last change. ba924be4522 ; * etc/DEBUG: Improve the redisplay section. e110312ad95 ; * doc/lispref/minibuf.texi (Text from Minibuffer): Ment... 65f4810003b tsx-ts-mode--font-lock-compatibility-bb1f97b: Improve 6fe11b88ed0 Avoid using --display in emacsclient to reuse frames on PGTK 2fc7463c0e5 ; * INSTALL: Don't advertise -O3. (Bug#65988) 29055412f2d ; Fix doc string of 'lsh' 738d8543337 Support emacsclient on Windows with server on GNU or Unix... f0a89fa1d0e ; * lisp/saveplace.el (save-place-ignore-files-regexp): F... c9cb8ee0fc0 Fix defcustom in saveplace.el (Bug#65977) 5ec8be1d589 ; * lisp/subr.el (string-suffix-p, string-prefix-p): Doc ... 809305e6d8f Fix 'window-text-pixel-size' when there are several image... ea14b0dcc20 : Doc fix. 01e8a0c6cbf Doc fix for prettify-symbols-unprettify-at-point 0065621d0d3 (report_overlay_modification): Fix bug#65929 6cc6455e931 Fix SVG colors (bug#56182) 9396d73942e * doc/emacs/text.texi (Outline Minor Mode): Add a note ab... a65d1a5a167 Improve documentation of 'list-abbrevs' 5dcc4b7eab1 Tweak s-p-f for js-ts-mode 1fb2fb501f3 typescript-ts-mode, tsx-ts-mode: Fix syntax properties fo... 946b395e7e1 * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Provide (bug... 33ee3e588fd Fix regression of treesit_cursor_helper_1 d11d81dfcc6 ; Fix doc typos (Bug#65868) 6554ec22465 Update docs for passing of Thien-Thi Nguyen 5ab2792d5c1 Update defvar usage tips example in manual 35d88c657e1 Document using Flymake together with Eglot 3f04efe9e7d ; * src/font.h (struct font): Comment about use of averag... 459b5f6b6d1 ; * admin/authors.el (authors-aliases): Update. 0c029ae8bcb ; tweak etc/TODO item # Conflicts: # admin/authors.el # lisp/subr.el
| * ; Fix doc typos (Bug#65868)shynur2023-09-111-1/+1
| |
* | Correct many instances of ``allows to''Po Lu2023-09-101-3/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refer to: lists.gnu.org/archive/html/emacs-devel/2016-01/msg01598.html * doc/emacs/frames.texi (Tab Bars): * doc/emacs/maintaining.texi (Tag Syntax): * doc/lispref/compile.texi (Native Compilation): * doc/lispref/control.texi (Destructuring with pcase Patterns): * doc/lispref/display.texi (Overlay Properties, Glyphless Chars): * doc/lispref/frames.texi (Size Parameters, Layout Parameters) (Child Frames): * doc/lispref/minibuf.texi (Minibuffer Windows): * doc/lispref/processes.texi (Asynchronous Processes): * doc/lispref/windows.texi (Precedence of Action Functions) (Mouse Window Auto-selection): * doc/misc/autotype.texi (Autoinserting): * doc/misc/efaq.texi (New in Emacs 28): * doc/misc/idlwave.texi (Examining Variables): * doc/misc/ses.texi (Quick Tutorial, Standard formula functions): * doc/misc/tramp.texi (External methods, FUSE-based methods): * lisp/comint.el (comint-insert-previous-argument-from-end): * lisp/emacs-lisp/rmc.el (read-multiple-choice): * lisp/gnus/gnus-util.el: * lisp/mail/rmailsum.el (rmail-summary-progressively-narrow): * lisp/mouse.el (mouse-drag-track): * lisp/net/tramp-sudoedit.el: * lisp/obsolete/landmark.el: * lisp/org/org.el (org-startup-truncated, org-file-apps): * lisp/pixel-scroll.el (pixel-scroll-precision-mode): * lisp/progmodes/cperl-mode.el (cperl-praise): * lisp/simple.el (yank-from-kill-ring, kill-visual-line): * lisp/window.el (delete-window-choose-selected): * src/ChangeLog.11: * src/xdisp.c (syms_of_xdisp): * src/xterm.c (handle_one_xevent): The construct ``allows to <infinitive>'' is not English inasmuch as no direct object to ``allows'' is provided. Correct and rephrase each instance of such a construct within our documentation and commentary.
* ; Add missing space in the manualVincent Lefevre2023-09-081-1/+1
| | | | | | | * doc/lispref/compile.texi (Native-Compilation Variables): Add missing space. (Bug#65782) Copyright-paperwork-exempt: yes
* Document 'startup-redirect-eln-cache'Eli Zaretskii2023-06-081-1/+20
| | | | | | | | | * doc/lispref/compile.texi (Native Compilation) (Native-Compilation Functions): Document 'startup-redirect-eln-cache'. * etc/PROBLEMS: Fix last change. * etc/NEWS: Mark 'startup-redirect-eln-cache' as documented.
* ; Improve documentation of 'native-comp-enable-subr-trampolines'Eli Zaretskii2023-02-191-8/+10
| | | | | | * doc/lispref/compile.texi (Native-Compilation Variables): Document the interpretation of non-absolute directory names that are the value of 'native-comp-enable-subr-trampolines'.
* ; Improve and update documentation of native compilationEli Zaretskii2023-02-171-1/+67
| | | | | | | | | | | | * src/comp.c (syms_of_comp) <native-comp-enable-subr-trampolines> <native-comp-eln-load-path>: Doc fixes. * lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions): Doc fix. * doc/lispref/compile.texi (Native-Compilation Variables): Document 'native-comp-jit-compilation' and 'native-comp-enable-subr-trampolines'.
* Revert "Add new variable 'inhibit-native-compilation'"Andrea Corallo2023-02-131-18/+0
| | | | This reverts commit 5fec9182dbeffa88cef6651d8c798ef9665d6681.
* Revert "Rename to inhibit-automatic-native-compilation"Andrea Corallo2023-02-131-2/+2
| | | | This reverts commit f97993ee667f9be7589825f3a4fbc095d6944ec6.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Correct capitalization of Lisp in the manual (bug#60222)Daniel Martín2022-12-201-1/+1
| | | | * doc/lispref/compile.texi (Native-Compilation Functions): Fix typo.
* ; Consistently call alists "association list"Stefan Kangas2022-11-271-1/+1
| | | | | | | | | | * doc/lispref/compile.texi (Compiler Errors): * doc/misc/gnus.texi (Score File Format): * etc/NEWS.24: * lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): * lisp/progmodes/gdb-mi.el (gdb-threads-list) (gdb-breakpoints-list, gdb-place-breakpoints): Prefer the term "association list" for alists.
* ; Fix quoting of non-nil in texinfo sourcesStefan Kangas2022-10-271-1/+1
|
* Merge from origin/emacs-28Stefan Kangas2022-10-161-0/+18
|\ | | | | | | | | | | | | | | | | | | | | 067361f3a2 ; Improve documentation of 'C-M-i' fdb6f7cf26 ; Fix documentation of 'comp-enable-subr-trampolines' be30369e01 ; Avoid incorrect indentation in an @example. 4bd3dd505e Document how to control where the *.eln files are written b7d7c2d9e9 Add cross-reference to alternative syntaxes for Unicode # Conflicts: # doc/emacs/custom.texi
| * Document how to control where the *.eln files are writtenEli Zaretskii2022-10-141-0/+18
| | | | | | | | | | | | | | | | * doc/lispref/compile.texi (Native Compilation): Document the trick of pointing $HOME to a non-existent directory. (Native-Compilation Variables): Document the role of 'native-comp-eln-load-path' in determining where *.eln files are written.
* | Clarify Native-Compilation Variables slightlyLars Ingebrigtsen2022-10-121-1/+1
| | | | | | | | | | * doc/lispref/compile.texi (Native-Compilation Variables): Clarify trampoline bit (bug#58429).
* | Rename to inhibit-automatic-native-compilationLars Ingebrigtsen2022-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/comp.c (maybe_defer_native_compilation): (syms_of_comp): * lisp/subr.el (native-comp-deferred-compilation): * lisp/startup.el (inhibit-native-compilation): (normal-top-level): * lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load): * lisp/emacs-lisp/comp.el (comp-trampoline-compile): * etc/NEWS: * doc/lispref/compile.texi (Native-Compilation Variables): Rename inhibit-native-compilation to inhibit-automatic-native-compilation.
* | Add new variable 'inhibit-native-compilation'Lars Ingebrigtsen2022-10-031-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/compile.texi (Native-Compilation Variables): Document it. * lisp/startup.el (normal-top-level): Set inhibit-native-compilation from environment variable. * lisp/subr.el (native-comp-deferred-compilation): Make obsolete. * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Don't write trampolines to disk. * lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load): Adjust. * src/comp.c (syms_of_comp): New variable inhibit-native-compilation. (maybe_defer_native_compilation): Use it.
* | Merge from origin/emacs-28Stefan Kangas2022-07-241-1/+3
|\ \ | |/ | | | | | | | | | | | | | | | | b4067394dc Set `default-directory' of Tramp archive connection buffer 2529e82002 ; * doc/lispref/functions.texi (Declare Form): Fix typo. 54c4ceb009 Update the documentation of 'declare' forms 7263631dca Fix bookmark support for Help functions in native-compilat... # Conflicts: # lisp/help.el
| * Update the documentation of 'declare' formsEli Zaretskii2022-07-231-1/+3
| | | | | | | | | | | | | | * doc/lispref/compile.texi (Native-Compilation Variables): Mention the 'declare' alternative for 'native-comp-speed'. * doc/lispref/functions.texi (Declare Form): Document 'declare' forms that were previously undocumented.
* | Merge from origin/emacs-28Stefan Kangas2022-07-121-1/+3
|\ \ | |/ | | | | | | | | | | | | 9183d1672c ; * etc/PROBLEMS: Give a URL for bug#50666. 1f508a8b6f etc/PROBLEMS: Describe issues with native compilation on C... 84a5d47125 ; Fix last change 0461021893 ; * lisp/emacs-lisp/comp.el (native-comp-speed): Explain t... 876317271b * lisp/find-dired.el (find-dired): Doc fix; add crossrefer...
| * ; Fix last changeEli Zaretskii2022-07-111-1/+3
| | | | | | | | | | * doc/lispref/compile.texi (Native-Compilation Variables): Explain better what the value -1 of 'native-comp-speed' means.
* | Modernise byte-compilation chapters in manualMattias Engdegård2022-02-111-30/+26
|/ | | | | | | * doc/lispref/compile.texi (Speed of Byte-Code): More representative numbers for byte code; the difference is much greater today. (Compilation Functions, Disassembly): Example output for lexbind bytecode.
* ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
|
* Document native-comp-async-report-warning-errors moreRobert Pluim2021-12-071-1/+11
| | | | | | | | | | | The docstring has a description of how fix problems in lisp code detected by native compilation, but not the Emacs Lisp manual, so document it there as well. * doc/lispref/compile.texi (Native-Compilation Functions): Refer to 'native-comp-async-report-warning-errors' (Native-Compilation Variables): Explain potential cause of warnings from native compilation.
* native-comp-available-p is the definitive testStephen Gildea2021-10-051-2/+1
| | | | | | | | | | * doc/lispref/compile.texi (Native Compilation): Document native-comp-available-p as the way to test for native compilation. * lisp/emacs-lisp/package.el (package--native-compile-async): * test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines): Test for native compilation with native-comp-available-p. Thank you to Andrea Corallo for reviewing this patch.
* Make the build of source tarball produce *.eln filesEli Zaretskii2021-09-281-2/+9
| | | | | | | | | | | | | | | | | | | * 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.
* Fix native-comp-async-report-warnings-errors :typeBasil L. Contovounesios2021-05-221-1/+4
| | | | | | | | * 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).
* Tiny fixes to recent native compilation docsBasil L. Contovounesios2021-05-081-22/+22
| | | | | | | | | | | For discussion, see the following thread: https://lists.gnu.org/r/emacs-devel/2021-05/msg00347.html * doc/lispref/compile.texi (Native Compilation): Fix grammar in @ref online label. (Native-Compilation Functions): Consistently unhyphenate 'sub-process'. Fix grammar. (Native-Compilation Variables): Fix @cindex entry.
* Document native-compilationEli Zaretskii2021-05-081-0/+245
| | | | | | | | | | | * doc/lispref/loading.texi (How Programs Do Loading) (Library Search): Update for native-compilation features. * doc/lispref/compile.texi (Native Compilation) (Native-Compilation Functions, Native-Compilation Variables): New chapter and sections. * doc/lispref/elisp.texi (Top): Update the top-level menus. * etc/NEWS: Add a reference to the ELisp manual.
* Use @defmac on eval-{and,when}-compileLars Ingebrigtsen2021-05-051-4/+4
| | | | | * doc/lispref/compile.texi (Eval During Compile): Use @defmac instead of @defspec on two macros (bug#47862).
* Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Allow following symlinks when recompiling directoriesLars Ingebrigtsen2020-11-261-1/+5
| | | | | | * doc/lispref/compile.texi (Compilation Functions): Document it. * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow following symlinks (bug#10292).
* byte-compile-file: Make optional LOAD argument obsoleteStefan Kangas2020-10-201-4/+1
| | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Declare optional LOAD argument obsolete. Adjust callers. (Bug#38072) (byte-recompile-file): Declare optional LOAD argument obsolete. * doc/lispref/compile.texi (Compilation Functions): Update documentation to reflect above obsoletion. * etc/NEWS: Announce above obsoletion.
* Document that 'byte-compile-dynamic' is obsoleteEli Zaretskii2020-03-071-1/+5
| | | | | | | * doc/lispref/compile.texi (Dynamic Loading): Document that this is deprecated. * etc/NEWS: mark the 'byte-compile-dynamic' entry as documented.