summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Add shortdoc group for hash-tableStefan Kangas2020-10-251-0/+31
| | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (hash-table): New shortdoc group.
| * | Rework semantics of eldoc-echo-are-use-multiline-pJoão Távora2020-10-241-57/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per bug#43543. Now uses logical lines, not visual lines. * lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p): Rework semantics. (eldoc--echo-area-substring): New helper. (eldoc--echo-area-prefer-doc-buffer-p): New helper. (eldoc-display-in-echo-area): Rework using new helpers.
| * | Rename ElDoc user option controlling display of truncation noticeJoão Távora2020-10-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new name makes it consistent with other variables controlling the display of ElDoc documentation in the echo area. Per bug#43543. * etc/NEWS (Eldoc): Rename eldoc-display-truncation-message to eldoc-echo-area-display-truncation-message. * lisp/emacs-lisp/eldoc.el (eldoc-echo-area-display-truncation-message): Rename from eldoc-display-truncation-message. (eldoc-display-in-echo-area): Use new variable name.
| * | Rework eldoc-echo-area-prefer-doc-buffer (bug#42532)João Távora2020-10-241-14/+25
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/eldoc.el: (eldoc-echo-area-prefer-doc-buffer): Rename from eldoc-echo-area-prefer-doc-buffer (eldoc-display-in-echo-area): Rework to honour eldoc-echo-area-prefer-doc-buffer.
| * | Introduce eldoc-display-functionsJoão Távora2020-10-241-111/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See bug#43609. * lisp/emacs-lisp/eldoc.el (eldoc--request-state): Add comment. (eldoc--last-request-state): No longer buffer-local. (eldoc--request-docs-p): Delete. (eldoc-display-functions): New user variable. (eldoc--doc-buffer-docs): New variable. (eldoc-display-message-p): Rework. (eldoc--format-doc-buffer): Rework from eldoc--handle-docs. (eldoc-display-in-echo-area, eldoc-display-in-buffer): New user-visible function. (eldoc--invoke-strategy): Take INTERACTIVE arg. Invoke eldoc-display-in-buffer (eldoc-print-current-symbol-info): Simplify. (Version): Bump to 1.11.0 * etc/NEWS: Mention eldoc-display-functions.
| * | Revert "Use lexical-binding in bindat.el"Stefan Kangas2020-10-241-85/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a497b8e4a41e3223089654da4b36d0fdd51ce555. This conversion to lexical-binding broke the eval specification, documented in the ELisp manual. We will probably want to add tests for that before we can confidently convert this to lexical-binding. Problem reported by Mattias Engdegård <mattiase@acm.org>.
| * | Use lexical-binding in copyright.el and add testsStefan Kangas2020-10-241-8/+1
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/copyright.el: Use lexical-binding. Remove redundant :group args. * test/lisp/emacs-lisp/copyright-tests.el: New file.
* | | Make native compiler tollerant to redefined primitives (bug#44221).Andrea Corallo2020-10-261-3/+1
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Rework based on the fact that the subr can now be redefined. * test/src/comp-tests.el (primitive-redefine-compile-44221): New testcase.
* | | Fix defsubst effectiveness (bug#44209)Andrea Corallo2020-10-251-4/+4
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-run.el (defsubst): Fix macro definition. * test/src/comp-tests.el (comp-test-defsubst): New testcase. * test/src/comp-test-funcs.el (comp-test-defsubst-f): New function.
* | | * Report warnings and errors from native asynchronous compilation (bug#44168)Andrea Corallo2020-10-251-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-last-scanned-async-output): New buffer local variable. (comp-accept-and-process-async-output): New function. (comp-run-async-workers): Use `comp-accept-and-process-async-output'.
* | | * Fix `comp-dry-run' effectivenessAndrea Corallo2020-10-251-40/+40
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-compile-ctxt-to-file): Remove `comp-dry-run' guard. (comp-final): And move it here so is effective for interactive sessions and non.
* | | Merge remote-tracking branch 'savannah/master' into HEADAndrea Corallo2020-10-2312-117/+189
|\| |
| * | * lisp/emacs-lisp/pcase.el: Add "extensions" to keyword header.Stefan Kangas2020-10-231-1/+1
| | |
| * | ; * lisp/emacs-lisp/bindat.el (bindat-unpack): Fix typo.Stefan Kangas2020-10-211-1/+1
| | |
| * | Use lexical-binding in bindat.elStefan Kangas2020-10-211-91/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bindat.el: Use lexical-binding. (bindat-raw, bindat-idx, bindat-unpack, bindat-pack): Adjust for lexical-binding. (bindat--unpack-group, bindat--length-group): Fix byte-compiler warning about unused variables last and vlen. (bindat--unpack-group, bindat--length-group, bindat--pack-group) (bindat-format-vector): Quote function symbols as such.
| * | Make more load-hooks obsolete (Bug#21563)Stefan Kangas2020-10-204-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/dcl-mode.el (dcl-mode): * lisp/progmodes/idlw-complete-structtag.el: Recommend with-eval-after-load instead of load-hooks. * lisp/calc/calc-ext.el (calc-ext-load-hook): * lisp/emacs-lisp/bytecomp.el (bytecomp-load-hook): * lisp/emacs-lisp/cl-extra.el (cl-extra-load-hook): * lisp/emacs-lisp/cl-macs.el (cl-macs-load-hook): * lisp/emacs-lisp/cl-seq.el (cl-seq-load-hook): * lisp/gnus/message.el (message-load-hook): * lisp/gnus/nnheader.el (nnheader-load-hook): * lisp/gnus/nnmail.el (nnmail-load-hook): * lisp/progmodes/dcl-mode.el (dcl-mode-load-hook): * lisp/textmodes/tex-mode.el (tex-mode-load-hook): * lisp/whitespace.el (whitespace-load-hook): Obsolete for with-eval-after-load. Note that these variables are never declared, but the byte-compiler will still warn about them if used.
| * | byte-compile-file: Make optional LOAD argument obsoleteStefan Kangas2020-10-201-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | Simplify syntax of shortdoc face specsBasil L. Contovounesios2020-10-201-7/+4
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el: Remove unused dependency. (shortdoc-section, shortdoc-example): Use newer (DISPLAY . PLIST) face spec syntax.
| * | Tweak the documentation for define-obsolete-variable-aliasLars Ingebrigtsen2020-10-201-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/variables.texi (Variable Aliases): Actually describe the macro parameters (bug#44088). * lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): Ditto (bug#44088).
| * | Preserve all `eval' elements from both .dir-locals filesLars Ingebrigtsen2020-10-201-0/+1
| | | | | | | | | | | | | | | * lisp/files.el (dir-locals-read-from-dir): Preserve all `eval' elements from both .dir-locals files (bug#44066).
| * | Add command package-menu-filter-upgradableStefan Kangas2020-10-191-0/+10
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-menu-filter-upgradable): New command. (Bug#41436) (package-menu-mode-map): Bind the new command. * doc/emacs/package.texi (Package Menu): Document the new command.
| * | Add "Old-" prefix to "Version" header in more casesStefan Kangas2020-10-182-2/+2
| | | | | | | | | | | | | | | These version numbers are historical accidents and not relevant today. Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html
| * | Merge from origin/emacs-27Glenn Morris2020-10-171-3/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 65078e0a76 * lisp/info.el (Info-hide-note-references): Doc fix. (Bug... 30305b543d Make lisp/progmodes/js.el dependent on CC Mode in the Make... c37b2a9b42 Yet another fix for 'set-minibuffer-message' 72dd911981 Fix posn-at-x-y in builds --without-x ace25f2066 Clarify the seq-reduce documentation 7d598e281d Make tramp-completion-reread-directory-timeout obsolete (B... 2c31ce18ea Fix 'message' when there's active minibuffer on another frame # Conflicts: # doc/misc/tramp.texi # etc/NEWS
| | * Clarify the seq-reduce documentationLars Ingebrigtsen2020-10-151-3/+5
| | | | | | | | | | | | | | | | | | | | | * doc/lispref/sequences.texi (Sequence Functions): Ditto. * lisp/emacs-lisp/seq.el (seq-reduce): Clarify the order of the arguments (bug#43995).
| | * * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweakStefan Monnier2020-10-101-0/+4
| | | | | | | | | | | | | | | | | | Try and clarify the meaning of `init-value`. (cherry picked from commit 46c0f28c0e4e212687e90ec0ecb239d994105a19)
| * | Add aid for finding missing dynamic variable declarationsMattias Engdegård2020-10-171-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Find lexical use of variables that are dynamically declared in other files by recording 'defvar' declarations in files that can be read in by the compiler in a second compilation. This is particularly useful when converting code to use lexical-binding. The facility is controlled by setting environment variables: EMACS_GENERATE_DYNVARS -- set to non-empty to generate a .dynvars file corresponding to each .elc. EMACS_DYNVARS_FILE -- set to the name of a .dynvars file to use as defvar information during compilation, enabling the new warnings. * lisp/emacs-lisp/bytecomp.el (byte-compile--known-dynamic-vars) (byte-compile--seen-defvars): New variables. (byte-compile-warning-types): Add lexical-dynamic warning. (byte-compile--load-dynvars, byte-compile--warn-lexical-dynamic): New functions. * lisp/emacs-lisp/bytecomp.el (byte-compile-file, byte-compile--declare-var) (byte-compile-lambda, byte-compile-bind): Add dynamic variable loads, dumps and checks. * doc/lispref/variables.texi (Converting to Lexical Binding): Document.
* | | Sanitize eln filename when native compiling single functionsAndrea Corallo2020-10-201-1/+2
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Fix temporary eln name generation. * test/src/comp-tests.el (free-fun-silly-name): New testcase.
* | | * Have `native-compile' do not expose `with-late-load' parameterAndrea Corallo2020-10-201-17/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is really for internal use only by deferred compilation. * lisp/emacs-lisp/comp.el (comp-trampoline-compile) (comp-run-async-workers): Make use of `comp--native-compile'. (comp--native-compile): New function. (native-compile, batch-native-compile): Make use of `comp--native-compile'.
* | | Merge remote-tracking branch 'savannah/master' into HEADAndrea Corallo2020-10-176-5/+48
|\| |
| * | Remove some references to Emacs 18 and 19Stefan Kangas2020-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | | * doc/misc/forms.texi (Modifying Forms Contents, Error Messages): * lisp/arc-mode.el: * lisp/emacs-lisp/edebug.el (edebug-temp-display-freq-count): * lisp/type-break.el: Remove some references to Emacs 18 and 19.
| * | * lisp/emacs-lisp/backquote.el: Use lexical binding.Mattias Engdegård2020-10-161-1/+1
| | |
| * | Add ert macros to get resource file names (Bug#43792)Stefan Kangas2020-10-161-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert-x.el (subr-x): Require. (ert-resource-dir, ert-resource-file): New macros to get the file name of the resource directory belonging to a test. (ert-resource-dir-format, ert-resource-dir-trim-left-regexp) (ert-resource-dir-trim-right-regexp): New variables.
| * | Make package-install-from-buffer maybe refresh the quickstart fileLars Ingebrigtsen2020-10-161-0/+1
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-install-from-buffer): Refresh the quickstart file (bug#43237). This makes this command more consistent with package-install.
| * | * lisp/emacs-lisp/warnings.el (display-warning): Don't be so negativeStefan Monnier2020-10-151-2/+1
| | |
| * | Don't display the warning buttons in bytecomp buffersLars Ingebrigtsen2020-10-151-1/+2
| | | | | | | | | | | | | | | * lisp/emacs-lisp/warnings.el (display-warning): Don't do the buttons in bytecomp buffers.
| * | Make `C-x C-e' work more like `C-M-x' on defvar etcLars Ingebrigtsen2020-10-151-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/building.texi (Lisp Eval): Document it. * lisp/emacs-lisp/pp.el (pp-eval-last-sexp): Ditto. * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Work more like `eval-defun': Re-evaluate defvar/defcustom/defface forms.
* | | Merge remote-tracking branch 'savannah/master' into HEADAndrea Corallo2020-10-143-4/+1112
|\| |
| * | Improve package install/delete button actionMasahiro Nakamura2020-10-141-4/+2
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-install-button-action) (package-delete-button-action): Run describe-package instead of revert-buffer in order to use newer package-desc (bug#43983).
| * | Fix error in file shortdoc groupLars Ingebrigtsen2020-10-111-0/+1
| | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (number): Add some more numeric stuff (and clean up some arglists).
| * | Improve documentation of shortdoc featuresEli Zaretskii2020-10-111-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/help-fns.el (help-fns-describe-function-functions): Doc fix. * lisp/emacs-lisp/shortdoc.el (define-short-documentation-group) (shortdoc-display-group, shortdoc-add-function): Doc fixes. * doc/lispref/help.texi (Documentation Groups): Improve the recently-added documentation and the indexing.
| * | Add more numeric shortdocsLars Ingebrigtsen2020-10-111-3/+23
| | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-section) (shortdoc-example): Lighten up colours on light backgrounds.
| * | Tweak shortdoc colours on light backgroundsLars Ingebrigtsen2020-10-111-2/+2
| | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-section) (shortdoc-example): Lighten up colours on light backgrounds.
| * | Autoload shortdoc command and adjust NEWSLars Ingebrigtsen2020-10-111-0/+1
| | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Autoload.
| * | Use Unicode arrows in shortdoc resultsLars Ingebrigtsen2020-10-111-7/+13
| | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use Unicode arrows if possible.
| * | Add support for displaying short documentation for function groupsLars Ingebrigtsen2020-10-111-0/+1077
| | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/help.texi (Documentation Groups): Document it. * lisp/help-fns.el (help-fns--mention-shortdoc-groups): Output references to the shortdocs. * lisp/emacs-lisp/shortdoc.el: New file.
| * | * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweakStefan Monnier2020-10-101-0/+4
| | | | | | | | | | | | Try and clarify the meaning of `init-value`.
* | | Use form native compilation in `comp-trampoline-compile'Andrea Corallo2020-10-141-36/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-trampoline-sym): Remove function. (comp-trampoline-filename): As we are introducing an ABI change in the eln trampoline format change the trampoline filename to disambiguate. (comp-trampoline-search): Rename from `comp-search-trampoline' and return directly the trampoline. (comp-trampoline-compile): Rework to use native form compilation in place of un-evaluating a function and return directly the trampoline. (comp-subr-trampoline-install): Update for `comp-trampoline-search' and `comp-trampoline-compile' new interfaces. * src/comp.c (Fcomp__install_trampoline): Store the trampoline itself as value in `comp-installed-trampolines-h'. (syms_of_comp): Doc update `comp-installed-trampolines-h'.
* | | Rework `native-compile' interface so it can return compiled functionsAndrea Corallo2020-10-141-7/+14
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (native-compile): Return the compiled function when the input is a symbol or a form. * test/src/comp-tests.el (free-fun, tco, fw-prop): Update tests for new `native-compile' interface.
* | | Have `native-elisp-load' return the last registerd functionAndrea Corallo2020-10-141-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Synthesize 'top_level_run' so it returns the last value returned by `comp--register-subr'. * src/comp.c (load_comp_unit): Return what 'top_level_run' returns. (Fnative_elisp_load): Return what 'load_comp_unit' returns. * src/comp.h (load_comp_unit): Update signature.
* | | * Allow for lambda forms as native compilation inputAndrea Corallo2020-10-141-0/+39
| | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Add new specialized method for compiling a lambda form.