1. 22 Apr, 2014 2 commits
    • Daniel Colascione's avatar
      Optimize cl-struct-slot-value; fix test · 66fda794
      Daniel Colascione authored
      2014-04-22  Daniel Colascione  <dancol@dancol.org>
      
      	* emacs-lisp/cl-macs.el
      	(cl-struct-sequence-type,cl-struct-slot-info): Declare pure.
      	(cl-struct-slot-value): Conditionally use aref or nth so that the
      	compiler produces optimal code.
      
      2014-04-22  Daniel Colascione  <dancol@dancol.org>
      
      	* automated/cl-lib.el (cl-lib-struct-accessors): Fix test to
      	account for removal of `cl-struct-set-slot-value'.
      66fda794
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el (cl-struct-slot-offset): Mark as pure. · d6f14ca7
      Stefan Monnier authored
      (cl--set-elt): Don't proclaim as inline.
      (cl-struct-slot-value): Remove explicit gv-setter and compiler-macro.
      Define as inlinable instead.
      (cl-struct-set-slot-value): Remove.
      * doc/misc/cl.texi (Structures): Remove cl-struct-set-slot-value.
      * lisp/emacs-lisp/cl-lib.el (cl--set-elt): Remove.
      * lisp/emacs-lisp/cl-seq.el (cl-replace, cl-substitute, cl-nsubstitute):
      Use setf instead.
      d6f14ca7
  2. 21 Apr, 2014 2 commits
  3. 20 Apr, 2014 2 commits
  4. 24 Mar, 2014 2 commits
  5. 23 Mar, 2014 2 commits
  6. 21 Feb, 2014 1 commit
  7. 23 Jan, 2014 1 commit
  8. 01 Jan, 2014 1 commit
  9. 07 Nov, 2013 2 commits
  10. 28 Sep, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el: · 3b7b2692
      Stefan Monnier authored
      (cl--loop-destr-temps): Remove.
      (cl--loop-iterator-function): Rename from cl--loop-map-form and change
      its convention.
      (cl--loop-set-iterator-function): New function.
      (cl-loop): Adjust accordingly, so as not to use cl-subst.
      (cl--parse-loop-clause): Adjust all uses of cl--loop-map-form.
      Bind `it' with `let' instead of substituting it with `cl-subst'.
      (cl--unused-var-p): New function.
      (cl--loop-let): Don't use the cl--loop-destr-temps hack any more.
      Eliminate some unused variable warnings.
      
      Fixes: debbugs:15326
      3b7b2692
  11. 25 Sep, 2013 1 commit
  12. 19 Sep, 2013 1 commit
  13. 29 Aug, 2013 1 commit
  14. 13 Aug, 2013 1 commit
  15. 12 Jul, 2013 1 commit
  16. 25 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/package.el: Include obsolete packages from archives. · 12059709
      Stefan Monnier authored
      Use lexical-binding.
      (package-archive-contents): Change format; include obsolete packages.
      (package-desc): Use `dir' to mark builtin packages.
      (package--from-builtin): Set the `dir' field to `builtin'.
      (generated-autoload-file, version-control): Declare.
      (package-compute-transaction): Change first arg and return value to be
      lists of package-descs.  Adjust to new package-archive-contents format.
      (package--add-to-archive-contents): Adjust to new
      package-archive-contents format.
      (package-download-transaction): Arg is now a list of package-descs.
      (package-install): If `pkg' is a package name, pass it as
      a requirement, so it is subject to the usual (e.g. disabled) checks.
      (describe-package): Accept package-desc as well.
      (describe-package-1): Describe a specific package-desc.  Add links to
      other package-descs for the same package name.
      (package-menu-describe-package): Pass the actual package-desc.
      (package-menu-mode): Add to tabulated-list-revert-hook so revert-buffer
      works correctly.
      (package-desc-status): New function.
      (package-menu--refresh): New function, extracted
      from package-menu--generate.
      (package-menu--generate): Use it.
      (package-delete): Update package-alist.
      (package-menu-execute): Don't call package-initialize.
      
      * lisp/progmodes/idlw-toolbar.el, lisp/progmodes/idlw-shell.el,
      lisp/progmodes/idlw-help.el, lisp/progmodes/idlw-complete-structtag.el,
      lisp/progmodes/ebnf-yac.el, lisp/progmodes/ebnf-otz.el,
      lisp/progmodes/ebnf-iso.el, lisp/progmodes/ebnf-ebx.el,
      lisp/progmodes/ebnf-dtd.el, lisp/progmodes/ebnf-bnf.el,
      lisp/progmodes/ebnf-abn.el, lisp/emacs-lisp/package-x.el,
      lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el
      lisp/cedet/data-debug.el, lisp/cedet/cedet-idutils.el:
      Neuter the "Version:" header.
      12059709
  17. 20 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-loaddefs.el: Don't version-control any more. · aff6371e
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-lib.el: Load cl-macs when cl-loaddefs is not
      yet available.
      * lisp/Makefile.in (AUTOGEN_VCS): Move cl-loaddefs.el...
      (AUTOGENEL): ... here.
      * lisp/emacs-lisp/cl-macs.el (cl--sublis): New function.
      (cl--defsubst-expand): Use it.
      * .bzrignore: Don't unignore cl-loaddefs.el.
      aff6371e
  18. 12 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/help-fns.el (help-fns--compiler-macro): If the handler function is · cf4e5178
      Stefan Monnier authored
      named, then put a link to it.
      * lisp/help-mode.el (help-function-cmacro): Adjust regexp for cl-lib names.
      * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-typep): New function.
      (cl-typep): Use it.
      (cl-eval-when): Simplify debug spec.
      (cl-define-compiler-macro): Use eval-and-compile.  Give a name to the
      compiler-macro function instead of setting `compiler-macro-file'.
      cf4e5178
  19. 05 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      Fix compilation error with simultaneous dynamic+lexical scoping. · 208d0342
      Stefan Monnier authored
      Add warning when a defvar appears after the first let-binding.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lexical-variables): New var.
      (byte-compile-close-variables): Initialize it.
      (byte-compile--declare-var): New function.
      (byte-compile-file-form-defvar)
      (byte-compile-file-form-define-abbrev-table)
      (byte-compile-file-form-custom-declare-variable): Use it.
      (byte-compile-make-lambda-lexenv): Change the argument.  Simplify.
      (byte-compile-lambda): Share call to byte-compile-arglist-vars.
      (byte-compile-bind): Handle dynamic bindings that shadow
      lexical bindings.
      (byte-compile-unbind): Make arg non-optional.
      (byte-compile-let): Simplify.
      * lisp/emacs-lisp/cconv.el (byte-compile-lexical-variables): Declare var.
      (cconv--analyse-function, cconv-analyse-form): Populate it.
      Protect byte-compile-bound-variables to limit the scope of defvars.
      (cconv-analyse-form): Add missing rule for (defvar <foo>).
      Remove unneeded rule for `declare'.
      
      * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): Use macroexp-let2
      so as to avoid depending on cl-adjoin at run-time.
      * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use backquotes.
      
      * lisp/emacs-lisp/macroexp.el (macroexp--compiling-p): New function.
      (macroexp--warn-and-return): Use it.
      208d0342
  20. 10 May, 2013 1 commit
  21. 20 Feb, 2013 1 commit
    • Glenn Morris's avatar
      Make cl-floatp-safe just an alias for floatp · 1dfcc79e
      Glenn Morris authored
      * lisp/emacs-lisp/cl-lib.el (cl-floatp-safe): Make it an alias for floatp.
      
      * lisp/emacs-lisp/cl-macs.el (cl--make-type-test)
      (cl--compiler-macro-assoc): Use floatp rather than cl-floatp-safe.
      
      * doc/misc/cl.texi: Remove commented out sections about cl-floatp-safe.
      1dfcc79e
  22. 01 Jan, 2013 1 commit
  23. 07 Dec, 2012 1 commit
  24. 06 Dec, 2012 1 commit
    • Stefan Monnier's avatar
      Further cleanup of the "cl-" namespace. Fit CL in 80 columns. · 338bfefa
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-macs.el (cl--pop2, cl--optimize-safety)
      (cl--optimize-speed, cl--not-toplevel, cl--parse-loop-clause)
      (cl--expand-do-loop, cl--proclaim-history, cl--declare-stack)
      (cl--do-proclaim, cl--proclaims-deferred): Rename from the "cl-" prefix.
      (cl-progv): Don't rely on dynamic scoping to find the body.
      * lisp/emacs-lisp/cl-lib.el (cl--optimize-speed, cl--optimize-safety)
      (cl--proclaims-deferred): Rename from the "cl-" prefix.
      (cl-declaim): Use backquotes.
      * lisp/emacs-lisp/cl-extra.el (cl-make-random-state, cl-random-state-p):
      Use "cl--" prefix for the object's tag.
      338bfefa
  25. 24 Nov, 2012 1 commit
  26. 15 Nov, 2012 3 commits
  27. 13 Nov, 2012 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl.el (dolist, dotimes, declare): Use advice-add to · 413d4689
      Stefan Monnier authored
      override the default.
      * lisp/emacs-lisp/cl-macs.el (cl-dolist, cl-dotimes): Rewrite without using
      cl--dotimes/dolist.
      * lisp/subr.el (dolist, dotimes, declare): Redefine them normally, even when
      `cl' is loaded.
      
      * lisp/emacs-lisp/nadvice.el (advice--normalize): New function, extracted
      from add-advice.
      (advice--strip-macro): New function.
      (advice--defalias-fset): Use them to handle macros.
      (advice-add): Use them.
      (advice-member-p): Correctly handle macros.
      413d4689
  28. 05 Nov, 2012 1 commit
    • Glenn Morris's avatar
      Misc small cl doc fixes · 5593ed90
      Glenn Morris authored
      * emacs-lisp/cl-extra.el (cl-maplist, cl-mapcan): Doc fix.
      
      * emacs-lisp/cl-extra.el (cl-prettyexpand):
      * emacs-lisp/cl-lib.el (cl-proclaim, cl-declaim):
      * emacs-lisp/cl-macs.el (cl-destructuring-bind, cl-locally)
      (cl-the, cl-compiler-macroexpand): Add basic doc strings.
      5593ed90
  29. 03 Nov, 2012 2 commits
  30. 25 Oct, 2012 1 commit
    • Glenn Morris's avatar
      More cl doc updates · a05cb6e3
      Glenn Morris authored
      * doc/misc/cl.texi: Don't mess with the TeX section number counter.
      Use Texinfo recommended convention for quotes+punctuation.
      (Overview, Sequence Functions): Rephrase for better line-breaking.
      (Time of Evaluation, Type Predicates, Modify Macros, Function Bindings)
      (Macro Bindings, Conditionals, Iteration, Loop Basics)
      (Random Numbers, Mapping over Sequences, Structures)
      (Porting Common Lisp): Further updates for cl-lib namespace.
      (Modify Macros, Declarations, Macro Bindings, Structures):
      Break long lines in examples.
      (Dynamic Bindings): Update for changed progv behavior.
      (Loop Examples, Efficiency Concerns): Markup fixes.
      (Structures): Remove TeX margin change.
      
      * lisp/emacs-lisp/cl-macs.el (cl-progv): Doc fix.
      
      * etc/NEWS: Related markup.
      a05cb6e3
  31. 11 Oct, 2012 1 commit