Paul Eggert
c87523bd8d
text-quoting-style in emacs-lisp diagnostics
...
* lisp/emacs-lisp/advice.el (ad-read-advised-function)
(ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
(ad-disable-advice, ad-remove-advice, ad-set-argument)
(ad-set-arguments):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
(byte-compile-unfold-lambda, byte-optimize-form-code-walker)
(byte-optimize-while, byte-optimize-apply):
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
(byte-compile-log-file, byte-compile-format-warn)
(byte-compile-nogroup-warn, byte-compile-arglist-warn)
(byte-compile-cl-warn)
(byte-compile-warn-about-unresolved-functions)
(byte-compile-file, byte-compile-fix-header)
(byte-compile--declare-var, byte-compile-file-form-defmumble)
(byte-compile-form, byte-compile-normal-call)
(byte-compile-variable-ref, byte-compile-variable-set)
(byte-compile-subr-wrong-args, byte-compile-setq-default)
(byte-compile-negation-optimizer)
(byte-compile-condition-case--old)
(byte-compile-condition-case--new, byte-compile-save-excursion)
(byte-compile-defvar, byte-compile-autoload)
(byte-compile-lambda-form)
(byte-compile-make-variable-buffer-local, display-call-tree)
(batch-byte-compile):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
(cconv-analyze-form):
* lisp/emacs-lisp/chart.el (chart-space-usage):
* lisp/emacs-lisp/check-declare.el (check-declare-scan)
(check-declare-warn, check-declare-file)
(check-declare-directory):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
(checkdoc-message-text-engine):
* lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
(cl-symbol-macrolet):
* lisp/emacs-lisp/cl.el (cl-unload-function, flet):
* lisp/emacs-lisp/copyright.el (copyright)
(copyright-update-directory):
* lisp/emacs-lisp/edebug.el (edebug-read-list):
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
* lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
(eieio-oref, eieio-oset-default):
* lisp/emacs-lisp/eieio-speedbar.el:
(eieio-speedbar-child-make-tag-lines)
(eieio-speedbar-child-description):
* lisp/emacs-lisp/eieio.el (defclass, change-class):
* lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
(elint-init-form, elint-check-defalias-form)
(elint-check-let-form):
* lisp/emacs-lisp/ert.el (ert-get-test):
* lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
(find-function-library):
* lisp/emacs-lisp/generator.el (iter-yield):
* lisp/emacs-lisp/gv.el (gv-define-simple-setter):
* lisp/emacs-lisp/lisp-mnt.el (lm-verify):
* lisp/emacs-lisp/package-x.el (package-upload-file):
* lisp/emacs-lisp/package.el (package-version-join)
(package-disabled-p, package-activate-1, package-activate)
(package--download-one-archive)
(package--download-and-read-archives)
(package-compute-transaction, package-install-from-archive)
(package-install, package-install-selected-packages)
(package-delete, package-autoremove)
(package-install-button-action, package-delete-button-action)
(package-menu-hide-package, package-menu--list-to-prompt)
(package-menu--perform-transaction)
(package-menu--find-and-notify-upgrades):
* lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
* lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
* lisp/emacs-lisp/ring.el (ring-next, ring-previous):
* lisp/emacs-lisp/rx.el (rx-check, rx-anything):
* lisp/emacs-lisp/smie.el (smie-config-save):
* lisp/emacs-lisp/subr-x.el (internal--check-binding):
* lisp/emacs-lisp/testcover.el (testcover-1value):
Use curved quotes in diagnostic format strings.
2015-08-21 20:22:32 -07:00
Stefan Monnier
8fb09416ac
(gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
...
* lisp/emacs-lisp/gv.el (gv-setter): New function.
(gv-invalid-place): New error.
(gv-get): Use them.
(gv-synthetic-place, gv-delay-error): New places.
* lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
(cl-defgeneric, cl-defmethod): Use gv-setter.
2015-07-07 11:37:04 -04:00
Stefan Monnier
7133f262bb
* lisp/progmodes/gud.el: Use lexical-binding.
...
Fixes: debbugs:19966
* lisp/emacs-lisp/gv.el (gv-ref): Warn about likely problematic cases.
2015-03-03 14:23:49 -05:00
Paul Eggert
7e09ef09a4
Update copyright year to 2015
...
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Stefan Monnier
d5262b384e
* lisp/emacs-lisp/macroexp.el (macroexpand-1): New function.
...
(macroexp--expand-all): Unrelated tweaks.
* lisp/emacs-lisp/gv.el (gv-get): Use macroexpand-1.
Fixes: debbugs:18821
2014-10-31 17:35:35 -04:00
Stefan Monnier
a57fa9642d
* lisp/subr.el (alist-get): New accessor.
...
* lisp/emacs-lisp/gv.el (alist-get): Provide expander.
* lisp/winner.el (winner-remember):
* lisp/tempo.el (tempo-use-tag-list):
* lisp/progmodes/gud.el (minor-mode-map-alist):
* lisp/international/mule-cmds.el (define-char-code-property):
* lisp/frameset.el (frameset-filter-params):
* lisp/files.el (dir-locals-set-class-variables):
* lisp/register.el (get-register, set-register):
* lisp/calc/calc-yank.el (calc-set-register): Use it.
* lisp/ps-print.el (ps-get, ps-put, ps-del): Mark as obsolete.
* lisp/tooltip.el (tooltip-set-param): Mark as obsolete.
(tooltip-show): Use alist-get instead.
* lisp/ses.el (ses--alist-get): Remove. Use alist-get instead.
* admin/unidata/unidata-gen.el (unidata-gen-table-word-list): Use alist-get
and cl-incf.
2014-10-01 13:23:42 -04:00
Leo Liu
e41682ae9c
* emacs-lisp/gv.el (window-buffer, window-display-table)
...
(window-dedicated-p, window-hscroll, window-point, window-start):
Fix gv-expander.
Fixes: debbugs:17630
2014-05-31 23:43:43 +08:00
Juanma Barranquero
f35affb60f
lisp/emacs-lisp/gv.el: Avoid duplicating entries of defun-declaration-alist.
2014-02-21 20:01:19 +01:00
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