summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix phi function.Andrea Corallo2020-11-081-13/+14
|
* * lisp/emacs-lisp/comp.el (comp-common-supertype-2): Fix null intersectionAndrea Corallo2020-11-071-8/+7
|
* Merge remote-tracking branch 'savannah/master' into HEADAndrea Corallo2020-11-078-51/+77
|\
| * * lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in stringsStefan Monnier2020-11-071-2/+5
| | | | | | | | | | | | (lisp--match-hidden-arg): Don't misfire in strings and comments. Reported by: Andrii Kolomoiets <andreyk.mad@gmail.com>
| * Improve display of tabulated list header line labels (bug#44068)Stephen Berman2020-11-042-16/+22
| | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header): Ensure sort indicator appears after the label of any selected sortable column that is wide enough and enable label truncation when narrowing a column. * lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column alignment. (timer-list--function-predicate): Correct typo in doc string.
| * * lisp-mode.el: Fix missing highlight of "hidden" string argStefan Monnier2020-11-041-2/+4
| | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it already has another face.
| * Improve ert-resource-directory docstringStefan Kangas2020-11-031-9/+10
| | | | | | | | | | * lisp/emacs-lisp/ert-x.el (ert-resource-directory): Improve docstring.
| * Merge from origin/emacs-27Glenn Morris2020-11-021-1/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1fc9de4b81 Improve reproducibility of generated -pkg.el files da6234e2df Make sure pixel sizes are zero when setting window size fo... 2d15296db1 Fix failure of 'emacs --daemon' on Cygwin 8abce5b0c6 CC Mode: Only recognize foo (*bar) as a function pointer w... 85d1d8d768 Fix NEWS entry for fix of Bug#44080 2443b15a91 * src/buffer.c (syms_of_buffer) <fill-column>: Improve doc... # Conflicts: # etc/NEWS
| | * Improve reproducibility of generated -pkg.el filesGlenn Morris2020-10-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el (package-generate-description-file): Don't include the full name of the source file in the header, since that varies non-reproducibly according to the build directory. https://bugs.debian.org/972861 Note that elpa.gnu.org's admin/archive-contents.el does this by hand and already only includes the nondirectory part.
| * | Partially revert previous define-minor-mode changeLars Ingebrigtsen2020-11-021-6/+4
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Only document the values we want to support, not the ones we actually support. (define-minor-mode): Partially revert to previous behaviour.
| * | * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Doc typo.Glenn Morris2020-11-011-1/+1
| | |
| * | Add missing side-effect-free and error-free propertiesMattias Engdegård2020-11-011-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Any function that is pure is also side-effect-free and some are also error-free. Right now these have to be declared separately. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add bool-vector-count-consecutive, bool-vector-count-population, bool-vector-subsetp, copysign, isnan, lax-plist-get, ldexp, memql, regexp-opt and string-to-syntax. (side-effect-and-error-free-fns): Add type-of. * lisp/subr.el (kbd, string-replace): Declare side-effect-free.
| * | * lisp/emacs-lisp/byte-opt.el (pure-fns): Fix typos.Mattias Engdegård2020-11-011-2/+2
| | |
| * | Make minor mode ARG work as documentedLars Ingebrigtsen2020-11-011-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Clarify when minor modes are switched on/off when called from lisp (bug#44341). (define-minor-mode): Make calls from Lisp switch the mode on/off as documented.
| * | Doc string clarification for cl-someLars Ingebrigtsen2020-11-011-2/+5
| | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-extra.el (cl-some): Clarify the return value (bug#44330).
* | | * Fix non native compiled buildAndrea Corallo2020-11-071-1/+2
| | | | | | | | | | | | | | | * lisp/emacs-lisp/advice.el (ad-add-advice): Do not try to install trampolines in vanilla builds.
* | | Allow for native compilation qualities to be specified per input fileAndrea Corallo2020-11-072-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-native-qualities): Define variable. (byte-compile-from-buffer): Spill compilation qualities. * lisp/emacs-lisp/comp.el (comp-speed, comp-debug): Make them file local variables. (comp-ctxt): Add `speed' and `debug' slots. (comp-spill-speed, comp-spill-lap-function): Make use of these. (comp-spill-lap-function): Spill qualities from `byte-native-qualities'. (comp-limplify-top-level): Do not use `comp-speed' but ctxt value unstead. (comp-final): Do not propagate qualities as they are already in the `comp-ctxt'. (comp--native-compile): Close on `byte-native-qualities'. * src/comp.c (comp_t): Add 'speed' and 'debug' fields. (emit_comment, emit_mvar_rval, emit_static_object) (emit_ctxt_code, Fcomp__init_ctxt): Use these instead of the global variables. (Fcomp__compile_ctxt_to_file): Set comp.speed and comp.debug and use them.
* | | Handle type hierarchy in native compiler forward propagationAndrea Corallo2020-11-072-6/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2020-11-07 Andrea Corallo <andrea.corallo@arm.com> * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add fixnum and bignum. * lisp/emacs-lisp/comp.el (comp-ctxt): Add `supertype-memoize' slot. (comp-supertypes, comp-common-supertype-2) (comp-common-supertype): New functions. (comp-fwprop-insn): Make use of `comp-common-supertype' to identify the common supertype to be propagated.
* | | * A native compiler forward propagation fixAndrea Corallo2020-11-051-1/+2
| | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix `comp-mvar' `const-vld' slot left unset while propagating in phis.
* | | * Fix 'comp-call-optim pass' for anonymous lambdasAndrea Corallo2020-11-011-2/+1
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/comp.el (comp-call-optim-func): Remove anonymous lambdas gate. (comp-call-optim-form-call): Add the correct missing condition.
* | | Add new cond-rw pass to have forward propagation track cond branchesAndrea Corallo2020-11-011-1/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new pass to rewrite conditional branches. This is introducing and placing a new LIMPLE operator 'assume' in use by fwprop to propagate conditional branch test informations on target basic blocks. * lisp/emacs-lisp/comp.el (comp-passes): Add `comp-cond-rw'. (comp-limple-assignments): Add `assume' operator. (comp-emit-assume, comp-cond-rw-target-slot, comp-cond-rw-func) (comp-cond-rw): Add new functions. (comp-fwprop-insn): Update to pattern match `assume' insns. * src/comp.c (emit_limple_insn): Add for `assume'. (syms_of_comp): Define 'Qassume' symbol.
* | | Merge remote-tracking branch 'savannah/master' into HEADAndrea Corallo2020-10-3113-354/+670
|\| |
| * | 'assoc' is not side-effect-free; constprop its pure subsetMattias Engdegård2020-10-311-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since a supplied test function can do anything, assoc is not side-effect-free (bug#44018). However, with only two arguments it is pure and should be optimised accordingly. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Remove 'assoc'. (byte-optimize-assoc): Constant-propagate through 2-arg assoc calls. * test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data): Add test cases.
| * | Trim and explain set of safe forms for 'unsafep' (bug#44018)Mattias Engdegård2020-10-311-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/unsafep.el: Add comment explaining the policy for which forms can be considered 'safe' in the sense of unsafep. Remove ones that didn't make the cut: play-sound-file (large attack surface) catch, throw (alter program flow, inject data) replace-regexp-in-string (execute arbitary code) error, signal (deceptive messages) * test/lisp/emacs-lisp/unsafep-tests.el (unsafep-tests--unsafe): Add test cases. * etc/NEWS: Announce the change.
| * | Shoosh byte-compilation warning in lisp/emacs-lisp/eldoc.elJoão Távora2020-10-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per bug#43609, elisp-eldoc-documentation-function is again in master, but since it's now officially obsoleted, this backward compatibility shim in eldoc--eval-expression-setup shouldn't unnecessarily trigger warnings in master's code. * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Shoosh by-compilation warning.
| * | Don't make ElDoc doc buffer visible in buffer list by defaultJoão Távora2020-10-301-18/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: bug#44334 * lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer): No longer take INTERACTIVE arg. Show buffer if invisible. (eldoc--format-doc-buffer): Don't change buffer visibility. (eldoc-display-in-buffer): Show buffer if invisible if by calling eldoc-doc-buffer.
| * | Clarify point position after text-property-searchStefan Kangas2020-10-301-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/text-property-search.el (text-property-search-forward, text-property-search-backward): Doc fix to clarify placement of point after search. * test/lisp/emacs-lisp/text-property-search-tests.el (text-property-search--pos-test): New defun. (text-property-search-forward-point-at-beginning) (text-property-search-backward-point-at-end): New test.
| * | Make list-timers do sub-second timesLars Ingebrigtsen2020-10-301-2/+3
| | | | | | | | | | | | | | | * lisp/emacs-lisp/timer-list.el (list-timers): Do sub-second times (bug#39956).
| * | ; Remove spurious FIXMEs in my last commitStefan Kangas2020-10-301-2/+0
| | |
| * | Add shortdoc navigation commandsStefan Kangas2020-10-301-3/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (text-property-search): Require. (shortdoc-mode): New major mode. (shortdoc-mode-map): New variable. (shortdoc--goto-section): New macro. (shortdoc-next, shortdoc-previous, shortdoc-next-section) (shortdoc-previous-section): New commands. (shortdoc-display-group): Use new shortdoc-models. Propertize section header. (shortdoc--display-function): Propertize function header.
| * | ; * lisp/emacs-lisp/shortdoc.el (regexp): less contrived rx exampleMattias Engdegård2020-10-281-1/+1
| | |
| * | Run substitute-command-keys on shortdoc section headingsStefan Kangas2020-10-281-1/+1
| | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Run substitute-command-keys on section headings before displaying.
| * | Extend the regexp shortdoc groupStefan Kangas2020-10-281-10/+34
| | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (regexp): New section "Match Data"; add save-match-data. New section "The `rx' Structured Regexp Notation".
| * | Display times in a more human-readable way in list-timersLars Ingebrigtsen2020-10-281-18/+19
| | | | | | | | | | | | | | | * lisp/emacs-lisp/timer-list.el (list-timers): Format the intervals in a more human-readable way (bug#39956).
| * | ERT: escape control characters in pretty-printed error outputMattias Engdegård2020-10-271-1/+2
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline): Escape control characters which would otherwise be blasted directly to the terminal (when running noninteractively) with unpleasant results.
| * | Don't leak result of nested byte-compilation to outer levelPaul Pogonyshev2020-10-271-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Bind `byte-compiler-error-flag' instead of setting it (bug#41065). This fixes a problem of "leaking" the flag when compiling something that then compiles something that errors out (i.e., an "inner" compile).
| * | Make the -modes variable autoloadedLars Ingebrigtsen2020-10-261-19/+19
| | | | | | | | | | | | | | | * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Make the -modes variable be autoloaded.
| * | Implement a :predicate parameter for globalized minor modesLars Ingebrigtsen2020-10-261-19/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/modes.texi (Defining Minor Modes): Describe the new :predicate keyword (bug#44232). * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Allow a new :predicate keyword. (easy-mmode--globalized-predicate-p): New function.
| * | Tweak how shortdocs are displayedLars Ingebrigtsen2020-10-261-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (shortdoc-example): Removed. (shortdoc-section): Remove colors. (shortdoc-separator): New face. (shortdoc-display-group, shortdoc--display-function): Don't use background colours, because that makes things harder to read. Separate with a horizontal line instead.
| * | Revert "Don't consider play-sound-file to be a 'safe' function (bug#44018)"Mattias Engdegård2020-10-261-1/+1
| | | | | | | | | | | | This reverts commit cdb3c9d662c772ce25ea4d803eccd2c9e6a6ae99.
| * | Don't consider play-sound-file to be a 'safe' function (bug#44018)Mattias Engdegård2020-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | While there are currently no known security holes in play-sound-file, the attack surface is considerable and historically audio file processing has had more than its share of security problems; the benefit to risk ratio is low. * lisp/emacs-lisp/unsafep.el: Don't mark play-sound-file as safe.
| * | Add section "Replacing Match" to the regexp shortdoc groupStefan Kangas2020-10-251-0/+7
| | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (regexp): New section "Replacing Match".
| * | Remove some Emacs 19 compat code and referencesStefan Kangas2020-10-251-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/sql.el: * lisp/mh-e/mh-show.el (mh-display-msg): Remove Emacs 19 compat code. * lisp/emacs-lisp/edebug.el (edebug-mark-marker): Make into obsolete alias for mark-marker. (edebug--display-1, edebug-bounce-point) (edebug-outside-excursion): Adjust callers. * lisp/net/snmp-mode.el: * lisp/forms.el: Remove references to Emacs 19. (forms-use-text-properties): Doc fix.
| * | Fix problem when replacing the final char in checkdocLars Ingebrigtsen2020-10-251-1/+1
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/checkdoc.el (checkdoc-autofix-ask-replace): Ensure that the end-of-doc-string marker is really at the end, even if we replace the final " char in the string (bug#44201).
| * | Add shortdoc group for alistStefan Kangas2020-10-251-0/+39
| | | | | | | | | | | | * lisp/emacs-lisp/shortdoc.el (alist): New shortdoc group.
| * | 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.