Commit Graph

10595 Commits

Author SHA1 Message Date
Nicolas Goaziou 65c0e18892 org-e-ascii: Ensure consistent cross-referencing between elements and links
* contrib/lisp/org-e-ascii.el (org-e-ascii--has-caption-or-name-p):
  New function.
(org-e-ascii--build-caption, org-e-ascii-link): Use new function.

This patch ensures only elements with a name or a caption are counted
in when a fuzzy link pointing to an element is resolved.
2012-05-20 13:57:58 +02:00
Nicolas Goaziou c91bcb368f org-export: Fix macro expansion when back-end protects dollar signs
* contrib/lisp/org-export.el (org-export-get-inbuffer-options): Return
  an "eval" macro as a regular secondary string instead of a plain
  string.
(org-export-expand-macro): Replace arguments before exporting
them (and possibly protecting dollar signs).  Refactor code.
* testing/lisp/test-org-export.el: Add tests.
2012-05-20 12:18:16 +02:00
Nicolas Goaziou 368a7f69c4 org-export: Move translate-alist into communication channel
* contrib/lisp/org-export.el (org-export-get-environment): Move
  translate-alist in communication channel.  Refactor code.
(org-export-transcoder): Retrieve transcoder from communication
channel instead of global variable.
2012-05-20 12:18:11 +02:00
Nicolas Goaziou 57cfa6aa9b org-export: Fix macro expansion error
* contrib/lisp/org-export.el (org-export-expand-macro): Fix code typo.
2012-05-20 09:57:33 +02:00
Achim Gratz 7b33d9f56b make functions in org-fixup.el more robust, add full build functionality
* UTILITIES/org-fixup.el(org-make-org-version): Use temporary buffer.

* UTILITIES/org-fixup.el(org-make-org-install): Use temporary buffer.

* UTILITIES/org-fixup.el(org-make-autoloads): New function, generates
  autoload files using (org-make-org-version)
  and (org-make-org-install).  Uses (org-fixup) to determine version
  strings.

* UTILITIES/org-fixup.el(org-make-autoloads-compile): New function,
  generates autoload files using (org-make-autoloads) and
  byte-compiles files in lisp.  Optional argument forces
  re-compilation of all files.

* UTILITIES/org-fixup.el(org-fixup): Clean up whitespace and correct the
  unwind form.
2012-05-19 20:04:34 +02:00
Achim Gratz 40a789ecd1 fix org-reload and add parameters to customize output from org-version
* org.el(org-version): Add optional parameters 'full and 'message
  to optionally return the full version string and echo to message
  area in non-interactive calls.

* org.el(org-submit-bug-report): Add optional parameter 'full to
  call of (org-version) so that the bug report has all version
  information.

* org.el(org-reload): Simplify file-re (orgtbl-*.el files do not
  exist anymore).  Keep org-*.el at the end of the files list.
  Explicitely load org-version.el (since it doesn't provide feature
  'org-version) at the very end, but ignore errors when it doesn't
  exist.  Add parameters 'full and 'message to the call
  of (org-version) so that after reload the full version information
  is displayed in the message area again.
2012-05-19 10:52:09 +02:00
Bastien Guerry 584b869d38 org-exp.el: Allow to use #+include with no column.
* org-exp.el (org-export-handle-include-files): Allow to use
#+include with no column.

Thanks to Albert for spotting this.
2012-05-19 10:25:19 +02:00
Achim Gratz 595d451280 use org-no-warnings macro for XEmacs compatibility
* lisp/org-agenda.el: Replace with-no-warnings with
  org-no-warnings (defined in org-macs.el).

* lisp/org-bbdb.el: Replace with-no-warnings with
  org-no-warnings (defined in org-macs.el).

* lisp/org-clock.el: Replace with-no-warnings with
  org-no-warnings (defined in org-macs.el).

* lisp/org.el: Replace with-no-warnings with org-no-warnings (defined
  in org-macs.el).
2012-05-19 09:48:57 +02:00
Achim Gratz 160cde6c0e corrections to build system
* targets.mk: Only the first dependecy was used, remove them entirely
  and replace with explicit foreach.  Change "check" to only depend on
  "compile", so it does not re-make documentation.
2012-05-19 08:05:15 +02:00
Nicolas Goaziou c84cda961f Fix some more comments in export back-ends 2012-05-18 21:06:12 +02:00
Nicolas Goaziou 946230bae4 A few fixes to comments and docstrings 2012-05-18 17:26:53 +02:00
Eric Schulte fc5d53d910 Merge branch 'origin-maint' 2012-05-18 09:07:05 -04:00
Eric Schulte 038cdffe0c indent block boundaries when body is no-indent
Thanks to Seb and Nick for pointing this out.

* lisp/org-exp-blocks.el (org-export-blocks-preprocess): Even when the
  body of a block is not indented the boundary markers should be
  indented to their original positions so things like list indentation
  still work.
2012-05-18 09:06:42 -04:00
Nicolas Goaziou 893a0915b5 org-e-latex: Customizable format string for broken links
* contrib/lisp/org-e-latex.el (org-e-latex-link-with-unknown-path-format):
  New variable.
(org-e-latex-link): Use new variable.
2012-05-18 12:42:32 +02:00
Nicolas Goaziou 5ab59625e6 org-e-publish: Apply #+INCLUDE keyword regexp change
* contrib/lisp/org-e-publish.el (org-e-publish-cache-file-needs-publishing):
  Make quotes mandatory around the file name and allow spaces in
  it.
2012-05-18 11:48:15 +02:00
Nicolas Goaziou 507b3c937b org-export: Fill `org-export-current-backend' before pre-parsing hook
* contrib/lisp/org-export.el (org-export-as): Store current back-end
  in `org-export-current-backend' before running
  `org-export-before-parsing-hook'.
2012-05-18 11:42:16 +02:00
Nicolas Goaziou 51472b4d33 org-export: Implement `org-export-resolve-radio-link'
* contrib/lisp/org-export.el (org-export-resolve-coderef): New function.
* contrib/lisp/org-e-ascii.el (org-e-ascii-link): Use new function.
* contrib/lisp/org-e-html.el (org-e-html-link): Use new function.
* contrib/lisp/org-e-latex.el (org-e-latex-link): Use new function.
* contrib/lisp/org-e-odt.el (org-e-odt-link): Use new function.
* testing/lisp/test-org-export.el: Add tests.
2012-05-18 11:42:16 +02:00
Nicolas Goaziou e1eb6a4af2 org-export: Rename `org-export-option-alist' into `org-export-options-alist'
* contrib/lisp/org-e-ascii.el (org-e-ascii-options-alist): Renamed
  from `org-e-ascii-option-alist'.
* contrib/lisp/org-e-html.el (org-e-html-options-alist): Renamed from
  `org-e-html-option-alist'.
* contrib/lisp/org-e-latex.el (org-e-latex-options-alist): Renamed
  from `org-e-latex-option-alist'.
* contrib/lisp/org-e-odt.el (org-e-odt-options-alist): Renamed from
  `org-e-odt-option-alist'.
* contrib/lisp/org-export.el (org-export-define-derived-backend,
  org-export-parse-option-keyword, org-export-get-inbuffer-options,
  org-export-get-global-options): Rename `org-export-option-alist'
  into `org-export-options-alist'.
2012-05-18 11:42:16 +02:00
Nicolas Goaziou 69f7a9b67f org-export: Implement `org-export-define-derived-backend'
* contrib/lisp/org-export.el (org-export-define-derived-backend): New
  function.
2012-05-18 11:42:15 +02:00
Nicolas Goaziou 7421e96536 org-export: Remove naming convening for back-ends
* contrib/lisp/org-e-ascii.el (org-e-ascii-translate-alist): New variable.
* contrib/lisp/org-e-html.el (org-e-html-translate-alist): New
  variable.
(org-e-html-filters-alist): Move variable into an appropriate section.
* contrib/lisp/org-e-latex.el (org-e-latex-translate-alist): New variable.
* contrib/lisp/org-e-odt.el (org-e-odt-translate-alist): New variable.
(org-e-odt-option-alist): Move variable into an appropriate section.
* contrib/lisp/org-export.el (org-export-transcoder): Retrieve
  translators from `org-BACKEND-translate-alist' instead of applying
  a naming convention to each of them.
* testing/lisp/test-org-export.el: Update tests.
2012-05-18 11:42:15 +02:00
Nicolas Goaziou 1c2aaca837 org-e-ascii: Table cells are exported with proper export options
* contrib/lisp/org-e-ascii.el (org-e-ascii-superscript): Table cells
  are exported with proper export options.
2012-05-18 11:42:15 +02:00
Bastien Guerry 7da0d6b994 org-publish.el: #+INCLUDE now use mandatory quotes, spaces are allowed in file names.
* org-publish.el (org-publish-cache-file-needs-publishing):
Make quotes mandatory around the file name and allow spaces in
it.

Thanks to Albert for this suggestion.
2012-05-18 09:17:58 +02:00
Bastien Guerry 4565bf0630 org-html.el (org-export-as-html): Add link to Org's and Emacs's websites.
* org-html.el (org-export-as-html): Add link to Org's and
Emacs's websites.
2012-05-18 08:32:08 +02:00
Adam Spiers e1630f60c7 Add hyperlink to Org website from HTML export footer
* lisp/org-html.el: add hyperlink to http://orgmode.org/ from export footer
2012-05-18 08:30:02 +02:00
Adam Spiers b57e23694f Fix typo in manual index's description of the 'Hooks' section
* doc/org.texi: Fix typo in description of the 'Hooks' section
2012-05-18 08:30:00 +02:00
Adam Spiers 677a94a961 Document ID special property.
* doc/org.texi: add ID to the list of special properties.
2012-05-18 08:29:57 +02:00
Bastien Guerry 0c17921815 Merge branch 'master' of orgmode.org:org-mode 2012-05-18 07:48:49 +02:00
Bastien Guerry 2369090328 UTILITIES/server.mk: delete whitespaces. 2012-05-18 07:46:25 +02:00
Achim Gratz 4ea1573b9d Remove "release_" prefix from org-version when org-fixup is run
* UTILITIES/org-fixup.el: Remove "release_" prefix from org-version
  when it is established from git.
2012-05-18 07:45:47 +02:00
Achim Gratz 58e4e212f2 Re-introduce server.mk
* UTILITIES/server.mk: Re-introduce, keep in UTILITIES like the other
  server stuff.  Implement "helpserver" and link into "help" and
  "helpall" targets.  Add "reltest" target to clean up the work tree
  and produce release archives, uses internal target "rel-dirty" for
  the actual archive creation.  Warn if $(ORGVERSION) is different
  from $(GITVERSION), as a release should only be made from a revision
  that has an annotated tag.
2012-05-18 07:45:47 +02:00
Achim Gratz 837ccf464c avoid accumulation of the ".dirty" suffix on $(GITVERSION) during sub-make invocations
* targets.mk: Strip ".dirty" suffix from $(GITVERSION) before
  potentially re-adding it, to avoid accumulation of the suffix during
  sub-make invocations.
2012-05-18 07:45:47 +02:00
Achim Gratz cd9476e774 Remove more autosave cruft with "cleanall"
* targets.mk: Remove more autosave cruft with "cleanall": "#*#" and ".#*".
2012-05-18 07:45:47 +02:00
Achim Gratz a0a344bff1 inject version strings into orgguide
* doc/orgguide.texi: Include version strings from "org-version.inc".

* doc/Makefile: Make "org-version.inc" a dependency of "guide".
2012-05-18 07:45:46 +02:00
Achim Gratz b3b7769457 guard invocation of org-mode and suppress warning from byte-compiler
* lisp/org.el: Add with-not-warnings around call of (org-fixup).
2012-05-18 07:45:46 +02:00
Achim Gratz b4693de937 clean up server targets in doc/Makefile and make sure they are working
* doc/Makefile: ignore errors from removing directory (may not exist),
  manual depends on 'org-version.inc'.
2012-05-18 07:45:46 +02:00
Achim Gratz 03e2192b4b correct output from "make helpall"
* Makefile: correct definitions to have "make helpall" display the
  output in the way it was intended.  Remove documentation for
  "cleanrel" as it is not intended to be used except on the release
  server; this target may move into server.mk, but for now leave it
  in targets.mk.
2012-05-18 07:45:46 +02:00
Achim Gratz 4f29c630d8 XEmacs compatibility improvements
* lisp/org-compat.el (org-find-library-dir): rename
  org-find-library-name (misleading) and implement with a function
  that exists identically in Emacs/XEmacs.

* UTILITIES/org-fixup.el: change calls to org-find-library-dir.
  Simplify invocations of git, use the same arguments as in targets.mk
  and use only functions that work the same in EMacs and XEmacs.

* lisp/org-exp-blocks.el: change calls to org-find-library-dir.

* lisp/org.el: change calls to org-find-library-dir.  Make require for
  noutline fail silently because it is missing from XEmacs.
2012-05-18 07:45:45 +02:00
Achim Gratz e7d2e4e186 ensure that M-x org-version always delivers something useful
* UTILITIES/org-fixup.el (org-make-org-version): change defconst to
  defun for org-release and org-git-version and close over those
  variables (do not make them global anymore).

* UTILITIES/org-fixup.el (org-fixup): check for org-version.el or try
  to use git to get the version from the worktree (code uses parts of
  the former implementation from org.el).

* lisp/org.el (org-version): use functions instead of global variables
  to get the version strings and remove the defvaralias to
  org-version.  Warn when encountering a mixed installation (org and
  org-install.el should be found in the same directory).

Supported use-cases:

1) Org uninstalled (and possibly uncompiled) from Git or tarball.

1a) No org-version.el or org-install.el exists in worktree.  Partially
supported configuration, org version is determined from git if
possible via UTILITIES/org-fixup.el.  However, Emacs versions
delivered with orgmode will provide autoloads that may or may not work
with that version of org (mixed installation).  If such a situation is
encountered, warn the user.  It can work if the autoloads from the
installation match the ones that would be generated for the worktree,
which generelly is only the case if there is a relatively recent
installation in site-lisp.

1b) Autoload file org-install.el exists in worktree.  Fully supported
configuration, org version is determined from git if possible via
UTILITIES/org-fixup.el.

1c) Both org-version.el or org-install.el exist in worktree.
Recommended configuration for 1), org version is taken from
org-version.el (git never gets invoked).

2) Org installed.  Both org-version.el and org-install.el must exist
in install directory.  Only supported configuration for 2), org
version is taken from org-version.el (git never gets invoked since
UTILITIES/org-fixup.el is not available).

Any unsupported configuration should still yield a version string, but
it will contain "N/A" to alert the user about a botched org
installation.
2012-05-18 07:45:45 +02:00
Achim Gratz bcced6a51d Makefile: avoid spurious recompilations of documentation
* doc/Makefile: org-version.inc is again dependent on org.texi.  This
  avoids recompilation when nothing has been changed; target "clean"
  still removes orgversion.texi to produce a consistent set of
  documentation and code after a "make clean" on toplevel

* targets.mk: add "doc" as prerequisite to "all" and "compile" to have
  it call "clean" in the doc subdir.
2012-05-18 07:45:45 +02:00
Achim Gratz b567341443 clean up Makefile some more, keep autoloads around
* lisp/Makefile: remove stop targets, make autoloads depend on source
  files again (not .PHONY).  Keep autoload files around after compile,
  but make sure to re-create them before installation and compile.
  Remove autoload files before re-creating them to avoid errors from
  Emacs when saving the buffer.

* targets.mk: remove stop targets and the mess that was necessary to
  support them.

* default.mk: must use $(CURDIR) not $(PWD), $(PWD) is not well
  defined when using sudo.
2012-05-18 07:45:45 +02:00
Achim Gratz df89e3cd0c cleanup in lisp/Makefile, targets; create org-fixup.el, remove version definition
* UTILITIES/org-fixup.el: new file, has functions to create
  org-version.el and org-install.el, now use by the build system.

* lisp/Makefile: delete said definitions, now sourced from toplevel
  make.  "clean" and "cleanall" should do the same thing here, make
  them aliases, ditto for "all" and "compile".  Both autoload files
  must be .PHONY and depend only on each other for correct ordering.
  Make "compile-dirty" actually do that again (i.e. no implied
  "clean", but "cleanauto").  Remove autoload files directly after
  install, so that they will only be present when explicitly requested
  by "autoloads".  Create "org-version.el" before compilation as it is
  mandatory.  Remove $(ORG_MAKE_INSTALL) and $(ORG_MAKE_VERSION),
  source from default.mk/local.mk.

* default.mk: move definitions for $(ORG_MAKE_INSTALL) and
  $(ORG_MAKE_VERSION) here so that they can be more easily configured.
  Remove definition of "org-release" from $(BATCH) and $(BTEST), now
  sourced from "org-version.el".

* targets.mk: target reorganization, introduce "stop" targets to
  prevent cleaning of org-version.el.  Use new targets for "oldorg" to
  make it more robust in case of errors.  New target "cleanutils" to
  remove any "*.elc" files that may have been produced there and add
  this target to "cleanall". Do the same in cleancontrib.
2012-05-18 07:45:44 +02:00
Jambunathan K 5847931b37 org-e-odt.el: Fix italic style 2012-05-17 19:36:32 +05:30
Bastien Guerry 4f60b5f3a5 Use (with-no-warnings ...) construct for `date' and `entry'. 2012-05-17 11:07:19 +02:00
Achim Gratz 71c1cae4a7 suppress byte-compiler warning about unprefixed global variables from calendar.el
* lisp/org.el: add with-no-warning to defvar for two unprefixed global
  variables from calendar.el (there's nothing else we can do inside
  org until it is fixed in calendar.el).
2012-05-17 11:07:15 +02:00
Bastien Guerry e06fff3e50 Remove a blank line causing a merge conflict with patches I want to apply. 2012-05-17 10:12:08 +02:00
Bastien Guerry 443398b766 Merge branch 'master' of orgmode.org:org-mode 2012-05-17 08:16:29 +02:00
Bastien Guerry 872516b8f9 New option `org-export-latex-link-with-unknown-path-format'.
* org-latex.el
(org-export-latex-link-with-unknown-path-format): New option.
(org-export-latex-links): Use it.

Thanks to Sébastien Vauban for a preliminary patch for this.
2012-05-17 08:06:58 +02:00
Rick Frankel eed31ad936 Add dbi support to sql babel mode
* lisp/ob-sql.el: add dbi engine type and pre/post processing
2012-05-16 19:50:43 -04:00
Bastien Guerry c4cad9f80b Fix merge conflict. 2012-05-16 23:46:36 +02:00
Eric Schulte 68c5a2f840 Merge branch 'origin-maint' 2012-05-16 13:15:55 -04:00