| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\|
| |
| |
| |
| |
| |
| | |
bb7b23c In `debug' don't try using window on inaccessible frame (Bug#17170).
Conflicts:
lisp/ChangeLog
|
| |
| |
| |
| |
| | |
* emacs-lisp/debug.el (debug): Don't try using "previous"
window when its not live or on an invisible frame (Bug#17170).
|
| |
| |
| |
| |
| |
| |
| | |
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)
|
| |
| |
| |
| |
| | |
* emacs-lisp/authors.el (authors-ignored-files)
(authors-renamed-files-alist): Additions.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/authors.el (authors-obsolete-files-regexps)
(authors-valid-file-names, authors-renamed-files-alist): Additions.
|
| |
| |
| |
| |
| |
| |
| | |
* 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)
|
| | |
|
| |
| |
| |
| | |
Run admin/update-copyright.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/lisp-mode.el
(lisp--el-non-funcall-position-p): New function.
(lisp--el-match-keyword): Use it.
|
| |
| |
| |
| |
| | |
* emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-1): Also
recognize (cl-)defmethod with (setf method) name.
|
| |
| |
| |
| |
| | |
* emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-1): Fix
false positive in function name font-locking.
|
| |
| |
| |
| |
| | |
* emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-1): Fix
false positive in function name font-locking.
|
| |
| |
| |
| |
| |
| |
| | |
Fixes: debbugs:20149
* lisp/emacs-lisp/cl-macs.el (cl-defsubst): Ignore false-positive
occurrences of args via &cl-defs.
|
| | |
|
| |
| |
| |
| | |
* lisp/emacs-lisp/eieio.el (object-slots): Return slot names as before.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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'.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)".
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* emacs-lisp/lisp-mode.el (lisp--el-macro-regexp): New defconst.
(lisp--el-update-macro-regexp, lisp--el-update-after-load)
(lisp--el-match-macro): New functions.
(lisp-mode-variables): Update lisp--el-macro-regexp and add
lisp--el-update-after-load to after-load-functions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/cl-indent.el
(lisp-indent-backquote-substitution-mode): New user option.
(common-lisp-indent-function-1, common-lisp-loop-part-indentation)
(common-lisp-indent-function): Support normally indenting
backquote substitutions.
(extended-loop-p): Rename to `lisp-extended-loop-p'.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/seq.el: Make seq-into a public function (replacing
seq--into)
* test/automated/seq-tests.el: Add tests for seq-into
* doc/lispref/sequences.texi: Add documentation for seq-into
|
| |
| |
| |
| |
| | |
unfold `closure's since byte-compile-unfold-lambda doesn't know how to
do it.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/cl-generic.el (cl--generic-generalizer): New struct.
(cl-generic-tagcode-function, cl-generic-tag-types-function): Remove.
(cl--generic-t-generalizer): New const.
(cl--generic-make-method): Rename from `cl--generic-method-make'.
(cl--generic-make): Change calling convention.
(cl--generic): Add `options' field.
(cl-generic-function-options): New function.
(cl-defgeneric): Rewrite handling of options. Add support for :method
options and allow the use of a default body.
(cl-generic-define): Save options in the corresponding new field.
(cl-defmethod): Fix ordering of qualifiers.
(cl-generic-define-method): Use cl-generic-generalizers.
(cl--generic-get-dispatcher): Change calling convention, and change
calling convention of the returned function as well so as to take the
list of methods separately from the generic function object, so that it
can receive the original generic function object.
(cl--generic-make-next-function): New function, extracted from
cl--generic-make-function.
(cl--generic-make-function): Use it.
(cl-generic-method-combination-function): Remove.
(cl--generic-cyclic-definition): New error.
(cl-generic-call-method): Take a generic function object rather than
its name.
(cl-method-qualifiers): New alias.
(cl--generic-build-combined-method): Use cl-generic-combine-methods,
don't segregate by qualifiers here any more.
(cl--generic-standard-method-combination): Segregate by qualifiers
here instead. Add support for the `:extra' qualifier.
(cl--generic-cache-miss): Move earlier, adjust to new calling convention.
(cl-generic-generalizers, cl-generic-combine-methods):
New generic functions.
(cl-no-next-method, cl-no-applicable-method, cl-no-primary-method):
Use the new "default method in defgeneric" functionality, change
calling convention to receive a generic function object.
(cl--generic-head-used): New var.
(cl--generic-head-generalizer, cl--generic-eql-generalizer)
(cl--generic-struct-generalizer, cl--generic-typeof-generalizer):
New consts.
* lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
(eieio--generic-subclass-generalizer): New consts.
(cl-generic-generalizers): New methods.
* lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-generalizer)
(eieio--generic-static-object-generalizer): New consts.
(cl-generic-generalizers) <(head eieio--static)>: New method.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Unfold closures like lambdas.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/generator.el: (iter-defun): Use `macroexp-parse-body'.
* test/automated/generator-tests.el (cps-testcase): Use
(cps-test-declarations-preserved): New test.
|
| |
| |
| |
| |
| |
| | |
Fixes: debbugs:19966
* lisp/emacs-lisp/gv.el (gv-ref): Warn about likely problematic cases.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* doc/lispref/control.texi (Generators): Correct missing word. Clarify which
forms are legal in which parts of `unwind-protect'. Fix orphaned
close parenthesis.
* lisp/emacs-lisp/generator.el: Make globals conform to elisp
style throughout. Use more efficient font-lock patterns.
(cps-inhibit-atomic-optimization): Rename from
`cps-disable-atomic-optimization'.
(cps--gensym): New macro; replaces `cl-gensym' throughout.
(cps-generate-evaluator): Move the `iter-yield' local macro
definition here
(iter-defun, iter-lambda): from here.
* test/automated/generator-tests.el (cps-test-iter-close-finalizer):
Rename `gc-precise-p' to `gc-precise'.
* test/automated/generator-tests.el (cps-testcase): Use
`cps-inhibit-atomic-optimization' instead of
`cps-disable-atomic-optimization'.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/generator.el: Make globals conform to elisp
style throughout.
|
| | |
|
| | |
|
| |
| |
| |
| | |
* lisp/emacs-lisp/cl-macs.el (cl-iter-defun): Add cl-iter-defun.
|
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/generator.el (iter-defun): Correctly propagate
docstrings and declarations to underlying function.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 78f7e34..e7d79d5 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-02 Daniel Colascione <dancol@dancol.org>
+
+ * control.texi (Generators): New section
+ * elisp.text: Reference new section.
+
2015-02-28 Eli Zaretskii <eliz@gnu.org>
* searching.texi (Char Classes): Update the documentation of
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 448c7f2..4e9c119 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
+2015-03-02 Daniel Colascione <dancol@dancol.org>
+
+ * cl.texi (Iteration Clauses): Mention iterator support.
+
2015-02-25 Tassilo Horn <tsdh@gnu.org>
* reftex.texi (Multifile Documents): Document
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7ce2e81..4ab4406 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,6 +1,8 @@
2015-03-02 Daniel Colascione <dancol@dancol.org>
- * vc/vc.el (vc-responsible-backend): Add autoload cooking for
+ * emacs-lisp/generator.el: New file.
+
+ * vc/vc.el (vc-responsible-backend): Add autoload cookie for
`vc-responsible-backend'.
2015-03-01 Michael Albinus <michael.albinus@gmx.de>
diff --git a/test/ChangeLog b/test/ChangeLog
index 684e98f..64ad851 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,5 +1,7 @@
2015-03-02 Daniel Colascione <dancol@dancol.org>
+ * automated/generator-tests.el: New tests
+
* automated/finalizer-tests.el (finalizer-basic)
(finalizer-circular-reference, finalizer-cross-reference)
(finalizer-error): New tests.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/emacs-lisp/check-declare.el (check-declare-warn): Add
file-line-column info to the warning.
(check-declare-files): Make sure that `check-declare-warning-buffer'
is in `compilation-mode'. Make the order of the errors that same as in
the file. Add code to ensure that `first-error' will work properly.
|
| |
| |
| |
| |
| |
| |
| | |
* emacs-lisp/check-declare.el (check-declare): New defgroup.
(check-declare-verify): When `check-declare-ext-errors' is non-nil,
warn about an unfound function, instead of saying "skipping external
file".
|
| |
| |
| |
| |
| |
| |
| | |
Fixes: debbugs:19611
* lisp/emacs-lisp/debug.el (debugger-env-macro): Remove redundant
save-excursion.
|
| |
| |
| |
| |
| |
| |
| | |
and :documentation. Change return value format accordingly.
* lisp/emacs-lisp/cl-generic.el (cl--generic-lambda):
* lisp/emacs-lisp/pcase.el (pcase-lambda): Adjust accordingly.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Use macroexp-parse-body.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* lisp/cedet/semantic/doc.el (semantic-documentation-comment-preceding-tag):
Rename from semantic-documentation-comment-preceeding-tag. All
uses changed. Leave an obsolete alias behind.
* src/lisp.h (DEFINE_NON_NIL_Q_SYMBOL_MACROS):
Rename from DEFINE_NONNIL_Q_SYMBOL_MACROS. All uses changed.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Fixes: debbugs:19891
* lisp/emacs-lisp/eieio-opt.el (eieio-help-class): `eieio-class-parents'
returns classes, not class names.
|
| | |
|