1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Make elint obsolete (bug#78685)

It never was very useful to begin with, produces lots of false positives,
and the byte-compiler has long eclipsed it in warning quality.

* lisp/emacs-lisp/elint.el: Move this file...
* lisp/obsolete/elint.el: ...here, and declare obsolete.
(elint-file, elint-directory, elint-current-buffer, elint-defun):
Declare obsolete.
(elint--file): Split from elint-file to avoid warning.
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu):
Remove elint menu entries.
* etc/NEWS: Announce
This commit is contained in:
Mattias Engdegård 2025-07-05 13:53:56 +02:00
parent a4712609b7
commit d1677d0a92
3 changed files with 15 additions and 10 deletions

View file

@ -2318,6 +2318,10 @@ indicate problems in Org, and if found, will ask whether the bug report
is actually about Org (in which case users should use the Org-specific
command for reporting bugs).
---
** The elint package is now obsolete.
Use the byte-compiler instead; it provides more and more useful warnings.
* New Modes and Packages in Emacs 31.1

View file

@ -5,6 +5,7 @@
;; Author: Peter Liljenberg <petli@lysator.liu.se>
;; Maintainer: emacs-devel@gnu.org
;; Created: May 1997
;; Obsolete-since: 31.1
;; Keywords: lisp
;; This file is part of GNU Emacs.
@ -24,6 +25,8 @@
;;; Commentary:
;; *Note: This package is obsolete. Use the byte-compiler instead.*
;; This is a linter for Emacs Lisp. Currently, it mainly catches
;; misspellings and undefined variables, although it can also catch
;; function calls with the wrong number of arguments.
@ -243,7 +246,11 @@ This environment can be passed to `macroexpand'."
;;;###autoload
(defun elint-file (file)
"Lint the file FILE."
(declare (obsolete nil "31.1"))
(interactive "fElint file: ")
(elint--file file))
(defun elint--file (file)
(setq file (expand-file-name file))
(or elint-builtin-variables
(elint-initialize))
@ -277,6 +284,7 @@ This environment can be passed to `macroexpand'."
(defun elint-directory (directory)
"Lint all the .el files in DIRECTORY.
A complicated directory may require a lot of memory."
(declare (obsolete nil "31.1"))
(interactive "DElint directory: ")
(let ((elint-running t))
(dolist (file (directory-files directory t))
@ -286,13 +294,14 @@ A complicated directory may require a lot of memory."
(not (auto-save-file-name-p file)))
(if (string-match elint-directory-skip-re file)
(message "Skipping file %s" file)
(elint-file file)))))
(elint--file file)))))
(elint-set-mode-line))
;;;###autoload
(defun elint-current-buffer ()
"Lint the current buffer.
If necessary, this first calls `elint-initialize'."
(declare (obsolete nil "31.1"))
(interactive)
(or elint-builtin-variables
(elint-initialize))
@ -312,6 +321,7 @@ If necessary, this first calls `elint-initialize'."
(defun elint-defun ()
"Lint the function at point.
If necessary, this first calls `elint-initialize'."
(declare (obsolete nil "31.1"))
(interactive)
(or elint-builtin-variables
(elint-initialize))

View file

@ -106,15 +106,6 @@ All commands in `lisp-mode-shared-map' are inherited by this map."
:help "Go to the start of the current function definition"]
["Up List" up-list
:help "Go one level up and forward"])
("Linting"
["Lint Defun" elint-defun
:help "Lint the function at point"]
["Lint Buffer" elint-current-buffer
:help "Lint the current buffer"]
["Lint File..." elint-file
:help "Lint a file"]
["Lint Directory..." elint-directory
:help "Lint a directory"])
("Profiling"
;; Maybe this should be in a separate submenu from the ELP stuff?
["Start Native Profiler..." profiler-start