summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): Use the newStefan Monnier2013-07-261-1/+1
| | | | `base' arg of backtrace-frame.
* * lisp/emacs-lisp/edebug.el: Use backtrace-eval to handle lexical variables.Stefan Monnier2013-07-261-176/+32
| | | | | | | | | | (edebug-eval): Use backtrace-eval. (edebug--display, edebug--recursive-edit): Don't let-bind the edebug-outer-* vars that keep track of variables we locally let-bind. (edebug-outside-excursion): Don't restore outside values of locally let-bound vars. (edebug--display): Use user-error. (cl-lexical-debug, cl-debug-env): Remove.
* Add support for lexical variables to the debugger's `e' command.Stefan Monnier2013-07-262-116/+31
| | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/debug.el (debug): Don't let-bind the debugger-outer-* vars, except for debugger-outer-match-data. (debugger-frame-number): Move check for "on a function call" from callers into it. Add `skip-base' argument. (debugger-frame, debugger-frame-clear): Simplify accordingly. (debugger-env-macro): Only reset the state stored in non-variables, i.e. current-buffer and match-data. (debugger-eval-expression): Rewrite using backtrace-eval. * lisp/subr.el (internal--called-interactively-p--get-frame): Remove. (called-interactively-p): * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): Use the new `base' arg of backtrace-frame instead. * src/eval.c (set_specpdl_old_value): New function. (unbind_to): Minor simplification. (get_backtrace_frame): New function. (Fbacktrace_frame): Use it. Add `base' argument. (backtrace_eval_unrewind, Fbacktrace_eval): New functions. (syms_of_eval): Export backtrace-eval. * src/xterm.c (x_focus_changed): Simplify.
* * lisp/emacs-lisp/pcase.el (pcase--u1): Verify if self-quoting values can beStefan Monnier2013-07-241-5/+9
| | | | | | checked with memq. Fixes: debbugs:14935
* * lisp/emacs-lisp/autoload.el (autoload--setup-output): New function,Stefan Monnier2013-07-221-35/+30
| | | | | | | | | extracted from autoload--insert-text. (autoload--insert-text): Remove. (autoload--print-cookie-text): New function, extracted from autoload--insert-cookie-text. (autoload--insert-cookie-text): Remove. (autoload-generate-file-autoloads): Adjust calls accordingly.
* lisp/emacs-lisp/package.el (package-menu-mode): Fix bug#14930.Ari Roponen2013-07-221-1/+1
| | | | Don't modify the global value of tabulated-list-revert-hook.
* Remove lisp/emacs-lisp/.gitignoreAndreas Schwab2013-07-121-2/+0
|
* * emacs-lisp/map-ynp.el (map-y-or-n-p): Fix last change.Andreas Schwab2013-07-121-2/+3
|
* lisp/emacs-lisp/cl-macs.el: Fix typos in docstrings.Juanma Barranquero2013-07-121-6/+6
|
* Remove some reimplementations of cl-gensymGlenn Morris2013-07-111-23/+3
| | | | | | | | | | | | * lisp/thumbs.el: Require cl-lib at run-time too. (thumbs-gensym-counter, thumbs-gensym): Remove reimplementation of cl-gensym. (thumbs-temp-file): Use cl-gensym. * lisp/emacs-lisp/edebug.el: Require cl-lib at run-time too. (edebug-gensym-index, edebug-gensym): Remove reimplementation of cl-gensym. (edebug-make-enter-wrapper, edebug-make-form-wrapper): Use cl-gensym.
* Stop reimplementing a bunch of cl- functions in ertGlenn Morris2013-07-111-147/+26
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/ert.el: Require cl-lib at runtime too. (ert--cl-do-remf, ert--remprop, ert--remove-if-not) (ert--intersection, ert--set-difference, ert--set-difference-eq) (ert--union, ert--gensym-counter, ert--gensym-counter) (ert--coerce-to-vector, ert--remove*, ert--string-position) (ert--mismatch, ert--subseq): Remove reimplementations of cl funcs. (ert-make-test-unbound, ert--expand-should-1) (ert--expand-should, ert--should-error-handle-error) (should-error, ert--explain-equal-rec) (ert--plist-difference-explanation, ert-select-tests) (ert--make-stats, ert--remove-from-list, ert--string-first-line): Use cl-lib functions rather than reimplementations. * test/automated/ert-tests.el: Require cl-lib at runtime too. (ert-test-special-operator-p): Use cl-gensym rather than ert-- version. (ert-test-remprop, ert-test-remove-if-not, ert-test-remove*) (ert-test-set-functions, ert-test-gensym) (ert-test-coerce-to-vector, ert-test-string-position) (ert-test-mismatch): Remove tests. * test/automated/cl-lib.el: New, split from ert-tests.el.
* * lisp/emacs-lisp/pcase.el (pcase--split-pred): Add `vars' argument to tryStefan Monnier2013-07-081-5/+12
| | | | | | | and detect when a guard/pred depends on local vars. (pcase--u1): Adjust caller. Fixes: debbugs:14773
* * automated/Makefile.in (setwins): Include the 'data' subdirectory.Dmitry Gutov2013-06-271-3/+3
| | | | | | | | | | | | | * automated/package-x-test.el: New file. * automated/package-test.el: New file. * automated/data/package: New directory, with test examples. * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): Adapt to `package-desc-version' being a list. Use `package--ac-desc-version' to retrieve version from a package archive element.
* * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Move advice back toStefan Monnier2013-06-261-41/+39
| | | | | | | advice--pending if newdef is nil or an autoload. (advice-mapc): New function. Fixes: debbugs:13820
* * lisp/emacs-lisp/package.el (package--add-to-archive-contents): Add missingStefan Monnier2013-06-251-1/+3
| | | | | | nil to terminate the loop. Fixes: debbugs:14718
* * lisp/emacs-lisp/package.el: Include obsolete packages from archives.Stefan Monnier2013-06-254-196/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use lexical-binding. (package-archive-contents): Change format; include obsolete packages. (package-desc): Use `dir' to mark builtin packages. (package--from-builtin): Set the `dir' field to `builtin'. (generated-autoload-file, version-control): Declare. (package-compute-transaction): Change first arg and return value to be lists of package-descs. Adjust to new package-archive-contents format. (package--add-to-archive-contents): Adjust to new package-archive-contents format. (package-download-transaction): Arg is now a list of package-descs. (package-install): If `pkg' is a package name, pass it as a requirement, so it is subject to the usual (e.g. disabled) checks. (describe-package): Accept package-desc as well. (describe-package-1): Describe a specific package-desc. Add links to other package-descs for the same package name. (package-menu-describe-package): Pass the actual package-desc. (package-menu-mode): Add to tabulated-list-revert-hook so revert-buffer works correctly. (package-desc-status): New function. (package-menu--refresh): New function, extracted from package-menu--generate. (package-menu--generate): Use it. (package-delete): Update package-alist. (package-menu-execute): Don't call package-initialize. * lisp/progmodes/idlw-toolbar.el, lisp/progmodes/idlw-shell.el, lisp/progmodes/idlw-help.el, lisp/progmodes/idlw-complete-structtag.el, lisp/progmodes/ebnf-yac.el, lisp/progmodes/ebnf-otz.el, lisp/progmodes/ebnf-iso.el, lisp/progmodes/ebnf-ebx.el, lisp/progmodes/ebnf-dtd.el, lisp/progmodes/ebnf-bnf.el, lisp/progmodes/ebnf-abn.el, lisp/emacs-lisp/package-x.el, lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el lisp/cedet/data-debug.el, lisp/cedet/cedet-idutils.el: Neuter the "Version:" header.
* lisp/emacs-lisp/tabulated-list.el: Fix alignment problem with :pad-right = 0.Juanma Barranquero2013-06-231-1/+1
| | | | | | (tabulated-list-init-header): Don't skip aligning the next header field when padding is 0; otherwise, field width is not respected unless the title is as wide as the field.
* * lisp/emacs-lisp/package.el (package-el-version): Remove.Stefan Monnier2013-06-221-22/+20
| | | | | (package-process-define-package): Fix inf-loop. (package-install): Allow symbols as arguments again.
* lisp/emacs-lisp/package.el (tar-get-file-descriptor, tar--extract): Declare.Juanma Barranquero2013-06-211-0/+3
|
* * lisp/emacs-lisp/package.el (package-alist): Include obsolete packages.Stefan Monnier2013-06-211-75/+67
| | | | | | | | | | | | | | (package-obsolete-list): Remove. (package-activate): Remove min-version argument. Add `force' argument. Adjust to new package-alist format. (package-mark-obsolete): Remove. (package-unpack): Force reload of the package's autoloads. (package-installed-p): Check builtins if the installed package is not recent enough. (package-initialize): Don't reset package-obsolete-list. Don't specify which package version to activate. (package-process-define-package, describe-package-1) (package-menu--generate): Adjust to new package-alist format.
* * lisp/emacs-lisp/package.el: Use tar-mode rather than tar executable.Stefan Monnier2013-06-202-169/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consolidate the single-file vs tarball code. (package-desc-suffix): New function. (package-desc-full-name): Don't bother inlining it. (package-load-descriptor): Return the new package-desc. (package-mark-obsolete): Remove unused arg `package'. (package-unpack): Make it work for single files as well. Make it update package-alist. (package--make-autoloads-and-stuff): Rename from package--make-autoloads-and-compile. Don't compile any more. (package--compile): New function. (package-generate-description-file): New function, extracted from package-unpack-single. (package-unpack-single): Remove. (package--with-work-buffer): Add indentation and debugging info. (package-download-single): Remove. (package-install-from-archive): Rename from package-download-tar, make it take a pkg-desc, and make it work for single files as well. (package-download-transaction): Simplify. (package-tar-file-info): Remove `file' arg. Rewrite not to use an external tar program. (package-install-from-buffer): Remove `pkg-desc' argument. Use package-tar-file-info for tar-mode buffers. (package-install-file): Simplify accordingly. (package-archive-base): Change to take a pkg-desc. * lisp/tar-mode.el (tar--check-descriptor): New function, extracted from tar-get-descriptor. (tar-get-descriptor): Use it. (tar-get-file-descriptor): New function. (tar--extract): New function, extracted from tar-extract. (tar--extract): Use it. * lisp/emacs-lisp/package-x.el (package-upload-file): Decode the file, in case the summary uses non-ascii. Adjust to new calling convention of package-tar-file-info.
* * lisp/emacs-lisp/cl-loaddefs.el: Don't version-control any more.Stefan Monnier2013-06-203-1288/+12
| | | | | | | | | | * lisp/emacs-lisp/cl-lib.el: Load cl-macs when cl-loaddefs is not yet available. * lisp/Makefile.in (AUTOGEN_VCS): Move cl-loaddefs.el... (AUTOGENEL): ... here. * lisp/emacs-lisp/cl-macs.el (cl--sublis): New function. (cl--defsubst-expand): Use it. * .bzrignore: Don't unignore cl-loaddefs.el.
* lisp/emacs-lisp/tabulated-list.el: Use defvar-local, setq-local.Juanma Barranquero2013-06-201-17/+11
| | | | | | | | | (tabulated-list-format): Fix typo. Declare with `defvar-local'. (tabulated-list-use-header-line, tabulated-list-entries) (tabulated-list-padding, tabulated-list-printer) (tabulated-list-sort-key): Declare with `defvar-local'. (tabulated-list-init-header, tabulated-list-print-fake-header): Use `setq-local'.
* * lisp/emacs-lisp/eieio.el (defclass): Make it eval-and-compile once more.Glenn Morris2013-06-191-1/+6
|
* Check autoload's "type" argument correctly in bytecomp.elGlenn Morris2013-06-191-2/+2
| | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Only eval autoloaded macros. (byte-compile-autoload): Only give the macro warning for macros.
* Convert symbol prettification into minor mode and global minor mode.Juanma Barranquero2013-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: Document new Prettify Symbols mode. * lisp/progmodes/prog-mode.el (prettify-symbols-alist): Rename from `prog-prettify-symbols', and make a local defvar instead of defcustom. (prettify-symbols--keywords): Rename from `prog-prettify-symbols-alist' and make a local defvar. (prettify-symbols--compose-symbol): Rename from `prog--prettify-font-lock-compose-symbol'. (prettify-symbols--make-keywords): Rename from `prog-prettify-font-lock-symbols-keywords' and simplify. (prog-prettify-install): Remove. (prettify-symbols-mode): New minor mode, based on `prog-prettify-install'. (turn-on-prettify-symbols-mode): New function. (global-prettify-symbols-mode): New globalized minor mode. * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): * lisp/progmodes/cfengine.el (cfengine3-mode): * lisp/progmodes/perl-mode.el (perl-mode): Don't call `prog-prettify-install'; set `prettify-symbols-alist' instead.
* * lisp/emacs-lisp/eieio-custom.el: Remove misleading Version: header.Stefan Monnier2013-06-181-1/+2
| | | | Fixes: debbugs:14633
* Replace obsolete generic-make-keywords callsGlenn Morris2013-06-181-5/+2
| | | | | | | * lisp/generic-x.el (bat-generic-mode, rc-generic-mode, rul-generic-mode): Replace obsolete function generic-make-keywords with its expansion. * lisp/emacs-lisp/generic.el: Update commentary.
* * lisp/emacs-lisp/package.el: Update package-alist after install.Stefan Monnier2013-06-171-12/+18
| | | | | | | (package-unpack, package-unpack-single): Return the pkg-dir. (package-download-transaction): Use it to update package-alist. Fixes: debbugs:14632
* * lisp/emacs-lisp/package.el (package-load-descriptor): RemoveDmitry Gutov2013-06-171-4/+3
| | | | | `with-syntax-table' call, `read' doesn't need it. http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00539.html
* * lisp/emacs-lisp/package.el (package-load-descriptor): Do not callDmitry Gutov2013-06-171-4/+4
| | | | `emacs-lisp-mode', just use its syntax table.
* * lisp/emacs-lisp/package.el: Don't activate packages older than builtin.Stefan Monnier2013-06-153-132/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (package-obsolete-list): Rename from package-obsolete-alist, and make it into a simple list of package-desc. (package-strip-version): Remove. (package-built-in-p): Use package--builtin-versions. (package-mark-obsolete): Simplify. (package-process-define-package): Mark it obsolete if older than the builtin version. (package-handle-response): Use line-end-position. (package-read-archive-contents, package--download-one-archive): Simplify. (package--add-to-archive-contents): Skip if older than the builtin or installed version. (package-menu-describe-package): Fix last change. (package-list-unversioned): New var. (package-menu--generate): Use it. * lisp/Makefile.in (autoloads): Set autoload-builtin-package-versions. * lisp/startup.el (package--builtin-versions): New var. (package-subdirectory-regexp): Remove. (package--description-file): Hard code its value instead. * lisp/emacs-lisp/autoload.el: Manage package--builtin-versions. (autoload--insert-text, autoload--insert-cookie-text): New functions. (autoload-builtin-package-versions): New variable. (autoload-generate-file-autoloads): Use them. Remove the list of autoloaded functions/macros from the (autoload...) comments.
* Add coding cookie to lisp/emacs-lisp/lisp-mode.el.Eli Zaretskii2013-06-151-1/+1
|
* * lisp/emacs-lisp/package.el: Don't recompute dir. Use pkg-descs more.Stefan Monnier2013-06-132-222/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (package-desc): Add `dir' field. (package-desc-full-name): New function. (package-load-descriptor): Combine the two arguments. Don't use `load'. (package-maybe-load-descriptor): Remove. (package-load-all-descriptors): Just call package-load-descriptor. (package--disabled-p): New function. (package-desc-vers, package-desc-doc): Remove aliases. (package--dir): Remove function. (package-activate): Check if a package is disabled. (package-process-define-package): New function, extracted from define-package. (define-package): Turn into a place holder. (package-unpack-single, package-tar-file-info): Use package--description-file. (package-compute-transaction): Use package--disabled-p. (package-download-transaction): Don't call package-maybe-load-descriptor since they're all loaded anyway. (package-install): Change argument to be a pkg-desc. (package-delete): Use a single pkg-desc argument. (describe-package-1): Use package-desc-dir instead of package--dir. Use package-desc property instead of package-symbol. (package-install-button-action): Adjust accordingly. (package--push): Rewrite. (package-menu--print-info): Adjust accordingly. Change the ID format to be a pkg-desc. (package-menu-describe-package, package-menu-get-status) (package-menu--find-upgrades, package-menu-mark-upgrades) (package-menu-execute, package-menu--name-predicate): Adjust accordingly. * lisp/startup.el (package--description-file): New function. (command-line): Use it. * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): Use package-desc-version.
* * lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): New var.Stefan Monnier2013-06-134-53/+45
| | | | | | | | | | | | | | (byte-compile-preprocess): Use it. (byte-compile-file-form-defalias): Try a bit harder to use macros we can't quite recognize. (byte-compile-add-to-list): Remove. * lisp/emacs-lisp/cconv.el (cconv-warnings-only): New function. (cconv-closure-convert): Add assertion. * lisp/emacs-lisp/map-ynp.el: Use lexical-binding. (map-y-or-n-p): Remove unused vars `tail' and `object'. Factor out some repeated code. * etc/NEWS (utf-8 for el): Move to the incompatible section.
* * emacs-lisp/lisp.el (forward-sexp, backward-sexp): Doc fixes.Glenn Morris2013-06-131-2/+4
|
* * lisp/help-fns.el (help-fns--compiler-macro): If the handler function isStefan Monnier2013-06-112-27/+26
| | | | | | | | | | named, then put a link to it. * lisp/help-mode.el (help-function-cmacro): Adjust regexp for cl-lib names. * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-typep): New function. (cl-typep): Use it. (cl-eval-when): Simplify debug spec. (cl-define-compiler-macro): Use eval-and-compile. Give a name to the compiler-macro function instead of setting `compiler-macro-file'.
* First part of Daniel Hackney's patch to package.el.Stefan Monnier2013-06-112-207/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/package.el: Use defstruct. (package-desc): New, main struct. (package--bi-desc, package--ac-desc): New structs, used to describe the format in external files. (package-desc-vers): Replace with package-desc-version accessor. (package-desc-doc): Replace with package-desc-summary accessor. (package-activate-1): Remove `package' arg since the pkg-vec now includes the name. (define-package): Use package-desc-from-define. (package-unpack-single): Change file-name arg to be a symbol. (package--add-to-archive-contents): Use package-desc-create and new accessor functions to package--ac-desc. (package-buffer-info, package-tar-file-info): Return a package-desc. (package-install-from-buffer): Remove `type' argument. Change pkg-info arg to be a package-desc. (package-install-file): Adjust accordingly. Use \' to match EOS. (package--from-builtin): New function. (describe-package-1, package-menu--generate): Use it. (package--make-autoloads-and-compile): Change name arg to be a symbol. (package-generate-autoloads): Idem and return the name of the file. * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): Change pkg-info arg to be a package-desc. Use package-make-ac-desc. (package-upload-file): Use \' to match EOS. * lisp/finder.el (finder-compile-keywords): Use package-make-builtin.
* * lisp/emacs-lisp/generic.el (generic--normalise-comments)Stefan Monnier2013-06-111-36/+53
| | | | | | | (generic-set-comment-syntax, generic-set-comment-vars): New functions. (generic-mode-set-comments): Use them. (generic-bracket-support): Use setq-local. (generic-make-keywords-list): Declare obsolete.
* lisp-mode font-lock fox for bug#14574Glenn Morris2013-06-111-2/+2
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): Prettify after setting font-lock-defaults.
* Improve previous bytecomp fixGlenn Morris2013-06-071-3/+6
| | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before) (byte-compile-backward-char, byte-compile-backward-word): Improve previous change, to handle non-explicit nil.
* * lisp/emacs-lisp/smie.el: Improve show-paren-mode behavior.Stefan Monnier2013-06-071-54/+84
| | | | | | | (smie--opener/closer-at-point): New function. (smie--matching-block-data): Use it. Don't match from right after an opener or right before a closer. Obey smie-blink-matching-inners. Don't signal a mismatch for repeated inners like "switch..case..case".
* * newcomment.el (comment-search-backward): Revert last change.Leo Liu2013-06-071-17/+17
| | | | | | | | | * emacs-lisp/smie.el (smie--matching-block-data): Minor simplification. * progmodes/octave.el (octave-mode): Set comment-use-global-state to t. (Bug#14303) Fixes: debbugs:14434 debbugs:14303
* bytecomp fix for bug#14565Glenn Morris2013-06-061-9/+12
| | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before) (byte-compile-backward-char, byte-compile-backward-word): Handle explicit nil arguments.
* Introduce and use prog-prettify-install.Ted Zlatanov2013-06-051-18/+4
|
* * lisp/emacs-lisp/edebug.el (edebug-result): Move before first use.Stefan Monnier2013-06-051-2/+3
| | | | | | | | | * lisp/subr.el (load-history-regexp, load-history-filename-element) (eval-after-load, after-load-functions, do-after-load-evaluation) (eval-next-after-load, display-delayed-warnings) (collapse-delayed-warnings, delayed-warnings-hook): Move after the definition of save-match-data. (overriding-local-map): Remove accidental obsolescence declaration.
* Symbol prettify in prog-mode; added to perl-mode, cfengine3-mode, and ↵Ted Zlatanov2013-06-051-2/+21
| | | | emacs-lisp-mode.
* Re-implement smie matching block highlight using show-paren-data-function. Leo Liu2013-06-051-83/+60
| | | | | | | | | | | | | | | | | * emacs-lisp/smie.el (smie-matching-block-highlight) (smie--highlight-matching-block-overlay) (smie--highlight-matching-block-lastpos) (smie-highlight-matching-block) (smie-highlight-matching-block-mode): Remove. (smie--matching-block-data-cache): New variable. (smie--matching-block-data): New function. (smie-setup): Use smie--matching-block-data for show-paren-data-function. * progmodes/octave.el (octave-mode-menu): Fix. (octave-find-definition): Skip garbage lines. Fixes: debbugs:14395
* Fix compilation error with simultaneous dynamic+lexical scoping.Stefan Monnier2013-06-046-89/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add warning when a defvar appears after the first let-binding. * lisp/emacs-lisp/bytecomp.el (byte-compile-lexical-variables): New var. (byte-compile-close-variables): Initialize it. (byte-compile--declare-var): New function. (byte-compile-file-form-defvar) (byte-compile-file-form-define-abbrev-table) (byte-compile-file-form-custom-declare-variable): Use it. (byte-compile-make-lambda-lexenv): Change the argument. Simplify. (byte-compile-lambda): Share call to byte-compile-arglist-vars. (byte-compile-bind): Handle dynamic bindings that shadow lexical bindings. (byte-compile-unbind): Make arg non-optional. (byte-compile-let): Simplify. * lisp/emacs-lisp/cconv.el (byte-compile-lexical-variables): Declare var. (cconv--analyse-function, cconv-analyse-form): Populate it. Protect byte-compile-bound-variables to limit the scope of defvars. (cconv-analyse-form): Add missing rule for (defvar <foo>). Remove unneeded rule for `declare'. * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin): Use macroexp-let2 so as to avoid depending on cl-adjoin at run-time. * lisp/emacs-lisp/cl-lib.el (cl-pushnew): Use backquotes. * lisp/emacs-lisp/macroexp.el (macroexp--compiling-p): New function. (macroexp--warn-and-return): Use it.
* * lisp.el: Provide completion of locally bound variables in Elisp.Stefan Monnier2013-06-031-8/+96
| | | | | | | * lisp/emacs-lisp/lisp.el: Use lexical-binding. (lisp--local-variables-1, lisp--local-variables): New functions. (lisp--local-variables-completion-table): New var. (lisp-completion-at-point): Use it to provide completion of let-bound vars.