summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Tweak memory-report--formatLars Ingebrigtsen2020-12-111-1/+1
| | | | | * lisp/emacs-lisp/memory-report.el (memory-report--format): Make everything line up, even when there's "1023.4kB".
* Add a new command `memory-report'Lars Ingebrigtsen2020-12-111-0/+299
| | | | | * doc/lispref/internals.texi (Garbage Collection): Document it. * lisp/emacs-lisp/memory-report.el: New package.
* cl-defmethod doc string clarificationLars Ingebrigtsen2020-12-091-2/+12
| | | | | * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc string, and give an example (bug#42322).
* Remove interactive spec from internal eldoc--format-doc-bufferJoão Távora2020-12-081-1/+0
| | | | | | | Per bug#43609. * lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Remove useless interactive spec.
* Fix bug in how ERT invokes its debugger.Philipp Stephani2020-12-071-1/+1
| | | | | | | | | | | | | | | The debugger needs to receive a list of the error symbol and data; cf. the documentation of the `debugger' variable. This bug manifested itself in ERT forms such as (should (integerp (ert-fail "Boo"))), which resulted in an incorrect condition object. Note that forms such as (should (ert-fail "Boo")) weren't affected because they wouldn't use the `ert--should-signal-hook'. * test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with the right arguments. * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add unit test.
* * lisp/emacs-lisp/lisp-mode.el: Give paren syntax to [...] in lisp-data-modeStefan Monnier2020-12-061-3/+5
| | | | | | | | | | | | (lisp-data-mode-syntax-table): Rename from lisp--mode-syntax-table. Adjust all users. Set [...] to have paren syntax. (lisp-data-mode): Don't set `lisp-syntax` arg any more * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table): Don't bother setting [...] to have paren syntax any more. * lisp/progmodes/inf-lisp.el (inferior-lisp-mode): Don't use `lisp-syntax` arg of lisp-mode-variables any more.
* Prefer setq-local in emacs-lisp/*.elStefan Kangas2020-12-0412-36/+32
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/chart.el (chart-mode): * lisp/emacs-lisp/copyright.el (copyright-update): * lisp/emacs-lisp/eieio-custom.el (eieio-customize-object): * lisp/emacs-lisp/elint.el (elint-update-env, elint-init-form): * lisp/emacs-lisp/ert.el (ert--results-update-ewoc-hf): (ert--setup-results-buffer): * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): * lisp/emacs-lisp/pp.el (pp-display-expression): * lisp/emacs-lisp/re-builder.el (reb-mode, reb-restart-font-lock): * lisp/emacs-lisp/shadow.el (load-path-shadows-mode): * lisp/emacs-lisp/smie.el (smie-setup): * lisp/emacs-lisp/syntax.el (syntax-propertize): * lisp/emacs-lisp/trace.el (trace-make-advice): Prefer setq-local.
* Remove redundant requires of 'help'Stefan Kangas2020-12-032-3/+1
| | | | | | | * lisp/emacs-lisp/advice.el (ad-read-advised-function): * lisp/emacs-lisp/ert.el: * lisp/facemenu.el: Don't require 'help'; it is preloaded since version 18.59.
* Remove redundant requires of 'button'Stefan Kangas2020-12-034-5/+0
| | | | | | | | | | | | | | | * lisp/apropos.el: * lisp/emacs-lisp/cl-print.el: * lisp/emacs-lisp/debug.el: * lisp/emacs-lisp/ert.el: * lisp/emacs-lisp/shadow.el: * lisp/facemenu.el: * lisp/help-mode.el: * lisp/man.el: * lisp/progmodes/etags.el: * lisp/textmodes/bibtex.el: * lisp/woman.el: Don't require 'button'; it is preloaded since version 23.1.
* Remove redundant requires of 'custom'Stefan Kangas2020-12-031-1/+0
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/eieio-custom.el: * lisp/htmlfontify.el: * lisp/mwheel.el: * lisp/net/eudc-vars.el: * lisp/net/ldap.el: * lisp/net/tramp-ftp.el: * lisp/net/tramp-gvfs.el: * lisp/progmodes/cwarn.el: * lisp/progmodes/sql.el: * lisp/savehist.el: * lisp/textmodes/reftex.el: * lisp/wid-browse.el: Don't require 'custom'; it is preloaded since version 20.1.
* Remove specific byte-compiler warnings for cl.elStefan Kangas2020-12-022-85/+6
| | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types) (byte-compile-warnings, byte-compile-cl-file-p) (byte-compile-eval, byte-compile-eval-before-compile) (byte-compile-arglist-warn, byte-compile-find-cl-functions) (byte-compile-cl-warn, displaying-byte-compile-warnings) (byte-compile-file-form-require, byte-compile-form): Remove all specific cl.el warnings, as that library is now obsolete. The regular obsoletion warnings are sufficiently discouraging. * lisp/emacs-lisp/advice.el (ad-compile-function): Don't try to silence the now removed warning. * doc/lispref/tips.texi (Coding Conventions): * doc/misc/cl.texi (Organization): Make recommendation to not use cl.el and cl-compat.el stronger. * lisp/obsolete/cl.el: Make alias help say that they are obsolete. * lisp/obsolete/cl-compat.el (build-klist, safe-idiv) (pair-with-newsyms): Silence byte-compiler.
* Fix byte-compiler warning for failed uses of lexical varsStefan Kangas2020-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix byte-compiler warning for failed uses of lexical vars. (Bug#44980) * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--define-warning-file-test): Don't prefix tests with 'warn'. (bytecomp/error-lexical-var-with-add-hook\.el) (bytecomp/error-lexical-var-with-remove-hook\.el) (bytecomp/error-lexical-var-with-run-hook-with-args-until-failure\.el) (bytecomp/error-lexical-var-with-run-hook-with-args-until-success\.el) (bytecomp/error-lexical-var-with-run-hook-with-args\.el) (bytecomp/error-lexical-var-with-symbol-value\.el): New tests. * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-symbol-value.el: * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args.el: * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-success.el: * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-failure.el: * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-remove-hook.el: * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-add-hook.el: New files.
* Decrease code duplication in byte-compiler free-vars warningStefan Kangas2020-11-301-18/+23
| | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-free-vars-warn): New defun extracted from... (byte-compile-variable-ref, byte-compile-variable-set): ...here.
* 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.
* * 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).
* | 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).
* | * 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).
* | '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.