aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref/elisp.texi (follow)
Commit message (Collapse)AuthorAgeFilesLines
* New function multiple-command-partition-argumentsSean Whitton2026-02-251-1/+1
| | | | | | | | | * lisp/subr.el (command-line-max-length): New variable. (multiple-command-partition-arguments): New function. * doc/lispref/processes.texi (Shell Arguments): * etc/NEWS: Document them. * test/lisp/subr-tests.el (subr-multiple-command-partition-arguments): New test.
* ; Make the document language in Info manuals explicitly statedEli Zaretskii2026-02-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/misc/woman.texi: * doc/misc/wisent.texi: * doc/misc/widget.texi: * doc/misc/vtable.texi: * doc/misc/viper.texi: * doc/misc/vhdl-mode.texi: * doc/misc/use-package.texi: * doc/misc/url.texi: * doc/misc/tramp.texi: * doc/misc/todo-mode.texi: * doc/misc/srecode.texi: * doc/misc/speedbar.texi: * doc/misc/smtpmail.texi: * doc/misc/sieve.texi: * doc/misc/ses.texi: * doc/misc/semantic.texi: * doc/misc/sc.texi: * doc/misc/sasl.texi: * doc/misc/remember.texi: * doc/misc/reftex.texi: * doc/misc/rcirc.texi: * doc/misc/pgg.texi: * doc/misc/pcl-cvs.texi: * doc/misc/octave-mode.texi: * doc/misc/nxml-mode.texi: * doc/misc/newsticker.texi: * doc/misc/mh-e.texi: * doc/misc/message.texi: * doc/misc/mairix-el.texi: * doc/misc/info.texi: * doc/misc/ido.texi: * doc/misc/idlwave.texi: * doc/misc/htmlfontify.texi: * doc/misc/gnus.texi: * doc/misc/forms.texi: * doc/misc/flymake.texi: * doc/misc/eww.texi: * doc/misc/eudc.texi: * doc/misc/eshell.texi: * doc/misc/ert.texi: * doc/misc/erc.texi: * doc/misc/epa.texi: * doc/misc/emacs-gnutls.texi: * doc/misc/eieio.texi: * doc/misc/eglot.texi: * doc/misc/efaq-w32.texi: * doc/misc/efaq.texi: * doc/misc/edt.texi: * doc/misc/ediff.texi: * doc/misc/ede.texi: * doc/misc/ebrowse.texi: * doc/misc/dired-x.texi: * doc/misc/dbus.texi: * doc/misc/cl.texi: * doc/misc/cc-mode.texi: * doc/misc/calc.texi: * doc/misc/bovine.texi: * doc/misc/autotype.texi: * doc/misc/auth.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/elisp.texi: * doc/emacs/emacs.texi: Add @documentlanguage where it was missing. This makes the language explicit given the change in behavior expected in Texinfo 7.3.
* ; Add 2026 to copyright years.Sean Whitton2026-01-011-1/+1
|
* ; Fix documentation of last change (bug#78844)Eli Zaretskii2025-07-121-0/+3
| | | | | | * doc/lispref/elisp.texi (Top): * doc/lispref/package.texi (Packaging): Fix menus. (Package Information): Fix wording, indexing and markup.
* Further amendments of child frame handling and documentationMartin Rudalics2025-03-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (frame_subsumes_p): New static function (delete_frame): On ttys refuse to delete a frame that could be used as surrogate minibuffer frame by surviving frames. (store_frame_param): Make sure 'minibuffer' parameter does not reference a deleted window. If on a tty it references a live window, make sure its frame has the same root frame as the frame where the parameter shall be installed. Also on ttys make sure that storing the 'parent-frame' parameter does not assign a surrogate minibuffer frame a different root frame than that of any of its client frames. Further on ttys assert that making a child a new root frame gives it the dimensions of the terminal. (Fmouse_position_in_root_frame): Don't use XFRAME before it's clear that FRAME is a frame. * doc/lispref/elisp.texi (Top): Add menu for Child Frames section. * doc/lispref/frames.texi (Buffer Parameters): Mention that value 'child-frame' is not special for 'minibuffer' parameter on text terminals. (Visibility of Frames): Fix description of 'iconify-frame'. (Raising and Lowering): 'minibuffer-auto-raise' is an option. (Child Frames): Major rewrite using subsections. Explain new and deviant features on text terminals - menu bar access, reparenting, deleting, visibility and minibuffer-only child frames. * etc/NEWS: Remove remark that child frames cannot be arbitrarily reparented on ttys.
* ; Replace "Elisp" with "Lisp" or "Emacs Lisp" in some placesSean Whitton2025-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (libgccjit_not_found_err) (libgccjit_dev_not_found_err): * doc/lispref/elisp.texi (Top): * doc/lispref/functions.texi (What Is a Function): * doc/lispref/parsing.texi (Parsing Program Source) (Tree-sitter C API): * doc/misc/gnus.texi (The Gnus Registry): * etc/TODO: * lisp/auth-source.el (auth-source-search): * lisp/cedet/semantic/bovine/el.el (emacs-lisp-mode): * lisp/editorconfig.el (editorconfig-get-local-variables-functions): * lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure): * lisp/emacs-lisp/oclosure.el (cconv--interactive-helper): * lisp/net/tramp-message.el (tramp-debug-font-lock-keywords): * src/frame.c (do_switch_frame): * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-help-fns-examples-function-test): Say "Lisp" not "Elisp". * lisp/progmodes/peg.el (peg-translate-exp): Say "Emacs Lisp" not "Elisp".
* Fix capitalization ELisp -> ElispSean Whitton2025-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (libgccjit_not_found_err) (libgccjit_dev_not_found_err): * doc/emacs/buffers.texi (List Buffers): * doc/lispref/elisp.texi (Tree-sitter C API): * doc/lispref/functions.texi (What Is a Function): * doc/lispref/parsing.texi (Parsing Program Source) (Tree-sitter C API): * doc/misc/gnus.texi (The Gnus Registry): * etc/DEBUG: * etc/NEWS: * etc/NEWS.25: * etc/NEWS.26: * etc/NEWS.28: * etc/NEWS.30: * etc/TODO: * lib-src/emacsclient.c (print_help_and_exit): * lisp/auth-source.el (auth-source-search): * lisp/cedet/semantic/bovine/el.el (emacs-lisp-mode): * lisp/cedet/semantic/wisent/comp.el (wisent-automaton-lisp-form): * lisp/cedet/srecode/el.el (srecode-semantic-apply-tag-to-dict): * lisp/editorconfig.el (editorconfig-get-local-variables-functions): * lisp/emacs-lisp/bindat.el (bindat-type): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): * lisp/emacs-lisp/cconv.el (cconv-make-interpreted-closure): * lisp/emacs-lisp/cl-macs.el (cl--labels-convert): * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs) (lisp-fill-paragraphs-as-doc-string): * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): * lisp/emacs-lisp/oclosure.el (cconv--interactive-helper): * lisp/emacs-lisp/re-builder.el: * lisp/erc/erc-button.el (erc-emacswiki-lisp-url): * lisp/help-fns.el (help-fns--describe-function-or-command-prompt): * lisp/menu-bar.el (menu-bar-search-documentation-menu): * lisp/net/tramp-message.el (tramp-debug-font-lock-keywords): * lisp/org/org-capture.el (org-capture): * lisp/org/org.el (org-category, org-todo): * lisp/org/ox.el (org-export-async-start): * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): * lisp/progmodes/peg.el (peg-translate-exp): * lisp/progmodes/ruby-ts-mode.el: * lisp/woman.el (woman-mode, woman-parse-numeric-arg): * src/chartab.c (map_char_table_for_charset): * src/fns.c (extract_data_from_object): * src/frame.c (do_switch_frame): * src/keyboard.c (make_lispy_event): * test/lisp/emacs-lisp/cl-macs-tests.el (cl-&key-arguments): * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-help-fns-examples-function-test): * test/manual/etags/c-src/emacs/src/keyboard.c (make_lispy_event): Fix capitalization ELisp -> Elisp.
* Merge branch 'scratch/no-purespace' into 'master'Stefan Kangas2025-02-011-1/+0
|\
| * Pure storage removal: Remove documentationPip Cet2024-12-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | As pure storage is now gone, it no longer needs to be documented. * doc/lispref/elisp.texi (Top): * doc/lispref/internals.texi (GNU Emacs Internals): Remove "Pure Storage" section. (Building Emacs, Garbage Collection, Writing Emacs Primitives): * doc/lispref/symbols.texi (Standard Properties): Remove references to pure storage. * src/alloc.c (Fgarbage_collect): Remove docstring text referring to pure storage.
* | In Elisp manual document new functions for changing window layoutsMartin Rudalics2025-01-271-0/+1
| | | | | | | | | | | | * doc/lispref/windows.texi (Changing Window Layouts): New section to document the new functions for changing window layouts. * doc/lispref/elisp.texi (Top): Add entry for new section.
* | Merge from origin/emacs-30Eli Zaretskii2025-01-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 67903f5909d Restore the old behavior of `bookmark-write-file' 062da7003f9 ; Improve prompts and error messages in 'info-look' 52dc01f1c8b ; * admin/admin.el (set-version): Note about Android. fb282da2a07 Avoid double spaces around abbrevations in Texinfo bc1ab8ac3d8 ; * doc/emacs/custom.texi (Init Rebinding): Fix spacing. b41ef43af19 ; Fix previous change 5638b1d6bd4 Ispell: Use "personal dictionary" terminology consistently cc791e7499f ; Check man pages for mistakes less frequently 4ed4792e3b9 ; * admin/release-process: Minor copy-edits. 4a867c823b7 Add language server "ruff server" for Python 9e687c2871f Fix go-ts-mode type declaration indentation (Bug#75785) f751b3afa4f ; Minor improvements for doc strings in map.el cda78edc7d9 ; Fix typos ce50a1d3c18 ; * src/w32.c (w32_memory_info): Fix coding style of last... 58d3d4820ad Fix bug in w32_memory_info 77386412050 Avoid crashes in redisplay due to problematic font setups 0e3687e6006 Improve 'key-valid-p' docstring 9878092d2b9 Minor copyedits in internals.texi 4726900fdc5 Better document side-effect free and pure C functions 04c475a39f2 ; Fix documentation about faces of tool-tip text # Conflicts: # admin/codespell/codespell.exclude
| * | Avoid double spaces around abbrevations in TexinfoStefan Kangas2025-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/custom.texi (Init Rebinding): * doc/emacs/dired.texi (Operating on Files): * doc/emacs/emacs.texi (Top): * doc/emacs/emerge-xtra.texi (Emerge): * doc/emacs/files.texi (Files): * doc/emacs/frames.texi (Drag and Drop): * doc/emacs/misc.texi (Hyperlinking): * doc/emacs/modes.texi (Modes): * doc/emacs/mule.texi (Input Methods): * doc/emacs/windows.texi (Window Tool Bar): * doc/lispintro/emacs-lisp-intro.texi (Lexical & Dynamic Binding Differences): * doc/lispref/elisp.texi (Top): * doc/lispref/functions.texi (Functions, Generic Functions): * doc/lispref/hash.texi (Defining Hash): * doc/lispref/keymaps.texi (Creating Keymaps): * doc/lispref/lists.texi (Property Lists): * doc/lispref/modes.texi (%-Constructs): * doc/lispref/nonascii.texi (Character Properties): * doc/lispref/processes.texi (Misc Network): * doc/lispref/searching.texi (Regexp Functions): * doc/lispref/syntax.texi (Syntax Table Internals): * doc/lispref/text.texi (Filling, Checksum/Hash) (JSONRPC deferred requests): * doc/misc/calc.texi (What is Calc, Modes Tutorial): * doc/misc/cc-mode.texi (List Line-Up, Operator Line-Up) (Custom Macros, Indenting Directives): * doc/misc/efaq.texi (Colors on a TTY, Security risks with Emacs): * doc/misc/eglot.texi (Eglot Variables): * doc/misc/erc.texi (Connecting): * doc/misc/eshell.texi (Aliases, Completion): * doc/misc/flymake.texi (Backend functions): * doc/misc/gnus-faq.texi (FAQ 5 - Composing messages): * doc/misc/gnus.texi (Gnus Unplugged, Window Layout) (Filtering Incoming Mail, History): * doc/misc/idlwave.texi (Online Help, Catalogs): * doc/misc/wisent.texi (Wisent Overview): Be more consistent with abbreviations. Use @: or comma or rewrite to avoid double spaces. Ref: https://lists.gnu.org/r/emacs-devel/2025-01/msg00909.html
| * | Update copyright year to 2025Stefan Kangas2025-01-021-1/+1
| |/ | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | ; * doc/lispref/elisp.texi (Top): Move menu item to submenu.Eli Zaretskii2025-01-231-1/+4
| |
* | * doc/lispref: new node "Finding Definitions"Stephen Gildea2025-01-221-0/+1
| | | | | | | | | | | | | | | | | | How to use variable 'find-function-regexp-alist', properties 'definition-name' and 'find-function-type-alist', and function 'find-function-update-type-alist' to help Emacs locate the definition of objects defined by macros. This material is moved from node "Standard Properties" and expanded.
* | ; Fix recently added documentationEli Zaretskii2025-01-101-0/+1
| | | | | | | | | | | | * doc/lispref/windows.texi (Splitting Windows): Fix punctuation. (Resurrecting Windows): Fix typo. * doc/lispref/elisp.texi (Top): Add the new node to @detailmenu.
* | Update copyright year to 2025Paul Eggert2025-01-011-1/+1
|/ | | | Run "TZ=UTC0 admin/update-copyright".
* Update FSF's addressStefan Kangas2024-09-021-2/+2
| | | | | | | | | | * doc/emacs/emacs.texi (Distrib): * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/elisp.texi: * doc/misc/org.org (Link Abbreviations): * etc/tutorials/TUTORIAL.eo: * lisp/elide-head.el: * lisp/textmodes/page-ext.el: Update the FSF address to 31 Milk Street.
* Write Antinews for Emacs 30 ELisp ReferenceEli Zaretskii2024-06-271-1/+1
| | | | | * doc/lispref/anti.texi (Antinews): * doc/lispref/elisp.texi (Top): Rewrite "Antinews" for Emacs 30.
* Add documentation for window-tool-bar packageJared Finder2024-06-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Also change window-tool-mode to not pay attention to if tool-bar-map has a buffer local value or not as that made the documentation complicated. Documentation added in Emacs manual, Elisp manual, package commentary, and docstrings. Also extend window-tool-bar support to Emacs 27 and newer. (bug#68765) * doc/emacs/emacs.texi (Top): * doc/emacs/frames.texi (Menu Bars): * doc/emacs/glossary.texi (Glossary): * doc/emacs/modes.texi (Minor Modes): * doc/emacs/windows.texi (Windows, Tab Line): Mention Window Tool Bar. (Window Tool Bar): New documentation. * doc/lispref/elisp.texi (Top): * doc/lispref/modes.texi (Mode Line Format, Mode Line Basics) (Mode Line Data): Mention Tab Lines. (Tab Lines): New documentation. * etc/NEWS: Mention newly added variable and package. * lisp/window-tool-bar.el (window-tool-bar-mode): Don't display tool bar when tool-bar-map is nil. * lisp/window-tool-bar.el (tool-bar-always-show-default): Define variable for older Emacs versions.
* Use a dedicated type to represent interpreted-function valuesStefan Monnier2024-04-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add peg.el as a built-in libraryEric Abrahamsen2024-03-301-0/+8
| | | | | | * lisp/progmodes/peg.el: New file, taken from ELPA package. * test/lisp/peg-tests.el: Package tests. * doc/lispref/peg.texi: Documentation.
* Fix documentation of last changeEli Zaretskii2024-03-011-0/+1
| | | | | | * doc/lispref/objects.texi (Type Hierarchy): Fix wording and markup. * doc/lispref/elisp.texi (Top): Add new node to @detailmenu.
* Tree-sitter support for outline-minor-mode (bug#68824)Juri Linkov2024-02-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/text.texi (Outline Format): Add 'outline-search-function'. * doc/lispref/elisp.texi (Top): Add new menu item "Outline Minor Mode" after "Imenu". * doc/lispref/modes.texi (Modes): Add new menu item "Outline Minor Mode" after "Imenu". (Major Mode Conventions): Mention "Outline Minor Mode" with @pxref. (Outline Minor Mode): New node. * doc/lispref/parsing.texi (Tree-sitter Major Modes): Mention 'treesit-outline-predicate' with @pxref. * lisp/treesit.el (treesit-outline-predicate): New buffer-local variable. (treesit-outline-predicate--from-imenu): New internal function. (treesit-outline-search, treesit-outline-level): New functions. (treesit-major-mode-setup): Set up treesit-outline-predicate, outline-search-function and outline-level. * lisp/progmodes/c-ts-mode.el (c-ts-mode--outline-predicate): New internal function. (c-ts-base-mode): Set 'treesit-outline-predicate' to 'c-ts-mode--outline-predicate'. * lisp/progmodes/heex-ts-mode.el (heex-ts-mode): Kill inherited local variables 'outline-heading-end-regexp', 'outline-regexp', 'outline-level'. * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Remove 'outline-regexp'. Suggested by john muhl <jm@pub.pink>. * lisp/textmodes/html-ts-mode.el (html-ts-mode): Kill inherited local variables 'outline-heading-end-regexp', 'outline-regexp', 'outline-level'.
* Eliminate lazy bytecode loadingMattias Engdegård2024-01-311-1/+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
| |
* | Elaborate Elisp dialect selection in manualMattias Engdegård2023-10-231-1/+1
| | | | | | | | | | | | | | | | * doc/lispref/variables.texi (Using Lexical Binding): Rename to... (Selecting Lisp Dialect): ...this. All references updated. Add concrete examples of -*- lines. Move text about special variables from here... (Dynamic Binding): ...to here.
* | Describe lexical binding before dynamicMattias Engdegård2023-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | * doc/lispref/variables.texi (Variable Scoping) (Lexical Binding, Dynamic Binding): Alter the presentation order from the point of view that lexical binding is the standard discipline (if not always the default) and dynamic binding an alternative, which corresponds better to Elisp today. Modernise parts of the text. * doc/lispref/elisp.texi (Top): Update menu.
* | Document selections on Android more thoroughlyPo Lu2023-04-081-0/+1
|/ | | | | | | | * doc/lispref/elisp.texi (Top): * doc/lispref/frames.texi (Frames): Add ``Accessing Selections'' to menu. (Accessing Selections, X Selections, Other Selections): New nodes.
* Minor copyedits of documentation of OClosuresEli Zaretskii2023-03-031-0/+1
| | | | | * doc/lispref/functions.texi (OClosures): Improve wording, indexing, and markup; add details.
* ; Fix tree-sitter manual title caseYuan Fu2023-01-021-1/+1
| | | | | | * doc/lispref/elisp.texi: * doc/lispref/modes.texi: * doc/lispref/parsing.texi: Change to title case.
* ; Fix NEWS.Eli Zaretskii2023-01-011-1/+1
|
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Change "language definition" to "language grammar" in manual.Yuan Fu2022-12-301-1/+1
| | | | | | | | | | | | | | "Language grammar" is apparently the more widely used term among people talking about tree-sitter. To avoid confusion, I think it's good to use that rather than "language definition", which is a term that I made up :-) Feel free to revert this if it is too much change. * doc/lispref/elisp.texi: * doc/lispref/modes.texi: * doc/lispref/parsing.texi: * lisp/treesit.el: Change "language definition" to "language grammar".
* Fix recent changes in documentationEli Zaretskii2022-11-121-1/+1
| | | | | | | | | | * lisp/treesit.el (treesit-node-at): Doc fix. * doc/lispref/parsing.texi (Language Definitions): Add cross-reference. (Retrieving Nodes): Renamed from "Retrieving Node"; all references changed. (Retrieving Nodes): Fix wording and markup.
* Clean up tree-sitter sections of the ELisp manualEli Zaretskii2022-10-221-1/+4
| | | | | | | | | | * doc/lispref/parsing.texi (Parsing Program Source): * doc/lispref/modes.texi (Font Lock Mode) (Parser-based Font Lock): Fix wording, punctuation, and markup. Add index entries. * lisp/treesit.el (treesit-node-at, treesit-language-at): Rename argument POINT to POS.
* Merge remote-tracking branch 'savannah/master' into feature/tree-sitterYuan Fu2022-06-141-0/+2
|\
| * Add OVERRIDES argument to prin1/prin1-to-stringLars Ingebrigtsen2022-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/streams.texi (Output Functions): Document it. (Output Overrides): New node. * src/process.c (Faccept_process_output): * src/print.c (debug_print, print_error_message): * src/pdumper.c (print_paths_to_root_1, decode_emacs_reloc): * src/lread.c (readevalloop): * src/eval.c (internal_lisp_condition_case): * src/editfns.c (styled_format): Adjust prin1/prin1-to-string callers. * src/print.c (Fprin1): Take an OVERRIDES parameter. (print_bind_overrides, print_bind_all_defaults): New functions. (Fprin1_to_string): Take an OVERRIDES parameter.
| * Improve the *Help* output for compiler macros and the likeLars Ingebrigtsen2022-05-141-0/+1
| | | | | | | | | | | | | | * doc/lispref/functions.texi (Advice and Byte Code): New node. * lisp/help-fns.el (help-fns--compiler-macro): Also output data on other byte compilation things, and link to the manual (bug#23264).
* | Add tree-sitter intergrationYuan Fu2022-05-071-0/+12
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (HAVE_TREE_SITTER, TREE_SITTER_OBJ): New variables. (DYNAMIC_LIB_SUFFIX): new variable, I copied code from MODULES_SUFFIX so the diff looks this way. * doc/lispref/elisp.texi (Top): Add tree-sitter manual. * doc/lispref/modes.texi (Font Lock Mode): mention tree-sitter. (Parser-based Font Lock): New section. (Auto-Indentation): Mention tree-sitter. (Parser-based Indentation): New section. * doc/lispref/parsing.texi (Parsing Program Source): New chapter. * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add treesit-parser and treesit-node type. * lisp/treesit.el: New file. * src/Makefile.in (TREE_SITTER_LIBS, TREE_SITTER_FLAGS, TREE_SITTER_OBJ): New variables. * src/alloc.c: (cleanup_vector): Add cleanup code for treesit-parser and treesit-node. * src/casefiddle.c (casify_region): Notify tree-sitter parser of buffer change. * src/data.c (Ftype_of): Add treesit-parser and treesit-node type (Qtreesit_parser, Qtreesit_node): New symbol. * src/emacs.c (main): Add symbols in treesit.c. * src/eval.c (define_error): Move the function to here. * src/insdel.c (insert_1_both, insert_from_string_1, insert_from_gap, insert_from_buffer_1, replace_range, del_range_2): Notify tree-sitter parser of buffer change. * src/json.c (define_error): Move this function out. * src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN): Add treesit-parser and treesit-node. * src/lread.c (Vdynamic_library_suffixes): New variable. * src/print.c (print_vectorlike): Add code for printing treesit-parser and treesit-node. * src/treesit.c: New file. * src/treesit.h: New file. * test/src/treesit-tests.el: New file.
* Merge branch 'master' into scratch/correct-warning-posscratch/correct-warning-posAlan Mackenzie2022-01-221-0/+1
|\
| * Document textsecLars Ingebrigtsen2022-01-201-0/+1
| | | | | | | | | | | | | | | | | | * doc/lispref/elisp.texi (Top): Add menu. * doc/lispref/text.texi (Text): Add menu. (Suspicious Text): New node. * lisp/international/textsec-check.el (textsec-check): Adjust doc string.
* | Miscellaneous amendments to the scratch/correct-warning-pos branchAlan Mackenzie2022-01-221-0/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/cedet/semantic/fw.el (semantic-alias-obsolete) (semantic-varalias-obsolete): Replace calls to byte-compile-warn with calls to byte-compile-warn-x (when it exists). * lisp/emacs-lisp/bytecomp.el (byte-compile-log-warning-function) (byte-compile--log-warning-for-byte-compile): Make the POSITION parameter no longer &optional (for the benefit of flymake on *.el). (byte-compile-log-warning): Replace a nil POSITION argument with an actual position. (byte-compile-file-form-require): Push the required symbol onto byte-compile-form-stack, for the benefit of `do-after-load-evaluation'. * lisp/keymap.el (define-keymap--compile): Replace four calls to byte-compile-warn with byte-compile-warn-x. * doc/lispref/elisp.texi (master menu): Add entries for Shorthands and Symbols with position. * doc/lispref/streams.texi (Input Functions): Document read-positioning-symbols. * doc/lispref/symbols.texi (Symbols): Add new menu entry. (Symbols with Position): New @section.
* Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | Add support for multisession variablesLars Ingebrigtsen2021-12-161-0/+5
| | | | | | | | | | | | | | | | | | * doc/lispref/elisp.texi (Top): Add to menu. (Top): * doc/lispref/variables.texi (Variables): Ditto. (Multisession Variables): Document multisession variables. * lisp/emacs-lisp/multisession.el: New file.
* | Add sqlite3 support to EmacsLars Ingebrigtsen2021-12-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Add check for the sqlite library. * doc/lispref/text.texi (Database): Document it. * lisp/sqlite.el: New file. * lisp/term/w32-win.el (dynamic-library-alist): Add a mapping. * src/Makefile.in (SQLITE3_LIBS): Add the libraries. * src/alloc.c (union emacs_align_type): Add a Lisp_Sqlite struct. * src/data.c (Ftype_of): Add sqlite. * src/emacs.c (main): Load the syms. * src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN): Add PVEC_SQLITE. (GCALIGNED_STRUCT): New struct to keep data for sqlite database objects and statement objects. (SQLITEP, SQLITE, CHECK_SQLITE, XSQLITE): New macros for accessing the objects. * src/pdumper.c (dump_vectorlike): Update hash. (dump_vectorlike): Don't dump it. * src/print.c (print_vectorlike): Add a printer for the sqlite object. * src/sqlite.c: New file. * test/src/sqlite-tests.el: Add tests.
* | Start adjusting the manuals to talk about the keymap-* functionsLars Ingebrigtsen2021-11-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/dired.el (dired--make-directory-clickable): * doc/lispref/keymaps.texi (Keymaps): (Key Sequences): (Prefix Keys): (Active Keymaps): (Key Lookup): (Functions for Key Lookup): (Changing Key Bindings): (Key Binding Commands): (Tool Bar): * doc/lispref/commands.texi (Interactive Codes): (Event Examples): (Event Mod): * doc/emacs/kmacro.texi (Save Keyboard Macro): * doc/emacs/custom.texi (Keymaps): (Keymaps): (Minibuffer Maps): (Rebinding): (Init Rebinding): (Modifier Keys): (Mouse Buttons): (Init Examples): (Init Non-ASCII): Adjust the documentation to remove description of the old syntaxes, and use the new keymap-* functions. * doc/lispref/keymaps.texi (Low-Level Key Binding): New node that describes `define-key' and the old key syntaxes.
* | Document the xwidget typePo Lu2021-11-071-0/+1
| | | | | | | | | | | | | | * doc/lispref/elisp.texi: Add Xwidget Type to the menu. * doc/lispref/objects.texi (Editing Types): Add Xwidget Type to the menu. (Xwidget Type): New node.