* functions.texi (Anonymous Functions): Rearrange discussion,
giving usage of unquoted lambda forms first. Mention that
`function' and `#'' are no longer required (Bug#4290).
Stefan Monnier [Sat, 12 Sep 2009 19:03:49 +0000 (19:03 +0000)]
(mouse-wheel-mode): Make sure the new defvar doesn't
actually define the variable, but only silences the byte-compiler.
(mouse-wheel-change-button): Check whether mouse-wheel-mode is bound
before looking it up.
(mouse-wheel-scroll-amount): Also reset the bindings if this value is changed.
(elint-file): Make max-lisp-eval-depth at least 1000.
(elint-add-required-env): Don't beep on error.
(elint-forms): In case of error, return ENV unchanged.
Stefan Monnier [Sat, 12 Sep 2009 04:38:03 +0000 (04:38 +0000)]
* mwheel.el (mwheel-installed-bindings): New var.
(mouse-wheel-mode): Use it, so as to make sure we really remove all
the bindings we set last time. Use custom-initialize-delay.
* loadup.el: Load mwheel after term/*-win.el.
* startup.el (command-line): Don't reevaluate mouse-wheel-down-event
and mouse-wheel-up-event now that their first evaluation is done
sufficiently late to be correct.
Stefan Monnier [Sat, 12 Sep 2009 03:55:46 +0000 (03:55 +0000)]
* startup.el (tutorial-directory): Make it a defcustom.
Use custom-initialize-delay rather than eval-at-startup to set it.
* image.el (image-load-path): Make it a defcustom.
Use custom-initialize-delay rather than eval-at-startup to set it.
* subr.el (eval-at-startup): Remove.
* font-lock.el (lisp-font-lock-keywords-2): Remove eval-at-startup.
Stefan Monnier [Sat, 12 Sep 2009 03:35:40 +0000 (03:35 +0000)]
* lread.c (Fload): Don't output a message after loading an obsolete
package any more (done in Lisp now).
* subr.el (do-after-load-evaluation): Warn the user after loading an
obsolete package.
(elint-file, elint-directory): New autoloaded commands.
(elint-current-buffer): Set mode-line-process.
(elint-init-env): Handle define-derived-mode.
Fix declare-function with unspecified arglist. Guard against odd
defalias statements (eg iso-insert's 8859-1-map).
(elint-add-required-env): Use a temp buffer.
(elint-form): Just print the function/macro name, not the whole form.
Return env unchanged if we fail to parse a macro.
(elint-forms): Guard against parse errors.
(elint-output): New function, to handle batch mode.
(elint-log-message): Add optional argument. Use elint-output.
(elint-set-mode-line): New function.
* url-methods.el (url-scheme--registering-proxy): New variable.
(url-scheme-register-proxy, url-scheme-get-property): Avoid
calling url-scheme-register-proxy in an infloop (Bug#4191).
Stefan Monnier [Fri, 11 Sep 2009 21:25:44 +0000 (21:25 +0000)]
* custom.el (custom-delayed-init-variables): New var.
(custom-initialize-delay): New function.
* startup.el (command-line): "Re"evaluate all vars in
custom-delayed-init-variables. Don't reevaluate abbrev-file-name
explicitly any more.
* abbrev.el (abbrev-file-name): Use custom-initialize-delay
to avoid creating a ~/.emacs.d at build-time (bug#4347).
(apropos-documentation-check-doc-file): Exclude unbound functions and
variables, since they must be stuff specific to some other platform.
(apropos-print): Make mouse-click message less specific about button.
Simon South [Fri, 11 Sep 2009 02:28:50 +0000 (02:28 +0000)]
(delphi-tab): Indent region when Transient Mark mode is enabled and
region is active; otherwise indent or insert TAB as usual.
(delphi-mode): Update description of TAB-key binding.
Stefan Monnier [Fri, 11 Sep 2009 00:58:59 +0000 (00:58 +0000)]
* keymap.c (QCadvertised_binding): New constant.
(syms_of_keymap): Initialize it.
(Fwhere_is_internal): Try and use bindings from :advertised-binding
if applicable.
* progmodes/xscheme.el (xscheme-evaluation-commands):
Put a :advertised-binding property rather than using
advertised-xscheme-send-previous-expression.
(advertised-xscheme-send-previous-expression): Declare obsolete.
* emulation/crisp.el (crisp-mode-map): Use `undo' rather than
`advertised-undo'.
(crisp-mode): Add corresponding bindings to
undo's :advertised-binding instead.
* dired.el (dired-mode-map): Put a :advertised-binding property rather
than using dired-advertised-find-file.
(dired-advertised-find-file):
* simple.el (advertised-undo):
* wid-edit.el (advertised-widget-backward): Declare obsolete.
(widget-keymap): Put a :advertised-binding property rather
than using advertised-widget-backward.
* bindings.el (ctl-x-map): Put a :advertised-binding property rather
than using advertised-undo.
* tutorial.el (tutorial--default-keys): Adjust accordingly.
Stefan Monnier [Thu, 10 Sep 2009 18:19:03 +0000 (18:19 +0000)]
* keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
(parse_menu_item): Streamline since bindings are recomputed all the
time anyway. Don't bother checking Vdefine_key_rebound_commands any
more and don't support lmenu's menu-alias any more either.
* subr.el (define-key-rebound-commands): Mark obsolete.
* startup.el (precompute-menubar-bindings): Remove.
(normal-top-level): Remove obsolete code that tried to precompute
menubar bindings.
* loadup.el (define-key-rebound-commands): Don't bother fiddling with
define-key-rebound-commands and precompute-menubar-bindings.
Stefan Monnier [Thu, 10 Sep 2009 16:19:52 +0000 (16:19 +0000)]
* keymap.c (where_is_internal_data): Make noindirect a boolean.
(where_is_internal): Strip it down to only traverse the keymaps.
Move the cache handling from Fwhere_is_internal to here.
(Fwhere_is_internal): Move the handling of remapping and the choice of
the best binding from where_is_internal to here.
Unify the cached/noncached paths, so remapping is also handled
correctly when the cache is used, and so the cache can be used to
speed up remap-handling when applicable.
Give preference to non-remapped bindings.
* doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
non-remapped bindings.
* keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
command remapping.
(byte-compile-function-environment): Doc fix.
(byte-compile-file-form-autoload): Don't warn about unknown functions
where the autoload statement comes after the use.
(with-no-warnings): Give it a byte-hunk-handler like than of progn, so
that any handlers inside the body (eg require) are in turn respected.