]> git.eshelyaron.com Git - emacs.git/commitdiff
Increase `so-long-threshold' and `so-long-max-lines' defaults
authorPhil Sainty <psainty@orcon.net.nz>
Sun, 10 Jan 2021 01:29:32 +0000 (14:29 +1300)
committerPhil Sainty <psainty@orcon.net.nz>
Tue, 3 Aug 2021 11:20:06 +0000 (23:20 +1200)
* lisp/so-long.el (so-long-threshold, so-long-max-lines): Increase
default values to reduce false-positives.

* etc/NEWS: Describe changes.

Lines shorter than 10,000 characters shouldn't generally be causing
problems, so testing this explicitly will largely eliminate
false-positives.  We must also increase the maximum number of lines
to check, because 'minified' code may still include newlines, and so
there may be many lines shorter than the new threshold before we find
a line which exceeds it.

Previously we used a minimum-effort heuristic, testing a very small
number of lines against a maximum length which, while not remotely
long enough to cause problems, would nevertheless be uncommon in any
normal file of programming code (and hence indicative that the file
was likely to be minified code).

Testing indicates that the performance penalty for the larger values
should be negligible.

etc/NEWS
lisp/so-long.el

index 95a2c87d05450417d18189003ce2ebaf3efd5f9e..9f22d78159c5e69c74e099f8d451ddac80abd1f8 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2854,6 +2854,13 @@ GPG key servers can now be queried for keys with the
 'M-x epa-search-keys' command.  Keys can then be added to your
 personal key ring.
 
+** So Long
+
+---
+*** 'so-long-threshold' and 'so-long-max-lines' have been raised to
+10000 characters and 500 lines respectively, to reduce the likelihood
+of false-positives when 'global-so-long-mode' is enabled.
+
 \f
 * New Modes and Packages in Emacs 28.1
 
index bb996930b50e02dd228af94f971b00b05ce312dc..58857deb4770e6f6baaa4189e1df49a65b1d6174 100644 (file)
 
 ;; * Change Log:
 ;;
-;; 1.1   - ?
+;; 1.1   - Increase `so-long-threshold' from 250 to 10,000.
+;;       - Increase `so-long-max-lines' from 5 to 500.
 ;; 1.0   - Included in Emacs 27.1, and in GNU ELPA for prior versions of Emacs.
 ;;       - New global mode `global-so-long-mode' to enable/disable the library.
 ;;       - New user option `so-long-action'.
   :prefix "so-long"
   :group 'convenience)
 
-(defcustom so-long-threshold 250
+(defcustom so-long-threshold 10000
   "Maximum line length permitted before invoking `so-long-function'.
 
 See `so-long-detected-long-line-p' for details."
   :type 'integer
-  :package-version '(so-long . "1.0"))
+  :package-version '(so-long . "1.1"))
 
-(defcustom so-long-max-lines 5
+(defcustom so-long-max-lines 500
   "Number of non-blank, non-comment lines to test for excessive length.
 
 If nil then all lines will be tested, until either a long line is detected,
@@ -513,7 +514,7 @@ be counted.
 See `so-long-detected-long-line-p' for details."
   :type '(choice (integer :tag "Limit")
                  (const :tag "Unlimited" nil))
-  :package-version '(so-long . "1.0"))
+  :package-version '(so-long . "1.1"))
 
 (defcustom so-long-skip-leading-comments t
   "Non-nil to ignore all leading comments and whitespace.