Re: [O] Can't email multipart/alternative anymore
Aaron Ecay writes: > > As Nicolas said, it would be good to know if upgrading org fixes the > issue that you see. I just tried updated via the list-packages, but ... 1) org-version now says 8.3.2 (formerly 8.2.10) 2) I now get this error: Making completion list... Quit Mark set [2 times] org-babel-exp process dot at line 9... executing Dot code block... Wrote /var/folders/d4/xb7t0gbd0f97p6494kz5xzdnmlncz8/T/babel-27532hcO/ob-input-27532inY Code block evaluation complete. apply: Wrong type argument: listp, #("Org Mime Org Buffer HTMLize test" 0 32 (:parent (#0))) 3) The stackdump for this: Debugger entered--Lisp error: (wrong-type-argument listp #("Org Mime Org Buffer HTMLize test" 0 32 (:parent (#1 org-element-set-contents(#("Org Mime Org Buffer HTMLize test" 0 32 (:parent (#0 apply(org-element-set-contents #("Org Mime Org Buffer HTMLize test" 0 32 (:parent (#0))) nil) #[(s) "\306\307\310#\311\312 \211:\204 \313\202\"@9\203!AA\202\")\"\210\314\315\n \211:\2043\313\202@@9\203?AA\202@)#\210 \316\211\n;\203V\317\320\f#\202\\\321A@\f\"*\211;\203n\322\313\f $\202zA\323A@\f #\240\210+\210\nA A@\240\210\n@\240*\207" [s new old element property value replace-regexp-in-string "\n" " " mapc #[(blob) "\305 \211;\203 \306\f\307\n$\202 \fA\310\fA@\n#\240\210\f+\207" [blob old value property element :parent org-add-props nil plist-put] 6] nil apply org-element-set-contents :parent get-text-property 0 plist-get org-add-props plist-put] 6](#("Org Mime Org Buffer HTMLize test" 0 32 (:parent (#0 #[(--data) "\211:\204 ;\205 \306\202 @9\205 @)?\206\337\203,\307\310\">\206\337\n\2047\311\f\"\202\337\n\312=\203\\\311\f\211:\204J\313\202W @9\203V AA\202W )\"\202\337\n >\203\202!\211\203\201\203z\314\315\"\210\202\201B)\316=\203\312;\204\312\n\236A\313\211\203\311@\f > ;\203\266\317\320 #\202\275\307 >A@\"*!\210A\211\204\234*\203\202\316=\203\202\n>\203\202\313 >\211\203\201@\211 @ A ;\203\317\320 #\202\307 >A@\"*!\"!\203w\"#\235\203_\"$\235\203P\321!!\313%\211\203L@%\f%A!\210\f%@!\210A\211\2042*\202w\f!A!\210\f!@!\210\202w\"$\235\203r\311\f\321!!\"\210\202w\f!!\210*A\211\204\350*\n&>\206\337\211:\204\224\313\202\241 > @9\203\240 AA\202\241 >)?\206\337\322=\203\265\n'>?\206\337\323=\203\303\n(>\206\337\311\f\211:\204\320\313\202\335 > @9\203\334 AA\202\335 )\")\207" [--data element --type info >--walk-tree types plain-text plist-get :ignore-list mapc org-data nil throw >--map-first-match objects get-text-property 0 reverse greater-elements >elements fun result first-match --acc --category >org-element-secondary-value-alist p --dolist-tail-- property with-affiliated >org-element-all-elements org-element--parsed-properties-alist kwd-pair value >kwd org-element-dual-keywords org-element-multiple-keywords line no-recursion >org-element-greater-elements org-element-all-objects] 6](#("Org Mime Org >Buffer HTMLize test" 0 32 (:parent (#0 mapc(#[(--data) "\211:\204 ;\205 \306\202 @9\205 @)?\206\337\203,\307\310\">\206\337\n\2047\311\f\"\202\337\n\312=\203\\\311\f\211:\204J\313\202W @9\203V AA\202W )\"\202\337\n >\203\202!\211\203\201\203z\314\315\"\210\202\201B)\316=\203\312;\204\312\n\236A\313\211\203\311@\f > ;\203\266\317\320 #\202\275\307 >A@\"*!\210A\211\204\234*\203\202\316=\203\202\n>\203\202\313 >\211\203\201@\211 @ A ;\203\317\320 #\202\307 >A@\"*!\"!\203w\"#\235\203_\"$\235\203P\321!!\313%\211\203L@%\f%A!\210\f%@!\210A\211\2042*\202w\f!A!\210\f!@!\210\202w\"$\235\203r\311\f\321!!\"\210\202w\f!!\210*A\211\204\350*\n&>\206\337\211:\204\224\313\202\241 > @9\203\240 AA\202\241 >)?\206\337\322=\203\265\n'>?\206\337\323=\203\303\n(>\206\337\311\f\211:\204\320\313\202\335 > @9\203\334 AA\202\335 )\")\207" [--data element --type info >--walk-tree types plain-text plist-get :ignore-list mapc org-data nil throw >--map-first-match objects get-text-property 0 reverse greater-elements >elements fun result first-match --acc --category >org-element-secondary-value-alist p --dolist-tail-- property with-affiliated >org-element-all-elements org-element--parsed-properties-alist kwd-pair value >kwd org-element-dual-keywords org-element-multiple-keywords line no-recursion >org-element-greater-elements org-element-all-objects] 6] (#("Org Mime Org >Buffer HTMLize test" 0 32 (:parent #0 #[(--data) "\211:\204 ;\205 \306\202 @9\205 @)?\206\337\203,\307\310\">\206\337\n\2047\311\f\"\202\337\n\312=\203\\\311\f\211:\204J\313\202W @9\203V AA\202W )\"\202\337\n >\203\202!\211\203\201\203z\314\315\"\210\202\201B)\316=\203\312;\204\312\n\236A\313\211\203\311@\f > ;\203\266\317\320 #\202\275\307 >A@\"*!\210A\211\204\234*\203\202\316=\203\202\n>\203\202\313 >\211\203\201@\211 @ A ;\203
Re: [O] Can't email multipart/alternative anymore
On 10/24/15 10:28 AM, Nicolas Goaziou wrote: Peter Davis writes: Possibly. I'm not sure how to determine that. FWIW, org-version tells me 8.2.5g. I suggest to update Org and try again. I will report back when I get a chance to do the upgrade. Thanks, -pd
Re: [O] Can't email multipart/alternative anymore
2015ko urriak 23an, Peter Davis-ek idatzi zuen: > > On 10/23/15 4:44 PM, Nicolas Goaziou wrote: >> Hello, >> >> Aaron Ecay writes: >> >>> Based on the backtrace, I think that if you do M-x load-library RET >>> ox-org RET your error should disappear. >>> >>> If that’s the cause, the attached (draft) patch should give a better >>> error message in cases like this. >> Thank you. >> >> However, `org-export-barf-if-invalid-backend' raises an error, not >> a user-error. IOW, it doesn't need to be verbose: it is a bug if a user >> sees it anyway. > > Actually, I didn't see the barf part in the mini-buffer. All I saw there > was: > > Unknown "nil" back-end: Aborting export Indeed – the patch I sent was targeted at better error messages, not at avoiding the error. (I first tried to automatically load ox-org in the relevant case, but that runs into circular require problems). I could do a smaller patch which just changes the error message text within o-e-barf-if-invalid-backend. Or drop it if you feel it’s not worth it. > > > I copied the rest from *Messages* >> I suggest to (require 'ox-org) where appropriate and fix the issue. >> I didn't look closely at the problem so you know better than me where >> this line should be added. > I replied earlier, but it doesn't seem to have shown up on the list yet. > Explicitly loading ox-org *did* fix the problem for me, but I already have > > (require 'ox-org) > > in my .emacs file, so I'm not sure why that was ineffective. As Nicolas said, it would be good to know if upgrading org fixes the issue that you see. Thanks, -- Aaron Ecay
Re: [O] Can't email multipart/alternative anymore
Peter Davis writes: > Possibly. I'm not sure how to determine that. FWIW, org-version tells > me 8.2.5g. I suggest to update Org and try again. Regards,
Re: [O] Can't email multipart/alternative anymore
On 10/24/15 8:07 AM, Nicolas Goaziou wrote: Peter Davis writes: I replied earlier, but it doesn't seem to have shown up on the list yet. Explicitly loading ox-org *did* fix the problem for me, but I already have (require 'ox-org) in my .emacs file, so I'm not sure why that was ineffective. Note that I cannot reproduce the error here. Also, it looks like org-mime.el properly calls (require 'ox-org) when appropriate. Would it be related to a mixed installation on your side? Possibly. I'm not sure how to determine that. FWIW, org-version tells me 8.2.5g. Thanks, -pd -- Peter Davis The Tech Curmudgeon www.techcurmudgeon.com
Re: [O] Can't email multipart/alternative anymore
Peter Davis writes: > I replied earlier, but it doesn't seem to have shown up on the list > yet. Explicitly loading ox-org *did* fix the problem for me, but > I already have > > (require 'ox-org) > > in my .emacs file, so I'm not sure why that was ineffective. Note that I cannot reproduce the error here. Also, it looks like org-mime.el properly calls (require 'ox-org) when appropriate. Would it be related to a mixed installation on your side? Regards,
Re: [O] Can't email multipart/alternative anymore
On 10/23/15 4:44 PM, Nicolas Goaziou wrote: Hello, Aaron Ecay writes: Based on the backtrace, I think that if you do M-x load-library RET ox-org RET your error should disappear. If that’s the cause, the attached (draft) patch should give a better error message in cases like this. Thank you. However, `org-export-barf-if-invalid-backend' raises an error, not a user-error. IOW, it doesn't need to be verbose: it is a bug if a user sees it anyway. Actually, I didn't see the barf part in the mini-buffer. All I saw there was: Unknown "nil" back-end: Aborting export I copied the rest from *Messages* I suggest to (require 'ox-org) where appropriate and fix the issue. I didn't look closely at the problem so you know better than me where this line should be added. I replied earlier, but it doesn't seem to have shown up on the list yet. Explicitly loading ox-org *did* fix the problem for me, but I already have (require 'ox-org) in my .emacs file, so I'm not sure why that was ineffective. Thanks. -pd
Re: [O] Can't email multipart/alternative anymore
Hello, Aaron Ecay writes: > > Based on the backtrace, I think that if you do M-x load-library RET > ox-org RET your error should disappear. > > If that’s the cause, the attached (draft) patch should give a better > error message in cases like this. Thank you. However, `org-export-barf-if-invalid-backend' raises an error, not a user-error. IOW, it doesn't need to be verbose: it is a bug if a user sees it anyway. I suggest to (require 'ox-org) where appropriate and fix the issue. I didn't look closely at the problem so you know better than me where this line should be added. WDYT? Regards, -- Nicolas Goaziou
Re: [O] Can't email multipart/alternative anymore
Aaron Ecay writes: > Hi Peter, > > 2015ko urriak 23an, Peter Davis-ek idatzi zuen: >> >> Nick Dokos writes: >> >>> Maybe set debug-on-error and try again - send the backtrace if >>> you get one. Or maybe try with -q, load a minimal .emacs with >>> org and org-mime and try that. >> >> Here's the output from toggling debug-on-error: > > Based on the backtrace, I think that if you do M-x load-library RET > ox-org RET your error should disappear. Yes, that did fix it. But I'm puzzled because my .emacs file contains: (require 'ox-org) Shouldn't that have the same effect? > If that’s the cause, the attached (draft) patch should give a better > error message in cases like this. Thank you, Aaron! -pd
Re: [O] Can't email multipart/alternative anymore
Hi Peter, 2015ko urriak 23an, Peter Davis-ek idatzi zuen: > > Nick Dokos writes: > >> Maybe set debug-on-error and try again - send the backtrace if >> you get one. Or maybe try with -q, load a minimal .emacs with >> org and org-mime and try that. > > Here's the output from toggling debug-on-error: Based on the backtrace, I think that if you do M-x load-library RET ox-org RET your error should disappear. If that’s the cause, the attached (draft) patch should give a better error message in cases like this. >From 4c1b170e181982fb453b87921b39ace474482040 Mon Sep 17 00:00:00 2001 From: Aaron Ecay Date: Fri, 23 Oct 2015 13:48:31 +0100 Subject: [PATCH] Improve invalid export backend error messages. * lisp/ox.el (org-export-get-backend): Add `strict' argument. (org-export-derived-backend-p, org-export-get-all-transcoders): (org-export-get-all-filters, org-export-data-with-backend): (org-export-as, org-export-insert-default-template): (org-export-with-backend): Use it. (org-export-barf-if-invalid-backend): Remove function. --- lisp/ox.el | 90 +- 1 file changed, 42 insertions(+), 48 deletions(-) diff --git a/lisp/ox.el b/lisp/ox.el index 80cbc37..d68cc3c 100644 --- a/lisp/ox.el +++ b/lisp/ox.el @@ -947,13 +947,18 @@ mode." (:copier nil)) name parent transcoders options filters blocks menu) -(defun org-export-get-backend (name) +(defun org-export-get-backend (name &optional strict) "Return export back-end named after NAME. -NAME is a symbol. Return nil if no such back-end is found." + +NAME is a symbol. Return nil if no such back-end is found, or +signal an error if STRICT is non-nil." (catch 'found (dolist (b org-export-registered-backends) (when (eq (org-export-backend-name b) name) - (throw 'found b) + (throw 'found b))) +(when strict + (error "Could not locate export backend %s; try loading the library `ox-%s'" + name name (defun org-export-register-backend (backend) "Register BACKEND as a known export back-end. @@ -976,25 +981,19 @@ BACKEND is a structure with `org-export-backend' type." (if old (setcar (memq old org-export-registered-backends) backend) (push backend org-export-registered-backends -(defun org-export-barf-if-invalid-backend (backend) - "Signal an error if BACKEND isn't defined." - (unless (org-export-backend-p backend) -(error "Unknown \"%s\" back-end: Aborting export" backend))) - (defun org-export-derived-backend-p (backend &rest backends) "Non-nil if BACKEND is derived from one of BACKENDS. BACKEND is an export back-end, as returned by, e.g., `org-export-create-backend', or a symbol referring to a registered back-end. BACKENDS is constituted of symbols." - (when (symbolp backend) (setq backend (org-export-get-backend backend))) - (when backend -(catch 'exit - (while (org-export-backend-parent backend) - (when (memq (org-export-backend-name backend) backends) - (throw 'exit t)) - (setq backend - (org-export-get-backend (org-export-backend-parent backend - (memq (org-export-backend-name backend) backends + (when (symbolp backend) (setq backend (org-export-get-backend backend t))) + (catch 'exit +(while (org-export-backend-parent backend) + (when (memq (org-export-backend-name backend) backends) + (throw 'exit t)) + (setq backend + (org-export-get-backend (org-export-backend-parent backend +(memq (org-export-backend-name backend) backends))) (defun org-export-get-all-transcoders (backend) "Return full translation table for BACKEND. @@ -1007,15 +1006,14 @@ transcoders. Unlike to `org-export-backend-transcoders', this function also returns transcoders inherited from parent back-ends, if any." - (when (symbolp backend) (setq backend (org-export-get-backend backend))) - (when backend -(let ((transcoders (org-export-backend-transcoders backend)) - parent) - (while (setq parent (org-export-backend-parent backend)) - (setq backend (org-export-get-backend parent)) - (setq transcoders - (append transcoders (org-export-backend-transcoders backend - transcoders))) + (when (symbolp backend) (setq backend (org-export-get-backend backend t))) + (let ((transcoders (org-export-backend-transcoders backend)) + parent) +(while (setq parent (org-export-backend-parent backend)) + (setq backend (org-export-get-backend parent)) + (setq transcoders + (append transcoders (org-export-backend-transcoders backend +transcoders)) (defun org-export-get-all-options (backend) "Return export options for BACKEND. @@ -1026,14 +1024,13 @@ for the shape of the return value. Unlike to `org-export-backend-options', this function also returns options inherited from parent back-ends, if any." - (when (symbolp backend) (setq backend (org-export-get-backend backend))) - (when backend -(let ((options (org-export-backend-options backend)) -
Re: [O] Can't email multipart/alternative anymore
Nick Dokos writes: > Peter Davis writes: > >> I just tried running org-mime-org-buffer-htmlize, which I have used >> successfully in the past. However, this time, I got an empty >> message buffer, and this in the mini-buffer: >> >> org-export-barf-if-invalid-backend: Unknown "nil" back-end: Aborting export >> >> Any clues? I haven't used this in a couple of months, but it did work >> at one time and, as far as I know, I haven't changed anything >> that should impact this. >> > > Works here: Org-mode version 8.3.2 (release_8.3.2-178-g96681f @ > /home/nick/elisp/org-mode/lisp/) Thanks, Nick. From the error, I'm guessing either a variable that's supposed to point to the backend got unset, or the backend itself is missing. > Maybe set debug-on-error and try again - send the backtrace if > you get one. Or maybe try with -q, load a minimal .emacs with > org and org-mime and try that. Here's the output from toggling debug-on-error: Debugger entered--Lisp error: (error "Unknown \"nil\" back-end: Aborting export") signal(error ("Unknown \"nil\" back-end: Aborting export")) error("Unknown \"%s\" back-end: Aborting export" nil) org-export-barf-if-invalid-backend(nil) org-export-as(org nil nil t nil) org-export-string-as("#+STARTUP: showeverything logdone\n#+options: toc:nil num:nil\n#+title: Org Mime Org Buffer HTMLize test\n\n* Intro\n\nHere's a simple graph:\n\n#+BEGIN_SRC dot :file org-test.png :cmdline -Kdot -Tpng\ndigraph G {\n rankdir=LR;\n node [shape=box];\n A -> B;\n B -> C;\n C -> A;\n}\n#+END_SRC\n\nWeill org-mime-org-buffer-htmlize automatically include the image?" org t) (org-mime-multipart (org-export-string-as (org-babel-trim (funcall bhook body (if (eq fmt (quote html)) (quote org) (quote ascii (if (eq fmt (quote html)) (quote org) (quote ascii)) t) html) (insert (org-mime-multipart (org-export-string-as (org-babel-trim (funcall bhook body (if (eq fmt (quote html)) (quote org) (quote ascii (if (eq fmt (quote html)) (quote org) (quote ascii)) t) html) (mapconcat (quote identity) images "\n")) (let* ((org-link-file-path-type (quote absolute)) (org-export-htmlize-output-type (quote inline-css)) (html-and-images (org-mime-replace-images (org-export-string-as (funcall bhook body (quote html)) (quote html) t) file)) (images (cdr html-and-images)) (html (org-mime-apply-html-hook (car html-and-images (insert (org-mime-multipart (org-export-string-as (org-babel-trim (funcall bhook body (if (eq fmt ...) (quote org) (quote ascii (if (eq fmt (quote html)) (quote org) (quote ascii)) t) html) (mapconcat (quote identity) images "\n"))) (cond ((eq fmt (quote org)) (require (quote ox-org)) (insert (org-export-string-as (org-babel-trim (funcall bhook body (quote org))) (quote org) t))) ((eq fmt (quote ascii)) (require (quote ox-ascii)) (insert (org-export-string-as (concat "#+Title:\n" (funcall bhook body (quote ascii))) (quote ascii) t))) ((or (eq fmt (quote html)) (eq fmt (quote html-ascii))) (require (quote ox-ascii)) (require (quote ox-org)) (let* ((org-link-file-path-type (quote absolute)) (org-export-htmlize-output-type (quote inline-css)) (html-and-images (org-mime-replace-images (org-export-string-as (funcall bhook body ...) (quote html) t) file)) (images (cdr html-and-images)) (html (org-mime-apply-html-hook (car html-and-images (insert (org-mime-multipart (org-export-string-as (org-babel-trim (funcall bhook body ...)) (if (eq fmt ...) (quote org) (quote ascii)) t) html) (mapconcat (quote identity) images "\n") (let ((bhook (function (lambda (body fmt) (let ((hook ...)) (if (> ... 0) (let ... ...) body) (fmt (if (symbolp fmt) fmt (intern fmt (cond ((eq fmt (quote org)) (require (quote ox-org)) (insert (org-export-string-as (org-babel-trim (funcall bhook body (quote org))) (quote org) t))) ((eq fmt (quote ascii)) (require (quote ox-ascii)) (insert (org-export-string-as (concat "#+Title:\n" (funcall bhook body (quote ascii))) (quote ascii) t))) ((or (eq fmt (quote html)) (eq fmt (quote html-ascii))) (require (quote ox-ascii)) (require (quote ox-org)) (let* ((org-link-file-path-type (quote absolute)) (org-export-htmlize-output-type (quote inline-css)) (html-and-images (org-mime-replace-images (org-export-string-as ... ... t) file)) (images (cdr html-and-images)) (html (org-mime-apply-html-hook (car html-and-images (insert (org-mime-multipart (org-export-string-as (org-babel-trim ...) (if ... ... ...) t) html) (mapconcat (quote identity) images "\n")) org-mime-compose(#("#+STARTUP: showeverything logdone\n#+options: toc:nil num:nil\n#+title: Org Mime Org Buffer HTMLize test\n\n* Intro\n\nHere's a simple graph:\n\n#+BEGIN_SRC dot :file org-test.png :cmdline -Kdot -Tpng\ndigraph G {\n rankdir=LR;\n node [shape=box];\n A -> B;\n B -> C;\n C -> A;\n}\n#+END_SRC\n\nWeill org-mime-org-buffer-htmlize automatically include the image?\n\n" 0 33 (fontified t font-lock-fontified t face org-meta-line
Re: [O] Can't email multipart/alternative anymore
Rasmus writes: > Hi Peter, > > Thanks for your report. > > Peter Davis writes: > >> I just tried running org-mime-org-buffer-htmlize, which I have used >> successfully in the past. However, this time, I got an empty >> message buffer, and this in the mini-buffer: >> >> org-export-barf-if-invalid-backend: Unknown "nil" back-end: Aborting export >> >> Any clues? I haven't used this in a couple of months, but it did work >> at one time and, as far as I know, I haven't changed anything >> that should impact this. > > This is from the "draft mode" introduced by Nicolas recently. > > Perhaps to get your work done for now you can try to change > org-export-with-broken-links, though I doubt it will work in this > particular case. > > Nicolas will fix this when he’s back, I’m sure. I haven’t studied the > "barf code" and I will therefore not attempt to fix it. Thank you, Rasmus, but I haven't updated anything lately, so I don't think it's the result of any org changes. -pd
Re: [O] Can't email multipart/alternative anymore
Peter Davis writes: > I just tried running org-mime-org-buffer-htmlize, which I have used > successfully in the past. However, this time, I got an empty > message buffer, and this in the mini-buffer: > > org-export-barf-if-invalid-backend: Unknown "nil" back-end: Aborting export > > Any clues? I haven't used this in a couple of months, but it did work > at one time and, as far as I know, I haven't changed anything > that should impact this. > Works here: Org-mode version 8.3.2 (release_8.3.2-178-g96681f @ /home/nick/elisp/org-mode/lisp/) Maybe set debug-on-error and try again - send the backtrace if you get one. Or maybe try with -q, load a minimal .emacs with org and org-mime and try that. -- Nick
Re: [O] Can't email multipart/alternative anymore
Hi Peter, Thanks for your report. Peter Davis writes: > I just tried running org-mime-org-buffer-htmlize, which I have used > successfully in the past. However, this time, I got an empty > message buffer, and this in the mini-buffer: > > org-export-barf-if-invalid-backend: Unknown "nil" back-end: Aborting export > > Any clues? I haven't used this in a couple of months, but it did work > at one time and, as far as I know, I haven't changed anything > that should impact this. This is from the "draft mode" introduced by Nicolas recently. Perhaps to get your work done for now you can try to change org-export-with-broken-links, though I doubt it will work in this particular case. Nicolas will fix this when he’s back, I’m sure. I haven’t studied the "barf code" and I will therefore not attempt to fix it. Rasmus -- m-mm-mmm- bacon!