Stefan Monnier [Tue, 15 Sep 2009 03:39:40 +0000 (03:39 +0000)]
(after-load-functions): New hook.
(do-after-load-evaluation): Run it. Use string-match-p to detect
`obsolete' packages, rather than painfully extracting the relevant
directory name.
(find-lisp-object-file-name): When looking for autoloaded
variables, also consider the .elc files, since the .el files are
normally gzipped (subsequent code locates the .el.gz from the .elc).
(byte-compile-keep-pending, byte-compile-file-form, byte-compile-lambda)
(byte-compile-top-level-body, byte-compile-form)
(byte-compile-variable-ref, byte-compile-setq)
(byte-compile-setq-default, byte-compile-body)
(byte-compile-body-do-effect, byte-compile-and, byte-compile-or)
(batch-byte-compile): Give some more local variables with common names
a "bytecomp-" prefix to avoid masking warnings about free variables.
(rmail-mime-save): If file exists, don't try to be clever and add a
suffix to make a unique name, just let the user decide whether or not
to overwrite it. If the input is a directory, write the default
filename to that directory. (Bug#4388)
(rmail-mime-bulk-handler): Ensure the save button's 'directory property
is a filename-as-a-directory.
* 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.