summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Better docstring for seq.el functionsNicolas Petton2015-02-061-7/+11
| | | | * lisp/emacs-lisp/seq.el: Better docstring for seq.el functions
* Add seq-partition and seq-group-byNicolas Petton2015-02-061-0/+27
| | | | | | * lisp/emacs-lisp/seq.el: Better docstring for seq.el functions * test/automated/seq-tests.el: New tests for seq-partition and seq-group-by
* Add seq-mapcatNicolas Petton2015-02-061-2/+8
| | | | | * lisp/emacs-lisp/seq.el (seq-mapcat): New function * test/automated/seq-tests.el: Add unit tests for seq-mapcat
* emacs-lisp/package.el: Add missing (require 'subr-x)Artur Malabarba2015-02-051-0/+1
|
* emacs-lisp/package.el (package-delete): Don't always delesect.Artur Malabarba2015-02-051-1/+9
|
* emacs-lisp/package.el (package-menu-mark-install): Mark dependency.Artur Malabarba2015-02-051-2/+8
|
* emacs-lisp/package.el (package-menu-execute): Delete packages in order.Artur Malabarba2015-02-051-2/+37
|
* * lisp/emacs-lisp/eieio*.el: Use (:documentation ...) featureStefan Monnier2015-02-053-29/+24
| | | | | | | | | | | | * lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Use new special (:documentation ...) feature. * lisp/emacs-lisp/eieio-core.el (eieio-make-class-predicate) (eieio-make-child-predicate): Same. (eieio-copy-parents-into-subclass): Remove unused arg. (eieio-defclass-internal): Adjust call accordingly and remove redundant `pname' var. (eieio--slot-name-index): Remove unused arg `obj' and adjust all callers accordingly.
* Add (:documentation <form>) for dynamically-generated docstringsStefan Monnier2015-02-052-29/+61
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el: (byte-compile-initial-macro-environment): Use macroexp-progn. (byte-compile-cl-warn): Don't silence use of cl-macroexpand-all. (byte-compile-file-form-defvar-function): Rename from byte-compile-file-form-define-abbrev-table. (defvaralias, byte-compile-file-form-custom-declare-variable): Use it. (byte-compile): Use byte-compile-top-level rather than byte-compile-lambda so we can compile non-values. (byte-compile-form): Add warnings for failed uses of lexical vars via quoted symbols. (byte-compile-unfold-bcf): Improve message for failed inlining. (byte-compile-make-closure): Handle new format of internal-make-closure for dynamically-generated docstrings. * lisp/emacs-lisp/cconv.el (cconv--convert-function): Add `docstring' argument. (cconv-convert): Use it to handle the new (:documentation ...) form. (cconv-analyze-form): Handle the new (:documentation ...) form. * src/eval.c (Ffunction): Handle the new (:documentation ...) form. (syms_of_eval): Declare `:documentation'.
* * lisp/emacs-lisp/cl-generic.el (cl--generic-member-method): Fix paren typo.Stefan Monnier2015-02-041-2/+2
|
* Fix typo causing a void-variable error: pkg-descTassilo Horn2015-02-041-1/+1
| | | | | * emacs-lisp/package.el (package-installed-p): Fix typo causing void-variable error.
* emacs-lisp/package.el (package-reinstall): Accept package-desc objects.Artur Malabarba2015-02-041-2/+6
|
* emacs-lisp/package.el (package-install): Mark dependencies as selected.Artur Malabarba2015-02-041-13/+26
| | | | | In particular, when given a package-desc object which is already installed, the package is not downloaded again.
* emacs-lisp/package.el (package-delete): Always unselect package.Artur Malabarba2015-02-041-5/+7
|
* emacs-lisp/package.el (package--read-pkg-desc): Fix tar-desc reference.Artur Malabarba2015-02-031-6/+7
|
* emacs-lisp/package.el (package-menu-execute): Offer to remove packages.Artur Malabarba2015-02-031-19/+34
|
* emacs-lisp/package.el (package-desc-status): Add "dependency" status to ↵Artur Malabarba2015-02-031-7/+15
| | | | Package Menu.
* emacs-lisp/package.el (package--user-selected-p): New function.Artur Malabarba2015-02-031-40/+65
| | | | | Populates `package-selected-packages' if necessary, and then checks if symbol PKG is contained in it.
* emacs-lisp/package.el (package--get-deps): delete-dups when ONLY is nil.Artur Malabarba2015-02-031-1/+1
|
* emacs-lisp/package.el (package-delete): Document NOSAVE.Artur Malabarba2015-02-031-2/+4
|
* emacs-lisp/package.el (package-reinstall): Don't change selected status.Thierry Volpiatto2015-02-031-3/+5
|
* emacs-lisp/package.el (package--get-deps): Fix returning duplicates.Artur Malabarba2015-02-021-3/+3
|
* emacs-lisp/package.el (package-menu-execute): Clean unnecessary `and'.Artur Malabarba2015-02-021-1/+1
|
* emacs-lisp/package.el (package-initialize): Populate ↵Artur Malabarba2015-02-021-324/+342
| | | | `package-selected-packages'.
* emacs-lisp/package.el: Fix previous patchThierry Volpiatto2015-02-021-6/+7
|
* emacs-lisp/package.el: Many style changesArtur Malabarba2015-02-011-15/+16
|
* package.el (package--get-deps): Fix for indirect dependencies.Artur Malabarba2015-02-011-6/+3
|
* emacs-lisp/package.el (package-install): Rename ARG to MARK-SELECTED.Artur Malabarba2015-02-011-7/+7
|
* emacs-lisp/package.el (package-selected-packages): Fix :typeArtur Malabarba2015-02-011-1/+1
|
* emacs-lisp/package.el: Don't allow deleting dependencies.Thierry Volpiatto2015-02-011-37/+166
|
* EIEIO: Simplify help hyperlinks; Try and reduce hardcoding in .elcStefan Monnier2015-01-316-186/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Fix regexp. * lisp/emacs-lisp/eieio-core.el (eieio--check-type): Remove. Use cl-check-type everywhere instead. (eieio-class-object): Remove, use find-class instead when needed. (class-p): Don't inline. (eieio-object-p): Check more thoroughly, so we don't treat cl-structs, such as eieio classes, as objects. Don't inline. (object-p): Mark as obsolete. (eieio-defclass-autoload, eieio-defclass-internal, eieio-oref) (eieio--generic-tagcode): Avoid `class-p'. (eieio-make-class-predicate, eieio-make-child-predicate): New functions. (eieio-defclass-internal): Use current-load-list rather than `class-location'. * lisp/emacs-lisp/eieio-opt.el (eieio-help-class, eieio-help-constructor): Use find-lisp-object-file-name, help-fns-short-filename and new calling convention for eieio-class-def. (eieio-build-class-list): Remove function, unused. (eieio-method-def): Remove button type, unused. (eieio-class-def): Inherit from help-function-def. (eieio--defclass-regexp): New constant. (find-function-regexp-alist): Use it. (eieio--specializers-apply-to-class-p): Handle eieio--static as well. (eieio-help-find-method-definition, eieio-help-find-class-definition): Remove functions. * lisp/emacs-lisp/eieio.el (defclass): Use new eieio-make-class-predicate and eieio-make-child-predicate. (eieio-class-parents): Use eieio--class-object. (slot-boundp, find-class, eieio-override-prin1): Avoid class-p. (slot-exists-p): Use find-class. * test/automated/eieio-tests.el (eieio-test-23-inheritance-check): Simplify.
* * lisp/emacs-lisp/backquote.el: Fix bug with unoptimized exp.Stefan Monnier2015-01-301-3/+1
| | | | | | | | Fixes: debbugs:19734 * lisp/emacs-lisp/backquote.el (backquote-delay-process): Don't reuse `s' since it may be "equivalent" in some sense, yet different. * test/automated/core-elisp-tests.el (core-elisp-tests-3-backquote): New test.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Set `indent' to 1.Oleh Krehel2015-01-301-5/+6
|
* * lisp/emacs-lisp/cl.el (cl--function-convert): Simplify.Stefan Monnier2015-01-281-4/+1
|
* Tighten up the tagcode used for eieio and cl-struct objectsStefan Monnier2015-01-274-128/+176
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Set the function slot of the tag symbol to :quick-object-witness-check. (eieio-object-p): Use :quick-object-witness-check. (eieio--generic-tagcode): Use cl--generic-struct-tag. * lisp/emacs-lisp/cl-preloaded.el: New file. * lisp/emacs-lisp/cl-macs.el (cl--bind-inits): Remove, unused. (cl--transform-lambda, cl-destructuring-bind): Remove cl--bind-inits. (cl--make-usage-args): Strip away &aux args. (cl-case, cl-typecase, cl--parse-loop-clause): Use macroexp-let2. (cl-the, cl-check-type): Use macroexp-let2 and cl-typep. (cl-defstruct): Use `declare' and cl-struct-define. * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): New function. (cl--generic-struct-tagcode): Use it to tighten the tagcode. * lisp/loadup.el: Load cl-preloaded. * src/lisp.mk (lisp): Add cl-preloaded.
* lisp/emacs-lisp/cl.el (cl--function-convert): Merge cache that ↵Katsumi Yamaoka2015-01-271-1/+3
| | | | cl--labels-convert adds (bug#19699)
* Auto-commit of loaddefs files.Glenn Morris2015-01-272-2/+2
|
* lisp/emacs-lisp/derived.el (define-derived-mode): Declare indent 3.Oleh Krehel2015-01-271-1/+2
| | | | | | | | | | | | Now, e.g. `indent-sexp' will produce: (define-derived-mode outline-mode text-mode "Outline" "Set ...") instead of: (define-derived-mode outline-mode text-mode "Outline" "Set ...")
* lisp/emacs-lisp/cl.el (cl--function-convert): Work for cl-flet and cl-labelsKatsumi Yamaoka2015-01-271-7/+4
|
* * lisp/emacs-lisp/cl-generic.el (cl--generic-method): New struct.Stefan Monnier2015-01-263-81/+104
| | | | | | | | | | | | | | | | | | | | | | | (cl--generic): The method-table is now a (list-of cl--generic-method). (cl--generic-member-method): New function. (cl-generic-define-method): Use it. (cl--generic-build-combined-method, cl--generic-cache-miss): Adapt to new method-table. (cl--generic-no-next-method-function): Add `method' argument. (cl-generic-call-method): Adapt to new method representation. (cl--generic-cnm-sample, cl--generic-nnm-sample): Adjust. (cl-find-method, cl-method-qualifiers): New functions. (cl--generic-method-info): Adapt to new method representation. Return a string for the qualifiers. (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class): Adjust accordingly. (eieio-all-generic-functions, eieio-method-documentation): Adjust to new method representation. * lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Use cl-find-method. * test/automated/cl-generic-tests.el: Try and make sure cl-lib is not required at run-time.
* * lisp/emacs-lisp/cl-generic.el: Add a method-combination hook.Stefan Monnier2015-01-263-107/+120
| | | | | | | | | | | | | | | | | | | | | | | | (cl-generic-method-combination-function): New var. (cl--generic-lambda): Remove `with-cnm' arg. (cl-defmethod): Change accordingly. (cl-generic-define-method): Don't check qualifiers validity. Preserve all qualifiers in `method-table'. (cl-generic-call-method): New function. (cl--generic-nest): Remove (morph into cl-generic-call-method). (cl--generic-build-combined-method): Adjust to new format of method-table and use cl-generic-method-combination-function. (cl--generic-standard-method-combination): New function, extracted from cl--generic-build-combined-method. (cl--generic-cnm-sample): Adjust to new format of method-table. * lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Use () qualifiers instead of :primary. * lisp/emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): Remove obsolete function. * test/automated/cl-generic-tests.el (cl-generic-test-11-next-method-p): New test.
* * lisp/emacs-lisp/cl-generic.el: Fix next-method-p testStefan Monnier2015-01-251-22/+34
| | | | | | | | | Fixes: debbugs:19672 * lisp/emacs-lisp/cl-generic.el (cl--generic-no-next-method-function): New. (cl--generic-build-combined-method, cl--generic-nnm-sample): Use it. (cl--generic-typeof-types): Add support for `sequence'. (cl-defmethod): Add non-keywords in the qualifiers.
* (find-function-regexp): Don't match `defgroup'Dmitry Gutov2015-01-251-1/+1
| | | | | * lisp/emacs-lisp/find-func.el (find-function-regexp): Don't match `defgroup' (regression from the previous change here).
* * lisp/emacs-lisp/cl-generic.el (cl-no-primary-method): New fun and error.Stefan Monnier2015-01-231-5/+13
| | | | (cl--generic-build-combined-method): Use it.
* Auto-commit of loaddefs files.Glenn Morris2015-01-222-3/+3
|
* Don't downcase system diagnostics' first lettersPaul Eggert2015-01-211-2/+2
| | | | | | | | | | | | | | | | | | * etc/NEWS: Document this. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): * lisp/ffap.el (find-file-at-point): * lisp/files.el (insert-file-1): * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory) (ange-ftp-copy-file-internal): * lisp/progmodes/etags.el (visit-tags-table): * lisp/url/url-dav.el (url-dav-delete-directory, url-dav-delete-file) (url-dav-directory-files): Keep diagnostics consistent with system's. * lisp/erc/erc-dcc.el (erc-dcc-server): * lisp/ffap.el (ffap-machine-p): Ignore case while comparing diagnostics. * src/fileio.c (report_file_errno): Don't downcase, and simplify. Fixes: bug#19642
* Avoid generating invalid usage info for pathological functionStefan Monnier2015-01-211-2/+3
| | | | | | | | Fixes: debbugs:19645 * lisp/help.el (help-make-usage): Don't turn a "_" arg into an empty-string. * lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Don't confuse a string body with a docstring.
* * lisp/emacs-lisp/eieio*.el: Fix up warnings and improve compatibilityStefan Monnier2015-01-218-202/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: debbugs:19645 * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add support for `declare'. (cl--generic-setf-rewrite): Setup the setf expander right away. (cl-defmethod): Make sure the setf expander is setup before we expand the body. (cl-defmethod): Silence byte-compiler warnings. (cl-generic-define-method): Shuffle code to change return value. (cl--generic-method-info): New function, extracted from cl--generic-describe. (cl--generic-describe): Use it. * lisp/emacs-lisp/eieio-speedbar.el: * lisp/emacs-lisp/eieio-datadebug.el: * lisp/emacs-lisp/eieio-custom.el: * lisp/emacs-lisp/eieio-base.el: Use cl-defmethod. * lisp/emacs-lisp/eieio-compat.el (eieio--defmethod): Avoid no-next-method errors when there's a `before' but no `primary'. (next-method-p): Return nil rather than signal an error. (eieio-defgeneric): Remove bogus (fboundp 'method). * lisp/emacs-lisp/eieio-opt.el: Adapt to cl-generic. (eieio--specializers-apply-to-class-p): New function. (eieio-all-generic-functions): Use it. (eieio-method-documentation): Use it as well as cl--generic-method-info. Change format of return value. (eieio-help-class): Adapt accordingly. * lisp/emacs-lisp/eieio.el: Use cl-defmethod. (defclass): Generate cl-defmethod calls; use setf methods for :accessor. (eieio-object-name-string): Declare as obsolete. * test/automated/cl-generic-tests.el (setf cl--generic-2): Make sure the setf can be used already in the body of the method.
* Auto-commit of loaddefs files.Glenn Morris2015-01-211-1/+22
|
* emacs-lisp/package.el (package-dir-info): Fix `while' logic.Artur Malabarba2015-01-201-3/+8
|