summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Initial support for union of negated constraintsAndrea Corallo2020-12-051-15/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-range-negation): New function. (comp-cstr-union-homogeneous-no-range): Rename from `comp-cstr-union-no-range'. (comp-cstr-union-homogeneous): Rename from `comp-cstr-union'. (comp-cstr-union-1): New function. (comp-cstr-union-no-range, comp-cstr-union): Rewrite in function of `comp-cstr-union-1'. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add a bunch of tests.
* | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-no-range): Cosmetic.Andrea Corallo2020-12-051-20/+20
| | |
* | | Initial constraint negation supportAndrea Corallo2020-12-051-17/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Add `neg' slot. (comp-range-negation, comp-cstr-negation) (comp-cstr-negation-make): New functions. (comp-type-spec-to-cstr): Enable `not` in type specifiers. (comp-cstr-to-type-spec): Update logic to handle negation. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Add a test.
* | | Vanilla build warning clean-upAndrea Corallo2020-12-042-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/disass.el (native-comp-unit-file) (subr-native-comp-unit): Declare function. * lisp/progmodes/elisp-mode.el (native-compile): Likewise. * lisp/emacs-lisp/package.el (comp-el-to-eln-filename): Likewise. * lisp/startup.el (normal-top-level): Silence warning. * src/data.c (syms_of_data): 'Ssubr_native_lambda_list' is always defined. * src/pdumper.c (dump_cold_native_subr): Move under ifdefs. (dump_drain_cold_data): Add ifdefs.
* | | Fix `comp-mvar-symbol-p' and `comp-mvar-cons-p' (bug#44968)Andrea Corallo2020-12-011-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): As all slots into a `comp-cstr' are in or fix this logic. (comp-mvar-cons-p): Likewise. * test/src/comp-tests.el (bug-44968): New testcase. * test/src/comp-test-funcs.el (comp-test-44968-f): New test function.
* | | Merge remote-tracking branch 'savannah/master' into HEADAndrea Corallo2020-11-295-9/+14
|\| |
| * | Keep point in the *eldoc* buffer in eldoc-display-in-echo-areaLars Ingebrigtsen2020-11-261-1/+2
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Use 'save-excursion' to keep point position in *eldoc* buffer. Suggested by Andrii Kolomoiets <andreyk.mad@gmail.com>.
| * | Allow following symlinks when recompiling directoriesLars Ingebrigtsen2020-11-261-3/+8
| | | | | | | | | | | | | | | | | | * doc/lispref/compile.texi (Compilation Functions): Document it. * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow following symlinks (bug#10292).
| * | Make text-scale-mode optionally adjust the header lineStefan Kangas2020-11-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/face-remap.el (text-scale-remap-header-line-face): New buffer local variable. (text-scale-mode): Adjust header line if above variable is non-nil. (face-remap--clear-remappings, face-remap--remap-face): New defuns. * lisp/face-remap.el: Arrange to watch text-scale-mode-remapping. (text-scale--refresh): New function. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Use text-scale-remap-header-line. (Bug#41852)
| * | Make XEmacs compat aliases easy-menu-{add,remove} obsoleteStefan Kangas2020-11-241-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add): Make XEmacs compat aliases obsolete. * lisp/allout.el (allout-setup-menubar): * lisp/cus-edit.el (Custom-mode): * lisp/gnus/gnus-art.el (gnus-article-edit-mode): * lisp/gnus/message.el (message-mode): * lisp/net/sieve.el (sieve-manage-mode): * lisp/org/org-agenda.el (org-agenda-mode): * lisp/org/org-table.el (org-table-edit-formulas, orgtbl-mode): * lisp/org/org.el: * lisp/progmodes/cperl-mode.el (cperl-mode): * lisp/progmodes/hideshow.el (hs-minor-mode): * lisp/progmodes/idlw-help.el (idlwave-help-mode): * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): * lisp/progmodes/idlwave.el (idlwave-mode): * lisp/progmodes/meta-mode.el (meta-common-mode): * lisp/progmodes/octave.el (octave-mode): * lisp/progmodes/prolog.el (prolog-menu): * lisp/progmodes/tcl.el (tcl-mode): * lisp/speedbar.el (speedbar-reconfigure-keymaps): * lisp/term.el (term-mode, term-char-mode, term-process-pager): * lisp/textmodes/dns-mode.el (dns-mode): * lisp/wid-browse.el (widget-browse-mode): Don't call above obsolete aliases. * lisp/cedet/semantic/grammar.el (semantic-grammar-setup-menu-xemacs): * lisp/mh-e/mh-folder.el (mh-folder-mode): * lisp/mh-e/mh-identity.el (mh-identity-add-menu): * lisp/mh-e/mh-letter.el (mh-letter-mode): * lisp/mh-e/mh-search.el (mh-search-mode): * lisp/mh-e/mh-show.el (mh-show-mode): * lisp/obsolete/otodo-mode.el (todo-mode): * lisp/progmodes/antlr-mode.el (antlr-mode): * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode) (java-mode, idl-mode, pike-mode): * lisp/progmodes/sql.el (sql-mode, sql-interactive-mode): * lisp/progmodes/vhdl-mode.el (vhdl-update-mode-menu) (vhdl-add-source-files-menu, vhdl-mode): * lisp/textmodes/reftex-index.el (reftex-index-mode) (reftex-index-phrases-mode): * lisp/textmodes/reftex-toc.el (reftex-toc-mode): * lisp/textmodes/reftex.el (reftex-mode): Only call above obsolete aliases in XEmacs. * lisp/progmodes/prolog.el (prolog-inferior-menu): * lisp/erc/erc-menu.el (erc-menu-add, erc-menu-remove): Don't call above obsolete aliases. Make obsolete. * lisp/erc/erc-menu.el (menu, erc-menu-add, erc-menu-remove): * lisp/progmodes/prolog.el (prolog-inferior-mode): Adjust callers. * lisp/speedbar.el (speedbar-previous-menu): Make obsolete. (Bug#44731)
| * | Autoload the 'rx' pcase macroexpander (bug#44807)Mattias Engdegård2020-11-241-0/+1
| | | | | | | | | | | | * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander]): Autoload.
* | | Add intersection support into comp-cstr.elAndrea Corallo2020-11-271-7/+73
| | |
* | | Add comp-cstr.el and comp-cstr-tests.elAndrea Corallo2020-11-262-315/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the constraint logic of the compiler is not trivial and largely independent from the rest of the code move it into comp-cstr.el to ease separation and maintainability. This commit improve the conversion type specifier -> constraint for generality. Lastly this should help with bootstrap time as comp.el compilation unit is slimmed down. * lisp/emacs-lisp/comp-cstr.el: New file. (comp--typeof-types, comp--all-builtin-types): Move from comp.el. (comp-cstr, comp-cstr-f): Same + rename. (comp-cstr-ctxt): New struct. (comp-supertypes, comp-common-supertype-2) (comp-common-supertype, comp-subtype-p, comp-union-typesets) (comp-range-1+, comp-range-1-, comp-range-<, comp-range-union) (comp-range-intersection): Move from comp.el. (comp-cstr-union-no-range, comp-cstr-union): Move from comp.el and rename. (comp-cstr-union-make): New function. (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Move from comp.el, rename it and rework it. * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h): Rework. (comp-ctxt): Remove two fields and include `comp-cstr-ctxt'. (comp-mvar, comp-fwprop-call): Update for `comp-cstr' being renamed. (comp-fwprop-insn): Use `comp-cstr-union-no-range' or `comp-cstr-union'. (comp-ret-type-spec): Use `comp-cstr-union' and rework. * test/lisp/emacs-lisp/comp-cstr-tests.el: New file. (comp-cstr-test-ts, comp-cstr-typespec-test): New functions. (comp-cstr-typespec-tests-alist): New defconst to generate tests on. (comp-cstr-generate-tests): New macro. * test/src/comp-tests.el (comp-tests-type-spec-tests): Update. (ret-type-spec): Initialize constraint context.
* | | * Add SELECTOR parameter to `native-compile-async' (bug#44813)Andrea Corallo2020-11-231-57/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (native-compile-async-skip-p): New function ripping out logic from `native--compile-async' and accounting for SELECTOR. (native--compile-async): Add SELECTOR parameter, make use of `native-compile-async-skip-p' and move it with other private functions. (native-compile-async): Add SELECTOR parameter.
* | | * Rename two native compiler customizeAndrea Corallo2020-11-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list): Rename from `comp-deferred-compilation-black-list'. * lisp/emacs-lisp/comp.el (native--compile-async): Update to use `comp-deferred-compilation-deny-list'. (comp-bootstrap-deny-list): Rename. (batch-native-compile): Update to use `comp-bootstrap-deny-list'.
* | | Merge remote-tracking branch 'savannah/master' into HEADAndrea Corallo2020-11-2212-107/+152
|\| |
| * | * lisp/emacs-lisp/package.el (package-strip-rcs-id): Don't ignore errorsStefan Monnier2020-11-201-2/+1
| | | | | | | | | | | | | | | Ignoring errors here just postpones the error and replaces a clear "invalid version syntax" with a confusing "package lacks a version".
| * | Don't optimize away `eval` when its lexical context is differentStefan Monnier2020-11-201-1/+2
| | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval): Obey lexical-binding.
| * | Make compat alias add-submenu obsoleteStefan Kangas2020-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/easymenu.el (add-submenu): Make compat alias obsolete. * lisp/filesets.el (filesets-build-menu-now): Don't use above obsolete alias. (filesets-menu-path, filesets-menu-before) (filesets-menu-in-menu): Doc fix.
| * | Add command to filter package menu by name or descriptionStefan Kangas2020-11-171-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-menu-filter-by-description): (package-menu-filter-by-name-or-description): New commands to filter the package menu. (Bug#44699) (package-menu-mode-map): Bind the above new commands. (package-menu-mode-menu): Add new commands to the menu. * doc/emacs/package.texi (Package Menu): Document new commands.
| * | Don't quote lambdas in emacs-lisp/*.elStefan Kangas2020-11-167-102/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-seq.el (cl--parsing-keywords, cl-sort): * lisp/emacs-lisp/cl-macs.el (cl-typecase): * lisp/emacs-lisp/cl-extra.el (cl-some, cl-every) (cl--map-keymap-recursively): * lisp/emacs-lisp/advice.el (ad-insert-argument-access-forms): * lisp/emacs-lisp/edebug.el (edebug-sort-alist) (edebug-set-windows): * lisp/emacs-lisp/pp.el (pp-display-expression): * lisp/emacs-lisp/regi.el (regi-interpret): Don't quote lambdas.
| * | Merge from origin/emacs-27Glenn Morris2020-11-161-1/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 75723ec212 (origin/emacs-27) ; * lisp/emacs-lisp/benchmark.el (benchm... 53e2a612ad ; * lib-src/make-fingerprint.c: Update commentary. 286c632772 Reformat argument commentary in etags.c 4ec740866a Make the invocation of combine-change-calls in comment-reg... 66bcec8838 * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix ... 03eeab469e ; Update the expected result files in test/manual/etags. d875a22bc6 Update the various INSTALL files # Conflicts: # INSTALL
| | * ; * lisp/emacs-lisp/benchmark.el (benchmark-run): Fix docstringPhilipp Stephani2020-11-161-1/+1
| | |
| | * Fix pcase rx form snag with '?' and '??' (bug#44532)Mattias Engdegård2020-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression from Emacs 26. Reported by Phillip Stephani. * lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly. * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case. (cherry picked from commit 575b0681d926463960fc00d1e33decaa71d5c956)
| * | New user options 'copy-region-blink-delay' and 'delete-pair-blink-delay'Juri Linkov2020-11-151-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp.el (delete-pair-blink-delay): New defcustom. (delete-pair): Use it. (Bug#4136) * lisp/simple.el (copy-region-blink-delay): New defcustom. (indicate-copied-region): Use it. (Bug#42865) Thanks to Sean Whitton <spwhitton@spwhitton.name>. (indicate-copied-region): Use 'query-replace-descr' not to show newlines literally. Use "Copied text" instead of misleading "Saved text" (bug#42865).
* | | Make load argument of native-compile-async internalStefan Kangas2020-11-211-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (native--compile-async): New defun extracted from native-compile-async. (native-compile-async): Remove load argument and use above new defun. * src/comp.c (maybe_defer_native_compilation): Use above new defun. (Bug#44676)
* | | * lisp/emacs-lisp/comp.el (native-compile-async): Doc fix.Stefan Kangas2020-11-201-5/+20
| | |
* | | Support native compilation of packages on installStefan Kangas2020-11-201-0/+17
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-unpack) (package--native-compile): Native compile packages on install, if the feature is available. (Bug#44676) (package-native-compile): New defcustom.
* | | compile-async: Don't error out on deferred compilation after loadStefan Kangas2020-11-201-8/+6
| | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (native-compile-async): Update comp-files-queue when deferred compilation is requested. (Bug#44676)
* | | ; Fix trivial typosStefan Kangas2020-11-202-13/+13
| | |
* | | Revert "[TODO] Remove noisy anti-noise feature"Jonas Bernoulli2020-11-181-0/+11
| | | | | | | | | | | | This reverts commit c36b4eed2d76f0e804d27d35dd6281f858639f94.
* | | [TODO] Remove noisy anti-noise featureJonas Bernoulli2020-11-181-11/+0
| | |
* | | Various doc fixes for comp.el and comp.cStefan Kangas2020-11-161-33/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el: Remove redundant :group args. (comp-async-cu-done-hook, comp-async-all-done-hook) (comp-async-env-modifier-form, comp-dry-run) (comp-ensure-native-compiler, comp-func-ret-typeset) (comp-func-ret-range, comp-limple-lock-keywords) (comp-make-curr-block): * src/comp.c (Fcomp_el_to_eln_filename, Fcomp__init_ctxt) (Fcomp_native_driver_options_effective_p) (Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version) (Fcomp__register_lambda, Fcomp__register_subr) (Fcomp__late_register_subr, Fnative_elisp_load, syms_of_comp): Doc fixes.
* | | Fix nativecomp cond-rw passAndrea Corallo2020-11-161-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): Improve it. (comp-cond-rw-func): Fix logic for multiple predecessor on target block. * test/src/comp-tests.el (comp-test-cond-rw-1): New test. * test/src/comp-test-funcs.el (comp-test-cond-rw-1-1-f) (comp-test-cond-rw-1-2-f): New functions.
* | | * Improve `comp-fwprop-call'Andrea Corallo2020-11-151-25/+8
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-function-call-maybe-fold): Document return value. (comp-fwprop-call): Simplify and improve.
* | | * Add more type specifiersAndrea Corallo2020-11-151-0/+29
| | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more pure functions.
* | | Merge remote-tracking branch 'savannah/master' into devAndrea Corallo2020-11-147-27/+21
|\| |
| * | Don't quote lambdas in several placesStefan Kangas2020-11-141-16/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/align.el (align-highlight-rule): * lisp/bookmark.el (bookmark-maybe-sort-alist): * lisp/emacs-lisp/advice.el (ad-read-advice-name) (ad-retrieve-args-form, ad-make-hook-form, defadvice) (ad-with-originals): * lisp/foldout.el (foldout-inhibit-key-bindings): * lisp/gnus/gnus-bookmark.el (gnus-bookmark-maybe-sort-alist): * lisp/mail/rfc822.el (rfc822-addresses-1): * lisp/net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): * lisp/net/net-utils.el (network-connection-to-service): * lisp/net/socks.el (socks-build-auth-list): * lisp/org/ox-odt.el (org-odt--image-size): * lisp/pcomplete.el (pcomplete-command-completion-function) (pcomplete-default-completion-function, pcomplete-opt): * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass) (cperl-tags-hier-init, cperl-tags-treeify) (cperl-next-interpolated-REx, cperl-time-fontification): * lisp/shadowfile.el (shadow-copy-files, shadow-shadows-of-1) (shadow-save-buffers-kill-emacs): * lisp/strokes.el (strokes-renormalize-to-grid): * lisp/tempo.el (tempo-insert, tempo-forward-mark) (tempo-backward-mark): * lisp/textmodes/artist.el (artist-submit-bug-report): * lisp/textmodes/ispell.el (ispell-complete-word): * lisp/url/url-auth.el (url-get-authentication): * lisp/url/url-cache.el (url-cache-create-filename-human-readable): * lisp/vcursor.el (vcursor-find-window): * test/lisp/textmodes/reftex-tests.el (reftex-parse-bibtex-entry-test): Don't quote lambdas.
| * | Don't quote lambdas in several placesStefan Kangas2020-11-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/allout-widgets.el (allout-widgets-adjusting-message) (allout-widgets-exposure-change-processor) (allout-widgets-count-buttons-in-region): * lisp/ansi-color.el (ansi-color-make-color-map): * lisp/case-table.el (describe-buffer-case-table): * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): * lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group): * lisp/gnus/nnir.el (nnir-run-swish++, nnir-run-swish-e) (nnir-run-hyrex, nnir-run-namazu): * lisp/hippie-exp.el (make-hippie-expand-function) (try-complete-lisp-symbol, try-complete-lisp-symbol-partially) (try-expand-all-abbrevs): * lisp/international/mule-cmds.el (sort-coding-systems) (select-safe-coding-system, select-message-coding-system) (read-language-name, encoded-string-description): * lisp/international/quail.el (quail-keyseq-translate) (quail-get-translations, quail-build-decode-map) (quail-insert-decode-map): * lisp/jka-compr.el (jka-compr-uninstall): * lisp/locate.el (locate-in-alternate-database): * lisp/mail/mailabbrev.el (mail-resolve-all-aliases-1) (mail-abbrev-make-syntax-table): * lisp/mh-e/mh-seq.el (mh-read-folder-sequences): * lisp/net/eudcb-ldap.el (eudc-ldap-simple-query-internal): * lisp/progmodes/make-mode.el (makefile-query-targets) (makefile-prompt-for-gmake-funargs): * lisp/shadowfile.el (shadow-cancel, shadow-shadows-of): * lisp/sort.el (sort-pages, sort-fields, sort-regexp-fields): * lisp/subr.el (listify-key-sequence): * lisp/term/wyse50.el (terminal-init-wyse50): * lisp/textmodes/ispell.el (ispell-help) (ispell-begin-tex-skip-regexp): * lisp/textmodes/page-ext.el (pages-sort-region): * lisp/textmodes/refer.el (refer-find-entry-in-file): * lisp/url/url-expand.el (url-expand-file-name): Don't quote lambdas.
| * | Remove mention of `edebug-on-signal' from a doc stringLars Ingebrigtsen2020-11-121-1/+0
| | | | | | | | | | | | | | | * lisp/emacs-lisp/edebug.el (edebug-mode): Don't mention non-existent user option (bug#44577).
| * | Remove redundant installation instructionsStefan Kangas2020-11-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/net/newsticker.el: * lisp/net/sieve-mode.el: * lisp/play/bubbles.el: * lisp/play/handwrite.el: * lisp/progmodes/python.el: * lisp/progmodes/ruby-mode.el: * lisp/whitespace.el: Remove redundant installation instructions. These packages are distributed with Emacs and/or GNU ELPA. * lisp/calendar/timeclock.el: * lisp/ehelp.el: * lisp/emacs-lisp/checkdoc.el: * lisp/filesets.el: * lisp/mail/reporter.el: * lisp/net/rfc2104.el: * lisp/net/webjump.el: * lisp/pixel-scroll.el: Remove redundant recommendation to call require before using autoloaded functions. * lisp/tar-mode.el: Remove reference to package uncompress, removed in Emacs 23.
| * | shortdoc: prefer seq-contains-p over seq-containsBrian Leung2020-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (sequence): use seq-contains-p instead of seq-contains, which is obsolete as of 27.1. (Bug#44536) Copyright-paperwork-exempt: yes
| * | Fix pcase rx form snag with '?' and '??' (bug#44532)Mattias Engdegård2020-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is a regression from Emacs 26. Reported by Phillip Stephani. * lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly. * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case.
| * | Clarify Lisp warning about elements following other expressionsLars Ingebrigtsen2020-11-091-2/+2
| | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Clarify warning in help text (bug#44482).
* | | Add `comp-constraint-to-type-spec' and better handle boolean type specAndrea Corallo2020-11-141-28/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-constraint-to-type-spec): New function splitting out code from comp-ret-type-spec + better handle boolean type specifier. (comp-ret-type-spec): Rework to leverage `comp-constraint-to-type-spec'. * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a testcase.
* | | Handle correctly quoting in *Native-compile-Log* bufferAndrea Corallo2020-11-141-14/+15
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-log): Add `quoted' parameter and pass it to `comp-log-to-buffer'. (comp-log-to-buffer): Add `quoted' parameter and leverage `prin1' or `princ' accordingly.
* | | * Split logic into comp-fwprop-call and improve itAndrea Corallo2020-11-141-12/+20
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-func-ret-valset) (comp-fwprop-call): New functions. (comp-fwprop-insn): Remove code duplicaiton and call `comp-fwprop-call'.
* | | * Add a number of type specifiers for pure functionAndrea Corallo2020-11-141-1/+47
| | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add 60 pure function type specifiers.
* | | Characterize functions in terms of type specifiersAndrea Corallo2020-11-141-38/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): New const in place of `comp-known-ret-types' and `comp-known-ret-ranges'. (comp-constraint): New struct to separate the constraint side of an mvar. (comp-constraint-f): Analogous for functions. (comp-mvar): Rework and include `comp-constraint'. (comp-type-spec-to-constraint): New function. (comp-known-constraints-h): New const. (comp-func-ret-typeset, comp-func-ret-range): Rework. (comp-fwprop-insn): Fix. * test/src/comp-tests.el (destructure-type-spec): New testcase.
* | | * lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p): Fix logic.Andrea Corallo2020-11-121-9/+15
| | |