This patch covers the much of the new line numbering and code line
referencing.
We introduce a new function with the longish name
`org-export-replace-src-segments-and-examples'. It is an extension of
the earlier `org-export-replace-src-segments'. It now also covers
EXAMPLE blocks, not only source code blocks. This was necessary to
allow line numbering also in EXAMPLE blocks.
Both clock types now accept a string with options which will be given
in the BEGIN line. Options currently recognized are -n, +n, and -r.
A bit unsatisfactory about this patch may be that LaTeX-specific code
is now defined in org-exp.el, maybe eventually we want to think of a
way to move this code back to org-export-latex.el. Really, all it
does is adding line numbers and wrapping them into a verbatim
environment.
Besides adding line numbers in a backend specific way, this patch also
adds code to search or special cookies in source code, like "((1))" or
"((name))". These are labels that can be addressed by links as
references to specific line in source code.
This patch adds a new constant with javascript functions. Each
exported HTML file will contain these definitions. Also, we add to
the default export CSS style a new class, code-highlighted, which will
be used to highlight lines in code whenever the mouse overs over a
link to this line.
The remember handler was creating a buffer with `find-file-noselect',
and then trying to find it back using `get-file-buffer'. Apparently
there are situations where this can fail, to we now use directly the
buffer returned by `find-file-noselect'.
In a recent patch we have introduced names for all fields in the last
row. This has lead to a bug, that Org thinks there might be a field
formula associated with those fields. Now we check if there really is
one, and only in this case ask to overwrite it with a column formula.
Report by Henry Atting.
The dynamic block capturing column view has an :id parameter that does
select from where the column view should be captured. The routine
searching for this entry so far only searched the current file, now it
uses the full ID API to find the entry also in another file.
Furthermore, a value "file:path/to/file.org" will capture the global
column view of that file.
Report by Francois Lagarde.
Yesterday I pushed Org 6.16 into the Emacs CVS trunk, so we will see
this version when Emacs 23 gets released. Unless, of course, the
release is delayed and we can install more updates later.
1. When LaTeX export was done with a time-stamped file, a format
error in the timestamp format caused the output file to not
have the % comment in front of the time string. As this line
is early in the file, a LaTeX error would result.
2. Replacement of some special characters could fail. Strangely
this shows up only in XEmacs, but it still is a bug.
Both bugs were reported by Hugh Daschbach.
When refiling to the current file, the completion commands do not show
the file name. This was broken because I had switched from comparing
truenames to normal names. Now I am using expanded names, this is fast
and works well.
After the failed implementation of `@0' as a reference for the last
line, this is a second attempt to provide such references. I would
have liked to allow `@last' as the reference, that would have been
beautiful. However, too many regular expressions directly search for
`@' followed by a number, so this is too hard to implement.
Therefore, I am now turning the last row into a row of implicitly
named fields. From now on, $LR1, $LR2,... can be used to refer to
fields in the last row. These names may also appear on the left hand
side of formulas.
A prefix argument to the `org-agenda-show' command is now interpreted
to make sure the entire entry is made visible in the other window, not
only the headline.
Updating agenda lines did display tags incorrectly, because it used
the list of tags available as a property to remake the list. However,
that list contains down-cased versions of the tags, because all the
filtering in the agenda does ignore case in tags.
This patch implements a fresh scan for the tags each time a line is
updated, and in this way fixes the problem. It also reverses a
previous attempt to fix a similar problem.