Commit graph

529 commits

Author SHA1 Message Date
Glenn Morris
e60b51abaa * bytecomp.el (byte-compile-cl-file-p): Only "cl.el" counts as cl these days.
Remove no longer appropriate file-local suppression of CL warnings in
lisp/emacs-lisp/cl-*.el files.
2012-09-28 19:30:52 -04:00
Stefan Monnier
95b9712e9e * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): New function.
(macroexp--expand-all): Use it.
(macroexp--funcall-and-return): Remove by folding it into its sole
caller (macroexp--warn-and-return).
* lisp/emacs-lisp/bytecomp.el (byte-compile-warn-obsolete):
Use macroexp--obsolete-warning.
2012-09-20 09:46:36 -04:00
Glenn Morris
2168fe4f2a byte-compile-warning-prefix tweak
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-prefix): If not
compiling a file, try using load-file-name.
2012-09-12 22:41:46 -04:00
Glenn Morris
c548f82180 byte-compile-setq-default fix for bug#12195
* lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default):
Optimize away setq-default with no args, as is done for setq.
2012-08-14 14:23:10 -04:00
Glenn Morris
3c3cda1a73 * lisp/emacs-lisp/bytecomp.el (byte-recompile-file): Doc fix. 2012-08-14 08:58:46 -07:00
Andreas Schwab
e5b19827fa Fixes: debbugs:12197
* emacs-lisp/bytecomp.el (byte-recompile-file): When LOAD is
non-nil always load the compiled file if it exists.
2012-08-14 10:37:41 +02: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
Chong Yidong
b68b33375c Don't warn on toggle-read-only calls.
Clarify the documentation of toggle-read-only, and audit the code tree
for uses of toggle-read-only; where appropriate, switch to setting the
variable buffer-read-only or calling toggle-read-only with a (new)
second arg.

* lisp/files.el (toggle-read-only): Doc fix and code cleanup.  New arg
to allow printing the message when called from Lisp.

* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Remove toggle-read-only.

* lisp/bindings.el (mode-line-toggle-read-only):
* lisp/dired.el (dired-toggle-read-only):
* lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call toggle-read-only
with non-nil second arg.

* lisp/bs.el (bs-toggle-readonly):
* lisp/buff-menu.el (Buffer-menu-toggle-read-only): Remove
with-no-warnings around toggle-read-only.

* lisp/ffap.el (ffap--toggle-read-only): Accept a list of buffers.
Remove with-no-warnings around toggle-read-only.
(ffap-read-only, ffap-read-only-other-window)
(ffap-read-only-other-frame): Callers changed.

* lisp/help-mode.el: Don't require view package.
(help-mode-finish): Set buffer-read-only instead of calling
toggle-read-only.

* lisp/emacs-lisp/eieio-custom.el (eieio-customize-object):
* lisp/vc/ediff.el (ediff-set-read-only-in-buf-A): Set buffer-read-only
directly.

* lisp/gnus/smime.el (smime-certificate-info): Set buffer-read-only directly,
instead of calling toggle-read-only with a (bogus) argument.

* doc/emacs/buffers.texi (Misc Buffer): Document view-read-only.

* doc/lispref/buffers.texi (Read Only Buffers): Document toggle-read-only
changes.  Reword to account for the fact that read-only is currently not
supported in overlay properties.
2012-07-13 15:06:09 +08:00
Eli Zaretskii
56bc1586ea Fix byte-recompile-directory.
lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Use cl-incf,
 not incf.
2012-07-12 14:33:55 +03:00
Stefan Monnier
f58e0fd503 Reduce use of (require 'cl).
* admin/bzrmerge.el: Use cl-lib.
* leim/quail/hangul.el: Don't require CL.
* leim/quail/ipa.el: Use cl-lib.
* vc/smerge-mode.el, vc/pcvs.el, vc/pcvs-util.el, vc/pcvs-info.el:
* vc/diff-mode.el, vc/cvs-status.el, uniquify.el, scroll-bar.el:
* register.el, progmodes/sh-script.el, net/gnutls.el, net/dbus.el:
* msb.el, mpc.el, minibuffer.el, international/ucs-normalize.el:
* international/quail.el, info-xref.el, imenu.el, image-mode.el:
* font-lock.el, filesets.el, edmacro.el, doc-view.el, bookmark.el:
* battery.el, avoid.el, abbrev.el: Use cl-lib.
* vc/pcvs-parse.el, vc/pcvs-defs.el, vc/log-view.el, vc/log-edit.el:
* vc/diff.el, simple.el, pcomplete.el, lpr.el, comint.el, loadhist.el:
* jit-lock.el, international/iso-ascii.el, info.el, frame.el, bs.el:
* emulation/crisp.el, electric.el, dired.el, cus-dep.el, composite.el:
* calculator.el, autorevert.el, apropos.el: Don't require CL.
* emacs-bytecomp.el (byte-recompile-directory, display-call-tree)
(byte-compile-unfold-bcf, byte-compile-check-variable):
* emacs-byte-opt.el (byte-compile-trueconstp)
(byte-compile-nilconstp):
* emacs-autoload.el (make-autoload): Use pcase.
* face-remap.el (text-scale-adjust): Simplify pcase patterns.
2012-07-10 07:51:54 -04:00
Stefan Monnier
b5771c0d82 * lisp/emacs-lisp/bytecomp.el (byte-compile): Don't signal an error if the
function is already compiled.
2012-07-04 10:42:59 -04:00
Paul Eggert
e3ac128172 Spelling fixes. 2012-07-02 01:00:05 -07:00
Stefan Monnier
c207708c86 Make inlining of other-mode interpreted functions work.
* lisp/emacs-lisp/bytecomp.el (byte-compile--refiy-function): New fun.
(byte-compile): Use it to fix compilation of lexical-binding closures.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Compile the
function, if needed.

Fixes: debbugs:11799
2012-06-27 23:31:27 -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
Stefan Monnier
c4c8444a78 * lisp/emacs-lisp/byte-opt.el (featurep): Move compiler-macro...
* lisp/emacs-lisp/bytecomp.el (featurep): ...here.

Fixes: debbugs:11692
2012-06-13 09:16:34 -04:00
Stefan Monnier
bb3faf5b98 Use lexical-binding for all of CL, and clean up its namespace.
* 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.
2012-06-11 11:52:50 -04:00
Stefan Monnier
f80efb8695 Reduce use of cl in lisp/emacs-lisp/.
* lisp/emacs-lisp/timer.el, lisp/emacs-lisp/syntax.el, lisp/emacs-lisp/smie.el:
* lisp/emacs-lisp/ewoc.el, lisp/emacs-lisp/cconv.el,lisp/emacs-lisp/derived.el:
* lisp/emacs-lisp/byte-opt.el, lisp/emacs-lisp/autoload.el: Convert to cl-lib.
* lisp/emacs-lisp/easymenu.el, lisp/emacs-lisp/easy-mmode.el:
* lisp/emacs-lisp/bytecomp.el: Use pcase instead of `cl'.
* lisp/emacs-lisp/cl-lib.el: Get rid of special cl-macs auto load.
2012-06-10 09:28:26 -04:00
Stefan Monnier
4dd1c416d1 Cleanup cl-macs namespace. Add macro helpers in macroexp.el.
* 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'.
2012-06-07 15:25:48 -04:00
Stefan Monnier
57a7d50707 Add native compiler-macro support.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1):
Support compiler-macros directly.  Properly follow aliases and apply
the compiler macros more thoroughly.
* lisp/emacs-lisp/cl.el: Don't copy compiler-macro properties any more since
macroexpand now properly follows aliases.
* lisp/emacs-lisp/cl-macs.el (toplevel, cl-define-compiler-macro)
(cl-compiler-macroexpand): Use new prop.
* lisp/emacs-lisp/byte-opt.el (featurep): Optimize earlier.
* lisp/emacs-lisp/cl-lib.el (custom-print-functions): Add compatibility alias.
2012-06-05 11:41:12 -04:00
Stefan Monnier
4a5f187ae2 * lisp/emacs-lisp/bytecomp.el: Fix last change.
(byte-compile-output-docform): Re-add the print-circle bindings.
(byte-compile-fix-header): Use #$ just because it's shorter.
(byte-compile-output-file-form): Remove defun/defmacro.

Fixes: debbugs:11594
2012-06-01 15:47:54 -04:00
Chong Yidong
efc00ab16e Merge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.de 2012-05-31 14:08:06 +08:00
Stefan Monnier
dd41169b6c Fix long filename handling of byte-compile-fix-header.
* lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header): Handle
arbitrary file name lengths (Bug#11585).
2012-05-31 13:56:57 +08:00
Stefan Monnier
61b108cc62 * lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.
(macro-declaration-function): Move var from C code.
(macro-declaration-function): Define function with defalias.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle
defun/defmacro any more.
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature):
Provide fallback for unknown arglist.
(byte-compile-arglist-warn): Change calling convention.
(byte-compile-output-file-form): Move print-vars binding.
(byte-compile-output-docform): Simplify accordingly.
(byte-compile-file-form-defun, byte-compile-file-form-defmacro)
(byte-compile-defmacro-declaration): Remove.
(byte-compile-file-form-defmumble): Generalize to defalias.
(byte-compile-output-as-comment): Return byte-positions.
Simplify callers accordingly.
(byte-compile-lambda): Use `assert'.
(byte-compile-defun, byte-compile-defmacro): Remove.
(byte-compile-file-form-defalias):
Use byte-compile-file-form-defmumble.
(byte-compile-defalias-warn): Remove.
* src/eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
Move to byte-run.el.
(Fautoload): Do the hash-doc more carefully.
* src/data.c (Fdefalias): Purify definition, except for keymaps.
(Qdefun): Move from eval.c.
* src/lisp.h (Qdefun): Remove.
* src/lread.c (read1): Tiny simplification.
* lib-src/make-docfile.c: Improve comment style.
(search_lisp_doc_at_eol): New function.
(scan_lisp_file): Use it.
2012-05-29 23:59:42 -04:00
Stefan Monnier
6876a58db3 Fix minor corner case bugs in byte compilation and pcase.
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Don't re-preprocess
functions from byte-compile-function-environment.
* lisp/emacs-lisp/bytecomp.el (byte-compile-constp): Treat #'v as a constant.
(byte-compile-close-variables): Bind byte-compile--outbuffer here...
(byte-compile-from-buffer): ...rather than here.
* lisp/emacs-lisp/pcase.el (pcase--expand): Accept different sets of vars in
different alternative patterns.
(pcase-codegen): Be more careful to preserve identity.
(pcase--u1): Don't forget to mark vars as used.
2012-05-29 10:28:02 -04:00
Stefan Monnier
3858bfe7c9 * lisp/emacs-lisp/bytecomp.el (byte-compile-root-dir): New var.
(byte-compile-warning-prefix, batch-byte-compile-file): Use it.
2012-05-19 14:28:32 -04:00
Stefan Monnier
2bd785a208 * lisp/emacs-lisp/bytecomp.el
(byte-compile-file-form-custom-declare-variable): Compile all elements,
since cconv.el might have introduced :fun-body, internal-make-closure,
and friends for bytecomp to handle.
* lisp/custom.el (defcustom): Avoid ((λ ..) ..).

Fixes: debbugs:11391
2012-05-02 22:39:23 -04:00
Stefan Monnier
f9210e18be * emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more
than 197 variables.
2012-03-26 15:10:00 -04:00
Stefan Monnier
f3934f6fef * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar):
Don't fallback on byte-compile-defvar.  Optimize (defvar foo) away.
(byte-compile-tmp-var): New const.
(byte-compile-defvar): Use it to minimize .elc size.
Just use `defvar' rather than simulate it.

Fixes: debbugs:10761
2012-02-09 16:51:03 -05:00
Glenn Morris
7d5944b986 Trivial bytecomp.el fix for file-local buffer-read-only.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not propagate a
file local setting of buffer-read-only to the input buffer.

Fixes: debbugs:10419
2012-01-05 23:37:01 -08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Andreas Schwab
94d4c7dc47 * emacs-lisp/bytecomp.el (byte-compile-file): Fix indentation. 2011-12-31 15:43:38 +01:00
Paul Eggert
9858f6c326 Spelling fixes. 2011-12-29 18:52:49 -08:00
Paul Eggert
99d990817c Spelling fixes. 2011-12-18 22:21:24 -08:00
Paul Eggert
e47695319f Spelling fixes. 2011-11-26 20:43:11 -08:00
Stefan Monnier
bac7ff225f * lisp/emacs-lisp/bytecomp.el: Silence obsolete warnings more reliably.
(byte-compile-global-not-obsolete-vars): New var.
(byte-compile-check-variable, byte-compile-make-obsolete-variable):
Use it.
(byte-compile-warn-obsolete): Align text with the one in *Help*.
2011-11-19 23:33:36 -05:00
Paul Eggert
e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Paul Eggert
4c36be58ca Spelling fixes. 2011-11-17 01:09:20 -08:00
Glenn Morris
b2621720c3 toggle-read-only fixes for bugs#7292, 10006.
* doc/lispref/buffers.texi (Read Only Buffers): Expand a bit on why
toggle-read-only should only be used interactively.

* lisp/files.el (toggle-read-only): Mention that it should only
be used interactively.

* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Add toggle-read-only.
2011-11-09 21:17:45 -05:00
Andreas Schwab
d9bbf40098 * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Fix overflow
check.  (Bug#4251)
2011-09-17 11:29:01 +02:00
Chong Yidong
bee0fcef3d Add FORCE-SAME-WINDOW argument to switch-to-buffer.
* lisp/window.el (switch-to-buffer): New arg FORCE-SAME-WINDOW.  Use
pop-to-buffer buffer-or-name if it is nil.

* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Remove switch-to-buffer.
2011-07-13 18:00:48 -04:00
Stefan Monnier
c8af70e11e * lisp/files.el (find-file): Use pop-to-buffer-same-window.
* lisp/emacs-lisp/bytecomp.el (byte-compile-interactive-only-functions):
Add switch-to-buffer.

Fixes: debbugs:8911
2011-07-04 12:08:16 -04:00
Stefan Monnier
478d6f95ff * lisp/emacs-lisp/bytecomp.el (add-to-list): Add handler to check the
variable's status.
2011-06-20 21:43:56 -04:00
Stefan Monnier
2403c841a8 Silence various byte-compiler warnings.
* lisp/emacs-lisp/byte-run.el (make-obsolete-variable): New argument
`access-type' and new obsolescence format.
* lisp/emacs-lisp/bytecomp.el (byte-compile-warn-obsolete): Adjust to
new format.
(byte-compile-check-variable): New `access-type' argument.
Only warn if the access-type is obsolete.
(byte-compile-dynamic-variable-bind, byte-compile-variable-ref)
(byte-compile-variable-set): Adjust callers.
* lisp/help-fns.el (describe-variable): Adjust to new obsolescence format.
* lisp/mail/sendmail.el (mail-mailer-swallows-blank-line): Only mark
setting it as obsolete.
* lisp/simple.el (minibuffer-completing-symbol):
* lisp/font-lock.el (font-lock-beginning-of-syntax-function): Only mark read
access as obsolete.
* lisp/minibuffer.el (minibuffer-completing-file-name): Don't make it
obsolete yet.
* lisp/international/quail.el (quail-mouse-choose-completion): Remove unused
code referring to obsolete var.
(quail-choose-completion-string): Remove.
* lisp/server.el (server-clients-with, server-kill-buffer-query-function)
(server-kill-emacs-query-function): Silence "unused `proc'" warnings.
* lisp/proced.el (proced-send-signal):
* lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
Replace completion-annotate-function with completion-extra-properties.
2011-06-01 16:32:04 -03:00
Stefan Monnier
2462470b9e Miscellaneous tweaks.
* lisp/emacs-lisp/cl-macs.el (dolist, dotimes): Use the same strategy for
lexical scoping as in subr.el's dolist and dotimes.
* lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf):
Silence compiler warning.
* lisp/thingatpt.el (forward-whitespace): Trivial coding style fix.
* lisp/subr.el (with-output-to-temp-buffer): Provide an edebug spec.
* lisp/international/ccl.el (ccl-compile): Trivial simplification.
* lisp/help-fns.el (help-do-arg-highlight): Silence compiler warning.
* lisp/emacs-lisp/testcover.el (testcover-end): Remove spurious
`printflag' argument.
* lisp/emacs-lisp/byte-run.el (make-obsolete, make-obsolete-variable):
Purecopy the whole obsolescence data.
2011-06-01 11:19:45 -03:00
Stefan Monnier
6105399dcc * bytecomp.el (byte-compile-defvar): Add note about quoted lambda. 2011-05-30 14:14:19 -03:00
Stefan Monnier
bbca48fe46 * lisp/emacs-lisp/bytecomp.el (byte-compile-function-form): Only call
byte-compile-lambda if it's actually a lambda.
2011-05-22 22:15:17 -03:00
Stefan Monnier
9c848d8a75 * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Convert ' to #' for
funcall as well.  Warn when performing those conversions.
* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix error report.

Fixes: debbugs:8712
2011-05-22 15:22:30 -03:00
Glenn Morris
d45885f7e0 bytecomp.el fix for bug#8647
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
Let byte-compile-initial-macro-environment always take precedence.
2011-05-11 19:36:05 -07:00
Glenn Morris
410c42c570 Revert accidental portion of previous bytecomp.el commit. 2011-05-11 13:32:38 -04:00
Glenn Morris
7d3b9d4498 bytecomp.el partial fix for bug#8646.
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
Handle symbol elements of byte-compile-initial-macro-environment.
2011-05-11 09:31:33 -07:00