Commit graph

2707 commits

Author SHA1 Message Date
Glenn Morris
76f2c57691 (elint): New custom group.
(elint-log-buffer): Make it a defcustom.
(elint-scan-preloaded, elint-ignored-warnings)
(elint-directory-skip-re): New options.
(elint-builtin-variables): Doc fix.
(elint-preloaded-env): New variable.
(elint-unknown-builtin-args): Add an entry for encode-time.
(elint-extra-errors): Make it a variable rather than a constant.
(elint-preloaded-skip-re): New constant.
(elint-directory): Skip files matching elint-directory-skip-re.
(elint-features): New variable, local to linted buffers.
(elint-update-env): Initialize elint-features.  Possibly add
elint-preloaded-env to the buffer's environment.
(elint-get-top-forms): Bind elint-current-pos, for log messages.
Skip quoted forms.
(elint-init-form): New function, extracted from elint-init-env.
Make non-list forms a warning rather than an error.
Add the mode-map for define-derived-mode.  Handle define-minor-mode,
easy-menu-define, put that adds an error-condition, and provide.
When requiring cl, also require cl-macs.  Really require cl, to handle
some cl macros.  Store required libraries in the list elint-features,
so as not to re-load them.  Treat cc-require like require.
(elint-init-env): Call elint-init-form to do the work.
Handle eval-and-compile and such like.
(elint-add-required-env): Do not clear messages.
(elint-special-forms): Add handlers for function, defalias, if, when,
unless, and, or.
(elint-form): Add optional argument to ignore elint-special-forms,
useful to prevent recursive calls from handlers.  Doc fix.
Respect elint-ignored-warnings.
(elint-form): Respect elint-ignored-warnings.
(elint-bound-variable, elint-bound-function): New variables.
(elint-unbound-variable): Respect elint-bound-variable.
(elint-get-args): Respect elint-bound-function.
(elint-check-cond-form): Add some simple handling for (f)boundp and
featurep tests.
(elint-check-defalias-form): New handler.
(elint-check-let-form): Make an empty let a warning rather than an error.
(elint-check-setq-form): Make an empty setq a warning rather than an
error.  Respect elint-ignored-warnings.
(elint-check-defvar-form): Accept null doc-strings.
(elint-check-conditional-form): New handler.  Does some simple-minded
checking of featurep and (f)boundp tests.
(elint-put-function-args): New function.
(elint-initialize): Use elint-scan-doc-file rather than
elint-find-builtin-variables.  Use elint-put-function-args.
Possibly scan preloaded-file-list.
(elint-scan-doc-file): Rename from elint-find-builtin-variables and
extend to handle functions as well.
2009-09-22 02:28:28 +00:00
Chong Yidong
e2045997ee * emacs-lisp/advice.el (ad-get-argument, ad-set-argument): Doc
fix (Bug#3932).
2009-09-19 20:06:54 +00:00
Glenn Morris
6726c25e2d (define-derived-mode): Fix paren typo in definition of abbrev table. 2009-09-18 07:14:43 +00:00
Glenn Morris
88d5190ca2 (byte-compile-form): Always check the function arguments, whether or
not it has a handler.
2009-09-17 07:29:43 +00:00
Glenn Morris
a8106aecf0 (lisp-mode-syntax-table): Give it a doc-string. 2009-09-17 06:28:32 +00:00
Glenn Morris
e4a09a11d6 (emacs-lisp-mode-syntax-table): Give it a doc-string. 2009-09-17 06:26:59 +00:00
Glenn Morris
8480fc7c63 (byte-compile-not-obsolete-vars): Rename from byte-compile-not-obsolete-var.
It's a list now.
(byte-compile-not-obsolete-funcs): New variable.
(byte-compile-warn-obsolete): Don't warn about functions if they are in
byte-compile-not-obsolete-funcs.
(byte-compile-variable-ref, byte-compile-defvar): Update for
byte-compile-not-obsolete-vars name-change and list nature.
(byte-compile-maybe-guarded): Suppress warnings about obsolete functions
and variables behind (f)boundp tests.
2009-09-16 03:13:03 +00:00
Stefan Monnier
8fed6934e5 * Makefile.in (compile-onefile): Use byte-compile-refresh-preloaded.
* emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): Don't autoload.
2009-09-15 15:29:50 +00:00
Stefan Monnier
49fec53141 (byte-compile-refresh-preloaded): New function. 2009-09-15 04:03:35 +00:00
Glenn Morris
c276856990 (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.
2009-09-15 02:34:32 +00:00
Glenn Morris
d62e5bf28f (elint-add-required-env): Revert to not using temp-buffers (2009-09-12). 2009-09-14 00:48:06 +00:00
Glenn Morris
afdceaec7d (elint-init-env): Skip non-list forms.
(elint-log): Handle unknown file positions.
2009-09-12 22:32:52 +00:00
Glenn Morris
bf01513fff (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.
2009-09-12 18:48:22 +00:00
Glenn Morris
76314f2c03 (emacs-lisp-mode-map): Add menu entries to elint file and directory.
Remove initialization entry.
2009-09-12 02:42:03 +00:00
Glenn Morris
6974be68b6 (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.
2009-09-12 02:41:39 +00:00
Chong Yidong
30194d4d1b * emacs-lisp/elp.el (elp-not-profilable): Add more functions (Bug#4233). 2009-09-12 01:40:11 +00:00
Juanma Barranquero
b4587710d3 * emacs-lisp/cl-macs.el (help-add-fundoc-usage): Declare. 2009-09-11 22:59:36 +00:00
Juanma Barranquero
7e0aa125bc Update. 2009-09-11 12:05:45 +00:00
Glenn Morris
ae2fd0421f (define-compiler-macro): Add a property that records where a macro was
defined.
2009-09-11 03:39:28 +00:00
Glenn Morris
cb4fb1d065 (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.
2009-09-10 06:22:30 +00:00
Glenn Morris
ba661bf005 (degrees-to-radians): Mark as free from side effects. 2009-09-10 06:21:48 +00:00
Glenn Morris
b43704f2d7 (define-derived-mode): Give the mode's map, and syntax and abbrev
tables basic docs, if they don't have any.
2009-09-10 06:21:23 +00:00
Glenn Morris
117fdd32c7 (easy-mmode-defmap): Add doc-string. 2009-09-10 06:20:51 +00:00
Juanma Barranquero
3b814ebcdb Update. 2009-09-07 15:25:38 +00:00
Glenn Morris
3f12e5bd4c (emacs-lisp-file-regexp): Doc fix.
(byte-compile-dest-file-function): New option.
(byte-compile-dest-file): Doc fix.  Obey byte-compile-dest-file-function.
(byte-compile-cl-file-p): New function.
(byte-compile-eval): Only suppress noruntime warnings about cl functions
if the cl-functions warning is enabled.  Use byte-compile-cl-file-p.
(byte-compile-eval): Check for non-nil byte-compile-cl-functions rather
than for file being previously loaded.
(byte-compile-find-cl-functions): Use byte-compile-cl-file-p.
(byte-compile-file-form-require): Handle the case where requiring a file
indirectly causes CL to be loaded.
2009-09-05 19:10:37 +00:00
Glenn Morris
5b66944704 Comment. 2009-09-02 03:17:18 +00:00
Glenn Morris
95ed0f1100 (define-obsolete-face-alias): New macro. 2009-08-31 01:32:36 +00:00
Stefan Monnier
a1bf889a14 (lisp-complete-symbol): Use minibuffer-complete. 2009-08-30 21:45:36 +00:00
Stefan Monnier
73ebf88f15 (field-complete): Use minibuffer-complete. 2009-08-30 15:13:35 +00:00
Stefan Monnier
5ca4661e53 (define-minor-mode): Don't use symbol-value with constant argument. 2009-08-30 14:20:43 +00:00
Stefan Monnier
c61dc887f8 (debugger-setup-buffer): Make it multibyte. 2009-08-30 14:19:25 +00:00
Stefan Monnier
7eb73debbb (cl-macro-environment): Don't define it here. 2009-08-30 14:18:59 +00:00
Stefan Monnier
f9a9e6ea08 (cl-macro-environment): Provide a docstring. 2009-08-30 14:18:25 +00:00
Stefan Monnier
5fe443deae (checkdoc-force-history-flag):
Change default, since most of our files don't have a history.
(checkdoc-display-status-buffer): Don't use hidden buffers to show to the user.
2009-08-30 13:59:48 +00:00
Stefan Monnier
6444d64a4d (byte-compile-interactive-only-functions): Add comint-run. 2009-08-30 05:22:50 +00:00
Stefan Monnier
d988dbf687 (byte-compile-const-symbol-p):
Recognize immutable variables like most-positive-fixnum.
(byte-compile-setq-default): Check and warn if trying to assign
to an immutable variable, or a non-variable.
2009-08-29 14:44:45 +00:00
Juanma Barranquero
1e8eecea4b * arc-mode.el (archive-mode):
* emacs-lisp/re-builder.el (re-builder-unload-function):
  Protect against the default value of `major-mode' being nil.
2009-08-28 18:35:25 +00:00
Stefan Monnier
14acf2f55e * gnus/nnheader.el (nnheader-find-file-noselect):
* gnus/mm-util.el (mm-insert-file-contents):
* org/org-html.el (org-export-as-html):
* org/org-docbook.el (org-export-as-docbook):
* textmodes/reftex.el (reftex-get-file-buffer-force):
* progmodes/verilog-mode.el (verilog-batch-execute-func):
* emulation/viper.el (viper-go-away, viper-set-hooks):
* emacs-lisp/re-builder.el (re-builder-unload-function):
* emacs-lisp/bytecomp.el (byte-compile-file):
* ses.el (ses-unload-function):
* hexl.el (hexl-find-file):
* files.el (normal-mode):
* ehelp.el (with-electric-help):
* autoinsert.el (auto-insert-alist):
* arc-mode.el (archive-mode):
Use (default-value 'major-mode) instead of default-major-mode.
2009-08-28 17:02:53 +00:00
Stefan Monnier
72f16325c1 * textmodes/ispell.el (ispell-check-version, ispell-send-string):
* international/mule.el (load-with-code-conversion):
* emacs-lisp/debug.el (debug):
* ediff-vers.el (ediff-rcs-get-output-buffer):
* dired.el (dired-internal-noselect): Don't let-bind
default-major-mode around code that doesn't use it.
E.g. buffer creation via get-buffer-create doesn't use it.
2009-08-28 16:29:25 +00:00
Stefan Monnier
de70529f66 (edebug-display, edebug-outside-excursion):
Replace uses of default-cursor-in-non-selected-windows
with (default-value 'cursor-in-non-selected-windows).  Use with-current-buffer.
2009-08-28 04:12:49 +00:00
Juanma Barranquero
81cc988b44 Update. 2009-08-27 20:10:56 +00:00
Stefan Monnier
636a36a070 (byte-compile-lapcode): Fix up last change. 2009-08-26 14:47:23 +00:00
Stefan Monnier
8476cfaf3d (byte-compile-lapcode): Signal overflow. 2009-08-26 02:56:05 +00:00
Glenn Morris
d280e2c3f0 (byte-compile-file-form-require): Tweak previous change. 2009-08-25 07:36:49 +00:00
Glenn Morris
bac9c66cc7 (byte-compile-eval): Fix test for cl in load-history for absolute file-names.
(byte-compile-file-form-require): Warn about use of the cl package.
2009-08-25 07:28:16 +00:00
Glenn Morris
9167757662 Unify local variables at end.
Don't warn about use of cl functions in this file.
2009-08-25 06:52:09 +00:00
Glenn Morris
bc3b785303 Kevin Ryde <user42 at zip.com.au>
Fix keywords: comment.
2009-08-25 03:12:27 +00:00
Glenn Morris
9b89e3ee32 Kevin Ryde <user42 at zip.com.au>
(checkdoc-force-history-flag, checkdoc-arguments-in-order-flag):
Add safe-local-variable booleanp.
(checkdoc-symbol-words): Add safe-local-variable for list of strings.
Clarify docstring that the value is strings not symbols.
(checkdoc-list-of-strings-p): New function.
2009-08-22 23:02:14 +00:00
Glenn Morris
f43e88d459 (authors-fixed-entries): Remove cvtmail. 2009-08-19 02:53:53 +00:00
Stefan Monnier
1ae7942754 (lisp-indent-region): Remove unused function. 2009-08-16 15:40:50 +00:00