[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Dr. Erich Ruff
Sun, 06 Jun 2021 10:47:22 +0200
mu4e 1.4; emacs 27.2
ok I will use the list from now on.
Why do you think I try to write a function like
In my earlier mail I tried to find a way to read the alist of the
message-at-point. Thats the code you re-used in your functions.
On So 06 Jun 2021 at 10:02, Eduardo Ochs <email@example.com> wrote:
> Hi Erich!
> I want to ressurect this mailing list... can we use it for the
> discussion? It seems that you are trying to write a function with
> `find-find-links-links-new' - see:
> (find-eev "eev-tlinks.el" "find-find-links-links-new")
> and `ee-template0', and I never wrote proper docs for that...
> Here's a fixed & updated copy of the e-mail that I sent you.
> You are in the right direction, but I haven't been able to make mu4e
> work here yet... I have had to deal with situations similar to that a
> handful of times - in which I had to learn how to use data structures
> that are poorly documented - so I can sort of tell you what my hacking
> tools looked like after N incarnations. I'll try to adapt them to your
> case; the code is below. Note that will needs dynamic binding - see:
> ;; Here are some messages in help-gnu-emacs about dynamic binding
> ;; being deprecated:
> ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-06/msg00054.html
> ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-06/msg00085.html
> ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-06/msg00095.html
> ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-06/msg00096.html
> Here is the code. By using `M-x m4s' to save a mu4e message in the
> variable m4m we can use non-mu4e buffers for writing code and tests.
> Note that the code below doesn't use `ee-template0' or
> `find-find-links-links-new' yet, that will be the next step...
> (setq m4m nil)
> (defun m4s ()
> "Save the result of (mu4e-message-at-point) in the variable m4m."
> (setq m4m (mu4e-message-at-point)))
> (defun m4-eval (msg code)
> "Eval CODE in an environment in which some extra variables are available."
> (let* ((xid (mu4e-message-field msg :message-id))
> (xsubject (mu4e-message-field msg :subject))
> (xmail-nr (mu4e-message-field msg :docid))
> (xfrom (mu4e-message-field msg :from))
> (fromname (car (car xfrom)))
> (fromadr (cdr (car xfrom)))
> (xpath (mu4e-message-field msg :path))
> (xmaildir (mu4e-message-field msg :maildir))
> (xto (mu4e-message-field msg :to)))
> (eval code)))
> ;; (list (list "xid:" 'xid) (list "xsubject:" 'xsubject))
> ;; (find-epp (list (list "xid:" 'xid) (list "xsubject:" 'xsubject)))
> (defun m4-main-fields ()
> (list (list "xid:" xid)
> (list "xsubject:" xsubject)
> (list "xmail-nr:" xmail-nr)
> (list "xfrom:" xfrom)
> (list "fromname:" fromname)
> (list "fromadr:" fromadr)
> (list "xpath:" xpath)
> (list "xmaildir:" xmaildir)
> (list "xto:" xto)))
> ;; Tests:
> ;; (find-epp m4m)
> ;; (find-epp (m4-eval m4m 'msg))
> ;; (find-epp (m4-eval m4m '(m4-main-fields)))
> ;; (find-epp (m4-eval m4m '(list xfrom fromname)))
> Please feel free to ask any questions!
> Cheers, E. =)