From 7867a7d75837a22c0c870d57cd01e54b61977117 Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Thu, 23 Nov 2023 19:37:30 +0100 Subject: [PATCH] update org Signed-off-by: Andreas Gerler --- bba.org | 4 +- elpa/{org-9.6 => org-9.6.7}/CONTRIBUTE.org | 0 elpa/{org-9.6 => org-9.6.7}/COPYING | 0 elpa/{org-9.6 => org-9.6.7}/Makefile | 0 elpa/{org-9.6 => org-9.6.7}/README-elpa | 8 - elpa/{org-9.6 => org-9.6.7}/README.org | 0 elpa/{org-9.6 => org-9.6.7}/dir | 0 .../doc/.aspell.org.conf | 0 elpa/{org-9.6 => org-9.6.7}/doc/.nosearch | 0 .../doc/Documentation_Standards.org | 0 elpa/{org-9.6 => org-9.6.7}/doc/Makefile | 0 elpa/{org-9.6 => org-9.6.7}/doc/dir | 0 elpa/{org-9.6 => org-9.6.7}/doc/doc-setup.org | 2 +- elpa/{org-9.6 => org-9.6.7}/doc/fdl.org | 0 elpa/{org-9.6 => org-9.6.7}/doc/htmlxref.cnf | 0 elpa/{org-9.6 => org-9.6.7}/doc/org-guide.org | 16 +- .../{org-9.6 => org-9.6.7}/doc/org-manual.org | 71 +- elpa/org-9.6.7/doc/org-version.inc | 3 + elpa/{org-9.6 => org-9.6.7}/doc/org.texi | 79 +- elpa/{org-9.6 => org-9.6.7}/doc/orgcard.tex | 4 +- elpa/{org-9.6 => org-9.6.7}/doc/orgguide.texi | 16 +- elpa/{org-9.6 => org-9.6.7}/doc/pdflayout.sty | 0 elpa/{org-9.6 => org-9.6.7}/doc/texinfo.tex | 0 elpa/{org-9.6 => org-9.6.7}/etc/Makefile | 0 elpa/{org-9.6 => org-9.6.7}/etc/ORG-NEWS | 137 +- elpa/{org-9.6 => org-9.6.7}/etc/csl/README | 0 .../etc/csl/chicago-author-date.csl | 0 .../etc/csl/locales-en-US.xml | 0 .../etc/styles/OrgOdtContentTemplate.xml | 0 .../etc/styles/OrgOdtStyles.xml | 0 elpa/{org-9.6 => org-9.6.7}/etc/styles/README | 2 +- elpa/{org-9.6 => org-9.6.7}/local.mk | 0 elpa/{org-9.6 => org-9.6.7}/ob-C.el | 4 +- elpa/{org-9.6 => org-9.6.7}/ob-R.el | 11 +- elpa/{org-9.6 => org-9.6.7}/ob-awk.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-calc.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-clojure.el | 10 +- elpa/{org-9.6 => org-9.6.7}/ob-comint.el | 39 +- elpa/{org-9.6 => org-9.6.7}/ob-core.el | 40 +- elpa/{org-9.6 => org-9.6.7}/ob-css.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-ditaa.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-dot.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-emacs-lisp.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-eshell.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-eval.el | 13 +- elpa/{org-9.6 => org-9.6.7}/ob-exp.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-forth.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-fortran.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-gnuplot.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-groovy.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-haskell.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-java.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-js.el | 7 +- elpa/{org-9.6 => org-9.6.7}/ob-julia.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-latex.el | 19 +- elpa/{org-9.6 => org-9.6.7}/ob-lilypond.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-lisp.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-lob.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-lua.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-makefile.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-matlab.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-maxima.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-ocaml.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-octave.el | 8 +- elpa/{org-9.6 => org-9.6.7}/ob-org.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-perl.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-plantuml.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-processing.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-python.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-ref.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-ruby.el | 7 +- elpa/{org-9.6 => org-9.6.7}/ob-sass.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-scheme.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-screen.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-sed.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-shell.el | 4 +- elpa/{org-9.6 => org-9.6.7}/ob-sql.el | 4 - elpa/{org-9.6 => org-9.6.7}/ob-sqlite.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-table.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ob-tangle.el | 26 +- elpa/{org-9.6 => org-9.6.7}/ob.el | 2 +- elpa/{org-9.6 => org-9.6.7}/oc-basic.el | 20 +- elpa/{org-9.6 => org-9.6.7}/oc-biblatex.el | 2 +- elpa/{org-9.6 => org-9.6.7}/oc-bibtex.el | 8 +- elpa/{org-9.6 => org-9.6.7}/oc-csl.el | 2 +- elpa/{org-9.6 => org-9.6.7}/oc-natbib.el | 2 +- elpa/{org-9.6 => org-9.6.7}/oc.el | 6 +- elpa/{org-9.6 => org-9.6.7}/ol-bbdb.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-bibtex.el | 24 +- elpa/{org-9.6 => org-9.6.7}/ol-docview.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-doi.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-eshell.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-eww.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-gnus.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-info.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-irc.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-man.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-mhe.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-rmail.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol-w3m.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ol.el | 10 +- elpa/{org-9.6 => org-9.6.7}/org-agenda.el | 47 +- elpa/{org-9.6 => org-9.6.7}/org-archive.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-attach-git.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-attach.el | 4 +- elpa/{org-9.6 => org-9.6.7}/org-autoloads.el | 0 elpa/{org-9.6 => org-9.6.7}/org-capture.el | 6 +- elpa/{org-9.6 => org-9.6.7}/org-clock.el | 149 +- elpa/{org-9.6 => org-9.6.7}/org-colview.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-compat.el | 26 +- elpa/{org-9.6 => org-9.6.7}/org-crypt.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-ctags.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-cycle.el | 7 +- elpa/{org-9.6 => org-9.6.7}/org-datetree.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-duration.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-element.el | 123 +- elpa/{org-9.6 => org-9.6.7}/org-entities.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-faces.el | 4 +- elpa/{org-9.6 => org-9.6.7}/org-feed.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-fold-core.el | 138 +- elpa/{org-9.6 => org-9.6.7}/org-fold.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-footnote.el | 11 +- elpa/{org-9.6 => org-9.6.7}/org-goto.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-habit.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-id.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-indent.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-inlinetask.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-keys.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-lint.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-list.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-loaddefs.el | 98 +- elpa/{org-9.6 => org-9.6.7}/org-macro.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-macs.el | 43 +- elpa/{org-9.6 => org-9.6.7}/org-mobile.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-mouse.el | 8 +- elpa/{org-9.6 => org-9.6.7}/org-num.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-pcomplete.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-persist.el | 321 +++-- elpa/org-9.6.7/org-pkg.el | 2 + elpa/{org-9.6 => org-9.6.7}/org-plot.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-protocol.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-refile.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-src.el | 158 +-- elpa/{org-9.6 => org-9.6.7}/org-table.el | 78 +- elpa/{org-9.6 => org-9.6.7}/org-tempo.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-timer.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org-version.el | 2 +- elpa/{org-9.6 => org-9.6.7}/org.el | 222 +-- elpa/{org-9.6 => org-9.6.7}/org.info | 1215 +++++++++-------- elpa/{org-9.6 => org-9.6.7}/orgguide.info | 208 +-- elpa/{org-9.6 => org-9.6.7}/ox-ascii.el | 6 +- elpa/{org-9.6 => org-9.6.7}/ox-beamer.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ox-html.el | 8 +- elpa/{org-9.6 => org-9.6.7}/ox-icalendar.el | 4 +- elpa/{org-9.6 => org-9.6.7}/ox-koma-letter.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ox-latex.el | 24 +- elpa/{org-9.6 => org-9.6.7}/ox-man.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ox-md.el | 9 +- elpa/{org-9.6 => org-9.6.7}/ox-odt.el | 39 +- elpa/{org-9.6 => org-9.6.7}/ox-org.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ox-publish.el | 2 +- elpa/{org-9.6 => org-9.6.7}/ox-texinfo.el | 32 +- elpa/{org-9.6 => org-9.6.7}/ox.el | 47 +- elpa/org-9.6/.dir-locals.el | 22 - elpa/org-9.6/doc/org-version.inc | 3 - elpa/org-9.6/org-pkg.el | 2 - .../org-mac-link-pkg.el | 2 - .../org-mac-link-autoloads.el | 9 +- .../org-mac-link-pkg.el | 19 + .../org-mac-link.el | 34 +- elpa/org-mime-20191226.2309/org-mime-pkg.el | 2 - elpa/org-mime-20191226.2309/org-mime.el | 597 -------- .../org-mime-autoloads.el | 24 +- elpa/org-mime-20230321.2341/org-mime-pkg.el | 14 + elpa/org-mime-20230321.2341/org-mime.el | 919 +++++++++++++ .../citeproc/csl-locales/locales-en-US.xml | 0 .../citeproc/csl-styles/apa-5th-edition.csl | 0 .../apa-numeric-superscript-brackets.csl | 0 .../chicago-author-date-16th-edition.csl | 0 .../citeproc/csl-styles/elsevier-harvard.csl | 0 .../csl-styles/elsevier-with-titles.csl | 0 .../contrib.el | 0 .../doi-utils.el | 128 +- .../nist-webbook.el | 0 .../openalex.el | 0 .../org-ref-arxiv.el | 0 .../org-ref-autoloads.el | 7 +- .../org-ref-bibliography-links.el | 2 +- .../org-ref-bibtex.el | 2 +- .../org-ref-citation-links.el | 0 .../org-ref-compat.el | 0 .../org-ref-core.el | 0 .../org-ref-export.el | 0 .../org-ref-glossary.el | 0 .../org-ref-helm.el | 0 .../org-ref-isbn.el | 0 .../org-ref-ivy.el | 0 .../org-ref-label-link.el | 0 .../org-ref-latex.el | 0 .../org-ref-misc-links.el | 0 .../org-ref-natbib-bbl-citeproc.el | 0 .../org-ref-pdf.el | 0 .../org-ref-pgk.el | 0 .../org-ref-pkg.el | 4 +- .../org-ref-pubmed.el | 0 .../org-ref-ref-links.el | 0 .../org-ref-refproc.el | 0 .../org-ref-sci-id.el | 0 .../org-ref-scifinder.el | 0 .../org-ref-scopus.el | 0 .../org-ref-url-utils.el | 0 .../org-ref-utils.el | 25 +- .../org-ref-worldcat.el | 0 .../org-ref-wos.el | 0 .../org-ref.bib | 0 .../org-ref.el | 0 .../org-ref.org | 0 .../x2bib.el | 0 .../org-sticky-header-pkg.el | 2 - .../org-sticky-header-autoloads.el | 8 +- .../org-sticky-header-pkg.el | 15 + .../org-sticky-header.el | 111 +- .../org-tree-slide-pkg.el | 2 - .../org-tree-slide-autoloads.el | 96 +- .../org-tree-slide-compt.el | 50 + .../org-tree-slide-pkg.el | 14 + .../org-tree-slide.el | 199 +-- init.el | 4 +- 228 files changed, 3456 insertions(+), 2667 deletions(-) rename elpa/{org-9.6 => org-9.6.7}/CONTRIBUTE.org (100%) rename elpa/{org-9.6 => org-9.6.7}/COPYING (100%) rename elpa/{org-9.6 => org-9.6.7}/Makefile (100%) rename elpa/{org-9.6 => org-9.6.7}/README-elpa (94%) rename elpa/{org-9.6 => org-9.6.7}/README.org (100%) rename elpa/{org-9.6 => org-9.6.7}/dir (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/.aspell.org.conf (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/.nosearch (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/Documentation_Standards.org (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/Makefile (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/dir (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/doc-setup.org (97%) rename elpa/{org-9.6 => org-9.6.7}/doc/fdl.org (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/htmlxref.cnf (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/org-guide.org (99%) rename elpa/{org-9.6 => org-9.6.7}/doc/org-manual.org (99%) create mode 100644 elpa/org-9.6.7/doc/org-version.inc rename elpa/{org-9.6 => org-9.6.7}/doc/org.texi (99%) rename elpa/{org-9.6 => org-9.6.7}/doc/orgcard.tex (99%) rename elpa/{org-9.6 => org-9.6.7}/doc/orgguide.texi (99%) rename elpa/{org-9.6 => org-9.6.7}/doc/pdflayout.sty (100%) rename elpa/{org-9.6 => org-9.6.7}/doc/texinfo.tex (100%) rename elpa/{org-9.6 => org-9.6.7}/etc/Makefile (100%) rename elpa/{org-9.6 => org-9.6.7}/etc/ORG-NEWS (99%) rename elpa/{org-9.6 => org-9.6.7}/etc/csl/README (100%) rename elpa/{org-9.6 => org-9.6.7}/etc/csl/chicago-author-date.csl (100%) rename elpa/{org-9.6 => org-9.6.7}/etc/csl/locales-en-US.xml (100%) rename elpa/{org-9.6 => org-9.6.7}/etc/styles/OrgOdtContentTemplate.xml (100%) rename elpa/{org-9.6 => org-9.6.7}/etc/styles/OrgOdtStyles.xml (100%) rename elpa/{org-9.6 => org-9.6.7}/etc/styles/README (95%) rename elpa/{org-9.6 => org-9.6.7}/local.mk (100%) rename elpa/{org-9.6 => org-9.6.7}/ob-C.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-R.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-awk.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-calc.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-clojure.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ob-comint.el (92%) rename elpa/{org-9.6 => org-9.6.7}/ob-core.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-css.el (96%) rename elpa/{org-9.6 => org-9.6.7}/ob-ditaa.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-dot.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-emacs-lisp.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-eshell.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-eval.el (95%) rename elpa/{org-9.6 => org-9.6.7}/ob-exp.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-forth.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-fortran.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-gnuplot.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-groovy.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-haskell.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-java.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-js.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ob-julia.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-latex.el (95%) rename elpa/{org-9.6 => org-9.6.7}/ob-lilypond.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-lisp.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-lob.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-lua.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-makefile.el (96%) rename elpa/{org-9.6 => org-9.6.7}/ob-matlab.el (95%) rename elpa/{org-9.6 => org-9.6.7}/ob-maxima.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-ocaml.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-octave.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ob-org.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ob-perl.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-plantuml.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-processing.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-python.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-ref.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-ruby.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ob-sass.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ob-scheme.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ob-screen.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-sed.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-shell.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-sql.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-sqlite.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-table.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ob-tangle.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ob.el (95%) rename elpa/{org-9.6 => org-9.6.7}/oc-basic.el (98%) rename elpa/{org-9.6 => org-9.6.7}/oc-biblatex.el (99%) rename elpa/{org-9.6 => org-9.6.7}/oc-bibtex.el (90%) rename elpa/{org-9.6 => org-9.6.7}/oc-csl.el (99%) rename elpa/{org-9.6 => org-9.6.7}/oc-natbib.el (99%) rename elpa/{org-9.6 => org-9.6.7}/oc.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol-bbdb.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol-bibtex.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ol-docview.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ol-doi.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ol-eshell.el (97%) rename elpa/{org-9.6 => org-9.6.7}/ol-eww.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol-gnus.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol-info.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol-irc.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol-man.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ol-mhe.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol-rmail.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ol-w3m.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ol.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-agenda.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-archive.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-attach-git.el (98%) rename elpa/{org-9.6 => org-9.6.7}/org-attach.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-autoloads.el (100%) rename elpa/{org-9.6 => org-9.6.7}/org-capture.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-clock.el (97%) rename elpa/{org-9.6 => org-9.6.7}/org-colview.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-compat.el (98%) rename elpa/{org-9.6 => org-9.6.7}/org-crypt.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-ctags.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-cycle.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-datetree.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-duration.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-element.el (98%) rename elpa/{org-9.6 => org-9.6.7}/org-entities.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-faces.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-feed.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-fold-core.el (94%) rename elpa/{org-9.6 => org-9.6.7}/org-fold.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-footnote.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-goto.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-habit.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-id.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-indent.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-inlinetask.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-keys.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-lint.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-list.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-loaddefs.el (97%) rename elpa/{org-9.6 => org-9.6.7}/org-macro.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-macs.el (97%) rename elpa/{org-9.6 => org-9.6.7}/org-mobile.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-mouse.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-num.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-pcomplete.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-persist.el (80%) create mode 100644 elpa/org-9.6.7/org-pkg.el rename elpa/{org-9.6 => org-9.6.7}/org-plot.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-protocol.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-refile.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-src.el (92%) rename elpa/{org-9.6 => org-9.6.7}/org-table.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-tempo.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-timer.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org-version.el (94%) rename elpa/{org-9.6 => org-9.6.7}/org.el (99%) rename elpa/{org-9.6 => org-9.6.7}/org.info (98%) rename elpa/{org-9.6 => org-9.6.7}/orgguide.info (96%) rename elpa/{org-9.6 => org-9.6.7}/ox-ascii.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-beamer.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-html.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-icalendar.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-koma-letter.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-latex.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-man.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-md.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-odt.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-org.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-publish.el (99%) rename elpa/{org-9.6 => org-9.6.7}/ox-texinfo.el (98%) rename elpa/{org-9.6 => org-9.6.7}/ox.el (99%) delete mode 100644 elpa/org-9.6/.dir-locals.el delete mode 100644 elpa/org-9.6/doc/org-version.inc delete mode 100644 elpa/org-9.6/org-pkg.el delete mode 100644 elpa/org-mac-link-20220616.2340/org-mac-link-pkg.el rename elpa/{org-mac-link-20220616.2340 => org-mac-link-20230228.1127}/org-mac-link-autoloads.el (96%) create mode 100644 elpa/org-mac-link-20230228.1127/org-mac-link-pkg.el rename elpa/{org-mac-link-20220616.2340 => org-mac-link-20230228.1127}/org-mac-link.el (97%) delete mode 100644 elpa/org-mime-20191226.2309/org-mime-pkg.el delete mode 100644 elpa/org-mime-20191226.2309/org-mime.el rename elpa/{org-mime-20191226.2309 => org-mime-20230321.2341}/org-mime-autoloads.el (70%) create mode 100644 elpa/org-mime-20230321.2341/org-mime-pkg.el create mode 100644 elpa/org-mime-20230321.2341/org-mime.el rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/citeproc/csl-locales/locales-en-US.xml (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/citeproc/csl-styles/apa-5th-edition.csl (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/citeproc/csl-styles/apa-numeric-superscript-brackets.csl (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/citeproc/csl-styles/chicago-author-date-16th-edition.csl (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/citeproc/csl-styles/elsevier-harvard.csl (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/citeproc/csl-styles/elsevier-with-titles.csl (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/contrib.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/doi-utils.el (96%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/nist-webbook.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/openalex.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-arxiv.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-autoloads.el (97%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-bibliography-links.el (99%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-bibtex.el (99%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-citation-links.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-compat.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-core.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-export.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-glossary.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-helm.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-isbn.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-ivy.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-label-link.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-latex.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-misc-links.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-natbib-bbl-citeproc.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-pdf.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-pgk.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-pkg.el (81%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-pubmed.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-ref-links.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-refproc.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-sci-id.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-scifinder.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-scopus.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-url-utils.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-utils.el (98%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-worldcat.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref-wos.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref.bib (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref.el (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/org-ref.org (100%) rename elpa/{org-ref-20230507.1420 => org-ref-20230613.1849}/x2bib.el (100%) delete mode 100644 elpa/org-sticky-header-20191117.549/org-sticky-header-pkg.el rename elpa/{org-sticky-header-20191117.549 => org-sticky-header-20201223.143}/org-sticky-header-autoloads.el (80%) create mode 100644 elpa/org-sticky-header-20201223.143/org-sticky-header-pkg.el rename elpa/{org-sticky-header-20191117.549 => org-sticky-header-20201223.143}/org-sticky-header.el (69%) delete mode 100644 elpa/org-tree-slide-20200114.2334/org-tree-slide-pkg.el rename elpa/{org-tree-slide-20200114.2334 => org-tree-slide-20230305.441}/org-tree-slide-autoloads.el (62%) create mode 100644 elpa/org-tree-slide-20230305.441/org-tree-slide-compt.el create mode 100644 elpa/org-tree-slide-20230305.441/org-tree-slide-pkg.el rename elpa/{org-tree-slide-20200114.2334 => org-tree-slide-20230305.441}/org-tree-slide.el (85%) diff --git a/bba.org b/bba.org index ae1cd1ca..f2cb85bd 100644 --- a/bba.org +++ b/bba.org @@ -28,12 +28,12 @@ To be precise, this is what's in the first part of my =~/.emacs.d/init.el= (what (setq load-path (append - (list (expand-file-name "~/.emacs.d/") (expand-file-name "~/.emacs.d/elpa/org-9.5.2")) + (list (expand-file-name "~/.emacs.d/") (expand-file-name "~/.emacs.d/elpa/org-9.6.7")) ;; (expand-file-name "/usr/share/emacs/lisp/") load-path)) - (add-to-list 'load-path "~/.emacs/elpa/org-9.5.2") + (add-to-list 'load-path "~/.emacs/elpa/org-9.6.7") ;; (add-to-list 'load-path "~/elisp/org-mode/contrib/lisp") ;; Load the rest of the packages diff --git a/elpa/org-9.6/CONTRIBUTE.org b/elpa/org-9.6.7/CONTRIBUTE.org similarity index 100% rename from elpa/org-9.6/CONTRIBUTE.org rename to elpa/org-9.6.7/CONTRIBUTE.org diff --git a/elpa/org-9.6/COPYING b/elpa/org-9.6.7/COPYING similarity index 100% rename from elpa/org-9.6/COPYING rename to elpa/org-9.6.7/COPYING diff --git a/elpa/org-9.6/Makefile b/elpa/org-9.6.7/Makefile similarity index 100% rename from elpa/org-9.6/Makefile rename to elpa/org-9.6.7/Makefile diff --git a/elpa/org-9.6/README-elpa b/elpa/org-9.6.7/README-elpa similarity index 94% rename from elpa/org-9.6/README-elpa rename to elpa/org-9.6.7/README-elpa index 86232c10..d9569665 100644 --- a/elpa/org-9.6/README-elpa +++ b/elpa/org-9.6.7/README-elpa @@ -1,11 +1,3 @@ -Table of Contents -───────────────── - -1. Install Org -2. Join the GNU Project -3. License - - This is a distribution of Org Mode, a major mode for keeping notes, authoring documents, computational notebooks, literate programming, maintaining to-do lists, planning projects, and more — in a fast and diff --git a/elpa/org-9.6/README.org b/elpa/org-9.6.7/README.org similarity index 100% rename from elpa/org-9.6/README.org rename to elpa/org-9.6.7/README.org diff --git a/elpa/org-9.6/dir b/elpa/org-9.6.7/dir similarity index 100% rename from elpa/org-9.6/dir rename to elpa/org-9.6.7/dir diff --git a/elpa/org-9.6/doc/.aspell.org.conf b/elpa/org-9.6.7/doc/.aspell.org.conf similarity index 100% rename from elpa/org-9.6/doc/.aspell.org.conf rename to elpa/org-9.6.7/doc/.aspell.org.conf diff --git a/elpa/org-9.6/doc/.nosearch b/elpa/org-9.6.7/doc/.nosearch similarity index 100% rename from elpa/org-9.6/doc/.nosearch rename to elpa/org-9.6.7/doc/.nosearch diff --git a/elpa/org-9.6/doc/Documentation_Standards.org b/elpa/org-9.6.7/doc/Documentation_Standards.org similarity index 100% rename from elpa/org-9.6/doc/Documentation_Standards.org rename to elpa/org-9.6.7/doc/Documentation_Standards.org diff --git a/elpa/org-9.6/doc/Makefile b/elpa/org-9.6.7/doc/Makefile similarity index 100% rename from elpa/org-9.6/doc/Makefile rename to elpa/org-9.6.7/doc/Makefile diff --git a/elpa/org-9.6/doc/dir b/elpa/org-9.6.7/doc/dir similarity index 100% rename from elpa/org-9.6/doc/dir rename to elpa/org-9.6.7/doc/dir diff --git a/elpa/org-9.6/doc/doc-setup.org b/elpa/org-9.6.7/doc/doc-setup.org similarity index 97% rename from elpa/org-9.6/doc/doc-setup.org rename to elpa/org-9.6.7/doc/doc-setup.org index 786a0cb1..945e528d 100644 --- a/elpa/org-9.6/doc/doc-setup.org +++ b/elpa/org-9.6.7/doc/doc-setup.org @@ -1,6 +1,6 @@ # SETUPFILE for Org manual -# Copyright (C) 2021-2022 Free Software Foundation, Inc. +# Copyright (C) 2021-2023 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # diff --git a/elpa/org-9.6/doc/fdl.org b/elpa/org-9.6.7/doc/fdl.org similarity index 100% rename from elpa/org-9.6/doc/fdl.org rename to elpa/org-9.6.7/doc/fdl.org diff --git a/elpa/org-9.6/doc/htmlxref.cnf b/elpa/org-9.6.7/doc/htmlxref.cnf similarity index 100% rename from elpa/org-9.6/doc/htmlxref.cnf rename to elpa/org-9.6.7/doc/htmlxref.cnf diff --git a/elpa/org-9.6/doc/org-guide.org b/elpa/org-9.6.7/doc/org-guide.org similarity index 99% rename from elpa/org-9.6/doc/org-guide.org rename to elpa/org-9.6.7/doc/org-guide.org index e23b2efa..1732b017 100644 --- a/elpa/org-9.6/doc/org-guide.org +++ b/elpa/org-9.6.7/doc/org-guide.org @@ -10,7 +10,7 @@ :copying: t :END: -Copyright \copy 2004--2022 Free Software Foundation, Inc. +Copyright \copy 2004--2023 Free Software Foundation, Inc. #+begin_quote Permission is granted to copy, distribute and/or modify this document @@ -141,7 +141,7 @@ See [[*Miscellaneous]] for a setup to realize this. Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to {{{kbd(TAB)}}} and -{{{kbd{S-TAB)}}} to change the visibility in the buffer. +{{{kbd(S-TAB)}}} to change the visibility in the buffer. #+attr_texinfo: :sep , - {{{kbd(TAB)}}} :: @@ -667,7 +667,7 @@ of the option ~org-todo-state-tags-triggers~ for details. :DESCRIPTION: More than just on/off. :END: -You can use TODO keywords to indicate @emph{sequential} working progress +You can use TODO keywords to indicate /sequential/ working progress states: #+begin_src emacs-lisp @@ -1093,7 +1093,7 @@ a range of times---in a special format, either =<2003-09-16 Tue>= or =<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=. A timestamp can appear anywhere in the headline or body of an Org tree entry. Its presence causes entries to be shown on specific dates in -the agenda (see [[*The Weekly/daily Agenda]]). We distinguish: +the agenda (see [[*The Weekly/Daily Agenda]]). We distinguish: - Plain timestamp; Event; Appointment :: @@ -1111,8 +1111,8 @@ the agenda (see [[*The Weekly/daily Agenda]]). We distinguish: A timestamp may contain a /repeater interval/, indicating that it applies not only on the given date, but again and again after - a certain interval of N days (d), weeks (w), months (m), or years - (y). The following shows up in the agenda every Wednesday: + a certain interval of N hours (h), days (d), weeks (w), months (m), + or years (y). The following shows up in the agenda every Wednesday: #+begin_example ,* Pick up Sam at school @@ -1294,7 +1294,7 @@ a project. a {{{kbd(C-u)}}} prefix argument, select the target task from a list of recently clocked tasks. -The {{{kbd(l)}}} key may be used in the agenda (see [[*The Weekly/daily +The {{{kbd(l)}}} key may be used in the agenda (see [[*The Weekly/Daily Agenda]]) to show which tasks have been worked on or closed during a day. @@ -1527,7 +1527,7 @@ commands: #+attr_texinfo: :sep , - {{{kbd(a)}}} :: - Create the calendar-like agenda (see [[*The Weekly/daily Agenda]]). + Create the calendar-like agenda (see [[*The Weekly/Daily Agenda]]). - {{{kbd(t)}}}, {{{kbd(T)}}} :: diff --git a/elpa/org-9.6/doc/org-manual.org b/elpa/org-9.6.7/doc/org-manual.org similarity index 99% rename from elpa/org-9.6/doc/org-manual.org rename to elpa/org-9.6.7/doc/org-manual.org index 67b8b4de..ea519ea3 100644 --- a/elpa/org-9.6/doc/org-manual.org +++ b/elpa/org-9.6.7/doc/org-manual.org @@ -1249,11 +1249,12 @@ After the drawer. #+findex: org-insert-drawer You can interactively insert a drawer at point by calling ~org-insert-drawer~, which is bound to {{{kbd(C-c C-x d)}}}. With an -active region, this command puts the region inside the drawer. With -a prefix argument, this command calls ~org-insert-property-drawer~, -which creates a =PROPERTIES= drawer right below the current headline. -Org mode uses this special drawer for storing properties (see -[[*Properties and Columns]]). You cannot use it for anything else. +active region, this command puts the region inside the drawer. With a +prefix argument, this command calls non-interactive function +~org-insert-property-drawer~, which creates a =PROPERTIES= drawer +right below the current headline. Org mode uses this special drawer +for storing properties (see [[*Properties and Columns]]). You cannot use +it for anything else. Completion over drawer keywords is also possible using {{{kbd(M-TAB)}}}[fn:6]. @@ -1401,7 +1402,7 @@ you, configure the option ~org-table-auto-blank-field~. - {{{kbd(M-x org-table-blank-field)}}} :: #+findex: org-table-blank-field - Blank the field at point. + Blank the current table field or active region. - {{{kbd(S-TAB)}}} (~org-table-previous-field~) :: @@ -5290,7 +5291,7 @@ The following commands help to work with properties: Set a property in the current entry. Both the property and the value can be inserted using completion. -- {{{kbd(S-RIGHT)}}} (~org-property-next-allowed-values~), {{{kbd(S-LEFT)}}} (~org-property-previous-allowed-value~) :: +- {{{kbd(S-RIGHT)}}} (~org-property-next-allowed-value~), {{{kbd(S-LEFT)}}} (~org-property-previous-allowed-value~) :: #+kindex: S-RIGHT #+kindex: S-LEFT @@ -5957,8 +5958,9 @@ the agenda (see [[*Weekly/daily agenda]]). We distinguish: #+findex: org-block For more complex date specifications, Org mode supports using the - special expression diary entries implemented in the Emacs Calendar - package[fn:20]. For example, with optional time: + special expression diary entries implemented in the + [[info:emacs#Special Diary Entries][Emacs Calendar package]][fn:20]. + For example, with optional time: #+begin_example ,* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month @@ -8787,7 +8789,9 @@ a ~day~, ~week~, ~month~ or ~year~. For weekly agendas, the default is to start on the previous Monday (see ~org-agenda-start-on-weekday~). You can also set the start date using a date shift: =(setq org-agenda-start-day "+10d")= starts the agenda -ten days from today in the future. +ten days from today in the future. ~org-agenda-start-on-weekday~ +takes precedence over ~org-agenda-start-day~ in weekly and bi-weekly +agendas. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda buffer. @@ -10249,9 +10253,9 @@ the other commands, point needs to be in the desired line. Unmark entry for bulk action. -- {{{kbd(U)}}} (~org-agenda-bulk-remove-all-marks~) :: +- {{{kbd(U)}}} (~org-agenda-bulk-unmark-all~) :: #+kindex: U - #+findex: org-agenda-bulk-remove-all-marks + #+findex: org-agenda-bulk-unmark-all Unmark all marked entries for bulk action. @@ -11689,9 +11693,9 @@ When the variable ~org-export-dispatch-use-expert-ui~ is set to a non-~nil~ value, Org prompts in the minibuffer. To switch back to the hierarchical menu, press {{{kbd(?)}}}. -- {{{kbd(C-c C-e)}}} (~org-export~) :: +- {{{kbd(C-c C-e)}}} (~org-export-dispatch~) :: #+kindex: C-c C-e - #+findex: org-export + #+findex: org-export-dispatch Invokes the export dispatcher interface. The options show default settings. The {{{kbd(C-u)}}} prefix argument preserves options from @@ -12229,7 +12233,7 @@ with the custom ID =theory=, you can use The following command allows navigating to the included document: -- {{{kbd(C-c ')}}} (~org-edit~special~) :: +- {{{kbd(C-c ')}}} (~org-edit-special~) :: #+kindex: C-c ' #+findex: org-edit-special @@ -13722,7 +13726,7 @@ A sample Org file with the above headers: #+vindex: org-export-default-language LaTeX packages =babel= or =polyglossia= can also be loaded in a document. The "AUTO" string will be replaced in both cases by the -appropiate value for the =LANGUAGE= keyword, if present in the +appropriate value for the =LANGUAGE= keyword, if present in the document, or by the value of ~org-export-default-language~. Let's see some examples in one or another case. @@ -14360,10 +14364,10 @@ executable. Without it, export cannot finish. :DESCRIPTION: Invoking export. :END: -- {{{kbd(C-c C-e o o)}}} (~org-export-to-odt~) :: +- {{{kbd(C-c C-e o o)}}} (~org-odt-export-to-odt~) :: #+kindex: C-c C-e o o - #+findex: org-export-to-odt + #+findex: org-odt-export-to-odt Export as OpenDocument Text file. #+cindex: @samp{EXPORT_FILE_NAME}, property @@ -16030,7 +16034,12 @@ can remove every headline in the buffer during export like this: "Remove all headlines in the current buffer. BACKEND is the export back-end being used, as a symbol." (org-map-entries - (lambda () (delete-region (point) (line-beginning-position 2))))) + (lambda () + (delete-region (point) (line-beginning-position 2)) + ;; We need to tell `org-map-entries' to not skip over heading at + ;; point. Otherwise, it would continue from _next_ heading. See + ;; the docstring of `org-map-entries' for details. + (setq org-map-continue-from (point))))) (add-hook 'org-export-before-parsing-hook #'my-headline-removal) #+end_src @@ -18093,7 +18102,8 @@ evaluating untrusted code blocks by prompting for a confirmation. - =yes= :: - Org always evaluates the source code without asking permission. + Org evaluates the source code, possibly asking permission according + to ~org-confirm-babel-evaluate~. - =never= or =no= :: @@ -18491,7 +18501,7 @@ options; they are mutually exclusive. Ignore the results completely. This option is similar to =none=, but no processing is performed on the return value. Calling the - code block programatically (see [[*How to evaluate source code]]) or by + code block programmatically (see [[*How to evaluate source code]]) or by reference (see [[*Passing arguments]] and [[*Noweb Reference Syntax]]) will always yield nil. @@ -18784,7 +18794,7 @@ a octal shorthand is defined, =oXXX= (=o= for octal). Using this, our read-only example is =:tangle-mode o444=. Omitting the =o= prefix will cause the argument to be interpreted as an integer, which can lead to unexpected results (=444= is the same as =o674=). -Two other shorthands are recognised, ls-style strings like +Two other shorthands are recognized, ls-style strings like =rw-r--r--=, and chmod-style permissions like =g+w=. Note that chmod-style permissions are based on ~org-babel-tangle-default-file-mode~, which is =#o544= by default. @@ -18792,7 +18802,7 @@ Note that chmod-style permissions are based on When =:tangle-mode= and =:shebang= are both specified, the give =:tangle-mode= will override the permissions from =:shebang=. When multiple source code blocks tangle to a single file with conflicting -=:tangle-mode= header arguments, Org's behaviour is undefined. +=:tangle-mode= header arguments, Org's behavior is undefined. #+cindex: @samp{no-expand}, header argument By default Org expands code blocks during tangling. The =no-expand= @@ -20021,11 +20031,16 @@ changes. | =nofnadjust= | Do not renumber and sort automatically. | #+vindex: org-hide-block-startup - To hide blocks on startup, use these keywords. The - corresponding variable is ~org-hide-block-startup~. + #+vindex: org-hide-drawer-startup + To hide blocks or drawers on startup, use these keywords. The + corresponding variables are ~org-hide-block-startup~ and + ~org-hide-drawer-startup~. + + | =hideblocks= | Hide all begin/end blocks on startup. | + | =nohideblocks= | Do not hide blocks on startup. | + | =hidedrawers= | Hide all begin/end blocks on startup. | + | =nohidedrawers= | Do not hide blocks on startup. | - | =hideblocks= | Hide all begin/end blocks on startup. | - | =nohideblocks= | Do not hide blocks on startup. | #+vindex: org-pretty-entities The display of entities as UTF-8 characters is governed by the @@ -22300,7 +22315,7 @@ that are mentioned in the manual. For a more complete list, use This manual is for Org version {{{version}}}. -Copyright \copy 2004--2022 Free Software Foundation, Inc. +Copyright \copy 2004--2023 Free Software Foundation, Inc. #+begin_quote Permission is granted to copy, distribute and/or modify this document diff --git a/elpa/org-9.6.7/doc/org-version.inc b/elpa/org-9.6.7/doc/org-version.inc new file mode 100644 index 00000000..e07311b0 --- /dev/null +++ b/elpa/org-9.6.7/doc/org-version.inc @@ -0,0 +1,3 @@ +@c automatically generated, do not edit +@set VERSION 9.6.7 () +@set DATE 2023-06-26 diff --git a/elpa/org-9.6/doc/org.texi b/elpa/org-9.6.7/doc/org.texi similarity index 99% rename from elpa/org-9.6/doc/org.texi rename to elpa/org-9.6.7/doc/org.texi index 1620dc54..bc20bf73 100644 --- a/elpa/org-9.6/doc/org.texi +++ b/elpa/org-9.6.7/doc/org.texi @@ -15,7 +15,7 @@ @copying This manual is for Org version 9.6. -Copyright @copyright{} 2004--2022 Free Software Foundation, Inc. +Copyright @copyright{} 2004--2023 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -1776,11 +1776,12 @@ After the drawer. @findex org-insert-drawer You can interactively insert a drawer at point by calling @code{org-insert-drawer}, which is bound to @kbd{C-c C-x d}. With an -active region, this command puts the region inside the drawer. With -a prefix argument, this command calls @code{org-insert-property-drawer}, -which creates a @samp{PROPERTIES} drawer right below the current headline. -Org mode uses this special drawer for storing properties (see -@ref{Properties and Columns}). You cannot use it for anything else. +active region, this command puts the region inside the drawer. With a +prefix argument, this command calls non-interactive function +@code{org-insert-property-drawer}, which creates a @samp{PROPERTIES} drawer +right below the current headline. Org mode uses this special drawer +for storing properties (see @ref{Properties and Columns}). You cannot use +it for anything else. Completion over drawer keywords is also possible using @kbd{M-@key{TAB}}@footnote{Many desktops intercept @kbd{M-@key{TAB}} to switch windows. @@ -1929,7 +1930,7 @@ necessary. @item @kbd{M-x org-table-blank-field} @findex org-table-blank-field -Blank the field at point. +Blank the current table field or active region. @item @kbd{S-@key{TAB}} (@code{org-table-previous-field}) @kindex S-TAB @@ -5882,7 +5883,7 @@ With point in a property drawer, this executes property commands. Set a property in the current entry. Both the property and the value can be inserted using completion. -@item @kbd{S-@key{RIGHT}} (@code{org-property-next-allowed-values}) +@item @kbd{S-@key{RIGHT}} (@code{org-property-next-allowed-value}) @itemx @kbd{S-@key{LEFT}} (@code{org-property-previous-allowed-value}) @kindex S-RIGHT @kindex S-LEFT @@ -6573,8 +6574,8 @@ or years (y). The following shows up in the agenda every Wednesday: @findex org-block For more complex date specifications, Org mode supports using the -special expression diary entries implemented in the Emacs Calendar -package@footnote{When working with the standard diary expression functions, you +special expression diary entries implemented in the +@ref{Special Diary Entries,Emacs Calendar package,,emacs,}@footnote{When working with the standard diary expression functions, you need to be very careful with the order of the arguments. That order depends evilly on the variable @code{calendar-date-style}. For example, to specify a date December 1, 2005, the call might look like @@ -6585,7 +6586,8 @@ these functions, namely @code{org-date}, @code{org-anniversary}, @code{org-cycli ~org-block}. These work just like the corresponding @code{diary-} functions, but with stable ISO order of arguments (year, month, day) wherever applicable, independent of the value of -@code{calendar-date-style}.}. For example, with optional time: +@code{calendar-date-style}.}. +For example, with optional time: @example * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month @@ -9435,7 +9437,9 @@ a @code{day}, @code{week}, @code{month} or @code{year}. For weekly agendas, the is to start on the previous Monday (see @code{org-agenda-start-on-weekday}). You can also set the start date using a date shift: @samp{(setq org-agenda-start-day "+10d")} starts the agenda -ten days from today in the future. +ten days from today in the future. @code{org-agenda-start-on-weekday} +takes precedence over @code{org-agenda-start-day} in weekly and bi-weekly +agendas. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda buffer. @@ -10848,9 +10852,9 @@ Mark all visible agenda entries for bulk action. Unmark entry for bulk action. -@item @kbd{U} (@code{org-agenda-bulk-remove-all-marks}) +@item @kbd{U} (@code{org-agenda-bulk-unmark-all}) @kindex U -@findex org-agenda-bulk-remove-all-marks +@findex org-agenda-bulk-unmark-all Unmark all marked entries for bulk action. @@ -12359,9 +12363,9 @@ a non-@code{nil} value, Org prompts in the minibuffer. To switch back to the hierarchical menu, press @kbd{?}. @table @asis -@item @kbd{C-c C-e} (@code{org-export}) +@item @kbd{C-c C-e} (@code{org-export-dispatch}) @kindex C-c C-e -@findex org-export +@findex org-export-dispatch Invokes the export dispatcher interface. The options show default settings. The @kbd{C-u} prefix argument preserves options from @@ -12886,7 +12890,7 @@ with the custom ID @samp{theory}, you can use The following command allows navigating to the included document: @table @asis -@item @kbd{C-c '} (@code{org-edit~special}) +@item @kbd{C-c '} (@code{org-edit-special}) @kindex C-c ' @findex org-edit-special @@ -14449,7 +14453,7 @@ A sample Org file with the above headers: @vindex org-export-default-language @LaTeX{} packages @samp{babel} or @samp{polyglossia} can also be loaded in a document. The ``AUTO'' string will be replaced in both cases by the -appropiate value for the @samp{LANGUAGE} keyword, if present in the +appropriate value for the @samp{LANGUAGE} keyword, if present in the document, or by the value of @code{org-export-default-language}. Let's see some examples in one or another case. @@ -15084,9 +15088,9 @@ executable. Without it, export cannot finish. @subsection ODT export commands @table @asis -@item @kbd{C-c C-e o o} (@code{org-export-to-odt}) +@item @kbd{C-c C-e o o} (@code{org-odt-export-to-odt}) @kindex C-c C-e o o -@findex org-export-to-odt +@findex org-odt-export-to-odt Export as OpenDocument Text file. @cindex @samp{EXPORT_FILE_NAME}, property @@ -16765,7 +16769,12 @@ can remove every headline in the buffer during export like this: "Remove all headlines in the current buffer. BACKEND is the export back-end being used, as a symbol." (org-map-entries - (lambda () (delete-region (point) (line-beginning-position 2))))) + (lambda () + (delete-region (point) (line-beginning-position 2)) + ;; We need to tell `org-map-entries' to not skip over heading at + ;; point. Otherwise, it would continue from _next_ heading. See + ;; the docstring of `org-map-entries' for details. + (setq org-map-continue-from (point))))) (add-hook 'org-export-before-parsing-hook #'my-headline-removal) @end lisp @@ -19106,7 +19115,8 @@ evaluating untrusted code blocks by prompting for a confirmation. @table @asis @item @samp{yes} -Org always evaluates the source code without asking permission. +Org evaluates the source code, possibly asking permission according +to @code{org-confirm-babel-evaluate}. @item @samp{never} or @samp{no} Org never evaluates the source code. @@ -19475,7 +19485,7 @@ Usage example: @samp{:results none}. @item @samp{discard} Ignore the results completely. This option is similar to @samp{none}, but no processing is performed on the return value. Calling the -code block programatically (see @ref{How to evaluate source code}) or by +code block programmatically (see @ref{How to evaluate source code}) or by reference (see @ref{Passing arguments} and @ref{Noweb Reference Syntax}) will always yield nil. @@ -19756,7 +19766,7 @@ a octal shorthand is defined, @samp{oXXX} (@samp{o} for octal). Using this, our read-only example is @samp{:tangle-mode o444}. Omitting the @samp{o} prefix will cause the argument to be interpreted as an integer, which can lead to unexpected results (@samp{444} is the same as @samp{o674}). -Two other shorthands are recognised, ls-style strings like +Two other shorthands are recognized, ls-style strings like @samp{rw-r--r--}, and chmod-style permissions like @samp{g+w}. Note that chmod-style permissions are based on @code{org-babel-tangle-default-file-mode}, which is @samp{#o544} by default. @@ -19764,7 +19774,7 @@ Note that chmod-style permissions are based on When @samp{:tangle-mode} and @samp{:shebang} are both specified, the give @samp{:tangle-mode} will override the permissions from @samp{:shebang}. When multiple source code blocks tangle to a single file with conflicting -@samp{:tangle-mode} header arguments, Org's behaviour is undefined. +@samp{:tangle-mode} header arguments, Org's behavior is undefined. @cindex @samp{no-expand}, header argument By default Org expands code blocks during tangling. The @samp{no-expand} @@ -21136,15 +21146,23 @@ corresponding variables are @code{org-footnote-define-inline}, @end multitable @vindex org-hide-block-startup -To hide blocks on startup, use these keywords. The -corresponding variable is @code{org-hide-block-startup}. +@vindex org-hide-drawer-startup +To hide blocks or drawers on startup, use these keywords. The +corresponding variables are @code{org-hide-block-startup} and +@code{org-hide-drawer-startup}. -@multitable {aaaaaaaaaaaaaa} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} +@multitable {aaaaaaaaaaaaaaa} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} @item @samp{hideblocks} @tab Hide all begin/end blocks on startup. @item @samp{nohideblocks} @tab Do not hide blocks on startup. +@item @samp{hidedrawers} +@tab Hide all begin/end blocks on startup. +@item @samp{nohidedrawers} +@tab Do not hide blocks on startup. @end multitable +@end table + @vindex org-pretty-entities The display of entities as UTF-8 characters is governed by the @@ -21157,6 +21175,7 @@ variable @code{org-pretty-entities} and the keywords @tab Leave entities plain. @end multitable +@table @asis @item @samp{#+TAGS: TAG1(c1) TAG2(c2)} @cindex @samp{TAGS}, keyword @vindex org-tag-alist @@ -21164,9 +21183,7 @@ These lines (several such lines are allowed) specify the valid tags in this file, and (potentially) the corresponding @emph{fast tag selection} keys. The corresponding variable is @code{org-tag-alist}. -@item @samp{#+TODO:} -@itemx @samp{#+SEQ_TODO:} -@itemx @samp{#+TYP_TODO:} +@item @samp{#+TODO:}, @samp{#+SEQ_TODO:}, @samp{#+TYP_TODO:} @cindex @samp{SEQ_TODO}, keyword @cindex @samp{TODO}, keyword @cindex @samp{TYP_TODO}, keyword diff --git a/elpa/org-9.6/doc/orgcard.tex b/elpa/org-9.6.7/doc/orgcard.tex similarity index 99% rename from elpa/org-9.6/doc/orgcard.tex rename to elpa/org-9.6.7/doc/orgcard.tex index d86b0083..13e8b8d7 100644 --- a/elpa/org-9.6/doc/orgcard.tex +++ b/elpa/org-9.6.7/doc/orgcard.tex @@ -15,7 +15,7 @@ \pdflayout=(0l) % Nothing else needs to be changed below this line. -% Copyright (C) 1987, 1993, 1996--1997, 2001--2022 Free Software +% Copyright (C) 1987, 1993, 1996--1997, 2001--2023 Free Software % Foundation, Inc. % This document is free software: you can redistribute it and/or modify @@ -324,7 +324,7 @@ \key{archive subtree using the default command}{C-c C-x C-a} \key{move subtree to archive file}{C-c C-x C-s} \key{toggle ARCHIVE tag / to ARCHIVE sibling}{C-c C-x a/A} -\key{force cycling of an ARCHIVEd tree}{C-TAB} +\key{force cycling of an ARCHIVEd tree}{C-c C-TAB} \section{Filtering and Sparse Trees} diff --git a/elpa/org-9.6/doc/orgguide.texi b/elpa/org-9.6.7/doc/orgguide.texi similarity index 99% rename from elpa/org-9.6/doc/orgguide.texi rename to elpa/org-9.6.7/doc/orgguide.texi index 6c1c0b6a..af7668e7 100644 --- a/elpa/org-9.6/doc/orgguide.texi +++ b/elpa/org-9.6.7/doc/orgguide.texi @@ -13,7 +13,7 @@ @c %**end of header @copying -Copyright @copyright{} 2004--2022 Free Software Foundation, Inc. +Copyright @copyright{} 2004--2023 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -257,7 +257,7 @@ See @ref{Miscellaneous} for a setup to realize this. Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to @kbd{@key{TAB}} and -@{@{@{kbd@{S-TAB)@}@}@} to change the visibility in the buffer. +@kbd{S-@key{TAB}} to change the visibility in the buffer. @table @asis @item @kbd{@key{TAB}} @@ -795,7 +795,7 @@ of the option @code{org-todo-state-tags-triggers} for details. @node Multi-state Workflow @section Multi-state Workflow -You can use TODO keywords to indicate @@emph@{sequential@} working progress +You can use TODO keywords to indicate @emph{sequential} working progress states: @lisp @@ -1220,7 +1220,7 @@ a range of times---in a special format, either @samp{<2003-09-16 Tue>} or @samp{<2003-09-16 Tue 09:39>} or @samp{<2003-09-16 Tue 12:00-12:30>}. A timestamp can appear anywhere in the headline or body of an Org tree entry. Its presence causes entries to be shown on specific dates in -the agenda (see [BROKEN LINK: *The Weekly/daily Agenda]). We distinguish: +the agenda (see @ref{Built-in Agenda Views}). We distinguish: @table @asis @item Plain timestamp; Event; Appointment @@ -1237,8 +1237,8 @@ just like writing down an appointment or event in a paper agenda. @item Timestamp with repeater interval A timestamp may contain a @emph{repeater interval}, indicating that it applies not only on the given date, but again and again after -a certain interval of N days (d), weeks (w), months (m), or years -(y). The following shows up in the agenda every Wednesday: +a certain interval of N hours (h), days (d), weeks (w), months (m), +or years (y). The following shows up in the agenda every Wednesday: @example * Pick up Sam at school @@ -1411,7 +1411,7 @@ a @kbd{C-u} prefix argument, select the target task from a list of recently clocked tasks. @end table -The @kbd{l} key may be used in the agenda (see [BROKEN LINK: *The Weekly/daily Agenda]) to show which tasks have been worked on or closed during +The @kbd{l} key may be used in the agenda (see @ref{Built-in Agenda Views}) to show which tasks have been worked on or closed during a day. @node Capture Refile Archive @@ -1646,7 +1646,7 @@ commands: @table @asis @item @kbd{a} -Create the calendar-like agenda (see [BROKEN LINK: *The Weekly/daily Agenda]). +Create the calendar-like agenda (see @ref{Built-in Agenda Views}). @item @kbd{t} @itemx @kbd{T} diff --git a/elpa/org-9.6/doc/pdflayout.sty b/elpa/org-9.6.7/doc/pdflayout.sty similarity index 100% rename from elpa/org-9.6/doc/pdflayout.sty rename to elpa/org-9.6.7/doc/pdflayout.sty diff --git a/elpa/org-9.6/doc/texinfo.tex b/elpa/org-9.6.7/doc/texinfo.tex similarity index 100% rename from elpa/org-9.6/doc/texinfo.tex rename to elpa/org-9.6.7/doc/texinfo.tex diff --git a/elpa/org-9.6/etc/Makefile b/elpa/org-9.6.7/etc/Makefile similarity index 100% rename from elpa/org-9.6/etc/Makefile rename to elpa/org-9.6.7/etc/Makefile diff --git a/elpa/org-9.6/etc/ORG-NEWS b/elpa/org-9.6.7/etc/ORG-NEWS similarity index 99% rename from elpa/org-9.6/etc/ORG-NEWS rename to elpa/org-9.6.7/etc/ORG-NEWS index db0ea244..5f92c056 100644 --- a/elpa/org-9.6/etc/ORG-NEWS +++ b/elpa/org-9.6.7/etc/ORG-NEWS @@ -6,12 +6,11 @@ ORG NEWS -- history of user-visible changes. -*- mode: org; coding: utf-8 -*- #+LINK: msg https://list.orgmode.org/%s/ #+LINK: git https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=%s -Copyright (C) 2012-2022 Free Software Foundation, Inc. +Copyright (C) 2012-2023 Free Software Foundation, Inc. See the end of the file for license conditions. Please send Org bug reports to mailto:emacs-orgmode@gnu.org. -* Version 9.7 (not released yet) * Version 9.6 ** Important announcements and breaking changes @@ -25,7 +24,7 @@ the time being. It will be removed in the next release. See https://orgmode.org/list/87r0yk7bx8.fsf@localhost for more details. -*** Element cache is enabled by default and work for headings +*** Element cache is enabled by default and works for headings The old element cache code has been refactored. Emacs does not hang anymore when the cache is enabled. @@ -56,7 +55,7 @@ The old folding backend used in Org is poorly scalable when the file size increases beyond few Mbs. The symptoms usually include slow cursor motion, especially in long-running Emacs sessions. -A new optimised folding backend is now available, and enabled by +A new optimized folding backend is now available, and enabled by default. To disable it, put the following to the Emacs config *before* loading Org: @@ -64,14 +63,14 @@ loading Org: (setq org-fold-core-style 'overlays) #+end_src -Even more performance optimisation can be enabled by customising +Even more performance optimization can be enabled by customizing =org-fold-core--optimise-for-huge-buffers=. However, this option may be dangerous. Please, read the variable docstring carefully to understand the possible consequences. When =org-fold-core-style= is set to =text-properties=, several new features will become available and several notable changes will happen -to the Org behaviour. The new features and changes are listed below. +to the Org behavior. The new features and changes are listed below. **** Hidden parts of the links can now be searched and revealed during isearch @@ -79,7 +78,7 @@ In the past, hidden parts of the links could not be searched using isearch (=C-s=). Now, they are searchable by default. The hidden match is also revealed temporarily during isearch. -To restore the old behaviour add the following core to your Emacs +To restore the old behavior add the following core to your Emacs config: #+begin_src emacs-lisp @@ -131,13 +130,13 @@ Now, it is not the case anymore. The drawer folding state is preserved. The initial folding state of all the drawers in buffer is set according to the startup visibility settings. -To restore the old behaviour, add the following code to Emacs config: +To restore the old behavior, add the following code to Emacs config: #+begin_src emacs-lisp (add-hook 'org-cycle-hook #'org-cycle-hide-drawers) #+end_src -Note that old behaviour may cause performance issues when cycling +Note that old behavior may cause performance issues when cycling headline visibility in large buffers. **** =outline-*= functions may no longer work correctly in Org mode @@ -187,6 +186,40 @@ network (CDN) provider from CloudFlare to jsDelivr. You can find the new terms of service, including the privacy policy, at https://www.jsdelivr.com/terms. +*** List references in source block variable assignments are now proper lists + +List representation of named lists is now converted to a simple list +as promised by the manual section [[info:org#Environment of a Code Block][org#Environment of a Code Block]]. +Previously, it was converted to a list of lists. + +Before: + +#+begin_src org +,#+NAME: example-list +- simple + - not + - nested +- list + +,#+BEGIN_SRC emacs-lisp :var x=example-list :results value +(format "%S" x) +,#+END_SRC + +,#+RESULTS: +: (("simple" (unordered ("not") ("nested"))) ("list")) +#+end_src + +After: + +#+begin_src org +,#+BEGIN_SRC emacs-lisp :var x=example-list :results value +(format "%S" x) +,#+END_SRC + +,#+RESULTS: +: ("simple" "list") +#+end_src + ** New features *** Clock table can now produce quarterly reports @@ -299,13 +332,13 @@ When the block type starts from the upper case, structure template will now insert =#+BEGIN_TYPE=. Previously, lower-case =#+begin_type= was inserted unconditionally. *** New ox-latex tabbing support for tables. -Latex tables can now be exported to the latex tabbing environment +LaTeX tables can now be exported to the latex tabbing environment tabbing environment]]. This is done by adding =#+ATTR_LATEX: :mode tabbing= at the top of the table. The default column width is set to 1/n times the latex textwidth, where n is the number of columns. -This behaviour can be changed by supplying a =:align= parameter. +This behavior can be changed by supplying a =:align= parameter. The tabbing environment can be useful when generating simple tables which can be span multiple pages and when table cells are allowed to overflow. @@ -391,6 +424,13 @@ attempt to analyze the results and simply returns nil. This can be useful when the code block is used for side effects only but generates large outputs that may be slow to analyze for Org. +*** Add Capture template hook properties + +Capture templates can now attach template specific hooks via the +following properties: ~:hook~, ~:prepare-finalize~, +~:before-finalize~, ~:after-finalize~. These nullary functions run +prior to their global counterparts for the selected template. + ** New options *** A new option for custom setting ~org-refile-use-outline-path~ to show document title in refile targets @@ -445,6 +485,13 @@ The new setting, when set to non-nil, makes Org create alarm at the event time when the alarm time is set to 0. The default value is nil -- do not create alarms at the event time. +*** New special value ~'attach~ for src block =:dir= option + +Passing the symbol ~attach~ or string ="'attach"= (with quotes) to the =:dir= +option of a src block is now equivalent to =:dir (org-attach-dir) :mkdir yes= +and any file results with a path descended from the attachment directory will +use =attachment:= style links instead of the standard =file:= link type. + ** New functions and changes in function arguments *** New function ~org-get-title~ to get =#+TITLE:= property from buffers @@ -480,7 +527,7 @@ Diagnostic information about execution speed can be provided according to ~org-element--cache-map-statistics~ and ~org-element--cache-map-statistics-threshold~. -~org-scan-tags~ and tag views in agenda utilise the new function. +~org-scan-tags~ and tag views in agenda utilize the new function. *** New function ~org-element-at-point-no-context~ This function is like ~org-element-at-point~, but it does not try to @@ -505,10 +552,10 @@ argument. This function is intended for us in the definition of a ~kbd~ macro in files that are exported to Texinfo. -*** =org-at-heading-p= now recognises optional argument. Its meaning is inverted. +*** =org-at-heading-p= now recognizes optional argument. Its meaning is inverted. =org-at-heading-p= now returns t by default on headings inside folds. -Passing optional argument will produce the old behaviour. +Passing optional argument will produce the old behavior. *** =org-babel-execute:plantuml= can output ASCII graphs in the buffer @@ -632,7 +679,7 @@ a function (called with the same arguments as An example of a such function for =info:= links is ~org-info-description-as-command~. To access a manual section outside -of Org, description may be pasted to shell prompt or evaluated withing +of Org, description may be pasted to shell prompt or evaluated within Emacs using =M-:= (wrapped into parenthesis). For example, description of the =info:org#Tags= link is =info "(org) Tags"=. To restore earlier behavior add to your Emacs init file the following: @@ -686,7 +733,7 @@ following snippet to allow multiple different ID formats in Org files. (and (or (org-uuidgen-p id) (string-match-p "[0-9a-z]\\{12\\}" id)) (org-attach-id-uuid-folder-format id))) - ;; When ID looks like a timestap-based ID. Group by year-month + ;; When ID looks like a timestamp-based ID. Group by year-month ;; folders. (lambda (id) (and (string-match-p "[0-9]\\{8\\}T[0-9]\\{6\\}\.[0-9]\\{6\\}" id) @@ -796,40 +843,6 @@ If you prefer to keep the keybinding, you can add it back to (define-key org-mode-map (kbd "C-c SPC") #'org-table-blank-field) #+end_src -*** List references in source block variable assignments are now proper lists - -List representation of named lists is now converted to a simple list -as promised by the manual section [[info:org#Environment of a Code Block][org#Environment of a Code Block]]. -Previously, it was converted to a list of lists. - -Before: - -#+begin_src org -,#+NAME: example-list -- simple - - not - - nested -- list - -,#+BEGIN_SRC emacs-lisp :var x=example-list :results value -(format "%S" x) -,#+END_SRC - -,#+RESULTS: -: (("simple" (unordered ("not") ("nested"))) ("list")) -#+end_src - -After: - -#+begin_src org -,#+BEGIN_SRC emacs-lisp :var x=example-list :results value -(format "%S" x) -,#+END_SRC - -,#+RESULTS: -: ("simple" "list") -#+end_src - ** New features *** New citation engine @@ -878,13 +891,6 @@ When exiting capture mode via ~org-capture-refile~, the variable ~org-refile-targets~ will be temporarily bound to the value of this template option. -*** Add Capture template hook properties - -Capture templates can now attach template specific hooks via the -following properties: ~:hook~, ~:prepare-finalize~, -~:before-finalize~, ~:after-finalize~. These nullary functions run -prior to their global counterparts for the selected template. - *** New startup options =#+startup: showlevels= These startup options complement the existing =overview=, =content=, @@ -1214,13 +1220,6 @@ Finally, the closures are only evaluated if they're not overridden for a source block. This improves efficiency in cases where the result of a compute-expensive closure would otherwise be discarded. -*** New special value ~'attach~ for src block =:dir= option - -Passing the symbol ~attach~ or string ="'attach"= (with quotes) to the =:dir= -option of a src block is now equivalent to =:dir (org-attach-dir) :mkdir yes= -and any file results with a path descended from the attachment directory will -use =attachment:= style links instead of the standard =file:= link type. - ** Miscellaneous *** =org-bibtex= includes =doi= and =url= entries when exporting to BiBTeX =doi= and =url= entries have been made optional for some publication @@ -4285,7 +4284,7 @@ parameters specific to some pre-defined translators, e.g., ~:environment~ and ~:booktabs~ for ~orgtbl-to-latex~. See translators docstrings (including ~orgtbl-to-generic~) for details. -*** Non-floating minted listings in Latex export +*** Non-floating minted listings in LaTeX export It is not possible to specify =#+attr_latex: :float nil= in conjunction with source blocks exported by the minted package. @@ -5432,9 +5431,9 @@ doing computation. There are now three lookup functions: -- [[doc:org-loopup-first][org-loopup-first]] -- [[doc:org-loopup-last][org-loopup-last]] -- [[doc:org-loopup-all][org-loopup-all]] +- [[doc:org-lookup-first][org-lookup-first]] +- [[doc:org-lookup-last][org-lookup-last]] +- [[doc:org-lookup-all][org-lookup-all]] See [[https://orgmode.org/org.html#Lookup-functions][the manual]] for details. *** Startup keywords @@ -6541,7 +6540,7 @@ that Calc formulas can operate on them. *** Hyperlinks -**** Org-Bibtex -- major improvements +**** Org-BibTeX -- major improvements Provides support for managing bibtex bibliographical references data in headline properties. Each headline corresponds to a diff --git a/elpa/org-9.6/etc/csl/README b/elpa/org-9.6.7/etc/csl/README similarity index 100% rename from elpa/org-9.6/etc/csl/README rename to elpa/org-9.6.7/etc/csl/README diff --git a/elpa/org-9.6/etc/csl/chicago-author-date.csl b/elpa/org-9.6.7/etc/csl/chicago-author-date.csl similarity index 100% rename from elpa/org-9.6/etc/csl/chicago-author-date.csl rename to elpa/org-9.6.7/etc/csl/chicago-author-date.csl diff --git a/elpa/org-9.6/etc/csl/locales-en-US.xml b/elpa/org-9.6.7/etc/csl/locales-en-US.xml similarity index 100% rename from elpa/org-9.6/etc/csl/locales-en-US.xml rename to elpa/org-9.6.7/etc/csl/locales-en-US.xml diff --git a/elpa/org-9.6/etc/styles/OrgOdtContentTemplate.xml b/elpa/org-9.6.7/etc/styles/OrgOdtContentTemplate.xml similarity index 100% rename from elpa/org-9.6/etc/styles/OrgOdtContentTemplate.xml rename to elpa/org-9.6.7/etc/styles/OrgOdtContentTemplate.xml diff --git a/elpa/org-9.6/etc/styles/OrgOdtStyles.xml b/elpa/org-9.6.7/etc/styles/OrgOdtStyles.xml similarity index 100% rename from elpa/org-9.6/etc/styles/OrgOdtStyles.xml rename to elpa/org-9.6.7/etc/styles/OrgOdtStyles.xml diff --git a/elpa/org-9.6/etc/styles/README b/elpa/org-9.6.7/etc/styles/README similarity index 95% rename from elpa/org-9.6/etc/styles/README rename to elpa/org-9.6.7/etc/styles/README index af15f95a..3737c8df 100644 --- a/elpa/org-9.6/etc/styles/README +++ b/elpa/org-9.6.7/etc/styles/README @@ -1,7 +1,7 @@ The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the following copyright information: -Copyright (C) 2010-2022 Free Software Foundation, Inc. +Copyright (C) 2010-2023 Free Software Foundation, Inc. These files are part of GNU Emacs. diff --git a/elpa/org-9.6/local.mk b/elpa/org-9.6.7/local.mk similarity index 100% rename from elpa/org-9.6/local.mk rename to elpa/org-9.6.7/local.mk diff --git a/elpa/org-9.6/ob-C.el b/elpa/org-9.6.7/ob-C.el similarity index 99% rename from elpa/org-9.6/ob-C.el rename to elpa/org-9.6.7/ob-C.el index 74309a0e..7763c4c0 100644 --- a/elpa/org-9.6/ob-C.el +++ b/elpa/org-9.6.7/ob-C.el @@ -1,6 +1,6 @@ ;;; ob-C.el --- Babel Functions for C and Similar Languages -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Thierry Banel @@ -339,7 +339,7 @@ FORMAT can be either a format string or a function which is called with VAL." (type (pcase basetype (`integerp '("int" "%d")) - (`floatp '("double" "%f")) + (`floatp '("double" "%s")) ;; %f rounds, use %s to print the float literally (`stringp (list (if (eq org-babel-c-variant 'd) "string" "const char*") diff --git a/elpa/org-9.6/ob-R.el b/elpa/org-9.6.7/ob-R.el similarity index 98% rename from elpa/org-9.6/ob-R.el rename to elpa/org-9.6.7/ob-R.el index f68b5b44..f2cc069a 100644 --- a/elpa/org-9.6/ob-R.el +++ b/elpa/org-9.6.7/ob-R.el @@ -1,6 +1,6 @@ ;;; ob-R.el --- Babel Functions for R -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Dan Davison @@ -36,7 +36,7 @@ (require 'ob) (declare-function orgtbl-to-tsv "org-table" (table params)) -(declare-function R "ext:essd-r" (&optional start-args)) +(declare-function run-ess-r "ext:ess-r-mode" (&optional start-args)) (declare-function inferior-ess-send-input "ext:ess-inf" ()) (declare-function ess-make-buffer-current "ext:ess-inf" ()) (declare-function ess-eval-buffer "ext:ess-inf" (vis)) @@ -241,11 +241,11 @@ This function is called by `org-babel-execute-src-block'." (defun org-babel-R-assign-elisp (name value colnames-p rownames-p) "Construct R code assigning the elisp VALUE to a variable named NAME." (if (listp value) - (let* ((lengths (mapcar 'length (cl-remove-if-not 'sequencep value))) + (let* ((lengths (mapcar 'length (cl-remove-if-not 'listp value))) (max (if lengths (apply 'max lengths) 0)) (min (if lengths (apply 'min lengths) 0))) ;; Ensure VALUE has an orgtbl structure (depth of at least 2). - (unless (listp (car value)) (setq value (list value))) + (unless (listp (car value)) (setq value (mapcar 'list value))) (let ((file (orgtbl-to-tsv value '(:fmt org-babel-R-quote-tsv-field))) (header (if (or (eq (nth 1 value) 'hline) colnames-p) "TRUE" "FALSE")) @@ -276,7 +276,8 @@ This function is called by `org-babel-execute-src-block'." (when (get-buffer session) ;; Session buffer exists, but with dead process (set-buffer session)) - (require 'ess) (R) + (require 'ess-r-mode) + (set-buffer (run-ess-r)) (let ((R-proc (get-process (or ess-local-process-name ess-current-process-name)))) (while (process-get R-proc 'callbacks) diff --git a/elpa/org-9.6/ob-awk.el b/elpa/org-9.6.7/ob-awk.el similarity index 98% rename from elpa/org-9.6/ob-awk.el rename to elpa/org-9.6.7/ob-awk.el index 1db9c6b0..e5e42a91 100644 --- a/elpa/org-9.6/ob-awk.el +++ b/elpa/org-9.6.7/ob-awk.el @@ -1,6 +1,6 @@ ;;; ob-awk.el --- Babel Functions for Awk -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Maintainer: Tyler Smith diff --git a/elpa/org-9.6/ob-calc.el b/elpa/org-9.6.7/ob-calc.el similarity index 98% rename from elpa/org-9.6/ob-calc.el rename to elpa/org-9.6.7/ob-calc.el index 2d52da34..5572ce81 100644 --- a/elpa/org-9.6/ob-calc.el +++ b/elpa/org-9.6.7/ob-calc.el @@ -1,6 +1,6 @@ ;;; ob-calc.el --- Babel Functions for Calc -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Maintainer: Tom Gillespie diff --git a/elpa/org-9.6/ob-clojure.el b/elpa/org-9.6.7/ob-clojure.el similarity index 97% rename from elpa/org-9.6/ob-clojure.el rename to elpa/org-9.6.7/ob-clojure.el index 6f1425a8..d993e0cb 100644 --- a/elpa/org-9.6/ob-clojure.el +++ b/elpa/org-9.6.7/ob-clojure.el @@ -1,6 +1,6 @@ ;;; ob-clojure.el --- Babel Functions for Clojure -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Joel Boehland, Eric Schulte, Oleh Krehel, Frederick Giasson ;; Maintainer: Daniel Kraus @@ -101,13 +101,13 @@ (defcustom ob-clojure-babashka-command (executable-find "bb") "Path to the babashka executable." - :type 'file + :type '(choice file (const nil)) :group 'org-babel :package-version '(Org . "9.6")) (defcustom ob-clojure-nbb-command (executable-find "nbb") "Path to the nbb executable." - :type 'file + :type '(choice file (const nil)) :group 'org-babel :package-version '(Org . "9.6")) @@ -248,8 +248,8 @@ or set the `:backend' header argument")))) "value"))) result0))) (ob-clojure-string-or-list - ;; Filter out s-expressions that return `nil' (string "nil" - ;; from nrepl eval) or comment forms (actual `nil' from nrepl) + ;; Filter out s-expressions that return nil (string "nil" + ;; from nrepl eval) or comment forms (actual nil from nrepl) (reverse (delete "" (mapcar (lambda (r) (replace-regexp-in-string "nil" "" (or r ""))) result0))))))) diff --git a/elpa/org-9.6/ob-comint.el b/elpa/org-9.6.7/ob-comint.el similarity index 92% rename from elpa/org-9.6/ob-comint.el rename to elpa/org-9.6.7/ob-comint.el index e8d83670..adfe31c4 100644 --- a/elpa/org-9.6/ob-comint.el +++ b/elpa/org-9.6.7/ob-comint.el @@ -1,6 +1,6 @@ ;;; ob-comint.el --- Babel Functions for Interaction with Comint Buffers -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research, comint @@ -81,19 +81,7 @@ or user `keyboard-quit' during execution of body." (let* ((string-buffer "") (comint-output-filter-functions (cons (lambda (text) - (setq string-buffer - (concat - string-buffer - ;; Upon concatenation, the prompt may no - ;; longer match `comint-prompt-regexp'. - ;; In particular, when the regexp has ^ - ;; and the output does not contain - ;; trailing newline. Use more reliable - ;; match to split the output later. - (replace-regexp-in-string - comint-prompt-regexp - ,org-babel-comint-prompt-separator - text)))) + (setq string-buffer (concat string-buffer text))) comint-output-filter-functions)) dangling-text) ;; got located, and save dangling text @@ -108,15 +96,30 @@ or user `keyboard-quit' during execution of body." (while (progn (goto-char comint-last-input-end) (not (save-excursion - (and (re-search-forward - (regexp-quote ,eoe-indicator) nil t) - (re-search-forward - comint-prompt-regexp nil t))))) + (and (re-search-forward + (regexp-quote ,eoe-indicator) nil t) + (re-search-forward + comint-prompt-regexp nil t))))) (accept-process-output (get-buffer-process (current-buffer)))) ;; replace cut dangling text (goto-char (process-mark (get-buffer-process (current-buffer)))) (insert dangling-text) + ;; Filter out prompts. + (setq string-buffer + (replace-regexp-in-string + ;; Sometimes, we get multiple agglomerated + ;; prompts together in a single output: + ;; "prompt prompt prompt output" + ;; Remove them progressively, so that + ;; possible "^" in the prompt regexp gets to + ;; work as we remove the heading prompt + ;; instance. + (if (string-prefix-p "^" comint-prompt-regexp) + (format "^\\(%s\\)+" (substring comint-prompt-regexp 1)) + comint-prompt-regexp) + ,org-babel-comint-prompt-separator + string-buffer)) ;; remove echo'd FULL-BODY from input (when (and ,remove-echo ,full-body (string-match diff --git a/elpa/org-9.6/ob-core.el b/elpa/org-9.6.7/ob-core.el similarity index 99% rename from elpa/org-9.6/ob-core.el rename to elpa/org-9.6.7/ob-core.el index 5f679a5e..e69ce4f1 100644 --- a/elpa/org-9.6/ob-core.el +++ b/elpa/org-9.6.7/ob-core.el @@ -1,6 +1,6 @@ ;;; ob-core.el --- Working with Code Blocks -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Dan Davison @@ -1690,6 +1690,7 @@ shown below. (append (split-string (if (stringp raw-result) raw-result + ;; FIXME: Arbitrary code evaluation. (eval raw-result t))) (cdr (assq :result-params params)))))) (append @@ -2245,8 +2246,8 @@ Return the list of strings representing top level items: (item1 item2 ...) -Only consider top level items. See Info node `(org)Environment of \ -a Code Block'." +Only consider top level items. See Info node +`(org)Environment of a Code Block'." (mapcar (lambda (el) (org-babel-read (car el) 'inhibit-lisp-eval)) (cdr (org-list-to-lisp)))) @@ -2425,7 +2426,8 @@ INFO may provide the values of these header arguments (in the (delete-region (point) (org-babel-result-end))) ((member "append" result-params) (goto-char (org-babel-result-end)) (setq beg (point-marker))) - ((member "prepend" result-params))) ; already there + ;; ((member "prepend" result-params)) ; already there + ) (setq results-switches (if results-switches (concat " " results-switches) "")) (let ((wrap @@ -2461,10 +2463,19 @@ INFO may provide the values of these header arguments (in the (insert (org-trim (org-list-to-org + ;; We arbitrarily choose to format non-strings + ;; as %S. (cons 'unordered (mapcar (lambda (e) - (list (if (stringp e) e (format "%S" e)))) + (cond + ((stringp e) (list e)) + ((listp e) + (mapcar + (lambda (x) + (if (stringp x) x (format "%S" x))) + e)) + (t (list (format "%S" e))))) (if (listp result) result (split-string result "\n" t)))) '(:splicep nil :istart "- " :iend "\n"))) @@ -2709,7 +2720,9 @@ specified as an an \"attachment:\" style link." ((and 'attachment (guard in-attach-dir)) "attachment") (_ "file")) (if (and request-attachment in-attach-dir) - (file-relative-name result-file-name) + (file-relative-name + result-file-name + (file-name-as-directory attach-dir)) (if (and default-directory base-file-name same-directory?) (if (eq org-link-file-path-type 'adaptive) @@ -2849,6 +2862,7 @@ parameters when merging lists." (split-string (cond ((stringp value) value) ((functionp value) (funcall value)) + ;; FIXME: Arbitrary code evaluation. (t (eval value t))))))) (`(:exports . ,value) (setq exports (funcall merge @@ -3177,16 +3191,8 @@ situations in which is it not appropriate." ((and (not inhibit-lisp-eval) (or (memq (string-to-char cell) '(?\( ?' ?` ?\[)) (string= cell "*this*"))) - ;; Prevent arbitrary function calls. - (if (and (memq (string-to-char cell) '(?\( ?`)) - (not (org-babel-confirm-evaluate - ;; See `org-babel-get-src-block-info'. - (list "emacs-lisp" (format "%S" cell) - '((:eval . yes)) nil (format "%S" cell) - nil nil)))) - ;; Not allowed. - (user-error "Evaluation of elisp code %S aborted." cell) - (eval (read cell) t))) + ;; FIXME: Arbitrary code evaluation. + (eval (read cell) t)) ((save-match-data (and (string-match "^[[:space:]]*\"\\(.*\\)\"[[:space:]]*$" cell) (not (string-match "[^\\]\"" (match-string 1 cell))))) @@ -3272,7 +3278,7 @@ Emacs shutdown.") (while (or (not dir) (file-exists-p dir)) (setq dir (expand-file-name (format "babel-stable-%d" (random 1000)) - (temporary-file-directory)))) + temporary-file-directory))) (make-directory dir) dir)) "Directory to hold temporary files created to execute code blocks. diff --git a/elpa/org-9.6/ob-css.el b/elpa/org-9.6.7/ob-css.el similarity index 96% rename from elpa/org-9.6/ob-css.el rename to elpa/org-9.6.7/ob-css.el index c132cb2c..f93c576f 100644 --- a/elpa/org-9.6/ob-css.el +++ b/elpa/org-9.6.7/ob-css.el @@ -1,6 +1,6 @@ ;;; ob-css.el --- Babel Functions for CSS -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-ditaa.el b/elpa/org-9.6.7/ob-ditaa.el similarity index 98% rename from elpa/org-9.6/ob-ditaa.el rename to elpa/org-9.6.7/ob-ditaa.el index 1f82aea6..62200082 100644 --- a/elpa/org-9.6/ob-ditaa.el +++ b/elpa/org-9.6.7/ob-ditaa.el @@ -1,6 +1,6 @@ ;;; ob-ditaa.el --- Babel Functions for ditaa -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-dot.el b/elpa/org-9.6.7/ob-dot.el similarity index 98% rename from elpa/org-9.6/ob-dot.el rename to elpa/org-9.6.7/ob-dot.el index 2d2003bf..ecef071a 100644 --- a/elpa/org-9.6/ob-dot.el +++ b/elpa/org-9.6.7/ob-dot.el @@ -1,6 +1,6 @@ ;;; ob-dot.el --- Babel Functions for dot -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Maintainer: Justin Abrahms diff --git a/elpa/org-9.6/ob-emacs-lisp.el b/elpa/org-9.6.7/ob-emacs-lisp.el similarity index 98% rename from elpa/org-9.6/ob-emacs-lisp.el rename to elpa/org-9.6.7/ob-emacs-lisp.el index b8e6ef29..f2111d64 100644 --- a/elpa/org-9.6/ob-emacs-lisp.el +++ b/elpa/org-9.6.7/ob-emacs-lisp.el @@ -1,6 +1,6 @@ ;;; ob-emacs-lisp.el --- Babel Functions for Emacs-lisp Code -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-eshell.el b/elpa/org-9.6.7/ob-eshell.el similarity index 98% rename from elpa/org-9.6/ob-eshell.el rename to elpa/org-9.6.7/ob-eshell.el index 937db69d..95f5777a 100644 --- a/elpa/org-9.6/ob-eshell.el +++ b/elpa/org-9.6.7/ob-eshell.el @@ -1,6 +1,6 @@ ;;; ob-eshell.el --- Babel Functions for Eshell -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2022 Free Software Foundation, Inc. +;; Copyright (C) 2018-2023 Free Software Foundation, Inc. ;; Author: stardiviner ;; Maintainer: stardiviner diff --git a/elpa/org-9.6/ob-eval.el b/elpa/org-9.6.7/ob-eval.el similarity index 95% rename from elpa/org-9.6/ob-eval.el rename to elpa/org-9.6.7/ob-eval.el index f4659fe9..07e53077 100644 --- a/elpa/org-9.6/ob-eval.el +++ b/elpa/org-9.6.7/ob-eval.el @@ -36,12 +36,6 @@ (defvar org-babel-error-buffer-name "*Org-Babel Error Output*") (declare-function org-babel-temp-file "ob-core" (prefix &optional suffix)) -(defcustom org-babel-eval-error-display-notify nil - "Display org-babel-eval-errors always or only if exit code is not 0." - :group 'org-babel - :version "29.1" - :type 'boolean) - (defun org-babel-eval-error-notify (exit-code stderr) "Open a buffer to display STDERR and a message with the value of EXIT-CODE." (let ((buf (get-buffer-create org-babel-error-buffer-name))) @@ -51,10 +45,7 @@ (unless (bolp) (insert "\n")) (insert stderr) (insert (format "[ Babel evaluation exited with code %S ]" exit-code)))) - (when (or org-babel-eval-error-display-notify - (or (not (numberp exit-code)) - (> exit-code 0))) - (display-buffer buf))) + (display-buffer buf)) (message "Babel evaluation exited with code %S" exit-code)) (defun org-babel-eval (command query) @@ -68,7 +59,7 @@ Writes QUERY into a temp-buffer that is processed with (let ((error-buffer (get-buffer-create " *Org-Babel Error*")) exit-code) (with-current-buffer error-buffer (erase-buffer)) (with-temp-buffer - (insert query) + (insert query "\n") (setq exit-code (org-babel--shell-command-on-region command error-buffer)) diff --git a/elpa/org-9.6/ob-exp.el b/elpa/org-9.6.7/ob-exp.el similarity index 99% rename from elpa/org-9.6/ob-exp.el rename to elpa/org-9.6.7/ob-exp.el index 60f2a931..4d1b084b 100644 --- a/elpa/org-9.6/ob-exp.el +++ b/elpa/org-9.6.7/ob-exp.el @@ -1,6 +1,6 @@ ;;; ob-exp.el --- Exportation of Babel Source Blocks -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Dan Davison diff --git a/elpa/org-9.6/ob-forth.el b/elpa/org-9.6.7/ob-forth.el similarity index 98% rename from elpa/org-9.6/ob-forth.el rename to elpa/org-9.6.7/ob-forth.el index a67d3384..e5dcad6d 100644 --- a/elpa/org-9.6/ob-forth.el +++ b/elpa/org-9.6.7/ob-forth.el @@ -1,6 +1,6 @@ ;;; ob-forth.el --- Babel Functions for Forth -*- lexical-binding: t; -*- -;; Copyright (C) 2014-2022 Free Software Foundation, Inc. +;; Copyright (C) 2014-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research, forth diff --git a/elpa/org-9.6/ob-fortran.el b/elpa/org-9.6.7/ob-fortran.el similarity index 99% rename from elpa/org-9.6/ob-fortran.el rename to elpa/org-9.6.7/ob-fortran.el index ad84314f..2c050cb1 100644 --- a/elpa/org-9.6/ob-fortran.el +++ b/elpa/org-9.6.7/ob-fortran.el @@ -1,6 +1,6 @@ ;;; ob-fortran.el --- Babel Functions for Fortran -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2023 Free Software Foundation, Inc. ;; Authors: Sergey Litvinov ;; Eric Schulte diff --git a/elpa/org-9.6/ob-gnuplot.el b/elpa/org-9.6.7/ob-gnuplot.el similarity index 99% rename from elpa/org-9.6/ob-gnuplot.el rename to elpa/org-9.6.7/ob-gnuplot.el index 59913e70..e3e42918 100644 --- a/elpa/org-9.6/ob-gnuplot.el +++ b/elpa/org-9.6.7/ob-gnuplot.el @@ -1,6 +1,6 @@ ;;; ob-gnuplot.el --- Babel Functions for Gnuplot -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Maintainer: Ihor Radchenko diff --git a/elpa/org-9.6/ob-groovy.el b/elpa/org-9.6.7/ob-groovy.el similarity index 98% rename from elpa/org-9.6/ob-groovy.el rename to elpa/org-9.6.7/ob-groovy.el index f1689ef1..c0da69fc 100644 --- a/elpa/org-9.6/ob-groovy.el +++ b/elpa/org-9.6.7/ob-groovy.el @@ -1,6 +1,6 @@ ;;; ob-groovy.el --- Babel Functions for Groovy -*- lexical-binding: t; -*- -;; Copyright (C) 2013-2022 Free Software Foundation, Inc. +;; Copyright (C) 2013-2023 Free Software Foundation, Inc. ;; Author: Miro Bezjak ;; Maintainer: Palak Mathur diff --git a/elpa/org-9.6/ob-haskell.el b/elpa/org-9.6.7/ob-haskell.el similarity index 99% rename from elpa/org-9.6/ob-haskell.el rename to elpa/org-9.6.7/ob-haskell.el index 095286c7..7185ed61 100644 --- a/elpa/org-9.6/ob-haskell.el +++ b/elpa/org-9.6.7/ob-haskell.el @@ -1,6 +1,6 @@ ;;; ob-haskell.el --- Babel Functions for Haskell -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Maintainer: Lawrence Bottorff diff --git a/elpa/org-9.6/ob-java.el b/elpa/org-9.6.7/ob-java.el similarity index 99% rename from elpa/org-9.6/ob-java.el rename to elpa/org-9.6.7/ob-java.el index 59bd4878..89386052 100644 --- a/elpa/org-9.6/ob-java.el +++ b/elpa/org-9.6.7/ob-java.el @@ -1,6 +1,6 @@ ;;; ob-java.el --- org-babel functions for java evaluation -*- lexical-binding: t -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Dan Davison diff --git a/elpa/org-9.6/ob-js.el b/elpa/org-9.6.7/ob-js.el similarity index 97% rename from elpa/org-9.6/ob-js.el rename to elpa/org-9.6.7/ob-js.el index 04eb77bd..de7ea913 100644 --- a/elpa/org-9.6/ob-js.el +++ b/elpa/org-9.6.7/ob-js.el @@ -1,6 +1,6 @@ ;;; ob-js.el --- Babel Functions for Javascript -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research, js @@ -69,7 +69,10 @@ :safe #'stringp) (defvar org-babel-js-function-wrapper - "require('process').stdout.write(require('util').inspect(function(){%s}()));" + ;; Note that newline after %s - it makes sure that closing + ;; parenthesis are not shadowed if the last line of the body is a + ;; line comment. + "require('process').stdout.write(require('util').inspect(function(){%s\n}()));" "Javascript code to print value of body.") (defun org-babel-execute:js (body params) diff --git a/elpa/org-9.6/ob-julia.el b/elpa/org-9.6.7/ob-julia.el similarity index 99% rename from elpa/org-9.6/ob-julia.el rename to elpa/org-9.6.7/ob-julia.el index 314d2459..cb5c7fa3 100644 --- a/elpa/org-9.6/ob-julia.el +++ b/elpa/org-9.6.7/ob-julia.el @@ -1,6 +1,6 @@ ;;; ob-julia.el --- org-babel functions for julia code evaluation -*- lexical-binding: t; -*- -;; Copyright (C) 2013-2022 Free Software Foundation, Inc. +;; Copyright (C) 2013-2023 Free Software Foundation, Inc. ;; Authors: G. Jay Kerns ;; Maintainer: Pedro Bruel ;; Keywords: literate programming, reproducible research, scientific computing diff --git a/elpa/org-9.6/ob-latex.el b/elpa/org-9.6.7/ob-latex.el similarity index 95% rename from elpa/org-9.6/ob-latex.el rename to elpa/org-9.6.7/ob-latex.el index 332ace76..ce39628d 100644 --- a/elpa/org-9.6/ob-latex.el +++ b/elpa/org-9.6.7/ob-latex.el @@ -1,6 +1,6 @@ ;;; ob-latex.el --- Babel Functions for LaTeX -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research @@ -141,7 +141,7 @@ exporting the literal LaTeX source." (org-trim body)) (defun org-babel-execute:latex (body params) - "Execute a block of Latex code with Babel. + "Execute a block of LaTeX code with Babel. This function is called by `org-babel-execute-src-block'." (setq body (org-babel-expand-body:latex body params)) (if (cdr (assq :file params)) @@ -180,7 +180,7 @@ This function is called by `org-babel-execute-src-block'." tmp-pdf (list org-babel-latex-pdf-svg-process) extension err-msg log-buf))) - (shell-command (format "mv %s %s" img-out out-file))))) + (rename-file img-out out-file t)))) ((string-suffix-p ".tikz" out-file) (when (file-exists-p out-file) (delete-file out-file)) (with-temp-file out-file @@ -218,17 +218,14 @@ This function is called by `org-babel-execute-src-block'." (if (string-suffix-p ".svg" out-file) (progn (shell-command "pwd") - (shell-command (format "mv %s %s" - (concat (file-name-sans-extension tex-file) "-1.svg") - out-file))) + (rename-file (concat (file-name-sans-extension tex-file) "-1.svg") + out-file t)) (error "SVG file produced but HTML file requested"))) ((file-exists-p (concat (file-name-sans-extension tex-file) ".html")) (if (string-suffix-p ".html" out-file) - (shell-command "mv %s %s" - (concat (file-name-sans-extension tex-file) - ".html") - out-file) - (error "HTML file produced but SVG file requested"))))) + (rename-file (concat (file-name-sans-extension tex-file) ".html") + out-file t) + (error "HTML file produced but SVG file requested"))))) ((or (string= "pdf" extension) imagemagick) (with-temp-file tex-file (require 'ox-latex) diff --git a/elpa/org-9.6/ob-lilypond.el b/elpa/org-9.6.7/ob-lilypond.el similarity index 99% rename from elpa/org-9.6/ob-lilypond.el rename to elpa/org-9.6.7/ob-lilypond.el index d8016641..9693b89e 100644 --- a/elpa/org-9.6/ob-lilypond.el +++ b/elpa/org-9.6.7/ob-lilypond.el @@ -1,6 +1,6 @@ ;;; ob-lilypond.el --- Babel Functions for Lilypond -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Martyn Jago ;; Keywords: babel language, literate programming diff --git a/elpa/org-9.6/ob-lisp.el b/elpa/org-9.6.7/ob-lisp.el similarity index 98% rename from elpa/org-9.6/ob-lisp.el rename to elpa/org-9.6.7/ob-lisp.el index d3ed569e..048ef883 100644 --- a/elpa/org-9.6/ob-lisp.el +++ b/elpa/org-9.6.7/ob-lisp.el @@ -1,6 +1,6 @@ ;;; ob-lisp.el --- Babel Functions for Common Lisp -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Joel Boehland ;; Eric Schulte diff --git a/elpa/org-9.6/ob-lob.el b/elpa/org-9.6.7/ob-lob.el similarity index 99% rename from elpa/org-9.6/ob-lob.el rename to elpa/org-9.6.7/ob-lob.el index fb279975..f77bda73 100644 --- a/elpa/org-9.6/ob-lob.el +++ b/elpa/org-9.6.7/ob-lob.el @@ -1,6 +1,6 @@ ;;; ob-lob.el --- Functions Supporting the Library of Babel -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Dan Davison diff --git a/elpa/org-9.6/ob-lua.el b/elpa/org-9.6.7/ob-lua.el similarity index 99% rename from elpa/org-9.6/ob-lua.el rename to elpa/org-9.6.7/ob-lua.el index 52aa0599..81521d9e 100644 --- a/elpa/org-9.6/ob-lua.el +++ b/elpa/org-9.6.7/ob-lua.el @@ -1,6 +1,6 @@ ;;; ob-lua.el --- Org Babel functions for Lua evaluation -*- lexical-binding: t; -*- -;; Copyright (C) 2014, 2016-2022 Free Software Foundation, Inc. +;; Copyright (C) 2014, 2016-2023 Free Software Foundation, Inc. ;; Authors: Dieter Schoen ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-makefile.el b/elpa/org-9.6.7/ob-makefile.el similarity index 96% rename from elpa/org-9.6/ob-makefile.el rename to elpa/org-9.6.7/ob-makefile.el index 194fcdb0..25306159 100644 --- a/elpa/org-9.6/ob-makefile.el +++ b/elpa/org-9.6.7/ob-makefile.el @@ -1,6 +1,6 @@ ;;; ob-makefile.el --- Babel Functions for Makefile -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Thomas S. Dye diff --git a/elpa/org-9.6/ob-matlab.el b/elpa/org-9.6.7/ob-matlab.el similarity index 95% rename from elpa/org-9.6/ob-matlab.el rename to elpa/org-9.6.7/ob-matlab.el index 8e4d02b2..43344495 100644 --- a/elpa/org-9.6/ob-matlab.el +++ b/elpa/org-9.6.7/ob-matlab.el @@ -1,6 +1,6 @@ ;;; ob-matlab.el --- Babel support for Matlab -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Dan Davison ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-maxima.el b/elpa/org-9.6.7/ob-maxima.el similarity index 98% rename from elpa/org-9.6/ob-maxima.el rename to elpa/org-9.6.7/ob-maxima.el index e3dfbb66..d1d7c742 100644 --- a/elpa/org-9.6/ob-maxima.el +++ b/elpa/org-9.6.7/ob-maxima.el @@ -1,6 +1,6 @@ ;;; ob-maxima.el --- Babel Functions for Maxima -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric S Fraga ;; Eric Schulte diff --git a/elpa/org-9.6/ob-ocaml.el b/elpa/org-9.6.7/ob-ocaml.el similarity index 99% rename from elpa/org-9.6/ob-ocaml.el rename to elpa/org-9.6.7/ob-ocaml.el index 804551ba..09224b98 100644 --- a/elpa/org-9.6/ob-ocaml.el +++ b/elpa/org-9.6.7/ob-ocaml.el @@ -1,6 +1,6 @@ ;;; ob-ocaml.el --- Babel Functions for Ocaml -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-octave.el b/elpa/org-9.6.7/ob-octave.el similarity index 97% rename from elpa/org-9.6/ob-octave.el rename to elpa/org-9.6.7/ob-octave.el index b0a7767e..1de263a5 100644 --- a/elpa/org-9.6/ob-octave.el +++ b/elpa/org-9.6.7/ob-octave.el @@ -1,6 +1,6 @@ ;;; ob-octave.el --- Babel Functions for Octave and Matlab -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Dan Davison ;; Keywords: literate programming, reproducible research @@ -91,7 +91,7 @@ end") (list "set (0, \"defaultfigurevisible\", \"off\");" full-body - (format "print -dpng %s" gfx-file)) + (format "print -dpng %S\nans=%S" gfx-file gfx-file)) "\n") full-body) result-type matlabp))) @@ -243,8 +243,8 @@ value of the last statement in BODY, as elisp." (`output (setq results (if matlabp - (cdr (reverse (delq "" (mapcar #'org-strip-quotes - (mapcar #'org-trim raw))))) + (cdr (reverse (delete "" (mapcar #'org-strip-quotes + (mapcar #'org-trim raw))))) (cdr (member org-babel-octave-eoe-output (reverse (mapcar #'org-strip-quotes (mapcar #'org-trim raw))))))) diff --git a/elpa/org-9.6/ob-org.el b/elpa/org-9.6.7/ob-org.el similarity index 97% rename from elpa/org-9.6/ob-org.el rename to elpa/org-9.6.7/ob-org.el index df7f85d0..1bf02b46 100644 --- a/elpa/org-9.6/ob-org.el +++ b/elpa/org-9.6.7/ob-org.el @@ -1,6 +1,6 @@ ;;; ob-org.el --- Babel Functions for Org Code Blocks -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-perl.el b/elpa/org-9.6.7/ob-perl.el similarity index 98% rename from elpa/org-9.6/ob-perl.el rename to elpa/org-9.6.7/ob-perl.el index 5762642b..c8cff5da 100644 --- a/elpa/org-9.6/ob-perl.el +++ b/elpa/org-9.6.7/ob-perl.el @@ -1,6 +1,6 @@ ;;; ob-perl.el --- Babel Functions for Perl -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Dan Davison ;; Eric Schulte diff --git a/elpa/org-9.6/ob-plantuml.el b/elpa/org-9.6.7/ob-plantuml.el similarity index 99% rename from elpa/org-9.6/ob-plantuml.el rename to elpa/org-9.6.7/ob-plantuml.el index e95db50c..3202c6e4 100644 --- a/elpa/org-9.6/ob-plantuml.el +++ b/elpa/org-9.6.7/ob-plantuml.el @@ -1,6 +1,6 @@ ;;; ob-plantuml.el --- Babel Functions for Plantuml -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Zhang Weize ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-processing.el b/elpa/org-9.6.7/ob-processing.el similarity index 99% rename from elpa/org-9.6/ob-processing.el rename to elpa/org-9.6.7/ob-processing.el index 644006b9..4eeaf98e 100644 --- a/elpa/org-9.6/ob-processing.el +++ b/elpa/org-9.6.7/ob-processing.el @@ -1,6 +1,6 @@ ;;; ob-processing.el --- Babel functions for processing -*- lexical-binding: t; -*- -;; Copyright (C) 2015-2022 Free Software Foundation, Inc. +;; Copyright (C) 2015-2023 Free Software Foundation, Inc. ;; Author: Jarmo Hurri (adapted from ob-asymptote.el written by Eric Schulte) ;; Maintainer: Jarmo Hurri diff --git a/elpa/org-9.6/ob-python.el b/elpa/org-9.6.7/ob-python.el similarity index 99% rename from elpa/org-9.6/ob-python.el rename to elpa/org-9.6.7/ob-python.el index 1829ab14..c19af0ab 100644 --- a/elpa/org-9.6/ob-python.el +++ b/elpa/org-9.6.7/ob-python.el @@ -1,6 +1,6 @@ ;;; ob-python.el --- Babel Functions for Python -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Dan Davison diff --git a/elpa/org-9.6/ob-ref.el b/elpa/org-9.6.7/ob-ref.el similarity index 99% rename from elpa/org-9.6/ob-ref.el rename to elpa/org-9.6.7/ob-ref.el index 2bba2071..2eae3690 100644 --- a/elpa/org-9.6/ob-ref.el +++ b/elpa/org-9.6.7/ob-ref.el @@ -1,6 +1,6 @@ ;;; ob-ref.el --- Babel Functions for Referencing External Data -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Dan Davison diff --git a/elpa/org-9.6/ob-ruby.el b/elpa/org-9.6.7/ob-ruby.el similarity index 97% rename from elpa/org-9.6/ob-ruby.el rename to elpa/org-9.6.7/ob-ruby.el index 6ece63b4..b94bc73d 100644 --- a/elpa/org-9.6/ob-ruby.el +++ b/elpa/org-9.6.7/ob-ruby.el @@ -1,6 +1,6 @@ ;;; ob-ruby.el --- Babel Functions for Ruby -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research @@ -29,11 +29,10 @@ ;; - ruby and irb executables :: https://www.ruby-lang.org/ ;; -;; - ruby-mode :: Can be installed through ELPA, or from -;; https://github.com/eschulte/rinari/raw/master/util/ruby-mode.el +;; - ruby-mode :: Comes with Emacs. ;; ;; - inf-ruby mode :: Can be installed through ELPA, or from -;; https://github.com/eschulte/rinari/raw/master/util/inf-ruby.el +;; https://raw.githubusercontent.com/nonsequitur/inf-ruby/master/inf-ruby.el ;;; Code: diff --git a/elpa/org-9.6/ob-sass.el b/elpa/org-9.6.7/ob-sass.el similarity index 97% rename from elpa/org-9.6/ob-sass.el rename to elpa/org-9.6.7/ob-sass.el index 400f9b32..1498b931 100644 --- a/elpa/org-9.6/ob-sass.el +++ b/elpa/org-9.6.7/ob-sass.el @@ -1,6 +1,6 @@ ;;; ob-sass.el --- Babel Functions for the Sass CSS generation language -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-scheme.el b/elpa/org-9.6.7/ob-scheme.el similarity index 99% rename from elpa/org-9.6/ob-scheme.el rename to elpa/org-9.6.7/ob-scheme.el index cfeb1a0a..ef41a2ec 100644 --- a/elpa/org-9.6/ob-scheme.el +++ b/elpa/org-9.6.7/ob-scheme.el @@ -1,6 +1,6 @@ ;;; ob-scheme.el --- Babel Functions for Scheme -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Michael Gauland diff --git a/elpa/org-9.6/ob-screen.el b/elpa/org-9.6.7/ob-screen.el similarity index 98% rename from elpa/org-9.6/ob-screen.el rename to elpa/org-9.6.7/ob-screen.el index 294a40cb..269538e7 100644 --- a/elpa/org-9.6/ob-screen.el +++ b/elpa/org-9.6.7/ob-screen.el @@ -1,6 +1,6 @@ ;;; ob-screen.el --- Babel Support for Interactive Terminal -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Benjamin Andresen ;; Maintainer: Ken Mankoff diff --git a/elpa/org-9.6/ob-sed.el b/elpa/org-9.6.7/ob-sed.el similarity index 98% rename from elpa/org-9.6/ob-sed.el rename to elpa/org-9.6.7/ob-sed.el index f9ea2ac0..6469901f 100644 --- a/elpa/org-9.6/ob-sed.el +++ b/elpa/org-9.6.7/ob-sed.el @@ -1,6 +1,6 @@ ;;; ob-sed.el --- Babel Functions for Sed Scripts -*- lexical-binding: t; -*- -;; Copyright (C) 2015-2022 Free Software Foundation, Inc. +;; Copyright (C) 2015-2023 Free Software Foundation, Inc. ;; Author: Bjarte Johansen ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-shell.el b/elpa/org-9.6.7/ob-shell.el similarity index 98% rename from elpa/org-9.6/ob-shell.el rename to elpa/org-9.6.7/ob-shell.el index d38d2d33..2c30a260 100644 --- a/elpa/org-9.6/ob-shell.el +++ b/elpa/org-9.6.7/ob-shell.el @@ -1,6 +1,6 @@ ;;; ob-shell.el --- Babel Functions for Shell Evaluation -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research @@ -79,7 +79,7 @@ is modified outside the Customize interface." ,(format "Execute a block of %s commands with Babel." name) (let ((shell-file-name ,name) (org-babel-prompt-command - (or (alist-get ,name org-babel-shell-set-prompt-commands) + (or (cdr (assoc ,name org-babel-shell-set-prompt-commands)) (alist-get t org-babel-shell-set-prompt-commands)))) (org-babel-execute:shell body params)))) (eval `(defalias ',(intern (concat "org-babel-variable-assignments:" name)) diff --git a/elpa/org-9.6/ob-sql.el b/elpa/org-9.6.7/ob-sql.el similarity index 98% rename from elpa/org-9.6/ob-sql.el rename to elpa/org-9.6.7/ob-sql.el index 459549f3..c6a192ae 100644 --- a/elpa/org-9.6/ob-sql.el +++ b/elpa/org-9.6.7/ob-sql.el @@ -183,7 +183,6 @@ SQL Server on Windows and Linux platform." (defun org-babel-sql-dbstring-vertica (host port user password database) "Make Vertica command line args for database connection. Pass nil to omit that arg." - (message "org-babel-sql-dbstring-vertica host: %s" host) (mapconcat #'identity (delq nil (list (when host (format "-h %s" host)) @@ -224,7 +223,6 @@ then look for the parameter into the corresponding connection defined in `sql-connection-alist', otherwise look into PARAMS. See `sql-connection-alist' (part of SQL mode) for how to define database connections." -; (message "org-babel-find-db-connection-param %s: %s" (cdr (assq :dbconnection params)) name) (or (cdr (assq name params)) (and (assq :dbconnection params) (let* ((dbconnection (cdr (assq :dbconnection params))) @@ -242,7 +240,6 @@ database connections." (cadr (assq mapped-name (cdr (assoc-string dbconnection sql-connection-alist t))))))))) - (defun org-babel-execute:sql (body params) "Execute a block of Sql code with Babel. This function is called by `org-babel-execute-src-block'." @@ -353,7 +350,6 @@ SET COLSEP '|' (org-babel-expand-body:sql body params) ;; "sqsh" requires "go" inserted at EOF. (if (string= engine "sqsh") "\ngo" ""))) - (message "command is: %s" command) (org-babel-eval command "") (org-babel-result-cond result-params (with-temp-buffer diff --git a/elpa/org-9.6/ob-sqlite.el b/elpa/org-9.6.7/ob-sqlite.el similarity index 98% rename from elpa/org-9.6/ob-sqlite.el rename to elpa/org-9.6.7/ob-sqlite.el index f22f9883..526b73eb 100644 --- a/elpa/org-9.6/ob-sqlite.el +++ b/elpa/org-9.6.7/ob-sqlite.el @@ -1,6 +1,6 @@ ;;; ob-sqlite.el --- Babel Functions for SQLite Databases -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Maintainer: Nick Savage diff --git a/elpa/org-9.6/ob-table.el b/elpa/org-9.6.7/ob-table.el similarity index 98% rename from elpa/org-9.6/ob-table.el rename to elpa/org-9.6.7/ob-table.el index e14117cd..5c91f33f 100644 --- a/elpa/org-9.6/ob-table.el +++ b/elpa/org-9.6.7/ob-table.el @@ -1,6 +1,6 @@ ;;; ob-table.el --- Support for Calling Babel Functions from Tables -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/ob-tangle.el b/elpa/org-9.6.7/ob-tangle.el similarity index 97% rename from elpa/org-9.6/ob-tangle.el rename to elpa/org-9.6.7/ob-tangle.el index e86f4e52..0b816a7c 100644 --- a/elpa/org-9.6/ob-tangle.el +++ b/elpa/org-9.6.7/ob-tangle.el @@ -1,6 +1,6 @@ ;;; ob-tangle.el --- Extract Source Code From Org Files -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Eric Schulte ;; Keywords: literate programming, reproducible research @@ -158,9 +158,9 @@ result. The default value is `org-remove-indentation'." :version "24.1" :type 'function) -(defcustom org-babel-tangle-default-file-mode #o544 +(defcustom org-babel-tangle-default-file-mode #o644 "The default mode used for tangled files, as an integer. -The default value 356 correspands to the octal #o544, which is +The default value 420 correspands to the octal #o644, which is read-write permissions for the user, read-only for everyone else." :group 'org-babel-tangle :package-version '(Org . "9.6") @@ -339,7 +339,7 @@ matching a regular expression." (defun org-babel-interpret-file-mode (mode) "Determine the integer representation of a file MODE specification. -The following forms are currently recognised: +The following forms are currently recognized: - an integer (returned without modification) - \"o755\" (chmod style octal) - \"rwxrw-r--\" (ls style specification) @@ -354,18 +354,18 @@ The following forms are currently recognised: (user-error "%1$o is not a valid file mode octal. \ Did you give the decimal value %1$d by mistake?" mode))) ((not (stringp mode)) - (error "File mode %S not recognised as a valid format." mode)) + (error "File mode %S not recognized as a valid format." mode)) ((string-match-p "^o0?[0-7][0-7][0-7]$" mode) (string-to-number (replace-regexp-in-string "^o" "" mode) 8)) ((string-match-p "^[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\(,[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\)*$" mode) ;; Match regexp taken from `file-modes-symbolic-to-number'. (file-modes-symbolic-to-number mode org-babel-tangle-default-file-mode)) ((string-match-p "^[r-][w-][xs-][r-][w-][xs-][r-][w-][x-]$" mode) - (file-modes-symbolic-to-number (concat "u=" (substring mode 0 3) - ",g=" (substring mode 3 6) - ",o=" (substring mode 6 9)) + (file-modes-symbolic-to-number (concat "u=" (delete ?- (substring mode 0 3)) + ",g=" (delete ?- (substring mode 3 6)) + ",o=" (delete ?- (substring mode 6 9))) 0)) - (t (error "File mode %S not recognised as a valid format. See `org-babel-interpret-file-mode'." mode)))) + (t (error "File mode %S not recognized as a valid format. See `org-babel-interpret-file-mode'." mode)))) (defun org-babel-tangle-clean () "Remove comments inserted by `org-babel-tangle'. @@ -500,7 +500,8 @@ The PARAMS are the 3rd element of the info for the same src block." (cl-letf (((symbol-function 'org-store-link-functions) (lambda () nil))) (org-store-link nil)))) - (bare (and (string-match org-link-bracket-re l) + (bare (and l + (string-match org-link-bracket-re l) (match-string 1 l)))) (when bare (if (and org-babel-tangle-use-relative-file-links @@ -512,6 +513,7 @@ The PARAMS are the 3rd element of the info for the same src block." (cdr (assq :tangle params))))) bare)))))) +(defvar org-outline-regexp) ; defined in lisp/org.el (defun org-babel-tangle-single-block (block-counter &optional only-this-block) "Collect the tangled source for current block. Return the list of block attributes needed by @@ -569,8 +571,8 @@ non-nil, return the full association list to be used by (buffer-substring (max (condition-case nil (save-excursion - (org-back-to-heading t) ; Sets match data - (match-end 0)) + (org-back-to-heading t) + (re-search-forward org-outline-regexp)) (error (point-min))) (save-excursion (if (re-search-backward diff --git a/elpa/org-9.6/ob.el b/elpa/org-9.6.7/ob.el similarity index 95% rename from elpa/org-9.6/ob.el rename to elpa/org-9.6.7/ob.el index 83fc5b23..4444ced5 100644 --- a/elpa/org-9.6/ob.el +++ b/elpa/org-9.6.7/ob.el @@ -1,6 +1,6 @@ ;;; ob.el --- Working with Code Blocks in Org -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Authors: Eric Schulte ;; Keywords: literate programming, reproducible research diff --git a/elpa/org-9.6/oc-basic.el b/elpa/org-9.6.7/oc-basic.el similarity index 98% rename from elpa/org-9.6/oc-basic.el rename to elpa/org-9.6.7/oc-basic.el index 3ef7a37e..1c8c37aa 100644 --- a/elpa/org-9.6/oc-basic.el +++ b/elpa/org-9.6.7/oc-basic.el @@ -1,6 +1,6 @@ ;;; oc-basic.el --- basic back-end for citations -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou @@ -162,17 +162,17 @@ Return a hash table with citation references as keys and fields alist as values. (puthash (cdr (assq 'id item)) (mapcar (pcase-lambda (`(,field . ,value)) (pcase field - ('author - ;; Author is an array of objects, each - ;; of them designing a person. These - ;; objects may contain multiple - ;; properties, but for this basic - ;; processor, we'll focus on `given' and - ;; `family'. + ((or 'author 'editors) + ;; Author and editors are arrays of + ;; objects, each of them designing a + ;; person. These objects may contain + ;; multiple properties, but for this + ;; basic processor, we'll focus on + ;; `given' and `family'. ;; ;; For compatibility with BibTeX, add - ;; "and" between authors. - (cons 'author + ;; "and" between authors and editors. + (cons field (mapconcat (lambda (alist) (concat (alist-get 'family alist) diff --git a/elpa/org-9.6/oc-biblatex.el b/elpa/org-9.6.7/oc-biblatex.el similarity index 99% rename from elpa/org-9.6/oc-biblatex.el rename to elpa/org-9.6.7/oc-biblatex.el index e8f677b7..b2d31f0f 100644 --- a/elpa/org-9.6/oc-biblatex.el +++ b/elpa/org-9.6.7/oc-biblatex.el @@ -1,6 +1,6 @@ ;;; oc-biblatex.el --- biblatex citation processor for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou diff --git a/elpa/org-9.6/oc-bibtex.el b/elpa/org-9.6.7/oc-bibtex.el similarity index 90% rename from elpa/org-9.6/oc-bibtex.el rename to elpa/org-9.6.7/oc-bibtex.el index 33fba8c4..d5e5490e 100644 --- a/elpa/org-9.6/oc-bibtex.el +++ b/elpa/org-9.6.7/oc-bibtex.el @@ -1,23 +1,23 @@ ;;; oc-bibtex.el --- Vanilla citation processor for LaTeX -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; This file is part of GNU Emacs. -;; This program is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. -;; This program is distributed in the hope that it will be useful, +;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . +;; along with GNU Emacs. If not, see . ;;; Commentary: diff --git a/elpa/org-9.6/oc-csl.el b/elpa/org-9.6.7/oc-csl.el similarity index 99% rename from elpa/org-9.6/oc-csl.el rename to elpa/org-9.6.7/oc-csl.el index 1ccb74e9..2b00cb59 100644 --- a/elpa/org-9.6/oc-csl.el +++ b/elpa/org-9.6.7/oc-csl.el @@ -1,6 +1,6 @@ ;;; oc-csl.el --- csl citation processor for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Maintainer: András Simonyi diff --git a/elpa/org-9.6/oc-natbib.el b/elpa/org-9.6.7/oc-natbib.el similarity index 99% rename from elpa/org-9.6/oc-natbib.el rename to elpa/org-9.6.7/oc-natbib.el index 00c069e1..855be2a5 100644 --- a/elpa/org-9.6/oc-natbib.el +++ b/elpa/org-9.6.7/oc-natbib.el @@ -1,6 +1,6 @@ ;;; oc-natbib.el --- Citation processor using natbib LaTeX package -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou diff --git a/elpa/org-9.6/oc.el b/elpa/org-9.6.7/oc.el similarity index 99% rename from elpa/org-9.6/oc.el rename to elpa/org-9.6.7/oc.el index 43eb8622..8a7b6620 100644 --- a/elpa/org-9.6/oc.el +++ b/elpa/org-9.6.7/oc.el @@ -1,6 +1,6 @@ ;;; oc.el --- Org Cite library -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou @@ -1232,7 +1232,9 @@ from the processor set in `org-cite-activate-processor'." (let ((cite (org-with-point-at (match-beginning 0) (org-element-citation-parser)))) (when cite - (funcall activate cite) + ;; Do not alter match data as font-lock expects us to set it + ;; appropriately. + (save-match-data (funcall activate cite)) ;; Move after cite object and make sure to return ;; a non-nil value. (goto-char (org-element-property :end cite))))))) diff --git a/elpa/org-9.6/ol-bbdb.el b/elpa/org-9.6.7/ol-bbdb.el similarity index 99% rename from elpa/org-9.6/ol-bbdb.el rename to elpa/org-9.6.7/ol-bbdb.el index ec1d755e..47bd9d98 100644 --- a/elpa/org-9.6/ol-bbdb.el +++ b/elpa/org-9.6.7/ol-bbdb.el @@ -1,6 +1,6 @@ ;;; ol-bbdb.el --- Links to BBDB entries -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Authors: Carsten Dominik ;; Thomas Baumann diff --git a/elpa/org-9.6/ol-bibtex.el b/elpa/org-9.6.7/ol-bibtex.el similarity index 98% rename from elpa/org-9.6/ol-bibtex.el rename to elpa/org-9.6.7/ol-bibtex.el index 313b1cde..fd951723 100644 --- a/elpa/org-9.6/ol-bibtex.el +++ b/elpa/org-9.6.7/ol-bibtex.el @@ -1,6 +1,6 @@ ;;; ol-bibtex.el --- Links to BibTeX entries -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2007-2022 Free Software Foundation, Inc. +;; Copyright (C) 2007-2023 Free Software Foundation, Inc. ;; ;; Authors: Bastien Guerry ;; Carsten Dominik @@ -86,8 +86,8 @@ ;; the active region, then call `org-bibtex-write' in a .org file to ;; insert a heading for the read bibtex entry ;; -;; - All Bibtex information is taken from the document compiled by -;; Andrew Roberts from the Bibtex manual, available at +;; - All BibTeX information is taken from the document compiled by +;; Andrew Roberts from the BibTeX manual, available at ;; https://www.andy-roberts.net/res/writing/latex/bibentries.pdf ;; ;;; History: @@ -99,7 +99,7 @@ ;; and then implemented by Bastien Guerry. ;; ;; Eric Schulte eventually added the functions for translating between -;; Org headlines and Bibtex entries, and for fleshing out the Bibtex +;; Org headlines and BibTeX entries, and for fleshing out the BibTeX ;; fields of existing Org headlines. ;; ;; Org mode loads this module by default - if this is not what you want, @@ -144,7 +144,7 @@ (declare-function org-search-view "org-agenda" (&optional todo-only string edit-at)) -;;; Bibtex data +;;; BibTeX data (defvar org-bibtex-types '((:article (:description . "An article from a journal or magazine") @@ -202,7 +202,7 @@ (:description . "A document having an author and title, but not formally published.") (:required :author :title :note) (:optional :month :year :doi :url))) - "Bibtex entry types with required and optional parameters.") + "BibTeX entry types with required and optional parameters.") (defvar org-bibtex-fields '((:address . "Usually the address of the publisher or other type of institution. For major publishing houses, van Leunen recommends omitting the information entirely. For small publishers, on the other hand, you can help the reader by giving the complete address.") @@ -231,7 +231,7 @@ (:url . "Uniform resource locator.") (:volume . "The volume of a journal or multi-volume book.") (:year . "The year of publication or, for an unpublished work, the year it was written. Generally it should consist of four numerals, such as 1984, although the standard styles can handle any year whose last four nonpunctuation characters are numerals, such as '(about 1984)'")) - "Bibtex fields with descriptions.") + "BibTeX fields with descriptions.") (defvar org-bibtex-entries nil "List to hold parsed bibtex entries.") @@ -439,7 +439,7 @@ at point." (error "Field:%s is not known" field)) (save-window-excursion (let* ((name (substring (symbol-name field) 1)) - (buf-name (format "*Bibtex Help %s*" name))) + (buf-name (format "*BibTeX Help %s*" name))) (with-output-to-temp-buffer buf-name (princ (cdr (assoc field org-bibtex-fields)))) (with-current-buffer buf-name (visual-line-mode 1)) @@ -496,7 +496,7 @@ With optional argument OPTIONAL, also prompt for optional fields." (org-bibtex-autokey))) -;;; Bibtex link functions +;;; BibTeX link functions (org-link-set-parameters "bibtex" :follow #'org-bibtex-open :store #'org-bibtex-store-link) @@ -593,13 +593,13 @@ ARG, when non-nil, is a universal prefix argument. See (add-hook 'org-execute-file-search-functions 'org-execute-file-search-in-bibtex) -;;; Bibtex <-> Org headline translation functions +;;; BibTeX <-> Org headline translation functions (defun org-bibtex (filename) "Export each headline in the current file to a bibtex entry. Headlines are exported using `org-bibtex-headline'." (interactive (list (read-file-name - "Bibtex file: " nil nil nil + "BibTeX file: " nil nil nil (let ((file (buffer-file-name (buffer-base-buffer)))) (and file (file-name-nondirectory @@ -619,7 +619,7 @@ Headlines are exported using `org-bibtex-headline'." nil)))) (when error-point (goto-char error-point) - (message "Bibtex error at %S" (nth 4 (org-heading-components)))))) + (message "BibTeX error at %S" (nth 4 (org-heading-components)))))) (defun org-bibtex-check (&optional optional) "Check the current headline for required fields. diff --git a/elpa/org-9.6/ol-docview.el b/elpa/org-9.6.7/ol-docview.el similarity index 98% rename from elpa/org-9.6/ol-docview.el rename to elpa/org-9.6.7/ol-docview.el index 7dbeb0ad..a9cd9b99 100644 --- a/elpa/org-9.6/ol-docview.el +++ b/elpa/org-9.6.7/ol-docview.el @@ -1,6 +1,6 @@ ;;; ol-docview.el --- Links to Docview mode buffers -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Jan Böcker ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/ol-doi.el b/elpa/org-9.6.7/ol-doi.el similarity index 97% rename from elpa/org-9.6/ol-doi.el rename to elpa/org-9.6.7/ol-doi.el index 93be1d90..971b0508 100644 --- a/elpa/org-9.6/ol-doi.el +++ b/elpa/org-9.6.7/ol-doi.el @@ -1,6 +1,6 @@ ;;; ol-doi.el --- DOI links support in Org -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou diff --git a/elpa/org-9.6/ol-eshell.el b/elpa/org-9.6.7/ol-eshell.el similarity index 97% rename from elpa/org-9.6/ol-eshell.el rename to elpa/org-9.6.7/ol-eshell.el index 3be63601..b7d3baf3 100644 --- a/elpa/org-9.6/ol-eshell.el +++ b/elpa/org-9.6.7/ol-eshell.el @@ -1,6 +1,6 @@ ;;; ol-eshell.el --- Links to Working Directories in Eshell -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2023 Free Software Foundation, Inc. ;; Author: Konrad Hinsen diff --git a/elpa/org-9.6/ol-eww.el b/elpa/org-9.6.7/ol-eww.el similarity index 99% rename from elpa/org-9.6/ol-eww.el rename to elpa/org-9.6.7/ol-eww.el index c3992fa0..ee970b6a 100644 --- a/elpa/org-9.6/ol-eww.el +++ b/elpa/org-9.6.7/ol-eww.el @@ -1,6 +1,6 @@ ;;; ol-eww.el --- Store URL and kill from Eww mode -*- lexical-binding: t -*- -;; Copyright (C) 2014-2022 Free Software Foundation, Inc. +;; Copyright (C) 2014-2023 Free Software Foundation, Inc. ;; Author: Marco Wahl a ;; Keywords: link, eww diff --git a/elpa/org-9.6/ol-gnus.el b/elpa/org-9.6.7/ol-gnus.el similarity index 99% rename from elpa/org-9.6/ol-gnus.el rename to elpa/org-9.6.7/ol-gnus.el index 185218ab..7c07ce04 100644 --- a/elpa/org-9.6/ol-gnus.el +++ b/elpa/org-9.6.7/ol-gnus.el @@ -1,6 +1,6 @@ ;;; ol-gnus.el --- Links to Gnus Groups and Messages -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Tassilo Horn diff --git a/elpa/org-9.6/ol-info.el b/elpa/org-9.6.7/ol-info.el similarity index 99% rename from elpa/org-9.6/ol-info.el rename to elpa/org-9.6.7/ol-info.el index d332b283..ad9e4a12 100644 --- a/elpa/org-9.6/ol-info.el +++ b/elpa/org-9.6.7/ol-info.el @@ -1,6 +1,6 @@ ;;; ol-info.el --- Links to Info Nodes -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/ol-irc.el b/elpa/org-9.6.7/ol-irc.el similarity index 99% rename from elpa/org-9.6/ol-irc.el rename to elpa/org-9.6.7/ol-irc.el index 25d11ca1..3760644e 100644 --- a/elpa/org-9.6/ol-irc.el +++ b/elpa/org-9.6.7/ol-irc.el @@ -1,6 +1,6 @@ ;;; ol-irc.el --- Links to IRC Sessions -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2008-2022 Free Software Foundation, Inc. +;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; ;; Author: Philip Jackson ;; Keywords: erc, irc, link, org diff --git a/elpa/org-9.6/ol-man.el b/elpa/org-9.6.7/ol-man.el similarity index 98% rename from elpa/org-9.6/ol-man.el rename to elpa/org-9.6.7/ol-man.el index a85ed9ba..40fdc8f9 100644 --- a/elpa/org-9.6/ol-man.el +++ b/elpa/org-9.6.7/ol-man.el @@ -1,6 +1,6 @@ ;;; ol-man.el --- Links to man pages -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2020-2022 Free Software Foundation, Inc. +;; Copyright (C) 2020-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Maintainer: Bastien Guerry ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/ol-mhe.el b/elpa/org-9.6.7/ol-mhe.el similarity index 99% rename from elpa/org-9.6/ol-mhe.el rename to elpa/org-9.6.7/ol-mhe.el index 8bd8aa6b..403b5a25 100644 --- a/elpa/org-9.6/ol-mhe.el +++ b/elpa/org-9.6.7/ol-mhe.el @@ -1,6 +1,6 @@ ;;; ol-mhe.el --- Links to MH-E Messages -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Thomas Baumann ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/ol-rmail.el b/elpa/org-9.6.7/ol-rmail.el similarity index 98% rename from elpa/org-9.6/ol-rmail.el rename to elpa/org-9.6.7/ol-rmail.el index 4d6f82c9..28777982 100644 --- a/elpa/org-9.6/ol-rmail.el +++ b/elpa/org-9.6.7/ol-rmail.el @@ -1,6 +1,6 @@ ;;; ol-rmail.el --- Links to Rmail Messages -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/ol-w3m.el b/elpa/org-9.6.7/ol-w3m.el similarity index 99% rename from elpa/org-9.6/ol-w3m.el rename to elpa/org-9.6.7/ol-w3m.el index 7bd24108..6fb01a60 100644 --- a/elpa/org-9.6/ol-w3m.el +++ b/elpa/org-9.6.7/ol-w3m.el @@ -1,6 +1,6 @@ ;;; ol-w3m.el --- Copy and Paste From W3M -*- lexical-binding: t; -*- -;; Copyright (C) 2008-2022 Free Software Foundation, Inc. +;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; Author: Andy Stewart ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/ol.el b/elpa/org-9.6.7/ol.el similarity index 99% rename from elpa/org-9.6/ol.el rename to elpa/org-9.6.7/ol.el index 0b4457b0..9ad191c8 100644 --- a/elpa/org-9.6/ol.el +++ b/elpa/org-9.6.7/ol.el @@ -1,6 +1,6 @@ ;;; ol.el --- Org links library -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2022 Free Software Foundation, Inc. +;; Copyright (C) 2018-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -150,7 +150,7 @@ link. called with two arguments: the link location (a string such as \"~/foobar\", \"id:some-org-id\" or \"https://www.foo.com\") and the description generated by `org-insert-link'. It should - return the description to use (this reflects the behaviour of + return the description to use (this reflects the behavior of `org-link-make-description-function'). If it returns nil, no default description is used, but no error is thrown (from the user's perspective, this is equivalent to a default description @@ -1488,9 +1488,9 @@ If the link is in hidden text, expose it." (defun org-link-descriptive-ensure () "Toggle the literal or descriptive display of links in current buffer if needed." - (if org-link-descriptive - (org-fold-core-set-folding-spec-property (car org-link--link-folding-spec) :visible nil) - (org-fold-core-set-folding-spec-property (car org-link--link-folding-spec) :visible t))) + (org-fold-core-set-folding-spec-property + (car org-link--link-folding-spec) + :visible (not org-link-descriptive))) ;;;###autoload (defun org-toggle-link-display () diff --git a/elpa/org-9.6/org-agenda.el b/elpa/org-9.6.7/org-agenda.el similarity index 99% rename from elpa/org-9.6/org-agenda.el rename to elpa/org-9.6.7/org-agenda.el index aecfc3d8..d3e61643 100644 --- a/elpa/org-9.6/org-agenda.el +++ b/elpa/org-9.6.7/org-agenda.el @@ -1,6 +1,6 @@ ;;; org-agenda.el --- Dynamic task and appointment lists for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -54,6 +54,7 @@ (require 'org) (require 'org-macs) (require 'org-refile) +(require 'org-element) (declare-function diary-add-to-list "diary-lib" (date string specifier &optional marker globcolor literal)) @@ -80,11 +81,6 @@ (declare-function org-columns-quit "org-colview" ()) (declare-function diary-date-display-form "diary-lib" (&optional type)) (declare-function org-mobile-write-agenda-for-mobile "org-mobile" (file)) -(declare-function org-element-property "org-element" (property element)) -(declare-function org-element--cache-active-p "org-element" - (&optional called-from-cache-change-func-p)) -(declare-function org-element-lineage "org-element" - (datum &optional types with-self)) (declare-function org-habit-insert-consistency-graphs "org-habit" (&optional line)) (declare-function org-is-habit-p "org-habit" (&optional pom)) @@ -95,8 +91,6 @@ (declare-function org-capture "org-capture" (&optional goto keys)) (declare-function org-clock-modify-effort-estimate "org-clock" (&optional value)) -(declare-function org-element-type "org-element" (&optional element)) - (defvar calendar-mode-map) (defvar org-clock-current-task) (defvar org-current-tag-alist) @@ -1184,7 +1178,9 @@ Custom commands can set this variable in the options section." "Non-nil means start the overview always on the specified weekday. 0 denotes Sunday, 1 denotes Monday, etc. When nil, always start on the current day. -Custom commands can set this variable in the options section." +Custom commands can set this variable in the options section. + +This variable only applies when agenda spans either 7 or 14 days." :group 'org-agenda-daily/weekly :type '(choice (const :tag "Today" nil) (integer :tag "Weekday No."))) @@ -3352,7 +3348,7 @@ s Search for keywords M Like m, but only TODO entries (`agenda (call-interactively 'org-agenda-list)) (`agenda* - (funcall 'org-agenda-list nil nil t)) + (funcall 'org-agenda-list nil nil nil t)) (`alltodo (call-interactively 'org-todo-list)) (`search @@ -3477,14 +3473,18 @@ This ensures the export commands can easily use it." (setq props (plist-put props 'tags (mapconcat #'identity tmp ":")))) (when (setq tmp (plist-get props 'date)) (when (integerp tmp) (setq tmp (calendar-gregorian-from-absolute tmp))) - (let ((calendar-date-display-form '(year "-" month "-" day))) - '((format "%4d, %9s %2s, %4s" dayname monthname day year)) - + (let ((calendar-date-display-form + '((format "%s-%.2d-%.2d" year + (string-to-number month) + (string-to-number day))))) (setq tmp (calendar-date-string tmp))) (setq props (plist-put props 'date tmp))) (when (setq tmp (plist-get props 'day)) (when (integerp tmp) (setq tmp (calendar-gregorian-from-absolute tmp))) - (let ((calendar-date-display-form '(year "-" month "-" day))) + (let ((calendar-date-display-form + '((format "%s-%.2d-%.2d" year + (string-to-number month) + (string-to-number day))))) (setq tmp (calendar-date-string tmp))) (setq props (plist-put props 'day tmp)) (setq props (plist-put props 'agenda-day tmp))) @@ -4357,7 +4357,10 @@ This check for agenda markers in all agenda buffers currently active." Custom commands can set this variable in the options section. This is usually a string like \"2007-11-01\", \"+2d\" or any other input allowed when reading a date through the Org calendar. -See the docstring of `org-read-date' for details.") +See the docstring of `org-read-date' for details. + +This variable has no effect when `org-agenda-start-on-weekday' is set +and agenda spans 7 or 14 days.") (defvar org-starting-day nil) ; local variable in the agenda buffer (defvar org-arg-loc nil) ; local variable @@ -4678,7 +4681,7 @@ is active." (org-agenda-text-search-extra-files org-agenda-text-search-extra-files) regexp rtn rtnall files file pos inherited-tags marker category level tags c neg re boolean - ee txt beg end words regexps+ regexps- hdl-only buffer beg1 str) + ee txt beg end last-search-end words regexps+ regexps- hdl-only buffer beg1 str) (unless (and (not edit-at) (stringp string) (string-match "\\S-" string)) @@ -4817,6 +4820,7 @@ is active." (throw 'nextfile t)) (goto-char (max (point-min) (1- (point)))) (while (re-search-forward regexp nil t) + (setq last-search-end (point)) (org-back-to-heading t) (while (and (not (zerop org-agenda-search-view-max-outline-level)) (> (org-reduced-level (org-outline-level)) @@ -4878,7 +4882,7 @@ is active." 'priority 1000 'type "search") (push txt ee) - (goto-char (1- end)))))))))) + (goto-char (max (1- end) last-search-end)))))))))) (setq rtn (nreverse ee)) (setq rtnall (append rtnall rtn))) (org-agenda--insert-overriding-header @@ -5943,7 +5947,7 @@ displayed in agenda view." (goto-char (point-min)) (while (re-search-forward regexp nil t) (catch :skip - ;; We do not run `org-agenda-skip' righ away because every single sexp + ;; We do not run `org-agenda-skip' right away because every single sexp ;; in the buffer is matched here, unlike day-specific search ;; in ordinary timestamps. Most of the sexps will not match ;; the agenda day and it is quicker to run `org-agenda-skip' only for @@ -7326,7 +7330,7 @@ Any match of REMOVE-RE will be removed from TXT." (let ((s (org-format-outline-path (org-get-outline-path) (1- (frame-width)) nil org-agenda-breadcrumbs-separator))) - (if (eq "" s) "" (concat s org-agenda-breadcrumbs-separator)))))) + (if (equal "" s) "" (concat s org-agenda-breadcrumbs-separator)))))) (setq time (cond (s2 (concat (org-agenda-time-of-day-to-ampm-maybe s1) "-" (org-agenda-time-of-day-to-ampm-maybe s2) @@ -7720,8 +7724,7 @@ The optional argument TYPE tells the agenda type." (unless (string= org-agenda-todo-keyword-format "") ;; Remove `display' property as the icon could leak ;; on the white space. - (org-add-props " " (org-plist-delete (text-properties-at 0 x) - 'display))) + (apply #'propertize " " (org-plist-delete (text-properties-at 0 x) 'display))) (substring x (match-end 3))))))) x))) @@ -8207,7 +8210,7 @@ filter." (if (and org-agenda-filtered-by-category org-agenda-category-filter) (org-agenda-filter-show-all-cat) - (let ((cat (org-no-properties (org-get-at-eol 'org-category 1)))) + (let ((cat (org-no-properties (org-agenda-get-category)))) (cond ((and cat strip) (org-agenda-filter-apply diff --git a/elpa/org-9.6/org-archive.el b/elpa/org-9.6.7/org-archive.el similarity index 99% rename from elpa/org-9.6/org-archive.el rename to elpa/org-9.6.7/org-archive.el index d08afa45..e74c59a5 100644 --- a/elpa/org-9.6/org-archive.el +++ b/elpa/org-9.6.7/org-archive.el @@ -1,6 +1,6 @@ ;;; org-archive.el --- Archiving for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-attach-git.el b/elpa/org-9.6.7/org-attach-git.el similarity index 98% rename from elpa/org-9.6/org-attach-git.el rename to elpa/org-9.6.7/org-attach-git.el index 95a2359c..4763aefd 100644 --- a/elpa/org-9.6/org-attach-git.el +++ b/elpa/org-9.6.7/org-attach-git.el @@ -1,6 +1,6 @@ ;;; org-attach-git.el --- Automatic git commit extension to org-attach -*- lexical-binding: t; -*- -;; Copyright (C) 2019-2022 Free Software Foundation, Inc. +;; Copyright (C) 2019-2023 Free Software Foundation, Inc. ;; Original Author: John Wiegley ;; Restructurer: Gustav Wikström diff --git a/elpa/org-9.6/org-attach.el b/elpa/org-9.6.7/org-attach.el similarity index 99% rename from elpa/org-9.6/org-attach.el rename to elpa/org-9.6.7/org-attach.el index f85811dc..e8b27751 100644 --- a/elpa/org-9.6/org-attach.el +++ b/elpa/org-9.6.7/org-attach.el @@ -1,6 +1,6 @@ ;;; org-attach.el --- Manage file attachments to Org outlines -*- lexical-binding: t; -*- -;; Copyright (C) 2008-2022 Free Software Foundation, Inc. +;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Keywords: org data attachment @@ -524,7 +524,7 @@ DIR-property exists (that is different from the unset one)." "Attach URL." (interactive "MURL of the file to attach: \n") (let ((org-attach-method 'url) - (org-safe-remote-resources ; Assume saftey if in an interactive session. + (org-safe-remote-resources ; Assume safety if in an interactive session. (if noninteractive org-safe-remote-resources '("")))) (org-attach-attach url))) diff --git a/elpa/org-9.6/org-autoloads.el b/elpa/org-9.6.7/org-autoloads.el similarity index 100% rename from elpa/org-9.6/org-autoloads.el rename to elpa/org-9.6.7/org-autoloads.el diff --git a/elpa/org-9.6/org-capture.el b/elpa/org-9.6.7/org-capture.el similarity index 99% rename from elpa/org-9.6/org-capture.el rename to elpa/org-9.6.7/org-capture.el index df401d6a..a696c615 100644 --- a/elpa/org-9.6/org-capture.el +++ b/elpa/org-9.6.7/org-capture.el @@ -1,6 +1,6 @@ ;;; org-capture.el --- Fast note taking in Org -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -757,7 +757,7 @@ of the day at point (if any) or the current HH:MM time." (_ "* Invalid capture template")))) (defun org-capture--run-template-functions (keyword &optional local) - "Run funcitons associated with KEYWORD on template's plist. + "Run functions associated with KEYWORD on template's plist. For valid values of KEYWORD see `org-capture-templates'. If LOCAL is non-nil use the buffer-local value of `org-capture-plist'." ;; Used in place of `run-hooks' because these functions have no associated symbol. @@ -1700,7 +1700,7 @@ Expansion occurs in a temporary Org mode buffer." (condition-case error (insert-file-contents filename) (error - (insert (format "%%![couldn not insert %s: %s]" + (insert (format "%%![could not insert %s: %s]" filename error)))))))) ;; Mark %() embedded elisp for later evaluation. diff --git a/elpa/org-9.6/org-clock.el b/elpa/org-9.6.7/org-clock.el similarity index 97% rename from elpa/org-9.6/org-clock.el rename to elpa/org-9.6.7/org-clock.el index 2758aeed..d7fe14cd 100644 --- a/elpa/org-9.6/org-clock.el +++ b/elpa/org-9.6.7/org-clock.el @@ -1,6 +1,6 @@ ;;; org-clock.el --- The time clocking code for Org mode -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -726,9 +726,9 @@ If not, show simply the clocked time like 01:50." 'org-mode-line-clock-overrun 'org-mode-line-clock))) (effort-str (org-duration-from-minutes effort-in-minutes))) - (format (propertize " [%s/%s] (%s)" 'face 'org-mode-line-clock) + (format (propertize "[%s/%s] (%s) " 'face 'org-mode-line-clock) work-done-str effort-str org-clock-heading)) - (format (propertize " [%s] (%s)" 'face 'org-mode-line-clock) + (format (propertize "[%s] (%s) " 'face 'org-mode-line-clock) (org-duration-from-minutes clocked-time) org-clock-heading)))) @@ -1198,8 +1198,11 @@ If `only-dangling-p' is non-nil, only ask to resolve dangling (string-to-number (shell-command-to-string "ioreg -c IOHIDSystem | perl -ane 'if (/Idle/) {$idle=(pop @F)/1000000000; print $idle; last}'"))) (defvar org-x11idle-exists-p - ;; Check that x11idle exists - (and (eq 0 (call-process-shell-command + ;; Check that x11idle exists. But don't do that on DOS/Windows, + ;; since the command definitely does NOT exist there, and invoking + ;; COMMAND.COM on MS-Windows is a bad idea -- it hangs. + (and (null (memq system-type '(windows-nt ms-dos))) + (eq 0 (call-process-shell-command (format "command -v %s" org-clock-x11idle-program-name))) ;; Check that x11idle can retrieve the idle time ;; FIXME: Why "..-shell-command" rather than just `call-process'? @@ -1795,19 +1798,31 @@ Optional argument N tells to change by that many units." (begts (if updatets1 begts1 begts2))) (setq tdiff (time-subtract - (org-time-string-to-time org-last-changed-timestamp) + (org-time-string-to-time + (save-excursion + (goto-char (if updatets1 begts2 begts1)) + (looking-at org-ts-regexp3) + (match-string 0))) (org-time-string-to-time ts))) - (save-excursion - (goto-char begts) - (org-timestamp-change - (round (/ (float-time tdiff) - (pcase timestamp? - (`minute 60) - (`hour 3600) - (`day (* 24 3600)) - (`month (* 24 3600 31)) - (`year (* 24 3600 365.2))))) - timestamp? 'updown))))))) + ;; `save-excursion' won't work because + ;; `org-timestamp-change' deletes and re-inserts the + ;; timestamp. + (let ((origin (point))) + (save-excursion + (goto-char begts) + (org-timestamp-change + (round (/ (float-time tdiff) + (pcase timestamp? + (`minute 60) + (`hour 3600) + (`day (* 24 3600)) + (`month (* 24 3600 31)) + (`year (* 24 3600 365.2))))) + timestamp? 'updown)) + ;; Move back to initial position, but never beyond updated + ;; clock. + (unless (< (point) origin) + (goto-char origin)))))))) ;;;###autoload (defun org-clock-cancel () @@ -3046,53 +3061,59 @@ PROPERTIES: The list properties specified in the `:properties' parameter "If this is a CLOCK line, update it and return t. Otherwise, return nil." (interactive) - (save-excursion - (beginning-of-line 1) - (skip-chars-forward " \t") - (when (looking-at org-clock-string) - (let ((re (concat "[ \t]*" org-clock-string - " *[[<]\\([^]>]+\\)[]>]\\(-+[[<]\\([^]>]+\\)[]>]" - "\\([ \t]*=>.*\\)?\\)?")) - ts te h m s neg) - (cond - ((not (looking-at re)) - nil) - ((not (match-end 2)) - (when (and (equal (marker-buffer org-clock-marker) (current-buffer)) - (> org-clock-marker (point)) - (<= org-clock-marker (line-end-position))) - ;; The clock is running here - (setq org-clock-start-time - (org-time-string-to-time (match-string 1))) - (org-clock-update-mode-line))) - (t - ;; Prevent recursive call from `org-timestamp-change'. - (cl-letf (((symbol-function 'org-clock-update-time-maybe) #'ignore)) - ;; Update timestamps. - (save-excursion - (goto-char (match-beginning 1)) ; opening timestamp - (save-match-data (org-timestamp-change 0 'day))) - ;; Refresh match data. - (looking-at re) - (save-excursion - (goto-char (match-beginning 3)) ; closing timestamp - (save-match-data (org-timestamp-change 0 'day)))) - ;; Refresh match data. - (looking-at re) - (and (match-end 4) (delete-region (match-beginning 4) (match-end 4))) - (end-of-line 1) - (setq ts (match-string 1) - te (match-string 3)) - (setq s (- (org-time-string-to-seconds te) - (org-time-string-to-seconds ts)) - neg (< s 0) - s (abs s) - h (floor (/ s 3600)) - s (- s (* 3600 h)) - m (floor (/ s 60)) - s (- s (* 60 s))) - (insert " => " (format (if neg "-%d:%02d" "%2d:%02d") h m)) - t)))))) + (let ((origin (point))) ;; `save-excursion' may not work when deleting. + (prog1 + (save-excursion + (beginning-of-line 1) + (skip-chars-forward " \t") + (when (looking-at org-clock-string) + (let ((re (concat "[ \t]*" org-clock-string + " *[[<]\\([^]>]+\\)[]>]\\(-+[[<]\\([^]>]+\\)[]>]" + "\\([ \t]*=>.*\\)?\\)?")) + ts te h m s neg) + (cond + ((not (looking-at re)) + nil) + ((not (match-end 2)) + (when (and (equal (marker-buffer org-clock-marker) (current-buffer)) + (> org-clock-marker (point)) + (<= org-clock-marker (line-end-position))) + ;; The clock is running here + (setq org-clock-start-time + (org-time-string-to-time (match-string 1))) + (org-clock-update-mode-line))) + (t + ;; Prevent recursive call from `org-timestamp-change'. + (cl-letf (((symbol-function 'org-clock-update-time-maybe) #'ignore)) + ;; Update timestamps. + (save-excursion + (goto-char (match-beginning 1)) ; opening timestamp + (save-match-data (org-timestamp-change 0 'day))) + ;; Refresh match data. + (looking-at re) + (save-excursion + (goto-char (match-beginning 3)) ; closing timestamp + (save-match-data (org-timestamp-change 0 'day)))) + ;; Refresh match data. + (looking-at re) + (and (match-end 4) (delete-region (match-beginning 4) (match-end 4))) + (end-of-line 1) + (setq ts (match-string 1) + te (match-string 3)) + (setq s (- (org-time-string-to-seconds te) + (org-time-string-to-seconds ts)) + neg (< s 0) + s (abs s) + h (floor (/ s 3600)) + s (- s (* 3600 h)) + m (floor (/ s 60)) + s (- s (* 60 s))) + (insert " => " (format (if neg "-%d:%02d" "%2d:%02d") h m)) + t))))) + ;; Move back to initial position, but never beyond updated + ;; clock. + (unless (< (point) origin) + (goto-char origin))))) (defun org-clock-save () "Persist various clock-related data to disk. diff --git a/elpa/org-9.6/org-colview.el b/elpa/org-9.6.7/org-colview.el similarity index 99% rename from elpa/org-9.6/org-colview.el rename to elpa/org-9.6.7/org-colview.el index 20bf2b7e..92a3b473 100644 --- a/elpa/org-9.6/org-colview.el +++ b/elpa/org-9.6.7/org-colview.el @@ -1,6 +1,6 @@ ;;; org-colview.el --- Column View in Org -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-compat.el b/elpa/org-9.6.7/org-compat.el similarity index 98% rename from elpa/org-9.6/org-compat.el rename to elpa/org-9.6.7/org-compat.el index 2f29754f..d5bf2191 100644 --- a/elpa/org-9.6/org-compat.el +++ b/elpa/org-9.6.7/org-compat.el @@ -1,6 +1,6 @@ ;;; org-compat.el --- Compatibility Code for Older Emacsen -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -196,11 +196,13 @@ removed." ;;; Emacs < 27.1 compatibility -(unless (fboundp 'combine-change-calls) - ;; A stub when `combine-change-calls' was not yet there. - (defmacro combine-change-calls (_beg _end &rest body) - (declare (debug (form form def-body)) (indent 2)) - `(progn ,@body))) +(if (version< emacs-version "29") + ;; A stub when `combine-change-calls' was not yet there or had + ;; critical bugs (see Emacs bug#60467). + (defmacro org-combine-change-calls (_beg _end &rest body) + (declare (debug (form form def-body)) (indent 2)) + `(progn ,@body)) + (defalias 'org-combine-change-calls 'combine-change-calls)) (if (version< emacs-version "27.1") (defsubst org-replace-buffer-contents (source &optional _max-secs _max-costs) @@ -1543,7 +1545,7 @@ key." "Run `org-fold-region' when in org-mode." (if (derived-mode-p 'org-mode) (org-fold-region (max from (point-min)) (min to (point-max)) flag 'headline) - ;; Apply EXTRA to avoid breakages if adviced function definition + ;; Apply EXTRA to avoid breakages if advised function definition ;; changes. (apply oldfun from to flag extra))) @@ -1551,7 +1553,7 @@ key." "Run `org-next-visible-heading' when in org-mode." (if (derived-mode-p 'org-mode) (org-next-visible-heading arg) - ;; Apply EXTRA to avoid breakages if adviced function definition + ;; Apply EXTRA to avoid breakages if advised function definition ;; changes. (apply oldfun arg extra))) @@ -1571,7 +1573,7 @@ key." (point))))) (goto-char found) found))) - ;; Apply EXTRA to avoid breakages if adviced function definition + ;; Apply EXTRA to avoid breakages if advised function definition ;; changes. (apply oldfun invisible-ok extra))) @@ -1579,7 +1581,7 @@ key." "Run `org-at-heading-p' when in org-mode." (if (derived-mode-p 'org-mode) (org-at-heading-p (not invisible-ok)) - ;; Apply EXTRA to avoid breakages if adviced function definition + ;; Apply EXTRA to avoid breakages if advised function definition ;; changes. (apply oldfun invisible-ok extra))) @@ -1587,7 +1589,7 @@ key." "Run `org-fold-hide-sublevels' when in org-mode." (if (derived-mode-p 'org-mode) (org-fold-hide-sublevels levels) - ;; Apply EXTRA to avoid breakages if adviced function definition + ;; Apply EXTRA to avoid breakages if advised function definition ;; changes. (apply oldfun levels extra))) @@ -1600,7 +1602,7 @@ key." (org-fold-hide-subtree) (org-fold-show-children) (org-fold-show-entry 'hide-drawers))) - ;; Apply EXTRA to avoid breakages if adviced function definition + ;; Apply EXTRA to avoid breakages if advised function definition ;; changes. (apply oldfun extra))) diff --git a/elpa/org-9.6/org-crypt.el b/elpa/org-9.6.7/org-crypt.el similarity index 99% rename from elpa/org-9.6/org-crypt.el rename to elpa/org-9.6.7/org-crypt.el index 0d2ce593..b5df115c 100644 --- a/elpa/org-9.6/org-crypt.el +++ b/elpa/org-9.6.7/org-crypt.el @@ -1,6 +1,6 @@ ;;; org-crypt.el --- Public Key Encryption for Org Entries -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2007-2022 Free Software Foundation, Inc. +;; Copyright (C) 2007-2023 Free Software Foundation, Inc. ;; Author: John Wiegley diff --git a/elpa/org-9.6/org-ctags.el b/elpa/org-9.6.7/org-ctags.el similarity index 99% rename from elpa/org-9.6/org-ctags.el rename to elpa/org-9.6.7/org-ctags.el index cba99fca..5dd2bfd5 100644 --- a/elpa/org-9.6/org-ctags.el +++ b/elpa/org-9.6.7/org-ctags.el @@ -1,6 +1,6 @@ ;;; org-ctags.el --- Integrate Emacs "tags" Facility with Org -*- lexical-binding: t; -*- -;; Copyright (C) 2007-2022 Free Software Foundation, Inc. +;; Copyright (C) 2007-2023 Free Software Foundation, Inc. ;; Author: Paul Sexton ;; Keywords: org, wp diff --git a/elpa/org-9.6/org-cycle.el b/elpa/org-9.6.7/org-cycle.el similarity index 99% rename from elpa/org-9.6/org-cycle.el rename to elpa/org-9.6.7/org-cycle.el index c06af06d..90fc95f4 100644 --- a/elpa/org-9.6/org-cycle.el +++ b/elpa/org-9.6.7/org-cycle.el @@ -1,6 +1,6 @@ ;;; org-cycle.el --- Visibility cycling of Org entries -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2020-2020 Free Software Foundation, Inc. +;; Copyright (C) 2020-2023 Free Software Foundation, Inc. ;; ;; Maintainer: Ihor Radchenko ;; Keywords: folding, visibility cycling, invisible text @@ -87,7 +87,7 @@ (defvar-local org-cycle-subtree-status nil) (put 'org-cycle-subtree-status 'org-state t) -;;;; Customisation: +;;;; Customization: (defgroup org-cycle nil @@ -648,6 +648,9 @@ With a numeric prefix, show all headlines up to that level." (org-fold-show-hidden-entry) (org-fold-show-children)) ("content" + ;; Newline before heading will be outside the + ;; narrowing. Make sure that it is revealed. + (org-fold-heading nil) (save-excursion (save-restriction (org-narrow-to-subtree) diff --git a/elpa/org-9.6/org-datetree.el b/elpa/org-9.6.7/org-datetree.el similarity index 99% rename from elpa/org-9.6/org-datetree.el rename to elpa/org-9.6.7/org-datetree.el index fb4df3cb..035ef047 100644 --- a/elpa/org-9.6/org-datetree.el +++ b/elpa/org-9.6.7/org-datetree.el @@ -1,6 +1,6 @@ ;;; org-datetree.el --- Create date entries in a tree -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-duration.el b/elpa/org-9.6.7/org-duration.el similarity index 99% rename from elpa/org-9.6/org-duration.el rename to elpa/org-9.6.7/org-duration.el index 6d6b8b5c..2919efd4 100644 --- a/elpa/org-9.6/org-duration.el +++ b/elpa/org-9.6.7/org-duration.el @@ -1,6 +1,6 @@ ;;; org-duration.el --- Library handling durations -*- lexical-binding: t; -*- -;; Copyright (C) 2017-2022 Free Software Foundation, Inc. +;; Copyright (C) 2017-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-element.el b/elpa/org-9.6.7/org-element.el similarity index 98% rename from elpa/org-9.6/org-element.el rename to elpa/org-9.6.7/org-element.el index bc2fa0b9..df43ebcf 100644 --- a/elpa/org-9.6/org-element.el +++ b/elpa/org-9.6.7/org-element.el @@ -1,6 +1,6 @@ ;;; org-element.el --- Parser for Org Syntax -*- lexical-binding: t; -*- -;; Copyright (C) 2012-2022 Free Software Foundation, Inc. +;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Keywords: outlines, hypermedia, calendar, wp @@ -713,11 +713,11 @@ is cleared and contents are removed in the process." ;; DATUM is i.e. a headline, it's property list (`:title' ;; in case of headline) can contain parsed objects. The ;; objects will contain `:parent' property set to the DATUM - ;; itself. When copied, these inner `:parent' propery + ;; itself. When copied, these inner `:parent' property ;; values will contain incorrect object decoupled from ;; DATUM. Changes to the DATUM copy will not longer be ;; reflected in the `:parent' properties. So, we need to - ;; reassign inner `:parent' propreties to the DATUM copy + ;; reassign inner `:parent' properties to the DATUM copy ;; explicitly. (org-element-map element-copy (cons 'plain-text org-element-all-objects) (lambda (obj) (when (equal datum (org-element-property :parent obj)) @@ -1040,7 +1040,7 @@ parse properties for property drawer at point." (property-value (match-string-no-properties 3))) (cond ((and (plist-member properties property-name-symbol) - (string-match-p "+$" property-name)) + (string-match-p "\\+$" property-name)) (let ((val (plist-get properties property-name-symbol))) (if (listp val) (setq properties @@ -1365,7 +1365,16 @@ Assume point is at beginning of the inline task." (priority (and (looking-at "\\[#.\\][ \t]*") (progn (goto-char (match-end 0)) (aref (match-string 0) 2)))) - (title-start (point)) + (commentedp + (and (let ((case-fold-search nil)) + (looking-at org-element-comment-string)) + (goto-char (match-end 0)) + (when (looking-at-p "\\(?:[ \t]\\|$\\)") + (point)))) + (title-start (prog1 (point) + (unless (or todo priority commentedp) + ;; Headline like "* :tag:" + (skip-chars-backward " \t")))) (tags (when (re-search-forward "[ \t]+\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$" (line-end-position) @@ -1375,6 +1384,7 @@ Assume point is at beginning of the inline task." (title-end (point)) (raw-value (org-trim (buffer-substring-no-properties title-start title-end))) + (archivedp (member org-element-archive-tag tags)) (task-end (save-excursion (end-of-line) (and (re-search-forward org-element-headline-re limit t) @@ -1410,7 +1420,9 @@ Assume point is at beginning of the inline task." :todo-keyword todo :todo-type todo-type :post-blank (1- (count-lines (or task-end begin) end)) - :post-affiliated begin) + :post-affiliated begin + :archivedp archivedp + :commentedp commentedp) time-props standard-props)))) (org-element-put-property @@ -2370,7 +2382,9 @@ Assume point is at the beginning of the fixed-width area." (defun org-element-fixed-width-interpreter (fixed-width _) "Interpret FIXED-WIDTH element as Org syntax." (let ((value (org-element-property :value fixed-width))) - (and value (replace-regexp-in-string "^" ": " value)))) + (and value + (if (string-empty-p value) ":\n" + (replace-regexp-in-string "^" ": " value))))) ;;;; Horizontal Rule @@ -2448,7 +2462,7 @@ CDR is a plist containing `:key', `:value', `:begin', `:end', (org-element-property :value keyword))) -;;;; Latex Environment +;;;; LaTeX Environment (defconst org-element--latex-begin-environment "^[ \t]*\\\\begin{\\([A-Za-z0-9*]+\\)}" @@ -3398,7 +3412,7 @@ CONTENTS is the contents of the object." (format "/%s/" contents)) -;;;; Latex Fragment +;;;; LaTeX Fragment (defun org-element-latex-fragment-parser () "Parse LaTeX fragment at point, if any. @@ -4780,7 +4794,7 @@ Elements are accumulated into ACC." ;; elements. Below code reassigns ;; `:parent' property of the element and ;; may interfere with cache - ;; synchronisation if parent element is not + ;; synchronization if parent element is not ;; yet in cache. Moreover, the returned ;; structure may be altered by caller code ;; arbitrarily. Hence, we return a copy of @@ -5287,7 +5301,7 @@ indentation removed from its contents." ;; mechanism is robust enough to preserve total order among elements ;; even when the tree is only partially synchronized. ;; -;; The cache code debuggin is fairly complex because cache request +;; The cache code debugging is fairly complex because cache request ;; state is often hard to reproduce. An extensive diagnostics ;; functionality is built into the cache code to assist hunting bugs. ;; See `org-element--cache-self-verify', `org-element--cache-self-verify-frequency', @@ -5295,6 +5309,7 @@ indentation removed from its contents." ;; `org-element--cache-diagnostics-ring-size', `org-element--cache-map-statistics', ;; `org-element--cache-map-statistics-threshold'. +;;;###autoload (defvar org-element-use-cache t "Non-nil when Org parser should cache its results.") @@ -5314,7 +5329,7 @@ seconds.") "Duration, as a time value, of the pause between synchronizations. See `org-element-cache-sync-duration' for more information.") -(defvar org-element--cache-self-verify t +(defvar org-element--cache-self-verify nil "Activate extra consistency checks for the cache. This may cause serious performance degradation depending on the value @@ -5434,14 +5449,14 @@ OFFSET and, if they belong to element PARENT, are adopted by it. PHASE specifies the phase number, as an integer. -For any synchronisation request, all the later requests in the cache +For any synchronization request, all the later requests in the cache must not start at or before END. See `org-element--cache-submit-request'.") (defvar-local org-element--cache-sync-timer nil "Timer used for cache synchronization.") (defvar-local org-element--cache-sync-keys-value nil - "Id value used to identify keys during synchronisation. + "Id value used to identify keys during synchronization. See `org-element--cache-key' for more information.") (defvar-local org-element--cache-change-tic nil @@ -5468,9 +5483,9 @@ See `org-element--cache-key' for more information.") This variable is used to determine when re-parsing buffer is not going to slow down the command. -If the commends end up modifying the cache, the worst case scenario is +If the commands end up modifying the cache, the worst case scenario is performance drop. So, advicing these commands is safe. Yet, it is -better to remove the commands adviced in such way from this list.") +better to remove the commands advised in such a way from this list.") (defmacro org-element--request-key (request) "Get NEXT part of a `org-element--cache-sync-requests' REQUEST." @@ -5717,7 +5732,11 @@ This function assumes `org-element--headline-cache' is a valid AVL tree." ;; `combine-change-calls' because the buffer is potentially ;; changed without notice (the change will be registered ;; after exiting the `combine-change-calls' body though). - (memq #'org-element--cache-after-change after-change-functions)))))) + (catch :inhibited + (org-fold-core-cycle-over-indirect-buffers + (unless (memq #'org-element--cache-after-change after-change-functions) + (throw :inhibited nil))) + t)))))) ;; FIXME: Remove after we establish that hashing is effective. (defun org-element-cache-hash-show-statistics () @@ -6291,7 +6310,7 @@ completing the request." (key (org-element--cache-key data))) ;; Traverse the cache tree. Ignore all the elements before ;; START. Note that `avl-tree-stack' would not bypass the - ;; elements before START and thus would have beeen less + ;; elements before START and thus would have been less ;; efficient. (if (and leftp (avl-tree--node-left node) (not (org-element--cache-key-less-p key start))) @@ -6793,7 +6812,7 @@ By default (when this variable is nil), cache re-parses modified headlines immediately after modification preserving all the unaffected elements inside the headline. -The default behaviour works best when users types inside Org buffer of +The default behavior works best when users types inside Org buffer of when buffer modifications are mixed with cache requests. However, large automated edits inserting/deleting many headlines are somewhat slower by default (as in `org-archive-subtree'). Let-binding this @@ -7255,18 +7274,18 @@ Each element indicates the latest `org-element--cache-change-tic' when change did not contain gaps.") ;;;###autoload -(defun org-element-cache-reset (&optional all no-persistance) +(defun org-element-cache-reset (&optional all no-persistence) "Reset cache in current buffer. When optional argument ALL is non-nil, reset cache in all Org buffers. -When optional argument NO-PERSISTANCE is non-nil, do not try to update +When optional argument NO-PERSISTENCE is non-nil, do not try to update the cache persistence in the buffer." (interactive "P") (dolist (buffer (if all (buffer-list) (list (current-buffer)))) (org-with-base-buffer buffer (when (and org-element-use-cache (derived-mode-p 'org-mode)) ;; Only persist cache in file buffers. - (when (and (buffer-file-name) (not no-persistance)) + (when (and (buffer-file-name) (not no-persistence)) (when (not org-element-cache-persistent) (org-persist-unregister 'org-element--headline-cache (current-buffer)) (org-persist-unregister 'org-element--cache (current-buffer))) @@ -7383,18 +7402,20 @@ the cache." (save-excursion (save-restriction (unless narrow (widen)) - ;; Synchronise cache up to the end of mapped region. + ;; Synchronize cache up to the end of mapped region. (org-element-at-point to-pos) (cl-macrolet ((cache-root ;; Use the most optimal version of cache available. - () `(if (memq granularity '(headline headline+inlinetask)) - (org-element--headline-cache-root) - (org-element--cache-root))) + () `(org-with-base-buffer nil + (if (memq granularity '(headline headline+inlinetask)) + (org-element--headline-cache-root) + (org-element--cache-root)))) (cache-size ;; Use the most optimal version of cache available. - () `(if (memq granularity '(headline headline+inlinetask)) - org-element--headline-cache-size - org-element--cache-size)) + () `(org-with-base-buffer nil + (if (memq granularity '(headline headline+inlinetask)) + org-element--headline-cache-size + org-element--cache-size))) (cache-walk-restart ;; Restart tree traversal after AVL tree re-balance. () `(when node @@ -7418,14 +7439,15 @@ the cache." ;; point. () `(progn ;; Parsing is one of the performance - ;; bottlenecks. Make sure to optimise it as + ;; bottlenecks. Make sure to optimize it as ;; much as possible. ;; ;; Avoid extra staff like timer cancels et al ;; and only call `org-element--cache-sync-requests' when ;; there are pending requests. - (when org-element--cache-sync-requests - (org-element--cache-sync (current-buffer))) + (org-with-base-buffer nil + (when org-element--cache-sync-requests + (org-element--cache-sync (current-buffer)))) ;; Call `org-element--parse-to' directly avoiding any ;; kind of `org-element-at-point' overheads. (if restrict-elements @@ -7496,8 +7518,9 @@ the cache." tmpnext-start)) ;; Check if cache does not have gaps. (cache-gapless-p - () `(eq org-element--cache-change-tic - (alist-get granularity org-element--cache-gapless)))) + () `(org-with-base-buffer nil + (eq org-element--cache-change-tic + (alist-get granularity org-element--cache-gapless))))) ;; The core algorithm is simple walk along binary tree. However, ;; instead of checking all the tree elements from first to last ;; (like in `avl-tree-mapcar'), we begin from FROM-POS skipping @@ -7539,15 +7562,15 @@ the cache." ;; beginning. (next-element-re (pcase granularity ((or `headline - (guard (eq '(headline) - restrict-elements))) + (guard (equal '(headline) + restrict-elements))) (cons (org-with-limited-levels org-element-headline-re) 'match-beg)) (`headline+inlinetask (cons - (if (eq '(inlinetask) restrict-elements) + (if (equal '(inlinetask) restrict-elements) (org-inlinetask-outline-regexp) org-element-headline-re) 'match-beg)) @@ -7625,7 +7648,9 @@ the cache." ;; In the process, we may alter the buffer, ;; so also keep track of the cache state. (progn - (setq modified-tic org-element--cache-change-tic) + (setq modified-tic + (org-with-base-buffer nil + org-element--cache-change-tic)) (setq cache-size (cache-size)) ;; When NEXT-RE/FAIL-RE is provided, skip to ;; next regexp match after :begin of the current @@ -7659,7 +7684,7 @@ the cache." ;; ;; Call FUNC. FUNC may move point. (setq org-element-cache-map-continue-from nil) - (if org-element--cache-map-statistics + (if (org-with-base-buffer nil org-element--cache-map-statistics) (progn (setq before-time (float-time)) (push (funcall func data) result) @@ -7678,7 +7703,15 @@ the cache." (when org-element-cache-map-continue-from (goto-char org-element-cache-map-continue-from)) (when (> (point) start) - (move-start-to-next-match nil)) + (move-start-to-next-match nil) + ;; (point) inside matching element. + ;; Go further. + (when (> (point) start) + (setq data (element-match-at-point)) + (if (not data) + (cache-walk-abort) + (goto-char (next-element-start)) + (move-start-to-next-match next-element-re)))) ;; Drop nil. (unless (car result) (pop result))) ;; If FUNC did not move the point and we @@ -7691,8 +7724,9 @@ the cache." start)) (setq start nil)) ;; Check if the buffer has been modified. - (unless (and (eq modified-tic org-element--cache-change-tic) - (eq cache-size (cache-size))) + (unless (org-with-base-buffer nil + (and (eq modified-tic org-element--cache-change-tic) + (eq cache-size (cache-size)))) ;; START may no longer be valid, update ;; it to beginning of real element. ;; Upon modification, START may lay @@ -7700,7 +7734,8 @@ the cache." ;; it to real beginning then despite ;; START being larger. (setq start nil) - (move-start-to-next-match nil) + (let ((data nil)) ; data may not be valid. ignore it. + (move-start-to-next-match nil)) ;; The new element may now start before ;; or at already processed position. ;; Make sure that we continue from an @@ -7737,7 +7772,7 @@ the cache." ;; longer trust STACK. (cache-walk-restart))) ;; Second, move to the right branch of the tree or skip - ;; it alltogether. + ;; it altogether. (if continue-flag (setq continue-flag nil) (setq node (if (and (car stack) diff --git a/elpa/org-9.6/org-entities.el b/elpa/org-9.6.7/org-entities.el similarity index 99% rename from elpa/org-9.6/org-entities.el rename to elpa/org-9.6.7/org-entities.el index 153aa2b6..61083022 100644 --- a/elpa/org-9.6/org-entities.el +++ b/elpa/org-9.6.7/org-entities.el @@ -1,6 +1,6 @@ ;;; org-entities.el --- Support for Special Entities -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik , ;; Ulf Stegemann diff --git a/elpa/org-9.6/org-faces.el b/elpa/org-9.6.7/org-faces.el similarity index 99% rename from elpa/org-9.6/org-faces.el rename to elpa/org-9.6.7/org-faces.el index 0effa13a..594c9a6e 100644 --- a/elpa/org-9.6/org-faces.el +++ b/elpa/org-9.6.7/org-faces.el @@ -1,6 +1,6 @@ ;;; org-faces.el --- Face definitions -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -517,7 +517,7 @@ content of these blocks will still be treated as Org syntax." (defface org-agenda-structure-filter '((t (:inherit (org-warning org-agenda-structure)))) "Face used for the current type of task filter in the agenda. It inherits from `org-agenda-structure' so it can adapt to -it (e.g. if that is assigned a diffent font height or family)." +it (e.g. if that is assigned a different font height or family)." :group 'org-faces) (defface org-agenda-date '((t (:inherit org-agenda-structure))) diff --git a/elpa/org-9.6/org-feed.el b/elpa/org-9.6.7/org-feed.el similarity index 99% rename from elpa/org-9.6/org-feed.el rename to elpa/org-9.6.7/org-feed.el index 3523a6c5..f0b294b4 100644 --- a/elpa/org-9.6/org-feed.el +++ b/elpa/org-9.6.7/org-feed.el @@ -1,6 +1,6 @@ ;;; org-feed.el --- Add RSS feed items to Org files -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-fold-core.el b/elpa/org-9.6.7/org-fold-core.el similarity index 94% rename from elpa/org-9.6/org-fold-core.el rename to elpa/org-9.6.7/org-fold-core.el index 692c51a7..6c17b00f 100644 --- a/elpa/org-9.6/org-fold-core.el +++ b/elpa/org-9.6.7/org-fold-core.el @@ -1,6 +1,6 @@ ;;; org-fold-core.el --- Folding buffer text -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2020-2020 Free Software Foundation, Inc. +;; Copyright (C) 2020-2023 Free Software Foundation, Inc. ;; ;; Author: Ihor Radchenko ;; Keywords: folding, invisible text @@ -78,7 +78,7 @@ ;; Similar to 'org-fold-visible, display of any arbitrary folding spec ;; can be configured using folding spec properties. In particular, -;; `:visible' folding spec proprety controls whether the folded text +;; `:visible' folding spec property controls whether the folded text ;; is visible or not. If the `:visible' folding spec property is nil, ;; folded text is hidden or displayed as a constant string (ellipsis) ;; according to the value of `:ellipsis' folding spec property. See @@ -91,7 +91,7 @@ ;; If necessary, one can add or remove folding specs using ;; `org-fold-core-add-folding-spec' and `org-fold-core-remove-folding-spec'. -;; If a buffer initialised with `org-fold-core-initialize' is cloned into indirect +;; If a buffer initialized with `org-fold-core-initialize' is cloned into indirect ;; buffers, it's folding state is copied to that indirect buffer. ;; The folding states are independent. @@ -145,10 +145,10 @@ ;; All the folding specs can be specified by symbol representing their ;; name. However, this is not always convenient, especially if the -;; same spec can be used for fold different syntaxical structures. +;; same spec can be used for fold different syntactical structures. ;; Any folding spec can be additionally referenced by a symbol listed ;; in the spec's `:alias' folding spec property. For example, Org -;; mode's `org-fold-outline' folding spec can be referened as any +;; mode's `org-fold-outline' folding spec can be referenced as any ;; symbol from the following list: '(headline heading outline ;; inlinetask plain-list) The list is the value of the spec's `:alias' ;; property. @@ -170,7 +170,7 @@ ;; possible to control to unfold it temporarily during interactive ;; isearch session. -;; The isearch behaviour is controlled on per-folding-spec basis by +;; The isearch behavior is controlled on per-folding-spec basis by ;; setting `isearch-open' and `isearch-ignore' folding spec ;; properties. The the docstring of `org-fold-core--specs' for more details. @@ -179,19 +179,19 @@ ;; The visibility of the text inserted in front, rear, or in the ;; middle of a folded region is managed according to `:front-sticky' ;; and `:rear-sticky' folding properties of the corresponding folding -;; spec. The rules are the same with stickyness of text properties in +;; spec. The rules are the same with stickiness of text properties in ;; Elisp. ;; If a text being inserted into the buffer is already folded and -;; invisible (before applying the stickyness rules), then it is -;; revealed. This behaviour can be changed by wrapping the insertion +;; invisible (before applying the stickiness rules), then it is +;; revealed. This behavior can be changed by wrapping the insertion ;; code into `org-fold-core-ignore-modifications' macro. The macro will disable ;; all the processing related to buffer modifications. ;; The library also provides a way to unfold the text after some -;; destructive changes breaking syntaxical structure of the buffer. +;; destructive changes breaking syntactical structure of the buffer. ;; For example, Org mode automatically reveals folded drawers when the -;; drawer becomes syntaxically incorrect: +;; drawer becomes syntactically incorrect: ;; ------- before modification ------- ;; :DRAWER: ;; Some folded text inside drawer @@ -233,13 +233,13 @@ ;; visible part of a buffer may cause noticeable lags (which is still ;; orders of magnitude better in comparison with overlays). If the ;; performance issues become critical while using this library, it is -;; recommended to minimise the number of folding specs used in the +;; recommended to minimize the number of folding specs used in the ;; same buffer at a time. ;; Alternatively, the library provides `org-fold-core--optimise-for-huge-buffers' ;; for additional speedup. This can be used as a file-local variable ;; in huge buffers. The variable can be set to enable various levels -;; of extra optimisation. See the docstring for detailed information. +;; of extra optimization. See the docstring for detailed information. ;; It is worth noting that when using `org-fold-core--optimise-for-huge-buffers' ;; with `grab-invisible' option, folded regions copied to other @@ -250,7 +250,7 @@ ;; Another possible bottleneck is the fragility check after the change ;; related to the folded text. The functions used in `:fragile' -;; folding properties must be optimised. Also, +;; folding properties must be optimized. Also, ;; `org-fold-core-ignore-fragility-checks' or even `org-fold-core-ignore-modifications' may be ;; used when appropriate in the performance-critical code. When ;; inserting text from within `org-fold-core-ignore-modifications' macro, it is @@ -302,7 +302,7 @@ be revealed.") (defvar-local org-fold-core--optimise-for-huge-buffers nil "Non-nil turns on extra speedup on huge buffers (Mbs of folded text). -This setting is risky and may cause various artefacts and degraded +This setting is risky and may cause various artifacts and degraded functionality, especially when using external packages. It is recommended to enable it on per-buffer basis as file-local variable. @@ -321,7 +321,7 @@ following symbols: functions relying on this package might not be able to unfold the edited text. For example, removed leading stars from a folded headline in Org mode will break visibility cycling since Org mode - will not be avare that the following folded text belonged to + will not be aware that the following folded text belonged to headline. - `ignore-modification-checks': Do not try to detect insertions in the @@ -337,7 +337,7 @@ following symbols: used. - `merge-folds': Do not distinguish between different types of folding - specs. This is the most aggressive optimisation with unforeseen and + specs. This is the most aggressive optimization with unforeseen and potentially drastic effects.") (put 'org-fold-core--optimise-for-huge-buffers 'safe-local-variable 'listp) @@ -355,7 +355,7 @@ following symbols: "Folding specs defined in current buffer. Each spec is a list (SPEC-SYMBOL SPEC-PROPERTIES). -SPEC-SYMBOL is the symbol respresenting the folding spec. +SPEC-SYMBOL is the symbol representing the folding spec. SPEC-PROPERTIES is an alist defining folding spec properties. If a text region is folded using multiple specs, only the folding spec @@ -497,31 +497,39 @@ hanging around." (declare (debug (form body)) (indent 0)) `(let (buffers dead-properties) (if (and (not (buffer-base-buffer)) - (not (eq (current-buffer) (car org-fold-core--indirect-buffers)))) + (not (memq (current-buffer) org-fold-core--indirect-buffers))) ;; We are in base buffer with `org-fold-core--indirect-buffers' value from ;; different buffer. This can happen, for example, when ;; org-capture copies local variables into *Capture* buffer. (setq buffers (list (current-buffer))) - (dolist (buf (cons (or (buffer-base-buffer) (current-buffer)) - (buffer-local-value 'org-fold-core--indirect-buffers (or (buffer-base-buffer) (current-buffer))))) - (if (buffer-live-p buf) - (push buf buffers) - (dolist (spec (org-fold-core-folding-spec-list)) - (when (and (not (org-fold-core-get-folding-spec-property spec :global)) - (gethash (cons buf spec) org-fold-core--property-symbol-cache)) - ;; Make sure that dead-properties variable can be passed - ;; as argument to `remove-text-properties'. - (push t dead-properties) - (push (gethash (cons buf spec) org-fold-core--property-symbol-cache) - dead-properties)))))) + (let ((all-buffers (buffer-local-value + 'org-fold-core--indirect-buffers + (or (buffer-base-buffer) (current-buffer))))) + (dolist (buf (cons (or (buffer-base-buffer) (current-buffer)) + (buffer-local-value 'org-fold-core--indirect-buffers (or (buffer-base-buffer) (current-buffer))))) + (if (buffer-live-p buf) + (push buf buffers) + (dolist (spec (org-fold-core-folding-spec-list)) + (when (and (not (org-fold-core-get-folding-spec-property spec :global)) + (gethash (cons buf spec) org-fold-core--property-symbol-cache)) + ;; Make sure that dead-properties variable can be passed + ;; as argument to `remove-text-properties'. + (push t dead-properties) + (push (gethash (cons buf spec) org-fold-core--property-symbol-cache) + dead-properties))))) + (when dead-properties + (with-current-buffer (or (buffer-base-buffer) (current-buffer)) + (setq-local org-fold-core--indirect-buffers + (seq-filter #'buffer-live-p all-buffers)))))) (dolist (buf buffers) (with-current-buffer buf - (with-silent-modifications - (save-restriction - (widen) - (remove-text-properties - (point-min) (point-max) - dead-properties))) + (when dead-properties + (with-silent-modifications + (save-restriction + (widen) + (remove-text-properties + (point-min) (point-max) + dead-properties)))) ,@body)))) ;; This is the core function used to fold text in buffers. We use @@ -600,7 +608,7 @@ unless RETURN-ONLY is non-nil." (org-fold-core-folding-spec-list))) (remove (assq 'invisible char-property-alias-alist) char-property-alias-alist))) - ;; Set folding property stickyness according to + ;; Set folding property stickiness according to ;; their `:font-sticky' and `:rear-sticky' ;; parameters. (let (full-prop-list) @@ -930,6 +938,8 @@ are provided. If FROM is non-nil and TO is nil, search the folded regions at FROM. +When both FROM and TO are nil, search folded regions in the whole buffer. + When SPECS is non-nil it should be a list of folding specs or a symbol. Only return the matching fold types. @@ -946,6 +956,9 @@ WITH-MARKERS must be nil when RELATIVE is non-nil." (unless (listp specs) (setq specs (list specs))) (let (regions region mk-region) (org-with-wide-buffer + (when (and (not from) (not to)) + (setq from (point-min) + to (point-max))) (when (and from (not to)) (setq to (point-max))) (when (and from (< from (point-min))) (setq from (point-min))) (when (and to (> to (point-max))) (setq to (point-max))) @@ -998,7 +1011,13 @@ If SPEC-OR-ALIAS is omitted and FLAG is nil, unfold everything in the region." (overlay-put o (org-fold-core--property-symbol-get-create spec) spec) (overlay-put o 'invisible spec) (overlay-put o 'isearch-open-invisible #'org-fold-core--isearch-show) - (overlay-put o 'isearch-open-invisible-temporary #'org-fold-core--isearch-show-temporary)) + ;; FIXME: Disabling to work around Emacs bug#60399 + ;; and https://orgmode.org/list/87zgb6tk6h.fsf@localhost. + ;; The proper fix will require making sure that + ;; `org-fold-core-isearch-open-function' does not + ;; delete the overlays used by isearch. + ;; (overlay-put o 'isearch-open-invisible-temporary #'org-fold-core--isearch-show-temporary) + ) (put-text-property from to (org-fold-core--property-symbol-get-create spec) spec) (put-text-property from to 'isearch-open-invisible #'org-fold-core--isearch-show) (put-text-property from to 'isearch-open-invisible-temporary #'org-fold-core--isearch-show-temporary) @@ -1058,7 +1077,7 @@ means that the buffer should stay alive during the operation, because otherwise all these markers will point to nowhere." (declare (debug (form body)) (indent 1)) (org-with-gensyms (regions) - `(let* ((,regions ,(org-fold-core-get-regions :with-markers use-markers))) + `(let* ((,regions (org-fold-core-get-regions :with-markers ,use-markers))) (unwind-protect (progn ,@body) (org-fold-core-regions ,regions :override t :clean-markers t))))) @@ -1126,16 +1145,9 @@ This function is intended to be used as `isearch-filter-predicate'." "Clear `org-fold-core--isearch-local-regions'." (clrhash org-fold-core--isearch-local-regions)) -(defun org-fold-core--isearch-show (region) - "Reveal text in REGION found by isearch. -REGION can also be an overlay in current buffer." - (when (overlayp region) - (setq region (cons (overlay-start region) - (overlay-end region)))) - (org-with-point-at (car region) - (while (< (point) (cdr region)) - (funcall org-fold-core-isearch-open-function (car region)) - (goto-char (org-fold-core-next-visibility-change (point) (cdr region) 'ignore-hidden))))) +(defun org-fold-core--isearch-show (_) + "Reveal text at point found by isearch." + (funcall org-fold-core-isearch-open-function (point))) (defun org-fold-core--isearch-show-temporary (region hide-p) "Temporarily reveal text in REGION. @@ -1185,7 +1197,7 @@ instead of text properties. The created overlays will be stored in ;; We do not want it here. (with-silent-modifications (org-fold-core-region (car region) (cdr region) nil spec) - ;; The overlay is modelled after `outline-flag-region' + ;; The overlay is modeled after `outline-flag-region' ;; [2020-05-09 Sat] overlay for 'outline blocks. (let ((o (make-overlay (car region) (cdr region) nil 'front-advance))) (overlay-put o 'evaporate t) @@ -1273,19 +1285,19 @@ to :front-sticky/:rear-sticky folding spec property. If the folded region is folded with a spec with non-nil :fragile property, unfold the region if the :fragile function returns non-nil." ;; If no insertions or deletions in buffer, skip all the checks. - (unless (or (eq org-fold-core--last-buffer-chars-modified-tick (buffer-chars-modified-tick)) - org-fold-core--ignore-modifications + (unless (or org-fold-core--ignore-modifications + (eq org-fold-core--last-buffer-chars-modified-tick (buffer-chars-modified-tick)) (memql 'ignore-modification-checks org-fold-core--optimise-for-huge-buffers)) ;; Store the new buffer modification state. (setq org-fold-core--last-buffer-chars-modified-tick (buffer-chars-modified-tick)) (save-match-data ;; Handle changes in all the indirect buffers and in the base ;; buffer. Work around Emacs bug#46982. - (when (eq org-fold-core-style 'text-properties) - (org-fold-core-cycle-over-indirect-buffers - ;; Re-hide text inserted in the middle/front/back of a folded - ;; region. - (unless (equal from to) ; Ignore deletions. + ;; Re-hide text inserted in the middle/front/back of a folded + ;; region. + (unless (equal from to) ; Ignore deletions. + (when (eq org-fold-core-style 'text-properties) + (org-fold-core-cycle-over-indirect-buffers (dolist (spec (org-fold-core-folding-spec-list)) ;; Reveal fully invisible text inserted in the middle ;; of visible portion of the buffer. This is needed, @@ -1303,7 +1315,7 @@ property, unfold the region if the :fragile function returns non-nil." (unless (org-fold-core-region-folded-p from to spec) (let ((spec-to (org-fold-core-get-folding-spec spec (min to (1- (point-max))))) (spec-from (org-fold-core-get-folding-spec spec (max (point-min) (1- from))))) - ;; Reveal folds around undoed deletion. + ;; Reveal folds around undone deletion. (when undo-in-progress (let ((lregion (org-fold-core-get-region-at-point spec (max (point-min) (1- from)))) (rregion (org-fold-core-get-region-at-point spec (min to (1- (point-max)))))) @@ -1412,7 +1424,7 @@ property, unfold the region if the :fragile function returns non-nil." ;; To avoid the above situation, we simply clear all the properties, ;; unrealated to current buffer when a text is copied. ;; FIXME: Ideally, we may want to carry the folding state of copied -;; text between buffer (probably via user customisation). +;; text between buffer (probably via user customization). (defun org-fold-core--buffer-substring-filter (beg end &optional delete) "Clear folding state in killed text. This function is intended to be used as `filter-buffer-substring-function'. @@ -1421,7 +1433,7 @@ The arguments and return value are as specified for `filter-buffer-substring'." ;; The list will be used as an argument to `remove-text-properties'. props-list) ;; There is no easy way to examine all the text properties of a - ;; string, so we utilise the fact that printed string + ;; string, so we utilize the fact that printed string ;; representation lists all its properties. ;; Loop over the elements of string representation. (unless (or (string= "" return-string) @@ -1481,7 +1493,7 @@ The arguments and return value are as specified for `filter-buffer-substring'." return-string)) (defun org-fold-core-update-optimisation (beg end) - "Update huge buffer optimisation between BEG and END. + "Update huge buffer optimization between BEG and END. See `org-fold-core--optimise-for-huge-buffers'." (when (and (memql 'grab-invisible org-fold-core--optimise-for-huge-buffers) (eq org-fold-core-style 'text-properties)) @@ -1494,7 +1506,7 @@ See `org-fold-core--optimise-for-huge-buffers'." (setq pos (org-fold-core-next-folding-state-change (caar org-fold-core--specs) pos end)))))) (defun org-fold-core-remove-optimisation (beg end) - "Remove huge buffer optimisation between BEG and END. + "Remove huge buffer optimization between BEG and END. See `org-fold-core--optimise-for-huge-buffers'." (when (and (memql 'grab-invisible org-fold-core--optimise-for-huge-buffers) (eq org-fold-core-style 'text-properties)) diff --git a/elpa/org-9.6/org-fold.el b/elpa/org-9.6.7/org-fold.el similarity index 99% rename from elpa/org-9.6/org-fold.el rename to elpa/org-9.6.7/org-fold.el index 4d213e96..1b7ca22b 100644 --- a/elpa/org-9.6/org-fold.el +++ b/elpa/org-9.6.7/org-fold.el @@ -1,6 +1,6 @@ ;;; org-fold.el --- Folding of Org entries -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2020-2020 Free Software Foundation, Inc. +;; Copyright (C) 2020-2023 Free Software Foundation, Inc. ;; ;; Author: Ihor Radchenko ;; Keywords: folding, invisible text diff --git a/elpa/org-9.6/org-footnote.el b/elpa/org-9.6.7/org-footnote.el similarity index 99% rename from elpa/org-9.6/org-footnote.el rename to elpa/org-9.6.7/org-footnote.el index aedd4133..6bdd0b32 100644 --- a/elpa/org-9.6/org-footnote.el +++ b/elpa/org-9.6.7/org-footnote.el @@ -1,6 +1,6 @@ ;;; org-footnote.el --- Footnote support in Org -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -851,9 +851,12 @@ to `org-footnote-section'. Inline definitions are ignored." (format "[fn:%s] DEFINITION NOT FOUND." label)) "\n")))) ;; Insert un-referenced footnote definitions at the end. - (pcase-dolist (`(,label . ,definition) definitions) - (unless (member label inserted) - (insert "\n" definition "\n"))))))))) + ;; Combine all insertions into one to create a single cache + ;; update call. + (org-combine-change-calls (point) (point) + (pcase-dolist (`(,label . ,definition) definitions) + (unless (member label inserted) + (insert "\n" definition "\n")))))))))) (defun org-footnote-normalize () "Turn every footnote in buffer into a numbered one." diff --git a/elpa/org-9.6/org-goto.el b/elpa/org-9.6.7/org-goto.el similarity index 99% rename from elpa/org-9.6/org-goto.el rename to elpa/org-9.6.7/org-goto.el index 68013038..00bf5d46 100644 --- a/elpa/org-9.6/org-goto.el +++ b/elpa/org-9.6.7/org-goto.el @@ -1,6 +1,6 @@ ;;; org-goto.el --- Fast navigation in an Org buffer -*- lexical-binding: t; -*- -;; Copyright (C) 2012-2022 Free Software Foundation, Inc. +;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-habit.el b/elpa/org-9.6.7/org-habit.el similarity index 99% rename from elpa/org-9.6/org-habit.el rename to elpa/org-9.6.7/org-habit.el index 677b7adb..fb6a48b5 100644 --- a/elpa/org-9.6/org-habit.el +++ b/elpa/org-9.6.7/org-habit.el @@ -1,6 +1,6 @@ ;;; org-habit.el --- The habit tracking code for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; Author: John Wiegley ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-id.el b/elpa/org-9.6.7/org-id.el similarity index 99% rename from elpa/org-9.6/org-id.el rename to elpa/org-9.6.7/org-id.el index 8cb5666a..490e4dde 100644 --- a/elpa/org-9.6/org-id.el +++ b/elpa/org-9.6.7/org-id.el @@ -1,6 +1,6 @@ ;;; org-id.el --- Global identifiers for Org entries -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2008-2022 Free Software Foundation, Inc. +;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-indent.el b/elpa/org-9.6.7/org-indent.el similarity index 99% rename from elpa/org-9.6/org-indent.el rename to elpa/org-9.6.7/org-indent.el index de237415..fe523387 100644 --- a/elpa/org-9.6/org-indent.el +++ b/elpa/org-9.6.7/org-indent.el @@ -1,6 +1,6 @@ ;;; org-indent.el --- Dynamic indentation for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-inlinetask.el b/elpa/org-9.6.7/org-inlinetask.el similarity index 99% rename from elpa/org-9.6/org-inlinetask.el rename to elpa/org-9.6.7/org-inlinetask.el index 1c4124d4..cb7fdf88 100644 --- a/elpa/org-9.6/org-inlinetask.el +++ b/elpa/org-9.6.7/org-inlinetask.el @@ -1,6 +1,6 @@ ;;; org-inlinetask.el --- Tasks Independent of Outline Hierarchy -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-keys.el b/elpa/org-9.6.7/org-keys.el similarity index 99% rename from elpa/org-9.6/org-keys.el rename to elpa/org-9.6.7/org-keys.el index 95f64a3f..37a150bb 100644 --- a/elpa/org-9.6/org-keys.el +++ b/elpa/org-9.6.7/org-keys.el @@ -1,6 +1,6 @@ ;;; org-keys.el --- Key bindings for Org mode -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2022 Free Software Foundation, Inc. +;; Copyright (C) 2018-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou diff --git a/elpa/org-9.6/org-lint.el b/elpa/org-9.6.7/org-lint.el similarity index 99% rename from elpa/org-9.6/org-lint.el rename to elpa/org-9.6.7/org-lint.el index ff2999cb..0e2967b6 100644 --- a/elpa/org-9.6/org-lint.el +++ b/elpa/org-9.6.7/org-lint.el @@ -1,6 +1,6 @@ ;;; org-lint.el --- Linting for Org documents -*- lexical-binding: t; -*- -;; Copyright (C) 2015-2022 Free Software Foundation, Inc. +;; Copyright (C) 2015-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-list.el b/elpa/org-9.6.7/org-list.el similarity index 99% rename from elpa/org-9.6/org-list.el rename to elpa/org-9.6.7/org-list.el index 606bdb3d..1fc99d07 100644 --- a/elpa/org-9.6/org-list.el +++ b/elpa/org-9.6.7/org-list.el @@ -1,6 +1,6 @@ ;;; org-list.el --- Plain lists for Org -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Bastien Guerry diff --git a/elpa/org-9.6/org-loaddefs.el b/elpa/org-9.6.7/org-loaddefs.el similarity index 97% rename from elpa/org-9.6/org-loaddefs.el rename to elpa/org-9.6.7/org-loaddefs.el index dc810e49..43ea124d 100644 --- a/elpa/org-9.6/org-loaddefs.el +++ b/elpa/org-9.6.7/org-loaddefs.el @@ -44,7 +44,7 @@ ;;;*** -;;;### (autoloads nil "ob-core" "ob-core.el" "cb84c579ee1dd06d3ef087af88764300") +;;;### (autoloads nil "ob-core" "ob-core.el" "1551d73fa40f7831de5eef5e95a85a1a") ;;; Generated autoloads from ob-core.el (autoload 'org-babel-execute-safely-maybe "ob-core" nil nil nil) @@ -394,7 +394,7 @@ Mark current source block." t nil) ;;;*** -;;;### (autoloads nil "ob-lob" "ob-lob.el" "a89899cd6422ea2706724ae3c40de0ef") +;;;### (autoloads nil "ob-lob" "ob-lob.el" "f2b24928cff81b0cc0d2e0820af38a82") ;;; Generated autoloads from ob-lob.el (autoload 'org-babel-lob-execute-maybe "ob-lob" "\ @@ -568,7 +568,7 @@ see. ;;;*** -;;;### (autoloads nil "ob-tangle" "ob-tangle.el" "005cbe8cfa0d88a731b250a89986af98") +;;;### (autoloads nil "ob-tangle" "ob-tangle.el" "a9ed6681f7cb914b3e765c96ad7217e9") ;;; Generated autoloads from ob-tangle.el (autoload 'org-babel-tangle-file "ob-tangle" "\ @@ -658,7 +658,7 @@ ARG is the prefix argument received when calling interactively the function. ;;;*** -;;;### (autoloads nil "ol" "ol.el" "199c0ac5867c050c4fa31278b839e975") +;;;### (autoloads nil "ol" "ol.el" "e8b7fc9f9de8a75719e56efcf452161c") ;;; Generated autoloads from ol.el (autoload 'org-next-link "ol" "\ @@ -774,7 +774,7 @@ Also refresh fontification if needed." t nil) ;;;*** -;;;### (autoloads nil "ol-bbdb" "ol-bbdb.el" "c3014443e1b6740a89e323b5fc12c60f") +;;;### (autoloads nil "ol-bbdb" "ol-bbdb.el" "20df5c4b0f6ebfeeaf86f524574e4508") ;;; Generated autoloads from ol-bbdb.el (autoload 'org-bbdb-anniversaries "ol-bbdb" "\ @@ -841,7 +841,7 @@ variable to be globally bound." nil nil) ;;;*** -;;;### (autoloads nil "ol-irc" "ol-irc.el" "d4417aa5909d1e21a0ddc340fade3f67") +;;;### (autoloads nil "ol-irc" "ol-irc.el" "2878d0913894961227d05ccf4afaa02d") ;;; Generated autoloads from ol-irc.el (autoload 'org-irc-store-link "ol-irc" "\ @@ -1271,7 +1271,7 @@ to override `appt-message-warning-time'. ;;;*** -;;;### (autoloads nil "org-archive" "org-archive.el" "475e1d5918ecd479631b2c4646420f3d") +;;;### (autoloads nil "org-archive" "org-archive.el" "4b4cc0b3beac33f17438945dd42f7625") ;;; Generated autoloads from org-archive.el (autoload 'org-add-archive-files "org-archive" "\ @@ -1333,7 +1333,7 @@ This command is set with the variable `org-archive-default-command'." t nil) ;;;*** -;;;### (autoloads nil "org-attach" "org-attach.el" "7fcf4c7b3c3231ce4710b24f8e5d9db5") +;;;### (autoloads nil "org-attach" "org-attach.el" "cc5d339d2aa5b1fe72d5666f464342d6") ;;; Generated autoloads from org-attach.el (autoload 'org-attach "org-attach" "\ @@ -1471,7 +1471,7 @@ Set `org-capture-templates' to be similar to `org-remember-templates'." t nil) ;;;*** -;;;### (autoloads nil "org-clock" "org-clock.el" "94486d6060bc770a1a239b8aef5cdf41") +;;;### (autoloads nil "org-clock" "org-clock.el" "e31e5d99e00a0457f233d33faf55ca15") ;;; Generated autoloads from org-clock.el (autoload 'org-resolve-clocks "org-clock" "\ @@ -1634,7 +1634,7 @@ Otherwise, return nil." t nil) ;;;*** -;;;### (autoloads nil "org-colview" "org-colview.el" "646b160ee42ac9da803fda954e54edd9") +;;;### (autoloads nil "org-colview" "org-colview.el" "689f085e9357f5d901d7f71be888f28b") ;;; Generated autoloads from org-colview.el (autoload 'org-columns-remove-overlays "org-colview" "\ @@ -1733,7 +1733,7 @@ Turn on or update column view in the agenda." t nil) ;;;*** -;;;### (autoloads nil "org-compat" "org-compat.el" "90478463c2d3373113319eb5c8076bb1") +;;;### (autoloads nil "org-compat" "org-compat.el" "af9401b3a08e590f4011c3f7974c6ed7") ;;; Generated autoloads from org-compat.el (autoload 'org-check-version "org-compat" "\ @@ -1844,7 +1844,7 @@ With a numeric prefix, show all headlines up to that level. ;;;*** -;;;### (autoloads nil "org-datetree" "org-datetree.el" "1f633e66dcfcf24ce9511d57da0247e3") +;;;### (autoloads nil "org-datetree" "org-datetree.el" "7c3a6fa30ca4d0e7ead95661f1df4bdc") ;;; Generated autoloads from org-datetree.el (autoload 'org-datetree-find-date-create "org-datetree" "\ @@ -1887,7 +1887,7 @@ will be built under the headline at point. ;;;*** -;;;### (autoloads nil "org-duration" "org-duration.el" "fb52d3c3aad58b5fb72f04ac5d5cb45d") +;;;### (autoloads nil "org-duration" "org-duration.el" "d34da613b5267f7586e1f59d20c41523") ;;; Generated autoloads from org-duration.el (autoload 'org-duration-set-regexps "org-duration" "\ @@ -1947,7 +1947,7 @@ with \"H:MM:SS\" format, return `h:mm:ss'. Otherwise, return ;;;*** -;;;### (autoloads nil "org-element" "org-element.el" "b3bf68db65603e476b95b3dddf864360") +;;;### (autoloads nil "org-element" "org-element.el" "a783c22d33de48141d38eac1c2c073e9") ;;; Generated autoloads from org-element.el (autoload 'org-element-update-syntax "org-element" "\ @@ -1960,14 +1960,17 @@ to interpret. Return Org syntax as a string. \(fn DATA)" nil nil) +(defvar org-element-use-cache t "\ +Non-nil when Org parser should cache its results.") + (autoload 'org-element-cache-reset "org-element" "\ Reset cache in current buffer. When optional argument ALL is non-nil, reset cache in all Org buffers. -When optional argument NO-PERSISTANCE is non-nil, do not try to update +When optional argument NO-PERSISTENCE is non-nil, do not try to update the cache persistence in the buffer. -\(fn &optional ALL NO-PERSISTANCE)" t nil) +\(fn &optional ALL NO-PERSISTENCE)" t nil) (autoload 'org-element-cache-refresh "org-element" "\ Refresh cache at position POS. @@ -2100,7 +2103,7 @@ Providing it allows for quicker computation. ;;;*** -;;;### (autoloads nil "org-feed" "org-feed.el" "57334bf13ae8fc77e95ff5ea97ebc650") +;;;### (autoloads nil "org-feed" "org-feed.el" "6c97244792665a6679669d31a77ebe1a") ;;; Generated autoloads from org-feed.el (autoload 'org-feed-update-all "org-feed" "\ @@ -2147,7 +2150,7 @@ Show the raw feed buffer of a feed. ;;;*** -;;;### (autoloads nil "org-footnote" "org-footnote.el" "ff21a420b08a9c60b4c298b3655b8a51") +;;;### (autoloads nil "org-footnote" "org-footnote.el" "9c6cc18ed284b01aa6fddba387a0815b") ;;; Generated autoloads from org-footnote.el (autoload 'org-footnote-action "org-footnote" "\ @@ -2176,7 +2179,7 @@ offer additional commands in a menu. ;;;*** -;;;### (autoloads nil "org-goto" "org-goto.el" "fec56324a7f4d06103e1d6aa5760b89f") +;;;### (autoloads nil "org-goto" "org-goto.el" "8c32558fc27a378a062451e76b0df6fa") ;;; Generated autoloads from org-goto.el (autoload 'org-goto-location "org-goto" "\ @@ -2225,7 +2228,7 @@ With a prefix argument, use the alternative interface: e.g., if ;;;*** -;;;### (autoloads nil "org-id" "org-id.el" "ccd051a3866cba68a998e5a48ff10783") +;;;### (autoloads nil "org-id" "org-id.el" "01eea74fbef35af6d97400787dfa0765") ;;; Generated autoloads from org-id.el (autoload 'org-id-get-create "org-id" "\ @@ -2323,7 +2326,7 @@ or filename if no title." t nil) ;;;*** -;;;### (autoloads nil "org-indent" "org-indent.el" "35045ba3412bdcfa971b0ae886c7868d") +;;;### (autoloads nil "org-indent" "org-indent.el" "0460feb476d61dea99dc6d17cae9fbd2") ;;; Generated autoloads from org-indent.el (autoload 'org-indent-mode "org-indent" "\ @@ -2370,7 +2373,7 @@ during idle time. ;;;*** -;;;### (autoloads nil "org-keys" "org-keys.el" "b1fced8e5e58f2762e429dd14e2e085d") +;;;### (autoloads nil "org-keys" "org-keys.el" "174600a8d35b5b0f6fa6590aec9eab61") ;;; Generated autoloads from org-keys.el (autoload 'org-babel-describe-bindings "org-keys" "\ @@ -2386,7 +2389,7 @@ Describe all keybindings behind `org-babel-key-prefix'." t nil) ;;;*** -;;;### (autoloads nil "org-lint" "org-lint.el" "b0d0d2bb7af64e86140c6c534af887da") +;;;### (autoloads nil "org-lint" "org-lint.el" "2459a25c9f02d05a93e52318764b2fce") ;;; Generated autoloads from org-lint.el (autoload 'org-lint-add-checker "org-lint" "\ @@ -2445,7 +2448,7 @@ ARG can also be a list of checker names, as symbols, to run. ;;;*** -;;;### (autoloads nil "org-list" "org-list.el" "f924de1d8f3760fceb51b1e946daa849") +;;;### (autoloads nil "org-list" "org-list.el" "7b6fab2d5ae7af12a153efa9e28afd32") ;;; Generated autoloads from org-list.el (autoload 'org-list-checkbox-radio-mode "org-list" "\ @@ -2485,7 +2488,7 @@ disabled. ;;;*** -;;;### (autoloads nil "org-macs" "org-macs.el" "057a09cafc8d0dffbc2f2340e51d0895") +;;;### (autoloads nil "org-macs" "org-macs.el" "1f9d24c9dbe37c36e3bd811b85711202") ;;; Generated autoloads from org-macs.el (autoload 'org-load-noerror-mustsuffix "org-macs" "\ @@ -2503,7 +2506,7 @@ Load FILE with optional arguments NOERROR and MUSTSUFFIX. ;;;*** -;;;### (autoloads nil "org-mobile" "org-mobile.el" "5037d916f07f9c549d0f7455b7388e62") +;;;### (autoloads nil "org-mobile" "org-mobile.el" "bd31559c4c6a24b69d89db63772a4372") ;;; Generated autoloads from org-mobile.el (autoload 'org-mobile-push "org-mobile" "\ @@ -2533,7 +2536,7 @@ agenda view showing the flagged items." t nil) ;;;*** -;;;### (autoloads nil "org-num" "org-num.el" "625f6321f2ec620218be6f24a8fbdb7d") +;;;### (autoloads nil "org-num" "org-num.el" "ff2773385e5c79b5fc0c83705399fb25") ;;; Generated autoloads from org-num.el (autoload 'org-num-default-format "org-num" "\ @@ -2585,7 +2588,7 @@ disabled. ;;;*** -;;;### (autoloads nil "org-plot" "org-plot.el" "2116dda6fc11513666f899692683362c") +;;;### (autoloads nil "org-plot" "org-plot.el" "e2240038783c9658074c2189bc813f32") ;;; Generated autoloads from org-plot.el (autoload 'org-plot/gnuplot "org-plot" "\ @@ -2612,7 +2615,7 @@ line directly before or after the table. ;;;*** -;;;### (autoloads nil "org-refile" "org-refile.el" "ca45277c322442fcbd96bcdd48fe2773") +;;;### (autoloads nil "org-refile" "org-refile.el" "af18f3c602b496369a9b98d708a4dabc") ;;; Generated autoloads from org-refile.el (autoload 'org-refile-copy "org-refile" "\ @@ -2693,7 +2696,7 @@ prefix argument (`C-u C-u C-u C-c C-w'). ;;;*** -;;;### (autoloads nil "org-table" "org-table.el" "9969737d463d4e8a180b2ae1d7da107a") +;;;### (autoloads nil "org-table" "org-table.el" "1633ab790bd158214f26d2ee6c3cf02f") ;;; Generated autoloads from org-table.el (autoload 'org-table-header-line-mode "org-table" "\ @@ -3469,7 +3472,7 @@ which will prompt for the width. ;;;*** -;;;### (autoloads nil "org-timer" "org-timer.el" "adafab37225dd988fbb6d1ffcdf198d6") +;;;### (autoloads nil "org-timer" "org-timer.el" "30c669a8d0bbe5a034d17b844be7d32f") ;;; Generated autoloads from org-timer.el (autoload 'org-timer-start "org-timer" "\ @@ -3705,7 +3708,7 @@ Call the customize function with org as argument." t nil) ;;;*** -;;;### (autoloads nil "ox" "ox.el" "127f896d684695375d2206f5c25a9daf") +;;;### (autoloads nil "ox" "ox.el" "de9bf9457b7cb9f7df22ea8f2f5ffdeb") ;;; Generated autoloads from ox.el (autoload 'org-export-get-backend "ox" "\ @@ -3846,14 +3849,14 @@ see. Optional argument POST-PROCESS is a function which should accept no argument. It is always called within the current process, from BUFFER, with point at its beginning. Export back-ends can -use it to set a major mode there, e.g, +use it to set a major mode there, e.g., (defun org-latex-export-as-latex (&optional async subtreep visible-only body-only ext-plist) (interactive) (org-export-to-buffer \\='latex \"*Org LATEX Export*\" async subtreep visible-only body-only ext-plist - #'LaTeX-mode)) + #\\='LaTeX-mode)) When expressed as an anonymous function, using `lambda', POST-PROCESS needs to be quoted. @@ -3934,7 +3937,7 @@ When ARG is `\\[universal-argument] \\[universal-argument]', display the asynchr ;;;*** -;;;### (autoloads nil "ox-ascii" "ox-ascii.el" "0f9323203c0d4719409d04fc8bc6a499") +;;;### (autoloads nil "ox-ascii" "ox-ascii.el" "b1d121699775471a1ed1d342885d531e") ;;; Generated autoloads from ox-ascii.el (autoload 'org-ascii-convert-region-to-ascii "ox-ascii" "\ @@ -4048,7 +4051,7 @@ Return output file name. ;;;*** -;;;### (autoloads nil "ox-beamer" "ox-beamer.el" "b7c2e192006eb7aa5c0d47b5c9464834") +;;;### (autoloads nil "ox-beamer" "ox-beamer.el" "916beb92aa6eda7946d6260849031bb1") ;;; Generated autoloads from ox-beamer.el (autoload 'org-beamer-mode "ox-beamer" "\ @@ -4203,7 +4206,7 @@ Return output file name. ;;;*** -;;;### (autoloads nil "ox-html" "ox-html.el" "8aca17a5c9dd976492f1c9a4deae1312") +;;;### (autoloads nil "ox-html" "ox-html.el" "b38d114d65a837c2aa75e95506873f5f") ;;; Generated autoloads from ox-html.el (put 'org-html-head-include-default-style 'safe-local-variable 'booleanp) @@ -4313,7 +4316,7 @@ Return output file name. ;;;*** -;;;### (autoloads nil "ox-icalendar" "ox-icalendar.el" "2f972243cb1030298d5435831c6726e3") +;;;### (autoloads nil "ox-icalendar" "ox-icalendar.el" "a8aa53e0e56193d591234d0471e1f15e") ;;; Generated autoloads from ox-icalendar.el (autoload 'org-icalendar-export-to-ics "ox-icalendar" "\ @@ -4474,7 +4477,7 @@ Return PDF file's name. ;;;*** -;;;### (autoloads nil "ox-latex" "ox-latex.el" "2be863cbb66703d905fbcd7ee9c33313") +;;;### (autoloads nil "ox-latex" "ox-latex.el" "8441479c3b5a31610ff225133ebeaefb") ;;; Generated autoloads from ox-latex.el (autoload 'org-latex-make-preamble "ox-latex" "\ @@ -4623,7 +4626,7 @@ Return output file name. ;;;*** -;;;### (autoloads nil "ox-md" "ox-md.el" "13e38722a99930f4129b3204f090787d") +;;;### (autoloads nil "ox-md" "ox-md.el" "c2cd34dc140f7b567dad67fc3a258401") ;;; Generated autoloads from ox-md.el (autoload 'org-md-export-as-markdown "ox-md" "\ @@ -4701,7 +4704,7 @@ Return output file name. ;;;*** -;;;### (autoloads nil "ox-odt" "ox-odt.el" "f0fa0d1614914949e6338492adc75130") +;;;### (autoloads nil "ox-odt" "ox-odt.el" "134ec529b44773086acf2218c4bdb110") ;;; Generated autoloads from ox-odt.el (put 'org-odt-preferred-output-format 'safe-local-variable 'stringp) @@ -4769,7 +4772,7 @@ is non-nil then the newly converted file is opened using ;;;*** -;;;### (autoloads nil "ox-org" "ox-org.el" "b36f02eed18ed40c157e3a7e0a309b9b") +;;;### (autoloads nil "ox-org" "ox-org.el" "919f9ecd48fe93f1edbe7411cf2a35ff") ;;; Generated autoloads from ox-org.el (autoload 'org-org-export-as-org "ox-org" "\ @@ -4855,7 +4858,7 @@ Return output file name. ;;;*** -;;;### (autoloads nil "ox-publish" "ox-publish.el" "8399697668f1b7e66bd22b9ae046c2b0") +;;;### (autoloads nil "ox-publish" "ox-publish.el" "9694010c2d9013835a5b52b89979422b") ;;; Generated autoloads from ox-publish.el (defalias 'org-publish-project 'org-publish) @@ -4906,7 +4909,7 @@ the project. ;;;*** -;;;### (autoloads nil "ox-texinfo" "ox-texinfo.el" "959a32af8198929323c2dee4be9978ad") +;;;### (autoloads nil "ox-texinfo" "ox-texinfo.el" "843a236604ba657808a09cac3c77fa5a") ;;; Generated autoloads from ox-texinfo.el (autoload 'org-texinfo-export-to-texinfo "ox-texinfo" "\ @@ -4965,9 +4968,6 @@ EXT-PLIST, when provided, is a property list with external parameters overriding Org default settings, but still inferior to file-local settings. -When optional argument PUB-DIR is set, use it as the publishing -directory. - Return INFO file's name. \(fn &optional ASYNC SUBTREEP VISIBLE-ONLY BODY-ONLY EXT-PLIST)" t nil) @@ -5130,14 +5130,14 @@ see. Optional argument POST-PROCESS is a function which should accept no argument. It is always called within the current process, from BUFFER, with point at its beginning. Export back-ends can -use it to set a major mode there, e.g, +use it to set a major mode there, e.g., (defun org-latex-export-as-latex (&optional async subtreep visible-only body-only ext-plist) (interactive) (org-export-to-buffer \\='latex \"*Org LATEX Export*\" async subtreep visible-only body-only ext-plist - #'LaTeX-mode)) + #\\='LaTeX-mode)) When expressed as an anonymous function, using `lambda', POST-PROCESS needs to be quoted. diff --git a/elpa/org-9.6/org-macro.el b/elpa/org-9.6.7/org-macro.el similarity index 99% rename from elpa/org-9.6/org-macro.el rename to elpa/org-9.6.7/org-macro.el index a7fb8f85..481e431c 100644 --- a/elpa/org-9.6/org-macro.el +++ b/elpa/org-9.6.7/org-macro.el @@ -1,6 +1,6 @@ ;;; org-macro.el --- Macro Replacement Code for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2013-2022 Free Software Foundation, Inc. +;; Copyright (C) 2013-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-macs.el b/elpa/org-9.6.7/org-macs.el similarity index 97% rename from elpa/org-9.6/org-macs.el rename to elpa/org-9.6.7/org-macs.el index 91889990..642a5840 100644 --- a/elpa/org-9.6/org-macs.el +++ b/elpa/org-9.6.7/org-macs.el @@ -1,6 +1,6 @@ ;;; org-macs.el --- Top-level Definitions for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -36,6 +36,17 @@ ;;; Org version verification. +(defvar org--inhibit-version-check nil + "When non-nil, skip the detection of mixed-versions situations. +For internal use only. See Emacs bug #62762. +This variable is only supposed to be changed by Emacs build scripts. +When nil, Org tries to detect when Org source files were compiled with +a different version of Org (which tends to lead to incorrect `.elc' files), +or when the current Emacs session has loaded a mix of files from different +Org versions (typically the one bundled with Emacs and another one installed +from GNU ELPA), which can happen if some parts of Org were loaded before +`load-path' was changed (e.g. before the GNU-ELPA-installed Org is activated +by `package-activate-all').") (defmacro org-assert-version () "Assert compile time and runtime version match." ;; We intentionally use a more permissive `org-release' instead of @@ -45,8 +56,8 @@ ;; `org-assert-version' calls would fail using strict ;; `org-git-version' check because the generated Org version strings ;; will not match. - `(unless (equal (org-release) ,(org-release)) - (warn "Org version mismatch. Make sure that correct `load-path' is set early in init.el + `(unless (or org--inhibit-version-check (equal (org-release) ,(org-release))) + (warn "Org version mismatch. Org loading aborted. This warning usually appears when a built-in Org version is loaded prior to the more recent Org version. @@ -74,11 +85,15 @@ Version mismatch is commonly encountered in the following situations: loading of the newer Org version. It is recommended to put - (straight-use-package 'org) + + %s + early in the config. Ideally, right after the straight.el bootstrap. Moving `use-package' :straight declaration may not be sufficient if the corresponding `use-package' statement is - deferring the loading.") + deferring the loading." + ;; Avoid `warn' replacing "'" with "’" (see `format-message'). + "(straight-use-package 'org)") (error "Org version mismatch. Make sure that correct `load-path' is set early in init.el"))) ;; We rely on org-macs when generating Org version. Checking Org @@ -368,18 +383,23 @@ be set to a buffer or a buffer name. `shell-command' then uses it for output." (let* ((base-name (file-name-base source)) (full-name (file-truename source)) - (out-dir (or (file-name-directory source) "./")) + (relative-name (file-relative-name source)) + (out-dir (if (file-name-directory source) + ;; Expand "~". Shell expansion will be disabled + ;; in the shell command call. + (file-name-directory full-name) + "./")) (output (expand-file-name (concat base-name "." ext) out-dir)) (time (file-attribute-modification-time (file-attributes output))) (err-msg (if (stringp err-msg) (concat ". " err-msg) ""))) (save-window-excursion (pcase process - ((pred functionp) (funcall process (shell-quote-argument source))) + ((pred functionp) (funcall process (shell-quote-argument relative-name))) ((pred consp) (let ((log-buf (and log-buf (get-buffer-create log-buf))) (spec (append spec `((?b . ,(shell-quote-argument base-name)) - (?f . ,(shell-quote-argument source)) + (?f . ,(shell-quote-argument relative-name)) (?F . ,(shell-quote-argument full-name)) (?o . ,(shell-quote-argument out-dir)) (?O . ,(shell-quote-argument output)))))) @@ -1082,7 +1102,7 @@ Return width in pixels when PIXELS is non-nil." (setq-local buffer-invisibility-spec (if (listp current-invisibility-spec) (mapcar (lambda (el) - ;; Consider elipsis to have 0 width. + ;; Consider ellipsis to have 0 width. ;; It is what Emacs 28+ does, but we have ;; to force it in earlier Emacs versions. (if (and (consp el) (cdr el)) @@ -1267,9 +1287,8 @@ so values can contain further %-escapes if they are define later in TABLE." (dolist (e tbl) (setq re (concat "%-?[0-9.]*" (substring (car e) 1))) (when (and (cdr e) (string-match re (cdr e))) - (let ((sref (substring (cdr e) (match-beginning 0) (match-end 0))) - (safe "SREF")) - (add-text-properties 0 3 (list 'sref sref) safe) + (let* ((sref (substring (cdr e) (match-beginning 0) (match-end 0))) + (safe (propertize "SREF" 'sref sref))) (setcdr e (replace-match safe t t (cdr e))))) (while (string-match re string) (setq rpl (format (concat (substring (match-string 0 string) 0 -1) "s") diff --git a/elpa/org-9.6/org-mobile.el b/elpa/org-9.6.7/org-mobile.el similarity index 99% rename from elpa/org-9.6/org-mobile.el rename to elpa/org-9.6.7/org-mobile.el index a95c4e47..01395a4b 100644 --- a/elpa/org-9.6/org-mobile.el +++ b/elpa/org-9.6.7/org-mobile.el @@ -1,5 +1,5 @@ ;;; org-mobile.el --- Code for Asymmetric Sync With a Mobile Device -*- lexical-binding: t; -*- -;; Copyright (C) 2009-2022 Free Software Foundation, Inc. +;; Copyright (C) 2009-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-mouse.el b/elpa/org-9.6.7/org-mouse.el similarity index 99% rename from elpa/org-9.6/org-mouse.el rename to elpa/org-9.6.7/org-mouse.el index 817a2d1b..e0671f3d 100644 --- a/elpa/org-9.6/org-mouse.el +++ b/elpa/org-9.6.7/org-mouse.el @@ -1,6 +1,6 @@ ;;; org-mouse.el --- Better mouse support for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2006-2022 Free Software Foundation, Inc. +;; Copyright (C) 2006-2023 Free Software Foundation, Inc. ;; Author: Piotr Zielinski ;; Maintainer: Carsten Dominik @@ -241,7 +241,7 @@ return `:middle'." (t :middle))) (defun org-mouse-empty-line () - "Return non-nil iff the line contains only white space." + "Return non-nil if the line contains only white space." (save-excursion (beginning-of-line) (looking-at "[ \t]*$"))) (defun org-mouse-next-heading () @@ -283,7 +283,7 @@ keyword as the only argument. If SELECTED is nil, then all items are normal menu items. If SELECTED is a function, then each item is a checkbox, which is -enabled for a given keyword iff (funcall SELECTED keyword) return +enabled for a given keyword if (funcall SELECTED keyword) return non-nil. If SELECTED is neither nil nor a function, then the items are radio buttons. A radio button is enabled for the keyword `equal' to SELECTED. @@ -975,7 +975,7 @@ This means, between the beginning of line and the point." (interactive) (org-back-to-heading) (let ((minlevel 1000) - (replace-text (concat (match-string 0) "* "))) + (replace-text (concat (make-string (org-current-level) ?*) "* "))) (beginning-of-line 2) (save-excursion (while (not (or (eobp) (looking-at org-outline-regexp))) diff --git a/elpa/org-9.6/org-num.el b/elpa/org-9.6.7/org-num.el similarity index 99% rename from elpa/org-9.6/org-num.el rename to elpa/org-9.6.7/org-num.el index 4a57e6a9..cbe5e455 100644 --- a/elpa/org-9.6/org-num.el +++ b/elpa/org-9.6.7/org-num.el @@ -1,6 +1,6 @@ ;;; org-num.el --- Dynamic Headlines Numbering -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2022 Free Software Foundation, Inc. +;; Copyright (C) 2018-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-pcomplete.el b/elpa/org-9.6.7/org-pcomplete.el similarity index 99% rename from elpa/org-9.6/org-pcomplete.el rename to elpa/org-9.6.7/org-pcomplete.el index 5e5e48d3..0567052c 100644 --- a/elpa/org-9.6/org-pcomplete.el +++ b/elpa/org-9.6.7/org-pcomplete.el @@ -1,6 +1,6 @@ ;;; org-pcomplete.el --- In-buffer Completion Code -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; John Wiegley diff --git a/elpa/org-9.6/org-persist.el b/elpa/org-9.6.7/org-persist.el similarity index 80% rename from elpa/org-9.6/org-persist.el rename to elpa/org-9.6.7/org-persist.el index 3435bef2..01078f45 100644 --- a/elpa/org-9.6/org-persist.el +++ b/elpa/org-9.6.7/org-persist.el @@ -1,6 +1,6 @@ ;;; org-persist.el --- Persist cached data across Emacs sessions -*- lexical-binding: t; -*- -;; Copyright (C) 2021-2022 Free Software Foundation, Inc. +;; Copyright (C) 2021-2023 Free Software Foundation, Inc. ;; Author: Ihor Radchenko ;; Keywords: cache, storage @@ -134,7 +134,7 @@ ;; from the persistent storage at the end of Emacs session. The ;; expiry condition can be set when saving/registering data ;; containers. The expirty condition can be `never' - data will never -;; expire; `nil' - data will expire at the end of current Emacs session; +;; expire; nil - data will expire at the end of current Emacs session; ;; a number - data will expire after the number days from last access; ;; a function - data will expire if the function, called with a single ;; argument - collection, returns non-nil. @@ -160,8 +160,10 @@ (declare-function org-next-visible-heading "org" (arg)) (declare-function org-at-heading-p "org" (&optional invisible-not-ok)) +;; Silence byte-compiler (used in `org-persist--write-elisp-file'). +(defvar pp-use-max-width) -(defconst org-persist--storage-version "2.5" +(defconst org-persist--storage-version "3.1" "Persistent storage layout version.") (defgroup org-persist nil @@ -189,7 +191,7 @@ (defcustom org-persist-remote-files 100 "Whether to keep persistent data for remote files. -When this variable is nil, never save persitent data associated with +When this variable is nil, never save persistent data associated with remote files. When t, always keep the data. When `check-existence', contact remote server containing the file and only keep the data when the file exists on the server. When a number, keep @@ -222,8 +224,11 @@ function will be called with a single argument - collection." (defconst org-persist-index-file "index" "File name used to store the data index.") -(defvar org-persist-disable-when-emacs-Q t - "Disable persistence when Emacs is called with -Q command line arg.") +(defvar org-persist--disable-when-emacs-Q t + "Disable persistence when Emacs is called with -Q command line arg. +When non-nil, this sets `org-persist-directory' to temporary directory. + +This variable must be set before loading org-persist library.") (defvar org-persist-before-write-hook nil "Abnormal hook ran before saving data. @@ -332,7 +337,8 @@ FORMAT and ARGS are passed to `message'." (make-directory (file-name-directory file) t)) (with-temp-file file (if pp - (pp data (current-buffer)) + (let ((pp-use-max-width nil)) ; Emacs bug#58687 + (pp data (current-buffer))) (prin1 data (current-buffer)))) (org-persist--display-time (- (float-time) start-time) @@ -428,25 +434,27 @@ Return PLIST." (when key (remhash (cons cont (list :key key)) org-persist--index-hash)))) (setq org-persist--index (delq existing org-persist--index))))) -(defun org-persist--get-collection (container &optional associated &rest misc) +(defun org-persist--get-collection (container &optional associated misc) "Return or create collection used to store CONTAINER for ASSOCIATED. When ASSOCIATED is nil, it is a global CONTAINER. ASSOCIATED can also be a (:buffer buffer) or buffer, (:file file-path) or file-path, (:inode inode), (:hash hash), or or (:key key). -MISC, if non-nil will be appended to the collection." +MISC, if non-nil will be appended to the collection. It must be a plist." (unless (and (listp container) (listp (car container))) (setq container (list container))) (setq associated (org-persist--normalize-associated associated)) - (unless (equal misc '(nil)) - (setq associated (append associated misc))) + (when (and misc (or (not (listp misc)) (= 1 (% (length misc) 2)))) + (error "org-persist: Not a plist: %S" misc)) (or (org-persist--find-index `( :container ,(org-persist--normalize-container container) :associated ,associated)) (org-persist--add-to-index - (list :container (org-persist--normalize-container container) - :persist-file - (replace-regexp-in-string "^.." "\\&/" (org-id-uuid)) - :associated associated)))) + (nconc + (list :container (org-persist--normalize-container container) + :persist-file + (replace-regexp-in-string "^.." "\\&/" (org-id-uuid)) + :associated associated) + misc)))) ;;;; Reading container data. @@ -532,13 +540,13 @@ COLLECTION is the plist holding data collection." (defun org-persist-read:file (_ path __) "Read file container from PATH." - (when (and path (file-exists-p (concat org-persist-directory path))) - (concat org-persist-directory path))) + (when (and path (file-exists-p (org-file-name-concat org-persist-directory path))) + (org-file-name-concat org-persist-directory path))) (defun org-persist-read:url (_ path __) "Read file container from PATH." - (when (and path (file-exists-p (concat org-persist-directory path))) - (concat org-persist-directory path))) + (when (and path (file-exists-p (org-file-name-concat org-persist-directory path))) + (org-file-name-concat org-persist-directory path))) (defun org-persist-read:index (cont index-file _) "Read index container CONT from INDEX-FILE." @@ -593,7 +601,8 @@ COLLECTION is the plist holding data collection." (mapc (lambda (collection) (org-persist--add-to-index collection 'hash)) org-persist--index) (setq org-persist--index nil) (when (file-exists-p org-persist-directory) - (dolist (file (directory-files org-persist-directory 'absolute "^[^.][^.]")) + (dolist (file (directory-files org-persist-directory 'absolute + "\\`[^.][^.]")) (if (file-directory-p file) (delete-directory file t) (delete-file file)))) @@ -646,9 +655,10 @@ COLLECTION is the plist holding data collection." (file-copy (org-file-name-concat org-persist-directory (format "%s-%s.%s" persist-file (md5 path) ext)))) - (unless (file-exists-p (file-name-directory file-copy)) - (make-directory (file-name-directory file-copy) t)) - (copy-file path file-copy 'overwrite) + (unless (file-exists-p file-copy) + (unless (file-exists-p (file-name-directory file-copy)) + (make-directory (file-name-directory file-copy) t)) + (copy-file path file-copy 'overwrite)) (format "%s-%s.%s" persist-file (md5 path) ext))))) (defun org-persist-write:url (c collection) @@ -661,12 +671,13 @@ COLLECTION is the plist holding data collection." (file-copy (org-file-name-concat org-persist-directory (format "%s-%s.%s" persist-file (md5 path) ext)))) - (unless (file-exists-p (file-name-directory file-copy)) - (make-directory (file-name-directory file-copy) t)) - (if (org--should-fetch-remote-resource-p path) - (url-copy-file path file-copy 'overwrite) - (error "The remote resource %S is considered unsafe, and will not be downloaded." - path)) + (unless (file-exists-p file-copy) + (unless (file-exists-p (file-name-directory file-copy)) + (make-directory (file-name-directory file-copy) t)) + (if (org--should-fetch-remote-resource-p path) + (url-copy-file path file-copy 'overwrite) + (error "The remote resource %S is considered unsafe, and will not be downloaded." + path))) (format "%s-%s.%s" persist-file (md5 path) ext))))) (defun org-persist-write:index (container _) @@ -714,7 +725,8 @@ last access, or a function accepting a single argument - collection. EXPIRY key has no effect when INHERIT is non-nil. Optional key WRITE-IMMEDIATELY controls whether to save the container data immediately. -MISC will be appended to CONTAINER. +MISC will be appended to the collection. It must be alternating :KEY +VALUE pairs. When WRITE-IMMEDIATELY is non-nil, the return value will be the same with `org-persist-write'." (unless org-persist--index (org-persist--load-index)) @@ -744,12 +756,12 @@ with `org-persist-write'." When ASSOCIATED is `all', unregister CONTAINER everywhere." (unless org-persist--index (org-persist--load-index)) (setq container (org-persist--normalize-container container)) - (setq associated (org-persist--normalize-associated associated)) (if (eq associated 'all) (mapc (lambda (collection) (when (member container (plist-get collection :container)) (org-persist-unregister container (plist-get collection :associated)))) org-persist--index) + (setq associated (org-persist--normalize-associated associated)) (let ((collection (org-persist--find-index `(:container ,container :associated ,associated)))) (when collection (if (= (length (plist-get collection :container)) 1) @@ -770,43 +782,39 @@ ASSOCIATED can be a plist, a buffer, or a string. A buffer is treated as (:buffer ASSOCIATED). A string is treated as (:file ASSOCIATED). When LOAD? is non-nil, load the data instead of reading." + (unless org-persist--index (org-persist--load-index)) (setq associated (org-persist--normalize-associated associated)) (setq container (org-persist--normalize-container container)) - (unless (and org-persist-disable-when-emacs-Q - ;; FIXME: This is relying on undocumented fact that - ;; Emacs sets `user-init-file' to nil when loaded with - ;; "-Q" argument. - (not user-init-file)) - (let* ((collection (org-persist--find-index `(:container ,container :associated ,associated))) - (persist-file - (when collection - (org-file-name-concat - org-persist-directory - (plist-get collection :persist-file)))) - (data nil)) - (when (and collection - (file-exists-p persist-file) - (or (not (plist-get collection :expiry)) ; current session - (not (org-persist--gc-expired-p - (plist-get collection :expiry) collection))) - (or (not hash-must-match) - (and (plist-get associated :hash) - (equal (plist-get associated :hash) - (plist-get (plist-get collection :associated) :hash))))) - (unless (seq-find (lambda (v) - (run-hook-with-args-until-success 'org-persist-before-read-hook v associated)) - (plist-get collection :container)) - (setq data (or (gethash persist-file org-persist--write-cache) - (org-persist--read-elisp-file persist-file))) - (when data - (cl-loop for container in (plist-get collection :container) - with result = nil - do - (if load? - (push (org-persist-load:generic container (alist-get container data nil nil #'equal) collection) result) - (push (org-persist-read:generic container (alist-get container data nil nil #'equal) collection) result)) - (run-hook-with-args 'org-persist-after-read-hook container associated) - finally return (if (= 1 (length result)) (car result) result)))))))) + (let* ((collection (org-persist--find-index `(:container ,container :associated ,associated))) + (persist-file + (when collection + (org-file-name-concat + org-persist-directory + (plist-get collection :persist-file)))) + (data nil)) + (when (and collection + (file-exists-p persist-file) + (or (not (plist-get collection :expiry)) ; current session + (not (org-persist--gc-expired-p + (plist-get collection :expiry) collection))) + (or (not hash-must-match) + (and (plist-get associated :hash) + (equal (plist-get associated :hash) + (plist-get (plist-get collection :associated) :hash))))) + (unless (seq-find (lambda (v) + (run-hook-with-args-until-success 'org-persist-before-read-hook v associated)) + (plist-get collection :container)) + (setq data (or (gethash persist-file org-persist--write-cache) + (org-persist--read-elisp-file persist-file))) + (when data + (cl-loop for container in (plist-get collection :container) + with result = nil + do + (if load? + (push (org-persist-load:generic container (alist-get container data nil nil #'equal) collection) result) + (push (org-persist-read:generic container (alist-get container data nil nil #'equal) collection) result)) + (run-hook-with-args 'org-persist-after-read-hook container associated) + finally return (if (= 1 (length result)) (car result) result))))))) (defun org-persist-load (container &optional associated hash-must-match) "Load CONTAINER data for ASSOCIATED. @@ -842,55 +850,72 @@ The return value is nil when writing fails and the written value (as returned by `org-persist-read') on success. When IGNORE-RETURN is non-nil, just return t on success without calling `org-persist-read'." - (unless (and org-persist-disable-when-emacs-Q - ;; FIXME: This is relying on undocumented fact that - ;; Emacs sets `user-init-file' to nil when loaded with - ;; "-Q" argument. - (not user-init-file)) - (setq associated (org-persist--normalize-associated associated)) - ;; Update hash - (when (and (plist-get associated :file) - (plist-get associated :hash) - (get-file-buffer (plist-get associated :file))) - (setq associated (org-persist--normalize-associated (get-file-buffer (plist-get associated :file))))) - (let ((collection (org-persist--get-collection container associated))) - (setf collection (plist-put collection :associated associated)) - (unless (seq-find (lambda (v) - (run-hook-with-args-until-success 'org-persist-before-write-hook v associated)) - (plist-get collection :container)) - (when (or (file-exists-p org-persist-directory) (org-persist--save-index)) - (let ((file (org-file-name-concat org-persist-directory (plist-get collection :persist-file))) - (data (mapcar (lambda (c) (cons c (org-persist-write:generic c collection))) - (plist-get collection :container)))) - (puthash file data org-persist--write-cache) - (org-persist--write-elisp-file file data) - (or ignore-return (org-persist-read container associated)))))))) + (setq associated (org-persist--normalize-associated associated)) + ;; Update hash + (when (and (plist-get associated :file) + (plist-get associated :hash) + (get-file-buffer (plist-get associated :file))) + (setq associated (org-persist--normalize-associated (get-file-buffer (plist-get associated :file))))) + (let ((collection (org-persist--get-collection container associated))) + (setf collection (plist-put collection :associated associated)) + (unless (or + ;; Prevent data leakage from encrypted files. + ;; We do it in somewhat paranoid manner and do not + ;; allow anything related to encrypted files to be + ;; written. + (and (plist-get associated :file) + (string-match-p epa-file-name-regexp (plist-get associated :file))) + (seq-find (lambda (v) + (run-hook-with-args-until-success 'org-persist-before-write-hook v associated)) + (plist-get collection :container))) + (when (or (file-exists-p org-persist-directory) (org-persist--save-index)) + (let ((file (org-file-name-concat org-persist-directory (plist-get collection :persist-file))) + (data (mapcar (lambda (c) (cons c (org-persist-write:generic c collection))) + (plist-get collection :container)))) + (puthash file data org-persist--write-cache) + (org-persist--write-elisp-file file data) + (or ignore-return (org-persist-read container associated))))))) (defun org-persist-write-all (&optional associated) "Save all the persistent data. When ASSOCIATED is non-nil, only save the matching data." (unless org-persist--index (org-persist--load-index)) (setq associated (org-persist--normalize-associated associated)) - (let (all-containers) - (dolist (collection org-persist--index) - (if associated - (when collection - (cl-pushnew (plist-get collection :container) all-containers :test #'equal)) - (condition-case err - (org-persist-write (plist-get collection :container) (plist-get collection :associated) t) - (error - (message "%s. Deleting bad index entry." err) - (org-persist--remove-from-index collection) - nil)))) - (dolist (container all-containers) - (let ((collection (org-persist--find-index `(:container ,container :associated ,associated)))) - (when collection + (if + (and (equal 1 (length org-persist--index)) + ;; The single collection only contains a single container + ;; in the container list. + (equal 1 (length (plist-get (car org-persist--index) :container))) + ;; The container is an `index' container. + (eq 'index (caar (plist-get (car org-persist--index) :container))) + (or (not (file-exists-p org-persist-directory)) + (org-directory-empty-p org-persist-directory))) + ;; Do not write anything, and clear up `org-persist-directory' to reduce + ;; clutter. + (when (and (file-exists-p org-persist-directory) + (org-directory-empty-p org-persist-directory)) + (delete-directory org-persist-directory)) + ;; Write the data. + (let (all-containers) + (dolist (collection org-persist--index) + (if associated + (when collection + (cl-pushnew (plist-get collection :container) all-containers :test #'equal)) (condition-case err - (org-persist-write container associated t) + (org-persist-write (plist-get collection :container) (plist-get collection :associated) t) (error (message "%s. Deleting bad index entry." err) (org-persist--remove-from-index collection) - nil))))))) + nil)))) + (dolist (container all-containers) + (let ((collection (org-persist--find-index `(:container ,container :associated ,associated)))) + (when collection + (condition-case err + (org-persist-write container associated t) + (error + (message "%s. Deleting bad index entry." err) + (org-persist--remove-from-index collection) + nil)))))))) (defun org-persist-write-all-buffer () "Call `org-persist-write-all' in current buffer. @@ -923,48 +948,68 @@ Do nothing in an indirect buffer." (defun org-persist-gc () "Remove expired or unregistered containers. Also, remove containers associated with non-existing files." - (unless (and org-persist-disable-when-emacs-Q - ;; FIXME: This is relying on undocumented fact that - ;; Emacs sets `user-init-file' to nil when loaded with - ;; "-Q" argument. - (not user-init-file)) - (let (new-index (remote-files-num 0)) - (dolist (collection org-persist--index) - (let* ((file (plist-get (plist-get collection :associated) :file)) - (file-remote (when file (file-remote-p file))) - (persist-file (when (plist-get collection :persist-file) - (org-file-name-concat - org-persist-directory - (plist-get collection :persist-file)))) - (expired? (org-persist--gc-expired-p - (plist-get collection :expiry) collection))) - (when persist-file - (when file - (when file-remote (cl-incf remote-files-num)) - (unless (if (not file-remote) - (file-exists-p file) - (pcase org-persist-remote-files - ('t t) - ('check-existence - (file-exists-p file)) - ((pred numberp) - (<= org-persist-remote-files remote-files-num)) - (_ nil))) - (setq expired? t))) - (if expired? - (org-persist--gc-persist-file persist-file) - (push collection new-index))))) - (setq org-persist--index (nreverse new-index))))) + (let (new-index (remote-files-num 0)) + (dolist (collection org-persist--index) + (let* ((file (plist-get (plist-get collection :associated) :file)) + (file-remote (when file (file-remote-p file))) + (persist-file (when (plist-get collection :persist-file) + (org-file-name-concat + org-persist-directory + (plist-get collection :persist-file)))) + (expired? (org-persist--gc-expired-p + (plist-get collection :expiry) collection))) + (when persist-file + (when file + (when file-remote (cl-incf remote-files-num)) + (unless (if (not file-remote) + (file-exists-p file) + (pcase org-persist-remote-files + ('t t) + ('check-existence + (file-exists-p file)) + ((pred numberp) + (<= org-persist-remote-files remote-files-num)) + (_ nil))) + (setq expired? t))) + (if expired? + (org-persist--gc-persist-file persist-file) + (push collection new-index))))) + (setq org-persist--index (nreverse new-index)))) + +(defun org-persist-clear-storage-maybe () + "Clear `org-persist-directory' according to `org-persist--disable-when-emacs-Q'. + +When `org-persist--disable-when-emacs-Q' is non-nil and Emacs is called with -Q +command line argument, `org-persist-directory' is created in potentially public +system temporary directory. Remove everything upon existing Emacs in +such scenario." + (when (and org-persist--disable-when-emacs-Q + ;; FIXME: This is relying on undocumented fact that + ;; Emacs sets `user-init-file' to nil when loaded with + ;; "-Q" argument. + (not user-init-file) + (file-exists-p org-persist-directory)) + (delete-directory org-persist-directory 'recursive))) + +;; Point to temp directory when `org-persist--disable-when-emacs-Q' is set. +(when (and org-persist--disable-when-emacs-Q + ;; FIXME: This is relying on undocumented fact that + ;; Emacs sets `user-init-file' to nil when loaded with + ;; "-Q" argument. + (not user-init-file)) + (setq org-persist-directory + (make-temp-file "org-persist-" 'dir))) ;; Automatically write the data, but only when we have write access. (let ((dir (directory-file-name (file-name-as-directory org-persist-directory)))) (while (and (not (file-exists-p dir)) (not (equal dir (setq dir (directory-file-name - (file-name-directory dir))))))) + (file-name-directory dir))))))) (if (not (file-writable-p dir)) (message "Missing write access rights to org-persist-directory: %S" org-persist-directory) + (add-hook 'kill-emacs-hook #'org-persist-clear-storage-maybe) ; Run last. (add-hook 'kill-emacs-hook #'org-persist-write-all) ;; `org-persist-gc' should run before `org-persist-write-all'. ;; So we are adding the hook after `org-persist-write-all'. diff --git a/elpa/org-9.6.7/org-pkg.el b/elpa/org-9.6.7/org-pkg.el new file mode 100644 index 00000000..a80483c7 --- /dev/null +++ b/elpa/org-9.6.7/org-pkg.el @@ -0,0 +1,2 @@ +;; Generated package description from org.el -*- no-byte-compile: t -*- +(define-package "org" "9.6.7" "Outline-based notes management and organizer" '((emacs "26.1")) :commit "ca873f7fe47546bca19821f1578a6ab95bf5351c" :authors '(("Carsten Dominik" . "carsten.dominik@gmail.com")) :maintainer '("Bastien Guerry" . "bzg@gnu.org") :keywords '("outlines" "hypermedia" "calendar" "wp") :url "https://orgmode.org") diff --git a/elpa/org-9.6/org-plot.el b/elpa/org-9.6.7/org-plot.el similarity index 99% rename from elpa/org-9.6/org-plot.el rename to elpa/org-9.6.7/org-plot.el index ef6b5aa0..fe61e9ac 100644 --- a/elpa/org-9.6/org-plot.el +++ b/elpa/org-9.6.7/org-plot.el @@ -1,6 +1,6 @@ ;;; org-plot.el --- Support for Plotting from Org -*- lexical-binding: t; -*- -;; Copyright (C) 2008-2022 Free Software Foundation, Inc. +;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; ;; Author: Eric Schulte ;; Maintainer: TEC diff --git a/elpa/org-9.6/org-protocol.el b/elpa/org-9.6.7/org-protocol.el similarity index 99% rename from elpa/org-9.6/org-protocol.el rename to elpa/org-9.6.7/org-protocol.el index 9ce21cf2..2b07a377 100644 --- a/elpa/org-9.6/org-protocol.el +++ b/elpa/org-9.6.7/org-protocol.el @@ -1,6 +1,6 @@ ;;; org-protocol.el --- Intercept Calls from Emacsclient to Trigger Custom Actions -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2008-2022 Free Software Foundation, Inc. +;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; ;; Authors: Bastien Guerry ;; Daniel M German diff --git a/elpa/org-9.6/org-refile.el b/elpa/org-9.6.7/org-refile.el similarity index 99% rename from elpa/org-9.6/org-refile.el rename to elpa/org-9.6.7/org-refile.el index 8c514b9d..5a41c022 100644 --- a/elpa/org-9.6/org-refile.el +++ b/elpa/org-9.6.7/org-refile.el @@ -1,6 +1,6 @@ ;;; org-refile.el --- Refile Org Subtrees -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-src.el b/elpa/org-9.6.7/org-src.el similarity index 92% rename from elpa/org-9.6/org-src.el rename to elpa/org-9.6.7/org-src.el index 7d5f5d54..aadd8eba 100644 --- a/elpa/org-9.6/org-src.el +++ b/elpa/org-9.6.7/org-src.el @@ -1,6 +1,6 @@ ;;; org-src.el --- Source code examples in Org -*- lexical-binding: t; -*- ;; -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Bastien Guerry @@ -315,7 +315,7 @@ is 0.") (defun org-src--construct-edit-buffer-name (org-buffer-name lang) "Construct the buffer name for a source editing buffer. -Format is \"*Org Src ORG-BUFFER-NAME [ LANG ]*\"." +Format is \"*Org Src ORG-BUFFER-NAME[ LANG ]*\"." (concat "*Org Src " org-buffer-name "[ " lang " ]*")) (defun org-src--edit-buffer (beg end) @@ -629,83 +629,83 @@ Leave point in edit buffer." "Fontify code block between START and END using LANG's syntax. This function is called by Emacs' automatic fontification, as long as `org-src-fontify-natively' is non-nil." - (let ((lang-mode (org-src-get-lang-mode lang))) - (when (fboundp lang-mode) - (let ((string (buffer-substring-no-properties start end)) - (modified (buffer-modified-p)) - (org-buffer (current-buffer))) - (remove-text-properties start end '(face nil)) - (with-current-buffer - (get-buffer-create - (format " *org-src-fontification:%s*" lang-mode)) - (let ((inhibit-modification-hooks nil)) - (erase-buffer) - ;; Add string and a final space to ensure property change. - (insert string " ")) - (unless (eq major-mode lang-mode) (funcall lang-mode)) - (font-lock-ensure) - (let ((pos (point-min)) next) - (while (setq next (next-property-change pos)) - ;; Handle additional properties from font-lock, so as to - ;; preserve, e.g., composition. - ;; FIXME: We copy 'font-lock-face property explicitly because - ;; `font-lock-mode' is not enabled in the buffers starting from - ;; space and the remapping between 'font-lock-face and 'face - ;; text properties may thus not be set. See commit - ;; 453d634bc. - (dolist (prop (append '(font-lock-face face) font-lock-extra-managed-props)) - (let ((new-prop (get-text-property pos prop))) - (when new-prop - (if (not (eq prop 'invisible)) - (put-text-property - (+ start (1- pos)) (1- (+ start next)) prop new-prop - org-buffer) - ;; Special case. `invisible' text property may - ;; clash with Org folding. Do not assign - ;; `invisible' text property directly. Use - ;; property alias instead. - (let ((invisibility-spec - (or - ;; ATOM spec. - (and (memq new-prop buffer-invisibility-spec) - new-prop) - ;; (ATOM . ELLIPSIS) spec. - (assq new-prop buffer-invisibility-spec)))) - (with-current-buffer org-buffer - ;; Add new property alias. - (unless (memq 'org-src-invisible - (cdr (assq 'invisible char-property-alias-alist))) - (setq-local - char-property-alias-alist - (cons (cons 'invisible - (nconc (cdr (assq 'invisible char-property-alias-alist)) - '(org-src-invisible))) - (remove (assq 'invisible char-property-alias-alist) - char-property-alias-alist)))) - ;; Carry over the invisibility spec, unless - ;; already present. Note that there might - ;; be conflicting invisibility specs from - ;; different major modes. We cannot do much - ;; about this then. - (when invisibility-spec - (add-to-invisibility-spec invisibility-spec)) - (put-text-property - (+ start (1- pos)) (1- (+ start next)) - 'org-src-invisible new-prop - org-buffer))))))) - (setq pos next))) - (set-buffer-modified-p nil)) - ;; Add Org faces. - (let ((src-face (nth 1 (assoc-string lang org-src-block-faces t)))) - (when (or (facep src-face) (listp src-face)) - (font-lock-append-text-property start end 'face src-face)) - (font-lock-append-text-property start end 'face 'org-block)) - ;; Clear abbreviated link folding. - (org-fold-region start end nil 'org-link) - (add-text-properties - start end - '(font-lock-fontified t fontified t font-lock-multiline t)) - (set-buffer-modified-p modified))))) + (let ((modified (buffer-modified-p))) + (remove-text-properties start end '(face nil)) + (let ((lang-mode (org-src-get-lang-mode lang))) + (when (fboundp lang-mode) + (let ((string (buffer-substring-no-properties start end)) + (org-buffer (current-buffer))) + (with-current-buffer + (get-buffer-create + (format " *org-src-fontification:%s*" lang-mode)) + (let ((inhibit-modification-hooks nil)) + (erase-buffer) + ;; Add string and a final space to ensure property change. + (insert string " ")) + (unless (eq major-mode lang-mode) (funcall lang-mode)) + (font-lock-ensure) + (let ((pos (point-min)) next) + (while (setq next (next-property-change pos)) + ;; Handle additional properties from font-lock, so as to + ;; preserve, e.g., composition. + ;; FIXME: We copy 'font-lock-face property explicitly because + ;; `font-lock-mode' is not enabled in the buffers starting from + ;; space and the remapping between 'font-lock-face and 'face + ;; text properties may thus not be set. See commit + ;; 453d634bc. + (dolist (prop (append '(font-lock-face face) font-lock-extra-managed-props)) + (let ((new-prop (get-text-property pos prop))) + (when new-prop + (if (not (eq prop 'invisible)) + (put-text-property + (+ start (1- pos)) (1- (+ start next)) prop new-prop + org-buffer) + ;; Special case. `invisible' text property may + ;; clash with Org folding. Do not assign + ;; `invisible' text property directly. Use + ;; property alias instead. + (let ((invisibility-spec + (or + ;; ATOM spec. + (and (memq new-prop buffer-invisibility-spec) + new-prop) + ;; (ATOM . ELLIPSIS) spec. + (assq new-prop buffer-invisibility-spec)))) + (with-current-buffer org-buffer + ;; Add new property alias. + (unless (memq 'org-src-invisible + (cdr (assq 'invisible char-property-alias-alist))) + (setq-local + char-property-alias-alist + (cons (cons 'invisible + (nconc (cdr (assq 'invisible char-property-alias-alist)) + '(org-src-invisible))) + (remove (assq 'invisible char-property-alias-alist) + char-property-alias-alist)))) + ;; Carry over the invisibility spec, unless + ;; already present. Note that there might + ;; be conflicting invisibility specs from + ;; different major modes. We cannot do much + ;; about this then. + (when invisibility-spec + (add-to-invisibility-spec invisibility-spec)) + (put-text-property + (+ start (1- pos)) (1- (+ start next)) + 'org-src-invisible new-prop + org-buffer))))))) + (setq pos next))) + (set-buffer-modified-p nil))))) + ;; Add Org faces. + (let ((src-face (nth 1 (assoc-string lang org-src-block-faces t)))) + (when (or (facep src-face) (listp src-face)) + (font-lock-append-text-property start end 'face src-face)) + (font-lock-append-text-property start end 'face 'org-block)) + ;; Clear abbreviated link folding. + (org-fold-region start end nil 'org-link) + (add-text-properties + start end + '(font-lock-fontified t fontified t font-lock-multiline t)) + (set-buffer-modified-p modified))) (defun org-fontify-inline-src-blocks (limit) "Try to apply `org-fontify-inline-src-blocks-1'." diff --git a/elpa/org-9.6/org-table.el b/elpa/org-9.6.7/org-table.el similarity index 99% rename from elpa/org-9.6/org-table.el rename to elpa/org-9.6.7/org-table.el index 8e0e8e6c..83bad3f3 100644 --- a/elpa/org-9.6/org-table.el +++ b/elpa/org-9.6.7/org-table.el @@ -1,6 +1,6 @@ ;;; org-table.el --- The Table Editor for Org -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp @@ -41,6 +41,7 @@ (require 'org-macs) (require 'org-compat) (require 'org-keys) +(require 'org-fold-core) (declare-function calc-eval "calc" (str &optional separator &rest args)) (declare-function face-remap-remove-relative "face-remap" (cookie)) @@ -1228,7 +1229,7 @@ Return t when the line exists, nil if it does not exist." (if (looking-at "|[^|\n]+") (let* ((pos (match-beginning 0)) (match (match-string 0)) - (len (org-string-width match))) + (len (save-match-data (org-string-width match)))) (replace-match (concat "|" (make-string (1- len) ?\ ))) (goto-char (+ 2 pos)) (substring match 1))))) @@ -1724,8 +1725,12 @@ In particular, this does handle wide and invisible characters." (setq s (mapconcat (lambda (x) (if (member x '(?| ?+)) "|" " ")) s "")) (while (string-match "|\\([ \t]*?[^ \t\r\n|][^\r\n|]*\\)|" s) (setq s (replace-match - (concat "|" (make-string (org-string-width (match-string 1 s)) - ?\ ) "|") + (concat "|" + (make-string + (save-match-data + (org-string-width (match-string 1 s))) + ?\ ) + "|") t t s))) s)) @@ -2613,6 +2618,7 @@ location of point." (if lispp (setq ev (condition-case nil + ;; FIXME: Arbitrary code evaluation. (eval (eval (read form))) (error "#ERROR")) ev (if (numberp ev) (number-to-string ev) ev) @@ -4448,6 +4454,13 @@ FIELD is a string. WIDTH is a number. ALIGN is either \"c\", (defun org-table-justify-field-maybe (&optional new) "Justify the current field, text to left, number to right. Optional argument NEW may specify text to replace the current field content." + ;; FIXME: Prevent newlines inside field. They are currently not + ;; supported. + (when (and (stringp new) (string-match-p "\n" new)) + (message "Removing newlines from formula result: %S" new) + (setq new (replace-regexp-in-string + "\n" " " + (replace-regexp-in-string "\\(^\n+\\)\\|\\(\n+$\\)" "" new)))) (cond ((and (not new) org-table-may-need-update)) ; Realignment will happen anyway ((org-at-table-hline-p)) @@ -5401,12 +5414,10 @@ overwritten, and the table is not marked as requiring realignment." (self-insert-command N)) (setq org-table-may-need-update t) (let* (orgtbl-mode - a (cmd (or (key-binding (or (and (listp function-key-map) - (setq a (assoc last-input-event function-key-map)) - (cdr a)) - (vector last-input-event))) + (cdr (assoc last-command-event function-key-map))) + (vector last-command-event))) 'self-insert-command))) (call-interactively cmd) (if (and org-self-insert-cluster-for-undo @@ -5721,31 +5732,32 @@ This may be either a string or a function of two arguments: ;; Initialize communication channel in INFO. (with-temp-buffer (let ((org-inhibit-startup t)) (org-mode)) - (let ((standard-output (current-buffer)) - (org-element-use-cache nil)) - (dolist (e table) - (cond ((eq e 'hline) (princ "|--\n")) - ((consp e) - (princ "| ") (dolist (c e) (princ c) (princ " |")) - (princ "\n"))))) - (org-element-cache-reset) - ;; Add back-end specific filters, but not user-defined ones. In - ;; particular, make sure to call parse-tree filters on the - ;; table. - (setq info - (let ((org-export-filters-alist nil)) - (org-export-install-filters - (org-combine-plists - (org-export-get-environment backend nil params) - `(:back-end ,(org-export-get-backend backend)))))) - (setq data - (org-export-filter-apply-functions - (plist-get info :filter-parse-tree) - (org-element-map (org-element-parse-buffer) 'table - #'identity nil t) - info))) - (when (and backend (symbolp backend) (not (org-export-get-backend backend))) - (user-error "Unknown :backend value")) + (org-fold-core-ignore-modifications + (let ((standard-output (current-buffer)) + (org-element-use-cache nil)) + (dolist (e table) + (cond ((eq e 'hline) (princ "|--\n")) + ((consp e) + (princ "| ") (dolist (c e) (princ c) (princ " |")) + (princ "\n"))))) + (org-element-cache-reset) + ;; Add back-end specific filters, but not user-defined ones. In + ;; particular, make sure to call parse-tree filters on the + ;; table. + (setq info + (let ((org-export-filters-alist nil)) + (org-export-install-filters + (org-combine-plists + (org-export-get-environment backend nil params) + `(:back-end ,(org-export-get-backend backend)))))) + (setq data + (org-export-filter-apply-functions + (plist-get info :filter-parse-tree) + (org-element-map (org-element-parse-buffer) 'table + #'identity nil t) + info)) + (when (and backend (symbolp backend) (not (org-export-get-backend backend))) + (user-error "Unknown :backend value")))) (when (or (not backend) (plist-get info :raw)) (require 'ox-org)) ;; Handle :skip parameter. (let ((skip (plist-get info :skip))) diff --git a/elpa/org-9.6/org-tempo.el b/elpa/org-9.6.7/org-tempo.el similarity index 99% rename from elpa/org-9.6/org-tempo.el rename to elpa/org-9.6.7/org-tempo.el index 0902a45e..81ec8fdc 100644 --- a/elpa/org-9.6/org-tempo.el +++ b/elpa/org-9.6.7/org-tempo.el @@ -1,6 +1,6 @@ ;;; org-tempo.el --- Template expansion for Org structures -*- lexical-binding: t; -*- -;; Copyright (C) 2017-2022 Free Software Foundation, Inc. +;; Copyright (C) 2017-2023 Free Software Foundation, Inc. ;; ;; Author: Rasmus Pank Roulund ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-timer.el b/elpa/org-9.6.7/org-timer.el similarity index 99% rename from elpa/org-9.6/org-timer.el rename to elpa/org-9.6.7/org-timer.el index 9741ac67..919630e6 100644 --- a/elpa/org-9.6/org-timer.el +++ b/elpa/org-9.6.7/org-timer.el @@ -1,6 +1,6 @@ ;;; org-timer.el --- Timer code for Org mode -*- lexical-binding: t; -*- -;; Copyright (C) 2008-2022 Free Software Foundation, Inc. +;; Copyright (C) 2008-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Keywords: outlines, hypermedia, calendar, wp diff --git a/elpa/org-9.6/org-version.el b/elpa/org-9.6.7/org-version.el similarity index 94% rename from elpa/org-9.6/org-version.el rename to elpa/org-9.6.7/org-version.el index aaa7d095..e089fbfa 100644 --- a/elpa/org-9.6/org-version.el +++ b/elpa/org-9.6.7/org-version.el @@ -5,7 +5,7 @@ (defun org-release () "The release version of Org. Inserted by installing Org mode or when a release is made." - (let ((org-release "9.6")) + (let ((org-release "9.6.7")) org-release)) ;;;###autoload (defun org-git-version () diff --git a/elpa/org-9.6/org.el b/elpa/org-9.6.7/org.el similarity index 99% rename from elpa/org-9.6/org.el rename to elpa/org-9.6.7/org.el index a05a2822..2cf08e85 100644 --- a/elpa/org-9.6/org.el +++ b/elpa/org-9.6.7/org.el @@ -1,15 +1,15 @@ ;;; org.el --- Outline-based notes management and organizer -*- lexical-binding: t; -*- ;; Carstens outline-mode for keeping track of everything. -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; ;; Author: Carsten Dominik ;; Maintainer: Bastien Guerry ;; Keywords: outlines, hypermedia, calendar, wp ;; URL: https://orgmode.org -;; Package-Requires: ((emacs "25.1")) +;; Package-Requires: ((emacs "26.1")) -;; Version: 9.6 +;; Version: 9.6.7 ;; This file is part of GNU Emacs. ;; @@ -102,6 +102,7 @@ (require 'org-cycle) (defvaralias 'org-hide-block-startup 'org-cycle-hide-block-startup) +(defvaralias 'org-hide-drawer-startup 'org-cycle-hide-drawer-startup) (defvaralias 'org-pre-cycle-hook 'org-cycle-pre-hook) (defvaralias 'org-tab-first-hook 'org-cycle-tab-first-hook) (defalias 'org-global-cycle #'org-cycle-global) @@ -296,47 +297,49 @@ default, only Emacs Lisp is loaded, since it has no specific requirement." :group 'org-babel :set 'org-babel-do-load-languages - :version "24.1" + :package-version '(Org . "9.6") :type '(alist :tag "Babel Languages" :key-type (choice (const :tag "Awk" awk) - (const :tag "C" C) + (const :tag "C, D, C++, and cpp" C) (const :tag "R" R) (const :tag "Calc" calc) - (const :tag "Clojure" clojure) + (const :tag "Clojure and ClojureScript" clojure) (const :tag "CSS" css) (const :tag "Ditaa" ditaa) (const :tag "Dot" dot) (const :tag "Emacs Lisp" emacs-lisp) + (const :tag "Eshell" eshell) (const :tag "Forth" forth) (const :tag "Fortran" fortran) - (const :tag "Gnuplot" gnuplot) + (const :tag "GnuPlot" gnuplot) + (const :tag "Groovy" groovy) (const :tag "Haskell" haskell) (const :tag "Java" java) - (const :tag "Javascript" js) - (const :tag "LaTeX" latex) - (const :tag "Lilypond" lilypond) + (const :tag "JavaScript" js) + (const :tag "Julia" julia) + (const :tag "LaTeX" latex) + (const :tag "LilyPond" lilypond) (const :tag "Lisp" lisp) + (const :tag "Lua" lua) (const :tag "Makefile" makefile) (const :tag "Maxima" maxima) - (const :tag "Matlab" matlab) - (const :tag "Ocaml" ocaml) - (const :tag "Octave" octave) + (const :tag "OCaml" ocaml) + (const :tag "Octave and MatLab" octave) (const :tag "Org" org) (const :tag "Perl" perl) - (const :tag "Pico Lisp" picolisp) + (const :tag "Processing" processing) (const :tag "PlantUML" plantuml) (const :tag "Python" python) (const :tag "Ruby" ruby) (const :tag "Sass" sass) - (const :tag "Scala" scala) (const :tag "Scheme" scheme) (const :tag "Screen" screen) + (const :tag "Sed" sed) (const :tag "Shell Script" shell) (const :tag "Sql" sql) - (const :tag "Sqlite" sqlite) - (const :tag "Stan" stan)) + (const :tag "Sqlite" sqlite)) :value-type (boolean :tag "Activate" :value t))) ;;;; Customization variables @@ -722,6 +725,10 @@ defined in org-duration.el.") (set-default-toplevel-value var value) (when (featurep 'org) (org-load-modules-maybe 'force) + ;; FIXME: We can't have all the requires at top-level due to + ;; circular dependencies. Yet, this function might sometimes be + ;; called when 'org-element is not loaded. + (require 'org-element) (org-element-cache-reset 'all))) (defcustom org-modules '(ol-doi ol-w3m ol-bbdb ol-bibtex ol-docview ol-gnus ol-info ol-irc ol-mhe ol-rmail ol-eww) @@ -1383,13 +1390,13 @@ For more examples, see the system specific constants (defcustom org-resource-download-policy 'prompt "The policy applied to requests to obtain remote resources. -This affects keywords like #+setupfile and #+incude on export, +This affects keywords like #+setupfile and #+include on export, `org-persist-write:url',and `org-attach-url' in non-interactive Emacs sessions. -This recognises four possible values: +This recognizes four possible values: - t, remote resources should always be downloaded. -- prompt, you will be prompted to download resources nt considered safe. +- prompt, you will be prompted to download resources not considered safe. - safe, only resources considered safe will be downloaded. - nil, never download remote resources. @@ -1408,7 +1415,7 @@ URI regexps are applied to both URLs and Org files requesting remote resources." :group 'org :package-version '(Org . "9.6") - :type '(list regexp)) + :type '(repeat regexp)) (defcustom org-open-non-existing-files nil "Non-nil means `org-open-file' opens non-existing files. @@ -3476,13 +3483,17 @@ Make sure that you only list packages here which: :group 'org-export-latex :set 'org-set-packages-alist :get 'org-get-packages-alist - :type '(repeat - (choice - (list :tag "options/package pair" - (string :tag "options") - (string :tag "package") - (boolean :tag "Snippet")) - (string :tag "A line of LaTeX")))) + :type + '(repeat + (choice + (list :tag "options/package pair" + (string :tag "options") + (string :tag "package") + (boolean :tag "snippet") + (choice + (const :tag "All compilers include this package" nil) + (repeat :tag "Only include from these compilers" string))) + (string :tag "A line of LaTeX")))) (defgroup org-appearance nil "Settings for Org mode appearance." @@ -3593,13 +3604,13 @@ following symbols: (const :tag "Entities" entities)))) (defcustom org-hide-emphasis-markers nil - "Non-nil mean font-lock should hide the emphasis marker characters." + "Non-nil means font-lock should hide the emphasis marker characters." :group 'org-appearance :type 'boolean :safe #'booleanp) (defcustom org-hide-macro-markers nil - "Non-nil mean font-lock should hide the brackets marking macro calls." + "Non-nil means font-lock should hide the brackets marking macro calls." :group 'org-appearance :type 'boolean) @@ -3611,7 +3622,7 @@ When nil, the \\name form remains in the buffer." :type 'boolean) (defcustom org-pretty-entities-include-sub-superscripts t - "Non-nil means, pretty entity display includes formatting sub/superscripts." + "Non-nil means pretty entity display includes formatting sub/superscripts." :group 'org-appearance :version "24.1" :type 'boolean) @@ -4554,21 +4565,25 @@ is available. This option applies only if FILE is a URL." (cache) (is-url (if (org--should-fetch-remote-resource-p file) - (with-current-buffer (url-retrieve-synchronously file) - (goto-char (point-min)) - ;; Move point to after the url-retrieve header. - (search-forward "\n\n" nil :move) - ;; Search for the success code only in the url-retrieve header. - (if (save-excursion - (re-search-backward "HTTP.*\\s-+200\\s-OK" nil :noerror)) - ;; Update the cache `org--file-cache' and return contents. - (puthash file - (buffer-substring-no-properties (point) (point-max)) - org--file-cache) - (funcall (if noerror #'message #'user-error) - "Unable to fetch file from %S" - file) - nil)) + (condition-case error + (with-current-buffer (url-retrieve-synchronously file) + (goto-char (point-min)) + ;; Move point to after the url-retrieve header. + (search-forward "\n\n" nil :move) + ;; Search for the success code only in the url-retrieve header. + (if (save-excursion + (re-search-backward "HTTP.*\\s-+200\\s-OK" nil :noerror)) + ;; Update the cache `org--file-cache' and return contents. + (puthash file + (buffer-substring-no-properties (point) (point-max)) + org--file-cache) + (funcall (if noerror #'message #'user-error) + "Unable to fetch file from %S" + file) + nil)) + (error (if noerror + (message "Org could't download \"%s\": %s %S" file (car error) (cdr error)) + (signal (car error) (cdr error))))) (funcall (if noerror #'message #'user-error) "The remote resource %S is considered unsafe, and will not be downloaded." file))) @@ -4596,8 +4611,8 @@ is available. This option applies only if FILE is a URL." This checks every pattern in `org-safe-remote-resources', and returns non-nil if any of them match." (let ((uri-patterns org-safe-remote-resources) - (file-uri (and buffer-file-name - (concat "file://" (file-truename buffer-file-name)))) + (file-uri (and (buffer-file-name (buffer-base-buffer)) + (concat "file://" (file-truename (buffer-file-name (buffer-base-buffer)))))) match-p) (while (and (not match-p) uri-patterns) (setq match-p (or (string-match-p (car uri-patterns) uri) @@ -4608,7 +4623,8 @@ returns non-nil if any of them match." (defun org--confirm-resource-safe (uri) "Ask the user if URI should be considered safe, returning non-nil if so." (unless noninteractive - (let ((current-file (and buffer-file-name (file-truename buffer-file-name))) + (let ((current-file (and (buffer-file-name (buffer-base-buffer)) + (file-truename (buffer-file-name (buffer-base-buffer))))) (domain (and (string-match (rx (seq "http" (? "s") "://") (optional (+ (not (any "@/\n"))) "@") @@ -4625,7 +4641,7 @@ returns non-nil if any of them match." ", which is not considered safe.\n\n" "Do you want to download this? You can type\n " (propertize "!" 'face 'success) - " to download this resource, and permanantly mark it as safe.\n " + " to download this resource, and permanently mark it as safe.\n " (if domain (concat (propertize "d" 'face 'success) @@ -4636,7 +4652,7 @@ returns non-nil if any of them match." (propertize "f" 'face 'success) (if current-file (concat - " to download this resource, and permanantly mark all resources in " + " to download this resource, and permanently mark all resources in " (propertize current-file 'face 'underline) " as safe.\n ") "") @@ -4764,7 +4780,7 @@ This is for getting out of special buffers like capture.") (defvar org-element-cache-persistent); Defined in org-element.el (defvar org-element-use-cache); Defined in org-element.el (defvar org-mode-loading nil - "Non-nil during Org mode initialisation.") + "Non-nil during Org mode initialization.") (defvar org-agenda-file-menu-enabled t "When non-nil, refresh Agenda files in Org menu when loading Org.") @@ -4896,16 +4912,20 @@ The following commands are available: (= (point-min) (point-max))) (insert "# -*- mode: org -*-\n\n")) (unless org-inhibit-startup + (when (or org-startup-align-all-tables org-startup-shrink-all-tables) + (org-table-map-tables + (cond ((and org-startup-align-all-tables + org-startup-shrink-all-tables) + (lambda () (org-table-align) (org-table-shrink))) + (org-startup-align-all-tables #'org-table-align) + (t #'org-table-shrink)) + t)) + ;; Suppress modification hooks to speed up the startup. + ;; However, do it only when text properties/overlays, but not + ;; buffer text are actually modified. We still need to track text + ;; modifications to make cache updates work reliably. (org-unmodified (when org-startup-with-beamer-mode (org-beamer-mode)) - (when (or org-startup-align-all-tables org-startup-shrink-all-tables) - (org-table-map-tables - (cond ((and org-startup-align-all-tables - org-startup-shrink-all-tables) - (lambda () (org-table-align) (org-table-shrink))) - (org-startup-align-all-tables #'org-table-align) - (t #'org-table-shrink)) - t)) (when org-startup-with-inline-images (org-display-inline-images)) (when org-startup-with-latex-preview (org-latex-preview '(16))) (unless org-inhibit-startup-visibility-stuff (org-cycle-set-startup-visibility)) @@ -5270,7 +5290,7 @@ This includes angle, plain, and bracket links." (progn (add-face-text-property start end face-property) (add-text-properties start end properties)) - ;; Initialise folding when used outside org-mode. + ;; Initialize folding when used outside org-mode. (unless (or (derived-mode-p 'org-mode) (and (org-fold-folding-spec-p 'org-link-description) (org-fold-folding-spec-p 'org-link))) @@ -5287,7 +5307,7 @@ This includes angle, plain, and bracket links." (org-fold-core-set-folding-spec-property spec :visible t)) (org-fold-region start end nil 'org-link) (org-fold-region start end nil 'org-link-description) - ;; We are folding the whole emphasised text with SPEC + ;; We are folding the whole emphasized text with SPEC ;; first. It makes everything invisible (or whatever ;; the user wants). (org-fold-region start end t spec) @@ -6407,7 +6427,7 @@ Return nil before first heading." "" h)) (h h))) (tags (and (not no-tags) (match-string 5)))) - ;; Restore cleared optimisation. + ;; Restore cleared optimization. (org-fold-core-update-optimisation (match-beginning 0) (match-end 0)) (mapconcat #'identity (delq nil (list todo priority headline tags)) @@ -6550,7 +6570,7 @@ See also `org-promote'." (interactive) (save-excursion (org-back-to-heading t) - (combine-change-calls (point) (save-excursion (org-end-of-subtree t)) + (org-combine-change-calls (point) (save-excursion (org-end-of-subtree t)) (org-with-limited-levels (org-map-tree 'org-promote)))) (org-fix-position-after-promote)) @@ -6560,7 +6580,7 @@ See `org-demote' and `org-promote'." (interactive) (save-excursion (org-back-to-heading t) - (combine-change-calls (point) (save-excursion (org-end-of-subtree t)) + (org-combine-change-calls (point) (save-excursion (org-end-of-subtree t)) (org-with-limited-levels (org-map-tree 'org-demote)))) (org-fix-position-after-promote)) @@ -7129,7 +7149,7 @@ When REMOVE is non-nil, remove the subtree from the clipboard." (setq beg (point)) ;; Avoid re-parsing cache elements when i.e. level 1 heading ;; is inserted and then promoted. - (combine-change-calls beg beg + (org-combine-change-calls beg beg (when (fboundp 'org-id-paste-tracker) (org-id-paste-tracker txt)) (insert txt) (unless (string-suffix-p "\n" txt) (insert "\n")) @@ -8424,7 +8444,10 @@ a link." (dolist (link (if (stringp links) (list links) links)) (search-forward link nil links-end) (goto-char (match-beginning 0)) - (org-open-at-point arg))))))) + ;; When opening file link, current buffer may be + ;; altered. + (save-current-buffer + (org-open-at-point arg)))))))) ;; On a footnote reference or at definition's label. ((or (eq type 'footnote-reference) (and (eq type 'footnote-definition) @@ -8602,6 +8625,7 @@ or to another Org file, automatically push the old position onto the ring." (defvar org-agenda-buffer-name) (defun org-follow-timestamp-link () "Open an agenda view for the time-stamp date/range at point." + (require 'org-agenda) ;; Avoid changing the global value. (let ((org-agenda-buffer-name org-agenda-buffer-name)) (cond @@ -8853,7 +8877,7 @@ keywords relative to each registered export back-end." "EXCLUDE_TAGS:" "FILETAGS:" "INCLUDE:" "INDEX:" "KEYWORDS:" "LANGUAGE:" "MACRO:" "OPTIONS:" "PROPERTY:" "PRINT_BIBLIOGRAPHY" "PRIORITIES:" "SELECT_TAGS:" "SEQ_TODO:" "SETUPFILE:" "STARTUP:" "TAGS:" "TITLE:" "TODO:" - "TYP_TODO:" "SELECT_TAGS:" "EXCLUDE_TAGS:")) + "TYP_TODO:" "SELECT_TAGS:" "EXCLUDE_TAGS:" "EXPORT_FILE_NAME:")) (defcustom org-structure-template-alist '(("a" . "export ascii") @@ -9126,7 +9150,8 @@ nil or a string to be used for the todo mark." ) (replace-match "0" t nil nil 1))))) (defvar org-state) -(defvar org-blocked-by-checkboxes) +;; FIXME: We should refactor this and similar dynamically scoped blocker flags. +(defvar org-blocked-by-checkboxes nil) ; dynamically scoped (defun org-todo (&optional arg) "Change the TODO state of an item. @@ -10198,7 +10223,7 @@ nil." (replace-match "") (if (and (string-match "\\S-" (buffer-substring (line-beginning-position) (point))) (equal (char-before) ?\ )) - (backward-delete-char 1) + (delete-char -1) (when (string-match "^[ \t]*$" (buffer-substring (line-beginning-position) (line-end-position))) (delete-region (line-beginning-position) @@ -11380,7 +11405,7 @@ See also `org-scan-tags'." (pv (match-string 7 term)) (regexp (eq (string-to-char pv) ?{)) (strp (eq (string-to-char pv) ?\")) - (timep (string-match-p "^\"[[<][0-9]+.*[]>]\"$" pv)) + (timep (string-match-p "^\"[[<]\\(?:[0-9]+\\|now\\|today\\|tomorrow\\|[+-][0-9]+[dmwy]\\).*[]>]\"$" pv)) (po (org-op-to-function (match-string 6 term) (if timep 'time strp)))) (setq pv (if (or regexp strp) (substring pv 1 -1) pv)) @@ -11989,18 +12014,17 @@ Returns the new tags string, or nil to not change the current settings." (setq current nil) (when exit-after-next (setq exit-after-next 'now))) ((= c ?\t) - (condition-case nil - (unless tab-tags - (setq tab-tags - (delq nil - (mapcar (lambda (x) - (let ((item (car-safe x))) - (and (stringp item) - (list item)))) - (org--tag-add-to-alist - (with-current-buffer buf - (org-get-buffer-tags)) - table)))))) + (unless tab-tags + (setq tab-tags + (delq nil + (mapcar (lambda (x) + (let ((item (car-safe x))) + (and (stringp item) + (list item)))) + (org--tag-add-to-alist + (with-current-buffer buf + (org-get-buffer-tags)) + table))))) (setq tg (completing-read "Tag: " tab-tags)) (when (string-match "\\S-" tg) (cl-pushnew (list tg) tab-tags :test #'equal) @@ -16229,7 +16253,8 @@ conventions: 2. Its description consists in a single link of the previous type. In this case, that link must be a well-formed plain - or angle link, i.e., it must have an explicit \"file\" type. + or angle link, i.e., it must have an explicit \"file\" or + \"attachment\" type. Equip each image with the key-map `image-map'. @@ -16260,7 +16285,7 @@ buffer boundaries with possible narrowing." ;; "file:" links. Also check link abbreviations since ;; some might expand to "file" links. (file-types-re - (format "\\[\\[\\(?:file%s:\\|attachment:\\|[./~]\\)\\|\\]\\[\\(’(1). @@ -1651,7 +1652,7 @@ Re-aligning and field motion necessary. ‘M-x org-table-blank-field’ - Blank the field at point. + Blank the current table field or active region. ‘S-’ (‘org-table-previous-field’) Re-align, move to previous field. @@ -4956,7 +4957,7 @@ can be inherited by all entries in all Org files. Set a property in the current entry. Both the property and the value can be inserted using completion. -‘S-’ (‘org-property-next-allowed-values’) +‘S-’ (‘org-property-next-allowed-value’) ‘S-’ (‘org-property-previous-allowed-value’) Switch property at point to the next/previous allowed value. @@ -5491,8 +5492,9 @@ Timestamp with repeater interval Diary-style expression entries For more complex date specifications, Org mode supports using the - special expression diary entries implemented in the Emacs Calendar - package(2). For example, with optional time: + special expression diary entries implemented in the *note Emacs + Calendar package: (emacs)Special Diary Entries.(2). For example, + with optional time: * 22:00-23:00 The nerd meeting on every 2nd Thursday of the month <%%(diary-float t 4 2)> @@ -7920,7 +7922,8 @@ days you want to see by default in the agenda, or to a span name, such a start on the previous Monday (see ‘org-agenda-start-on-weekday’). You can also set the start date using a date shift: ‘(setq org-agenda-start-day "+10d")’ starts the agenda ten days from today in -the future. +the future. ‘org-agenda-start-on-weekday’ takes precedence over +‘org-agenda-start-day’ in weekly and bi-weekly agendas. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda @@ -9006,7 +9009,7 @@ Bulk remote editing selected entries Unmark entry for bulk action. -‘U’ (‘org-agenda-bulk-remove-all-marks’) +‘U’ (‘org-agenda-bulk-unmark-all’) Unmark all marked entries for bulk action. @@ -10307,7 +10310,7 @@ When the variable ‘org-export-dispatch-use-expert-ui’ is set to a non-‘nil’ value, Org prompts in the minibuffer. To switch back to the hierarchical menu, press ‘?’. -‘C-c C-e’ (‘org-export’) +‘C-c C-e’ (‘org-export-dispatch’) Invokes the export dispatcher interface. The options show default settings. The ‘C-u’ prefix argument preserves options from the @@ -10728,7 +10731,7 @@ with the custom ID ‘theory’, you can use The following command allows navigating to the included document: -‘C-c '’ (‘org-edit~special’) +‘C-c '’ (‘org-edit-special’) Visit the included file at point. @@ -12000,9 +12003,9 @@ previewing LaTeX snippets (see *note Previewing LaTeX fragments::). LaTeX packages ‘babel’ or ‘polyglossia’ can also be loaded in a document. The “AUTO” string will be replaced in both cases by the -appropiate value for the ‘LANGUAGE’ keyword, if present in the document, -or by the value of ‘org-export-default-language’. Let’s see some -examples in one or another case. +appropriate value for the ‘LANGUAGE’ keyword, if present in the +document, or by the value of ‘org-export-default-language’. Let’s see +some examples in one or another case. ‘Babel’ accepts the classic syntax and (in addition) the new syntax with the ‘\babelprovide’ command to load the languages using the new @@ -12559,7 +12562,7 @@ File: org.info, Node: ODT export commands, Next: ODT specific export settings, 13.12.2 ODT export commands --------------------------- -‘C-c C-e o o’ (‘org-export-to-odt’) +‘C-c C-e o o’ (‘org-odt-export-to-odt’) Export as OpenDocument Text file. If ‘org-odt-preferred-output-format’ is specified, the ODT export @@ -13965,7 +13968,12 @@ remove every headline in the buffer during export like this: "Remove all headlines in the current buffer. BACKEND is the export back-end being used, as a symbol." (org-map-entries - (lambda () (delete-region (point) (line-beginning-position 2))))) + (lambda () + (delete-region (point) (line-beginning-position 2)) + ;; We need to tell `org-map-entries' to not skip over heading at + ;; point. Otherwise, it would continue from _next_ heading. See + ;; the docstring of `org-map-entries' for details. + (setq org-map-continue-from (point))))) (add-hook 'org-export-before-parsing-hook #'my-headline-removal) @@ -15851,7 +15859,8 @@ and ‘CALL’ keyword. It is useful for protection against evaluating untrusted code blocks by prompting for a confirmation. ‘yes’ - Org always evaluates the source code without asking permission. + Org evaluates the source code, possibly asking permission according + to ‘org-confirm-babel-evaluate’. ‘never’ or ‘no’ Org never evaluates the source code. @@ -16194,7 +16203,7 @@ options; they are mutually exclusive. ‘discard’ Ignore the results completely. This option is similar to ‘none’, but no processing is performed on the return value. Calling the - code block programatically (see *note How to evaluate source + code block programmatically (see *note How to evaluate source code::) or by reference (see *note Passing arguments:: and *note Noweb Reference Syntax::) will always yield nil. @@ -16455,14 +16464,14 @@ octal shorthand is defined, ‘oXXX’ (‘o’ for octal). Using this, our read-only example is ‘:tangle-mode o444’. Omitting the ‘o’ prefix will cause the argument to be interpreted as an integer, which can lead to unexpected results (‘444’ is the same as ‘o674’). Two other shorthands -are recognised, ls-style strings like ‘rw-r--r--’, and chmod-style +are recognized, ls-style strings like ‘rw-r--r--’, and chmod-style permissions like ‘g+w’. Note that chmod-style permissions are based on ‘org-babel-tangle-default-file-mode’, which is ‘#o544’ by default. When ‘:tangle-mode’ and ‘:shebang’ are both specified, the give ‘:tangle-mode’ will override the permissions from ‘:shebang’. When multiple source code blocks tangle to a single file with conflicting -‘:tangle-mode’ header arguments, Org’s behaviour is undefined. +‘:tangle-mode’ header arguments, Org’s behavior is undefined. By default Org expands code blocks during tangling. The ‘no-expand’ header argument turns off such expansions. Note that one side-effect of @@ -17444,26 +17453,27 @@ and reopening the Org file in Emacs also activates the changes. ‘fnadjust’ Automatically renumber and sort footnotes. ‘nofnadjust’ Do not renumber and sort automatically. - To hide blocks on startup, use these keywords. The corresponding - variable is ‘org-hide-block-startup’. + To hide blocks or drawers on startup, use these keywords. The + corresponding variables are ‘org-hide-block-startup’ and + ‘org-hide-drawer-startup’. - ‘hideblocks’ Hide all begin/end blocks on startup. - ‘nohideblocks’ Do not hide blocks on startup. + ‘hideblocks’ Hide all begin/end blocks on startup. + ‘nohideblocks’ Do not hide blocks on startup. + ‘hidedrawers’ Hide all begin/end blocks on startup. + ‘nohidedrawers’ Do not hide blocks on startup. - The display of entities as UTF-8 characters is governed by the - variable ‘org-pretty-entities’ and the keywords + The display of entities as UTF-8 characters is governed by the +variable ‘org-pretty-entities’ and the keywords - ‘entitiespretty’ Show entities as UTF-8 characters where possible. - ‘entitiesplain’ Leave entities plain. +‘entitiespretty’ Show entities as UTF-8 characters where possible. +‘entitiesplain’ Leave entities plain. ‘#+TAGS: TAG1(c1) TAG2(c2)’ These lines (several such lines are allowed) specify the valid tags in this file, and (potentially) the corresponding _fast tag selection_ keys. The corresponding variable is ‘org-tag-alist’. -‘#+TODO:’ -‘#+SEQ_TODO:’ -‘#+TYP_TODO:’ +‘#+TODO:’, ‘#+SEQ_TODO:’, ‘#+TYP_TODO:’ These lines set the TODO keywords and their interpretation in the current file. The corresponding variable is ‘org-todo-keywords’. @@ -19999,7 +20009,7 @@ D Main Index (line 24) * angle bracket links: Link Format. (line 6) * angular brackets, around links: External Links. (line 136) -* anniversaries, from BBDB: Weekly/daily agenda. (line 78) +* anniversaries, from BBDB: Weekly/daily agenda. (line 79) * API, for mapping: Using the Mapping API. (line 6) * API, for properties: Using the Property API. @@ -20007,10 +20017,10 @@ D Main Index * APPENDIX, property: Headings and sectioning structure. (line 20) * appointment: Timestamps. (line 14) -* appointment <1>: Weekly/daily agenda. (line 125) -* appointment reminders: Weekly/daily agenda. (line 125) -* appt.el: Weekly/daily agenda. (line 125) -* APPT_WARNTIME, keyword: Weekly/daily agenda. (line 125) +* appointment <1>: Weekly/daily agenda. (line 126) +* appointment reminders: Weekly/daily agenda. (line 126) +* appt.el: Weekly/daily agenda. (line 126) +* APPT_WARNTIME, keyword: Weekly/daily agenda. (line 126) * archive locations: Moving subtrees. (line 25) * ARCHIVE, keyword: Moving subtrees. (line 35) * ARCHIVE, keyword <1>: In-buffer Settings. (line 16) @@ -20092,7 +20102,7 @@ D Main Index * backslashes, in links: Link Format. (line 17) * backtrace of an error: Feedback. (line 77) * BBDB links: External Links. (line 6) -* BBDB, anniversaries: Weekly/daily agenda. (line 78) +* BBDB, anniversaries: Weekly/daily agenda. (line 79) * Beamer export: Beamer Export. (line 6) * BEAMER, keyword: Beamer specific syntax. (line 19) @@ -20153,16 +20163,16 @@ D Main Index * C-c C-c, overview: The Very Busy C-c C-c Key. (line 6) * cache results of code evaluation: Evaluating Code Blocks. - (line 110) + (line 111) * cache, header argument: Evaluating Code Blocks. - (line 110) + (line 111) * Calc package: The Spreadsheet. (line 6) * calc.el: Cooperation. (line 7) * calculations, in tables: Built-in Table Editor. (line 181) * calculations, in tables <1>: The Spreadsheet. (line 6) * calendar commands, from agenda: Agenda Commands. (line 447) -* calendar integration: Weekly/daily agenda. (line 32) +* calendar integration: Weekly/daily agenda. (line 33) * calendar, for selecting date: The date/time prompt. (line 78) * CALL, keyword: Evaluating Code Blocks. @@ -20307,7 +20317,7 @@ D Main Index * dash, special symbol: Special Symbols. (line 36) * data type index, in Texinfo export: Indices. (line 6) * date format, custom: Custom time format. (line 6) -* date range: Timestamps. (line 44) +* date range: Timestamps. (line 45) * date stamp: Dates and Times. (line 6) * date stamps: Timestamps. (line 6) * date tree: Template elements. (line 50) @@ -20339,7 +20349,7 @@ D Main Index (line 24) * DESCRIPTION, property <1>: iCalendar Export. (line 51) * diary entries, creating from agenda: Agenda Commands. (line 456) -* diary integration: Weekly/daily agenda. (line 32) +* diary integration: Weekly/daily agenda. (line 33) * diary style timestamps: Timestamps. (line 35) * dictionary word completion: Completion. (line 6) * dir file, in Texinfo export: Info directory file. (line 6) @@ -20464,7 +20474,7 @@ D Main Index * filtering entries, in agenda: Filtering/limiting agenda items. (line 20) * Filters, exporting: Advanced Export Configuration. - (line 31) + (line 36) * FINDEX, keyword: Indices. (line 6) * FLAGGED, tag: Pulling from the mobile application. (line 18) @@ -20590,7 +20600,7 @@ D Main Index * images, markup rules: Images. (line 6) * imenu.el: Cooperation. (line 29) * in-buffer settings: In-buffer Settings. (line 6) -* inactive timestamp: Timestamps. (line 52) +* inactive timestamp: Timestamps. (line 53) * include files, during export: Include Files. (line 6) * INCLUDE, keyword: Include Files. (line 6) * Indent mode: Org Indent Mode. (line 6) @@ -20941,7 +20951,7 @@ D Main Index * regular expressions, with tags search: Matching tags and properties. (line 53) * relative timer: Timers. (line 6) -* reminders: Weekly/daily agenda. (line 125) +* reminders: Weekly/daily agenda. (line 126) * remote editing, bulk, from agenda: Agenda Commands. (line 353) * remote editing, from agenda: Agenda Commands. (line 224) * remote editing, undo: Agenda Commands. (line 228) @@ -20989,7 +20999,7 @@ D Main Index * sep, Texinfo attribute: Plain lists in Texinfo export. (line 30) * SEQ_TODO, keyword: Per-file keywords. (line 6) -* SEQ_TODO, keyword <1>: In-buffer Settings. (line 191) +* SEQ_TODO, keyword <1>: In-buffer Settings. (line 192) * session, header argument: Environment of a Code Block. (line 280) * setting tags: Setting Tags. (line 6) @@ -21151,7 +21161,7 @@ D Main Index * tags, as an agenda view: Storing searches. (line 11) * tags, groups: Tag Hierarchy. (line 6) * TAGS, keyword: Setting Tags. (line 22) -* TAGS, keyword <1>: In-buffer Settings. (line 184) +* TAGS, keyword <1>: In-buffer Settings. (line 187) * tags, setting: Setting Tags. (line 6) * TAGS, special property: Special Properties. (line 13) * tags-todo: Storing searches. (line 11) @@ -21224,11 +21234,11 @@ D Main Index (line 6) * time-of-day specification: Time-of-day specifications. (line 6) -* timerange: Timestamps. (line 44) +* timerange: Timestamps. (line 45) * times: Dates and Times. (line 6) * timestamp: Dates and Times. (line 6) * timestamp <1>: Timestamps. (line 14) -* timestamp, inactive: Timestamps. (line 52) +* timestamp, inactive: Timestamps. (line 53) * TIMESTAMP, special property: Special Properties. (line 13) * timestamp, with repeater interval: Timestamps. (line 25) * timestamps: Timestamps. (line 6) @@ -21253,7 +21263,7 @@ D Main Index * TODO workflow: Workflow states. (line 6) * todo, as an agenda view: Storing searches. (line 11) * TODO, keyword: Per-file keywords. (line 6) -* TODO, keyword <1>: In-buffer Settings. (line 191) +* TODO, keyword <1>: In-buffer Settings. (line 192) * TODO, special property: Special Properties. (line 13) * todo-tree: Storing searches. (line 11) * top headline filtering, in agenda: Filtering/limiting agenda items. @@ -21270,7 +21280,7 @@ D Main Index (line 19) * types as TODO keywords: TODO types. (line 6) * TYP_TODO, keyword: Per-file keywords. (line 6) -* TYP_TODO, keyword <1>: In-buffer Settings. (line 191) +* TYP_TODO, keyword <1>: In-buffer Settings. (line 192) * underlined text, markup rules: Emphasis and Monospace. (line 6) * undoing remote-editing events: Agenda Commands. (line 228) @@ -21777,7 +21787,7 @@ E Key Index * C-c C-x _: Timers. (line 47) * C-c C-y: Creating Timestamps. (line 62) * C-c C-y <1>: Clocking commands. (line 53) -* C-c C-z: Drawers. (line 39) +* C-c C-z: Drawers. (line 40) * C-c C-z <1>: Agenda Commands. (line 296) * C-c M-w: Refile and Copy. (line 51) * C-c RET: Built-in Table Editor. @@ -22137,10 +22147,10 @@ F Command and Function Index * org-agenda-bulk-mark: Agenda Commands. (line 354) * org-agenda-bulk-mark-all: Agenda Commands. (line 360) * org-agenda-bulk-mark-regexp: Agenda Commands. (line 380) -* org-agenda-bulk-remove-all-marks: Agenda Commands. (line 368) * org-agenda-bulk-toggle: Agenda Commands. (line 372) * org-agenda-bulk-toggle-all: Agenda Commands. (line 376) * org-agenda-bulk-unmark: Agenda Commands. (line 364) +* org-agenda-bulk-unmark-all: Agenda Commands. (line 368) * org-agenda-capture: Agenda Commands. (line 346) * org-agenda-clock-cancel: Agenda Commands. (line 340) * org-agenda-clock-goto: Agenda Commands. (line 124) @@ -22327,8 +22337,8 @@ F Command and Function Index (line 10) * org-batch-agenda-csv: Extracting Agenda Information. (line 41) -* org-bbdb-anniversaries: Weekly/daily agenda. (line 78) -* org-bbdb-anniversaries-future: Weekly/daily agenda. (line 109) +* org-bbdb-anniversaries: Weekly/daily agenda. (line 79) +* org-bbdb-anniversaries-future: Weekly/daily agenda. (line 110) * org-beamer-export-as-latex: Beamer export commands. (line 12) * org-beamer-export-to-latex: Beamer export commands. @@ -22432,13 +22442,12 @@ F Command and Function Index (line 53) * org-evaluate-time-range: Creating Timestamps. (line 62) * org-evaluate-time-range <1>: Clocking commands. (line 53) -* org-export: The Export Dispatcher. - (line 16) * org-export-define-backend: Adding Export Back-ends. (line 10) * org-export-define-derived-backend: Adding Export Back-ends. (line 10) -* org-export-to-odt: ODT export commands. (line 7) +* org-export-dispatch: The Export Dispatcher. + (line 16) * org-forward-heading-same-level: Motion. (line 15) * org-global-cycle: Global and local cycling. (line 20) @@ -22517,6 +22526,7 @@ F Command and Function Index * org-occur: Sparse Trees. (line 20) * org-odt-convert: Extending ODT export. (line 37) +* org-odt-export-to-odt: ODT export commands. (line 7) * org-open-at-point: Handling Links. (line 108) * org-open-at-point <1>: Creating Timestamps. (line 40) * org-open-at-point-global: Using Links Outside Org. @@ -23145,6 +23155,7 @@ org-customize’ and then click yourself through the tree. * org-hide, face: Hard indentation. (line 21) * org-hide-block-startup: Blocks. (line 6) * org-hide-block-startup <1>: In-buffer Settings. (line 171) +* org-hide-drawer-startup: In-buffer Settings. (line 171) * org-hide-leading-stars: Hard indentation. (line 21) * org-hide-leading-stars <1>: In-buffer Settings. (line 134) * org-hide-macro-markers: Macro Replacement. (line 88) @@ -23386,7 +23397,7 @@ org-customize’ and then click yourself through the tree. (line 78) * org-pretty-entities: Subscripts and Superscripts. (line 29) -* org-pretty-entities <1>: In-buffer Settings. (line 177) +* org-pretty-entities <1>: In-buffer Settings. (line 180) * org-pretty-entities-include-sub-superscripts: Subscripts and Superscripts. (line 29) * org-preview-latex-default-process: Previewing LaTeX fragments. @@ -23486,7 +23497,7 @@ org-customize’ and then click yourself through the tree. * org-table-use-standard-references: Editing and debugging formulas. (line 6) * org-tag-alist: Setting Tags. (line 22) -* org-tag-alist <1>: In-buffer Settings. (line 184) +* org-tag-alist <1>: In-buffer Settings. (line 187) * org-tag-faces: Tags. (line 10) * org-tag-persistent-alist: Setting Tags. (line 37) * org-tags-column: Setting Tags. (line 11) @@ -23520,7 +23531,7 @@ org-customize’ and then click yourself through the tree. * org-todo-keywords: TODO Basics. (line 35) * org-todo-keywords <1>: TODO Extensions. (line 6) * org-todo-keywords <2>: Global TODO list. (line 18) -* org-todo-keywords <3>: In-buffer Settings. (line 191) +* org-todo-keywords <3>: In-buffer Settings. (line 192) * org-todo-repeat-to-state: Repeated tasks. (line 22) * org-todo-state-tags-triggers: TODO Basics. (line 56) * org-track-ordered-property-with-tag: TODO dependencies. (line 38) @@ -23590,544 +23601,544 @@ Ref: Plain Lists-Footnote-564268 Ref: Plain Lists-Footnote-664372 Ref: Plain Lists-Footnote-764478 Node: Drawers64548 -Ref: Drawers-Footnote-166218 -Node: Blocks66330 -Node: Tables66923 -Node: Built-in Table Editor67606 -Ref: Creation and conversion69342 -Ref: Re-aligning and field motion70280 -Ref: Column and row editing71193 -Ref: Regions73623 -Ref: Calculations75022 -Ref: Miscellaneous (1)75835 -Ref: Built-in Table Editor-Footnote-178312 -Node: Column Width and Alignment78420 -Node: Column Groups81757 -Node: Orgtbl Mode83324 -Node: The Spreadsheet84139 -Node: References85613 -Ref: Field references86072 -Ref: Range references88511 -Ref: Field coordinates in formulas89770 -Ref: Named references90755 -Ref: Remote references91726 -Ref: References-Footnote-192648 -Ref: References-Footnote-292876 -Ref: References-Footnote-392979 -Node: Formula syntax for Calc93304 -Ref: Formula syntax for Calc-Footnote-199166 -Node: Formula syntax for Lisp99505 -Node: Durations and time values101738 -Node: Field and range formulas103125 -Node: Column formulas105594 -Node: Lookup functions107706 -Node: Editing and debugging formulas109675 -Ref: Using multiple TBLFM lines114192 -Ref: Debugging formulas115035 -Node: Updating the table115453 -Node: Advanced features116825 -Ref: Advanced features-Footnote-1121276 -Node: Org Plot121384 -Ref: Graphical plots using Gnuplot121585 -Ref: Plot options124108 -Ref: ASCII bar plots126900 -Node: Hyperlinks128150 -Node: Link Format129014 -Ref: Link Format-Footnote-1131077 -Ref: Link Format-Footnote-2131309 -Node: Internal Links131441 -Ref: Internal Links-Footnote-1134003 -Ref: Internal Links-Footnote-2134243 -Node: Radio Targets134384 -Node: External Links135101 -Ref: External Links-Footnote-1140585 -Node: Handling Links141009 -Ref: Handling Links-Footnote-1148765 -Ref: Handling Links-Footnote-2148955 -Ref: Handling Links-Footnote-3149251 -Ref: Handling Links-Footnote-4149513 -Ref: Handling Links-Footnote-5149635 -Node: Using Links Outside Org149710 -Node: Link Abbreviations150185 -Node: Search Options153146 -Ref: Search Options-Footnote-1155284 -Node: Custom Searches155365 -Node: TODO Items156399 -Ref: TODO Items-Footnote-1157524 -Node: TODO Basics157638 -Node: TODO Extensions160273 -Node: Workflow states161326 -Ref: Workflow states-Footnote-1162725 -Node: TODO types162841 -Ref: TODO types-Footnote-1164660 -Node: Multiple sets in one file164732 -Node: Fast access to TODO states166677 -Ref: Fast access to TODO states-Footnote-1167560 -Ref: Fast access to TODO states-Footnote-2167667 -Node: Per-file keywords167969 -Ref: Per-file keywords-Footnote-1169439 -Node: Faces for TODO keywords169643 -Node: TODO dependencies170716 -Node: Progress Logging173207 -Node: Closing items174344 -Ref: Closing items-Footnote-1175344 -Ref: Closing items-Footnote-2175418 -Node: Tracking TODO state changes175496 -Ref: Tracking TODO state changes-Footnote-1178631 -Ref: Tracking TODO state changes-Footnote-2178693 -Ref: Tracking TODO state changes-Footnote-3178851 -Node: Tracking your habits179129 -Node: Priorities183549 -Ref: Priorities-Footnote-1186061 -Node: Breaking Down Tasks186134 -Ref: Breaking Down Tasks-Footnote-1188176 -Node: Checkboxes188283 -Ref: Checkboxes-Footnote-1193426 -Ref: Checkboxes-Footnote-2193554 -Ref: Checkboxes-Footnote-3193734 -Node: Tags193848 -Node: Tag Inheritance194941 -Ref: Tag Inheritance-Footnote-1196813 -Ref: Tag Inheritance-Footnote-2196917 -Node: Setting Tags197047 -Ref: Setting Tags-Footnote-1203618 -Ref: Setting Tags-Footnote-2203796 -Node: Tag Hierarchy203874 -Node: Tag Searches207474 -Node: Properties and Columns208785 -Node: Property Syntax210173 -Node: Special Properties214778 -Node: Property Searches216468 -Node: Property Inheritance217943 -Node: Column View219815 -Node: Defining columns221066 -Node: Scope of column definitions221451 -Node: Column attributes222510 -Ref: Column attributes-Footnote-1226921 -Ref: Column attributes-Footnote-2227052 -Ref: Column attributes-Footnote-3227250 -Node: Using column view227389 -Ref: Turning column view on or off227555 -Ref: Editing values228596 -Ref: Modifying column view on-the-fly229999 -Node: Capturing column view230371 -Ref: Capturing column view-Footnote-1234099 -Node: Dates and Times234236 -Node: Timestamps235155 -Ref: Timestamps-Footnote-1237528 -Ref: Timestamps-Footnote-2237824 -Node: Creating Timestamps238607 -Node: The date/time prompt241621 -Ref: The date/time prompt-Footnote-1246582 -Ref: The date/time prompt-Footnote-2246753 -Ref: The date/time prompt-Footnote-3246864 -Ref: The date/time prompt-Footnote-4247119 -Node: Custom time format247217 -Node: Deadlines and Scheduling248986 -Ref: Deadlines and Scheduling-Footnote-1252556 -Node: Inserting deadline/schedule252719 -Ref: Inserting deadline/schedule-Footnote-1254711 -Ref: Inserting deadline/schedule-Footnote-2254872 -Ref: Inserting deadline/schedule-Footnote-3254998 -Node: Repeated tasks255124 -Ref: Repeated tasks-Footnote-1259759 -Ref: Repeated tasks-Footnote-2259842 -Ref: Repeated tasks-Footnote-3260125 -Node: Clocking Work Time260347 -Ref: Clocking Work Time-Footnote-1261552 -Ref: Clocking Work Time-Footnote-2261705 -Node: Clocking commands261847 -Ref: Clocking commands-Footnote-1266952 -Ref: Clocking commands-Footnote-2267067 -Ref: Clocking commands-Footnote-3267149 -Ref: Clocking commands-Footnote-4267212 -Node: The clock table267295 -Ref: The clock table-Footnote-1276113 -Ref: The clock table-Footnote-2276222 -Ref: The clock table-Footnote-3276320 -Node: Resolving idle time276446 -Ref: Resolving idle time (1)276642 -Ref: Continuous clocking279839 -Ref: Clocking out automatically after some idle time280345 -Ref: Resolving idle time-Footnote-1280977 -Node: Effort Estimates281425 -Ref: Effort Estimates-Footnote-1284382 -Node: Timers284493 -Node: Refiling and Archiving286706 -Node: Refile and Copy287269 -Ref: Refile and Copy-Footnote-1290097 -Node: Archiving290211 -Node: Moving subtrees290924 -Node: Internal archiving293050 -Node: Capture and Attachments295779 -Node: Capture296584 -Node: Setting up capture297108 -Node: Using capture297471 -Node: Capture templates299869 -Node: Template elements301908 -Ref: Template elements-Footnote-1310114 -Ref: Template elements-Footnote-2310447 -Ref: Template elements-Footnote-3310730 -Node: Template expansion310825 -Ref: Template expansion-Footnote-1314892 -Ref: Template expansion-Footnote-2314983 -Ref: Template expansion-Footnote-3315173 -Node: Templates in contexts315272 -Node: Attachments316117 -Node: Attachment defaults and dispatcher317147 -Ref: Attachment defaults and dispatcher-Footnote-1320497 -Node: Attachment options320648 -Node: Attachment links324667 -Node: Automatic version-control with Git325306 -Node: Attach from Dired325821 -Node: RSS Feeds327185 -Node: Agenda Views328636 -Node: Agenda Files331043 -Ref: Agenda Files-Footnote-1333954 -Ref: Agenda Files-Footnote-2334098 -Node: Agenda Dispatcher334296 -Ref: Agenda Dispatcher-Footnote-1337173 -Ref: Agenda Dispatcher-Footnote-2337271 -Node: Built-in Agenda Views337377 -Node: Weekly/daily agenda337974 -Ref: Calendar/Diary integration339314 -Ref: Anniversaries from BBDB341390 -Ref: Appointment reminders343181 -Ref: Weekly/daily agenda-Footnote-1343731 -Ref: Weekly/daily agenda-Footnote-2343975 -Node: Global TODO list344195 -Node: Matching tags and properties347046 -Node: Search view354155 -Node: Stuck projects355802 -Node: Presentation and Sorting357939 -Node: Categories358916 -Node: Time-of-day specifications359662 -Ref: Time-of-day specifications-Footnote-1361653 -Node: Sorting of agenda items361776 -Node: Filtering/limiting agenda items363394 -Ref: Filtering in the agenda364099 -Ref: Computed tag filtering368233 -Ref: Setting limits for the agenda369727 -Ref: Filtering/limiting agenda items-Footnote-1371276 -Node: Agenda Commands371828 -Ref: Motion (1)372561 -Ref: View/Go to Org file372764 -Ref: Change display374270 -Ref: Remote editing381827 -Ref: Bulk remote editing selected entries387180 -Ref: Calendar commands390275 -Ref: Quit and exit392156 -Ref: Agenda Commands-Footnote-1392518 -Ref: Agenda Commands-Footnote-2392594 -Ref: Agenda Commands-Footnote-3392698 -Node: Custom Agenda Views392785 -Node: Storing searches393437 -Ref: Storing searches-Footnote-1396389 -Ref: Storing searches-Footnote-2396506 -Node: Block agenda396753 -Node: Setting options398082 -Node: Exporting Agenda Views401696 -Ref: Exporting Agenda Views-Footnote-1406235 -Ref: Exporting Agenda Views-Footnote-2406456 -Ref: Exporting Agenda Views-Footnote-3406606 -Ref: Exporting Agenda Views-Footnote-4406793 -Node: Agenda Column View406875 -Node: Markup for Rich Contents410223 -Node: Paragraphs411521 -Node: Emphasis and Monospace412656 -Node: Subscripts and Superscripts413715 -Node: Special Symbols415333 -Ref: Special Symbols-Footnote-1417246 -Ref: Special Symbols-Footnote-2417411 -Node: Embedded LaTeX417508 -Ref: Embedded LaTeX-Footnote-1418357 -Node: LaTeX fragments418553 -Ref: LaTeX fragments-Footnote-1420710 -Node: Previewing LaTeX fragments420903 -Ref: Previewing LaTeX fragments-Footnote-1422386 -Node: CDLaTeX mode422635 -Ref: CDLaTeX mode-Footnote-1425384 -Node: Literal Examples425531 -Ref: Literal Examples-Footnote-1430642 -Ref: Literal Examples-Footnote-2431098 -Ref: Literal Examples-Footnote-3431276 -Ref: Literal Examples-Footnote-4431461 -Node: Images431559 -Ref: Images-Footnote-1433686 -Ref: Images-Footnote-2433809 -Ref: Images-Footnote-3433970 -Node: Captions434056 -Node: Horizontal Rules434756 -Node: Creating Footnotes435012 -Ref: Creating Footnotes-Footnote-1438141 -Ref: Creating Footnotes-Footnote-2438247 -Node: Exporting438354 -Node: The Export Dispatcher441128 -Node: Export Settings443873 -Ref: Export Settings-Footnote-1451966 -Ref: Export Settings-Footnote-2452078 -Ref: Export Settings-Footnote-3452179 -Node: Table of Contents452377 -Ref: Table of Contents-Footnote-1455051 -Node: Include Files455218 -Ref: Include Files-Footnote-1458155 -Node: Macro Replacement458333 -Ref: Macro Replacement-Footnote-1462214 -Node: Comment Lines462431 -Ref: Comment Lines-Footnote-1463294 -Node: ASCII/Latin-1/UTF-8 export463398 -Ref: ASCII export commands464252 -Ref: ASCII specific export settings464785 -Ref: Header and sectioning structure465229 -Ref: Quoting ASCII text465503 -Ref: ASCII specific attributes465875 -Ref: ASCII special blocks466152 -Node: Beamer Export466499 -Node: Beamer export commands467249 -Node: Beamer specific export settings467954 -Node: Frames and Blocks in Beamer469859 -Ref: Frames and Blocks in Beamer-Footnote-1473217 -Node: Beamer specific syntax473376 -Node: Editing support475355 -Node: A Beamer example475826 -Node: HTML Export477080 -Node: HTML export commands478190 -Node: HTML specific export settings478732 -Node: HTML doctypes480951 -Node: HTML preamble and postamble483126 -Node: Quoting HTML tags484191 -Node: Headlines in HTML export484890 -Node: Links in HTML export485485 -Node: Tables in HTML export486954 -Node: Images in HTML export488411 -Node: Math formatting in HTML export489901 -Ref: Math formatting in HTML export-Footnote-1491291 -Ref: Math formatting in HTML export-Footnote-2491483 -Node: Text areas in HTML export491766 -Node: CSS support492911 -Ref: CSS support-Footnote-1496562 -Node: JavaScript support496742 -Node: LaTeX Export499929 -Node: LaTeX/PDF export commands501849 -Ref: LaTeX/PDF export commands-Footnote-1503352 -Node: LaTeX specific export settings503554 -Node: LaTeX header and sectioning507038 -Node: Quoting LaTeX code510867 -Node: Tables in LaTeX export511663 -Node: Images in LaTeX export516929 -Node: Plain lists in LaTeX export519586 -Node: Source blocks in LaTeX export520606 -Ref: Source blocks in LaTeX export-Footnote-1522262 -Node: Example blocks in LaTeX export522420 -Node: Special blocks in LaTeX export523146 -Node: Horizontal rules in LaTeX export524409 -Node: Verse blocks in LaTeX export524846 -Node: Quote blocks in LaTeX export526860 -Node: Markdown Export527979 -Ref: Markdown export commands528447 -Ref: Header and sectioning structure (1)528884 -Node: OpenDocument Text Export529301 -Ref: OpenDocument Text Export-Footnote-1530407 -Node: Pre-requisites for ODT export530557 -Node: ODT export commands530935 -Node: ODT specific export settings532115 -Node: Extending ODT export533166 -Ref: Automatically exporting to other formats533977 -Ref: Converting between document formats534403 -Node: Applying custom styles534945 -Ref: Applying custom styles the easy way535477 -Ref: Using third-party styles and templates536435 -Node: Links in ODT export536732 -Node: Tables in ODT export537394 -Node: Images in ODT export539404 -Ref: Embedding images539608 -Ref: Embedding clickable images539925 -Ref: Sizing and scaling of embedded images540259 -Ref: Anchoring of images541943 -Node: Math formatting in ODT export542265 -Node: LaTeX math snippets542694 -Ref: LaTeX math snippets-Footnote-1544947 -Ref: LaTeX math snippets-Footnote-2545023 -Node: MathML and OpenDocument formula files545069 -Node: Labels and captions in ODT export545577 -Node: Literal examples in ODT export546853 -Node: Advanced topics in ODT export547694 -Ref: Configuring a document converter548004 -Ref: Working with OpenDocument style files548945 -Ref: x-orgodtstyles-xml549411 -Ref: x-orgodtcontenttemplate-xml549753 -Ref: x-overriding-factory-styles550397 -Ref: Creating one-off styles551641 -Ref: Customizing tables in ODT export553645 -Ref: Validating OpenDocument XML558505 -Ref: Advanced topics in ODT export-Footnote-1559302 -Ref: Advanced topics in ODT export-Footnote-2559407 -Ref: Advanced topics in ODT export-Footnote-3559500 -Node: Org Export559848 -Ref: Org export commands560204 -Node: Texinfo Export560510 -Node: Texinfo export commands561550 -Node: Texinfo specific export settings562175 -Node: Texinfo file header563328 -Node: Texinfo title and copyright page564311 -Node: Info directory file565675 -Node: Headings and sectioning structure566400 -Node: Indices568430 -Node: Quoting Texinfo code569459 -Node: Plain lists in Texinfo export569957 -Node: Tables in Texinfo export574683 -Node: Images in Texinfo export575179 -Node: Quotations in Texinfo export575817 -Node: Key bindings in Texinfo export576769 -Node: Special blocks in Texinfo export577572 -Node: A Texinfo example578407 -Node: iCalendar Export580509 -Node: Other Built-in Back-ends584798 -Node: Advanced Export Configuration585430 -Ref: Export hooks585642 -Ref: Filters586580 -Ref: Defining filters for individual files589089 -Ref: Extending an existing back-end589895 -Node: Export in Foreign Buffers592135 -Node: Bare HTML593376 -Node: Publishing593918 -Node: Configuration594794 -Node: Project alist595576 -Node: Sources and destinations596718 -Node: Selecting files598036 -Node: Publishing action598991 -Ref: Publishing action-Footnote-1600824 -Node: Publishing options600987 -Ref: Generic properties601739 -Ref: ASCII specific properties603626 -Ref: Beamer specific properties605226 -Ref: HTML specific properties605791 -Ref: LaTeX specific properties610274 -Ref: Markdown specific properties613440 -Ref: ODT specific properties613737 -Ref: Texinfo specific properties614669 -Node: Publishing links616091 -Node: Site map617545 -Node: Generating an index620862 -Node: Uploading Files621654 -Node: Sample Configuration623437 -Node: Simple example623935 -Node: Complex example624651 -Node: Triggering Publication626700 -Node: Citation handling627726 -Node: Citations628725 -Node: Citation export processors630418 -Node: Bibliography printing633158 -Node: Bibliography options in the ``biblatex'' and ``csl'' export processors634314 -Node: Working with Source Code636438 -Node: Features Overview638777 -Node: Structure of Code Blocks641536 -Node: Using Header Arguments644045 -Ref: System-wide header arguments644772 -Ref: Header arguments in Org mode properties646443 -Ref: Code block specific header arguments648269 -Ref: Header arguments in function calls649768 -Node: Environment of a Code Block650442 -Ref: Passing arguments650656 -Ref: Using sessions658942 -Ref: Choosing a working directory660341 -Ref: Inserting headers and footers662646 -Node: Evaluating Code Blocks663156 -Ref: How to evaluate source code663611 -Ref: Limit code block evaluation666561 -Ref: Cache results of evaluation667501 -Ref: Evaluating Code Blocks-Footnote-1670014 -Ref: Evaluating Code Blocks-Footnote-2670148 -Node: Results of Evaluation670306 -Ref: Collection671113 -Ref: Type672574 -Ref: Format676517 -Ref: Handling678950 -Ref: Post-processing680334 -Ref: Results of Evaluation-Footnote-1682084 -Node: Exporting Code Blocks682242 -Node: Extracting Source Code685913 -Ref: Header arguments686894 -Ref: Functions691130 -Ref: Tangle hooks691381 -Ref: Jumping between code and Org692157 -Node: Languages692667 -Node: Editing Source Code693668 -Node: Noweb Reference Syntax696398 -Ref: Noweb Reference Syntax-Footnote-1703038 -Node: Library of Babel703129 -Node: Key bindings and Useful Functions703847 -Node: Batch Execution706272 -Node: Miscellaneous707055 -Node: Completion708449 -Node: Structure Templates710374 -Ref: Structure Templates-Footnote-1712124 -Node: Speed Keys712216 -Node: Clean View713385 -Node: Org Indent Mode714587 -Ref: Org Indent Mode-Footnote-1715793 -Node: Hard indentation716017 -Ref: Hard indentation-Footnote-1717500 -Ref: Hard indentation-Footnote-2717606 -Node: Execute commands in the active region717750 -Node: Dynamic Headline Numbering718762 -Node: The Very Busy C-c C-c Key719928 -Node: In-buffer Settings721916 -Ref: In-buffer Settings-Footnote-1731042 -Node: Regular Expressions731240 -Node: Org Syntax731862 -Node: Documentation Access733520 -Node: Escape Character733941 -Node: Code Evaluation Security734802 -Node: Interaction737669 -Node: Cooperation738092 -Node: Conflicts740984 -Node: TTY Keys745586 -Node: Protocols747188 -Node: The store-link protocol748649 -Node: The capture protocol749792 -Node: The open-source protocol751425 -Node: Org Crypt754666 -Node: Org Mobile756545 -Node: Setting up the staging area757901 -Ref: Setting up the staging area-Footnote-1759141 -Ref: Setting up the staging area-Footnote-2759348 -Node: Pushing to the mobile application759520 -Ref: Pushing to the mobile application-Footnote-1760531 -Ref: Pushing to the mobile application-Footnote-2760622 -Ref: Pushing to the mobile application-Footnote-3760989 -Node: Pulling from the mobile application761065 -Ref: Pulling from the mobile application-Footnote-1763378 -Node: Hacking763431 -Node: Hooks764382 -Node: Add-on Packages764706 -Node: Adding Hyperlink Types765175 -Node: Adding Export Back-ends768770 -Node: Tables in Arbitrary Syntax770027 -Node: Radio tables771296 -Node: A LaTeX example773433 -Ref: A LaTeX example-Footnote-1777285 -Ref: A LaTeX example-Footnote-2777328 -Ref: A LaTeX example-Footnote-3777489 -Node: Translator functions777941 -Node: Dynamic Blocks780117 -Node: Special Agenda Views782363 -Ref: Special Agenda Views-Footnote-1786074 -Ref: Special Agenda Views-Footnote-2786281 -Node: Speeding Up Your Agendas786413 -Node: Extracting Agenda Information787804 -Node: Using the Property API791609 -Node: Using the Mapping API794964 -Node: History and Acknowledgments798997 -Ref: From Carsten799195 -Ref: From Bastien802626 -Ref: List of Contributions804758 -Node: GNU Free Documentation License813420 -Ref: ADDENDUM How to use this License for your documents837378 -Node: Main Index838771 -Node: Key Index936596 -Node: Command and Function Index993252 -Node: Variable Index1040862 +Ref: Drawers-Footnote-166243 +Node: Blocks66355 +Node: Tables66948 +Node: Built-in Table Editor67631 +Ref: Creation and conversion69367 +Ref: Re-aligning and field motion70305 +Ref: Column and row editing71240 +Ref: Regions73670 +Ref: Calculations75069 +Ref: Miscellaneous (1)75882 +Ref: Built-in Table Editor-Footnote-178359 +Node: Column Width and Alignment78467 +Node: Column Groups81804 +Node: Orgtbl Mode83371 +Node: The Spreadsheet84186 +Node: References85660 +Ref: Field references86119 +Ref: Range references88558 +Ref: Field coordinates in formulas89817 +Ref: Named references90802 +Ref: Remote references91773 +Ref: References-Footnote-192695 +Ref: References-Footnote-292923 +Ref: References-Footnote-393026 +Node: Formula syntax for Calc93351 +Ref: Formula syntax for Calc-Footnote-199213 +Node: Formula syntax for Lisp99552 +Node: Durations and time values101785 +Node: Field and range formulas103172 +Node: Column formulas105641 +Node: Lookup functions107753 +Node: Editing and debugging formulas109722 +Ref: Using multiple TBLFM lines114239 +Ref: Debugging formulas115082 +Node: Updating the table115500 +Node: Advanced features116872 +Ref: Advanced features-Footnote-1121323 +Node: Org Plot121431 +Ref: Graphical plots using Gnuplot121632 +Ref: Plot options124155 +Ref: ASCII bar plots126947 +Node: Hyperlinks128197 +Node: Link Format129061 +Ref: Link Format-Footnote-1131124 +Ref: Link Format-Footnote-2131356 +Node: Internal Links131488 +Ref: Internal Links-Footnote-1134050 +Ref: Internal Links-Footnote-2134290 +Node: Radio Targets134431 +Node: External Links135148 +Ref: External Links-Footnote-1140632 +Node: Handling Links141056 +Ref: Handling Links-Footnote-1148812 +Ref: Handling Links-Footnote-2149002 +Ref: Handling Links-Footnote-3149298 +Ref: Handling Links-Footnote-4149560 +Ref: Handling Links-Footnote-5149682 +Node: Using Links Outside Org149757 +Node: Link Abbreviations150232 +Node: Search Options153193 +Ref: Search Options-Footnote-1155331 +Node: Custom Searches155412 +Node: TODO Items156446 +Ref: TODO Items-Footnote-1157571 +Node: TODO Basics157685 +Node: TODO Extensions160320 +Node: Workflow states161373 +Ref: Workflow states-Footnote-1162772 +Node: TODO types162888 +Ref: TODO types-Footnote-1164707 +Node: Multiple sets in one file164779 +Node: Fast access to TODO states166724 +Ref: Fast access to TODO states-Footnote-1167607 +Ref: Fast access to TODO states-Footnote-2167714 +Node: Per-file keywords168016 +Ref: Per-file keywords-Footnote-1169486 +Node: Faces for TODO keywords169690 +Node: TODO dependencies170763 +Node: Progress Logging173254 +Node: Closing items174391 +Ref: Closing items-Footnote-1175391 +Ref: Closing items-Footnote-2175465 +Node: Tracking TODO state changes175543 +Ref: Tracking TODO state changes-Footnote-1178678 +Ref: Tracking TODO state changes-Footnote-2178740 +Ref: Tracking TODO state changes-Footnote-3178898 +Node: Tracking your habits179176 +Node: Priorities183596 +Ref: Priorities-Footnote-1186108 +Node: Breaking Down Tasks186181 +Ref: Breaking Down Tasks-Footnote-1188223 +Node: Checkboxes188330 +Ref: Checkboxes-Footnote-1193473 +Ref: Checkboxes-Footnote-2193601 +Ref: Checkboxes-Footnote-3193781 +Node: Tags193895 +Node: Tag Inheritance194988 +Ref: Tag Inheritance-Footnote-1196860 +Ref: Tag Inheritance-Footnote-2196964 +Node: Setting Tags197094 +Ref: Setting Tags-Footnote-1203665 +Ref: Setting Tags-Footnote-2203843 +Node: Tag Hierarchy203921 +Node: Tag Searches207521 +Node: Properties and Columns208832 +Node: Property Syntax210220 +Node: Special Properties214824 +Node: Property Searches216514 +Node: Property Inheritance217989 +Node: Column View219861 +Node: Defining columns221112 +Node: Scope of column definitions221497 +Node: Column attributes222556 +Ref: Column attributes-Footnote-1226967 +Ref: Column attributes-Footnote-2227098 +Ref: Column attributes-Footnote-3227296 +Node: Using column view227435 +Ref: Turning column view on or off227601 +Ref: Editing values228642 +Ref: Modifying column view on-the-fly230045 +Node: Capturing column view230417 +Ref: Capturing column view-Footnote-1234145 +Node: Dates and Times234282 +Node: Timestamps235201 +Ref: Timestamps-Footnote-1237616 +Ref: Timestamps-Footnote-2237912 +Node: Creating Timestamps238695 +Node: The date/time prompt241709 +Ref: The date/time prompt-Footnote-1246670 +Ref: The date/time prompt-Footnote-2246841 +Ref: The date/time prompt-Footnote-3246952 +Ref: The date/time prompt-Footnote-4247207 +Node: Custom time format247305 +Node: Deadlines and Scheduling249074 +Ref: Deadlines and Scheduling-Footnote-1252644 +Node: Inserting deadline/schedule252807 +Ref: Inserting deadline/schedule-Footnote-1254799 +Ref: Inserting deadline/schedule-Footnote-2254960 +Ref: Inserting deadline/schedule-Footnote-3255086 +Node: Repeated tasks255212 +Ref: Repeated tasks-Footnote-1259847 +Ref: Repeated tasks-Footnote-2259930 +Ref: Repeated tasks-Footnote-3260213 +Node: Clocking Work Time260435 +Ref: Clocking Work Time-Footnote-1261640 +Ref: Clocking Work Time-Footnote-2261793 +Node: Clocking commands261935 +Ref: Clocking commands-Footnote-1267040 +Ref: Clocking commands-Footnote-2267155 +Ref: Clocking commands-Footnote-3267237 +Ref: Clocking commands-Footnote-4267300 +Node: The clock table267383 +Ref: The clock table-Footnote-1276201 +Ref: The clock table-Footnote-2276310 +Ref: The clock table-Footnote-3276408 +Node: Resolving idle time276534 +Ref: Resolving idle time (1)276730 +Ref: Continuous clocking279927 +Ref: Clocking out automatically after some idle time280433 +Ref: Resolving idle time-Footnote-1281065 +Node: Effort Estimates281513 +Ref: Effort Estimates-Footnote-1284470 +Node: Timers284581 +Node: Refiling and Archiving286794 +Node: Refile and Copy287357 +Ref: Refile and Copy-Footnote-1290185 +Node: Archiving290299 +Node: Moving subtrees291012 +Node: Internal archiving293138 +Node: Capture and Attachments295867 +Node: Capture296672 +Node: Setting up capture297196 +Node: Using capture297559 +Node: Capture templates299957 +Node: Template elements301996 +Ref: Template elements-Footnote-1310202 +Ref: Template elements-Footnote-2310535 +Ref: Template elements-Footnote-3310818 +Node: Template expansion310913 +Ref: Template expansion-Footnote-1314980 +Ref: Template expansion-Footnote-2315071 +Ref: Template expansion-Footnote-3315261 +Node: Templates in contexts315360 +Node: Attachments316205 +Node: Attachment defaults and dispatcher317235 +Ref: Attachment defaults and dispatcher-Footnote-1320585 +Node: Attachment options320736 +Node: Attachment links324755 +Node: Automatic version-control with Git325394 +Node: Attach from Dired325909 +Node: RSS Feeds327273 +Node: Agenda Views328724 +Node: Agenda Files331131 +Ref: Agenda Files-Footnote-1334042 +Ref: Agenda Files-Footnote-2334186 +Node: Agenda Dispatcher334384 +Ref: Agenda Dispatcher-Footnote-1337261 +Ref: Agenda Dispatcher-Footnote-2337359 +Node: Built-in Agenda Views337465 +Node: Weekly/daily agenda338062 +Ref: Calendar/Diary integration339519 +Ref: Anniversaries from BBDB341595 +Ref: Appointment reminders343386 +Ref: Weekly/daily agenda-Footnote-1343936 +Ref: Weekly/daily agenda-Footnote-2344180 +Node: Global TODO list344400 +Node: Matching tags and properties347251 +Node: Search view354360 +Node: Stuck projects356007 +Node: Presentation and Sorting358144 +Node: Categories359121 +Node: Time-of-day specifications359867 +Ref: Time-of-day specifications-Footnote-1361858 +Node: Sorting of agenda items361981 +Node: Filtering/limiting agenda items363599 +Ref: Filtering in the agenda364304 +Ref: Computed tag filtering368438 +Ref: Setting limits for the agenda369932 +Ref: Filtering/limiting agenda items-Footnote-1371481 +Node: Agenda Commands372033 +Ref: Motion (1)372766 +Ref: View/Go to Org file372969 +Ref: Change display374475 +Ref: Remote editing382032 +Ref: Bulk remote editing selected entries387385 +Ref: Calendar commands390474 +Ref: Quit and exit392355 +Ref: Agenda Commands-Footnote-1392717 +Ref: Agenda Commands-Footnote-2392793 +Ref: Agenda Commands-Footnote-3392897 +Node: Custom Agenda Views392984 +Node: Storing searches393636 +Ref: Storing searches-Footnote-1396588 +Ref: Storing searches-Footnote-2396705 +Node: Block agenda396952 +Node: Setting options398281 +Node: Exporting Agenda Views401895 +Ref: Exporting Agenda Views-Footnote-1406434 +Ref: Exporting Agenda Views-Footnote-2406655 +Ref: Exporting Agenda Views-Footnote-3406805 +Ref: Exporting Agenda Views-Footnote-4406992 +Node: Agenda Column View407074 +Node: Markup for Rich Contents410422 +Node: Paragraphs411720 +Node: Emphasis and Monospace412855 +Node: Subscripts and Superscripts413914 +Node: Special Symbols415532 +Ref: Special Symbols-Footnote-1417445 +Ref: Special Symbols-Footnote-2417610 +Node: Embedded LaTeX417707 +Ref: Embedded LaTeX-Footnote-1418556 +Node: LaTeX fragments418752 +Ref: LaTeX fragments-Footnote-1420909 +Node: Previewing LaTeX fragments421102 +Ref: Previewing LaTeX fragments-Footnote-1422585 +Node: CDLaTeX mode422834 +Ref: CDLaTeX mode-Footnote-1425583 +Node: Literal Examples425730 +Ref: Literal Examples-Footnote-1430841 +Ref: Literal Examples-Footnote-2431297 +Ref: Literal Examples-Footnote-3431475 +Ref: Literal Examples-Footnote-4431660 +Node: Images431758 +Ref: Images-Footnote-1433885 +Ref: Images-Footnote-2434008 +Ref: Images-Footnote-3434169 +Node: Captions434255 +Node: Horizontal Rules434955 +Node: Creating Footnotes435211 +Ref: Creating Footnotes-Footnote-1438340 +Ref: Creating Footnotes-Footnote-2438446 +Node: Exporting438553 +Node: The Export Dispatcher441327 +Node: Export Settings444081 +Ref: Export Settings-Footnote-1452174 +Ref: Export Settings-Footnote-2452286 +Ref: Export Settings-Footnote-3452387 +Node: Table of Contents452585 +Ref: Table of Contents-Footnote-1455259 +Node: Include Files455426 +Ref: Include Files-Footnote-1458363 +Node: Macro Replacement458541 +Ref: Macro Replacement-Footnote-1462422 +Node: Comment Lines462639 +Ref: Comment Lines-Footnote-1463502 +Node: ASCII/Latin-1/UTF-8 export463606 +Ref: ASCII export commands464460 +Ref: ASCII specific export settings464993 +Ref: Header and sectioning structure465437 +Ref: Quoting ASCII text465711 +Ref: ASCII specific attributes466083 +Ref: ASCII special blocks466360 +Node: Beamer Export466707 +Node: Beamer export commands467457 +Node: Beamer specific export settings468162 +Node: Frames and Blocks in Beamer470067 +Ref: Frames and Blocks in Beamer-Footnote-1473425 +Node: Beamer specific syntax473584 +Node: Editing support475563 +Node: A Beamer example476034 +Node: HTML Export477288 +Node: HTML export commands478398 +Node: HTML specific export settings478940 +Node: HTML doctypes481159 +Node: HTML preamble and postamble483334 +Node: Quoting HTML tags484399 +Node: Headlines in HTML export485098 +Node: Links in HTML export485693 +Node: Tables in HTML export487162 +Node: Images in HTML export488619 +Node: Math formatting in HTML export490109 +Ref: Math formatting in HTML export-Footnote-1491499 +Ref: Math formatting in HTML export-Footnote-2491691 +Node: Text areas in HTML export491974 +Node: CSS support493119 +Ref: CSS support-Footnote-1496770 +Node: JavaScript support496950 +Node: LaTeX Export500137 +Node: LaTeX/PDF export commands502057 +Ref: LaTeX/PDF export commands-Footnote-1503560 +Node: LaTeX specific export settings503762 +Node: LaTeX header and sectioning507246 +Node: Quoting LaTeX code511076 +Node: Tables in LaTeX export511872 +Node: Images in LaTeX export517138 +Node: Plain lists in LaTeX export519795 +Node: Source blocks in LaTeX export520815 +Ref: Source blocks in LaTeX export-Footnote-1522471 +Node: Example blocks in LaTeX export522629 +Node: Special blocks in LaTeX export523355 +Node: Horizontal rules in LaTeX export524618 +Node: Verse blocks in LaTeX export525055 +Node: Quote blocks in LaTeX export527069 +Node: Markdown Export528188 +Ref: Markdown export commands528656 +Ref: Header and sectioning structure (1)529093 +Node: OpenDocument Text Export529510 +Ref: OpenDocument Text Export-Footnote-1530616 +Node: Pre-requisites for ODT export530766 +Node: ODT export commands531144 +Node: ODT specific export settings532328 +Node: Extending ODT export533379 +Ref: Automatically exporting to other formats534190 +Ref: Converting between document formats534616 +Node: Applying custom styles535158 +Ref: Applying custom styles the easy way535690 +Ref: Using third-party styles and templates536648 +Node: Links in ODT export536945 +Node: Tables in ODT export537607 +Node: Images in ODT export539617 +Ref: Embedding images539821 +Ref: Embedding clickable images540138 +Ref: Sizing and scaling of embedded images540472 +Ref: Anchoring of images542156 +Node: Math formatting in ODT export542478 +Node: LaTeX math snippets542907 +Ref: LaTeX math snippets-Footnote-1545160 +Ref: LaTeX math snippets-Footnote-2545236 +Node: MathML and OpenDocument formula files545282 +Node: Labels and captions in ODT export545790 +Node: Literal examples in ODT export547066 +Node: Advanced topics in ODT export547907 +Ref: Configuring a document converter548217 +Ref: Working with OpenDocument style files549158 +Ref: x-orgodtstyles-xml549624 +Ref: x-orgodtcontenttemplate-xml549966 +Ref: x-overriding-factory-styles550610 +Ref: Creating one-off styles551854 +Ref: Customizing tables in ODT export553858 +Ref: Validating OpenDocument XML558718 +Ref: Advanced topics in ODT export-Footnote-1559515 +Ref: Advanced topics in ODT export-Footnote-2559620 +Ref: Advanced topics in ODT export-Footnote-3559713 +Node: Org Export560061 +Ref: Org export commands560417 +Node: Texinfo Export560723 +Node: Texinfo export commands561763 +Node: Texinfo specific export settings562388 +Node: Texinfo file header563541 +Node: Texinfo title and copyright page564524 +Node: Info directory file565888 +Node: Headings and sectioning structure566613 +Node: Indices568643 +Node: Quoting Texinfo code569672 +Node: Plain lists in Texinfo export570170 +Node: Tables in Texinfo export574896 +Node: Images in Texinfo export575392 +Node: Quotations in Texinfo export576030 +Node: Key bindings in Texinfo export576982 +Node: Special blocks in Texinfo export577785 +Node: A Texinfo example578620 +Node: iCalendar Export580722 +Node: Other Built-in Back-ends585011 +Node: Advanced Export Configuration585643 +Ref: Export hooks585855 +Ref: Filters587060 +Ref: Defining filters for individual files589569 +Ref: Extending an existing back-end590375 +Node: Export in Foreign Buffers592615 +Node: Bare HTML593856 +Node: Publishing594398 +Node: Configuration595274 +Node: Project alist596056 +Node: Sources and destinations597198 +Node: Selecting files598516 +Node: Publishing action599471 +Ref: Publishing action-Footnote-1601304 +Node: Publishing options601467 +Ref: Generic properties602219 +Ref: ASCII specific properties604106 +Ref: Beamer specific properties605706 +Ref: HTML specific properties606271 +Ref: LaTeX specific properties610754 +Ref: Markdown specific properties613920 +Ref: ODT specific properties614217 +Ref: Texinfo specific properties615149 +Node: Publishing links616571 +Node: Site map618025 +Node: Generating an index621342 +Node: Uploading Files622134 +Node: Sample Configuration623917 +Node: Simple example624415 +Node: Complex example625131 +Node: Triggering Publication627180 +Node: Citation handling628206 +Node: Citations629205 +Node: Citation export processors630898 +Node: Bibliography printing633638 +Node: Bibliography options in the ``biblatex'' and ``csl'' export processors634794 +Node: Working with Source Code636918 +Node: Features Overview639257 +Node: Structure of Code Blocks642016 +Node: Using Header Arguments644525 +Ref: System-wide header arguments645252 +Ref: Header arguments in Org mode properties646923 +Ref: Code block specific header arguments648749 +Ref: Header arguments in function calls650248 +Node: Environment of a Code Block650922 +Ref: Passing arguments651136 +Ref: Using sessions659422 +Ref: Choosing a working directory660821 +Ref: Inserting headers and footers663126 +Node: Evaluating Code Blocks663636 +Ref: How to evaluate source code664091 +Ref: Limit code block evaluation667041 +Ref: Cache results of evaluation668027 +Ref: Evaluating Code Blocks-Footnote-1670540 +Ref: Evaluating Code Blocks-Footnote-2670674 +Node: Results of Evaluation670832 +Ref: Collection671639 +Ref: Type673100 +Ref: Format677043 +Ref: Handling679476 +Ref: Post-processing680861 +Ref: Results of Evaluation-Footnote-1682611 +Node: Exporting Code Blocks682769 +Node: Extracting Source Code686440 +Ref: Header arguments687421 +Ref: Functions691656 +Ref: Tangle hooks691907 +Ref: Jumping between code and Org692683 +Node: Languages693193 +Node: Editing Source Code694194 +Node: Noweb Reference Syntax696924 +Ref: Noweb Reference Syntax-Footnote-1703564 +Node: Library of Babel703655 +Node: Key bindings and Useful Functions704373 +Node: Batch Execution706798 +Node: Miscellaneous707581 +Node: Completion708975 +Node: Structure Templates710900 +Ref: Structure Templates-Footnote-1712650 +Node: Speed Keys712742 +Node: Clean View713911 +Node: Org Indent Mode715113 +Ref: Org Indent Mode-Footnote-1716319 +Node: Hard indentation716543 +Ref: Hard indentation-Footnote-1718026 +Ref: Hard indentation-Footnote-2718132 +Node: Execute commands in the active region718276 +Node: Dynamic Headline Numbering719288 +Node: The Very Busy C-c C-c Key720454 +Node: In-buffer Settings722442 +Ref: In-buffer Settings-Footnote-1731730 +Node: Regular Expressions731928 +Node: Org Syntax732550 +Node: Documentation Access734208 +Node: Escape Character734629 +Node: Code Evaluation Security735490 +Node: Interaction738357 +Node: Cooperation738780 +Node: Conflicts741672 +Node: TTY Keys746274 +Node: Protocols747876 +Node: The store-link protocol749337 +Node: The capture protocol750480 +Node: The open-source protocol752113 +Node: Org Crypt755354 +Node: Org Mobile757233 +Node: Setting up the staging area758589 +Ref: Setting up the staging area-Footnote-1759829 +Ref: Setting up the staging area-Footnote-2760036 +Node: Pushing to the mobile application760208 +Ref: Pushing to the mobile application-Footnote-1761219 +Ref: Pushing to the mobile application-Footnote-2761310 +Ref: Pushing to the mobile application-Footnote-3761677 +Node: Pulling from the mobile application761753 +Ref: Pulling from the mobile application-Footnote-1764066 +Node: Hacking764119 +Node: Hooks765070 +Node: Add-on Packages765394 +Node: Adding Hyperlink Types765863 +Node: Adding Export Back-ends769458 +Node: Tables in Arbitrary Syntax770715 +Node: Radio tables771984 +Node: A LaTeX example774121 +Ref: A LaTeX example-Footnote-1777973 +Ref: A LaTeX example-Footnote-2778016 +Ref: A LaTeX example-Footnote-3778177 +Node: Translator functions778629 +Node: Dynamic Blocks780805 +Node: Special Agenda Views783051 +Ref: Special Agenda Views-Footnote-1786762 +Ref: Special Agenda Views-Footnote-2786969 +Node: Speeding Up Your Agendas787101 +Node: Extracting Agenda Information788492 +Node: Using the Property API792297 +Node: Using the Mapping API795652 +Node: History and Acknowledgments799685 +Ref: From Carsten799883 +Ref: From Bastien803314 +Ref: List of Contributions805446 +Node: GNU Free Documentation License814108 +Ref: ADDENDUM How to use this License for your documents838066 +Node: Main Index839459 +Node: Key Index937284 +Node: Command and Function Index993940 +Node: Variable Index1041550  End Tag Table diff --git a/elpa/org-9.6/orgguide.info b/elpa/org-9.6.7/orgguide.info similarity index 96% rename from elpa/org-9.6/orgguide.info rename to elpa/org-9.6.7/orgguide.info index db6cbc0f..e87d10db 100644 --- a/elpa/org-9.6/orgguide.info +++ b/elpa/org-9.6.7/orgguide.info @@ -1,7 +1,7 @@ This is orgguide.info, produced by makeinfo version 6.7 from orgguide.texi. -Copyright © 2004–2022 Free Software Foundation, Inc. +Copyright © 2004–2023 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -26,7 +26,7 @@ File: orgguide.info, Node: Top, Next: Introduction, Up: (dir) Org Mode Compact Guide ********************** -Copyright © 2004–2022 Free Software Foundation, Inc. +Copyright © 2004–2023 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, @@ -244,8 +244,8 @@ File: orgguide.info, Node: Visibility Cycling, Next: Motion, Prev: Headlines, ====================== Outlines make it possible to hide parts of the text in the buffer. Org -uses just two commands, bound to ‘’ and {{{kbd{S-TAB)}}} to change -the visibility in the buffer. +uses just two commands, bound to ‘’ and ‘S-’ to change the +visibility in the buffer. ‘’ _Subtree cycling_: Rotate current subtree among the states @@ -742,7 +742,7 @@ File: orgguide.info, Node: Multi-state Workflow, Next: Progress Logging, Prev 5.2 Multi-state Workflow ======================== -You can use TODO keywords to indicate @emph{sequential} working progress +You can use TODO keywords to indicate _sequential_ working progress states: (setq org-todo-keywords @@ -1135,8 +1135,8 @@ A timestamp is a specification of a date—possibly with a time or a range of times—in a special format, either ‘<2003-09-16 Tue>’ or ‘<2003-09-16 Tue 09:39>’ or ‘<2003-09-16 Tue 12:00-12:30>’. A timestamp can appear anywhere in the headline or body of an Org tree entry. Its presence -causes entries to be shown on specific dates in the agenda (see [BROKEN -LINK: *The Weekly/daily Agenda]). We distinguish: +causes entries to be shown on specific dates in the agenda (see *note +Built-in Agenda Views::). We distinguish: Plain timestamp; Event; Appointment A simple timestamp just assigns a date/time to an item. This is @@ -1150,8 +1150,9 @@ Plain timestamp; Event; Appointment Timestamp with repeater interval A timestamp may contain a _repeater interval_, indicating that it applies not only on the given date, but again and again after a - certain interval of N days (d), weeks (w), months (m), or years - (y). The following shows up in the agenda every Wednesday: + certain interval of N hours (h), days (d), weeks (w), months (m), + or years (y). The following shows up in the agenda every + Wednesday: * Pick up Sam at school <2007-05-16 Wed 12:30 +1w> @@ -1313,9 +1314,8 @@ project. ‘C-u’ prefix argument, select the target task from a list of recently clocked tasks. - The ‘l’ key may be used in the agenda (see [BROKEN LINK: *The -Weekly/daily Agenda]) to show which tasks have been worked on or closed -during a day. + The ‘l’ key may be used in the agenda (see *note Built-in Agenda +Views::) to show which tasks have been worked on or closed during a day.  File: orgguide.info, Node: Capture Refile Archive, Next: Agenda Views, Prev: Dates and Times, Up: Top @@ -1550,8 +1550,8 @@ execute a command. The dispatcher offers the following default commands: ‘a’ - Create the calendar-like agenda (see [BROKEN LINK: *The - Weekly/daily Agenda]). + Create the calendar-like agenda (see *note Built-in Agenda + Views::). ‘t’ ‘T’ @@ -2543,96 +2543,96 @@ Node: Document Structure7743 Node: Headlines8814 Ref: Headlines-Footnote-19696 Node: Visibility Cycling9819 -Node: Motion11094 -Node: Structure Editing11516 -Ref: Structure Editing-Footnote-112710 -Node: Sparse Trees12814 -Ref: Sparse Trees-Footnote-113882 -Node: Plain Lists13997 -Node: Tables16503 -Ref: Creation and conversion18196 -Ref: Re-aligning and field motion18748 -Ref: Column and row editing19264 -Node: Hyperlinks20269 -Ref: Internal links21027 -Ref: External Links21480 -Ref: Handling Links23310 -Node: TODO Items24699 -Node: TODO Basics25676 -Node: Multi-state Workflow27071 -Node: Progress Logging28867 -Ref: Closing items29614 -Ref: Tracking TODO state changes30169 -Ref: Progress Logging-Footnote-131168 -Ref: Progress Logging-Footnote-231241 -Node: Priorities31319 -Node: Breaking Down Tasks32215 -Node: Checkboxes33018 -Node: Tags34078 -Ref: Tag inheritance34703 -Ref: Setting tags35441 -Ref: Tag groups37161 -Ref: Tag searches37957 -Ref: Tags-Footnote-139049 -Node: Properties39153 -Node: Dates and Times40912 -Node: Timestamps41514 -Node: Creating Timestamps43571 -Node: Deadlines and Scheduling45232 -Ref: Deadlines and Scheduling-Footnote-147256 -Ref: Deadlines and Scheduling-Footnote-247417 -Node: Clocking Work Time47580 -Node: Capture Refile Archive48893 -Node: Capture49701 -Ref: Setting up capture50003 -Ref: Using capture50274 -Ref: Capture templates50869 -Ref: Capture-Footnote-152285 -Ref: Capture-Footnote-252396 -Node: Refile and Copy52487 -Node: Archiving53685 -Node: Agenda Views54997 -Node: Agenda Files56452 -Node: Agenda Dispatcher57112 -Node: Built-in Agenda Views58042 -Node: Global TODO List59131 -Node: Matching Tags and Properties59848 -Node: Search View61817 -Node: Agenda Commands62927 -Ref: Motion (1)63513 -Ref: View/Go to Org file63654 -Ref: Change display64001 -Ref: Remote editing65089 -Ref: Quit and exit66280 -Node: Custom Agenda Views66486 -Node: Markup67962 -Node: Paragraphs68788 -Node: Emphasis and Monospace69910 -Node: Embedded LaTeX70328 -Node: Literal examples71197 -Node: Images72287 -Node: Creating Footnotes72888 -Node: Exporting73808 -Node: The Export Dispatcher74684 -Node: Export Settings75214 -Node: Table of Contents76039 -Node: Include Files76772 -Node: Comment Lines77458 -Node: ASCII/UTF-8 Export78156 -Node: HTML Export78855 -Node: LaTeX Export79863 -Node: iCalendar Export81502 -Node: Publishing82203 -Node: Working with Source Code83805 -Ref: Using header arguments85072 -Ref: Evaluating code blocks86250 -Ref: Results of evaluation87125 -Ref: Exporting code blocks88347 -Ref: Extracting source code88811 -Node: Miscellaneous89338 -Ref: Completion89461 -Ref: Structure Templates89798 -Ref: Clean view90124 +Node: Motion11091 +Node: Structure Editing11513 +Ref: Structure Editing-Footnote-112707 +Node: Sparse Trees12811 +Ref: Sparse Trees-Footnote-113879 +Node: Plain Lists13994 +Node: Tables16500 +Ref: Creation and conversion18193 +Ref: Re-aligning and field motion18745 +Ref: Column and row editing19261 +Node: Hyperlinks20266 +Ref: Internal links21024 +Ref: External Links21477 +Ref: Handling Links23307 +Node: TODO Items24696 +Node: TODO Basics25673 +Node: Multi-state Workflow27068 +Node: Progress Logging28859 +Ref: Closing items29606 +Ref: Tracking TODO state changes30161 +Ref: Progress Logging-Footnote-131160 +Ref: Progress Logging-Footnote-231233 +Node: Priorities31311 +Node: Breaking Down Tasks32207 +Node: Checkboxes33010 +Node: Tags34070 +Ref: Tag inheritance34695 +Ref: Setting tags35433 +Ref: Tag groups37153 +Ref: Tag searches37949 +Ref: Tags-Footnote-139041 +Node: Properties39145 +Node: Dates and Times40904 +Node: Timestamps41506 +Node: Creating Timestamps43569 +Node: Deadlines and Scheduling45230 +Ref: Deadlines and Scheduling-Footnote-147254 +Ref: Deadlines and Scheduling-Footnote-247415 +Node: Clocking Work Time47578 +Node: Capture Refile Archive48881 +Node: Capture49689 +Ref: Setting up capture49991 +Ref: Using capture50262 +Ref: Capture templates50857 +Ref: Capture-Footnote-152273 +Ref: Capture-Footnote-252384 +Node: Refile and Copy52475 +Node: Archiving53673 +Node: Agenda Views54985 +Node: Agenda Files56440 +Node: Agenda Dispatcher57100 +Node: Built-in Agenda Views58020 +Node: Global TODO List59109 +Node: Matching Tags and Properties59826 +Node: Search View61795 +Node: Agenda Commands62905 +Ref: Motion (1)63491 +Ref: View/Go to Org file63632 +Ref: Change display63979 +Ref: Remote editing65067 +Ref: Quit and exit66258 +Node: Custom Agenda Views66464 +Node: Markup67940 +Node: Paragraphs68766 +Node: Emphasis and Monospace69888 +Node: Embedded LaTeX70306 +Node: Literal examples71175 +Node: Images72265 +Node: Creating Footnotes72866 +Node: Exporting73786 +Node: The Export Dispatcher74662 +Node: Export Settings75192 +Node: Table of Contents76017 +Node: Include Files76750 +Node: Comment Lines77436 +Node: ASCII/UTF-8 Export78134 +Node: HTML Export78833 +Node: LaTeX Export79841 +Node: iCalendar Export81480 +Node: Publishing82181 +Node: Working with Source Code83783 +Ref: Using header arguments85050 +Ref: Evaluating code blocks86228 +Ref: Results of evaluation87103 +Ref: Exporting code blocks88325 +Ref: Extracting source code88789 +Node: Miscellaneous89316 +Ref: Completion89439 +Ref: Structure Templates89776 +Ref: Clean view90102  End Tag Table diff --git a/elpa/org-9.6/ox-ascii.el b/elpa/org-9.6.7/ox-ascii.el similarity index 99% rename from elpa/org-9.6/ox-ascii.el rename to elpa/org-9.6.7/ox-ascii.el index 7e5ba104..692dd216 100644 --- a/elpa/org-9.6/ox-ascii.el +++ b/elpa/org-9.6.7/ox-ascii.el @@ -1,6 +1,6 @@ ;;; ox-ascii.el --- ASCII Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2012-2022 Free Software Foundation, Inc. +;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou @@ -1549,7 +1549,7 @@ information." keyword info))))) -;;;; Latex Environment +;;;; LaTeX Environment (defun org-ascii-latex-environment (latex-environment _contents info) "Transcode a LATEX-ENVIRONMENT element from Org to ASCII. @@ -1561,7 +1561,7 @@ information." latex-environment info))) -;;;; Latex Fragment +;;;; LaTeX Fragment (defun org-ascii-latex-fragment (latex-fragment _contents info) "Transcode a LATEX-FRAGMENT object from Org to ASCII. diff --git a/elpa/org-9.6/ox-beamer.el b/elpa/org-9.6.7/ox-beamer.el similarity index 99% rename from elpa/org-9.6/ox-beamer.el rename to elpa/org-9.6.7/ox-beamer.el index 51684448..689bf155 100644 --- a/elpa/org-9.6/ox-beamer.el +++ b/elpa/org-9.6.7/ox-beamer.el @@ -1,6 +1,6 @@ ;;; ox-beamer.el --- Beamer Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2007-2022 Free Software Foundation, Inc. +;; Copyright (C) 2007-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Nicolas Goaziou diff --git a/elpa/org-9.6/ox-html.el b/elpa/org-9.6.7/ox-html.el similarity index 99% rename from elpa/org-9.6/ox-html.el rename to elpa/org-9.6.7/ox-html.el index 86b10cbf..b27254b8 100644 --- a/elpa/org-9.6/ox-html.el +++ b/elpa/org-9.6.7/ox-html.el @@ -1,6 +1,6 @@ ;;; ox-html.el --- HTML Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Jambunathan K @@ -2969,7 +2969,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." ((string= "listings" value) (org-html-list-of-listings info)) ((string= "tables" value) (org-html-list-of-tables info)))))))) -;;;; Latex Environment +;;;; LaTeX Environment (defun org-html-format-latex (latex-frag processing-type info) "Format a LaTeX fragment LATEX-FRAG into HTML. @@ -3086,7 +3086,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." info caption label))))) (t (org-html--wrap-latex-environment latex-frag info caption label))))) -;;;; Latex Fragment +;;;; LaTeX Fragment (defun org-html-latex-fragment (latex-fragment _contents info) "Transcode a LATEX-FRAGMENT object from Org to HTML. @@ -3337,7 +3337,7 @@ INFO is a plist holding contextual information. See ((org-html-standalone-image-p destination info) (org-export-get-ordinal (org-element-map destination 'link #'identity info t) - info 'link 'org-html-standalone-image-p)) + info '(link) 'org-html-standalone-image-p)) (t (org-export-get-ordinal destination info nil counter-predicate)))) (desc diff --git a/elpa/org-9.6/ox-icalendar.el b/elpa/org-9.6.7/ox-icalendar.el similarity index 99% rename from elpa/org-9.6/ox-icalendar.el rename to elpa/org-9.6.7/ox-icalendar.el index f4c904da..81a77a77 100644 --- a/elpa/org-9.6/ox-icalendar.el +++ b/elpa/org-9.6.7/ox-icalendar.el @@ -1,6 +1,6 @@ ;;; ox-icalendar.el --- iCalendar Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2022 Free Software Foundation, Inc. +;; Copyright (C) 2004-2023 Free Software Foundation, Inc. ;; Author: Carsten Dominik ;; Nicolas Goaziou @@ -75,7 +75,7 @@ for timed events. If non-zero, alarms are created. (defcustom org-icalendar-force-alarm nil "Non-nil means alarm will be created even if is set to zero. -This overrides default behaviour where zero means no alarm. With +This overrides default behavior where zero means no alarm. With this set to non-nil and alarm set to zero, alarm will be created and will fire at the event start." :group 'org-export-icalendar diff --git a/elpa/org-9.6/ox-koma-letter.el b/elpa/org-9.6.7/ox-koma-letter.el similarity index 99% rename from elpa/org-9.6/ox-koma-letter.el rename to elpa/org-9.6.7/ox-koma-letter.el index a6cfb24a..33eb0597 100644 --- a/elpa/org-9.6/ox-koma-letter.el +++ b/elpa/org-9.6.7/ox-koma-letter.el @@ -1,6 +1,6 @@ ;;; ox-koma-letter.el --- KOMA Scrlttr2 Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2007-2022 Free Software Foundation, Inc. +;; Copyright (C) 2007-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Alan Schmitt diff --git a/elpa/org-9.6/ox-latex.el b/elpa/org-9.6.7/ox-latex.el similarity index 99% rename from elpa/org-9.6/ox-latex.el rename to elpa/org-9.6.7/ox-latex.el index 46a348a6..768bf402 100644 --- a/elpa/org-9.6/ox-latex.el +++ b/elpa/org-9.6.7/ox-latex.el @@ -1,6 +1,6 @@ ;;; ox-latex.el --- LaTeX Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Maintainer: Daniel Fleischer @@ -928,7 +928,7 @@ The function should return the string to be exported." (defcustom org-latex-src-block-backend 'verbatim "Backend used to generate source code listings. -This sets the behaviour for fontifying source code, possibly even with +This sets the behavior for fontifying source code, possibly even with color. There are four implementations of this functionality you may choose from (ordered from least to most capable): 1. Verbatim @@ -942,7 +942,7 @@ highlighting (listings), or none at all (verbatim). When using listings, you also need to make use of LaTeX package \"listings\". The \"color\" LaTeX package is also needed if you would like color too. These can simply be added to -`org-latex-packages-alist', using customise or something like: +`org-latex-packages-alist', using customize or something like: (require \\='ox-latex) (add-to-list \\='org-latex-packages-alist \\='(\"\" \"listings\")) @@ -981,7 +981,7 @@ Emacs' font-lock information. This requires the Emacs package engrave-faces (available from ELPA), and the LaTeX package fvextra be installed. -The styling of the engraved result can be customised with +The styling of the engraved result can be customized with `org-latex-engraved-preamble' and `org-latex-engraved-options'. The default preamble also uses the LaTeX package tcolorbox in addition to fvextra." @@ -1202,11 +1202,11 @@ as long as it: \"Verbatim\" environments (provided by fvextra) will be wrapped with. In the default value the colors \"EFD\" and \"EfD\" are provided -as they are respectively the foreground and background colours, +as they are respectively the foreground and background colors, just in case they aren't provided by the generated preamble, so we can assume they are always set. -Within this preamble there are two recognised macro-like placeholders: +Within this preamble there are two recognized macro-like placeholders: [FVEXTRA-SETUP] @@ -1272,7 +1272,7 @@ used. When nil, no theme is applied." (defun org-latex-generate-engraved-preamble (info) "Generate the preamble to setup engraved code. The result is constructed from the :latex-engraved-preamble and -:latex-engraved-optionsn export options, the default values of +:latex-engraved-options export options, the default values of which are given by `org-latex-engraved-preamble' and `org-latex-engraved-options' respectively." (let* ((engraved-options @@ -1820,9 +1820,11 @@ INFO is a plist used as a communication channel. See "Protect special chars, then wrap TEXT in \"\\texttt{}\"." (format "\\texttt{%s}" (replace-regexp-in-string - "--\\|[\\{}$%&_#~^]" + "--\\|<<\\|>>\\|[\\{}$%&_#~^]" (lambda (m) - (cond ((equal m "--") "-{}-") + (cond ((equal m "--") "-{}-{}") + ((equal m "<<") "<{}<{}") + ((equal m ">>") ">{}>{}") ((equal m "\\") "\\textbackslash{}") ((equal m "~") "\\textasciitilde{}") ((equal m "^") "\\textasciicircum{}") @@ -2600,7 +2602,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." (otherwise "\\lstlistoflistings"))))))))) -;;;; Latex Environment +;;;; LaTeX Environment (defun org-latex--environment-type (latex-environment) "Return the TYPE of LATEX-ENVIRONMENT. @@ -2658,7 +2660,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." (insert caption) (buffer-string)))))) -;;;; Latex Fragment +;;;; LaTeX Fragment (defun org-latex-latex-fragment (latex-fragment _contents _info) "Transcode a LATEX-FRAGMENT object from Org to LaTeX. diff --git a/elpa/org-9.6/ox-man.el b/elpa/org-9.6.7/ox-man.el similarity index 99% rename from elpa/org-9.6/ox-man.el rename to elpa/org-9.6.7/ox-man.el index 111c46ae..bb716f7b 100644 --- a/elpa/org-9.6/ox-man.el +++ b/elpa/org-9.6.7/ox-man.el @@ -1,6 +1,6 @@ ;;; ox-man.el --- Man Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Luis R Anaya diff --git a/elpa/org-9.6/ox-md.el b/elpa/org-9.6.7/ox-md.el similarity index 99% rename from elpa/org-9.6/ox-md.el rename to elpa/org-9.6.7/ox-md.el index dee6dbf1..5be0ca22 100644 --- a/elpa/org-9.6/ox-md.el +++ b/elpa/org-9.6.7/ox-md.el @@ -1,6 +1,6 @@ ;;; ox-md.el --- Markdown Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2012-2022 Free Software Foundation, Inc. +;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou @@ -87,7 +87,8 @@ included into another document or application that reserves top-level headings for its own use." :group 'org-export-md :package-version '(Org . "9.6") - :type 'string) + ;; Avoid `natnum' because that's not available until Emacs 28.1. + :type 'integer) @@ -485,7 +486,7 @@ channel." (_ (org-export-with-backend 'html keyword contents info)))) -;;;; Latex Environment +;;;; LaTeX Environment (defun org-md-latex-environment (latex-environment _contents info) "Transcode a LATEX-ENVIRONMENT object from Org to Markdown. @@ -500,7 +501,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." latex-frag) latex-frag)))) -;;;; Latex Fragment +;;;; LaTeX Fragment (defun org-md-latex-fragment (latex-fragment _contents info) "Transcode a LATEX-FRAGMENT object from Org to Markdown. diff --git a/elpa/org-9.6/ox-odt.el b/elpa/org-9.6.7/ox-odt.el similarity index 99% rename from elpa/org-9.6/ox-odt.el rename to elpa/org-9.6.7/ox-odt.el index 402c7544..dd96ed8e 100644 --- a/elpa/org-9.6/ox-odt.el +++ b/elpa/org-9.6.7/ox-odt.el @@ -1,6 +1,6 @@ ;;; ox-odt.el --- OpenDocument Text Exporter for Org Mode -*- lexical-binding: t; -*- -;; Copyright (C) 2010-2022 Free Software Foundation, Inc. +;; Copyright (C) 2010-2023 Free Software Foundation, Inc. ;; Author: Jambunathan K ;; Keywords: outlines, hypermedia, calendar, wp @@ -1986,7 +1986,7 @@ information." (ignore)))))))) -;;;; Latex Environment +;;;; LaTeX Environment ;; (eval-after-load 'ox-odt '(ad-deactivate 'org-format-latex-as-mathml)) ;; (advice-add 'org-format-latex-as-mathml ; FIXME @@ -2007,7 +2007,7 @@ CONTENTS is nil. INFO is a plist holding contextual information." (org-odt-do-format-code latex-frag info))) -;;;; Latex Fragment +;;;; LaTeX Fragment ;; (when latex-frag ; FIXME ;; (setq href (propertize href :title "LaTeX Fragment" @@ -2923,21 +2923,28 @@ contextual information." ;; not be desired in scripts that do not separate words with ;; spaces (for example, Han script). `fill-region' is able to ;; handle such situations. - ;; FIXME: The unnecessary spaced may still remain when a newline + ;; FIXME: The unnecessary spacing may still remain when a newline ;; is at a boundary between Org objects (e.g. italics markup ;; followed by newline). - (setq output - (with-temp-buffer - (insert output) - (save-match-data - (let ((leading (and (string-match (rx bos (1+ blank)) output) - (match-string 0 output))) - (trailing (and (string-match (rx (1+ blank) eos) output) - (match-string 0 output)))) - ;; Unfill, retaining leading/trailing space. - (let ((fill-column (point-max))) - (fill-region (point-min) (point-max))) - (concat leading (buffer-string) trailing)))))) + (when (org-string-nw-p output) ; blank string needs not to be re-filled + (setq output + (with-temp-buffer + (save-match-data + (let ((leading (and (string-match (rx bos (1+ blank)) output) + (match-string 0 output))) + (trailing (and (string-match (rx (1+ blank) eos) output) + (match-string 0 output)))) + (insert + (substring + output + (length leading) + (pcase (length trailing) + (0 nil) + (n (- n))))) + ;; Unfill, retaining leading/trailing space. + (let ((fill-column most-positive-fixnum)) + (fill-region (point-min) (point-max))) + (concat leading (buffer-string) trailing))))))) ;; Return value. output)) diff --git a/elpa/org-9.6/ox-org.el b/elpa/org-9.6.7/ox-org.el similarity index 99% rename from elpa/org-9.6/ox-org.el rename to elpa/org-9.6.7/ox-org.el index 159a41b9..ed72cf4f 100644 --- a/elpa/org-9.6/ox-org.el +++ b/elpa/org-9.6.7/ox-org.el @@ -1,6 +1,6 @@ ;;; ox-org.el --- Org Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2013-2022 Free Software Foundation, Inc. +;; Copyright (C) 2013-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou diff --git a/elpa/org-9.6/ox-publish.el b/elpa/org-9.6.7/ox-publish.el similarity index 99% rename from elpa/org-9.6/ox-publish.el rename to elpa/org-9.6.7/ox-publish.el index a5999ef7..f9c3877d 100644 --- a/elpa/org-9.6/ox-publish.el +++ b/elpa/org-9.6.7/ox-publish.el @@ -1,5 +1,5 @@ ;;; ox-publish.el --- Publish Related Org Mode Files as a Website -*- lexical-binding: t; -*- -;; Copyright (C) 2006-2022 Free Software Foundation, Inc. +;; Copyright (C) 2006-2023 Free Software Foundation, Inc. ;; Author: David O'Toole ;; Maintainer: Nicolas Goaziou diff --git a/elpa/org-9.6/ox-texinfo.el b/elpa/org-9.6.7/ox-texinfo.el similarity index 98% rename from elpa/org-9.6/ox-texinfo.el rename to elpa/org-9.6.7/ox-texinfo.el index 73ba349b..5befcac1 100644 --- a/elpa/org-9.6/ox-texinfo.el +++ b/elpa/org-9.6.7/ox-texinfo.el @@ -1,6 +1,6 @@ ;;; ox-texinfo.el --- Texinfo Back-End for Org Export Engine -*- lexical-binding: t; -*- -;; Copyright (C) 2012-2022 Free Software Foundation, Inc. +;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Jonathan Leech-Pepin ;; Maintainer: Nicolas Goaziou ;; Keywords: outlines, hypermedia, calendar, wp @@ -32,6 +32,8 @@ (require 'cl-lib) (require 'ox) +(eval-when-compile (require 'subr-x)) + (defvar orgtbl-exp-regexp) (defvar org-texinfo-supports-math--cache) @@ -1963,9 +1965,6 @@ EXT-PLIST, when provided, is a property list with external parameters overriding Org default settings, but still inferior to file-local settings. -When optional argument PUB-DIR is set, use it as the publishing -directory. - Return INFO file's name." (interactive) (let ((outfile (org-export-output-file-name ".texi" subtreep)) @@ -2025,18 +2024,23 @@ Once computed, the results remain cached." (unless (boundp 'org-texinfo-supports-math--cache) (setq org-texinfo-supports-math--cache (let ((math-example "1 + 1 = 2")) - (let* ((input-file - (make-temp-file "test" nil ".info")) - (input-content - (concat (format "@setfilename %s" input-file) "\n" - "@node Top" "\n" - (format "@displaymath{%s}" math-example) "\n"))) + (let* ((input-file (make-temp-file "test" nil ".info")) + (input-content (string-join + (list (format "@setfilename %s" input-file) + "@node Top" + "@displaymath" + math-example + "@end displaymath") + "\n"))) (with-temp-file input-file (insert input-content)) - (let* ((output-file (org-texinfo-compile input-file)) - (output-content (with-temp-buffer - (insert-file-contents output-file) - (buffer-string)))) + (when-let* ((output-file + ;; If compilation fails, consider math to + ;; be not supported. + (ignore-errors (org-texinfo-compile input-file))) + (output-content (with-temp-buffer + (insert-file-contents output-file) + (buffer-string)))) (let ((result (string-match-p (regexp-quote math-example) output-content))) (delete-file input-file) diff --git a/elpa/org-9.6/ox.el b/elpa/org-9.6.7/ox.el similarity index 99% rename from elpa/org-9.6/ox.el rename to elpa/org-9.6.7/ox.el index 5c0a8f24..6f819def 100644 --- a/elpa/org-9.6/ox.el +++ b/elpa/org-9.6.7/ox.el @@ -1,6 +1,6 @@ ;;; ox.el --- Export Framework for Org Mode -*- lexical-binding: t; -*- -;; Copyright (C) 2012-2022 Free Software Foundation, Inc. +;; Copyright (C) 2012-2023 Free Software Foundation, Inc. ;; Author: Nicolas Goaziou ;; Maintainer: Nicolas Goaziou @@ -2559,7 +2559,7 @@ variable and do not do anything that might alter it (like calling a major mode) to prevent data corruption. Also, do note that Emacs may jump into the created buffer if the original file buffer is closed and then re-opened. Making edits in the buffer copy may also trigger -Emacs save dialogue. Prefer using `org-export-with-buffer-copy' macro +Emacs save dialog. Prefer using `org-export-with-buffer-copy' macro when possible. When optional key `:to-buffer' is non-nil, copy into BUFFER. @@ -3036,6 +3036,11 @@ Return code as a string." (org-narrow-to-subtree) (goto-char (point-min)) (org-end-of-meta-data) + ;; Make the region include top heading in the subtree. + ;; This way, we will be able to retrieve its export + ;; options when calling + ;; `org-export--get-subtree-options'. + (when (bolp) (backward-char)) (narrow-to-region (point) (point-max)))) ;; Initialize communication channel with original buffer ;; attributes, unavailable in its copy. @@ -4607,12 +4612,17 @@ If LINK refers to a remote resource, modify it to point to a local downloaded copy. Otherwise, return unchanged LINK." (when (org-export-link-remote-p link) (let* ((local-path (org-export-link--remote-local-copy link))) - (setcdr link - (thread-first (cadr link) - (plist-put :type "file") - (plist-put :path local-path) - (plist-put :raw-link (concat "file:" local-path)) - list)))) + (if local-path + (setcdr link + (thread-first (cadr link) + (plist-put :type "file") + (plist-put :path local-path) + (plist-put :raw-link (concat "file:" local-path)) + list)) + (display-warning + '(org export) + (format "unable to obtain local copy of %s" + (org-element-property :raw-link link)))))) link) ;;;; For References @@ -4748,23 +4758,27 @@ objects of the same type." (let ((counter 0)) ;; Increment counter until ELEMENT is found again. (org-element-map (plist-get info :parse-tree) - (or types (org-element-type element)) + (or (and types (cons (org-element-type element) types)) + (org-element-type element)) (lambda (el) (let ((cached (org-element-property :org-export--counter el))) (cond ((eq element el) (1+ counter)) ;; Use cached result. - ((and cached (equal predicate (car cached))) - (cdr cached)) + ((and cached + (equal predicate (car cached)) + (equal types (cadr cached))) + (setq counter (nth 2 cached)) + nil) ((not predicate) (cl-incf counter) (org-element-put-property - el :org-export--counter (cons predicate counter)) + el :org-export--counter (list predicate types counter)) nil) ((funcall predicate el info) (cl-incf counter) (org-element-put-property - el :org-export--counter (cons predicate counter)) + el :org-export--counter (list predicate types counter)) nil)))) info 'first-match))))) @@ -6393,7 +6407,7 @@ them." ("nb" :default "Innhold") ("nn" :default "Innhald") ("pl" :html "Spis treści") - ("pt_BR" :html "Índice" :utf8 "Índice" :ascii "Indice") + ("pt_BR" :html "Índice" :utf-8 "Índice" :ascii "Indice") ("ro" :default "Cuprins") ("ru" :html "Содержание" :utf-8 "Содержание") @@ -6586,14 +6600,14 @@ see. Optional argument POST-PROCESS is a function which should accept no argument. It is always called within the current process, from BUFFER, with point at its beginning. Export back-ends can -use it to set a major mode there, e.g, +use it to set a major mode there, e.g., (defun org-latex-export-as-latex (&optional async subtreep visible-only body-only ext-plist) (interactive) (org-export-to-buffer \\='latex \"*Org LATEX Export*\" async subtreep visible-only body-only ext-plist - #'LaTeX-mode)) + #\\='LaTeX-mode)) When expressed as an anonymous function, using `lambda', POST-PROCESS needs to be quoted. @@ -6743,7 +6757,6 @@ Return file name as a string." (cond (pub-dir (concat (file-name-as-directory pub-dir) (file-name-nondirectory base-name))) - ((file-name-absolute-p base-name) base-name) (t base-name)))) ;; If writing to OUTPUT-FILE would overwrite original file, append ;; EXTENSION another time to final name. diff --git a/elpa/org-9.6/.dir-locals.el b/elpa/org-9.6/.dir-locals.el deleted file mode 100644 index 9df10dfe..00000000 --- a/elpa/org-9.6/.dir-locals.el +++ /dev/null @@ -1,22 +0,0 @@ -;;; Directory Local Variables -;;; For more information see (info "(emacs) Directory Variables") - -((nil - (indent-tabs-mode . t) - (tab-width . 8) - (fill-column . 70) - (sentence-end-double-space . t)) - (emacs-lisp-mode - (indent-tabs-mode)) - (org-mode - (indent-tabs-mode) - (org-adapt-indentation) - (org-edit-src-content-indentation . 0) - (org-footnote-auto-adjust . t) - (org-footnote-auto-label . t) - (org-footnote-define-inline . nil) - (org-footnote-section . "Footnotes") - (org-hide-emphasis-markers . nil))) - - - diff --git a/elpa/org-9.6/doc/org-version.inc b/elpa/org-9.6/doc/org-version.inc deleted file mode 100644 index 571ff5c7..00000000 --- a/elpa/org-9.6/doc/org-version.inc +++ /dev/null @@ -1,3 +0,0 @@ -@c automatically generated, do not edit -@set VERSION 9.6 () -@set DATE 2022-11-29 diff --git a/elpa/org-9.6/org-pkg.el b/elpa/org-9.6/org-pkg.el deleted file mode 100644 index 4b75d472..00000000 --- a/elpa/org-9.6/org-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;; Generated package description from org.el -*- no-byte-compile: t -*- -(define-package "org" "9.6" "Outline-based notes management and organizer" '((emacs "25.1")) :commit "b3da427ebb1c401355aa4cba9baeaa92f87ccb2f" :authors '(("Carsten Dominik" . "carsten.dominik@gmail.com")) :maintainer '("Bastien Guerry" . "bzg@gnu.org") :keywords '("outlines" "hypermedia" "calendar" "wp") :url "https://orgmode.org") diff --git a/elpa/org-mac-link-20220616.2340/org-mac-link-pkg.el b/elpa/org-mac-link-20220616.2340/org-mac-link-pkg.el deleted file mode 100644 index c8fa4ed0..00000000 --- a/elpa/org-mac-link-20220616.2340/org-mac-link-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from org-mac-link.el -*- no-byte-compile: t -*- -(define-package "org-mac-link" "20220616.2340" "Insert org-mode links to items selected in various Mac apps" '((emacs "27.1")) :commit "0b18c1d070b9601cc65c40e902169e367e4348c9" :authors '(("Anthony Lander" . "anthony.lander@gmail.com") ("John Wiegley" . "johnw@gnu.org") ("Christopher Suckling ") ("Daniil Frumin" . "difrumin@gmail.com") ("Alan Schmitt" . "alan.schmitt@polytechnique.org") ("Mike McLean" . "mike.mclean@pobox.com")) :maintainer '("Aimé Bertrand" . "aime.bertrand@macowners.club") :keywords '("files" "wp" "url" "org") :url "https://gitlab.com/aimebertrand/org-mac-link") diff --git a/elpa/org-mac-link-20220616.2340/org-mac-link-autoloads.el b/elpa/org-mac-link-20230228.1127/org-mac-link-autoloads.el similarity index 96% rename from elpa/org-mac-link-20220616.2340/org-mac-link-autoloads.el rename to elpa/org-mac-link-20230228.1127/org-mac-link-autoloads.el index a05f59e1..edf68ce6 100644 --- a/elpa/org-mac-link-20220616.2340/org-mac-link-autoloads.el +++ b/elpa/org-mac-link-20230228.1127/org-mac-link-autoloads.el @@ -11,7 +11,10 @@ (autoload 'org-mac-link-get-link "org-mac-link" "\ Prompt for an application to grab a link from. -When done, go grab the link, and insert it at point." t nil) +When done, go grab the link, and insert it at point. If a region +is active, that will be the link's description. + +\(fn &optional BEG END)" t nil) (autoload 'org-mac-link-firefox-get-frontmost-url "org-mac-link" "\ Get the link to the frontmost window of the Firefox.app." t nil) @@ -137,6 +140,10 @@ Insert the link to the frontmost window of the qutebrowser.app." t nil) (register-definition-prefixes "org-mac-link" '("org-mac-link-")) +;;;*** + +;;;### (autoloads nil nil ("org-mac-link-pkg.el") (0 0 0 0)) + ;;;*** ;; Local Variables: diff --git a/elpa/org-mac-link-20230228.1127/org-mac-link-pkg.el b/elpa/org-mac-link-20230228.1127/org-mac-link-pkg.el new file mode 100644 index 00000000..5758e313 --- /dev/null +++ b/elpa/org-mac-link-20230228.1127/org-mac-link-pkg.el @@ -0,0 +1,19 @@ +(define-package "org-mac-link" "20230228.1127" "Insert org-mode links to items selected in various Mac apps" + '((emacs "27.1")) + :commit "3a30a937e135a6637a5126e2ac096b6c90584045" :authors + '(("Anthony Lander" . "anthony.lander@gmail.com") + ("John Wiegley" . "johnw@gnu.org") + ("Christopher Suckling ") + ("Daniil Frumin" . "difrumin@gmail.com") + ("Alan Schmitt" . "alan.schmitt@polytechnique.org") + ("Mike McLean" . "mike.mclean@pobox.com")) + :maintainers + '(("Aimé Bertrand" . "aime.bertrand@macowners.club")) + :maintainer + '("Aimé Bertrand" . "aime.bertrand@macowners.club") + :keywords + '("files" "wp" "url" "org") + :url "https://gitlab.com/aimebertrand/org-mac-link") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/org-mac-link-20220616.2340/org-mac-link.el b/elpa/org-mac-link-20230228.1127/org-mac-link.el similarity index 97% rename from elpa/org-mac-link-20220616.2340/org-mac-link.el rename to elpa/org-mac-link-20230228.1127/org-mac-link.el index 73a7646b..dd41bf58 100644 --- a/elpa/org-mac-link-20220616.2340/org-mac-link.el +++ b/elpa/org-mac-link-20230228.1127/org-mac-link.el @@ -9,8 +9,6 @@ ;; Alan Schmitt ;; Mike McLean ;; Version: 1.9 -;; Package-Version: 20220616.2340 -;; Package-Commit: 0b18c1d070b9601cc65c40e902169e367e4348c9 ;; Keywords: files, wp, url, org ;; Package-Requires: ((emacs "27.1")) ;; Maintainer: Aimé Bertrand @@ -129,6 +127,12 @@ Do not escape spaces as the AppleScript call will quote this string." :group 'org-mac-link :type 'boolean) +(defcustom org-mac-link-devonthink-app-name "DEVONthink Pro" + "Name of DEVONthink Pro application." + :tag "Name of DEVONthink Pro application" + :group 'org-mac-link + :type 'string) + (defcustom org-mac-link-addressbook-app-p t "Add menu option [a]ddressbook to grab links from AddressBook.app." :tag "Grab AddressBook.app links" @@ -234,10 +238,14 @@ Do not escape spaces as the AppleScript call will quote this string." (concat "\"" (org-trim return) "\"")))) ;;;###autoload -(defun org-mac-link-get-link () +(defun org-mac-link-get-link (&optional beg end) "Prompt for an application to grab a link from. -When done, go grab the link, and insert it at point." - (interactive) +When done, go grab the link, and insert it at point. If a region +is active, that will be the link's description." + (interactive + (if (use-region-p) + (list (region-beginning) (region-end)) + '())) (let* ((descriptors `(("F" "inder" org-mac-link-finder-insert-selected ,org-mac-link-finder-app-p) ("m" "ail" org-mac-link-mail-insert-selected ,org-mac-link-mail-app-p) @@ -275,7 +283,19 @@ When done, go grab the link, and insert it at point." (active (elt descriptor 3)) (grab-function (elt descriptor 2))) (when (and active (eq input key)) - (call-interactively grab-function)))) + (if (and beg end) + (let ((new-desc (buffer-substring beg end)) + end-desc) + (delete-region beg end) + (call-interactively grab-function) + (save-excursion + (backward-char 2) + (setq end-desc (point)) + (search-backward "][") + (forward-char 2) + (delete-region (point) end-desc) + (insert new-desc))) + (call-interactively grab-function))))) descriptors))) (defun org-mac-link-paste-applescript-links (as-link-list) @@ -916,7 +936,7 @@ note(s) in Evernote.app and make a link out of it/them." (org-mac-link-do-applescript (concat "set theLinkList to {}\n" - "tell application \"DEVONthink Pro\"\n" + "tell application \"" org-mac-link-devonthink-app-name "\"\n" "set selectedRecords to selection\n" "set selectionCount to count of selectedRecords\n" "if (selectionCount < 1) then\n" diff --git a/elpa/org-mime-20191226.2309/org-mime-pkg.el b/elpa/org-mime-20191226.2309/org-mime-pkg.el deleted file mode 100644 index df626cab..00000000 --- a/elpa/org-mime-20191226.2309/org-mime-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "org-mime" "20191226.2309" "org html export for text/html MIME emails" '((emacs "24.4") (cl-lib "0.5")) :commit "b1899762170eaa656555ce62c58e613ca3509ec4" :keywords '("mime" "mail" "email" "html") :authors '(("Eric Schulte")) :maintainer '("Chen Bin (redguardtoo)") :url "http://github.com/org-mime/org-mime") diff --git a/elpa/org-mime-20191226.2309/org-mime.el b/elpa/org-mime-20191226.2309/org-mime.el deleted file mode 100644 index 54b895d4..00000000 --- a/elpa/org-mime-20191226.2309/org-mime.el +++ /dev/null @@ -1,597 +0,0 @@ -;;; org-mime.el --- org html export for text/html MIME emails - -;; Copyright (C) 2010-2015 Eric Schulte - -;; Author: Eric Schulte -;; Maintainer: Chen Bin (redguardtoo) -;; Keywords: mime, mail, email, html -;; Package-Version: 20191226.2309 -;; Homepage: http://github.com/org-mime/org-mime -;; Version: 0.1.6 -;; Package-Requires: ((emacs "24.4") (cl-lib "0.5")) - -;; This file is not part of GNU Emacs. - -;;; License: - -;; 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 -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. -;; -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . - -;;; Commentary: - -;; WYSIWYG, html mime composition using org-mode -;; -;; For mail composed using the orgstruct-mode minor mode, this -;; provides a function for converting all or part of your mail buffer -;; to embedded html as exported by org-mode. Call `org-mime-htmlize' -;; in a message buffer to convert either the active region or the -;; entire buffer to html. -;; -;; Similarly the `org-mime-org-buffer-htmlize' function can be called -;; from within an org-mode buffer to convert the buffer to html, and -;; package the results into an email handling with appropriate MIME -;; encoding. -;; -;; `org-mime-org-subtree-htmlize' is similar to `org-mime-org-buffer-htmlize' -;; but works on current subtree. It can read following subtree properties: -;; MAIL_SUBJECT, MAIL_TO, MAIL_FROM, MAIL_CC, and MAIL_BCC. -;; -;; Here is the sample of a subtree: -;; * mail one -;; :PROPERTIES: -;; :MAIL_SUBJECT: mail title -;; :MAIL_TO: person1@gmail.com -;; :MAIL_FROM: sender@gmail.com -;; :MAIL_CC: person2@gmail.com -;; :MAIL_BCC: person3@gmail.com -;; :END: -;; -;; To avoid exporting the table of contents, you can setup -;; `org-mime-export-options': -;; (setq org-mime-export-options '(:section-numbers nil -;; :with-author nil -;; :with-toc nil)) -;; -;; Or just setup your export options in the org buffer/subtree. These are -;; overridden by `org-mime-export-options' when it is non-nil. -;; -;; -;; Quick start: -;; Write a message in message-mode, make sure the mail body follows -;; org format. Before sending mail, run `M-x org-mime-htmlize' to convert the -;; body to html, then send the mail as usual. -;; -;; Setup (OPTIONAL): -;; You might want to bind this to a key with something like the -;; following message-mode binding -;; -;; (add-hook 'message-mode-hook -;; (lambda () -;; (local-set-key (kbd "C-c M-o") 'org-mime-htmlize))) -;; -;; and the following org-mode binding -;; -;; (add-hook 'org-mode-hook -;; (lambda () -;; (local-set-key (kbd "C-c M-o") 'org-mime-org-buffer-htmlize))) -;; -;; Extra Tips: -;; 1. In order to embed images into your mail, use the syntax below, -;; [[/full/path/to/your.jpg]] -;; -;; 2. It's easy to add your own emphasis markup. For example, to render text -;; between "@" in a red color, you can add a function to `org-mime-html-hook': -;; -;; (add-hook 'org-mime-html-hook -;; (lambda () -;; (while (re-search-forward "@\\([^@]*\\)@" nil t) -;; (replace-match "\\1")))) -;; -;; 3. Now the quoted mail uses a modern style (like Gmail), so mail replies -;; looks clean and modern. If you prefer the old style, please set -;; `org-mime-beautify-quoted-mail' to nil. -;; -;; 4. Please note this program can only embed exported HTML into mail. -;; Org-mode is responsible for rendering HTML. -;; -;; For example, see https://github.com/org-mime/org-mime/issues/38 -;; The solution is patching org-mode, -;; https://lists.gnu.org/archive/html/emacs-orgmode/2019-11/msg00016.html -;; - -;;; Code: -(require 'cl-lib) -(require 'outline) -(require 'org) -(require 'ox-org) - -(defcustom org-mime-beautify-quoted-mail t - "Beautify quoted mail in more clean HTML, like Gmail." - :group 'org-mime - :type 'boolean) - -(defcustom org-mime-use-property-inheritance nil - "Non-nil means al MAIL_ properties apply also for sublevels." - :group 'org-mime - :type 'boolean) - -(defcustom org-mime-default-header - "#+OPTIONS: latex:t toc:nil H:3\n" - "Default header to control html export options. -And ensure first line isn't assumed to be a title line." - :group 'org-mime - :type 'string) - -(defcustom org-mime-library 'mml - "Library to use for marking up MIME elements." - :group 'org-mime - :type '(choice 'mml 'semi 'vm)) - -(defcustom org-mime-preserve-breaks t - "Temporary value of `org-export-preserve-breaks' during mime encoding." - :group 'org-mime - :type 'boolean) - -(defcustom org-mime-fixedwith-wrap - "
\n%s
\n" - "Format string used to wrap a fixedwidth HTML email." - :group 'org-mime - :type 'string) - -(defcustom org-mime-find-html-start 'identity - "Call back to search the new HTML start for htmlize in message buffer." - :group 'org-mime - :type 'sexp) - -(defcustom org-mime-org-html-with-latex-default 'dvipng - "Default value of `org-html-with-latex'." - :group 'org-mime - :type 'sexp) - -(defvar org-mime-export-options '(:with-latex dvipng) - "Default export options which may overrides org buffer/subtree options. -You avoid exporting section-number/author/toc with the setup below, -`(setq org-mime-export-options '(:section-numbers nil :with-author nil :with-toc nil))'") - -(defvar org-mime-html-hook nil - "Hook to run over the html buffer before attachment to email. -This could be used for example to post-process html elements.") - -(defvar org-mime-pre-html-hook nil - "Hook to run before html export. -Functions should take no arguments and will be run in a -buffer holding the text to be exported.") - -(defvar org-mime-send-buffer-hook nil - "Hook to run in the Org-mode file before export.") - -(defvar org-mime-debug nil - "Enable debug logger.") - -(defun org-mime-get-export-options (subtreep) - "SUBTREEP is t if current node is subtree." - (cond - (subtreep - (or org-mime-export-options - (if (fboundp 'org-export--get-subtree-options) - (org-export--get-subtree-options)))) - (t - (or org-mime-export-options - (if (fboundp 'org-export--get-inbuffer-options) - (org-export--get-inbuffer-options)))))) - -(defun org-mime-current-line () - "Get current line" - (buffer-substring-no-properties (line-beginning-position) - (line-end-position))) - -(defun org-mime-export-buffer-or-subtree (subtreep) - "Similar to `org-html-export-as-html' and `org-org-export-as-org'. -SUBTREEP is t if current node is subtree." - (let* ((plain (buffer-string)) - (buf (org-export-to-buffer 'html "*Org Mime Export*" - nil subtreep nil (org-mime-get-export-options subtreep))) - (body (prog1 - (with-current-buffer buf - (buffer-string)) - (kill-buffer buf)))) - (cons body plain))) - -(defun org-mime-export-string (string &optional opts) - "Export STRING into html. -OPTS is export options." - ;; Emacs 25+ prefer exporting drawer by default - ;; obviously not acceptable in exporting to mail body - (let* ((org-export-with-drawers nil)) - ;; we won't export title from org file anyway - (if opts (setq opts (plist-put opts 'title nil))) - ;; emacs24.4+ - (org-export-string-as string 'html t (or org-mime-export-options opts)))) - -;; example hook, for setting a dark background in -;;
 elements
-(defun org-mime-change-element-style (element style)
-  "Set  elements in exported html with new default html STYLE."
-  (while (re-search-forward (format "<%s" element) nil t)
-    (replace-match (format "<%s style=\"%s\"" element style))))
-
-(defun org-mime-change-class-style (class style)
-  "CLASS is used for new default html STYLE in exported html."
-  (while (re-search-forward (format "class=\"%s\"" class) nil t)
-    (replace-match (format "class=\"%s\" style=\"%s\"" class style))))
-
-;; ;; example addition to `org-mime-html-hook' adding a dark background
-;; ;; color to 
 elements
-;; (add-hook 'org-mime-html-hook
-;;           (lambda ()
-;;             (org-mime-change-element-style
-;;              "pre" (format "color: %s; background-color: %s;"
-;;                            "#E6E1DC" "#232323"))
-;;             (org-mime-change-class-style
-;;              "verse" "border-left: 2px solid gray; padding-left: 4px;")))
-
-(defun org-mime-file (ext path id)
-  "Markup a file with EXT, PATH and ID for attachment."
-  (when org-mime-debug (message "org-mime-file called => %s %s %s" ext path id))
-  (cl-case org-mime-library
-    (mml (format "<#part type=\"%s\" filename=\"%s\" disposition=inline id=\"<%s>\">\n<#/part>\n"
-                 ext path id))
-    (semi (concat
-           (format "--[[%s\nContent-Disposition: inline;\nContent-ID: <%s>][base64]]\n"
-                   ext id)
-           (base64-encode-string
-            (with-temp-buffer
-              (set-buffer-multibyte nil)
-              (insert-file-contents-literally path)
-              (buffer-string)))))
-    (vm "?")))
-
-(defun org-mime-beautify-quoted (html)
-  "Clean up quoted mail in modern UI style.
-HTML is the body of the message."
-  (let ((quote-depth 0)
-        (line-depth 0)
-        (quote-opening "
\n

\n") - (quote-closing "

\n
\n")) - (with-temp-buffer - ;; clean title of quoted - (insert (replace-regexp-in-string - "

[\n\r]*>>>>> .* == \\([^\r\n]*\\)[\r\n]*

" - "
\\1
" - html)) - (goto-char (point-min)) - (while (not (eobp)) - (setq line-depth 0) - (while (looking-at ">[ \t]*") - (replace-match "") - (cl-incf line-depth)) - (cond - ((< quote-depth line-depth) - (while (< quote-depth line-depth) - (insert quote-opening) - (cl-incf quote-depth))) - ((> quote-depth line-depth) - (while (> quote-depth line-depth) - (insert quote-closing) - (cl-decf quote-depth)))) - (forward-line)) - (buffer-substring (point-min) (point-max))))) - -(defun org-mime-multipart (plain html &optional images) - "Markup a multipart/alternative with HTML alternatives. -If html portion of message includes IMAGES they are wrapped in multipart/related part." - (cl-case org-mime-library - (mml (concat "<#multipart type=alternative>\n<#part type=text/plain>" - plain - (when images "<#multipart type=related>") - "<#part type=text/html>" - (if org-mime-beautify-quoted-mail - (org-mime-beautify-quoted html) - html) - images - (when images "<#/multipart>\n") - "<#/multipart>\n")) - (semi (concat - "--" "<>-{\n" - "--" "[[text/plain]]\n" plain - (when images (concat "--" "<>-{\n")) - "--" "[[text/html]]\n" html - images - (when images (concat "--" "}-<>\n")) - "--" "}-<>\n")) - (vm "?"))) - -(defun org-mime-url-to-path (url current-file) - "If URL is file path, convert to valid path. -Or else use CURRENT-FILE to calculate path." - (let* ((dir (file-name-directory current-file)) - (path (expand-file-name url dir))) - (cond - ((string-match-p "^file:///" url) - (replace-regexp-in-string "^file://" "" url)) - ((file-exists-p path) - path) - (t - (expand-file-name url default-directory))))) - -(defun org-mime-replace-images (str current-file) - "Replace images in STR with cid links. -CURRENT-FILE is used to calculate full path of images." - (when org-mime-debug (message "org-mime-replace-images called => %s" current-file)) - (let* (html-images) - (cons - (replace-regexp-in-string ;; replace images in html - "src=\"\\([^\"]+\\)\"" - (lambda (text) - (format - "src=\"cid:%s\"" - (let* ((url (and (string-match "src=\"\\([^\"]+\\)\"" text) - (match-string 1 text))) - (path (org-mime-url-to-path url current-file)) - (ext (file-name-extension path)) - (id (replace-regexp-in-string "[\/\\\\]" "_" path))) - - ;; Catch non-existent files here. Otherwise users get an error on sending. - (unless (file-exists-p path) - (user-error "path: %s does not exist" path)) - - ;; Do it - (add-to-list 'html-images - (org-mime-file (concat "image/" ext) path id)) - id))) - str) - html-images))) - -(defun org-mime-extract-non-image-files () - "Extract non-image links in current buffer." - (cond - ((>= (org-mime-org-major-version) 9) - (org-element-map (org-element-parse-buffer) 'link - (lambda (link) - (when (and (string= (org-element-property :type link) "file") - (not (string-match - (cdr (assoc "file" org-html-inline-image-rules)) - (org-element-property :path link)))) - (org-element-property :path link))))) - (t - (message "Warning: org-element-map is not available. File links will not be attached.") - nil))) - -(defun org-mime-insert-html-content (plain file html opts) - "Insert 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 - ;; (setq org-html-with-latex nil) sometimes useful - (org-html-with-latex org-mime-org-html-with-latex-default) - ;; we don't want to convert org file links to html - (org-html-link-org-files-as-html nil) - (org-link-file-path-type 'absolute) - ;; prettify reply with ">" - (org-export-preserve-breaks org-mime-preserve-breaks) - ;; org 9 - (org-html-htmlize-output-type 'inline-css) - ;; org 8 - (org-export-htmlize-output-type 'inline-css) - (html-and-images (org-mime-replace-images html file)) - (images (cdr html-and-images)) - (html (org-mime-apply-html-hook (car html-and-images)))) - - ;; If there are files that were attached, we should remove the links, - ;; and mark them as attachments. The links don't work in the html file. - (when files - (mapc (lambda (f) - (setq html (replace-regexp-in-string - (format "%s" - (regexp-quote f) (regexp-quote f)) - (format "%s (attached)" (file-name-nondirectory f)) - html))) - files)) - - (insert (org-mime-multipart plain - html - (if images (mapconcat 'identity images "\n")))) - - ;; Attach any residual files - (when files - (mapc (lambda (f) - (when org-mime-debug (message "attaching: %s" f)) - (mml-attach-file f)) - files)))) - -;;;###autoload -(defun org-mime-htmlize () - "Export a portion of an email to html using `org-mode'. -If called with an active region only export that region, otherwise entire body." - (interactive) - (when org-mime-debug (message "org-mime-htmlize called")) - (let* ((region-p (org-region-active-p)) - (html-start (funcall org-mime-find-html-start - (or (and region-p (region-beginning)) - (save-excursion - (goto-char (point-min)) - (search-forward mail-header-separator) - (+ (point) 1))))) - (html-end (or (and region-p (region-end)) - ;; TODO: should catch signature... - (point-max))) - (plain (buffer-substring html-start html-end)) -;; to hold attachments for inline html images - (opts (if (fboundp 'org-export--get-inbuffer-options) - (org-export--get-inbuffer-options))) - (html (org-mime-export-string (concat org-mime-default-header plain) opts)) - (file (make-temp-name (expand-file-name - "mail" temporary-file-directory)))) - - ;; delete current region - (delete-region html-start html-end) - (goto-char html-start) - ;; insert new current - (org-mime-insert-html-content plain file html opts))) - -(defun org-mime-apply-html-hook (html) - "Apply HTML hook." - (if org-mime-html-hook - (with-temp-buffer - (insert html) - (goto-char (point-min)) - (run-hooks 'org-mime-html-hook) - (buffer-string)) - html)) - -(defun org-mime--get-buffer-title () - "Get buffer title." - (let* ((tmp (if (fboundp 'org-export--get-inbuffer-options) - (plist-get (org-export--get-inbuffer-options) :title)))) - (when tmp - (let ((txt (car tmp))) - (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, curret org node is subtree." - ;; 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) - (setq patched-html (with-temp-buffer - (insert html) - (goto-char (point-min)) - (run-hooks 'org-mime-pre-html-hook) - (buffer-string))) - ;; insert text - (org-mime-insert-html-content plain file patched-html export-opts))) - -(defun org-mime-extract-keywords () - "Extract keywords." - (cond - ((>= (org-mime-org-major-version) 9) - (org-element-map (org-element-parse-buffer) 'keyword - (lambda (keyword) - (cons (org-element-property :key keyword) - (org-element-property :value keyword))))) - (t - (message "Warning: org-element-map is not available. File keywords will not work.") - '()))) - -(defun org-mime-build-mail-other-headers (cc bcc from) - "Build mail header from CC, BCC, and FROM." - (let* ((arr (list (cons "Cc" cc) (cons "Bcc" bcc) (cons "From" from ))) - rlt) - (dolist (e arr) - (when (cdr e) - (push e rlt))) - rlt)) - -;;;###autoload -(defun org-mime-org-buffer-htmlize () - "Create an email buffer of the current org buffer. -The email buffer will contain both html and in org formats as mime -alternatives. - -The following file keywords can be used to control the headers: -#+MAIL_TO: some1@some.place -#+MAIL_SUBJECT: a subject line -#+MAIL_CC: some2@some.place -#+MAIL_BCC: some3@some.place -#+MAIL_FROM: sender@some.place - -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))) - (keywords (org-mime-extract-keywords)) - (subject (or (cdr (assoc "MAIL_SUBJECT" keywords)) - (org-mime--get-buffer-title) - (if (not file) (buffer-name (buffer-base-buffer)) - (file-name-sans-extension - (file-name-nondirectory file))))) - (exported (org-mime-export-buffer-or-subtree nil)) - (to (cdr (assoc "MAIL_TO" keywords))) - (cc (cdr (assoc "MAIL_CC" keywords))) - (bcc (cdr (assoc "MAIL_BCC" keywords))) - (from (cdr (assoc "MAIL_FROM" keywords))) - (other-headers (org-mime-build-mail-other-headers cc bcc from))) - (org-mime-compose exported file to subject other-headers nil) - (message-goto-to))) - -(defun org-mime-org-major-version () - "Get Org major version." - (string-to-number (car (split-string (org-release) "\\.")))) - -(defun org-mime-attr (p) - (org-entry-get nil p org-mime-use-property-inheritance)) - -;;;###autoload -(defun org-mime-org-subtree-htmlize (&optional htmlize-first-level) - "Create an email buffer of the current subtree. If HTMLIZE-FIRST-LEVEL is -not nil, the first level subtree which containing current subtree is htmlized. - -Following headline properties can determine the mail headers, -* subtree heading - :PROPERTIES: - :MAIL_SUBJECT: mail title - :MAIL_TO: person1@gmail.com - :MAIL_CC: person2@gmail.com - :MAIL_BCC: person3@gmail.com - :MAIL_FROM: sender@gmail.com - :END: -" - (interactive "P") - (save-excursion - (org-back-to-heading) - - (when (and htmlize-first-level - (not (string-match "^\\* " (org-mime-current-line)))) - ;; go back to the 1st level substree - (re-search-backward "^\\* ") - (org-back-to-heading)) - - (when (outline-on-heading-p nil) - (let* ((file (buffer-file-name (current-buffer))) - (subject (or (org-mime-attr "MAIL_SUBJECT") - (nth 4 (org-heading-components)))) - (to (org-mime-attr "MAIL_TO")) - (cc (org-mime-attr "MAIL_CC")) - (bcc (org-mime-attr "MAIL_BCC")) - (from (org-mime-attr "MAIL_FROM")) - ;; 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. - (exported (save-restriction (org-narrow-to-subtree) - (org-mime-export-buffer-or-subtree t)))) - (save-restriction - (org-narrow-to-subtree) - (org-mime-compose exported file to subject other-headers t)) - (message-goto-to))))) - -(provide 'org-mime) -;; Local Variables: -;; coding: utf-8 -;; tab-width: 2 -;; indent-tabs-mode: nil -;; End: -;;; org-mime.el ends here diff --git a/elpa/org-mime-20191226.2309/org-mime-autoloads.el b/elpa/org-mime-20230321.2341/org-mime-autoloads.el similarity index 70% rename from elpa/org-mime-20191226.2309/org-mime-autoloads.el rename to elpa/org-mime-20230321.2341/org-mime-autoloads.el index f320b8db..edfcf279 100644 --- a/elpa/org-mime-20191226.2309/org-mime-autoloads.el +++ b/elpa/org-mime-20230321.2341/org-mime-autoloads.el @@ -1,4 +1,4 @@ -;;; org-mime-autoloads.el --- automatically extracted autoloads +;;; org-mime-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*- ;; ;;; Code: @@ -11,9 +11,7 @@ (autoload 'org-mime-htmlize "org-mime" "\ Export a portion of an email to html using `org-mode'. -If called with an active region only export that region, otherwise entire body. - -\(fn)" t nil) +If called with an active region only export that region, otherwise entire body." t nil) (autoload 'org-mime-org-buffer-htmlize "org-mime" "\ Create an email buffer of the current org buffer. @@ -26,16 +24,16 @@ The following file keywords can be used to control the headers: #+MAIL_CC: some2@some.place #+MAIL_BCC: some3@some.place #+MAIL_FROM: sender@some.place +#+MAIL_FROM: sender@some.place +#+MAIL_IN_REPLY_TO: -The cursor ends in the TO field. - -\(fn)" t nil) +The cursor ends in the TO field." t nil) (autoload 'org-mime-org-subtree-htmlize "org-mime" "\ -Create an email buffer of the current subtree. If HTMLIZE-FIRST-LEVEL is -not nil, the first level subtree which containing current subtree is htmlized. +Create an email buffer from current subtree. +If HTMLIZE-FIRST-LEVEL is t, first level subtree of current node is htmlized. -Following headline properties can determine the mail headers, +Following headline properties can determine the mail headers. * subtree heading :PROPERTIES: :MAIL_SUBJECT: mail title @@ -47,7 +45,11 @@ Following headline properties can determine the mail headers, \(fn &optional HTMLIZE-FIRST-LEVEL)" t nil) -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-mime" '("org-mime-"))) +(register-definition-prefixes "org-mime" '("org-mime-")) + +;;;*** + +;;;### (autoloads nil nil ("org-mime-pkg.el") (0 0 0 0)) ;;;*** diff --git a/elpa/org-mime-20230321.2341/org-mime-pkg.el b/elpa/org-mime-20230321.2341/org-mime-pkg.el new file mode 100644 index 00000000..845ed625 --- /dev/null +++ b/elpa/org-mime-20230321.2341/org-mime-pkg.el @@ -0,0 +1,14 @@ +(define-package "org-mime" "20230321.2341" "org html export for text/html MIME emails" + '((emacs "25.1")) + :commit "d368bd4119bfcf2997a6a23bbf5f41e043164d29" :authors + '(("Eric Schulte")) + :maintainers + '(("Chen Bin" . "chenbin.sh@gmail.com")) + :maintainer + '("Chen Bin" . "chenbin.sh@gmail.com") + :keywords + '("mime" "mail" "email" "html") + :url "http://github.com/org-mime/org-mime") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/org-mime-20230321.2341/org-mime.el b/elpa/org-mime-20230321.2341/org-mime.el new file mode 100644 index 00000000..0187b987 --- /dev/null +++ b/elpa/org-mime-20230321.2341/org-mime.el @@ -0,0 +1,919 @@ +;;; 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 +;; Keywords: mime, mail, email, html +;; Homepage: http://github.com/org-mime/org-mime +;; Version: 0.3.2 +;; Package-Requires: ((emacs "25.1")) + +;; This file is not part of GNU Emacs. + +;;; License: + +;; 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 +;; the Free Software Foundation; either version 3, or (at your option) +;; any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; WYSIWYG, html mime composition using org-mode +;; +;; For mail composed using the orgstruct-mode minor mode, this +;; provides a function for converting all or part of your mail buffer +;; to embedded html as exported by org-mode. Call `org-mime-htmlize' +;; in a message buffer to convert either the active region or the +;; entire buffer to html. +;; +;; Similarly the `org-mime-org-buffer-htmlize' function can be called +;; from within an org-mode buffer to convert the buffer to html, and +;; package the results into an email handling with appropriate MIME +;; encoding. +;; +;; `org-mime-org-subtree-htmlize' is similar to `org-mime-org-buffer-htmlize' +;; but works on current subtree. It can read following subtree properties: +;; MAIL_SUBJECT, MAIL_TO, MAIL_FROM, MAIL_CC, and MAIL_BCC. MAIL_IN_REPLY_TO +;; +;; Here is the sample of a subtree: +;; * mail one +;; :PROPERTIES: +;; :MAIL_SUBJECT: mail title +;; :MAIL_TO: person1@gmail.com +;; :MAIL_FROM: sender@gmail.com +;; :MAIL_CC: person2@gmail.com +;; :MAIL_BCC: person3@gmail.com +;; :MAIL_IN_REPLY_TO: +;; :END: +;; +;; To avoid exporting the table of contents, you can setup +;; `org-mime-export-options' as below, +;; (setq org-mime-export-options '(:with-latex dvipng +;; :section-numbers nil +;; :with-author nil +;; :with-toc nil)) +;; It overrides Org default settings, but still inferior to file-local settings. +;; +;; Or just setup your export options in the org buffer/subtree. These are +;; overridden by `org-mime-export-options' when it is non-nil. +;; +;; +;; Quick start: +;; Write a message in message-mode, make sure the mail body follows +;; org format. Run `org-mime-edit-mail-in-org-mode' to edit mail +;; in a special edit with `org-mode'. +;; Run `org-mime-htmlize' to convert the plain text mail to html mail. +;; Run `org-mime-revert-to-plain-text-mail' if you want to restore to +;; plain text mail. +;; +;; Setup (OPTIONAL): +;; You might want to bind this to a key with something like the +;; following message-mode binding +;; +;; (add-hook 'message-mode-hook +;; (lambda () +;; (local-set-key (kbd "C-c M-o") 'org-mime-htmlize))) +;; +;; and the following org-mode binding +;; +;; (add-hook 'org-mode-hook +;; (lambda () +;; (local-set-key (kbd "C-c M-o") 'org-mime-org-buffer-htmlize))) +;; +;; Extra Tips: +;; 1. In order to embed images into your mail, use the syntax below, +;; +;; [[/full/path/to/your.jpg]] +;; +;; 2. It's easy to define your hack the exported plain text and html. +;; For example, below code removes "\\" from plain text, +;; +;; (add-hook 'org-mime-plain-text-hook +;; (lambda () +;; (while (re-search-forward "\\\\" nil t) +;; (replace-match "")))) +;; +;; For example, below code renders text between "#" in red color from html, +;; +;; (add-hook 'org-mime-html-hook +;; (lambda () +;; (while (re-search-forward "#\\([^#]*\\)#" nil t) +;; (replace-match "\\1")))) +;; +;; 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. +;; +;; For example, see https://github.com/org-mime/org-mime/issues/38 +;; The solution is patching org-mode, +;; https://lists.gnu.org/archive/html/emacs-orgmode/2019-11/msg00016.html +;; +;; 5. See https://github.com/org-mime/org-mime for more tips +;; + +;;; Code: +(require 'cl-lib) +(require 'outline) +(require 'org) +(require 'ox-org) +(require 'ox-html) +(require 'message) + +(defcustom org-mime-beautify-quoted-mail-p t + "Beautify quoted mail in more clean HTML, like Gmail." + :group 'org-mime + :type 'boolean) + +(defcustom org-mime-use-property-inheritance nil + "Non-nil means al MAIL_ properties apply also for sub-levels." + :group 'org-mime + :type 'boolean) + +(defcustom org-mime-library 'mml + "Library to use for marking up MIME elements." + :group 'org-mime + :type '(choice 'mml 'semi 'vm)) + +(defcustom org-mime-export-ascii nil + "ASCII export options for text/plain. +Default (nil) selects the original org file." + :group 'org-mime + :type '(choice 'ascii 'latin1 'utf-8)) + +(defcustom org-mime-preserve-breaks t + "Temporary value of `org-export-preserve-breaks' during mime encoding." + :group 'org-mime + :type 'boolean) + +(defcustom org-mime-fixed-width-wrap + "
\n%s
\n" + "Format string used to wrap a fixed width HTML email." + :group 'org-mime + :type 'string) + +(defcustom org-mime-find-html-start 'identity + "Call back to search the new HTML start for htmlize in message buffer." + :group 'org-mime + :type 'sexp) + +(defcustom org-mime-org-html-with-latex-default 'dvipng + "Default value of `org-html-with-latex'." + :group 'org-mime + :type 'sexp) + +(defcustom org-mime-mail-signature-separator + (or message-signature-separator "^--\s?$") + "Default mail signature separator." + :group 'org-mime + :type 'string) + +(defvar org-mime-export-options '(:with-latex dvipng) + "Default export options which may override org buffer/subtree options. +You could avoid exporting section-number/author/toc. +It overrides Org default settings, but still inferior to file-local settings.") + +(defvar org-mime-plain-text-hook nil + "Hook to run over the plain text buffer before adding it to email. +This is used to process plain text part of email .") + +(defvar org-mime-html-hook nil + "Hook to run over the html buffer before adding it to email. +This is used to process html part of email.") + +(defvar org-mime-pre-html-hook nil + "Hook to run before html export. +Functions should take no arguments and will be run in a +buffer holding the text to be exported.") + +(defvar org-mime-send-buffer-hook nil + "Hook to run in the Org-mode file before export.") + +(defvar org-mime-debug nil + "Enable debug logger.") + +;; internal variables +(defvar org-mime-src--overlay nil) +(defvar org-mime-src--beg-marker nil) +(defvar org-mime-src--end-marker nil) +(defvar org-mime--saved-temp-window-config nil) +(defconst org-mime-src--hint "## org-mime hint: Press C-c C-c to commit change.\n") + +(defun org-mime-get-buffer-export-options () + "Get export options in buffer." + (or org-mime-export-options + (and (fboundp 'org-export--get-inbuffer-options) + (org-export--get-inbuffer-options)))) + +(defun org-mime-get-export-options (subtreep) + "SUBTREEP is t if current node is subtree." + (cond + (subtreep + (or org-mime-export-options + (and (fboundp 'org-export--get-subtree-options) + (org-export--get-subtree-options)))) + (t + (org-mime-get-buffer-export-options)))) + +(defun org-mime-current-line () + "Get current line." + (buffer-substring-no-properties (line-beginning-position) + (line-end-position))) + +(defun org-mime-use-ascii-charset () + "Return nil unless `org-mime-export-ascii' is set to a valid value." + (car (memq org-mime-export-ascii '(ascii utf-8 latin1)))) + +(defun org-mime-export-ascii-maybe (text &optional opts) + "Export TEXT to ascii format with OPTS." + (let* ((ascii-charset (org-mime-use-ascii-charset)) + (plain-text (cond + (ascii-charset + (setq org-ascii-charset ascii-charset) + (org-export-string-as text 'ascii nil opts)) + (t + text)))) + plain-text)) + +(defun org-mime-export-buffer-or-subtree (subtreep) + "Similar to `org-html-export-as-html' and `org-org-export-as-org'. +SUBTREEP is t if current node is subtree." + (let* ((opts (org-mime-get-export-options subtreep)) + (plain (org-mime-export-ascii-maybe (buffer-string) opts)) + (buf (org-export-to-buffer 'html "*Org Mime Export*" nil subtreep nil t opts)) + (body (prog1 + (with-current-buffer buf + (buffer-string)) + (kill-buffer buf)))) + (cons body plain))) + +(defun org-mime-export-string (string &optional options) + "Export STRING into html with OPTIONS." + ;; Emacs 25+ prefer exporting drawer by default + ;; obviously not acceptable in exporting to mail body + (let* ((org-export-with-drawers nil)) + + (when org-mime-export-options + (setq options org-mime-export-options)) + + ;; we won't export title from org file anyway + (if options (setq options (plist-put options 'title nil))) + + ;; emacs24.4+ + (org-export-string-as string 'html t options))) + +;; example hook, for setting a dark background in +;;
 elements
+(defun org-mime-change-element-style (element style)
+  "Set  elements in exported html with new default html STYLE."
+  (while (re-search-forward (format "<%s" element) nil t)
+    (replace-match (format "<%s style=\"%s\"" element style))))
+
+(defun org-mime-change-class-style (class style)
+  "CLASS is used for new default html STYLE in exported html."
+  (while (re-search-forward (format "class=\"%s\"" class) nil t)
+    (replace-match (format "class=\"%s\" style=\"%s\"" class style))))
+
+(defun org-mime-file (ext path id)
+  "Markup a file with EXT, PATH and ID for attachment."
+  (when org-mime-debug (message "org-mime-file called => %s %s %s" ext path id))
+  (cl-case org-mime-library
+    (mml (format "<#part type=\"%s\" filename=\"%s\" disposition=inline id=\"<%s>\">\n<#/part>\n"
+                 ext path id))
+    (semi (concat
+           (format "--[[%s\nContent-Disposition: inline;\nContent-ID: <%s>][base64]]\n"
+                   ext id)
+           (base64-encode-string
+            (with-temp-buffer
+              (set-buffer-multibyte nil)
+              (insert-file-contents-literally path)
+              (buffer-string)))))
+    (vm "?")))
+
+(defun org-mime-beautify-quoted (html)
+  "Beautify quoted mail in modern UI style.
+HTML is the body of the message."
+  (when org-mime-debug
+    (message "org-mime-beautify-quoted called => %s" html))
+  (let ((quote-depth 0)
+        (line-depth 0)
+        (in-quote-p nil)
+        (quote-opening "
\n\n
") + (quote-closing "\n
\n")) + (with-temp-buffer + ;; clean title of quoted + (insert (replace-regexp-in-string + "

[\n\r]*>>>>> .* == \\([^\r\n]*\\)[\r\n]*

" + "
\\1
" + html)) + (goto-char (point-min)) + (while (not (eobp)) + (setq line-depth 0) + (setq in-quote-p nil) + (while (looking-at ">[ \t]*") + (setq in-quote-p t) + (replace-match "") + (cl-incf line-depth)) + (cond + ((< quote-depth line-depth) + (while (< quote-depth line-depth) + (insert quote-opening) + (cl-incf quote-depth))) + ((> quote-depth line-depth) + (while (> quote-depth line-depth) + (insert quote-closing) + (cl-decf quote-depth)))) + (if (and in-quote-p (looking-at "^[ \t]*$")) + (progn + (insert "\n
") + (forward-line) + (insert "
\n
")) + (forward-line))) + (buffer-substring (point-min) (point-max))))) + +(defun org-mime-multipart (plain html &optional images) + "Markup PLAIN body a multipart/alternative with HTML alternatives. +If html portion of message includes IMAGES they are wrapped in +multipart/related part." + (cl-case org-mime-library + (mml (concat "<#multipart type=alternative>\n<#part type=text/plain>\n" + plain + (when images "<#multipart type=related>") + "<#part type=text/html>\n" + (if org-mime-beautify-quoted-mail-p + (org-mime-beautify-quoted html) + html) + images + (when images "<#/multipart>\n") + "<#/multipart>\n")) + (semi (concat + "--" "<>-{\n" + "--" "[[text/plain]]\n" plain + (when images (concat "--" "<>-{\n")) + "--" "[[text/html]]\n" html + images + (when images (concat "--" "}-<>\n")) + "--" "}-<>\n")) + (vm "?"))) + +(defun org-mime-url-to-path (url current-file) + "If URL is file path, convert to valid path. +Or else use CURRENT-FILE to calculate path." + (let* ((dir (file-name-directory current-file)) + (path (expand-file-name url dir))) + (cond + ((string-match-p "^file:///" url) + (let* ((str (replace-regexp-in-string "^file://" "" url))) + (when (and (eq system-type 'windows-nt) + (string-match "^/[a-zA-Z]:" str)) + ;; remove the first character from "/C:/Windows/File.txt" + (setq str (substring str 1))) + str)) + + ((file-exists-p path) + path) + + (t + (expand-file-name url default-directory))))) + +(defun org-mime-replace-images (str current-file) + "Replace images in STR with cid links. +CURRENT-FILE is used to calculate full path of images." + (when org-mime-debug (message "org-mime-replace-images called => %s" current-file)) + (let* (html-images) + (cons + (replace-regexp-in-string ;; replace images in html + "src=\"\\([^\"]+\\)\"" + (lambda (text) + (format + "src=\"cid:%s\"" + (let* ((url (and (string-match "src=\"\\([^\"]+\\)\"" text) + (match-string 1 text))) + (path (org-mime-url-to-path url current-file)) + (ext (file-name-extension path)) + (id (replace-regexp-in-string "[\/\\\\]" "_" path))) + + ;; Catch non-existent files here. Otherwise users get an error on sending. + (unless (file-exists-p path) + (user-error "Path: %s does not exist" path)) + + ;; Do it + (add-to-list 'html-images + (org-mime-file (concat "image/" ext) path id)) + id))) + str) + html-images))) + +(defun org-mime-extract-non-image-files () + "Extract non-image links in current buffer." + (cond + ((>= (org-mime-org-major-version) 9) + (org-element-map (org-element-parse-buffer) 'link + (lambda (link) + (when (and (string= (org-element-property :type link) "file") + (not (string-match + (cdr (assoc "file" org-html-inline-image-rules)) + (org-element-property :path link)))) + (org-element-property :path link))))) + (t + (message "Warning: org-element-map is not available. File links will not be attached.") + nil))) + +(defun org-mime-apply-plain-text-hook (text) + "Apply TEXT hook." + (if org-mime-plain-text-hook + (with-temp-buffer + (insert text) + (goto-char (point-min)) + (run-hooks 'org-mime-plain-text-hook) + (buffer-string)) + text)) + +(defun org-mime-apply-html-hook (html) + "Apply HTML hook." + (if org-mime-html-hook + (with-temp-buffer + (insert html) + (goto-char (point-min)) + (run-hooks 'org-mime-html-hook) + (buffer-string)) + html)) + +(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 + ;; (setq org-html-with-latex nil) sometimes useful + (org-html-with-latex org-mime-org-html-with-latex-default) + ;; we don't want to convert org file links to html + (org-html-link-org-files-as-html nil) + (org-link-file-path-type 'absolute) + ;; prettify reply with ">" + (org-export-preserve-breaks org-mime-preserve-breaks) + ;; org 9 + (org-html-htmlize-output-type 'inline-css) + ;; org 8 + (org-export-htmlize-output-type 'inline-css) + (html-and-images (org-mime-replace-images html file)) + (images (cdr html-and-images)) + (html (org-mime-apply-html-hook (car html-and-images)))) + + ;; If there are files that were attached, we should remove the links, + ;; and mark them as attachments. The links don't work in the html file. + (when files + (mapc (lambda (f) + (setq html (replace-regexp-in-string + (format "%s" + (regexp-quote f) (regexp-quote f)) + (format "%s (attached)" (file-name-nondirectory f)) + html))) + files)) + + (insert (org-mime-multipart (org-mime-apply-plain-text-hook plain) + html + (if images (mapconcat 'identity images "\n")))) + + ;; Attach any residual files + (when files + (mapc (lambda (f) + (when org-mime-debug (message "attaching: %s" f)) + (mml-attach-file f)) + files)) + + ;; spacer + (insert "\n\n"))) + +(defun org-mime-mail-body-begin () + "Get begin of mail body." + (save-excursion + (goto-char (point-min)) + (search-forward mail-header-separator) + (+ (point) 1))) + +(defun org-mime-mail-signature-begin () + "Find start of signature line in email." + (save-excursion + (goto-char (point-max)) + (re-search-backward org-mime-mail-signature-separator nil t nil))) + + +(defmacro org-mime-extract-tag-in-current-buffer (beginning end result) + "Extract the text between BEGINNING and END and insert it into RESULT." + `(when (and ,beginning ,end (< ,beginning ,end)) + (push (buffer-substring-no-properties ,beginning ,end) ,result) + ;; delete old tag + (delete-region ,beginning ,end))) + +(defun org-mime-extract-non-org () + "Extract content not in org format (gpg signature, attachments ...)." + (unless (org-region-active-p) + (let* (secure-tags + part-tags + str + b + e + (old-pos (point))) + (goto-char (point-min)) + (while (re-search-forward "<#secure \\|<#part .* filename=" (point-max) t) + (setq str (match-string 0)) + (setq b (match-beginning 0)) + (cond + ;; one line gpg signature tag + ((string-match "^<#secure " str) + (setq e (line-end-position)) + (org-mime-extract-tag-in-current-buffer b e secure-tags)) + + ;; multi-lines attachment + ((string-match "^<#part .* filename=" str) + (save-excursion + (unless (re-search-forward "<#/part>" (point-max) t) + (error (format "\"%s\" should have end tag." str))) + (setq e (match-end 0)) + (org-mime-extract-tag-in-current-buffer b e part-tags)))) + + ;; search next tag + (goto-char (point-min))) + + ;; move cursor back to its original position + (goto-char old-pos) + + (list :secure-tags (nreverse secure-tags) + :part-tags (nreverse part-tags))))) + +;;;###autoload +(defun org-mime-htmlize () + "Export a portion of an email to html using `org-mode'. +If called with an active region only export that region, otherwise entire body." + (interactive) + (when org-mime-debug (message "org-mime-htmlize called")) + + (let* ((region-p (org-region-active-p)) + (all-tags (org-mime-extract-non-org)) + (secure-tags (plist-get all-tags :secure-tags)) + (part-tags (plist-get all-tags :part-tags)) + (html-start (funcall org-mime-find-html-start + (or (and region-p (region-beginning)) + (org-mime-mail-body-begin)))) + (html-end (or (and region-p (region-end)) + (or + (org-mime-mail-signature-begin) + (point-max)))) + (org-text (buffer-substring html-start html-end)) +;; to hold attachments for inline html images + (opts (org-mime-get-buffer-export-options)) + (plain (org-mime-export-ascii-maybe org-text)) + (html (org-mime-export-string org-text opts)) + (file (make-temp-name (expand-file-name + "mail" temporary-file-directory)))) + + ;; delete current region + (delete-region html-start html-end) + (goto-char html-start) + + ;; restore secure tags + (when secure-tags + (insert (mapconcat #'identity secure-tags "\n")) + ;; spacer + (insert "\n\n")) + + ;; insert converted html + (org-mime-insert-html-content plain file html) + + ;; restore part tags (attachments) + (when part-tags + (insert (mapconcat #'identity part-tags "\n")) + (insert "\n\n")))) + +(defun org-mime--get-buffer-title () + "Get buffer title." + (let* ((options (org-mime-get-buffer-export-options)) + (tmp (and options (plist-get options :title)))) + (when tmp + (let ((txt (car tmp))) + (set-text-properties 0 (length txt) nil txt) + txt)))) + +(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)) + patched-html) + (compose-mail to subject headers nil) + (message-goto-body) + (setq patched-html (with-temp-buffer + (insert html) + (goto-char (point-min)) + (run-hooks 'org-mime-pre-html-hook) + (buffer-string))) + ;; insert text + (org-mime-insert-html-content plain file patched-html))) + +(defun org-mime-buffer-properties () + "Extract buffer properties." + (let* (rlt value key) + (org-element-map (org-element-parse-buffer) 'keyword + (lambda (keyword) + (when (and (string= (org-element-property :key keyword) "PROPERTY") + (string-match "^MAIL_\\(TO\\|SUBJECT\\|CC\\|BCC\\|IN_REPLY_TO\\|FROM\\) +" + (setq value (org-element-property :value keyword))) + (setq key (concat "MAIL_" (match-string 1 value))) + (setq rlt + (plist-put rlt + (intern (concat ":" key)) + (string-trim (replace-regexp-in-string key "" value)))))))) + rlt)) + +(defun org-mime-build-mail-other-headers (cc bcc from in-reply-to) + "Build mail header from CC, BCC, IN_REPLY_TO and FROM." + (let* ((arr (list (cons "Cc" cc) (cons "Bcc" bcc) (cons "From" from ) (cons "In-Reply-To" in-reply-to ))) + rlt) + (dolist (e arr) + (when (cdr e) + (push e rlt))) + rlt)) + +;;;###autoload +(defun org-mime-org-buffer-htmlize () + "Create an email buffer of the current org buffer. +The email buffer will contain both html and in org formats as mime +alternatives. + +The following file keywords can be used to control the headers: +#+MAIL_TO: some1@some.place +#+MAIL_SUBJECT: a subject line +#+MAIL_CC: some2@some.place +#+MAIL_BCC: some3@some.place +#+MAIL_FROM: sender@some.place +#+MAIL_FROM: sender@some.place +#+MAIL_IN_REPLY_TO: + +The cursor ends in the TO field." + (interactive) + (run-hooks 'org-mime-send-buffer-hook) + (let* ((org-html-klipsify-src nil) + (file (buffer-file-name (current-buffer))) + (props (org-mime-buffer-properties)) + (subject (or (plist-get props :MAIL_SUBJECT) + (org-mime--get-buffer-title) + (if (not file) (buffer-name (buffer-base-buffer)) + (file-name-sans-extension + (file-name-nondirectory file))))) + (exported (org-mime-export-buffer-or-subtree nil)) + (to (plist-get props :MAIL_TO)) + (cc (plist-get props :MAIL_CC)) + (bcc (plist-get props :MAIL_BCC)) + (from (plist-get props :MAIL_FROM)) + (in-reply-to (plist-get props :MAIL_IN_REPLY_TO)) + (other-headers (org-mime-build-mail-other-headers cc + bcc + from + in-reply-to))) + (org-mime-compose exported file to subject other-headers) + (message-goto-to))) + +(defun org-mime-org-major-version () + "Get Org major version." + (string-to-number (car (split-string (org-release) "\\.")))) + +(defun org-mime-attr (property) + "Get org mime PROPERTY." + (org-entry-get nil property org-mime-use-property-inheritance)) + +;;;###autoload +(defun org-mime-org-subtree-htmlize (&optional htmlize-first-level) + "Create an email buffer from current subtree. +If HTMLIZE-FIRST-LEVEL is t, first level subtree of current node is htmlized. + +Following headline properties can determine the mail headers. +* subtree heading + :PROPERTIES: + :MAIL_SUBJECT: mail title + :MAIL_TO: person1@gmail.com + :MAIL_CC: person2@gmail.com + :MAIL_BCC: person3@gmail.com + :MAIL_FROM: sender@gmail.com + :END:" + (interactive "P") + (save-excursion + (org-back-to-heading) + + (when (and htmlize-first-level + (not (string-match "^\\* " (org-mime-current-line)))) + ;; go back to the 1st level subtree + (re-search-backward "^\\* ") + (org-back-to-heading)) + + (when (outline-on-heading-p nil) + (let* ((file (buffer-file-name (current-buffer))) + (props (org-mime-buffer-properties)) + (subject (or (org-mime-attr "MAIL_SUBJECT") + (plist-get props :MAIL_SUBJECT) + (nth 4 (org-heading-components)))) + (to (or (org-mime-attr "MAIL_TO") + (plist-get props :MAIL_TO))) + (cc (or (org-mime-attr "MAIL_CC") + (plist-get props :MAIL_CC))) + (bcc (or (org-mime-attr "MAIL_BCC") + (plist-get props :MAIL_BCC))) + (in-reply-to (or (org-mime-attr "MAIL_IN_REPLY_TO") + (plist-get props :MAIL_BCC))) + (from (or (org-mime-attr "MAIL_FROM") + (plist-get props :MAIL_FROM))) + ;; Thanks to Matt Price improving handling of cc & bcc headers + (other-headers (org-mime-build-mail-other-headers cc bcc from in-reply-to)) + (org-export-show-temporary-export-buffer nil) + (org-export-show-temporary-export-buffer nil) + ;; 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. + (exported (save-restriction (org-narrow-to-subtree) + (org-mime-export-buffer-or-subtree t)))) + (save-restriction + (org-narrow-to-subtree) + (org-mime-compose exported file to subject other-headers)) + (message-goto-to))))) + +(defun org-mime-src--remove-overlay () + "Remove overlay from current source buffer." + (when (overlayp org-mime-src--overlay) + (delete-overlay org-mime-src--overlay))) + +(defun org-mime-edited-code () + "Get edited code." + (save-excursion + (goto-char (point-min)) + (search-forward org-mime-src--hint (point-max) t) + (goto-char (line-beginning-position)) + (buffer-substring-no-properties (point) (point-max)))) + +(defun org-mime-edit-src-save () + "Save parent buffer with current state source-code buffer." + (interactive) + (set-buffer-modified-p nil) + (let* ((edited-code (org-mime-edited-code)) + (beg org-mime-src--beg-marker) + (end org-mime-src--end-marker) + (overlay org-mime-src--overlay)) + (with-current-buffer (marker-buffer org-mime-src--beg-marker) + (undo-boundary) + (goto-char beg) + ;; Temporarily disable read-only features of OVERLAY in order to + ;; insert new contents. + (delete-overlay overlay) + (delete-region beg end) + (let* ((expecting-bol (bolp))) + (insert edited-code) + (when (and expecting-bol (not (bolp))) (insert "\n"))) + (save-buffer) + (move-overlay overlay beg (point)))) + ;; `write-contents-functions' requires the function to return + ;; a non-nil value so that other functions are not called. + t) + +(defun org-mime-src-mode-configure-edit-buffer () + "Set up clean up functions when editing source code." + (add-hook 'kill-buffer-hook #'org-mime-src--remove-overlay nil 'local) + (setq buffer-offer-save t) + (setq-local write-contents-functions '(org-mime-edit-src-save))) + +(defvar org-mime-src-mode-hook nil + "Hook run after switching embedded org code to its `org-mode'.") + +(defun org-mime-edit-src-exit () + "Kill current sub-editing buffer and return to source buffer." + (interactive) + (let* ((beg org-mime-src--beg-marker) + (end org-mime-src--end-marker) + (edit-buffer (current-buffer)) + (source-buffer (marker-buffer beg))) + (org-mime-edit-src-save) + (unless source-buffer (error "Source buffer disappeared. Aborting")) + ;; Insert modified code. Ensure it ends with a newline character. + (kill-buffer edit-buffer) + + ;; to the beginning of the block opening line. + (goto-char beg) + + ;; Clean up left-over markers and restore window configuration. + (set-marker beg nil) + (set-marker end nil) + (when org-mime--saved-temp-window-config + (set-window-configuration org-mime--saved-temp-window-config) + (setq org-mime--saved-temp-window-config nil)))) + +(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) + map)) + +(define-minor-mode org-mime-src-mode + "Minor mode for org major mode buffers generated from mail body." + :lighter " OrgMimeSrc") +(add-hook 'org-mime-src-mode-hook #'org-mime-src-mode-configure-edit-buffer) + +(defun org-mime-src--make-source-overlay (beg end) + "Create overlay between BEG and END positions and return it." + (let* ((overlay (make-overlay beg end))) + (overlay-put overlay 'face 'secondary-selection) + (let ((read-only + (list + (lambda (&rest _) + (user-error + "Cannot modify an area being edited in a dedicated buffer"))))) + (overlay-put overlay 'modification-hooks read-only) + (overlay-put overlay 'insert-in-front-hooks read-only) + (overlay-put overlay 'insert-behind-hooks read-only)) + overlay)) + +(defun org-mime-edit-mail-in-org-mode () + "Call a special editor to edit the mail body in `org-mode'." + (interactive) + ;; see `org-src--edit-element' + (cond + ((eq major-mode 'org-mode) + (message "This command is not for `org-mode'.")) + (t + (setq org-mime--saved-temp-window-config (current-window-configuration)) + (let* ((beg (copy-marker (org-mime-mail-body-begin))) + (end (copy-marker (or (org-mime-mail-signature-begin) (point-max)))) + (bufname "OrgMimeMailBody") + (buffer (generate-new-buffer bufname)) + (overlay (org-mime-src--make-source-overlay beg end)) + (text (buffer-substring-no-properties beg end))) + + (setq org-mime-src--beg-marker beg) + (setq org-mime-src--end-marker end) + ;; don't use local-variable because only user can't edit multiple emails + ;; or multiple embedded org code in one mail + (setq org-mime-src--overlay overlay) + + (save-excursion + (delete-other-windows) + (org-switch-to-buffer-other-window buffer) + (erase-buffer) + (insert org-mime-src--hint) + (insert text) + (goto-char (point-min)) + (org-mode) + (org-mime-src-mode)))))) + +(defun org-mime-revert-to-plain-text-mail () + "Revert mail body to plain text." + (interactive) + (let* ((txt-sep "<#part type=text/plain>") + (html-sep "<#part type=text/html>") + mail-beg + mail-text + txt-beg + txt-end) + (save-excursion + (goto-char (point-min)) + (setq mail-beg (search-forward mail-header-separator (point-max) t)) + (setq txt-beg (search-forward txt-sep (point-max) t)) + (setq txt-end (search-forward html-sep (point-max) t))) + (cond + ((and mail-beg txt-beg txt-end (< mail-beg txt-beg txt-end)) + ;; extract text mail + (setq mail-text (buffer-substring-no-properties txt-beg + (- txt-end (length html-sep)))) + ;; delete html mail + (delete-region mail-beg (point-max)) + (when org-mime-debug + (message "mail-beg=%s mail-text=%s" mail-beg mail-text)) + ;; restore text mail + (insert mail-text)) + (t + (message "Can not find plain text mail."))))) + +(defun org-mime-confirm-when-no-multipart () + "Prompt whether to send email if the buffer is not htmlized." + (let ((found-multipart (save-excursion + (save-restriction + (widen) + (goto-char (point-min)) + (search-forward "<#multipart type=alternative>" nil t))))) + (when (and (not found-multipart) + (not (y-or-n-p "It seems `org-mime-htmlize' is NOT called; send anyway? "))) + (setq quit-flag t)))) + + +(provide 'org-mime) +;; Local Variables: +;; coding: utf-8 +;; tab-width: 2 +;; indent-tabs-mode: nil +;; End: +;;; org-mime.el ends here diff --git a/elpa/org-ref-20230507.1420/citeproc/csl-locales/locales-en-US.xml b/elpa/org-ref-20230613.1849/citeproc/csl-locales/locales-en-US.xml similarity index 100% rename from elpa/org-ref-20230507.1420/citeproc/csl-locales/locales-en-US.xml rename to elpa/org-ref-20230613.1849/citeproc/csl-locales/locales-en-US.xml diff --git a/elpa/org-ref-20230507.1420/citeproc/csl-styles/apa-5th-edition.csl b/elpa/org-ref-20230613.1849/citeproc/csl-styles/apa-5th-edition.csl similarity index 100% rename from elpa/org-ref-20230507.1420/citeproc/csl-styles/apa-5th-edition.csl rename to elpa/org-ref-20230613.1849/citeproc/csl-styles/apa-5th-edition.csl diff --git a/elpa/org-ref-20230507.1420/citeproc/csl-styles/apa-numeric-superscript-brackets.csl b/elpa/org-ref-20230613.1849/citeproc/csl-styles/apa-numeric-superscript-brackets.csl similarity index 100% rename from elpa/org-ref-20230507.1420/citeproc/csl-styles/apa-numeric-superscript-brackets.csl rename to elpa/org-ref-20230613.1849/citeproc/csl-styles/apa-numeric-superscript-brackets.csl diff --git a/elpa/org-ref-20230507.1420/citeproc/csl-styles/chicago-author-date-16th-edition.csl b/elpa/org-ref-20230613.1849/citeproc/csl-styles/chicago-author-date-16th-edition.csl similarity index 100% rename from elpa/org-ref-20230507.1420/citeproc/csl-styles/chicago-author-date-16th-edition.csl rename to elpa/org-ref-20230613.1849/citeproc/csl-styles/chicago-author-date-16th-edition.csl diff --git a/elpa/org-ref-20230507.1420/citeproc/csl-styles/elsevier-harvard.csl b/elpa/org-ref-20230613.1849/citeproc/csl-styles/elsevier-harvard.csl similarity index 100% rename from elpa/org-ref-20230507.1420/citeproc/csl-styles/elsevier-harvard.csl rename to elpa/org-ref-20230613.1849/citeproc/csl-styles/elsevier-harvard.csl diff --git a/elpa/org-ref-20230507.1420/citeproc/csl-styles/elsevier-with-titles.csl b/elpa/org-ref-20230613.1849/citeproc/csl-styles/elsevier-with-titles.csl similarity index 100% rename from elpa/org-ref-20230507.1420/citeproc/csl-styles/elsevier-with-titles.csl rename to elpa/org-ref-20230613.1849/citeproc/csl-styles/elsevier-with-titles.csl diff --git a/elpa/org-ref-20230507.1420/contrib.el b/elpa/org-ref-20230613.1849/contrib.el similarity index 100% rename from elpa/org-ref-20230507.1420/contrib.el rename to elpa/org-ref-20230613.1849/contrib.el diff --git a/elpa/org-ref-20230507.1420/doi-utils.el b/elpa/org-ref-20230613.1849/doi-utils.el similarity index 96% rename from elpa/org-ref-20230507.1420/doi-utils.el rename to elpa/org-ref-20230613.1849/doi-utils.el index 74e0d657..33cfc6b6 100644 --- a/elpa/org-ref-20230507.1420/doi-utils.el +++ b/elpa/org-ref-20230613.1849/doi-utils.el @@ -650,6 +650,28 @@ It would be better to parse this, but here I just use a regexp. "?download=true"))) +;; ** from issue #1081 + +(defun arxiv-pdf-url (*doi-utils-redirect*) + "Get url to the pdf from *DOI-UTILS-REDIRECT*." + (when (string-match-p "^https?://arxiv\\.org" *doi-utils-redirect*) + (concat (replace-regexp-in-string "/abs/" "/pdf/" *doi-utils-redirect*) + ".pdf"))) + + +(defun rss-pdf-url (*doi-utils-redirect*) + "Get url to the pdf from *DOI-UTILS-REDIRECT*." + (when (string-match-p "roboticsproceedings" *doi-utils-redirect*) + (concat (replace-regexp-in-string "\\.html" ".pdf" *doi-utils-redirect*)))) + + +(defun ieeestamp-pdf-url (*doi-utils-redirect*) + "Get url to the pdf from *DOI-UTILS-REDIRECT*." + (when (string-match "^https?://ieeexplore\\.ieee\\.org/document/\\([0-9]+\\)" + *doi-utils-redirect*) + (concat "https://ieeexplore.ieee.org/stampPDF/getPDF.jsp?tp=&arnumber=" + (match-string 1 *doi-utils-redirect*)))) + ;;** Add all functions @@ -690,7 +712,10 @@ It would be better to parse this, but here I just use a regexp. 'plos-pdf-url 'frontiers-pdf-url 'chemistry-europe-pdf-url - 'generic-full-pdf-url)) + 'generic-full-pdf-url + 'arxiv-pdf-url + 'rss-pdf-url + 'ieeestamp-pdf-url)) ;;** Get the pdf url for a doi @@ -873,11 +898,10 @@ every field.") (json-object-type 'plist) (json-data) (url (concat doi-utils-dx-doi-org-url doi))) - (with-current-buffer - (url-retrieve-synchronously - ;; (concat "http://dx.doi.org/" doi) - url) - (setq json-data (buffer-substring url-http-end-of-headers (point-max))) + (with-temp-buffer + (url-insert + (url-retrieve-synchronously url)) + (setq json-data (buffer-string)) (when (or (string-match "Error: DOI Not Found" json-data) (string-match "Resource not found" json-data) @@ -1540,10 +1564,11 @@ Get a list of possible matches. Choose one with completion." (let ((url-request-method "GET") (url-mime-accept-string "application/citeproc+json") (json-data)) - (with-current-buffer - (url-retrieve-synchronously - (concat doi-utils-dx-doi-org-url doi)) - (setq json-data (buffer-substring url-http-end-of-headers (point-max))) + (with-temp-buffer + (url-insert + (url-retrieve-synchronously + (concat doi-utils-dx-doi-org-url doi))) + (setq json-data (buffer-string)) (if (string-match "Resource not found" json-data) (progn (browse-url (concat doi-utils-dx-doi-org-url doi)) @@ -1564,10 +1589,11 @@ Get a list of possible matches. Choose one with completion." (let ((url-request-method "GET") (url-mime-accept-string "application/citeproc+json")) (pp - (json-read-from-string (with-current-buffer - (url-retrieve-synchronously - (concat doi-utils-dx-doi-org-url doi)) - (buffer-substring url-http-end-of-headers (point-max)))))) + (json-read-from-string (with-temp-buffer + (url-insert + (url-retrieve-synchronously + (concat doi-utils-dx-doi-org-url doi))) + (buffer-string))))) "\n\n") (goto-char (point-min))) @@ -1598,48 +1624,40 @@ Get a list of possible matches. Choose one with completion." "Bibfile: " (append (f-entries "." (lambda (f) (f-ext? f "bib"))) bibtex-completion-bibliography)))) - (let* ((raw-json-string) - (json-string) - (json-data) - (doi)) - - (with-current-buffer - (url-retrieve-synchronously - (concat - "http://search.crossref.org/dois?q=" - (url-hexify-string query))) - ;; replace html entities - (save-excursion - (goto-char (point-min)) - (while (re-search-forward "\\|" nil t) - (replace-match "")) - (goto-char (point-min)) - (while (re-search-forward "&" nil t) - (replace-match "&")) - (goto-char (point-min)) - (while (re-search-forward """ nil t) - (replace-match "\\\"" nil t))) - (setq raw-json-string (buffer-substring url-http-end-of-headers (point-max))) - ;; decode json string - (setq json-string (decode-coding-string (encode-coding-string raw-json-string 'utf-8) 'utf-8)) - (setq json-data (json-read-from-string json-string))) + (let* ((json-data (with-temp-buffer + (url-insert + (url-retrieve-synchronously + (concat + "https://api.crossref.org/works?query=" + (url-hexify-string query)))) + + (json-read-from-string (buffer-string)))) + (name (format "Crossref hits for %s" + ;; remove carriage returns. They can make completion confusing. + (replace-regexp-in-string "\n" " " query))) + (candidates (let-alist json-data + (cl-loop for item across .message.items + collect (let-alist item + (cons (format "%s, %s, %s, %s." + (string-join .title " ") + (string-join + (cl-loop for author across .author collect + (let-alist author + (format "%s %s" + .given .family))) + ", ") + .publisher + .created.date-parts) + .DOI))))) + (doi (cdr (assoc (completing-read "Choice: " candidates) candidates)))) + + (with-current-buffer (find-file-noselect bibtex-file) + (doi-utils-add-bibtex-entry-from-doi + (replace-regexp-in-string + "^https?://\\(dx.\\)?doi.org/" "" doi) + bibtex-file) + (save-buffer)))) - (let* ((name (format "Crossref hits for %s" - ;; remove carriage returns. They can make completion confusing. - (replace-regexp-in-string "\n" " " query))) - (candidates (mapcar (lambda (x) - (cons - (concat - (cdr (assoc 'fullCitation x))) - (cdr (assoc 'doi x)))) - json-data)) - (doi (cdr (assoc (completing-read "Choice: " candidates) candidates)))) - (with-current-buffer (find-file-noselect bibtex-file) - (doi-utils-add-bibtex-entry-from-doi - (replace-regexp-in-string - "^https?://\\(dx.\\)?doi.org/" "" doi) - bibtex-file) - (save-buffer))))) (defalias 'crossref-add-bibtex-entry 'doi-utils-add-entry-from-crossref-query "Alias function for convenience.") diff --git a/elpa/org-ref-20230507.1420/nist-webbook.el b/elpa/org-ref-20230613.1849/nist-webbook.el similarity index 100% rename from elpa/org-ref-20230507.1420/nist-webbook.el rename to elpa/org-ref-20230613.1849/nist-webbook.el diff --git a/elpa/org-ref-20230507.1420/openalex.el b/elpa/org-ref-20230613.1849/openalex.el similarity index 100% rename from elpa/org-ref-20230507.1420/openalex.el rename to elpa/org-ref-20230613.1849/openalex.el diff --git a/elpa/org-ref-20230507.1420/org-ref-arxiv.el b/elpa/org-ref-20230613.1849/org-ref-arxiv.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-arxiv.el rename to elpa/org-ref-20230613.1849/org-ref-arxiv.el diff --git a/elpa/org-ref-20230507.1420/org-ref-autoloads.el b/elpa/org-ref-20230613.1849/org-ref-autoloads.el similarity index 97% rename from elpa/org-ref-20230507.1420/org-ref-autoloads.el rename to elpa/org-ref-20230613.1849/org-ref-autoloads.el index ccdf40ac..6888efa2 100644 --- a/elpa/org-ref-20230507.1420/org-ref-autoloads.el +++ b/elpa/org-ref-20230613.1849/org-ref-autoloads.el @@ -132,7 +132,7 @@ Search Crossref with QUERY and use completion to select an entry to add to BIBTE \(fn QUERY BIBTEX-FILE)" t nil) -(register-definition-prefixes "doi-utils" '("*doi-utils-" "agu-pdf-url" "aip-pdf-url" "aps-pdf-url" "asme-biomechanical-pdf-url" "chemistry-europe-pdf-url" "copernicus-" "crossref-add-bibtex-entry" "doi-" "ecs" "frontiers-pdf-url" "generic-full-pdf-url" "ieee" "iop-pdf-url" "jneurosci-pdf-url" "jstor-pdf-url" "linkinghub-elsevier-pdf-url" "nature-pdf-url" "osa-pdf-url" "pnas-pdf-url" "rsc-pdf-url" "sage-pdf-url" "science-" "siam-pdf-url" "springer-" "tandfonline-pdf-url" "wiley-pdf-url-2")) +(register-definition-prefixes "doi-utils" '("*doi-utils-" "agu-pdf-url" "aip-pdf-url" "aps-pdf-url" "arxiv-pdf-url" "asme-biomechanical-pdf-url" "chemistry-europe-pdf-url" "copernicus-" "crossref-add-bibtex-entry" "doi-" "ecs" "frontiers-pdf-url" "generic-full-pdf-url" "ieee" "iop-pdf-url" "jneurosci-pdf-url" "jstor-pdf-url" "linkinghub-elsevier-pdf-url" "nature-pdf-url" "osa-pdf-url" "pnas-pdf-url" "rsc-pdf-url" "rss-pdf-url" "sage-pdf-url" "science-" "siam-pdf-url" "springer-" "tandfonline-pdf-url" "wiley-pdf-url-2")) ;;;*** @@ -792,6 +792,11 @@ which will CLOBBER the file. (autoload 'org-ref-extract-bibtex-entries "org-ref-utils" "\ Extract the bibtex entries in the current buffer into a bibtex src block." t nil) +(autoload 'org-ref-extract-cited-pdfs "org-ref-utils" "\ +Copy PDFs in citations in current buffer to NEWDIR. + +\(fn NEWDIR)" t nil) + (register-definition-prefixes "org-ref-utils" '("ords" "org-ref")) ;;;*** diff --git a/elpa/org-ref-20230507.1420/org-ref-bibliography-links.el b/elpa/org-ref-20230613.1849/org-ref-bibliography-links.el similarity index 99% rename from elpa/org-ref-20230507.1420/org-ref-bibliography-links.el rename to elpa/org-ref-20230613.1849/org-ref-bibliography-links.el index ba432b73..332ec56a 100644 --- a/elpa/org-ref-20230507.1420/org-ref-bibliography-links.el +++ b/elpa/org-ref-20230613.1849/org-ref-bibliography-links.el @@ -261,7 +261,7 @@ Returns `org-ref-bst-styles' or sets it and returns it." (mapcar (lambda (path) (setq path (replace-regexp-in-string "!" "" path)) (when (file-directory-p path) - (f-entries path (lambda (f) (f-ext? f "bst")) t))) + (f-entries path (lambda (f) (f-ext? f "bst"))))) (split-string ;; https://tex.stackexchange.com/questions/431948/get-a-list-of-installed-bibliography-styles-with-kpsewhich?noredirect=1#comment1082436_431948 (shell-command-to-string "kpsewhich -expand-path '$BSTINPUTS'") diff --git a/elpa/org-ref-20230507.1420/org-ref-bibtex.el b/elpa/org-ref-20230613.1849/org-ref-bibtex.el similarity index 99% rename from elpa/org-ref-20230507.1420/org-ref-bibtex.el rename to elpa/org-ref-20230613.1849/org-ref-bibtex.el index 4efa4b03..8912ab12 100644 --- a/elpa/org-ref-20230507.1420/org-ref-bibtex.el +++ b/elpa/org-ref-20230613.1849/org-ref-bibtex.el @@ -1209,7 +1209,7 @@ will clobber the file." ;;** Clean a bibtex entry ;; These functions operate on a bibtex entry and "clean" it in some way. -(defun orcb-clean-nil (arg) +(defun orcb-clean-nil (&optional arg) "Remove nil from some article fields. The removal is conditional. Sometimes it is useful to have nil around, e.g. for ASAP articles where the fields are not defined diff --git a/elpa/org-ref-20230507.1420/org-ref-citation-links.el b/elpa/org-ref-20230613.1849/org-ref-citation-links.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-citation-links.el rename to elpa/org-ref-20230613.1849/org-ref-citation-links.el diff --git a/elpa/org-ref-20230507.1420/org-ref-compat.el b/elpa/org-ref-20230613.1849/org-ref-compat.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-compat.el rename to elpa/org-ref-20230613.1849/org-ref-compat.el diff --git a/elpa/org-ref-20230507.1420/org-ref-core.el b/elpa/org-ref-20230613.1849/org-ref-core.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-core.el rename to elpa/org-ref-20230613.1849/org-ref-core.el diff --git a/elpa/org-ref-20230507.1420/org-ref-export.el b/elpa/org-ref-20230613.1849/org-ref-export.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-export.el rename to elpa/org-ref-20230613.1849/org-ref-export.el diff --git a/elpa/org-ref-20230507.1420/org-ref-glossary.el b/elpa/org-ref-20230613.1849/org-ref-glossary.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-glossary.el rename to elpa/org-ref-20230613.1849/org-ref-glossary.el diff --git a/elpa/org-ref-20230507.1420/org-ref-helm.el b/elpa/org-ref-20230613.1849/org-ref-helm.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-helm.el rename to elpa/org-ref-20230613.1849/org-ref-helm.el diff --git a/elpa/org-ref-20230507.1420/org-ref-isbn.el b/elpa/org-ref-20230613.1849/org-ref-isbn.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-isbn.el rename to elpa/org-ref-20230613.1849/org-ref-isbn.el diff --git a/elpa/org-ref-20230507.1420/org-ref-ivy.el b/elpa/org-ref-20230613.1849/org-ref-ivy.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-ivy.el rename to elpa/org-ref-20230613.1849/org-ref-ivy.el diff --git a/elpa/org-ref-20230507.1420/org-ref-label-link.el b/elpa/org-ref-20230613.1849/org-ref-label-link.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-label-link.el rename to elpa/org-ref-20230613.1849/org-ref-label-link.el diff --git a/elpa/org-ref-20230507.1420/org-ref-latex.el b/elpa/org-ref-20230613.1849/org-ref-latex.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-latex.el rename to elpa/org-ref-20230613.1849/org-ref-latex.el diff --git a/elpa/org-ref-20230507.1420/org-ref-misc-links.el b/elpa/org-ref-20230613.1849/org-ref-misc-links.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-misc-links.el rename to elpa/org-ref-20230613.1849/org-ref-misc-links.el diff --git a/elpa/org-ref-20230507.1420/org-ref-natbib-bbl-citeproc.el b/elpa/org-ref-20230613.1849/org-ref-natbib-bbl-citeproc.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-natbib-bbl-citeproc.el rename to elpa/org-ref-20230613.1849/org-ref-natbib-bbl-citeproc.el diff --git a/elpa/org-ref-20230507.1420/org-ref-pdf.el b/elpa/org-ref-20230613.1849/org-ref-pdf.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-pdf.el rename to elpa/org-ref-20230613.1849/org-ref-pdf.el diff --git a/elpa/org-ref-20230507.1420/org-ref-pgk.el b/elpa/org-ref-20230613.1849/org-ref-pgk.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-pgk.el rename to elpa/org-ref-20230613.1849/org-ref-pgk.el diff --git a/elpa/org-ref-20230507.1420/org-ref-pkg.el b/elpa/org-ref-20230613.1849/org-ref-pkg.el similarity index 81% rename from elpa/org-ref-20230507.1420/org-ref-pkg.el rename to elpa/org-ref-20230613.1849/org-ref-pkg.el index 96065ef8..2c8e5520 100644 --- a/elpa/org-ref-20230507.1420/org-ref-pkg.el +++ b/elpa/org-ref-20230613.1849/org-ref-pkg.el @@ -1,4 +1,4 @@ -(define-package "org-ref" "20230507.1420" "citations, cross-references and bibliographies in org-mode" +(define-package "org-ref" "20230613.1849" "citations, cross-references and bibliographies in org-mode" '((org "9.4") (dash "0") (s "0") @@ -10,7 +10,7 @@ (bibtex-completion "0") (citeproc "0") (ox-pandoc "0")) - :commit "83396bfa793850e8bc43755912bbdede0df87815" :authors + :commit "26c06912c7833104c7b4c7b96b8f200e98067a68" :authors '(("John Kitchin" . "jkitchin@andrew.cmu.edu")) :maintainers '(("John Kitchin" . "jkitchin@andrew.cmu.edu")) diff --git a/elpa/org-ref-20230507.1420/org-ref-pubmed.el b/elpa/org-ref-20230613.1849/org-ref-pubmed.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-pubmed.el rename to elpa/org-ref-20230613.1849/org-ref-pubmed.el diff --git a/elpa/org-ref-20230507.1420/org-ref-ref-links.el b/elpa/org-ref-20230613.1849/org-ref-ref-links.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-ref-links.el rename to elpa/org-ref-20230613.1849/org-ref-ref-links.el diff --git a/elpa/org-ref-20230507.1420/org-ref-refproc.el b/elpa/org-ref-20230613.1849/org-ref-refproc.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-refproc.el rename to elpa/org-ref-20230613.1849/org-ref-refproc.el diff --git a/elpa/org-ref-20230507.1420/org-ref-sci-id.el b/elpa/org-ref-20230613.1849/org-ref-sci-id.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-sci-id.el rename to elpa/org-ref-20230613.1849/org-ref-sci-id.el diff --git a/elpa/org-ref-20230507.1420/org-ref-scifinder.el b/elpa/org-ref-20230613.1849/org-ref-scifinder.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-scifinder.el rename to elpa/org-ref-20230613.1849/org-ref-scifinder.el diff --git a/elpa/org-ref-20230507.1420/org-ref-scopus.el b/elpa/org-ref-20230613.1849/org-ref-scopus.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-scopus.el rename to elpa/org-ref-20230613.1849/org-ref-scopus.el diff --git a/elpa/org-ref-20230507.1420/org-ref-url-utils.el b/elpa/org-ref-20230613.1849/org-ref-url-utils.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-url-utils.el rename to elpa/org-ref-20230613.1849/org-ref-url-utils.el diff --git a/elpa/org-ref-20230507.1420/org-ref-utils.el b/elpa/org-ref-20230613.1849/org-ref-utils.el similarity index 98% rename from elpa/org-ref-20230507.1420/org-ref-utils.el rename to elpa/org-ref-20230613.1849/org-ref-utils.el index 0ac4ee3e..450c1d9f 100644 --- a/elpa/org-ref-20230507.1420/org-ref-utils.el +++ b/elpa/org-ref-20230613.1849/org-ref-utils.el @@ -1178,6 +1178,11 @@ if FORCE is non-nil reparse the buffer no matter what." (interactive) (occur "[^[:ascii:]]")) + +;;* Utilities + +;;** Extract bibtex entries in org-file + ;;;###autoload (defun org-ref-extract-bibtex-to-file (bibfile &optional clobber) "Extract all bibtex entries for citations buffer to BIBFILE. @@ -1216,10 +1221,6 @@ which will CLOBBER the file." "\n\n"))))) -;;* Utilities - -;;** Extract bibtex entries in org-file - ;;;###autoload (defun org-ref-extract-bibtex-entries () "Extract the bibtex entries in the current buffer into a bibtex src block." @@ -1256,6 +1257,22 @@ which will CLOBBER the file." "\n\n"))))) +;;** Extract cited pdfs +;;;###autoload +(defun org-ref-extract-cited-pdfs (newdir) + "Copy PDFs in citations in current buffer to NEWDIR." + (interactive (list (read-directory-name "Copy to: "))) + ;; Make sure newdir exists + (unless (file-directory-p newdir) + (mkdir newdir t)) + + (cl-loop for key in (org-ref-get-bibtex-keys) do + (let ((pdf (org-ref-get-pdf-filename key))) + (if (file-exists-p pdf) + (progn + (message "Copying %s to %s." pdf newdir) + (copy-file pdf newdir t)) + (message "%s not found" pdf))))) (provide 'org-ref-utils) diff --git a/elpa/org-ref-20230507.1420/org-ref-worldcat.el b/elpa/org-ref-20230613.1849/org-ref-worldcat.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-worldcat.el rename to elpa/org-ref-20230613.1849/org-ref-worldcat.el diff --git a/elpa/org-ref-20230507.1420/org-ref-wos.el b/elpa/org-ref-20230613.1849/org-ref-wos.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref-wos.el rename to elpa/org-ref-20230613.1849/org-ref-wos.el diff --git a/elpa/org-ref-20230507.1420/org-ref.bib b/elpa/org-ref-20230613.1849/org-ref.bib similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref.bib rename to elpa/org-ref-20230613.1849/org-ref.bib diff --git a/elpa/org-ref-20230507.1420/org-ref.el b/elpa/org-ref-20230613.1849/org-ref.el similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref.el rename to elpa/org-ref-20230613.1849/org-ref.el diff --git a/elpa/org-ref-20230507.1420/org-ref.org b/elpa/org-ref-20230613.1849/org-ref.org similarity index 100% rename from elpa/org-ref-20230507.1420/org-ref.org rename to elpa/org-ref-20230613.1849/org-ref.org diff --git a/elpa/org-ref-20230507.1420/x2bib.el b/elpa/org-ref-20230613.1849/x2bib.el similarity index 100% rename from elpa/org-ref-20230507.1420/x2bib.el rename to elpa/org-ref-20230613.1849/x2bib.el diff --git a/elpa/org-sticky-header-20191117.549/org-sticky-header-pkg.el b/elpa/org-sticky-header-20191117.549/org-sticky-header-pkg.el deleted file mode 100644 index c6889c69..00000000 --- a/elpa/org-sticky-header-20191117.549/org-sticky-header-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "org-sticky-header" "20191117.549" "Show off-screen Org heading at top of window" '((emacs "24.4") (org "8.3.5")) :commit "1053ebdeb3bd14fc8d4538643532efb86d18b73c" :keywords '("hypermedia" "outlines" "org") :authors '(("Adam Porter" . "adam@alphapapa.net")) :maintainer '("Adam Porter" . "adam@alphapapa.net") :url "http://github.com/alphapapa/org-sticky-header") diff --git a/elpa/org-sticky-header-20191117.549/org-sticky-header-autoloads.el b/elpa/org-sticky-header-20201223.143/org-sticky-header-autoloads.el similarity index 80% rename from elpa/org-sticky-header-20191117.549/org-sticky-header-autoloads.el rename to elpa/org-sticky-header-20201223.143/org-sticky-header-autoloads.el index c960239f..19942326 100644 --- a/elpa/org-sticky-header-20191117.549/org-sticky-header-autoloads.el +++ b/elpa/org-sticky-header-20201223.143/org-sticky-header-autoloads.el @@ -1,4 +1,4 @@ -;;; org-sticky-header-autoloads.el --- automatically extracted autoloads +;;; org-sticky-header-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*- ;; ;;; Code: @@ -17,7 +17,11 @@ Return non-nil if the minor mode is enabled. \(fn &optional ARG)" t nil) -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-sticky-header" '("org-sticky-header-"))) +(register-definition-prefixes "org-sticky-header" '("org-sticky-header-")) + +;;;*** + +;;;### (autoloads nil nil ("org-sticky-header-pkg.el") (0 0 0 0)) ;;;*** diff --git a/elpa/org-sticky-header-20201223.143/org-sticky-header-pkg.el b/elpa/org-sticky-header-20201223.143/org-sticky-header-pkg.el new file mode 100644 index 00000000..c44d1bfe --- /dev/null +++ b/elpa/org-sticky-header-20201223.143/org-sticky-header-pkg.el @@ -0,0 +1,15 @@ +(define-package "org-sticky-header" "20201223.143" "Show off-screen Org heading at top of window" + '((emacs "24.4") + (org "8.3.5")) + :commit "79136b8c54c48547ba8a07a72a9790cb8e23ecbd" :authors + '(("Adam Porter" . "adam@alphapapa.net")) + :maintainers + '(("Adam Porter" . "adam@alphapapa.net")) + :maintainer + '("Adam Porter" . "adam@alphapapa.net") + :keywords + '("hypermedia" "outlines" "org") + :url "http://github.com/alphapapa/org-sticky-header") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/org-sticky-header-20191117.549/org-sticky-header.el b/elpa/org-sticky-header-20201223.143/org-sticky-header.el similarity index 69% rename from elpa/org-sticky-header-20191117.549/org-sticky-header.el rename to elpa/org-sticky-header-20201223.143/org-sticky-header.el index 04e6a4d4..fdd333be 100644 --- a/elpa/org-sticky-header-20191117.549/org-sticky-header.el +++ b/elpa/org-sticky-header-20201223.143/org-sticky-header.el @@ -2,8 +2,7 @@ ;; Author: Adam Porter ;; Url: http://github.com/alphapapa/org-sticky-header -;; Package-Version: 20191117.549 -;; Version: 1.1-pre +;; Version: 1.1 ;; Package-Requires: ((emacs "24.4") (org "8.3.5")) ;; Keywords: hypermedia, outlines, Org @@ -91,9 +90,9 @@ When this is on, and the top line of the buffer is a heading, you'll see the heading shown twice: once in the header and once in the buffer. But since the header can look different than the heading (i.e. it can show the full path), it shouldn't -necessarily disappear. If you use full-path display, you probably -want this on, but if you only display the current heading, you -might prefer to turn it off. " +necessarily disappear. If you use full-path display, you +probably want this on, but if you only display the current +heading, you might prefer to turn it off." :type 'boolean) (defcustom org-sticky-header-prefix 'org-sticky-header--indent-prefix @@ -105,11 +104,11 @@ functions will be run with point on a heading." (function :tag "Custom function which returns a string") (const :tag "None" nil))) -(defcustom org-sticky-header-outline-path-separator "/" +(defcustom org-sticky-header-outline-path-separator " ❯ " "String displayed between elements of outline paths." :type 'string) -(defcustom org-sticky-header-outline-path-reversed-separator "\\" +(defcustom org-sticky-header-outline-path-reversed-separator " ❮ " "String displayed between elements of reversed outline paths." :type 'string) @@ -121,6 +120,14 @@ headings in the buffer when `org-sticky-header-always-show-header' is enabled." :type 'string) +(defcustom org-sticky-header-show-keyword t + "Show to-do keyword before heading text." + :type 'boolean) + +(defcustom org-sticky-header-show-priority t + "Show priority before heading text." + :type 'boolean) + ;;;; Functions (defun org-sticky-header-goto-heading (event) @@ -135,38 +142,64 @@ is enabled." "Return string of Org heading or outline path for display in header line." (org-with-wide-buffer (goto-char (window-start)) - (unless (org-before-first-heading-p) - ;; No non-header lines above top displayed header - (when (or org-sticky-header-always-show-header - (not (org-at-heading-p))) - ;; Header should be shown - (when (fboundp 'org-inlinetask-in-task-p) - ;; Skip inline tasks - (while (and (org-back-to-heading) - (org-inlinetask-in-task-p)) - (forward-line -1))) - (cond - ;; FIXME: Convert cond back to pcase, but one compatible with Emacs 24 - ((null org-sticky-header-full-path) - (concat (org-sticky-header--get-prefix) - (org-get-heading t t))) - ((eq org-sticky-header-full-path 'full) - (concat (org-sticky-header--get-prefix) - (org-format-outline-path (org-get-outline-path t) - (window-width) - nil org-sticky-header-outline-path-separator))) - ((eq org-sticky-header-full-path 'reversed) - (let ((s (concat (org-sticky-header--get-prefix) - (mapconcat 'identity - (nreverse (org-split-string (org-format-outline-path (org-get-outline-path t) - 1000 nil "") - "")) - org-sticky-header-outline-path-reversed-separator)))) - (if (> (length s) (window-width)) - (concat (substring s 0 (- (window-width) 2)) - "..") - s))) - (t nil)))))) + (if (org-before-first-heading-p) + "" + (progn + ;; No non-header lines above top displayed header + (when (or org-sticky-header-always-show-header + (not (org-at-heading-p))) + ;; Header should be shown + (when (fboundp 'org-inlinetask-in-task-p) + ;; Skip inline tasks + (while (and (org-back-to-heading) + (org-inlinetask-in-task-p)) + (forward-line -1))) + (cond + ;; TODO: Update minimum Emacs version and use `pcase'. + ((null org-sticky-header-full-path) + (concat (org-sticky-header--get-prefix) + (org-sticky-header--heading-string))) + ((eq org-sticky-header-full-path 'full) + (concat (org-sticky-header--get-prefix) + (mapconcat 'identity + (nreverse + (save-excursion + (cl-loop collect (org-sticky-header--heading-string) + while (org-up-heading-safe)))) + org-sticky-header-outline-path-separator))) + ((eq org-sticky-header-full-path 'reversed) + (let ((s (concat + (org-sticky-header--get-prefix) + (mapconcat 'identity + (save-excursion + (cl-loop collect (org-sticky-header--heading-string) + while (org-up-heading-safe))) + org-sticky-header-outline-path-reversed-separator)))) + (if (> (string-width s) (window-width)) + (concat (substring s 0 (- (window-width) 2)) + "..") + s))) + (t ""))))))) + +(defun org-sticky-header--heading-string () + "Return string for heading at point. +According to `org-sticky-header' options." + ;; TODO: Update minimum Emacs version and use `pcase-let*'. + (let* ((components (org-heading-components)) + (level (nth 0 components)) + (keyword (nth 2 components)) + (priority (nth 3 components)) + (heading (org-link-display-format (nth 4 components))) + (face (nth (1- level) org-level-faces))) + (concat + (when (and org-sticky-header-show-keyword keyword) + (concat (propertize keyword 'face (org-get-todo-face keyword)) + " ")) + (when (and org-sticky-header-show-priority priority) + (concat (propertize (concat "[#" (char-to-string priority) "]") + 'face 'org-priority) + " ")) + (propertize heading 'face face)))) (defun org-sticky-header--get-prefix () "Return prefix string depending on value of `org-sticky-header-prefix'." diff --git a/elpa/org-tree-slide-20200114.2334/org-tree-slide-pkg.el b/elpa/org-tree-slide-20200114.2334/org-tree-slide-pkg.el deleted file mode 100644 index 3bb2c5a6..00000000 --- a/elpa/org-tree-slide-20200114.2334/org-tree-slide-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "org-tree-slide" "20200114.2334" "A presentation tool for org-mode" 'nil :commit "7bf09a02bd2d8f1ccfcb5209bfb18fbe02d1f44e" :keywords '("convenience" "org-mode" "presentation" "narrowing") :authors '(("Takaaki ISHIKAWA ")) :maintainer '("Takaaki ISHIKAWA ") :url "https://github.com/takaxp/org-tree-slide") diff --git a/elpa/org-tree-slide-20200114.2334/org-tree-slide-autoloads.el b/elpa/org-tree-slide-20230305.441/org-tree-slide-autoloads.el similarity index 62% rename from elpa/org-tree-slide-20200114.2334/org-tree-slide-autoloads.el rename to elpa/org-tree-slide-20230305.441/org-tree-slide-autoloads.el index 8d83c10e..ab113f65 100644 --- a/elpa/org-tree-slide-20200114.2334/org-tree-slide-autoloads.el +++ b/elpa/org-tree-slide-20230305.441/org-tree-slide-autoloads.el @@ -1,4 +1,4 @@ -;;; org-tree-slide-autoloads.el --- automatically extracted autoloads +;;; org-tree-slide-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*- ;; ;;; Code: @@ -11,12 +11,26 @@ ;;; Generated autoloads from org-tree-slide.el (autoload 'org-tree-slide-mode "org-tree-slide" "\ -A presentation tool for org-mode. +A presentation tool for Org Mode. + +This is a minor mode. If called interactively, toggle the +`Org-Tree-Slide mode' mode. If the prefix argument is positive, +enable the mode, and if it is zero or negative, disable the mode. + +If called from Lisp, toggle the mode if ARG is `toggle'. Enable +the mode if ARG is nil, omitted, or is a positive number. +Disable the mode if ARG is a negative number. + +To check whether the minor mode is enabled in the current buffer, +evaluate `org-tree-slide-mode'. + +The mode's hook is called both when the mode is enabled and when +it is disabled. Usage: - Set minimal recommendation settings in .emacs - (global-set-key (kbd \"\") 'org-tree-slide-mode) - (global-set-key (kbd \"S-\") 'org-tree-slide-skip-done-toggle) + (global-set-key (kbd \"\") ='org-tree-slide-mode) + (global-set-key (kbd \"S-\") ='org-tree-slide-skip-done-toggle) - Open an org file - Type to start org-tree-slide-mode - Type C-< / C-> to move between trees @@ -25,7 +39,7 @@ Usage: Profiles: - [ Simple ] - => M-x `org-tree-slide-simple-profile' + => \\`M-x org-tree-slide-simple-profile' 1. No header display 2. No slide-in effect @@ -34,7 +48,7 @@ Profiles: 5. Display every type of tree - [ Presentation ] - => M-x `org-tree-slide-presentation-profile' + => \\`M-x org-tree-slide-presentation-profile' 1. Display header 2. Enable slide-in effect @@ -43,7 +57,7 @@ Profiles: 5. Display every type of tree - [ TODO Pursuit with narrowing ] - => M-x `org-tree-slide-narrowing-control-profile' + => \\`M-x org-tree-slide-narrowing-control-profile' 1. No header display 2. No slide-in effect @@ -54,29 +68,19 @@ Profiles: \(fn &optional ARG)" t nil) (autoload 'org-tree-slide-play-with-timer "org-tree-slide" "\ -Start slideshow with setting a count down timer. - -\(fn)" t nil) +Start slideshow with setting a count down timer." t nil) (autoload 'org-tree-slide-without-init-play "org-tree-slide" "\ -Start slideshow without the init play. Just enter \"org-tree-slide-mode\". - -\(fn)" t nil) +Start slideshow without the init play. Just enter \"org-tree-slide-mode\"." t nil) (autoload 'org-tree-slide-content "org-tree-slide" "\ -Change the display for viewing content of the org file during the slide view mode is active. - -\(fn)" t nil) +Change the display for viewing content of the org file." t nil) (autoload 'org-tree-slide-move-next-tree "org-tree-slide" "\ -Display the next slide. - -\(fn)" t nil) +Display the next slide." t nil) (autoload 'org-tree-slide-move-previous-tree "org-tree-slide" "\ -Display the previous slide. - -\(fn)" t nil) +Display the previous slide." t nil) (autoload 'org-tree-slide-simple-profile "org-tree-slide" "\ Set variables for simple use. @@ -87,9 +91,7 @@ Set variables for simple use. `org-tree-slide-cursor-init' => t `org-tree-slide-modeline-display' => nil `org-tree-slide-skip-done' => nil - `org-tree-slide-skip-comments' => t - -\(fn)" t nil) + `org-tree-slide-skip-comments' => t" t nil) (autoload 'org-tree-slide-presentation-profile "org-tree-slide" "\ Set variables for presentation use. @@ -98,11 +100,9 @@ Set variables for presentation use. `org-tree-slide-slide-in-effect' => t `org-tree-slide-heading-emphasis' => nil `org-tree-slide-cursor-init' => t - `org-tree-slide-modeline-display' => 'outside + `org-tree-slide-modeline-display' => ='outside `org-tree-slide-skip-done' => nil - `org-tree-slide-skip-comments' => t - -\(fn)" t nil) + `org-tree-slide-skip-comments' => t" t nil) (autoload 'org-tree-slide-narrowing-control-profile "org-tree-slide" "\ Set variables for TODO pursuit with narrowing. @@ -111,38 +111,38 @@ Set variables for TODO pursuit with narrowing. `org-tree-slide-slide-in-effect' => nil `org-tree-slide-heading-emphasis' => nil `org-tree-slide-cursor-init' => nil - `org-tree-slide-modeline-display' => 'lighter + `org-tree-slide-modeline-display' => ='lighter `org-tree-slide-skip-done' => t - `org-tree-slide-skip-comments' => t - -\(fn)" t nil) + `org-tree-slide-skip-comments' => t" t nil) (autoload 'org-tree-slide-display-header-toggle "org-tree-slide" "\ -Toggle displaying the slide header. - -\(fn)" t nil) +Toggle displaying the slide header." t nil) (autoload 'org-tree-slide-slide-in-effect-toggle "org-tree-slide" "\ -Toggle using slide-in effect. - -\(fn)" t nil) +Toggle using slide-in effect." t nil) (autoload 'org-tree-slide-heading-emphasis-toggle "org-tree-slide" "\ -Toggle applying emphasis to heading. - -\(fn)" t nil) +Toggle applying emphasis to heading." t nil) (autoload 'org-tree-slide-skip-done-toggle "org-tree-slide" "\ -Toggle show TODO item only or not. - -\(fn)" t nil) +Toggle show TODO item only or not." t nil) (autoload 'org-tree-slide-skip-comments-toggle "org-tree-slide" "\ -Toggle show COMMENT item or not. +Toggle show COMMENT item or not." t nil) -\(fn)" t nil) +(register-definition-prefixes "org-tree-slide" '("org-tree-slide")) -(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "org-tree-slide" '("org-tree-slide"))) +;;;*** + +;;;### (autoloads nil "org-tree-slide-compt" "org-tree-slide-compt.el" +;;;;;; (0 0 0 0)) +;;; Generated autoloads from org-tree-slide-compt.el + +(register-definition-prefixes "org-tree-slide-compt" '("outline-")) + +;;;*** + +;;;### (autoloads nil nil ("org-tree-slide-pkg.el") (0 0 0 0)) ;;;*** diff --git a/elpa/org-tree-slide-20230305.441/org-tree-slide-compt.el b/elpa/org-tree-slide-20230305.441/org-tree-slide-compt.el new file mode 100644 index 00000000..a7d65340 --- /dev/null +++ b/elpa/org-tree-slide-20230305.441/org-tree-slide-compt.el @@ -0,0 +1,50 @@ +;; These functions shall be loaded for Emacs 25.1 or earlier. +;; outline-show-children <- show-children +;; outline-show-subtree <- show-subtree +;; outline-hide-subtree <- hide-subtree + +(defun outline-show-children (&optional level) + "Show all direct subheadings of this heading. +Prefix arg LEVEL is how many levels below the current level should be shown. +Default is enough to cause the following heading to appear." + (interactive "P") + (setq level + (if level (prefix-numeric-value level) + (save-excursion + (outline-back-to-heading) + (let ((start-level (funcall outline-level))) + (outline-next-heading) + (if (eobp) + 1 + (max 1 (- (funcall outline-level) start-level))))))) + (let (outline-view-change-hook) + (save-excursion + (outline-back-to-heading) + (setq level (+ level (funcall outline-level))) + (outline-map-region + (lambda () + (if (<= (funcall outline-level) level) + (outline-show-heading))) + (point) + (progn (outline-end-of-subtree) + (if (eobp) (point-max) (1+ (point))))))) + (run-hooks 'outline-view-change-hook)) + + +(defun outline-show-subtree (&optional event) + "Show everything after this heading at deeper levels. +If non-nil, EVENT should be a mouse event." + (interactive (list last-nonmenu-event)) + (save-excursion + (when (mouse-event-p event) + (mouse-set-point event)) + (outline-flag-subtree nil))) + +(defun outline-hide-subtree (&optional event) + "Hide everything after this heading at deeper levels. +If non-nil, EVENT should be a mouse event." + (interactive (list last-nonmenu-event)) + (save-excursion + (when (mouse-event-p event) + (mouse-set-point event)) + (outline-flag-subtree t))) diff --git a/elpa/org-tree-slide-20230305.441/org-tree-slide-pkg.el b/elpa/org-tree-slide-20230305.441/org-tree-slide-pkg.el new file mode 100644 index 00000000..2164555c --- /dev/null +++ b/elpa/org-tree-slide-20230305.441/org-tree-slide-pkg.el @@ -0,0 +1,14 @@ +(define-package "org-tree-slide" "20230305.441" "A presentation tool for org-mode" + '((emacs "25.2")) + :commit "07906356f0b8d8ac51645b0994b8108deb53003d" :authors + '(("Takaaki ISHIKAWA ")) + :maintainers + '(("Takaaki ISHIKAWA ")) + :maintainer + '("Takaaki ISHIKAWA ") + :keywords + '("convenience" "org-mode" "presentation" "narrowing") + :url "https://github.com/takaxp/org-tree-slide") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/org-tree-slide-20200114.2334/org-tree-slide.el b/elpa/org-tree-slide-20230305.441/org-tree-slide.el similarity index 85% rename from elpa/org-tree-slide-20200114.2334/org-tree-slide.el rename to elpa/org-tree-slide-20230305.441/org-tree-slide.el index 7efd9d18..ee4a59fb 100644 --- a/elpa/org-tree-slide-20200114.2334/org-tree-slide.el +++ b/elpa/org-tree-slide-20230305.441/org-tree-slide.el @@ -1,10 +1,10 @@ ;;; org-tree-slide.el --- A presentation tool for org-mode ;; -;; Copyright (C) 2011-2019 Takaaki ISHIKAWA +;; Copyright (C) 2011-2023 Takaaki ISHIKAWA ;; ;; Author: Takaaki ISHIKAWA -;; Version: 2.8.14 -;; Package-Version: 20200114.2334 +;; Version: 2.8.19 +;; Package-Requires: ((emacs "25.2")) ;; Maintainer: Takaaki ISHIKAWA ;; Twitter: @takaxp ;; URL: https://github.com/takaxp/org-tree-slide @@ -77,12 +77,13 @@ (require 'org) (require 'org-timer) +(require 'face-remap) -(defconst org-tree-slide "2.8.14" +(defconst org-tree-slide "2.8.18" "The version number of the org-tree-slide.el.") (defgroup org-tree-slide nil - "User variables for org-tree-slide." + "User variables for `org-tree-slide'." :group 'org-structure) (defcustom org-tree-slide-skip-outline-level 0 @@ -112,16 +113,22 @@ When nil, the body of the subtrees will be revealed." :type 'boolean :group 'org-tree-slide) +(defcustom org-tree-slide-content-margin-top 2 + "Specify the margin between the slide header and its content." + :type 'integer + :group 'org-tree-slide) + (defcustom org-tree-slide-slide-in-effect t "Using a visual effect of slide-in for displaying trees." :type 'boolean :group 'org-tree-slide) (defcustom org-tree-slide-cursor-init t - "Specify a cursor position when exit slideshow. + "Specify a cursor position at start and exit of the slideshow. Non-nil: the cursor will move automatically to the head of buffer. -nil: keep the same position." +nil: keep the same position. The slideshow will start from the heading + that has the cursor." :type 'boolean :group 'org-tree-slide) @@ -170,12 +177,22 @@ nil: keep the same position." (defcustom org-tree-slide-modeline-display 'outside "Specify how to display the slide number in mode line. - 'lighter: shown in lighter (update info actively, then it's slow) - 'outside: update infomation when moving to the next/previous slide + \='lighter: shown in lighter (update info actively, then it's slow) + \='outside: update infomation when moving to the next/previous slide nil: nothing to be shown" :type 'symbol :group 'org-tree-slide) +(defcustom org-tree-slide-indicator + '(:next " Next >>" :previous "<< Previous" :content "<< CONTENT >>") + "Specify the indication messages for changing slides. +The specified string for NEXT will be used in `org-tree-slide-move-next-tree', +PREVIOUS will be used in `org-tree-slide-move-previous-tree'. +CONTENT will be used in `org-tree-slide-content'. +If you want to show anything, just specify nil." + :type 'plist + :group 'org-tree-slide) + (defvar org-tree-slide-mode-map (let ((map (make-sparse-keymap))) (define-key map (kbd "C-x s c") 'org-tree-slide-content) @@ -185,45 +202,34 @@ nil: keep the same position." map) "The keymap for `org-tree-slide'.") -(defface org-tree-slide-heading-level-1-init - '((t (:inherit outline-1))) +(defcustom org-tree-slide-heading-level-1 + '(outline-1 :height 1.5 bold) "Level 1." + :type 'list :group 'org-tree-slide) -(defface org-tree-slide-heading-level-2-init - '((t (:inherit outline-2))) +(defcustom org-tree-slide-heading-level-2 + '(outline-2 :height 1.4 bold) "Level 2." + :type 'list :group 'org-tree-slide) -(defface org-tree-slide-heading-level-3-init - '((t (:inherit outline-3))) +(defcustom org-tree-slide-heading-level-3 + '(outline-3 :height 1.3 bold) "Level 3." + :type 'list :group 'org-tree-slide) -(defface org-tree-slide-heading-level-4-init - '((t (:inherit outline-4))) +(defcustom org-tree-slide-heading-level-4 + '(outline-4 :height 1.2 bold) "Level 4." + :type 'list :group 'org-tree-slide) -(defface org-tree-slide-heading-level-1 - '((t (:inherit outline-1 :height 1.5 :bold t))) - "Level 1." - :group 'org-tree-slide) - -(defface org-tree-slide-heading-level-2 - '((t (:inherit outline-2 :height 1.4 :bold t))) - "Level 2." - :group 'org-tree-slide) - -(defface org-tree-slide-heading-level-3 - '((t (:inherit outline-3 :height 1.3 :bold t))) - "Level 3." - :group 'org-tree-slide) - -(defface org-tree-slide-heading-level-4 - '((t (:inherit outline-4 :height 1.2 :bold t))) - "Level 4." - :group 'org-tree-slide) +(defvar-local org-tree-slide-heading-level-1-cookie nil) +(defvar-local org-tree-slide-heading-level-2-cookie nil) +(defvar-local org-tree-slide-heading-level-3-cookie nil) +(defvar-local org-tree-slide-heading-level-4-cookie nil) (defvar org-tree-slide-mode nil) (defvar org-tree-slide-play-hook nil @@ -243,12 +249,12 @@ nil: keep the same position." ;;;###autoload (define-minor-mode org-tree-slide-mode - "A presentation tool for org-mode. + "A presentation tool for Org Mode. Usage: - Set minimal recommendation settings in .emacs - (global-set-key (kbd \"\") 'org-tree-slide-mode) - (global-set-key (kbd \"S-\") 'org-tree-slide-skip-done-toggle) + (global-set-key (kbd \"\") \='org-tree-slide-mode) + (global-set-key (kbd \"S-\") \='org-tree-slide-skip-done-toggle) - Open an org file - Type to start org-tree-slide-mode - Type C-< / C-> to move between trees @@ -257,7 +263,7 @@ Usage: Profiles: - [ Simple ] - => M-x `org-tree-slide-simple-profile' + => \\`M-x org-tree-slide-simple-profile' 1. No header display 2. No slide-in effect @@ -266,7 +272,7 @@ Profiles: 5. Display every type of tree - [ Presentation ] - => M-x `org-tree-slide-presentation-profile' + => \\`M-x org-tree-slide-presentation-profile' 1. Display header 2. Enable slide-in effect @@ -275,14 +281,13 @@ Profiles: 5. Display every type of tree - [ TODO Pursuit with narrowing ] - => M-x `org-tree-slide-narrowing-control-profile' + => \\`M-x org-tree-slide-narrowing-control-profile' 1. No header display 2. No slide-in effect 3. The cursor will keep the same position when exit 4. Display slide number in mode line - 5. Display TODO trees only -" + 5. Display TODO trees only" :init-value nil :lighter (:eval (org-tree-slide--update-modeline)) :keymap org-tree-slide-mode-map @@ -314,7 +319,7 @@ Profiles: ;;;###autoload (defun org-tree-slide-content () - "Change the display for viewing content of the org file during the slide view mode is active." + "Change the display for viewing content of the org file." (interactive) (when (org-tree-slide--active-p) (cond @@ -339,24 +344,29 @@ Profiles: ;; (goto-char (point-min)) (redisplay) (goto-char org-tree-slide-content--pos) - (message "<< CONTENT >>"))))) + (let ((msg (plist-get org-tree-slide-indicator :content)) + (message-log-max nil)) + (when msg + (message "%s" msg))))))) ;;;###autoload (defun org-tree-slide-move-next-tree () "Display the next slide." (interactive) (when (org-tree-slide--active-p) - (unless (equal org-tree-slide-modeline-display 'outside) - (message " Next >>")) + (let ((msg (plist-get org-tree-slide-indicator :next)) + (message-log-max nil)) + (when msg + (message "%s" msg))) (cond ;; displaying a slide, not the contents - ((and (org-tree-slide--narrowing-p) + ((and (buffer-narrowed-p) (org-tree-slide--last-tree-p (point))) (org-tree-slide-content)) ((or (or (and (org-tree-slide--before-first-heading-p) (not (org-at-heading-p))) - (and (= (point-at-bol) 1) (not (org-tree-slide--narrowing-p)))) + (and (= (point-at-bol) 1) (not (buffer-narrowed-p)))) (or (org-tree-slide--first-heading-with-narrow-p) (not (org-at-heading-p)))) (run-hooks 'org-tree-slide-before-move-next-hook) @@ -371,8 +381,10 @@ Profiles: "Display the previous slide." (interactive) (when (org-tree-slide--active-p) - (unless (equal org-tree-slide-modeline-display 'outside) - (message "<< Previous")) + (let ((msg (plist-get org-tree-slide-indicator :previous)) + (message-log-max nil)) + (when msg + (message "%s" msg))) (org-tree-slide--hide-slide-header) ; for at the first heading (run-hooks 'org-tree-slide-before-move-previous-hook) (widen) @@ -417,7 +429,7 @@ Profiles: `org-tree-slide-slide-in-effect' => t `org-tree-slide-heading-emphasis' => nil `org-tree-slide-cursor-init' => t - `org-tree-slide-modeline-display' => 'outside + `org-tree-slide-modeline-display' => \='outside `org-tree-slide-skip-done' => nil `org-tree-slide-skip-comments' => t" (interactive) @@ -438,7 +450,7 @@ Profiles: `org-tree-slide-slide-in-effect' => nil `org-tree-slide-heading-emphasis' => nil `org-tree-slide-cursor-init' => nil - `org-tree-slide-modeline-display' => 'lighter + `org-tree-slide-modeline-display' => \='lighter `org-tree-slide-skip-done' => t `org-tree-slide-skip-comments' => t" (interactive) @@ -528,6 +540,7 @@ This is displayed by default if `org-tree-slide-modeline-display' is nil.") (defvar org-tree-slide--header-overlay nil "Flag to check the status of overlay for a slide header.") +(defvar org-tree-slide--header-face-autoconfig nil) (defun org-tree-slide--setup () "Setup." (when (org-tree-slide--active-p) @@ -559,7 +572,10 @@ This is displayed by default if `org-tree-slide-modeline-display' is nil.") (message "%s" org-tree-slide-activate-message)))) (defvar org-tree-slide-startup "overview" - "If you have \"#+startup:\" line in your org buffer, the org buffer will be shown with corresponding status (content, showall, overview:default).") + "Start `org-tree-slide' with overview mode. +If you have \"#+startup:\" line in your org buffer, +the org buffer will be shown with corresponding status +\\(content, showall, overview:default\\).") (defun org-tree-slide--stop () "Stop the slide view, and redraw the orgmode buffer with #+STARTUP:." @@ -593,13 +609,13 @@ This is displayed by default if `org-tree-slide-modeline-display' is nil.") (setq org-tree-slide--previous-line (org-tree-slide--line-number-at-pos))) (goto-char (point-at-bol)) (unless (org-tree-slide--before-first-heading-p) - (hide-subtree) ; support CONTENT (subtrees are shown) + (outline-hide-subtree) ; support CONTENT (subtrees are shown) (org-show-entry) ;; If this is the last level to be displayed, show the full content (if (and (not org-tree-slide-fold-subtrees-skipped) (org-tree-slide--heading-level-skip-p (1+ (org-outline-level)))) (org-tree-slide--show-subtree) - (show-children)) + (outline-show-children)) ;; (org-cycle-hide-drawers 'all) ; disabled due to performance reduction (org-narrow-to-subtree)) (when org-tree-slide-slide-in-effect @@ -615,8 +631,8 @@ This is displayed by default if `org-tree-slide-modeline-display' is nil.") (outline-map-region (lambda () (if (org-tree-slide--heading-skip-comment-p) - (hide-subtree) - (show-subtree) + (outline-hide-subtree) + (outline-show-subtree) (org-cycle-hide-drawers 'all))) (point) (progn (outline-end-of-subtree) @@ -694,23 +710,31 @@ If HEADING-LEVEL is non-nil, the provided outline level is checked." "Apply slide in. The slide will be moved from BLANK-LINES below to top." (let ((min-line -1)) (when org-tree-slide-header - (setq min-line 2)) + (setq min-line org-tree-slide-content-margin-top)) (while (< min-line blank-lines) (org-tree-slide--set-slide-header blank-lines) (sit-for org-tree-slide-slide-in-waiting) (setq blank-lines (1- blank-lines))))) (defvar org-tree-slide-title nil - "If you have \"#+title:\" line in your org buffer, it wil be used as a title of the slide. If the buffer has no \"#+title:\" line, the name of current buffer will be displayed.") + "Presentation title. +If you have \"#+title:\" line in your org buffer, it wil be used as a title +of the slide. If the buffer has no \"#+title:\" line, the name of +current buffer will be displayed.") (defvar org-tree-slide-email nil - "If you have \"#+email:\" line in your org buffer, it will be used as an address of the slide.") + "Email address. +If you have \"#+email:\" line in your org buffer, +it will be used as an address of the slide.") (defvar org-tree-slide-author nil - "If you have \"#+author:\" line in your org buffer, it will be used as a name of the slide author.") + "Author name. +If you have \"#+author:\" line in your org buffer, +it will be used as a name of the slide author.") (defvar org-tree-slide-date nil - "If you have \"#+date:\" line in your org buffer, it will be used as the date.") + "Date. +If you have \"#+date:\" line in your org buffer, it will be used as the date.") (defcustom org-tree-slide-breadcrumbs " > " "Display breadcrumbs in the slide header. @@ -738,7 +762,7 @@ concat the headers." (org-tree-slide--set-header-var-by-regxep 'org-tree-slide-email "#\\+EMAIL:[ \t]*\\(.*\\)$" limit) - ; Use the date header or the current date if there isn't one + ; Use the date header or the current date if there isn't one (setq org-tree-slide-date nil) (org-tree-slide--set-header-var-by-regxep 'org-tree-slide-date "#\\+DATE:[ \t]*\\(.*\\)$" limit) @@ -755,10 +779,8 @@ concat the headers." (set header-variable (if (re-search-forward regexp limit t) (match-string 1) nil))) -(defface org-tree-slide-header-overlay-face - `((t (:bold t :foreground ,(face-foreground 'default) - :background ,(face-background 'default)))) - "Face for org-tree-slide--header-overlay" +(defface org-tree-slide-header-overlay-face '((t :inherit default)) + "Face for `org-tree-slide--header-overlay'." :group 'org-tree-slide) (defun org-tree-slide--get-parents (&optional delim) @@ -813,7 +835,7 @@ Some number of BLANK-LINES will be shown below the header." (defun org-tree-slide--show-slide-header (&optional lines) "Show header. When LINES is nil, the default value is 2." - (org-tree-slide--set-slide-header (or lines 2))) + (org-tree-slide--set-slide-header (or lines org-tree-slide-content-margin-top))) (defun org-tree-slide--hide-slide-header () "Hide header." @@ -835,19 +857,22 @@ Otherwise, return the point. This doesn't check whether skipping or not." (defun org-tree-slide--apply-custom-heading-face (status) "Change status of heading face. If STATUS is nil, apply the default values." (unless org-tree-slide-never-touch-face - (cond (status - (custom-set-faces - '(org-level-1 ((t (:inherit org-tree-slide-heading-level-1)))) - '(org-level-2 ((t (:inherit org-tree-slide-heading-level-2)))) - '(org-level-3 ((t (:inherit org-tree-slide-heading-level-3)))) - '(org-level-4 ((t (:inherit org-tree-slide-heading-level-4)))))) - (t - (custom-set-faces - '(org-level-1 ((t (:inherit org-tree-slide-heading-level-1-init)))) - '(org-level-2 ((t (:inherit org-tree-slide-heading-level-2-init)))) - '(org-level-3 ((t (:inherit org-tree-slide-heading-level-3-init)))) - '(org-level-4 ((t (:inherit org-tree-slide-heading-level-4-init))))) - )))) + (cond + (status + (setq + org-tree-slide-heading-level-1-cookie + (face-remap-add-relative 'org-level-1 org-tree-slide-heading-level-1) + org-tree-slide-heading-level-2-cookie + (face-remap-add-relative 'org-level-2 org-tree-slide-heading-level-2) + org-tree-slide-heading-level-3-cookie + (face-remap-add-relative 'org-level-3 org-tree-slide-heading-level-3) + org-tree-slide-heading-level-4-cookie + (face-remap-add-relative 'org-level-4 org-tree-slide-heading-level-4))) + (t + (face-remap-remove-relative org-tree-slide-heading-level-1-cookie) + (face-remap-remove-relative org-tree-slide-heading-level-2-cookie) + (face-remap-remove-relative org-tree-slide-heading-level-3-cookie) + (face-remap-remove-relative org-tree-slide-heading-level-4-cookie))))) (defun org-tree-slide--count-slide (&optional pos) "Return formatted the slide number. If POS is nil, `point' will be used." @@ -898,10 +923,6 @@ If the cursor exist before first heading, do nothing." "Return nil, if the current `major-mode' is not `org-mode'." (and org-tree-slide-mode (equal major-mode 'org-mode))) -(defun org-tree-slide--narrowing-p () - "Check the current status if narrowing or not." - (not (and (= (point-min) 1) (= (point-max) (1+ (buffer-size)))))) - (defun org-tree-slide--before-first-heading-p () "Extension of `org-before-first-heading-p' to support org 6.33x. #+TITLE: title ; t @@ -910,7 +931,7 @@ If the cursor exist before first heading, do nothing." hoge ; nil ** second ; nil ** third ; nil" - (and (org-before-first-heading-p) (not (org-tree-slide--narrowing-p)))) + (and (org-before-first-heading-p) (not (buffer-narrowed-p)))) (defun org-tree-slide--first-heading-with-narrow-p () "Check the current point is on the first heading with narrowing. @@ -920,7 +941,7 @@ If the cursor exist before first heading, do nothing." *** second ; nil hoge ; nil *** third ; nil" - (and (org-tree-slide--narrowing-p) (= (point-at-bol) (point-min)))) + (and (buffer-narrowed-p) (= (point-at-bol) (point-min)))) (defun org-tree-slide--all-skip-p () "Check the buffer has at least one slide to be shown." diff --git a/init.el b/init.el index 67adedeb..7666a968 100644 --- a/init.el +++ b/init.el @@ -1,11 +1,11 @@ (setq load-path (append - (list (expand-file-name "~/.emacs.d/lisp") (expand-file-name "~/.emacs.d/elpa/org-9.6")) + (list (expand-file-name "~/.emacs.d/lisp") (expand-file-name "~/.emacs.d/elpa/org-9.6.7")) load-path)) (if (string-equal system-type "darwin") (delete ' "/Applications/Emacs.app/Contents/Resources/lisp/org" load-path)) (setq org-use-extra-keys t) -(require 'org "~/.emacs.d/elpa/org-9.6/org.el") +(require 'org "~/.emacs.d/elpa/org-9.6.7/org.el") (require 'ob-core) (require 'ob-tangle) (require 'ob-sql) -- 2.47.3