[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/gnus-mock 5431bdd 13/27: [gnus-mock] Fix two small bugs
From: |
Stefan Monnier |
Subject: |
[elpa] externals/gnus-mock 5431bdd 13/27: [gnus-mock] Fix two small bugs, bump version to 0.2.1 |
Date: |
Tue, 1 Dec 2020 10:11:38 -0500 (EST) |
branch: externals/gnus-mock
commit 5431bdd74bca04e47310896ffcb2abebe5c27f29
Author: Eric Abrahamsen <eric@ericabrahamsen.net>
Commit: Eric Abrahamsen <eric@ericabrahamsen.net>
[gnus-mock] Fix two small bugs, bump version to 0.2.1
* packages/gnus-mock/gnus-mock.el (gnus-mock-start): First,
mock-tmp-dir is referred to within the condition-case error cases,
so needs to be let outside of that. Second, gnus-init-file was being
defined without the trailing ".el", which Gnus can handle, but
wasn't matching the destination of `gnus-mock-gnus-file'. Unify on
"gnus.el".
---
gnus-mock.el | 234 +++++++++++++++++++++++++++++------------------------------
1 file changed, 117 insertions(+), 117 deletions(-)
diff --git a/gnus-mock.el b/gnus-mock.el
index 2e7813a..661559b 100644
--- a/gnus-mock.el
+++ b/gnus-mock.el
@@ -5,7 +5,7 @@
;; Author: Eric Abrahamsen <eric@ericabrahamsen.net>
;; Maintainer: Eric Abrahamsen <eric@ericabrahamsen.net>
;; Package-Type: multi
-;; Version: 0.2.0
+;; Version: 0.2.1
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -138,124 +138,124 @@ The new Emacs process will be started as \"-Q\", with
the mock
Gnus settings pre-loaded. Any of the normal Gnus entry points
will start a mock Gnus session."
(interactive)
- (condition-case nil
- (let* ((mock-tmp-dir (make-temp-file "emacs-gnus-mock-" t))
- (init-file (expand-file-name "init.el" mock-tmp-dir)))
- (with-temp-buffer
- (let ((standard-output (current-buffer))
- (print-circle nil))
- (prin1
- `(setq gnus-home-directory ,mock-tmp-dir
- init-file-user "mockturtle"
- sendmail-program
- ,(expand-file-name gnus-mock-sendmail-program
- mock-tmp-dir)
- message-directory ,mock-tmp-dir
- gnus-startup-file
- ,(expand-file-name ".newsrc" mock-tmp-dir)
- gnus-init-file
- ,(expand-file-name ".gnus" mock-tmp-dir)
- nndraft-directory
- ,(expand-file-name "drafts/" mock-tmp-dir)
- gnus-agent-directory
- ,(expand-file-name "agent/" mock-tmp-dir)
- gnus-directory
- ,(expand-file-name "News/" mock-tmp-dir)))
- (princ "\n\n")
- ;; Constant that can be checked if we need to know it's a mock
- ;; session.
- (prin1 '(defconst gnus-mock-p t))
- (princ "\n")
- ;; Constant for use in `gnus-mock-reload', which is defined in
- ;; the .gnus.el startup file.
- (prin1 `(defconst gnus-mock-data-dir ,gnus-mock-data-dir))
- (when gnus-mock-cleanup-p
- (princ "\n")
- (prin1 `(add-hook 'kill-emacs-hook
- (lambda () (delete-directory
- ,mock-tmp-dir t)))))
- (when gnus-mock-use-images
- (princ "\n")
- (prin1 `(add-to-list 'load-path
- ,(format "%s/data" mock-tmp-dir))))
- (write-file init-file)))
- ;; Put our data and config in place.
- (copy-directory
- gnus-mock-data-dir
- (file-name-as-directory mock-tmp-dir) nil nil t)
- ;; Git doesn't let us commit empty directories, so create our
- ;; necessary empty maildir bits.
- (mapc (lambda (path) (make-directory path t))
- (mapcar (lambda (dir)
- (format "%s/test/%s" mock-tmp-dir dir))
- '("Welcome/new" "Welcome/tmp" "Welcome/.nnmaildir/marks"
- "incoming/tmp" "incoming/new" "incoming/cur"
- "incoming/.nnmaildir/marks" "incoming/.nnmaildir/nov"
- "mails/tmp" "mails/new" "mails/.nnmaildir/marks")))
- ;; Possibly insert additional config.
- (when gnus-mock-init-file
- (with-temp-buffer
- (insert-file-contents gnus-mock-init-file)
- (append-to-file
- (point-min) (point-max) init-file)))
- (when gnus-mock-gnus-file
+ (let ((mock-tmp-dir (make-temp-file "emacs-gnus-mock-" t)))
+ (condition-case nil
+ (let ((init-file (expand-file-name "init.el" mock-tmp-dir)))
(with-temp-buffer
- (insert-file-contents gnus-mock-gnus-file)
- (append-to-file
- (point-min) (point-max)
- (expand-file-name ".gnus.el" mock-tmp-dir))))
- ;; Possibly add an nnimap server.
- (when gnus-mock-dovecot-imap-program
- (with-temp-buffer
- (insert "\n\n")
- (prin1
- `(add-to-list
- 'gnus-secondary-select-methods
- (quote (nnimap
- "Mocky"
- (nnimap-stream shell)
- (nnimap-shell-program
- ,(concat
- gnus-mock-dovecot-imap-program
- (format " -o mail_location=maildir:%s/imapmail/mail"
- mock-tmp-dir))))))
- (current-buffer))
- (append-to-file
- (point-min) (point-max)
- (expand-file-name ".gnus.el" mock-tmp-dir))))
- ;; There are absolute paths in the .newsrc.eld file, so doctor
- ;; that file.
- (with-current-buffer (find-file-noselect
- (expand-file-name ".newsrc.eld" mock-tmp-dir))
- (while (re-search-forward "REPLACE_ME" (point-max) t)
- (replace-match mock-tmp-dir t))
+ (let ((standard-output (current-buffer))
+ (print-circle nil))
+ (prin1
+ `(setq gnus-home-directory ,mock-tmp-dir
+ init-file-user "mockturtle"
+ sendmail-program
+ ,(expand-file-name gnus-mock-sendmail-program
+ mock-tmp-dir)
+ message-directory ,mock-tmp-dir
+ gnus-startup-file
+ ,(expand-file-name ".newsrc" mock-tmp-dir)
+ gnus-init-file
+ ,(expand-file-name ".gnus.el" mock-tmp-dir)
+ nndraft-directory
+ ,(expand-file-name "drafts/" mock-tmp-dir)
+ gnus-agent-directory
+ ,(expand-file-name "agent/" mock-tmp-dir)
+ gnus-directory
+ ,(expand-file-name "News/" mock-tmp-dir)))
+ (princ "\n\n")
+ ;; Constant that can be checked if we need to know it's a mock
+ ;; session.
+ (prin1 '(defconst gnus-mock-p t))
+ (princ "\n")
+ ;; Constant for use in `gnus-mock-reload', which is defined in
+ ;; the .gnus.el startup file.
+ (prin1 `(defconst gnus-mock-data-dir ,gnus-mock-data-dir))
+ (when gnus-mock-cleanup-p
+ (princ "\n")
+ (prin1 `(add-hook 'kill-emacs-hook
+ (lambda () (delete-directory
+ ,mock-tmp-dir t)))))
+ (when gnus-mock-use-images
+ (princ "\n")
+ (prin1 `(add-to-list 'load-path
+ ,(format "%s/data" mock-tmp-dir))))
+ (write-file init-file)))
+ ;; Put our data and config in place.
+ (copy-directory
+ gnus-mock-data-dir
+ (file-name-as-directory mock-tmp-dir) nil nil t)
+ ;; Git doesn't let us commit empty directories, so create our
+ ;; necessary empty maildir bits.
+ (mapc (lambda (path) (make-directory path t))
+ (mapcar (lambda (dir)
+ (format "%s/test/%s" mock-tmp-dir dir))
+ '("Welcome/new" "Welcome/tmp" "Welcome/.nnmaildir/marks"
+ "incoming/tmp" "incoming/new" "incoming/cur"
+ "incoming/.nnmaildir/marks" "incoming/.nnmaildir/nov"
+ "mails/tmp" "mails/new" "mails/.nnmaildir/marks")))
+ ;; Possibly insert additional config.
+ (when gnus-mock-init-file
+ (with-temp-buffer
+ (insert-file-contents gnus-mock-init-file)
+ (append-to-file
+ (point-min) (point-max) init-file)))
+ (when gnus-mock-gnus-file
+ (with-temp-buffer
+ (insert-file-contents gnus-mock-gnus-file)
+ (append-to-file
+ (point-min) (point-max)
+ (expand-file-name ".gnus.el" mock-tmp-dir))))
+ ;; Possibly add an nnimap server.
(when gnus-mock-dovecot-imap-program
- (goto-char (point-max))
- (insert "\n\n")
- (prin1
- '(setq
- gnus-newsrc-alist
- (append
- gnus-newsrc-alist
- '(("nnimap+Mocky:INBOX" 3 nil ((unexist) (seen (1 . 32)))
- "nnimap:Mocky" ((modseq . "33") (uidvalidity . "1541087103")
- (active 1 . 32)
- (permanent-flags %Answered %Flagged %Deleted
- %Seen %Draft %*)))
- ("nnimap+Mocky:emacs-devel" 3 nil ((unexist 0))
- "nnimap:Mocky" ((modseq . "21") (uidvalidity . "1541087104")
- (active 0 . 20)
- (permanent-flags %Answered %Flagged %Deleted
- %Seen %Draft %*))))))
- (current-buffer)))
- (basic-save-buffer))
- (make-process :name "gnus-mock" :buffer nil
- :command (list gnus-mock-emacs-program
- "-Q" "--load" init-file)
- :stderr "*gnus mock errors*"))
- (error (when (and gnus-mock-cleanup-p
- (file-exists-p mock-tmp-dir))
- (delete-directory mock-tmp-dir t)))))
+ (with-temp-buffer
+ (insert "\n\n")
+ (prin1
+ `(add-to-list
+ 'gnus-secondary-select-methods
+ (quote (nnimap
+ "Mocky"
+ (nnimap-stream shell)
+ (nnimap-shell-program
+ ,(concat
+ gnus-mock-dovecot-imap-program
+ (format " -o mail_location=maildir:%s/imapmail/mail"
+ mock-tmp-dir))))))
+ (current-buffer))
+ (append-to-file
+ (point-min) (point-max)
+ (expand-file-name ".gnus.el" mock-tmp-dir))))
+ ;; There are absolute paths in the .newsrc.eld file, so doctor
+ ;; that file.
+ (with-current-buffer (find-file-noselect
+ (expand-file-name ".newsrc.eld" mock-tmp-dir))
+ (while (re-search-forward "REPLACE_ME" (point-max) t)
+ (replace-match mock-tmp-dir t))
+ (when gnus-mock-dovecot-imap-program
+ (goto-char (point-max))
+ (insert "\n\n")
+ (prin1
+ '(setq
+ gnus-newsrc-alist
+ (append
+ gnus-newsrc-alist
+ '(("nnimap+Mocky:INBOX" 3 nil ((unexist) (seen (1 . 32)))
+ "nnimap:Mocky" ((modseq . "33") (uidvalidity .
"1541087103")
+ (active 1 . 32)
+ (permanent-flags %Answered %Flagged
%Deleted
+ %Seen %Draft %*)))
+ ("nnimap+Mocky:emacs-devel" 3 nil ((unexist 0))
+ "nnimap:Mocky" ((modseq . "21") (uidvalidity .
"1541087104")
+ (active 0 . 20)
+ (permanent-flags %Answered %Flagged
%Deleted
+ %Seen %Draft %*))))))
+ (current-buffer)))
+ (basic-save-buffer))
+ (make-process :name "gnus-mock" :buffer nil
+ :command (list gnus-mock-emacs-program
+ "-Q" "--load" init-file)
+ :stderr "*gnus mock errors*"))
+ (error (when (and gnus-mock-cleanup-p
+ (file-exists-p mock-tmp-dir))
+ (delete-directory mock-tmp-dir t))))))
(provide 'gnus-mock)
;;; gnus-mock.el ends here
- [elpa] externals/gnus-mock 4d8423a 01/27: Gnus mock initial commit, (continued)
- [elpa] externals/gnus-mock 4d8423a 01/27: Gnus mock initial commit, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock a9208d3 02/27: Split gnus-mock-settings-file into two separate options, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 20ed31e 03/27: Create necessary empty maildir on startup, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock e533ff2 06/27: Provide support for fakesendmail script in windows, bump to 0.1.1, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 9a13623 09/27: * gnus-mock.el: Make sure the 'data' subdir is included, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 6beed29 07/27: packages/gnus-mock: Adjust copyright, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock d499861 04/27: Warn user if sendmail-program is unavailable, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 88de2e8 05/27: Maybe clean up dirs if the start process fails, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock a21fb5d 08/27: gnus-mock/data/.gnus.el: Fix comment, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 9cf301f 10/27: [gnus-mock] Zoop the condition-case up around the whole function, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 5431bdd 13/27: [gnus-mock] Fix two small bugs, bump version to 0.2.1,
Stefan Monnier <=
- [elpa] externals/gnus-mock 5564ed9 15/27: [gnus-mock] Don't completely swallow errors, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock de629d1 20/27: [gnus-mock] Add Paul Eggert's misencoded Gnus message, bump to 0.4.2, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock adbd14e 24/27: [gnus-mock] Improvement to previous patch, bump to 0.4.4, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 35692d0 26/27: [gnus-mock] Add guard around setting sendmail-program, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 9196a0f 11/27: [gnus-mock] Instead of inserting strings, use princ and prin1, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock ab39a00 12/27: [gnus-mock] Conditionally add nnimap server, bump to 0.2.0, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 0e8663e 14/27: [gnus-mock] Add Cyrillic group to the nnimap server, bump to 0.3.0, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 5c2d129 19/27: [gnus-mock] Create empty draft/queue directories in advance, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock 91b3515 25/27: [gnus-mock] Munge maildir article filenames, bump to 0.4.5, Stefan Monnier, 2020/12/01
- [elpa] externals/gnus-mock d6b2564 18/27: Add nnml server with non-ASCII group name, bump to 0.4.1, Stefan Monnier, 2020/12/01