X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=std11.el;h=080cae288cc0d58e45cfca257eed3453f6156d7c;hb=4a15ad0838f7f2ab125b4f766b127aefc828580c;hp=f36830d135ec2c7d7b5166d395c118e6e3452bfa;hpb=24febc0a2434ea9dbf0b72dbe1f068f1c5c1286e;p=elisp%2Fflim.git diff --git a/std11.el b/std11.el index f36830d..080cae2 100644 --- a/std11.el +++ b/std11.el @@ -48,18 +48,24 @@ (point) ) +(defsubst std11-fetch-field (name) + "Return the value of the header field NAME. +The buffer is expected to be narrowed to just the headers of the message." + (save-excursion + (goto-char (point-min)) + (let ((case-fold-search t)) + (if (re-search-forward (concat "^" name ":[ \t]*") nil t) + (buffer-substring-no-properties (match-end 0) (std11-field-end)) + )))) + (defun std11-field-body (name &optional boundary) - "Return body of field NAME. -If BOUNDARY is not nil, it is used as message header separator. -\[std11.el]" + "Return the value of the header field NAME. +If BOUNDARY is not nil, it is used as message header separator." (save-excursion (save-restriction (std11-narrow-to-header boundary) - (goto-char (point-min)) - (let ((case-fold-search t)) - (if (re-search-forward (concat "^" name ":[ \t]*") nil t) - (buffer-substring-no-properties (match-end 0) (std11-field-end)) - ))))) + (std11-fetch-field name) + ))) (defun std11-find-field-body (field-names &optional boundary) "Return the first found field-body specified by FIELD-NAMES