jeremy-compostella / org-msg

OrgMsg is a GNU/Emacs global minor mode mixing up Org mode and Message mode to compose and reply to emails in a Outlook HTML friendly style.
GNU General Public License v3.0
275 stars 58 forks source link

I can't send emails #54

Closed arkhan closed 4 years ago

arkhan commented 4 years ago

Hello,

Great work with this package, in the last update I ran into the following error when trying to send an email, using mu4e or notmuch:

Debugger entered--Lisp error: (search-failed "[^\11\n\15 -퟿-�𐀀-􏿿]")
  re-search-forward("[^\11\n\15 -퟿-�𐀀-􏿿]")
  xml-escape-string("http://www.w3.org/1999/xhtml")
  #f(compiled-function (x) #<bytecode 0xab9821011ab8faa>)((xmlns . "http://www.w3.org/1999/xhtml"))
  mapcar(#f(compiled-function (x) #<bytecode 0xab9821011ab8faa>) ((xmlns . "http://www.w3.org/1999/xhtml") (lang . "en") (xml:lang . "en")))
  org-msg-attrs-str(((xmlns . "http://www.w3.org/1999/xhtml") (lang . "en") (xml:lang . "en")))
  org-msg-xml-to-str((html ((xmlns . "http://www.w3.org/1999/xhtml") (lang . "en") (xml:lang . "en")) (head nil (comment nil " 2020-05-28 jue 09:26 ") (meta ((http-equiv . "Content-Type") (content . "text/html;charset=utf-8"))) (meta ((name . "viewport") (content . "width=device-width, initial-scale=1"))) (meta ((name . "generator") (content . "Org mode")))) (body nil "\n" (div ((style . "font-family:\"Arial\";font-size:10pt;line-height:11p...") (id . "content")) "\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\nEstimado " (b nil "Edison") "," (br nil)) "\n\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\nEsto es una Prueba" (br nil)) "\n\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\nSaludos," (br nil)) "\n\n" (div ((style . "font-family:\"Arial\";font-size:10pt;margin-bottom:2...")) "\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\n– " (b nil "Edison Ibáñez") " " (br nil) (i nil "One Emacs to rule them all") (br nil)) "\n\n") "\n") "\n")))
  org-msg-prepare-to-send()
  run-hooks(message-send-hook)
  message-send(nil)
  #f(compiled-function (&optional arg) "Send message like `message-send', then, if no errors, exit from mail buffer.\nThe usage of ARG is defined by the instance that called Message.\nIt should typically alter the sending method in some way or other." (interactive "P") #<bytecode 0x106574e541912c00>)()
  apply(#f(compiled-function (&optional arg) "Send message like `message-send', then, if no errors, exit from mail buffer.\nThe usage of ARG is defined by the instance that called Message.\nIt should typically alter the sending method in some way or other." (interactive "P") #<bytecode 0x106574e541912c00>) nil)
  message-send-and-exit()
  org-msg-ctrl-c-ctrl-c()
  run-hook-with-args-until-success(org-msg-ctrl-c-ctrl-c)
  org-ctrl-c-ctrl-c(nil)
  funcall-interactively(org-ctrl-c-ctrl-c nil)
  call-interactively(org-ctrl-c-ctrl-c nil nil)
  command-execute(org-ctrl-c-ctrl-c)

But disabling org-msg emails are sent without any problem.

Thanks for the help

obar commented 4 years ago

Maybe try reinstalling the package? That's a very strange string in re-search-forward, it almost looks like an encoding problem.

arkhan commented 4 years ago

@obar I installed the package several times, I also tried sending an email with Latin accents without activating org-msg, and the email is going smoothly

obar commented 4 years ago

Any guess where the string "[^\11\n\15 -퟿-�𐀀-�]" would be coming from?

It might be worth listing your version of org and emacs.

jeremy-compostella commented 4 years ago

This is really weird.

If I evaluate the following expression from your stack it works like a charm in my Emacs 26.3 with the latest OrgMsg.

(org-msg-xml-to-str '(html ((xmlns . "http://www.w3.org/1999/xhtml") (lang . "en") (xml:lang . "en")) (head nil (comment nil " 2020-05-28 jue 09:26 ") (meta ((http-equiv . "Content-Type") (content . "text/html;charset=utf-8"))) (meta ((name . "viewport") (content . "width=device-width, initial-scale=1"))) (meta ((name . "generator") (content . "Org mode")))) (body nil "\n" (div ((style . "font-family:\"Arial\";font-size:10pt;line-height:11p...") (id . "content")) "\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\nEstimado " (b nil "Edison") "," (br nil)) "\n\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\nEsto es una Prueba" (br nil)) "\n\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\nSaludos," (br nil)) "\n\n" (div ((style . "font-family:\"Arial\";font-size:10pt;margin-bottom:2...")) "\n" (p ((style . "text-decoration:none;margin-bottom:0px;margin-top:...")) "\n– " (b nil "Edison Ibáñez") " " (br nil) (i nil "One Emacs to rule them all") (br nil)) "\n\n") "\n") "\n")))

Also the xml-escape-string("http://www.w3.org/1999/xhtml") evaluate fine and the xml-escape-string code I have in my emacs does not include any re-search-forward.

(defun xml-escape-string (string)
  "Convert STRING into a string containing valid XML character data.
Replace occurrences of &<>\\='\" in STRING with their default XML
entity references (e.g., replace each & with &amp;).

XML character data must not contain & or < characters, nor the >
character under some circumstances.  The XML spec does not impose
restriction on \" or \\=', but we just substitute for these too
\(as is permitted by the spec)."
  (with-temp-buffer
    (insert string)
    (dolist (substitution '(("&" . "&amp;")
                ("<" . "&lt;")
                (">" . "&gt;")
                ("'" . "&apos;")
                ("\"" . "&quot;")))
      (goto-char (point-min))
      (while (search-forward (car substitution) nil t)
    (replace-match (cdr substitution) t t nil)))
    (buffer-string)))

My conclusion is that it seems to have nothing to do with OrgMsg.

Regards, Jeremy

arkhan commented 4 years ago

@jeremy-compostella, @obar

Sure enough the problem was in the version of Emacs that I am using.

Sorry for the false alarm