summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
| |
* | lisp/emacs-lisp/eieio*.el: Rewrite our generics on top of cl-genericStefan Monnier2015-01-207-949/+356
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/eieio-generic.el: Remove. (defgeneric, defmethod): Move to eieio-compat.el. Mark obsolete. * lisp/emacs-lisp/eieio-compat.el: New file. * lisp/emacs-lisp/eieio.el: Don't require eieio-generic any more. * lisp/emacs-lisp/eieio-core.el (eieio--slot-originating-class-p): Remove unused function. (eieio-defclass): Move to eieio-compat.el. * lisp/emacs-lisp/macroexp.el (macroexp-macroexpand): New function. (macroexp--expand-all): Use it. * lisp/emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel): Here too.
* | eldoc: modify `eldoc-documentation-function' using `add-function'Michal Nazarewicz2015-01-201-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Describe how major modes should use `add-function' to alter value of the variable. * lisp/hexl.el (hexl-mode): Set `eldoc-documentation-function' using `add-function' so the default value is always used. * lisp/ielm.el (inferior-emacs-lisp-mode): Set `eldoc-documentation-function' using `add-function' so the default value is always used. * lisp/progmodes/cfengine.el (cfengine3-mode): Set `eldoc-documentation-function' using `add-function' so the default value is always used. * lisp/progmodes/elisp-mode (emacs-lisp-mode): Set `eldoc-documentation-function' using `add-function' so the default value is always used. * lisp/progmodes/octave.el (octave-mode): Set `eldoc-documentation-function' using `add-function' so the default value is always used. * lisp/progmodes/python.el (python-mode): Set `eldoc-documentation-function' using `add-function' so the default value is always used. * lisp/simple.el (read--expression): Set `eldoc-documentation-function' using `add-function' so the default value is always used.
* | * lisp/emacs-lisp/eieio-core.el: Add `subclass' specializer for cl-generic.Stefan Monnier2015-01-181-0/+25
| | | | | | | | | | | | | | | | | | (eieio--generic-subclass-tagcode, eieio--generic-subclass-tag-types): New functions. (cl-generic-tagcode-function, cl-generic-tag-types-function): Use them. * test/automated/eieio-test-methodinvoke.el (eieio-test-cl-generic-1): Test `subclass' specializer.
* | EIEIO&cl-generic: Add obsolescence warnings and fix corner caseStefan Monnier2015-01-183-10/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Correctly handle introduction of a new dispatch argument. (cl--generic-cache-miss): Handle dispatch on an argument which was not considered as dispatchable for this method. (cl-defmethod): Warn when adding a method to an obsolete generic function. (cl--generic-lambda): Make sure it works if cl-lib is not yet loaded. * lisp/emacs-lisp/eieio-generic.el (eieio--defgeneric-init-form): Use autoloadp. * lisp/emacs-lisp/eieio.el (defclass): Add obsolescence warning for the `newname' argument. * test/automated/cl-generic-tests.el (cl-generic-test-10-weird): New test. Rename other tests to preserve ordering.
* | (package--append-to-alist): Updated docstring due to new name.Artur Malabarba2015-01-181-3/+5
| |
* | package.el (package--append-to-alist): Renamed from `add-to-alist'Artur Malabarba2015-01-181-3/+3
| |
* | Fix seq-subseq and cl-subseq for bad bounding indicesLeo Liu2015-01-182-25/+12
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: debbugs:19434 debbugs:19519 * lisp/emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq and fix multiple evaluation. * lisp/emacs-lisp/seq.el (seq-subseq): Throw bad bounding indices error. * test/automated/seq-tests.el (test-seq-subseq): Add more tests.
* | * lisp/emacs-lisp/cl-generic.el: Add support for cl-next-method-p.Stefan Monnier2015-01-172-14/+66
| | | | | | | | | | | | | | | | | | | | | | (cl-defmethod): Add edebug spec. (cl--generic-build-combined-method): Fix call to cl-no-applicable-method. (cl--generic-nnm-sample, cl--generic-cnm-sample): New constant. (cl--generic-isnot-nnm-p): New function. (cl--generic-lambda): Use it to add support for cl-next-method-p. (cl-no-next-method, cl-no-applicable-method): Simplify arg list. (cl-next-method-p): New function.
* | * lisp/emacs-lisp/eieio-core.el (eieio--class-constructor): Rename.Stefan Monnier2015-01-174-9/+6
| | | | | | | | | | | | | | Fixes: debbugs:19620 (eieio--class-constructor): Rename from class-constructor, and make it an alias for `identity'. Update all callers.
* | * lisp/emacs-lisp/eieio.el: Improve `constructor' compatibility.Stefan Monnier2015-01-172-7/+9
| | | | | | | | | | | | | | | | | | | | Fixes: debbugs:19620 (eieio-constructor): Handle obsolete object name argument here... (defclass): ...instead of in the constructor here. * test/automated/eieio-tests.el (eieio-test-37-obsolete-name-in-constructor): New test.
* | Type fix for defcustom.Jorgen Schaefer2015-01-171-1/+2
| | | | | | | | | | * emacs-lisp/package.el (package-archive-priorities): Specify correct type.