emacs/lisp/emacs-lisp
Stefan Monnier 2ee3d7f0aa Provide generalized variables in core Elisp.
* 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
2012-06-22 09:42:38 -04:00
..
.gitignore Nuke arch-tags. 2011-01-15 15:16:57 -08:00
advice.el Update Compilation and Advice chapters in Lisp manual. 2012-02-10 23:50:11 +08:00
authors.el Remove lib-src/vcdiff 2012-06-05 21:06:54 -04:00
autoload.el * lisp/emacs-lisp/autoload.el (make-autoload): Accept nil doc-string-elt. 2012-06-13 08:46:33 -04:00
avl-tree.el lisp/*: Add declarations, remove unused bindings, mark unused args. 2012-04-19 19:20:26 +02:00
backquote.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
benchmark.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
bindat.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
byte-opt.el * lisp/emacs-lisp/byte-opt.el (featurep): Move compiler-macro... 2012-06-13 09:16:34 -04:00
byte-run.el Fix return value of `defun' and un-define it. 2012-06-18 11:57:41 -04:00
bytecomp.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
cconv.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
chart.el Move define-obsolete-variable-alias before the var's definition. 2012-05-12 23:05:06 -04:00
check-declare.el Comment fix 2012-04-20 20:32:15 -04:00
checkdoc.el Add new error and function `user-error'. 2012-05-04 19:16:47 -04:00
cl-extra.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
cl-indent.el Add missing :version tags to new defgroups and defcustoms 2012-02-11 14:13:29 -08:00
cl-lib.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
cl-loaddefs.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
cl-macs.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
cl-seq.el Use lexical-binding for all of CL, and clean up its namespace. 2012-06-11 11:52:50 -04:00
cl.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
copyright.el Fix minor Y10k bugs. 2012-05-03 23:13:18 -07:00
crm.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
debug.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
derived.el Reduce use of cl in lisp/emacs-lisp/. 2012-06-10 09:28:26 -04:00
disass.el Cleanup cl-macs namespace. Add macro helpers in macroexp.el. 2012-06-07 15:25:48 -04:00
easy-mmode.el Reduce use of cl in lisp/emacs-lisp/. 2012-06-10 09:28:26 -04:00
easymenu.el Reduce use of cl in lisp/emacs-lisp/. 2012-06-10 09:28:26 -04:00
edebug.el * lisp/emacs-lisp/edebug.el (edebug-read-function): Remove old incorrect 2012-06-13 11:46:29 -04:00
eieio-base.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
eieio-custom.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
eieio-datadebug.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
eieio-opt.el * eieio-opt.el (describe-class, describe-generic): Autoload trivia. 2012-04-16 15:25:59 -04:00
eieio-speedbar.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
eieio.el Various minor variable/hook cleanups. 2012-06-12 13:47:14 +08:00
eldoc.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
elint.el * lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C. 2012-05-29 23:59:42 -04:00
elp.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
ert-x.el Header comment trivial fix 2012-04-16 15:21:32 -04:00
ert.el Remove * characters from the front of variable docstrings. 2012-04-09 21:05:48 +08:00
ewoc.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
find-func.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
find-gc.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
float-sup.el Clean up scoping rule of predefined single-word vars. 2012-06-08 09:18:26 -04:00
generic.el * lisp/emacs-lisp/lisp-mode.el (doc-string-elt): Move those properties to 2012-05-17 21:46:20 -04:00
gulp.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
gv.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
helper.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
lisp-mnt.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
lisp-mode.el * lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C. 2012-05-29 23:59:42 -04:00
lisp.el `narrow-to-defun' fixup 2012-04-11 04:12:20 +02:00
macroexp.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
map-ynp.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
package-x.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
package.el In the Package Menu, indicate packages that are newly-available. 2012-06-13 15:33:38 +08:00
pcase.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
pp.el lisp/emacs-lisp/pp.el: Do not reimplement common macros; use `looking-at-p'. 2012-02-05 03:09:35 +01:00
re-builder.el Remove incorrect uses of "modeline". 2012-06-02 18:56:09 +08:00
regexp-opt.el Call imagemagick-register-types automatically. 2012-04-16 11:47:43 +08:00
regi.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
ring.el Fix ring extension code in ring.el, and tweak comint-input-ring handling. 2012-03-15 16:00:43 +08:00
rx.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
shadow.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
smie.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
syntax.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
tabulated-list.el Adapt Electric Buffer Menu to recent Buffer Menu changes. 2012-05-13 22:23:45 +08:00
tcover-ses.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
tcover-unsafep.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
testcover.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
timer.el Provide generalized variables in core Elisp. 2012-06-22 09:42:38 -04:00
tq.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
trace.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
unsafep.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
warnings.el Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00