From 5f98a1d819065593407e75bfbeec7c0e43908bde Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 24 Jun 1995 07:43:26 +0000 Subject: [PATCH] (mail-hist-text-size-limit): New var. (mail-hist-text-too-long-p): New func. (mail-hist-add-header-contents-to-ring): call above; if the text is too long, then store the empty string in the history. --- lisp/mail/mail-hist.el | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lisp/mail/mail-hist.el b/lisp/mail/mail-hist.el index fa0db93e2c0..88ccd0dcc1d 100644 --- a/lisp/mail/mail-hist.el +++ b/lisp/mail/mail-hist.el @@ -180,12 +180,24 @@ HEADER is a string without the colon." (setq header (downcase header)) (cdr (assoc header mail-hist-header-ring-alist))) +(defvar mail-hist-text-size-limit nil + "*Don't store any header or body with more than this many characters. +If the value is nil, that means no limit on text size.") + +(defun mail-hist-text-too-long-p (text) + "Return t if TEXT does not exceed mail-hist's size limit. +The variable `mail-hist-text-size-limit' defines this limit." + (if mail-hist-text-size-limit + (> (length text) mail-hist-text-size-limit))) + (defsubst mail-hist-add-header-contents-to-ring (header &optional contents) "Add the contents of HEADER to the header history ring. Optional argument CONTENTS is a string which will be the contents -(instead of whatever's found in the header)." +\(instead of whatever's found in the header)." (setq header (downcase header)) - (let ((ring (cdr (assoc header mail-hist-header-ring-alist)))) + (let ((ctnts (or contents (mail-hist-current-header-contents))) + (ring (cdr (assoc header mail-hist-header-ring-alist)))) + (if (mail-hist-text-too-long-p ctnts) (setq ctnts "")) (or ring ;; If the ring doesn't exist, we'll have to make it and add it ;; to the mail-header-ring-alist: @@ -193,9 +205,7 @@ Optional argument CONTENTS is a string which will be the contents (setq ring (make-ring mail-hist-history-size)) (setq mail-hist-header-ring-alist (cons (cons header ring) mail-hist-header-ring-alist)))) - (ring-insert - ring - (or contents (mail-hist-current-header-contents))))) + (ring-insert ring ctnts))) ;;;###autoload (defun mail-hist-put-headers-into-history () -- 2.39.2