emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] new exporter


From: Achim Gratz
Subject: Re: [O] new exporter
Date: Mon, 02 Jul 2012 21:06:20 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux)

Nicolas Goaziou writes:
> Not exactly. With this version, symbols generated with gensym are never
> used, and the macro isn't hygienic anymore.

Yeah, I missed out on some commas along the way and it probably needs
double quoting (which I was trying to avoid).  The first version interns
the gensymed symbols at compile time, the later one should have done it
each time the code was called.

> I still think your first take about this macro was the good one. I've
> pushed something very similar. Could you verify if it is correct on the
> compiling side?

Yes, the compile error is easy to fix.  Both versions could do the
correct thing, the later one was just trying to be more conservative.
Looking superficially at the generated bytecode I think the current
version should be correct.

>> The org-export-define-derived-backend macro seems similarly starstruck,
>> but I really don't know what you think the expansion should be.
>
> Something along the lines of:
>
> #+begin_src emacs-lisp
> (progn
>   (defconst org-e-beamer-options-alist '(...)
>     "Alist between filters keywords and back-end specific filters.
> See `org-export-filters-alist' for more information.")
>   (defvar org-e-beamer-translate-alist '(...)
>     "Alist between element or object types and translators."))
> #+end_src
>
>> One of your recent changes introduced four test fail when org-element is
>> compiled.  I haven't yet looked why that would be, the four tests are:
>>
>>    FAILED  test-org-export/table-cell-alignment
>>    FAILED  test-org-export/table-cell-borders
>>    FAILED  test-org-export/table-row-ends-header-p
>>    FAILED  test-org-export/table-row-starts-header-p
>
> Could you paste the error reported by ERT? I can't think of any recent
> change in this area.

There's only a backtrace that doesn't make much sense to me:

--8<---------------cut here---------------start------------->8---
Test test-org-export/table-row-starts-header-p backtrace:
  signal(ert-test-failed (((should (equal (quote (yes no no no)) (org-
  ert-fail(((should (equal (quote (yes no no no)) (org-element-map tre
  (if (unwind-protect (setq value-3951 (apply fn-3949 args-3950)) (set
  (unless (unwind-protect (setq value-3951 (apply fn-3949 args-3950)) 
  (let (form-description-3953) (unless (unwind-protect (setq value-395
  (let ((value-3951 (quote ert-form-evaluation-aborted-3952))) (let (f
  (let ((fn-3949 (function equal)) (args-3950 (list (quote (yes no no 
  (should (equal (quote (yes no no no)) (org-element-map tree (quote t
  (let* ((tree (org-element-parse-buffer)) (info (org-export-collect-t
  (prog1 (let* ((tree (org-element-parse-buffer)) (info (org-export-co
  (progn (org-mode) (progn (insert "\n| a |\n| b |\n|---|\n| c |") (go
  (unwind-protect (progn (org-mode) (progn (insert "\n| a |\n| b |\n|-
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
  (with-current-buffer temp-buffer (unwind-protect (progn (org-mode) (
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (with-current-b
  (with-temp-buffer (org-mode) (progn (insert "\n| a |\n| b |\n|---|\n
  (org-test-with-temp-text "\n| a |\n| b |\n|---|\n| c |" (let* ((tree
  (org-test-with-parsed-data "\n| a |\n| b |\n|---|\n| c |" (should (e
  (lambda nil (org-test-with-parsed-data "\n| a |\n| b |\n|---|\n| c |
  byte-code("\306\307!▒q\210\310\216\311 \312\216\313\314\315\316\3
  ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
  byte-code("\306\307!\211▒r\310\311!q\210\312 d\313\223)L\210\314\216
  ert-run-test([cl-struct-ert-test test-org-export/table-row-starts-he
  ert-run-or-rerun-test([cl-struct-ert--stats "\\(org\\|ob\\)" [[cl-st
  ert-run-tests("\\(org\\|ob\\)" #[(event-type &rest event-args) \30
  ert-run-tests-batch("\\(org\\|ob\\)")
  ert-run-tests-batch-and-exit("\\(org\\|ob\\)")
  (let ((org-id-track-globally t) (org-id-locations-file (convert-stan
  org-test-run-batch-tests()
  call-interactively(org-test-run-batch-tests nil nil)
  command-execute(org-test-run-batch-tests)
  command-line-1(("--eval" "(add-to-list 'load-path \"./lisp\")" "--ev
  command-line()
  normal-top-level()
Test test-org-export/table-row-starts-header-p condition:
    (ert-test-failed
     ((should
       (equal '...
        (org-element-map tree ... ... info)))
      :form
      (equal
       (yes no no no)
       (yes yes no no))
      :value nil :explanation
      (list-elt 1
                (different-atoms no yes))))
--8<---------------cut here---------------end--------------->8---


>> The new org-e-beamer.el doesn't compile at all:
>> org-e-beamer.el:258:1:Error: Wrong type argument: listp,
>> org-e-beamer-export-block
>
> It should be fixed.

Thanks, that works correctly now.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Q+, Q and microQ:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




reply via email to

[Prev in Thread] Current Thread [Next in Thread]