emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 824a87f 1/2: Optimise ‘point in message header’ ch


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 824a87f 1/2: Optimise ‘point in message header’ check
Date: Tue, 09 Feb 2016 03:09:39 +0000

branch: master
commit 824a87f41f53eea3aa8ffcb9f065ce149213ebfb
Author: Michal Nazarewicz <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Optimise ‘point in message header’ check
    
    * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
    regular expression matches with a single bound string match thus
    reducing amount of work the function is doing.
---
 lisp/gnus/message.el |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 8a7ed4f..9460710 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -3524,12 +3524,12 @@ Message buffers and is not meant to be called directly."
 (defun message-point-in-header-p ()
   "Return t if point is in the header."
   (save-excursion
-    (and
-     (not
-      (re-search-backward
-       (concat "^" (regexp-quote mail-header-separator) "\n") nil t))
-     (re-search-forward
-      (concat "^" (regexp-quote mail-header-separator) "\n") nil t))))
+    (save-restriction
+      (widen)
+      (let ((bound (+ (point-at-eol) 1)) case-fold-search)
+        (goto-char (point-min))
+        (not (search-forward (concat "\n" mail-header-separator "\n")
+                             bound t))))))
 
 (defun message-do-auto-fill ()
   "Like `do-auto-fill', but don't fill in message header."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]