help-gnu-emacs
[Top][All Lists]
Advanced

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

mailrc


From: Emanuel Berg
Subject: mailrc
Date: Wed, 01 Dec 2021 01:22:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

;;; -*- lexical-binding: t -*-
;;;
;;; this file:
;;;   http://user.it.uu.se/~embe8573/emacs-init/gnus/mailrc.el
;;;   https://dataswamp.org/~incal/emacs-init/gnus/mailrc.el

(require 'cl-lib)
(require 'subr-x)

(defun mailrc-read-name ()
  (save-excursion
    (goto-char (point-at-bol))
    (let*((peol (point-at-eol))
          (beg  (search-forward "\"" peol t))
          (end  (search-forward "<"  peol t)))
      (when (and beg end)
        (string-trim
         (buffer-substring-no-properties beg (1- end)) )))))

(defun mailrc-read-mail ()
  (save-excursion
    (goto-char (point-at-bol))
    (let*((peol (point-at-eol))
          (beg  (search-forward "<" peol t))
          (end  (search-forward ">" peol t)))
      (when (and beg end)
        (string-trim
         (buffer-substring-no-properties beg (1- end)) )))))

(let ((mailrc-all-mails '()))
  (defun parse-mailrc-line ()
    (let*((name  (mailrc-read-name))
          (mail  (mailrc-read-mail))
          (entry (and name mail (list name mail))) )
      (when entry
        (push entry mailrc-all-mails) )))
  (declare-function parse-mailrc-line nil)

  (defun parse-mailrc-file ()
    (interactive)
    (save-excursion
      (goto-char (point-min))
      (cl-loop while (zerop (forward-line 1))
               do (parse-mailrc-line) ))
    mailrc-all-mails)
  (declare-function parse-mailrc-file nil) )

-- 
underground experts united
https://dataswamp.org/~incal




reply via email to

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