summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* ; Fix some tiny doc typosGlenn Morris2018-03-271-1/+1
|
* De-obsolete `if-let' and `when-let'Michael Heerdegen2018-03-271-20/+26
| | | | | | | | | | For the following release it is planned to make `if-let*' and `when-let*' aliases for `if-let' and `when-let'. For now we revert declaring `if-let' and `when-let' obsolete and tweak the docstrings. * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings refer to those of `if-let' and `when-let'. (if-let, when-let): De-obsolete. Rewrite documentation.
* * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.Glenn Morris2018-03-261-2/+2
|
* Improve warning and error messagesEric Abrahamsen2018-03-221-8/+12
| | | | | | * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read, (eieio-persistent-validate/fix-slot-value): Indicate exactly what went wrong.
* Let eieio-persistent-read read what object-write has writtenEric Abrahamsen2018-03-221-8/+17
| | | | | | | | | | | * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): `object-write' may quote lists inside hash tables and vectors, so unquote those lists here. This patch allows the eieio-persistent write/restore process to perform a clean round trip. It only handles a very specific and limited range of object structures, but at least the write and read procedures match.
* Handle possible classtype values in eieio-persistent-readEric Abrahamsen2018-03-221-1/+1
| | | | | | * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): The function `eieio-persistent-slot-type-is-class-p' could return either a single class, or a list of classes.
* Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)Noam Postavsky2018-03-101-7/+9
| | | | | * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM => (ATOM) short form is only for non-nil ATOMs.
* Revert last commitMichael Heerdegen2018-03-061-23/+32
| | | | | This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23. It's too late for this to be in the release.
* Define if-let* and derivatives as aliases for if-let etcMichael Heerdegen2018-03-061-32/+23
| | | | | | | | | | | | | | | | | | This commit reverts declaring `if-let' and `when-let' obsolete in favor of the new `if-let*' and `when-let*' versions because of the compiler warning mess (Bug#30039). Instead we make foo-let* aliases for foo-let. The old single-tuple variable spec case is still supported for backward compatibility. * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare obsolete. Tweak edebug specs. (and-let): Renamed from `and-let*' for compatibility with the names `if-let' and `when-let'. (if-let*, when-let*, and-let*): Define as aliases for `if-let', `when-let' and `and-let'. * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test) (when-let-single-tuple-case-test): New tests for the single-binding tuple case. In the whole file, prefer the names without "*".
* Remove outdated comment in syntax.elEli Zaretskii2018-03-031-6/+0
| | | | | * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove outdated comment. (Bug#30617)
* ; Spelling and grammar fixes.Paul Eggert2018-02-171-1/+1
|
* Improve documentation of Profiling featuresEli Zaretskii2018-02-172-3/+5
| | | | | | | | * doc/lispref/debugging.texi (Profiling): Improve the description of elp.el. Improve wording of the rest of the section. (Bug#30491) * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the interactive invocation work. Doc fix.
* ; Fix doc typos related to indefinite articlesGlenn Morris2018-02-161-1/+1
|
* ; Fix doc typos related to indefinite articlesGlenn Morris2018-02-162-2/+2
|
* Make 'byte-compile-error-on-warn' a safe file variableRobert Cochran2018-02-161-0/+5
| | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark as a safe local variable for boolean values.
* Define cl-type-definition button type as needed (Bug#28899)Noam Postavsky2018-01-301-1/+4
| | | | | * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require `cl-extra' before using the `cl-type-definition' button type.
* * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.Philipp Stephani2018-01-301-4/+7
|
* Revert "Fix tempfile creation when byte compiling"Eli Zaretskii2018-01-201-1/+11
| | | | | | This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8: * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Put tempfile next to the target file, as was the original intent.
* Fix tempfile creation when byte compilingPaul Eggert2018-01-191-11/+1
| | | | | | | | This improves on the recent fix for master failing to build on FreeBSD. Suggested by Stefan Monnier in: https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Put tempfile next to the target file, as was the original intent.
* * lisp/emacs-lisp/bytecomp.el: Tweak last changeStefan Monnier2018-01-191-7/+7
| | | | (byte-compile-file): Move comment closer to the code it describes.
* Unbreak building Emacs on FreeBSDEli Zaretskii2018-01-191-1/+11
| | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create the temporary file under temporary-file-directory if the file being compiled is specified by an absolute file name. This avoids problems with ACL copying from temporary-file-directory on FreeBSD. For the details, see http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
* Handle case-insensitive filenames for load-path shadows (Bug#5845)Noam Postavsky2018-01-181-2/+8
| | | | | | | | | * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for shadowing with case-insensitive matching for files of case-insensitive directories (as determined by `file-name-case-insensitive-p'). * test/lisp/emacs-lisp/shadow-tests.el: New test. * test/lisp/emacs-lisp/shadow-resources/p1/foo.el: * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
* * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.Stefan Monnier2018-01-111-1/+2
|
* * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767Stefan Monnier2018-01-111-0/+8
|
* Fix mark-defun when there's no spaces between successive defuns.Alan Mackenzie2018-01-061-10/+8
| | | | | | | | | | | The problem was a parse-partial-sexp call which tried to use the STOPBEFORE argument to detect non-syntactic WS. This fails on a "}", which does not begin a sexp. * lisp/emacs-lisp/lisp.h (beginning-of-defun--in-emptyish-line-p): Enhance to handle BOL being in a string. (beginning-of-defun-comments): Call the above function in place of the call to parse-partial-sexp.
* Fix copyright years by handPaul Eggert2018-01-011-1/+1
| | | | | These are dates that admin/update-copyright did not update, or updated incorrectly.
* Update copyright year to 2018Paul Eggert2018-01-0186-86/+86
| | | | Run admin/update-copyright.
* * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.Eli Zaretskii2017-12-221-0/+4
|
* ; Replace non-ascii quote characters in doc strings etcGlenn Morris2017-12-201-1/+1
|
* * lisp/subr.el (delayed-after-hook-functions): Rename from ...-formsStefan Monnier2017-12-181-1/+1
| | | | | | (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms. * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions rather than forms (bug#29679).
* Partially revert "Mention new strictness for &optional, &rest..."Noam Postavsky2017-12-151-27/+11
| | | | | | | | | | | | | The changes to cl argument parsing are not backwards compatible, and cause inconvenience when writing macros (e.g., instead of doing '&aux ,@auxargs', some more complicated conditionals would be required). The `cl-defstruct' macro makes use of this convenience when defining empty structs (Bug#29728). * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key, and &aux. * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove test.
* Mention new strictness for &optional, &rest in arglists (Bug#29165)Noam Postavsky2017-12-131-11/+27
| | | | | | | | | | * etc/NEWS: Explain that '&optional' not followed by a variable is now an error. * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux) (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not followed by a variable for consistency. * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New test.
* Add missing :version tags revealed by cusver-checkGlenn Morris2017-12-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * lisp/comint.el (comint-move-point-for-matching-input): * lisp/epa.el (epa-replace-original-text): * lisp/image-dired.el (image-dired-cmd-optipng-program) (image-dired-cmd-optipng-options): * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method) (gnus-cloud-interactive): * lisp/net/mailcap.el (mailcap-user-mime-data): * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag) (c-noise-macro-names, c-noise-macro-with-parens-names): * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode) (flymake-wrap-around): * lisp/progmodes/grep.el (grep-use-null-filename-separator): * lisp/progmodes/js.el (js-indent-align-list-continuation): * lisp/progmodes/perl-mode.el (perl-flymake-command): * lisp/progmodes/python.el (python-flymake-command) (python-flymake-command-output-pattern, python-flymake-msg-alist): * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available) (ruby-rubocop-config): * lisp/textmodes/less-css-mode.el (less-css): * lisp/textmodes/tex-mode.el (tex-chktex-program) (tex-chktex-extra-flags): Add missing :version tags.
* Handle hash tables and vectors when reading/writing EIEIO objectsEric Abrahamsen2017-12-092-0/+39
| | | | | | | | | | * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects printed with `prin1' can no longer be read with `read'. Make sure they are printed with object-write instead, even when they're inside hash tables and vectors. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): Check for written representations of objects inside hash tables and vectors, and reconstruct them.
* Let autoload-compute-prefix be set file-locally (Bug#29471)Noam Postavsky2017-12-021-0/+1
| | | | | * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark boolean values as safe.
* Fix byte compilation of files with leading directoriesEli Zaretskii2017-12-021-1/+2
| | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename of target-file to make-temp-file, in case target-file includes a leading directory that might not exist under TMPDIR. See http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html for the details.
* ; * lisp/emacs-lisp/bytecomp.el: Tweak message formatting in previous.Glenn Morris2017-11-291-1/+3
|
* Restore obsolete method of changing byte-compile-dest-fileGlenn Morris2017-11-291-0/+5
| | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file): Restore seven-year obsolete feature that was removed for six months, since automake uses it.
* Remove some bogus definition-prefixes from loaddefsGlenn Morris2017-11-281-0/+1
| | | | | | * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads): Don't register a definition prefix from define-erc-module, which adds an erc- prefix to its argument.
* ; * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):Glenn Morris2017-11-271-1/+1
| | | | Fix typo in previous.
* A few small doc fixes for bytecomp.elGlenn Morris2017-11-271-4/+11
| | | | | * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp) (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
* Fix Edebug specs for if-let* and and-let* (Bug#29236)Gemini Lasswell2017-11-261-3/+5
| | | | | | | | | | | * test/lisp/emacs-lisp/subr-x.el (if-let*, if-let): Change Edebug spec to cause Edebug to instrument tests the results of which are not bound to symbols (the (VALUEFORM) case). (and-let*): Change Edebug spec to allow empty body. *test/lisp/emacs-lisp/subr-x-tests.el: (subr-x-and-let*-test-group-1): Add missing quote to erroneous form so Edebug will work on this test.
* Fix Edebug's handling of dotted specs (bug#6415)Gemini Lasswell2017-11-262-29/+40
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use cl-macro-list1 instead of cl-macro-list in Edebug spec. * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete unused variable. (edebug-dotted-spec): Add docstring. (edebug-match-specs): Allow &optional and &rest specs to match nothing at the tail of a dotted form. Handle matches of dotted form tails which return non-lists. * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms): New test. * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: (edebug-test-code-use-destructuring-bind): New function.
* maint: shorten https://lists.gnu.org/archive/html/... linksPaul Eggert2017-11-252-4/+4
|
* Improve the doc string of 'list-packages'Eli Zaretskii2017-11-241-1/+3
| | | | | * lisp/emacs-lisp/package.el (list-packages): Describe in the doc string the columns shown by the command. (Bug#29420)
* * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.Glenn Morris2017-11-211-0/+1
|
* * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.Glenn Morris2017-11-211-2/+6
|
* ; * lisp/emacs-lisp/byte-run.el: Fix a typo in a comment.Eli Zaretskii2017-11-191-1/+1
|
* Fix to 2fddfb7ce7Eric Abrahamsen2017-11-081-2/+2
| | | | | * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): Fix bogus paren wrapping.
* Handle object string name in eieio-persistent-convert-list-objectEric Abrahamsen2017-11-081-2/+5
| | | | | | * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): Starting to phase out the printing of object names in `object-write', handle either case.