Commit graph

28 commits

Author SHA1 Message Date
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Stefan Monnier
39cb42c621 * lisp/emacs-lisp/gv.el (gv-ref): Mention lexbind restriction.
Fixes: debbugs:16153
2013-12-16 14:12:21 -05:00
Stefan Monnier
a35287ea23 * lisp/electric.el (electric-indent-local-mode): New minor mode.
(electric-indent-functions-without-reindent): New var.
(electric-indent-post-self-insert-function): Use it.
* lisp/emacs-lisp/gv.el (buffer-local-value): Add setter.
2013-11-05 21:10:18 -05:00
Stefan Monnier
52b1cc7915 * lisp/emacs-lisp/gv.el (gv-get): Warn about CL-compiled places. 2013-09-04 16:03:52 -04:00
Stefan Monnier
5514cc4c84 * lisp/emacs-lisp/timer.el (timer--time-setter): New function.
(timer--time): Use it as gv-setter.
* lisp/emacs-lisp/gv.el (gv-define-simple-setter): Output warning when
setter is not a symbol.
2013-08-12 22:30:52 -04:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Stefan Monnier
3a514ab07e Backport fix for bug#12879 from trunk
* lisp/emacs-lisp/gv.el (setf): Fix debug spec for multiple assignments
2012-11-14 20:27:52 -05:00
Stefan Monnier
9c3912d3d9 * lisp/emacs-lisp/gv.el (setf): Fix debug spec for multiple assignments.
Fixes: debbugs:12879
2012-11-13 20:12:52 -05:00
Glenn Morris
f78ee6afc0 Merge from emacs-24; up to 2012-11-09T14:45:15Z!dmantipov@yandex.ru 2012-11-12 18:25:59 -08:00
Stefan Monnier
f8705f6e31 * lisp/emacs-lisp/gv.el (gv-define-simple-setter): One more fix.
Fixes: debbugs:12871
2012-11-12 16:31:15 -05:00
Glenn Morris
6baf66d53b Merge from emacs-24; up to 2012-11-08T14:54:03Z!monnier@iro.umontreal.ca 2012-11-10 15:13:33 -08:00
Stefan Monnier
a9a5c7f690 * lisp/emacs-lisp/gv.el (gv-deref): Move setter declaration, to fix bootstrap. 2012-11-08 09:54:03 -05:00
Stefan Monnier
784c1a7b3a * lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. 2012-11-08 09:21:21 -05:00
Stefan Monnier
d14bb752ea * lisp/emacs-lisp/gv.el (gv-ref, gv-deref): New function and macro. 2012-11-08 08:34:06 -05:00
Stefan Monnier
4162672227 * lisp/emacs-lisp/gv.el (gv-define-simple-setter): Fix last change.
Fixes: debbugs:12812
2012-11-07 20:24:14 -05:00
Glenn Morris
2ee1d59f5b Small doc updates for generalized variables
* lisp/emacs-lisp/gv.el (gv-letplace): Fix doc typo.
(gv-define-simple-setter): Update doc of `fix-return'.

* doc/lispref/variables.texi (Adding Generalized Variables):
Update description of FIX-RETURN expansion.

* doc/misc/cl.texi (Obsolete Setf Customization):
Revert defsetf example to the more correct let rather than prog1.
2012-11-06 20:37:07 -08:00
Stefan Monnier
b715ed4447 * lisp/emacs-lisp/gv.el (gv-define-simple-setter): Don't evaluate `val'
twice when `fix-return' is set.

Fixes: debbugs:12813
2012-11-06 22:39:33 -05:00
Glenn Morris
6b3770fb9d * lisp/emacs-lisp/gv.el (gv-define-setter): Fix doc typo. 2012-11-05 20:36:44 -05:00
Stefan Monnier
90eacf9920 * lisp/emacs-lisp/gv.el (cond): Same fix as before for `if'.
* Makefile.in ($(MAKEFILE_NAME)): Depend on src/lisp.mk as well.
2012-10-18 08:56:10 -04:00
Stefan Monnier
5046ef67ca * lisp/emacs-lisp/gv.el (if): Don't use closures in non-lexical-binding code. 2012-10-13 21:39:56 -04:00
Stefan Monnier
07b1a5fbc3 * lisp/emacs-lisp/testcover.el (testcover-after): Add gv-expander.
(testcover-reinstrument): Simplify with CSE.
2012-09-26 10:41:05 -04:00
Chong Yidong
0c765e5f57 Fix two references to deleted obsolete variables.
Also, fix the copyright header for lisp/emacs-lisp/gv.el.

* lisp/vc/log-edit.el (log-edit-require-final-newline)
(log-edit-changelog-full-paragraphs): Default to t.
2012-09-24 20:31:24 +08:00
Stefan Monnier
35e62fc984 * lisp/files.el (read-only-mode): New minor mode.
(toggle-read-only): Use it and mark obsolete.
(find-file--read-only):
* lisp/vc/vc.el (vc-next-action, vc-checkout):
* lisp/vc/vc-cvs.el (vc-cvs-checkout):
* lisp/obsolete/vc-mcvs.el (vc-mcvs-update):
* lisp/ffap.el (ffap--toggle-read-only): Update callers.
2012-08-29 11:11:51 -04:00
Stefan Monnier
7abaf5ccc9 Autoload more carefully from Lisp. Follow aliases for function properties.
* lisp/subr.el (autoloadp): New function.
(symbol-file): Use it.
(function-get): New function.
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Use function-get and
autoload-do-load.
* lisp/emacs-lisp/lisp-mode.el (lisp-font-lock-syntactic-face-function)
(lisp-indent-function):
* lisp/emacs-lisp/gv.el (gv-get):
* lisp/emacs-lisp/edebug.el (get-edebug-spec, edebug-basic-spec):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form):
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
* lisp/emacs-lisp/autoload.el (make-autoload, autoload-print-form):
Use function-get.
* lisp/emacs-lisp/cl.el: Don't propagate function properties any more.

* src/eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
add argument, tune behavior, and adjust all callers.

* lisp/speedbar.el (speedbar-add-localized-speedbar-support):
* lisp/emacs-lisp/disass.el (disassemble-internal):
* lisp/desktop.el (desktop-load-file):
* lisp/help-fns.el (help-function-arglist, find-lisp-object-file-name)
(describe-function-1):
* lisp/emacs-lisp/find-func.el (find-function-noselect):
* lisp/emacs-lisp/elp.el (elp-instrument-function):
* lisp/emacs-lisp/advice.el (ad-has-proper-definition):
* lisp/apropos.el (apropos-safe-documentation, apropos-macrop):
* lisp/emacs-lisp/debug.el (debug-on-entry):
* lisp/emacs-lisp/cl-macs.el (cl-compiler-macroexpand):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
* lisp/calc/calc.el (name): Use autoloadp & autoload-do-load.
2012-07-25 21:27:33 -04:00
Stefan Monnier
2519d43af2 * lisp/emacs-lisp/gv.el (cond): Make it a valid place.
(if): Simplify slightly.
2012-07-10 07:27:27 -04:00
Stefan Monnier
36cec983d4 Further GV/CL cleanups.
* lisp/emacs-lisp/gv.el (gv-get): Autoload functions to find their
gv-expander.
(gv--defun-declaration): New function.
(defun-declarations-alist): Use it.
(gv-define-modify-macro, gv-pushnew!, gv-inc!, gv-dec!): Remove.
(gv-place): Autoload.
* lisp/emacs-lisp/cl.el (cl--dotimes, cl--dolist): Remember subr.el's
original definition of dotimes and dolist.
* lisp/emacs-lisp/cl-macs.el (cl-expr-access-order): Remove unused.
(cl-dolist, cl-dotimes): Use `dolist' and `dotimes'.
* lisp/emacs-lisp/cl-lib.el: Move gv handlers from cl-macs to here.
(cl-fifth, cl-sixth, cl-seventh, cl-eighth)
(cl-ninth, cl-tenth): Move gv handler to the function's definition.
* lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-get, cl-getf): Move gv handler
to the function's definition.
* lisp/Makefile.in (COMPILE_FIRST): Re-order to speed it up by about 50%.
* lisp/window.el:
* lisp/files.el:
* lisp/faces.el:
* lisp/env.el: Don't use CL.
2012-06-22 17:24:54 -04:00
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