mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-11-26 07:33:39 +00:00
This is a mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git for CI/development purposes because the upstream savannah git repo is flakey.
a3f3efe82d
Patch by Matt Lundin Matt writes: > The missing piece of the puzzle is integration with "diary" and > "cal-tex" functions via the org-diary sexp. I have found org-diary to be > excruciatingly slow when called for anything more than a couple of days. > I have the following line in my diary file: > > &%%(org-diary :timestamp :sexp) > > If I try to view 20 or so upcoming days in the diary by typing C-u 20 d > on a date in the calendar, it can take upwards of 30 seconds to generate > the diary display. This is of little consequence, since I can, after > all, simply use the custom agenda command. But I often want to print out > a nice LaTeX calendar of my appointments with cal-tex-cursor-month. And > that takes upwards of 50 seconds (see attached elp-results file). > > Judging from the elp-results, the culprit seems to be > org-prepare-agenda-buffers (46 seconds), which is called 31 times (once > for each day). It seems to me that since org-diary is being called 31 > times in quick succession by the same function (diary-sexp-entry), one > should only need to call org-prepare-agenda-buffers once. > > The only solution I could see to this problem was to add a test to see > if org-diary had been called less than 1 second ago. Thus, I added the > variable org-diary-last-run-time and a conditional in org-diary that > only runs org-prepare-agenda-buffers if org-diary-last-run-time is less > than 1 second in the past. > > With the patch, it now takes appr. 5 seconds to generate the LaTeX > calendar with cal-tex and org-prepare-agenda-buffers is called only > once. |
||
---|---|---|
BUGFIXING | ||
contrib | ||
doc | ||
EXPERIMENTAL | ||
lisp | ||
ORGWEBPAGE | ||
UTILITIES | ||
xemacs | ||
.dir-settings.el | ||
.gitignore | ||
ChangeLog | ||
Makefile | ||
README | ||
README_DIST | ||
README_GIT | ||
request-assign-future.txt |
This is the Emacs Org project, an emacs subsystem for organizing your life The homepage of Org is at http://orgmode.org This distribution contains: README This file. README_DIST The README file for the distribution (zip and tar files) README_GIT Information about the git repository and how to contribute to Org-mode development. lisp/ Directory with all the Emacs Lisp files that make up Org. doc/ The documentation files. org.texi is the source of the documentation, org.html and org.pdf are formatted versions of it. xemacs/ The xemacs directory contains special code for XEmacs users, in particular a port of the GNU Emacs outline.el to XEmacs. Org-mode does not work under XEmacs without this file installed. It did until version 4.37, but no longer. contrib/ A directory with third-party additions for Org. Some really cool stuff is in there. ORGWEBPAGE/ Directory with the source files for the orgmode.org web page. ChangeLog The standard ChangeLog file. Makefile The makefile to compile and install Org, and also for maintenance tasks. request-assign-future.txt The form that contributors have to sign and get processed with the FSF before contributed changes can be integrated into the Org core. All files in this distribution except the CONTRIB directory have copyright assigned to the FSF. EXPERIMENTAL Experimental code, not necessarily FSF copyright.