summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Sainty <psainty@orcon.net.nz>2021-01-10 14:29:32 +1300
committerPhil Sainty <psainty@orcon.net.nz>2021-03-21 16:02:42 +1300
commit99dd12130e695c1e2444e6322c73cb8a2e3632f3 (patch)
tree8abdd7b21c1f263365dd6a7ef0564085585257c7
parent1ed2008688274d93ab4f7051a932ab4dc7d3ebd6 (diff)
downloademacs-99dd12130e695c1e2444e6322c73cb8a2e3632f3.tar.gz
Increase `so-long-threshold' and `so-long-max-lines' defaults
* 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.
-rw-r--r--etc/NEWS7
-rw-r--r--lisp/so-long.el11
2 files changed, 13 insertions, 5 deletions
diff --git a/etc/NEWS b/etc/NEWS
index c6021663976..63bdbad448e 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2232,6 +2232,13 @@ You can type 'C-x u u' instead of 'C-x u C-x u' to undo many changes,
transient mode and then is executed normally. 'repeat-exit-key'
defines an additional key to exit mode like 'isearch-exit' ('RET').
+** 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.
+
* New Modes and Packages in Emacs 28.1
diff --git a/lisp/so-long.el b/lisp/so-long.el
index 9fdc356fff7..a70b37ad15d 100644
--- a/lisp/so-long.el
+++ b/lisp/so-long.el
@@ -391,7 +391,8 @@
;; * 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'.
@@ -491,14 +492,14 @@
: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,
@@ -510,7 +511,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.