summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
...
* emacs-lisp/package.el: Async support in download-transactionArtur Malabarba2015-04-061-34/+59
|
* Rationalize use of c[ad]+r, expunging cl-c[ad]\{3,4\}r.Alan Mackenzie2015-04-053-82/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also expunge eudc-c[ad]+r. * subr.el (internal--compiler-macro-cXXr): "New" function, copied from cl--compiler-macro-cXXr. (caar, cadr, cdar, cddr): Change from defsubsts to defuns with the above compiler-macro. * net/eudc.el (eudc-cadr, eudc-cdar, eudc-caar, eudc-cdaar): Remove. * emacs-lisp/cl.el (Top level dolist doing defaliases): Remove caaar, etc., from list of new alias functions. * emacs-lisp/cl-lib.el (cl-caaar, etc): Rename to caaar, etc. (gen-cXXr--rawname, gen-cXXr-all-cl-aliases): New function/macro which generate obsolete cl- aliases for caaar, etc. Invoke them. * desktop.el: * edmacro.el: * emacs-lisp/cl-macs.el: * frameset.el: * ibuffer.el: * mail/footnote.el: * net/dbus.el: * net/eudc-export.el: * net/eudc.el: * net/eudcb-ph.el: * net/rcirc.el: * net/secrets.el: * play/5x5.el: * play/decipher.el: * play/hanoi.el: * progmodes/hideif.el: * ses.el: Replace cl-caaar, eudc-cadr, etc. with caaar and cadr, etc.
* emacs-lisp/package.el: Add package-initialize to user-init-file.Artur Malabarba2015-04-051-0/+26
|
* emacs-lisp/package.el: Prevent outdated downloads-in-progress.Artur Malabarba2015-04-051-1/+9
|
* (package--with-work-buffer-async): Protect macro arguments.Artur Malabarba2015-04-041-17/+21
|
* emacs-lisp/package.el: Don't overwrite downloads-in-progress.Artur Malabarba2015-04-041-1/+3
|
* * lisp/emacs-lisp/lisp-mnt.el (lm-version): Don't burp in a non-file buffer.Stefan Monnier2015-04-021-2/+4
|
* * emacs-lisp/package.el: Spelling fixes and use active voice.Paul Eggert2015-04-011-14/+13
|
* * emacs-lisp/package.el: Make package-menu asynchronous.Artur Malabarba2015-04-011-31/+62
| | | | | | | | | | (package-menu-async): New variable. Controls whether `list-packages' is asynchronous. (list-packages): Now asynchronous by default. (package-menu--new-package-list): Always buffer-local. (package-menu--post-refresh) (package-menu--find-and-notify-upgrades) (package-menu--populate-new-package-list): New functions.
* * emacs-lisp/package.el: Implement asynchronous refreshing.Artur Malabarba2015-04-011-51/+132
| | | | | | | | | | | (package--with-work-buffer-async) (package--check-signature-content) (package--update-downloads-in-progress): New functions. (package--check-signature, package--download-one-archive) (package--download-and-read-archives, package-refresh-contents): Optional arguments for async usage. (package--post-download-archives-hook): New variable. Hook run after every refresh.
* Let jit-lock know the result of font-lock-extend-region-functions.Stefan Monnier2015-03-301-1/+2
| | | | | | | | | | | | | | * lisp/jit-lock.el (jit-lock--run-functions): New function. (jit-lock-fontify-now): Use it. Handle fontification bounds more precisely in case the backend functions fontify more than requested. Don't round up to whole lines since that shouldn't be needed any more. * lisp/font-lock.el (font-lock-fontify-region-function): Adjust docstring. (font-lock-inhibit-thing-lock): Make obsolete. (font-lock-default-fontify-region): Return the bounds actually used. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value): Fix compilation error.
* Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacsArtur Malabarba2015-03-311-0/+9
|\
| * * eieio-base.el (make-instance) <eieio-named>: New instance.Stefan Monnier2015-03-301-0/+9
| |
* | emacs-lisp/package.el: Reorganize package.elArtur Malabarba2015-03-311-710/+786
|/ | | | Reorganize package.el and divide it with page-breaks and comments
* Merge from origin/emacs-24Paul Eggert2015-03-291-2/+2
|\ | | | | | | | | | | | | | | | | | | | | 5e0314f * smie.el (smie*ward-sexp-command): Don't pretend the arg is optional 13cf575 Don't round up scroll bar width with GTK3 (Bug#20182). 921dd0d * doc/lispref/objects.texi (Equality Predicates): Fix typo in example. Conflicts: doc/lispref/ChangeLog lisp/ChangeLog src/ChangeLog
| * * smie.el (smie*ward-sexp-command): Don't pretend the arg is optionalStefan Monnier2015-03-261-2/+2
| | | | | | | | | | | | | | Fixes: debbugs:20205 * lisp/emacs-lisp/smie.el (smie-backward-sexp-command) (smie-forward-sexp-command): Don't pretend the arg is optional.
| * authors.el small additionsGlenn Morris2015-03-221-0/+2
| | | | | | | | | | * lisp/emacs-lisp/authors.el (authors-aliases) (authors-obsolete-files-regexps): Additions.
* | * lisp/emacs-lisp/package.el (package-refresh-contents): Fix spelling errorJan D2015-03-281-1/+1
| |
* | Fixes: debbugs:17879Jan D2015-03-281-1/+2
| | | | | | | | | | * lisp/emacs-lisp/package.el (package-refresh-contents): Add a message at the end so it does not appear to have hanged.
* | * lisp/emacs-lisp/cl|eieio: Minor tweaksStefan Monnier2015-03-262-3/+3
| | | | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Silence byte-compiler. * lisp/emacs-lisp/eieio.el (defclass): Change internal name so as to make sure only EIEIO files should have "eieio--" prefixes in their .elc.
* | * etc/TODO: Remove obsolete entries.Stefan Monnier2015-03-251-2/+2
| |
* | emacs-lisp/checkdoc.el: Don't complain about args starting with _.Artur Malabarba2015-03-251-2/+3
| |
* | * lisp/emacs-lisp/seq.el: Documentation improvementsNicolas Petton2015-03-251-2/+2
| |
* | Add cl-struct specific optimizations to pcase.Stefan Monnier2015-03-232-4/+49
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl--struct-all-parents) (cl--pcase-mutually-exclusive-p): New functions. (pcase--mutually-exclusive-p): Advise to optimize cl-struct patterns. * lisp/emacs-lisp/pcase.el (pcase--split-pred): Handle quoted string.
* | Add new `cl-struct' and `eieio' pcase patterns.Stefan Monnier2015-03-234-14/+99
| | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-macs.el (cl-struct): New pcase pattern. * lisp/emacs-lisp/eieio.el (eieio-pcase-slot-index-table) (eieio-pcase-slot-index-from-index-table): New functions. (eieio): New pcase pattern. * lisp/emacs-lisp/pcase.el (pcase--make-docstring): New function. (pcase): Use it to build the docstring. (pcase-defmacro): Make sure the macro is lazy-loaded. (\`): Move its docstring from `pcase'.
* | Merge from origin/emacs-24Paul Eggert2015-03-231-2/+4
|\| | | | | | | | | | | | | bb7b23c In `debug' don't try using window on inaccessible frame (Bug#17170). Conflicts: lisp/ChangeLog
| * In `debug' don't try using window on inaccessible frame (Bug#17170).Martin Rudalics2015-03-221-2/+4
| | | | | | | | | | * emacs-lisp/debug.el (debug): Don't try using "previous" window when its not live or on an invisible frame (Bug#17170).
| * Fix problems caused by calling 'recenter' in auto-revert (Bug#20122)Mario Lang2015-03-211-1/+2
| | | | | | | | | | | | | | lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Only call `recenter' if `current-buffer' is equal to `window-buffer'. (cherry picked from commit 4a8160204325c4b955647fe9e0a944c1f8c705dd)
| * authors.el: Add missing ignored and renamed filesNicolas Petton2015-02-041-0/+2
| | | | | | | | | | * emacs-lisp/authors.el (authors-ignored-files) (authors-renamed-files-alist): Additions.
| * authors.el: backport some additionsGlenn Morris2015-02-011-1/+4
| | | | | | | | | | * lisp/emacs-lisp/authors.el (authors-obsolete-files-regexps) (authors-valid-file-names, authors-renamed-files-alist): Additions.
| * Backport: Add an extra column for Version in list-packages tableSteve Purcell2015-01-061-1/+1
| | | | | | | | | | | | | | * emacs-lisp/package.el (package-menu-mode): Use an extra column for the "Version" column, to accomodate date-and-time-based versions. (cherry picked from commit eaf25ad549dc5a9b26089f588e0a80268708a3d1)
| * Auto-commit of loaddefs files.Glenn Morris2015-01-021-2/+2
| |
| * Update copyright year to 2015Paul Eggert2015-01-0175-75/+76
| | | | | | | | Run admin/update-copyright.
* | Fix previous commit (again)Daniel Colascione2015-03-231-13/+16
| |
* | Fix previous commitDaniel Colascione2015-03-231-25/+25
| |
* | Try to avoid fontifying macros in funcall positionDaniel Colascione2015-03-231-1/+35
| | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): New function. (lisp--el-match-keyword): Use it.
* | Handle setf methods in elisp font-locking.Tassilo Horn2015-03-211-7/+10
| | | | | | | | | | * emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-1): Also recognize (cl-)defmethod with (setf method) name.
* | Fix CL function name font-lock bug.Tassilo Horn2015-03-201-4/+7
| | | | | | | | | | * emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-1): Fix false positive in function name font-locking.
* | Fix elisp function name font-lock bug.Tassilo Horn2015-03-201-7/+11
| | | | | | | | | | * emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-1): Fix false positive in function name font-locking.
* | (cl-defsubst): Ignore false-positive occurrences of args via &cl-defsStefan Monnier2015-03-201-1/+2
| | | | | | | | | | | | | | Fixes: debbugs:20149 * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Ignore false-positive occurrences of args via &cl-defs.
* | * lisp/emacs-lisp/pcase.el (pcase-lambda): Rewrite.Stefan Monnier2015-03-191-16/+19
| |
* | Fixes: debbugs:20141Stefan Monnier2015-03-191-2/+3
| | | | | | | | * lisp/emacs-lisp/eieio.el (object-slots): Return slot names as before.
* | EIEIO: Change class's representation to unify instance & class slotsStefan Monnier2015-03-188-662/+482
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/eieio-core.el (eieio--class): Change field names and order to match those of cl--class; use cl--slot for both instance slots and class slots. (eieio--object-num-slots): Use cl-struct-slot-info. (eieio--object-class): Rename from eieio--object-class-object. (eieio--object-class-name): Remove. (eieio-defclass-internal): Adjust to new slot representation. Store doc in class rather than in `variable-documentation'. (eieio--perform-slot-validation-for-default): Change API to take a slot object. (eieio--slot-override): New function. (eieio--add-new-slot): Rewrite. (eieio-copy-parents-into-subclass): Rewrite. (eieio--validate-slot-value, eieio--validate-class-slot-value) (eieio-oref-default, eieio-oset-default) (eieio--class-slot-name-index, eieio-set-defaults): Adjust to new slot representation. (eieio--c3-merge-lists): Simplify. (eieio--class/struct-parents): New function. (eieio--class-precedence-bfs): Use it. * lisp/emacs-lisp/eieio.el (with-slots): Use macroexp-let2. (object-class-fast): Change recommend replacement. (eieio-object-class): Rewrite. (slot-exists-p): Adjust to new slot representation. (initialize-instance): Adjust to new slot representation. (object-write): Adjust to new slot representation. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object): Manually map initargs to slot names. (eieio-persistent-validate/fix-slot-value): Adjust to new slot representation. * lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-specializers): Extract from eieio--generic-static-symbol-generalizer. (eieio--generic-static-symbol-generalizer): Use it. * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-create) (eieio-object-value-get): Adjust to new slot representation. * lisp/emacs-lisp/eieio-datadebug.el (data-debug/eieio-insert-slots): Declare to silence warnings. (data-debug-insert-object-button): Avoid `object-slots'. (data-debug/eieio-insert-slots): Adjust to new slot representation. * lisp/emacs-lisp/eieio-opt.el (eieio--help-print-slot): New function extracted from eieio-help-class-slots. (eieio-help-class-slots): Use it. Adjust to new slot representation. * test/automated/eieio-test-methodinvoke.el (make-instance): Use new-style `subclass' specializer for a change. * test/automated/eieio-test-persist.el (persist-test-save-and-compare): Adjust to new slot representation. * test/automated/eieio-tests.el (eieio-test-17-virtual-slot): Don't use initarg in `oset'. (eieio-test-32-slot-attribute-override-2): Adjust to new slot representation. * lisp/emacs-lisp/cl-preloaded.el (cl--class): Fix type of `parents'.
* | * cl-generic.el (cl-generic-generalizers): Clean up after braindamageStefan Monnier2015-03-181-2/+2
| |
* | Add classes as run-time descriptors of cl-structs.Stefan Monnier2015-03-185-147/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class): New function. (cl--make-slot-desc): New constructor. (cl--plist-remove, cl--struct-register-child): New functions. (cl-struct-define): Rewrite. (cl-structure-class, cl-structure-object, cl-slot-descriptor) (cl--class): New structs. (cl--struct-default-parent): Initialize it here. * lisp/emacs-lisp/cl-macs.el (cl--find-class): New macro. (cl-defsubst, cl--defsubst-expand, cl--sublis): Move before first use. (cl--struct-default-parent): New var. (cl-defstruct): Adjust to new representation of classes; add default parent. In accessors, signal `wrong-type-argument' rather than a generic error. (cl-struct-sequence-type, cl-struct-slot-info) (cl-struct-slot-offset): Rewrite. * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-specializers) (cl-generic-generalizers): Rewrite. * src/alloc.c (purecopy): Handle hash-tables. * lisp/emacs-lisp/debug.el (debug--implement-debug-on-entry): Bind inhibit-debug-on-entry here... (debug): Instead of here. * lisp/emacs-lisp/macroexp.el (macroexp--debug-eager): New var. (internal-macroexpand-for-load): Use it. * lwlib/xlwmenu.c (pop_up_menu): Remove debugging code.
* | Improve dynamic elisp keyword font-lockingTassilo Horn2015-03-182-34/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * emacs-lisp/byte-run.el (macro-declarations-alist): New declaration no-font-lock-keyword. (defmacro): Flush font-lock in existing elisp buffers. * emacs-lisp/lisp-mode.el (lisp--el-update-after-load) (lisp--el-update-macro-regexp, lisp--el-macro-regexp): Delete functions and defconst. (lisp--el-match-keyword): Rename from lisp--el-match-macro. (lisp--el-font-lock-flush-elisp-buffers): New function. (lisp-mode-variables): Remove code for updating lisp--el-macro-regexp, and add lisp--el-font-lock-flush-elisp-buffers to after-load-functions.
* | * cl-macs.el (cl--transform-lambda): Refine last change.Stefan Monnier2015-03-171-11/+15
| | | | | | | | | | | | | | | | | | | | Fixes: debbugs:20125 * test/automated/cl-lib-tests.el: Use lexical-binding. (cl-lib-arglist-performance): Refine test to the case where one of the fields has a non-nil default value. Use existing `mystruct' defstruct. (cl-lib-struct-accessors): Use `pcase' to be a bit more flexible in the accepted outputs.
* | Edebug: Allow "S" to work during trace mode. Fixes debbugs #20074.Alan Mackenzie2015-03-161-16/+12
| | | | | | | | | | | | | | | | | | Also display the overlay arrow in go and go-nonstop modes. * emacs-lisp/edebug.el (edebug--display-1): Move the `input-pending' test to after trace mode's `sit-for'. (edebug--recursive-edit): Insert "(sit-for 0)" after "(edebug-overlay-arrow)".
* | * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Optimize &aux.Stefan Monnier2015-03-162-49/+100
| | | | | | | | | | | | | | | | Rework to avoid cl--do-arglist in more cases; add comments to explain what's going on. (cl--do-&aux): New function extracted from cl--do-arglist. (cl--do-arglist): Use it. * lisp/emacs-lisp/cl-generic.el: Add Version: header, for ELPA purposes.
* | Make Edebug work with Follow Mode.Alan Mackenzie2015-03-161-34/+0
| | | | | | | | | | | | | | | | * emacs-lisp/edebug.el (edebug--display-1): Remove call to edebug-adjust-window. (edebug--recursive-edit): Don't bind pre/post-command-hooks to nil over the recursive edit. (edebug-adjust-window): Remove.