1. 22 Jun, 2012 1 commit
    • Stefan Monnier's avatar
      Provide generalized variables in core Elisp. · 2ee3d7f0
      Stefan Monnier authored
      * lisp/emacs-lisp/gv.el: New file.
      * lisp/subr.el (push, pop): Extend to generalized variables.
      * lisp/loadup.el (macroexp): Unload if preloaded and uncompiled.
      * lisp/emacs-lisp/cl-lib.el (cl-pop, cl-push, cl--set-nthcdr): Remove.
      * lisp/emacs-lisp/cl-macs.el: Require gv.  Use gv-define-setter,
      gv-define-simple-setter, and gv-define-expander.
      Remove setf-methods defined in gv.  Rename cl-setf -> setf.
      (cl-setf, cl-do-pop, cl-get-setf-method): Remove.
      (cl-letf, cl-letf*, cl-define-modify-macro, cl-defsetf)
      (cl-define-setf-expander, cl-struct-setf-expander): Move to cl.el.
      (cl-remf, cl-shiftf, cl-rotatef, cl-callf, cl-callf2): Rewrite with
      gv-letplace.
      (cl-defstruct): Don't define setf-method any more.
      * lisp/emacs-lisp/cl.el (flet): Don't autoload.
      (cl--letf, letf, cl--letf*, letf*, cl--gv-adapt)
      (define-setf-expander, defsetf, define-modify-macro)
      (cl-struct-setf-expander): Move from cl-lib.el.
      * lisp/emacs-lisp/syntax.el:
      * lisp/emacs-lisp/ewoc.el:
      * lisp/emacs-lisp/smie.el:
      * lisp/emacs-lisp/cconv.el:
      * lisp/emacs-lisp/timer.el: Rename cl-setf -> setf, cl-push -> push.
      (timer--time): Use gv-define-simple-setter.
      * lisp/emacs-lisp/macroexp.el (macroexp-let2): Rename from macroexp-let²
      to avoid coding-system problems in subr.el.  Adjust all users.
      (macroexp--maxsize, macroexp-small-p): New functions.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't use cl-letf.
      * lisp/scroll-bar.el (scroll-bar-mode):
      * lisp/simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode)
      (normal-erase-is-backspace-mode): Don't use the `eq' place.
      * lisp/winner.el (winner-configuration, winner-make-point-alist)
      (winner-set-conf, winner-get-point, winner-set): Don't abuse letf.
      * lisp/files.el (locate-file-completion-table): Avoid list*.
      
      Fixes: debbugs:11657
      2ee3d7f0
  2. 15 Jun, 2012 1 commit
  3. 14 Jun, 2012 1 commit
  4. 13 Jun, 2012 1 commit
  5. 12 Jun, 2012 1 commit
  6. 11 Jun, 2012 2 commits
    • Stefan Monnier's avatar
      Fix compiler-expansion of CL's cXXr functions. · 71adb94b
      Stefan Monnier authored
      * emacs-lisp/cl-lib.el (cl--defalias): New function.
      (cl-values, cl-values-list, cl-copy-seq, cl-svref, cl-first)
      (cl-second, cl-rest, cl-endp, cl-third, cl-fourth): Use it.
      (cl-plusp, cl-minusp, cl-fifth, cl-sixth, cl-seventh, cl-eighth)
      (cl-ninth, cl-tenth): Mark them as inlinable.
      (cl-caaar, cl-caadr, cl-cadar, cl-caddr, cl-cdaar, cl-cdadr)
      (cl-cddar, cl-cdddr, cl-caaaar, cl-caaadr, cl-caadar, cl-caaddr)
      (cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr, cl-cdaaar, cl-cdaadr)
      (cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr, cl-cdddar, cl-cddddr):
      Add a compiler-macro declaration to use cl--compiler-macro-cXXr.
      (cl-list*, cl-adjoin): Don't put an autoload manually.
      * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin)
      (cl--compiler-macro-list*): Add autoload cookie.
      (cl--compiler-macro-cXXr): New function.
      * help-fns.el (help-fns--compiler-macro): New function extracted from
      describe-function-1; follow aliases and use `compiler-macro' property.
      (describe-function-1): Use it.
      
      Fixes: debbugs:11673
      71adb94b
    • Stefan Monnier's avatar
      Use lexical-binding for all of CL, and clean up its namespace. · bb3faf5b
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-lib.el: Use lexical-binding.
      (cl-map-extents, cl-maclisp-member): Remove.
      (cl--set-elt, cl--set-nthcdr, cl--set-buffer-substring)
      (cl--set-substring, cl--block-wrapper, cl--block-throw)
      (cl--compiling-file, cl--mapcar-many, cl--do-subst): Use "cl--" prefix.
      * lisp/emacs-lisp/cl-extra.el: Use lexical-binding.
      (cl--mapcar-many, cl--map-keymap-recursively, cl--map-intervals)
      (cl--map-overlays, cl--set-frame-visible-p, cl--progv-save)
      (cl--progv-before, cl--progv-after, cl--finite-do, cl--set-getf)
      (cl--do-remf, cl--do-prettyprint): Use "cl--" prefix.
      * lisp/emacs-lisp/cl-seq.el: Use lexical-binding.
      (cl--parsing-keywords, cl--check-key, cl--check-test-nokey)
      (cl--check-test, cl--check-match): Use "cl--" prefix and backquotes.
      (cl--alist, cl--sublis-rec, cl--nsublis-rec, cl--tree-equal-rec):
      * lisp/emacs-lisp/cl-macs.el (cl--lambda-list-keywords): Use "cl--" prefix.
      * lisp/edmacro.el (edmacro-mismatch): Simplify to remove dependence on
      CL's internals.
      bb3faf5b
  7. 09 Jun, 2012 1 commit
    • Stefan Monnier's avatar
      Don't autoload functions too eagerly during macroexpansion. · d9857e53
      Stefan Monnier authored
      * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Only autoload
      a function if there's a clear indication that it has a compiler-macro.
      * lisp/emacs-lisp/byte-run.el (defun-declarations-alist, defmacro, defun)
      (macro-declarations-alist): Add arglist to declaration functions.
      (defun-declarations-alist): Add `obsolete' and `compiler-macro'.
      * lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc):
      * lisp/emacs-lisp/cl-lib.el (cl-list*, cl-adjoin):
      * lisp/emacs-lisp/cl-extra.el (cl-get): Use the new `declare' statement.
      Also add autoload to find the compiler macro.
      * lisp/emacs-lisp/cl-macs.el (eql) [compiler-macro]: Remove.
      (cl--compiler-macro-member, cl--compiler-macro-assoc)
      (cl--compiler-macro-adjoin, cl--compiler-macro-list*)
      (cl--compiler-macro-get): New functions, replacing calls to
      cl-define-compiler-macro.
      (cl-typep) [compiler-macro]: Use macroexp-let².
      d9857e53
  8. 08 Jun, 2012 3 commits
    • Stefan Monnier's avatar
      Clean up scoping rule of predefined single-word vars. · 513749ee
      Stefan Monnier authored
      * lisp/startup.el (argv, argi): Make lexically scoped.
      * lisp/emacs-lisp/float-sup.el (pi): Use internal-make-var-non-special.
      * lisp/emacs-lisp/cl-macs.el: Use lexical-binding.
      Rename cl-bind-* to cl--bind-*.
      * lisp/files.el: Don't require `cl' since it doesn't use it.
      * lisp/emacs-lisp/pcase.el, lisp/emacs-lisp/macroexp.el: Add coding cookie.
      * src/eval.c (Fmake_var_non_special): New primitive.
      (syms_of_eval): Defsubr it.
      * src/lread.c (syms_of_lread): Mark `values' as lexically scoped.
      513749ee
    • Eli Zaretskii's avatar
      Mention in "C-u C-x =" display how to insert the character w/o input methods. · e9f66fcb
      Eli Zaretskii authored
       lisp/descr-text.el (describe-char): Mention how to insert the
       character, if the current input method doesn't support it.
       See the discussion in this thread for the details:
       http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00533.html.
      e9f66fcb
    • Stefan Monnier's avatar
      Get rid of cl-lexical-let, keeping only lexical-let for compatibility. · de7e2b36
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-macs.el: Provide itself.
      (cl--labels-convert-cache): New var.
      (cl--labels-convert): New function.
      (cl-flet, cl-labels): New implementation with new semantics, relying on
      lexical-binding.
      * lisp/emacs-lisp/cl.el: Mark compatibility aliases as obsolete.
      (cl-closure-vars, cl--function-convert-cache)
      (cl--function-convert): Move from cl-macs.el.
      (lexical-let, lexical-let*, flet, labels): Move from cl-macs.el and
      rename by removing the "cl-" prefix.
      * lisp/emacs-lisp/macroexp.el (macroexp-unprogn): New function.
      de7e2b36
  9. 07 Jun, 2012 2 commits
    • Stefan Monnier's avatar
      Move old compatiblity to cl.el. Remove cl-macroexpand-all. · 6fa6c4ae
      Stefan Monnier authored
      * emacs-lisp/cl-extra.el (cl-map-keymap, cl-copy-tree)
      (cl-not-hash-table, cl-builtin-gethash, cl-builtin-remhash)
      (cl-builtin-clrhash, cl-builtin-maphash, cl-gethash, cl-puthash)
      (cl-remhash, cl-clrhash, cl-maphash, cl-make-hash-table)
      (cl-hash-table-p, cl-hash-table-count): Move to cl.el.
      (cl-macroexpand-cmacs): Remove var.
      (cl-macroexpand-all, cl-macroexpand-body): Remove funs.
      Use macroexpand-all instead.
      
      * emacs-lisp/cl-lib.el (cl-macro-environment): Remove decl.
      (cl-macroexpand): Move to cl-macs.el and rename to cl--sm-macroexpand.
      (cl-member): Remove old alias.
      
      * emacs-lisp/cl-macs.el (cl-macro-environment): Remove var.
      Use macroexpand-all-environment instead.
      (cl--old-macroexpand): New var.
      (cl--sm-macroexpand): New function.
      (cl-symbol-macrolet): Use it during macro expansion.
      (cl--function-convert-cache): New var.
      (cl--function-convert): New function, extracted from
      cl-macroexpand-all.
      (cl-lexical-let): Use it.
      
      * emacs-lisp/cl.el (cl-macroexpand, cl-macro-environment)
      (cl-macroexpand-all, cl-not-hash-table, cl-builtin-gethash)
      (cl-builtin-remhash, cl-builtin-clrhash, cl-builtin-maphash)
      (cl-map-keymap, cl-copy-tree, cl-gethash, cl-puthash, cl-remhash)
      (cl-clrhash, cl-maphash, cl-make-hash-table, cl-hash-table-p)
      (cl-hash-table-count): Add old compatibility aliases.
      6fa6c4ae
    • Stefan Monnier's avatar
      Cleanup cl-macs namespace. Add macro helpers in macroexp.el. · 4dd1c416
      Stefan Monnier authored
      * emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*, macroexp-if)
      (macroexp-let², macroexp--const-symbol-p, macroexp-const-p)
      (macroexp-copyable-p): New functions and macros.
      * emacs-lisp/edebug.el (edebug-unwrap):
      * emacs-lisp/disass.el (disassemble-internal): Use macroexp-progn.
      * emacs-lisp/pcase.el: Use macroexp-let*, macroexp-if, ...
      (pcase--let*): Remove.
      * emacs-lisp/bytecomp.el (byte-compile-const-symbol-p)
      (byte-compile-constp): Remove.  Use macroexp--const-symbol-p and
      macroexp-const-p instead.
      * emacs-lisp/byte-opt.el: Use macroexp-const-p and macroexp-progn.
      
      * emacs-lisp/cl-macs.el: Clean up the name space by using "cl--"
      instead of "cl-" for internal definitions.  Use macroexp-const-p.
      (cl-old-bc-file-form): Remove var.
      (cl-const-exprs-p): Remove fun.
      (cl-labels, cl-macrolet): Use backquote.
      (cl-lexical-let): Use cl-symbol-macrolet.  Don't use cl-defun-expander.
      (cl-defun-expander, cl-byte-compile-compiler-macro): Remove fun.
      (cl-define-setf-expander): Rename from cl-define-setf-method.
      * emacs-lisp/cl.el: Adjust alias for define-setf-method.
      
      * international/mule-cmds.el: Don't require CL.
      (view-hello-file): Don't use `letf'.
      4dd1c416
  10. 05 Jun, 2012 1 commit
  11. 04 Jun, 2012 1 commit
  12. 02 Jun, 2012 1 commit
  13. 01 Jun, 2012 1 commit
  14. 18 May, 2012 2 commits
    • Glenn Morris's avatar
      Auto-commit of loaddefs files. · f467fdc6
      Glenn Morris authored
      f467fdc6
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to · b581bb5c
      Stefan Monnier authored
      their respective macro declarations.
      * lisp/skeleton.el (define-skeleton):
      * lisp/progmodes/compile.el (define-compilation-mode):
      * lisp/ibuf-macs.el (define-ibuffer-sorter, define-ibuffer-op)
      (define-ibuffer-filter):
      * lisp/emacs-lisp/generic.el (define-generic-mode):
      * lisp/emacs-lisp/easy-mmode.el (define-minor-mode)
      (define-globalized-minor-mode):
      * lisp/emacs-lisp/cl-macs.el (defun*, defmacro*, defstruct, deftype):
      * lisp/emacs-lisp/byte-run.el (defsubst):
      * lisp/custom.el (deftheme): Add doc-string metadata.
      b581bb5c
  15. 17 May, 2012 2 commits
  16. 06 May, 2012 1 commit
    • Chong Yidong's avatar
      * lisp/buff-menu.el: Convert to Tabulated List mode. · e5f9458f
      Chong Yidong authored
      (Buffer-menu-buffer+size-width): Make obsolete.
      (Buffer-menu-name-width, Buffer-menu-size-width): New variables.
      (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map.
      (Buffer-menu-mode): Derive from tabulated-list-mode.  Move command
      documentation into docstring of buffer-menu.
      (Buffer-menu-toggle-files-only): Add an informative message.
      (Buffer-menu-sort): Convert to alias for tabulated-list-sort.
      (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark)
      (Buffer-menu-unmark, Buffer-menu-backup-unmark)
      (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified)
      (Buffer-menu-execute, Buffer-menu-select)
      (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only)
      (Buffer-menu-bury): Use Tabulated List machinery.
      (Buffer-menu-mouse-select, Buffer-menu-sort-by-column)
      (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button):
      Deleted.
      (list-buffers--refresh): New function.
      (list-buffers-noselect): Use it.
      (tabulated-list-entry-size->, Buffer-menu--pretty-name)
      (Buffer-menu--pretty-file-name): New helper functions.
      
      * lisp/loadup.el: Preload tabulated-list.
      
      * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from
      tabulated-list-sort-column.
      (tabulated-list-init-header): Add the initial aligning space even
      if tabulated-list-padding is zero.
      
      * src/lisp.mk (lisp): Update.
      e5f9458f
  17. 26 Apr, 2012 1 commit
    • Stefan Monnier's avatar
      * lisp/vc/vc-mtn.el: · 0d42eb3e
      Stefan Monnier authored
      * lisp/vc/vc-hg.el:
      * lisp/vc/vc-git.el:
      * lisp/vc/vc-dir.el:
      * lisp/vc/vc-cvs.el:
      * lisp/vc/vc-bzr.el:
      * lisp/vc/vc-arch.el:
      * lisp/vc/vc.el: Replace lexical-let by lexical-binding.
      * lisp/minibuffer.el (lazy-completion-table): Avoid ((λ ...) ...).
      * lisp/emacs-lisp/cl-macs.el (lexical-let): Fix use in lexical-binding.
      * lisp/emacs-lisp/cconv.el (cconv-analyse-form): Warn use of ((λ ...) ...).
      0d42eb3e
  18. 17 Apr, 2012 1 commit
  19. 12 Jan, 2012 1 commit
  20. 05 Jan, 2012 1 commit
  21. 27 Oct, 2011 1 commit
  22. 26 Aug, 2011 1 commit
  23. 05 Aug, 2011 1 commit
  24. 03 Aug, 2011 1 commit
  25. 17 Jul, 2011 1 commit
  26. 15 Jul, 2011 2 commits
  27. 02 Jun, 2011 1 commit
  28. 01 Apr, 2011 1 commit
    • Stefan Monnier's avatar
      Miscellanous cleanups in preparation for the merge. · 7200d79c
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
      Remove debug statement.
      * lisp/emacs-lisp/bytecomp.el (byte-compile-single-version)
      (byte-compile-version-cond, byte-compile-delay-out)
      (byte-compile-delayed-out): Remove, unused.
      * src/bytecode.c (Fbyte_code): Revert to old calling convention.
      * src/lisp.h (COMPILED_PUSH_ARGS): Remove, unused.
      7200d79c
  29. 16 Mar, 2011 1 commit
    • Stefan Monnier's avatar
      Remove bytecomp- prefix, plus misc changes. · ca105506
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Make it work to
      inline lexbind interpreted functions into lexbind code.
      (bytedecomp-bytes): Not a dynamic var any more.
      (disassemble-offset): Get the bytes via an argument instead.
      (byte-decompile-bytecode-1): Use push.
      * lisp/emacs-lisp/bytecomp.el: Remove the bytecomp- prefix now that we use
      lexical-binding.
      (byte-compile-outbuffer): Rename from bytecomp-outbuffer.
      * lisp/emacs-lisp/cl-macs.el (load-time-value):
      * lisp/emacs-lisp/cl.el (cl-compiling-file): Adjust to new name.
      * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
      Add byte-code-function-p.
      (pcase--u1): Remove left-over code from early development.
      Fix case of variable shadowing in guards and predicates.
      (pcase--u1): Add a new `let' pattern.
      * src/image.c (parse_image_spec): Use Ffunctionp.
      * src/lisp.h: Declare Ffunctionp.
      ca105506
  30. 11 Mar, 2011 2 commits
    • Stefan Monnier's avatar
      Misc fixes, and use lexical-binding in more files. · ba83908c
      Stefan Monnier authored
      * lisp/subr.el (letrec): New macro.
      (with-wrapper-hook): Move from lisp/simple.el and don't use CL.
      * simple.el (with-wrapper-hook): Move with-wrapper-hook to subr.el.
      * lisp/help-fns.el (help-function-arglist): Handle subroutines as well.
      (describe-variable): Use special-variable-p to filter completions.
      * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Don't expand `declare'
      in defmacros.
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
      Handle `declare'.
      * lisp/emacs-lisp/cl.el (pushnew): Silence unfixable warning.
      * lisp/emacs-lisp/cl-macs.el (defstruct, define-compiler-macro):
      Mark unused arg as unused.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Use memq.
      * lisp/emacs-lisp/autoload.el (make-autoload): Don't assume the macro's
      first sexp is a list.
      (autoload-generate-file-autoloads): Improve error message.
      * lisp/emacs-lisp/advice.el (ad-arglist): Use help-function-arglist
      to understand the new byte-code arg format.
      * lisp/vc/smerge-mode.el:
      * lisp/vc/log-view.el:
      * lisp/vc/log-edit.el:
      * lisp/vc/cvs-status.el:
      * lisp/uniquify.el:
      * lisp/textmodes/css-mode.el:
      * lisp/textmodes/bibtex-style.el:
      * lisp/reveal.el:
      * lisp/newcomment.el:
      * lisp/emacs-lisp/smie.el:
      * lisp/abbrev.el: Use lexical-binding.
      * src/eval.c (Fprog1, Fprog2): Simplify and use XCDR/XCAR.
      (Fdefvar): Remove redundant SYMBOLP check.
      (Ffunctionp): Don't signal an error for undefined aliases.
      * doc/lispref/variables.texi (Converting to Lexical Binding): New node.
      ba83908c
    • Juanma Barranquero's avatar
      Backport 2011-03-01T03:59:31Z!lekktu@gmail.com from trunk. · 9c5047fb
      Juanma Barranquero authored
      *lisp/emacs-lisp/cl-macs.el (lexical-let*): Fix argument name in docstring.
      9c5047fb
  31. 01 Mar, 2011 1 commit
  32. 25 Feb, 2011 1 commit
    • Stefan Monnier's avatar
      Get rid of funvec. · 876c194c
      Stefan Monnier authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Handle new form of
      `byte-constant'.
      (byte-compile-close-variables, displaying-byte-compile-warnings):
      Add edebug spec.
      (byte-compile-toplevel-file-form): New fun, split out of
      byte-compile-file-form.
      (byte-compile-from-buffer): Use it to avoid applying cconv
      multiple times.
      (byte-compile): Only strip `function' if it's present.
      (byte-compile-lambda): Add `reserved-csts' argument.
      Use new lexenv arg of byte-compile-top-level.
      (byte-compile-reserved-constants): New var.
      (byte-compile-constants-vector): Obey it.
      (byte-compile-constants-vector): Handle new `byte-constant' form.
      (byte-compile-top-level): Add args `lexenv' and `reserved-csts'.
      (byte-compile-form): Don't check callargs here.
      (byte-compile-normal-call): Do it here instead.
      (byte-compile-push-unknown-constant)
      (byte-compile-resolve-unknown-constant): Remove, unused.
      (byte-compile-make-closure): Use `make-byte-code' rather than `curry',
      putting the environment into the "constant" pool.
      (byte-compile-get-closed-var): Use special byte-constant.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Handle new
      intermediate special form `internal-make-vector'.
      (byte-optimize-lapcode): Handle new form of `byte-constant'.
      * lisp/help-fns.el (describe-function-1): Don't handle funvecs.
      * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Only convert quote to
      function if the content is a lambda expression, not if it's a closure.
      * emacs-lisp/eieio-come.el: Remove.
      * lisp/emacs-lisp/eieio.el: Don't require eieio-comp.
      (defmethod): Do a bit more work to find the body and wrap it into
      a function before passing it to eieio-defmethod.
      (eieio-defmethod): New arg `code' for it.
      * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Don't hide things in
      debugger backtrace.
      * lisp/emacs-lisp/cl-extra.el (cl-macroexpand-all): Use backquotes, and be
      more careful when quoting a function value.
      * lisp/emacs-lisp/cconv.el (cconv-freevars): Accept defvar/defconst.
      (cconv-closure-convert-rec): Catch stray `internal-make-closure'.
      * lisp/Makefile.in (COMPILE_FIRST): Compile pcase and cconv early.
      
      * src/eval.c (Qcurry): Remove.
      (funcall_funvec): Remove.
      (funcall_lambda): Move new byte-code handling to reduce impact.
      Treat all args as lexical in the case of lexbind.
      (Fcurry): Remove.
      * src/data.c (Qfunction_vector): Remove.
      (Ffunvecp): Remove.
      * src/lread.c (read1): Revert to calling make_byte_code here.
      (read_vector): Don't call make_byte_code any more.
      * src/lisp.h (enum pvec_type): Rename back to PVEC_COMPILED.
      (XSETCOMPILED): Rename back from XSETFUNVEC.
      (FUNVEC_SIZE): Remove.
      (FUNVEC_COMPILED_TAG_P, FUNVEC_COMPILED_P): Remove.
      (COMPILEDP): Rename back from FUNVECP.
      * src/fns.c (Felt): Remove unexplained FUNVEC check.
      * src/doc.c (Fdocumentation): Don't handle funvec.
      * src/alloc.c (make_funvec, Ffunvec): Remove.
      * doc/lispref/vol2.texi (Top):
      * doc/lispref/vol1.texi (Top):
      * doc/lispref/objects.texi (Programming Types, Funvec Type, Type Predicates):
      * doc/lispref/functions.texi (Functions, What Is a Function, FunctionCurrying):
      * doc/lispref/elisp.texi (Top): Remove mentions of funvec and curry.
      876c194c