From 6487fe8cdb80a52816d57816d61128b7829dc302 Mon Sep 17 00:00:00 2001 From: conao3 Date: Thu, 18 Apr 2019 21:35:35 +0900 Subject: [PATCH 1/3] move backend function to the bottom to suppress compiler warnings Currently, Emacs byte-compiler warn bellow message. $ emacs --batch -L . -f batch-byte-compile org-re-reveal.el In org-re-reveal-define-backend: org-re-reveal.el:78:13:Warning: reference to free varible `org-re-reveal-keys` --- org-re-reveal.el | 221 +++++++++++++++++++++++------------------------ 1 file changed, 110 insertions(+), 111 deletions(-) diff --git a/org-re-reveal.el b/org-re-reveal.el index 39ecea0..62e4622 100644 --- a/org-re-reveal.el +++ b/org-re-reveal.el @@ -70,117 +70,6 @@ (require 'subr-x) ; string-trim (require 'url-parse) -(defun org-re-reveal-define-backend () - "Define the back-end for export as reveal.js presentation." - (org-export-define-derived-backend 're-reveal 'html - - :menu-entry - `(,(nth 0 org-re-reveal-keys) "Export to reveal.js HTML Presentation" - ((,(nth 1 org-re-reveal-keys) - "To file" org-re-reveal-export-to-html) - (,(nth 2 org-re-reveal-keys) - "To file and browse" org-re-reveal-export-to-html-and-browse) - (,(nth 3 org-re-reveal-keys) - "Current subtree to file" org-re-reveal-export-current-subtree))) - - :options-alist - '((:reveal-control nil "reveal_control" org-re-reveal-control t) - (:reveal-progress nil "reveal_progress" org-re-reveal-progress t) - (:reveal-history nil "reveal_history" org-re-reveal-history t) - (:reveal-center nil "reveal_center" org-re-reveal-center t) - (:reveal-rolling-links nil "reveal_rolling_links" org-re-reveal-rolling-links t) - (:reveal-slide-number nil "reveal_slide_number" org-re-reveal-slide-number t) - (:reveal-keyboard nil "reveal_keyboard" org-re-reveal-keyboard t) - (:reveal-mousewheel nil "reveal_mousewheel" org-re-reveal-mousewheel t) - (:reveal-fragmentinurl nil "reveal_fragmentinurl" org-re-reveal-fragmentinurl t) - (:reveal-pdfseparatefragments nil "reveal_pdfseparatefragments" org-re-reveal-pdfseparatefragments t) - (:reveal-defaulttiming nil "reveal_defaulttiming" org-re-reveal-defaulttiming t) - (:reveal-overview nil "reveal_overview" org-re-reveal-overview t) - (:reveal-width nil "reveal_width" org-re-reveal-width t) - (:reveal-height nil "reveal_height" org-re-reveal-height t) - (:reveal-margin "REVEAL_MARGIN" nil org-re-reveal-margin t) - (:reveal-min-scale "REVEAL_MIN_SCALE" nil org-re-reveal-min-scale t) - (:reveal-max-scale "REVEAL_MAX_SCALE" nil org-re-reveal-max-scale t) - (:reveal-root "REVEAL_ROOT" nil org-re-reveal-root t) - (:reveal-trans "REVEAL_TRANS" nil org-re-reveal-transition t) - (:reveal-speed "REVEAL_SPEED" nil org-re-reveal-transition-speed t) - (:reveal-theme "REVEAL_THEME" nil org-re-reveal-theme t) - (:reveal-extra-css "REVEAL_EXTRA_CSS" nil org-re-reveal-extra-css newline) - (:reveal-extra-js "REVEAL_EXTRA_JS" nil org-re-reveal-extra-js nil) - (:reveal-hlevel "REVEAL_HLEVEL" nil nil t) - (:reveal-title-slide "REVEAL_TITLE_SLIDE" nil org-re-reveal-title-slide newline) - (:reveal-academic-title "REVEAL_ACADEMIC_TITLE" nil nil t) - (:reveal-miscinfo "REVEAL_MISCINFO" nil nil t) - (:reveal-slide-global-header nil "reveal_global_header" org-re-reveal-global-header t) - (:reveal-slide-global-footer nil "reveal_global_footer" org-re-reveal-global-footer t) - (:reveal-slide-toc-footer nil "reveal_toc_footer" org-re-reveal-toc-footer t) - (:reveal-title-slide-background "REVEAL_TITLE_SLIDE_BACKGROUND" nil nil t) - (:reveal-title-slide-state "REVEAL_TITLE_SLIDE_STATE" nil nil t) - (:reveal-title-slide-timing "REVEAL_TITLE_SLIDE_TIMING" nil nil t) - (:reveal-title-slide-background-size "REVEAL_TITLE_SLIDE_BACKGROUND_SIZE" nil nil t) - (:reveal-title-slide-background-position "REVEAL_TITLE_SLIDE_BACKGROUND_POSITION" nil nil t) - (:reveal-title-slide-background-repeat "REVEAL_TITLE_SLIDE_BACKGROUND_REPEAT" nil nil t) - (:reveal-title-slide-background-transition "REVEAL_TITLE_SLIDE_BACKGROUND_TRANSITION" nil nil t) - (:reveal-toc-slide-state "REVEAL_TOC_SLIDE_STATE" nil nil t) - (:reveal-toc-slide-class "REVEAL_TOC_SLIDE_CLASS" nil nil t) - (:reveal-toc-slide-title "REVEAL_TOC_SLIDE_TITLE" nil org-re-reveal-toc-slide-title t) - (:reveal-default-slide-background "REVEAL_DEFAULT_SLIDE_BACKGROUND" nil nil t) - (:reveal-default-slide-background-size "REVEAL_DEFAULT_SLIDE_BACKGROUND_SIZE" nil nil t) - (:reveal-default-slide-background-position "REVEAL_DEFAULT_SLIDE_BACKGROUND_POSITION" nil nil t) - (:reveal-default-slide-background-repeat "REVEAL_DEFAULT_SLIDE_BACKGROUND_REPEAT" nil nil t) - (:reveal-default-slide-background-transition "REVEAL_DEFAULT_SLIDE_BACKGROUND_TRANSITION" nil nil t) - (:reveal-mathjax-url "REVEAL_MATHJAX_URL" nil org-re-reveal-mathjax-url t) - (:reveal-preamble "REVEAL_PREAMBLE" nil org-re-reveal-preamble t) - (:reveal-head-preamble "REVEAL_HEAD_PREAMBLE" nil org-re-reveal-head-preamble newline) - (:reveal-postamble "REVEAL_POSTAMBLE" nil org-re-reveal-postamble t) - (:reveal-multiplex-id "REVEAL_MULTIPLEX_ID" nil org-re-reveal-multiplex-id nil) - (:reveal-multiplex-secret "REVEAL_MULTIPLEX_SECRET" nil org-re-reveal-multiplex-secret nil) - (:reveal-multiplex-url "REVEAL_MULTIPLEX_URL" nil org-re-reveal-multiplex-url nil) - (:reveal-multiplex-socketio-url "REVEAL_MULTIPLEX_SOCKETIO_URL" nil org-re-reveal-multiplex-socketio-url nil) - (:reveal-slide-header "REVEAL_SLIDE_HEADER" nil org-re-reveal-slide-header t) - (:reveal-slide-footer "REVEAL_SLIDE_FOOTER" nil org-re-reveal-slide-footer t) - (:reveal-plugins "REVEAL_PLUGINS" nil nil t) - (:reveal-external-plugins "REVEAL_EXTERNAL_PLUGINS" nil org-re-reveal-external-plugins t) - (:reveal-default-frag-style "REVEAL_DEFAULT_FRAG_STYLE" nil org-re-reveal-default-frag-style t) - (:reveal-single-file nil "reveal_single_file" org-re-reveal-single-file t) - (:reveal-inter-presentation-links nil "reveal_inter_presentation_links" org-re-reveal-inter-presentation-links t) - (:reveal-init-script "REVEAL_INIT_SCRIPT" nil org-re-reveal-init-script space) - (:reveal-highlight-css "REVEAL_HIGHLIGHT_CSS" nil org-re-reveal-highlight-css nil) - ) - - :translate-alist - '((headline . org-re-reveal-headline) - (inner-template . org-re-reveal-inner-template) - (item . org-re-reveal-item) - (keyword . org-re-reveal-keyword) - (link . org-re-reveal-link) - (latex-environment . org-re-reveal-latex-environment) - (latex-fragment . (lambda (frag contents info) - (setq info (plist-put info :reveal-mathjax t)) - (org-html-latex-fragment frag contents info))) - (plain-list . org-re-reveal-plain-list) - (quote-block . org-re-reveal-quote-block) - (section . org-re-reveal-section) - (src-block . org-re-reveal-src-block) - (special-block . org-re-reveal-special-block) - (template . org-re-reveal-template)) - - :filters-alist '((:filter-parse-tree . org-re-reveal-filter-parse-tree)) - )) - -(defun org-re-reveal-define-menu (symbol value) - "Define back-end with (new) key bindings. -SYMBOL must be `org-re-reveal-keys' and VALUE its new value." - (let ((standard (eval (car (get symbol 'standard-value))))) - (cl-assert - (eq symbol 'org-re-reveal-keys) nil - (format "Symbol in org-re-reveal-define-menu unexpected: %s" symbol)) - (cl-assert - (= (length standard) (length value)) - (format "Value for org-re-reveal-keys must have length %s (same as standard), not %s" - (length standard) (length value))) - (set-default symbol value) - (org-re-reveal-define-backend))) (defgroup org-export-re-reveal nil "Options for exporting Org files to reveal.js HTML pressentations." @@ -1728,5 +1617,115 @@ Return output file name." (re-search-forward "^;; Version: \\([0-9.]+\\)$") (message "org-re-reveal version %s" (match-string 1))))) +(defun org-re-reveal-define-backend () + "Define the back-end for export as reveal.js presentation." + (org-export-define-derived-backend 're-reveal 'html + + :menu-entry + `(,(nth 0 org-re-reveal-keys) "Export to reveal.js HTML Presentation" + ((,(nth 1 org-re-reveal-keys) + "To file" org-re-reveal-export-to-html) + (,(nth 2 org-re-reveal-keys) + "To file and browse" org-re-reveal-export-to-html-and-browse) + (,(nth 3 org-re-reveal-keys) + "Current subtree to file" org-re-reveal-export-current-subtree))) + + :options-alist + '((:reveal-control nil "reveal_control" org-re-reveal-control t) + (:reveal-progress nil "reveal_progress" org-re-reveal-progress t) + (:reveal-history nil "reveal_history" org-re-reveal-history t) + (:reveal-center nil "reveal_center" org-re-reveal-center t) + (:reveal-rolling-links nil "reveal_rolling_links" org-re-reveal-rolling-links t) + (:reveal-slide-number nil "reveal_slide_number" org-re-reveal-slide-number t) + (:reveal-keyboard nil "reveal_keyboard" org-re-reveal-keyboard t) + (:reveal-mousewheel nil "reveal_mousewheel" org-re-reveal-mousewheel t) + (:reveal-fragmentinurl nil "reveal_fragmentinurl" org-re-reveal-fragmentinurl t) + (:reveal-pdfseparatefragments nil "reveal_pdfseparatefragments" org-re-reveal-pdfseparatefragments t) + (:reveal-defaulttiming nil "reveal_defaulttiming" org-re-reveal-defaulttiming t) + (:reveal-overview nil "reveal_overview" org-re-reveal-overview t) + (:reveal-width nil "reveal_width" org-re-reveal-width t) + (:reveal-height nil "reveal_height" org-re-reveal-height t) + (:reveal-margin "REVEAL_MARGIN" nil org-re-reveal-margin t) + (:reveal-min-scale "REVEAL_MIN_SCALE" nil org-re-reveal-min-scale t) + (:reveal-max-scale "REVEAL_MAX_SCALE" nil org-re-reveal-max-scale t) + (:reveal-root "REVEAL_ROOT" nil org-re-reveal-root t) + (:reveal-trans "REVEAL_TRANS" nil org-re-reveal-transition t) + (:reveal-speed "REVEAL_SPEED" nil org-re-reveal-transition-speed t) + (:reveal-theme "REVEAL_THEME" nil org-re-reveal-theme t) + (:reveal-extra-css "REVEAL_EXTRA_CSS" nil org-re-reveal-extra-css newline) + (:reveal-extra-js "REVEAL_EXTRA_JS" nil org-re-reveal-extra-js nil) + (:reveal-hlevel "REVEAL_HLEVEL" nil nil t) + (:reveal-title-slide "REVEAL_TITLE_SLIDE" nil org-re-reveal-title-slide newline) + (:reveal-academic-title "REVEAL_ACADEMIC_TITLE" nil nil t) + (:reveal-miscinfo "REVEAL_MISCINFO" nil nil t) + (:reveal-slide-global-header nil "reveal_global_header" org-re-reveal-global-header t) + (:reveal-slide-global-footer nil "reveal_global_footer" org-re-reveal-global-footer t) + (:reveal-slide-toc-footer nil "reveal_toc_footer" org-re-reveal-toc-footer t) + (:reveal-title-slide-background "REVEAL_TITLE_SLIDE_BACKGROUND" nil nil t) + (:reveal-title-slide-state "REVEAL_TITLE_SLIDE_STATE" nil nil t) + (:reveal-title-slide-timing "REVEAL_TITLE_SLIDE_TIMING" nil nil t) + (:reveal-title-slide-background-size "REVEAL_TITLE_SLIDE_BACKGROUND_SIZE" nil nil t) + (:reveal-title-slide-background-position "REVEAL_TITLE_SLIDE_BACKGROUND_POSITION" nil nil t) + (:reveal-title-slide-background-repeat "REVEAL_TITLE_SLIDE_BACKGROUND_REPEAT" nil nil t) + (:reveal-title-slide-background-transition "REVEAL_TITLE_SLIDE_BACKGROUND_TRANSITION" nil nil t) + (:reveal-toc-slide-state "REVEAL_TOC_SLIDE_STATE" nil nil t) + (:reveal-toc-slide-class "REVEAL_TOC_SLIDE_CLASS" nil nil t) + (:reveal-toc-slide-title "REVEAL_TOC_SLIDE_TITLE" nil org-re-reveal-toc-slide-title t) + (:reveal-default-slide-background "REVEAL_DEFAULT_SLIDE_BACKGROUND" nil nil t) + (:reveal-default-slide-background-size "REVEAL_DEFAULT_SLIDE_BACKGROUND_SIZE" nil nil t) + (:reveal-default-slide-background-position "REVEAL_DEFAULT_SLIDE_BACKGROUND_POSITION" nil nil t) + (:reveal-default-slide-background-repeat "REVEAL_DEFAULT_SLIDE_BACKGROUND_REPEAT" nil nil t) + (:reveal-default-slide-background-transition "REVEAL_DEFAULT_SLIDE_BACKGROUND_TRANSITION" nil nil t) + (:reveal-mathjax-url "REVEAL_MATHJAX_URL" nil org-re-reveal-mathjax-url t) + (:reveal-preamble "REVEAL_PREAMBLE" nil org-re-reveal-preamble t) + (:reveal-head-preamble "REVEAL_HEAD_PREAMBLE" nil org-re-reveal-head-preamble newline) + (:reveal-postamble "REVEAL_POSTAMBLE" nil org-re-reveal-postamble t) + (:reveal-multiplex-id "REVEAL_MULTIPLEX_ID" nil org-re-reveal-multiplex-id nil) + (:reveal-multiplex-secret "REVEAL_MULTIPLEX_SECRET" nil org-re-reveal-multiplex-secret nil) + (:reveal-multiplex-url "REVEAL_MULTIPLEX_URL" nil org-re-reveal-multiplex-url nil) + (:reveal-multiplex-socketio-url "REVEAL_MULTIPLEX_SOCKETIO_URL" nil org-re-reveal-multiplex-socketio-url nil) + (:reveal-slide-header "REVEAL_SLIDE_HEADER" nil org-re-reveal-slide-header t) + (:reveal-slide-footer "REVEAL_SLIDE_FOOTER" nil org-re-reveal-slide-footer t) + (:reveal-plugins "REVEAL_PLUGINS" nil nil t) + (:reveal-external-plugins "REVEAL_EXTERNAL_PLUGINS" nil org-re-reveal-external-plugins t) + (:reveal-default-frag-style "REVEAL_DEFAULT_FRAG_STYLE" nil org-re-reveal-default-frag-style t) + (:reveal-single-file nil "reveal_single_file" org-re-reveal-single-file t) + (:reveal-inter-presentation-links nil "reveal_inter_presentation_links" org-re-reveal-inter-presentation-links t) + (:reveal-init-script "REVEAL_INIT_SCRIPT" nil org-re-reveal-init-script space) + (:reveal-highlight-css "REVEAL_HIGHLIGHT_CSS" nil org-re-reveal-highlight-css nil)) + + :translate-alist + '((headline . org-re-reveal-headline) + (inner-template . org-re-reveal-inner-template) + (item . org-re-reveal-item) + (keyword . org-re-reveal-keyword) + (link . org-re-reveal-link) + (latex-environment . org-re-reveal-latex-environment) + (latex-fragment . (lambda (frag contents info) + (setq info (plist-put info :reveal-mathjax t)) + (org-html-latex-fragment frag contents info))) + (plain-list . org-re-reveal-plain-list) + (quote-block . org-re-reveal-quote-block) + (section . org-re-reveal-section) + (src-block . org-re-reveal-src-block) + (special-block . org-re-reveal-special-block) + (template . org-re-reveal-template)) + + :filters-alist '((:filter-parse-tree . org-re-reveal-filter-parse-tree)))) + +(defun org-re-reveal-define-menu (symbol value) + "Define back-end with (new) key bindings. +SYMBOL must be `org-re-reveal-keys' and VALUE its new value." + (let ((standard (eval (car (get symbol 'standard-value))))) + (cl-assert + (eq symbol 'org-re-reveal-keys) nil + (format "Symbol in org-re-reveal-define-menu unexpected: %s" symbol)) + (cl-assert + (= (length standard) (length value)) + (format "Value for org-re-reveal-keys must have length %s (same as standard), not %s" + (length standard) (length value))) + (set-default symbol value) + (org-re-reveal-define-backend))) + (provide 'org-re-reveal) ;;; org-re-reveal.el ends here -- GitLab From a2f6311ebc4c8885e93c533ce7c2cce74f7b8234 Mon Sep 17 00:00:00 2001 From: conao3 Date: Thu, 18 Apr 2019 22:41:40 +0900 Subject: [PATCH 2/3] Leave org-re-reveal-define-menu in place --- org-re-reveal.el | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/org-re-reveal.el b/org-re-reveal.el index 62e4622..1cbd190 100644 --- a/org-re-reveal.el +++ b/org-re-reveal.el @@ -76,6 +76,20 @@ :tag "Org Export Reveal" :group 'org-export) +(defun org-re-reveal-define-menu (symbol value) + "Define back-end with (new) key bindings. +SYMBOL must be `org-re-reveal-keys' and VALUE its new value." + (let ((standard (eval (car (get symbol 'standard-value))))) + (cl-assert + (eq symbol 'org-re-reveal-keys) nil + (format "Symbol in org-re-reveal-define-menu unexpected: %s" symbol)) + (cl-assert + (= (length standard) (length value)) + (format "Value for org-re-reveal-keys must have length %s (same as standard), not %s" + (length standard) (length value))) + (set-default symbol value) + (org-re-reveal-define-backend))) + (defcustom org-re-reveal-keys '(?v ?v ?b ?s) "Define keys for export with org-re-reveal. This list must contain four characters: The first one triggers export @@ -1713,19 +1727,5 @@ Return output file name." :filters-alist '((:filter-parse-tree . org-re-reveal-filter-parse-tree)))) -(defun org-re-reveal-define-menu (symbol value) - "Define back-end with (new) key bindings. -SYMBOL must be `org-re-reveal-keys' and VALUE its new value." - (let ((standard (eval (car (get symbol 'standard-value))))) - (cl-assert - (eq symbol 'org-re-reveal-keys) nil - (format "Symbol in org-re-reveal-define-menu unexpected: %s" symbol)) - (cl-assert - (= (length standard) (length value)) - (format "Value for org-re-reveal-keys must have length %s (same as standard), not %s" - (length standard) (length value))) - (set-default symbol value) - (org-re-reveal-define-backend))) - (provide 'org-re-reveal) ;;; org-re-reveal.el ends here -- GitLab From 4df89e79afc4acdc50fb1de74e25525eadcb1393 Mon Sep 17 00:00:00 2001 From: conao3 Date: Thu, 18 Apr 2019 23:43:58 +0900 Subject: [PATCH 3/3] fix setter and initialize backend when require --- org-re-reveal.el | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/org-re-reveal.el b/org-re-reveal.el index 1cbd190..8102b0a 100644 --- a/org-re-reveal.el +++ b/org-re-reveal.el @@ -79,16 +79,18 @@ (defun org-re-reveal-define-menu (symbol value) "Define back-end with (new) key bindings. SYMBOL must be `org-re-reveal-keys' and VALUE its new value." - (let ((standard (eval (car (get symbol 'standard-value))))) - (cl-assert - (eq symbol 'org-re-reveal-keys) nil - (format "Symbol in org-re-reveal-define-menu unexpected: %s" symbol)) - (cl-assert - (= (length standard) (length value)) - (format "Value for org-re-reveal-keys must have length %s (same as standard), not %s" - (length standard) (length value))) - (set-default symbol value) - (org-re-reveal-define-backend))) + (if (not (fboundp 'org-re-reveal-define-backend)) + (set-default symbol value) + (let ((standard (eval (car (get symbol 'standard-value))))) + (cl-assert + (eq symbol 'org-re-reveal-keys) nil + (format "Symbol in org-re-reveal-define-menu unexpected: %s" symbol)) + (cl-assert + (= (length standard) (length value)) + (format "Value for org-re-reveal-keys must have length %s (same as standard), not %s" + (length standard) (length value))) + (set-default symbol value) + (org-re-reveal-define-backend)))) (defcustom org-re-reveal-keys '(?v ?v ?b ?s) "Define keys for export with org-re-reveal. @@ -1727,5 +1729,8 @@ Return output file name." :filters-alist '((:filter-parse-tree . org-re-reveal-filter-parse-tree)))) +;; define backend +(org-re-reveal-define-backend) + (provide 'org-re-reveal) ;;; org-re-reveal.el ends here -- GitLab