[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/org-mime cf96f585c6: clean code per elpa.gnu style again
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/org-mime cf96f585c6: clean code per elpa.gnu style again |
Date: |
Sat, 21 May 2022 10:58:28 -0400 (EDT) |
branch: elpa/org-mime
commit cf96f585c68ad14751a3f73d937cbfcb890171b9
Author: Chen Bin <chenbin.sh@gmail.com>
Commit: Chen Bin <chenbin.sh@gmail.com>
clean code per elpa.gnu style again
---
.gitignore | 3 ++
README.org | 2 +-
org-mime.el | 38 +++++++++++---------------
test/org-mime-tests.el | 74 ++++++++++++++++++++++++--------------------------
4 files changed, 56 insertions(+), 61 deletions(-)
diff --git a/.gitignore b/.gitignore
index 5ed05fd76d..d29af04fd3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,9 @@ tramp
.org-id-locations
*_archive
+# ELPA -generated files
+/org-mime-autoloads.el
+/org-mime-pkg.el
### /Users/cb/.gitignore-boilerplates/Global/Vim.gitignore
diff --git a/README.org b/README.org
index f319ba8d5f..2330c65ceb 100644
--- a/README.org
+++ b/README.org
@@ -95,7 +95,7 @@ Below code renders text between "#" in red color,
#+end_src
For other customization options see the org-mime customization group.
** Beautify quoted mail when replying
-It already works out of box. Currently it emulates Gmail's style. You can go
back the old style by =(setq org-mime-beautify-quoted-mail-p nil)=.
+It already works out of box. Currently it emulates Gmail's style.
** Export options
To avoid exporting TOC, you can setup =org-mime-export-options= which
overrides Org default settings (but still inferior to file-local settings),
#+begin_src elisp
diff --git a/org-mime.el b/org-mime.el
index 51617ba98e..a73baadbfd 100644
--- a/org-mime.el
+++ b/org-mime.el
@@ -1,12 +1,12 @@
-;;; org-mime.el --- org html export for text/html MIME emails
+;;; org-mime.el --- org html export for text/html MIME emails -*-
lexical-binding: t; -*-
;; Copyright (C) 2010-2015 Eric Schulte, 2016-2021 Chen Bin
;; Author: Eric Schulte
-;; Maintainer: Chen Bin (redguardtoo)
+;; Maintainer: Chen Bin <chenbin.sh@gmail.com>
;; Keywords: mime, mail, email, html
;; Homepage: http://github.com/org-mime/org-mime
-;; Version: 0.2.6
+;; Version: 0.3.1
;; Package-Requires: ((emacs "25.1"))
;; This file is not part of GNU Emacs.
@@ -109,8 +109,7 @@
;; (while (re-search-forward "#\\([^#]*\\)#" nil t)
;; (replace-match "<span style=\"color:red\">\\1</span>"))))
;;
-;; 3. The quoted mail uses Gmail's style, so mail replies looks clean and
modern.
-;; If you prefer the old style, please set `org-mime-beautify-quoted-mail-p'
to nil.
+;; 3. The quoted mail uses Gmail's style, so reply looks clean and modern.
;;
;; 4. Please note this program can only embed exported HTML into mail.
;; Org-mode is responsible for rendering HTML.
@@ -127,6 +126,7 @@
(require 'outline)
(require 'org)
(require 'ox-org)
+(require 'message)
(defcustom org-mime-beautify-quoted-mail-p t
"Beautify quoted mail in more clean HTML, like Gmail."
@@ -446,8 +446,8 @@ CURRENT-FILE is used to calculate full path of images."
(buffer-string))
html))
-(defun org-mime-insert-html-content (plain file html opts)
- "Insert PLAIN into FILE with HTML content and OPTS."
+(defun org-mime-insert-html-content (plain file html)
+ "Insert PLAIN into FILE with HTML content."
(let* ((files (org-mime-extract-non-image-files))
;; dvipng for inline latex because MathJax doesn't work in mail
;; Also @see https://github.com/org-mime/org-mime/issues/16
@@ -581,7 +581,7 @@ If called with an active region only export that region,
otherwise entire body."
(insert "\n"))
;; insert converted html
- (org-mime-insert-html-content plain file html opts)
+ (org-mime-insert-html-content plain file html)
;; restore part tags
(when part-tags
@@ -596,13 +596,11 @@ If called with an active region only export that region,
otherwise entire body."
(set-text-properties 0 (length txt) nil txt)
txt))))
-(defun org-mime-compose (exported file to subject headers subtreep)
- "Create mail body from EXPORTED in FILE with TO, SUBJECT, HEADERS.
-If SUBTREEP is t, current org node is subtree."
+(defun org-mime-compose (exported file to subject headers)
+ "Create mail body from EXPORTED in FILE with TO, SUBJECT, HEADERS."
;; start composing mail
(let* ((html (car exported))
(plain (cdr exported))
- (export-opts (org-mime-get-export-options subtreep))
patched-html)
(compose-mail to subject headers nil)
(message-goto-body)
@@ -612,7 +610,7 @@ If SUBTREEP is t, current org node is subtree."
(run-hooks 'org-mime-pre-html-hook)
(buffer-string)))
;; insert text
- (org-mime-insert-html-content plain file patched-html export-opts)))
+ (org-mime-insert-html-content plain file patched-html)))
(defun org-mime-buffer-properties ()
"Extract buffer properties."
@@ -655,7 +653,6 @@ The cursor ends in the TO field."
(interactive)
(run-hooks 'org-mime-send-buffer-hook)
(let* ((org-html-klipsify-src nil)
- (region-p (org-region-active-p))
(file (buffer-file-name (current-buffer)))
(props (org-mime-buffer-properties))
(subject (or (plist-get props :MAIL_SUBJECT)
@@ -671,7 +668,7 @@ The cursor ends in the TO field."
(other-headers (org-mime-build-mail-other-headers cc
bcc
from)))
- (org-mime-compose exported file to subject other-headers nil)
+ (org-mime-compose exported file to subject other-headers)
(message-goto-to)))
(defun org-mime-org-major-version ()
@@ -723,10 +720,7 @@ Following headline properties can determine the mail
headers.
;; Thanks to Matt Price improving handling of cc & bcc headers
(other-headers (org-mime-build-mail-other-headers cc bcc from))
(org-export-show-temporary-export-buffer nil)
- (subtree-opts (when (fboundp 'org-export--get-subtree-options)
- (org-export--get-subtree-options)))
(org-export-show-temporary-export-buffer nil)
- (org-major-version (org-mime-org-major-version))
;; I wrap these bodies in export blocks because in
org-mime-compose
;; they get exported again. This makes each block conditionally
;; exposed depending on the backend.
@@ -734,7 +728,7 @@ Following headline properties can determine the mail
headers.
(org-mime-export-buffer-or-subtree
t))))
(save-restriction
(org-narrow-to-subtree)
- (org-mime-compose exported file to subject other-headers t))
+ (org-mime-compose exported file to subject other-headers))
(message-goto-to)))))
(defun org-mime-src--remove-overlay ()
@@ -807,8 +801,8 @@ Following headline properties can determine the mail
headers.
(defvar org-mime-src-mode-map
(let ((map (make-sparse-keymap)))
- (define-key map (kbd "C-c C-c") 'org-mime-edit-src-exit)
- (define-key map (kbd "C-x C-s") 'org-mime-edit-src-save)
+ (define-key map (kbd "C-c C-c") #'org-mime-edit-src-exit)
+ (define-key map (kbd "C-x C-s") #'org-mime-edit-src-save)
map))
(define-minor-mode org-mime-src-mode
@@ -891,7 +885,7 @@ Following headline properties can determine the mail
headers.
(message "Can not find plain text mail.")))))
(defun org-mime-confirm-when-no-multipart ()
- "Prompts whether to send email if the buffer is not htmlized."
+ "Prompt whether to send email if the buffer is not htmlized."
(let ((found-multipart (save-excursion
(save-restriction
(widen)
diff --git a/test/org-mime-tests.el b/test/org-mime-tests.el
index c043b43ee3..bab33369a4 100644
--- a/test/org-mime-tests.el
+++ b/test/org-mime-tests.el
@@ -1,4 +1,4 @@
-;; org-mime-tests.el --- unit tests for org-mime -*- coding: utf-8 -*-
+;; org-mime-tests.el --- unit tests for org-mime -*- lexical-binding: t; -*-
;; Author: Chen Bin <chenbin DOT sh AT gmail DOT com>
@@ -25,11 +25,11 @@
(require 'org-mime)
(require 'message)
-(defconst mail-header '("To: myname@mail.com\n"
+(defconst org-mime--mail-header '("To: myname@mail.com\n"
"Subject: test subject\n"
"From: My Name <myname@yahoo.com>\n"
"--text follows this line--\n"))
-(defconst mail-footer '("--\n"
+(defconst org-mime--mail-footer '("--\n"
"Yous somebody\n\n"
"--\n"
"Some quote\n"))
@@ -37,9 +37,9 @@
(defun run-org-mime-htmlize (&rest mail-body)
"Create mail containing MAIL-BODY and run `org-mime-htmlize'."
(with-temp-buffer
- (apply #'insert mail-header)
+ (apply #'insert org-mime--mail-header)
(apply #'insert mail-body)
- (apply #'insert mail-footer)
+ (apply #'insert org-mime--mail-footer)
(message-mode)
(goto-char (point-min))
(org-mime-htmlize)
@@ -63,7 +63,7 @@
(should (not (string-match "Table of Contents" str)))))
(ert-deftest test-org-mime-org-subtree-htmlize ()
- (let* (str opts)
+ (let* (str)
(with-temp-buffer
(insert "* hello\n"
"** world\n"
@@ -72,16 +72,15 @@
"#+end_src\n")
(org-mode)
(goto-char (point-min))
- (setq opts (org-mime-get-export-options t))
- (should opts)
+ (should (org-mime-get-export-options t))
(org-mime-org-subtree-htmlize)
- (switch-to-buffer (car (message-buffers)))
+ (set-buffer (car (message-buffers)))
(setq str (buffer-string)))
(should (string-match "Subject: hello" str))
(should (string-match "<#multipart" str))))
(ert-deftest test-org-mime-org-buffer-htmlize ()
- (let* (str opts props)
+ (let* (str props)
(with-temp-buffer
(insert
"#+PROPERTY: MAIL_SUBJECT My mail subject\n"
@@ -98,10 +97,9 @@
(org-mode)
(goto-char (point-min))
(setq props (org-mime-buffer-properties))
- (setq opts (org-mime-get-export-options t))
- (should opts)
+ (should (org-mime-get-export-options t))
(org-mime-org-buffer-htmlize)
- (switch-to-buffer (car (message-buffers)))
+ (set-buffer (car (message-buffers)))
(setq str (buffer-string)))
(should (string= "My mail subject" (plist-get props :MAIL_SUBJECT)))
(should (string= "Someone <someone@somewhere.tld>" (plist-get props
:MAIL_TO)))
@@ -144,8 +142,9 @@
;;; tests do not attempt to verify the exported coding type.
(ert-deftest test-org-mime-org-buffer-htmlize-ascii-plain-text ()
- (let (str opts)
- (setq orgBuf (generate-new-buffer "*org-mode-test-buf*"))
+ (let (str
+ (orgBuf (generate-new-buffer "*org-mode-test-buf*")))
+
(with-current-buffer orgBuf
(insert "#+OPTIONS: toc:nil num:nil\n"
"\n#+begin_example\n"
@@ -153,19 +152,17 @@
"#+end_example\n")
(org-mode)
(goto-char (point-min))
- (setq opts (org-mime-get-export-options t))
- (should opts)
- (mapcar (lambda (backend)
- (setq org-mime-export-ascii backend)
- (switch-to-buffer orgBuf)
- (org-mime-org-buffer-htmlize)
- (switch-to-buffer (car (message-buffers)))
- (setq str (buffer-string))
- (should (string-match "<#multipart" str))
- (if (car (memq backend '(ascii latin1 utf-8)))
- (should-not (string-match "#\\+begin_example" str))
- (should (string-match "#\\+begin_example" str))))
- '(nil bogus ascii latin1 utf-8)))
+ (should (org-mime-get-export-options t))
+ (dolist (backend '(nil bogus ascii latin1 utf-8))
+ (setq org-mime-export-ascii backend)
+ (set-buffer orgBuf)
+ (org-mime-org-buffer-htmlize)
+ (set-buffer (car (message-buffers)))
+ (setq str (buffer-string))
+ (should (string-match "<#multipart" str))
+ (if (car (memq backend '(ascii latin1 utf-8)))
+ (should-not (string-match "#\\+begin_example" str))
+ (should (string-match "#\\+begin_example" str)))))
(kill-buffer orgBuf)))
(ert-deftest test-org-mime-htmlize-ascii-plain-text ()
@@ -173,12 +170,12 @@
(mapcar (lambda (backend)
(setq org-mime-export-ascii backend)
(with-temp-buffer
- (apply #'insert mail-header)
+ (apply #'insert org-mime--mail-header)
(insert "#+OPTIONS: toc:nil num:nil\n"
"\n#+begin_example\n"
"$ echo nothing to see here\n"
"#+end_example\n")
- (apply #'insert mail-footer)
+ (apply #'insert org-mime--mail-footer)
(message-mode)
(goto-char (point-min))
(org-mime-htmlize)
@@ -195,7 +192,7 @@
;; Title, TOC, and Author.
(ert-deftest test-org-mime-org-subtree-htmlize-ascii-opts-t ()
- (let (str opts)
+ (let (str orgBuf)
(setq org-mime-export-options nil) ;; allow subtree properties
(setq org-mime-export-ascii 'utf-8)
(setq orgBuf (generate-new-buffer "*org-mode-test-buf*"))
@@ -214,13 +211,13 @@
"$ echo nothing to see here\n"
"#+end_example\n")
(org-mode)
- (switch-to-buffer orgBuf)
+ (set-buffer orgBuf)
;; export subtree for Section 2
(goto-char (point-min))
(search-forward "Section 2")
(goto-char (+ 1 (point)))
(org-mime-org-subtree-htmlize)
- (switch-to-buffer (car (message-buffers)))
+ (set-buffer (car (message-buffers)))
(setq str (buffer-string))
(setq case-fold-search nil) ;; match case for string-match
(should-not (string-match "#\\+begin_example" str))
@@ -233,7 +230,7 @@
(kill-buffer orgBuf)))
(ert-deftest test-org-mime-org-subtree-htmlize-ascii-opts-nil ()
- (let (str opts)
+ (let (str orgBuf)
(setq org-mime-export-options nil) ;; allow subtree properties
(setq org-mime-export-ascii 'utf-8)
(setq orgBuf (generate-new-buffer "*org-mode-test-buf*"))
@@ -252,13 +249,13 @@
"$ echo nothing to see here\n"
"#+end_example\n")
(org-mode)
- (switch-to-buffer orgBuf)
+ (set-buffer orgBuf)
;; export subtree for Section 2
(goto-char (point-min))
(search-forward "Section 2")
(goto-char (+ 1 (point)))
(org-mime-org-subtree-htmlize)
- (switch-to-buffer (car (message-buffers)))
+ (set-buffer (car (message-buffers)))
(setq str (buffer-string))
(setq case-fold-search nil) ;; match case for string-match
(should-not (string-match "#\\+begin_example" str))
@@ -270,6 +267,7 @@
(kill-buffer orgBuf)))
(ert-deftest test-org-mime-beautify-quoted-para-breaks ()
+ (let (html expected)
(setq html (concat "<p>\n"
"Hello there\n"
"</p>\n"
@@ -296,8 +294,8 @@
"\n"
"</div></blockquote>\n"
"</p>\n"))
- (setq beautified (org-mime-beautify-quoted html))
- (should (equal beautified expected)))
+ (should (equal (org-mime-beautify-quoted html)
+ expected))))
(ert-deftest test-org-mime-extract-non-org ()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [nongnu] elpa/org-mime cf96f585c6: clean code per elpa.gnu style again,
ELPA Syncer <=