Commit Graph

10593 Commits

Author SHA1 Message Date
Bastien Guerry cde8a35f54 org.el: New face `org-date-selected' for the selected calendar day.
* org-faces.el (org-date-selected): New face.

* org.el (org-date-ovl): Use `org-date-selected'.

This fixes a problem with bold faces enlarging the calendar window
unduely.  See http://patchwork.newartisans.com/patch/1286/
2012-04-21 12:12:30 +02:00
Jambunathan K fef07abefb org-odt.el: Fix handling of internal links
* lisp/org-odt.el (org-odt-format-org-link): Pay no heed to
whether the internal links destined for headlines provide a
description or not.  In fact, the `org-store-link' and
`org-insert-link' create internal links which do have a
description.

This fixes an issue where internal links terminating at an
invisible target (that is bound to a headline) was badly
rendered.  Refer following thread:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-04/msg00757.html
2012-04-21 12:11:40 +02:00
Jambunathan K 452d491204 * etc/styles/README: Update Copyright year 2012-04-21 12:11:28 +02:00
Jambunathan K 7c03bd928f OrgOdtStyles.xml: Fix indentation issues with description lists
* etc/styles/OrgOdtStyles.xml (OrgDescriptionList): Modify
style.  With this change, in a description list, if the
description paragraph spawns multiple lines then it will
correctly indented.
2012-04-21 12:11:15 +02:00
Bastien Guerry 80cc1ccd9e org-clock.el (org-program-exists): Fix docstring.
* org-clock.el (org-program-exists): Fix docstring.

Thanks to Sébastien Vauban for reporting this.
2012-04-21 12:10:51 +02:00
Bastien Guerry 08bd0b8892 Merge branch 'local-Makefile' into test-makefile-merge 2012-04-21 10:02:28 +02:00
Toby S. Cubitt 501b76ad36 Capture: Allow more control over inserted whitespace in capture templates
* lisp/org-capture.el (org-capture-place-entry): Place captured entry
immediately after last subheading of target, instead of just before
next heading at same level as target.
* lisp/org-capture.el (org-capture-templates): Document new capture
template properties.
* lisp/org-capture.el (org-capture-place-entry,
org-capture-empty-lines-before): Make new :empty-lines-before property
override :empty-lines when inserting empty lines before captured
captured entry.
* lisp/org-capture.el (org-capture-finalize,
org-capture-empty-lines-after): Make new :empty-lines-after property
override :empty-lines when inserting empty lines after captured
captured entry.
2012-04-21 01:57:54 +02:00
Bastien Guerry b857974f7d Small reformatting of testing/README. 2012-04-21 00:59:14 +02:00
Brian van den Broek 8f3dc945b2 Change example timestamps to not occur in headlines.
* org.texi: Alter several examples of headings with timestamps
in them to include the timestamps in the body instead of the heading.

* orgguide.texi: Alter the same examples in the same way as for
org.texi.

The Org-mode manual explicitly discourages the inclusion of timestamps
in headlines, yet examples do just that. These changes make the manual
consistent with its own advice.

TINYCHANGE
2012-04-21 00:43:24 +02:00
Bastien Guerry d5c0af72cf Use (derived-mode-p 'org-mode) instead of (eq major-mode 'org-mode).
* org.el (org-show-hierarchy-above, org-cycle)
(org-global-cycle, org-files-list, org-store-link)
(org-link-search, org-open-file, org-display-outline-path)
(org-refile-get-location, org-update-all-dblocks)
(org-change-tag-in-region, org-entry-properties)
(org-save-all-org-buffers, org-revert-all-org-buffers)
(org-buffer-list, org-cdlatex-mode)
(org-install-agenda-files-menu, org-end-of-subtree)
(org-speedbar-set-agenda-restriction): Use (derived-mode-p
'org-mode) instead of (eq major-mode 'org-mode).

* org-timer.el (org-timer-set-timer): Ditto.

* org-table.el (orgtbl-mode, org-table-align, orgtbl-mode): Ditto.

* org-src.el (org-edit-src-exit, org-edit-src-code)
(org-edit-fixed-width-region, org-edit-src-exit): Ditto.

* org-remember.el (org-remember-handler): Ditto.

* org-mouse.el (dnd-open-file, org-mouse-insert-item): Ditto.

* org-macs.el (org-get-limited-outline-regexp): Ditto.

* org-lparse.el (org-replace-region-by): Ditto.

* org-latex.el (org-latex-to-pdf-process)
(org-replace-region-by-latex): Ditto.

* org-indent.el (org-indent-indent-buffer): Ditto.

* org-id.el (org-id-store-link, org-id-update-id-locations)
(org-id-store-link): Ditto.

* org-html.el (org-export-html-preprocess)
(org-replace-region-by-html): Ditto.

* org-footnote.el (org-footnote-normalize)
(org-footnote-goto-definition)
(org-footnote-create-definition, org-footnote-normalize): Ditto.

* org-docbook.el (org-replace-region-by-docbook): Ditto.

* org-ctags.el (find-tag): Ditto.

* org-colview.el (org-columns-redo)
(org-columns-display-here, org-columns-edit-value)
(org-columns-redo): Ditto.

* org-colview-xemacs.el (org-columns-redo)
(org-columns-display-here, org-columns-edit-value)
(org-columns-redo): Ditto.

* org-capture.el (org-capture-insert-template-here)
(org-capture, org-capture-finalize)
(org-capture-set-target-location)
(org-capture-insert-template-here): Ditto.

* org-ascii.el (org-replace-region-by-ascii):  Ditto.

* org-archive.el (org-archive-subtree): Ditto.

* org-agenda.el (org-agenda)
(org-agenda-get-restriction-and-command)
(org-agenda-get-some-entry-text, org-search-view)
(org-tags-view, org-agenda-get-day-entries)
(org-agenda-format-item, org-agenda-goto, org-agenda-kill)
(org-agenda-archive-with, org-agenda-switch-to): Ditto.
2012-04-21 00:43:16 +02:00
Dave Abrahams a84fa6eccd org.el: Make links more readable when selecting them for insertion.
* org.el (org-link-prettify): New function to prettify links
while displaying them with `org-insert-link'.
(org-insert-link): Use the new function.

TINYCHANGE
2012-04-21 00:43:02 +02:00
Feng Shu a9d3ce0bcd Allow to use imagemagick for previewing LaTeX fragements.
* org.el (org-latex-create-formula-image-program): New option
to use either dvipng or imagemagick to convert and preview
LaTeX fragments.
(org-preview-latex-fragment, org-format-latex): Handle the new
option.
(org-create-formula-image-with-dvipng): Rename from
`org-create-formula-image'.
(org-create-formula-image-with-imagemagick): New defun to
handle LaTeX preview with imagemagick.
(org-latex-color, org-latex-color-format): New defuns to
handle color conversions.

* org-latex.el (org-latex-to-pdf-process, org-export-as-pdf):
Allow to use imagemagick to convert LaTeX fragments.

* org-html.el (org-export-html-preprocess): Ditto.

* org-exp.el (org-export-with-LaTeX-fragments): Ditto.

* org.texi (@LaTeX{} fragments): Document imagemagick as an
alternative to dvipng.
2012-04-21 00:42:59 +02:00
Bastien Guerry ec921a2a68 Support hourly repeat cookies.
* org.el (org-repeat-re)
(org-clone-subtree-with-time-shift, org-auto-repeat-maybe)
(org-deadline, org-schedule, org-matcher-time)
(org-time-stamp, org-read-date, org-read-date-get-relative)
(org-display-custom-time, org-get-wdays)
(org-time-string-to-absolute, org-closest-date)
(org-timestamp-change): Allow to set hourly repeat cookie.
Send an error when an hourly repeat cookie is set and no hour
is specified in the timestamp.

* org.texi (Repeated tasks): Document repeat cookies for
years, months, weeks, days and hours.

* org-agenda.el (org-agenda-get-timestamps): Match hourly
repeat cookies.

* org-icalendar.el (org-print-icalendar-entries): Handle
hourly repeat cookies.

Thanks a lot to Takafumi Arakaki for this idea and for a preliminary
version of this patch.
2012-04-21 00:42:56 +02:00
Achim Gratz e102e411e4 doc/Makefile: rename/add auto-generated files to be compatible with Emacs
* doc/Makefile: rename auto-generated file "git-describe.texi" to
  "org-version.inc" to allow for easier inclusion into Emacs.

* doc/org.texi: include "org-version.inc" instead of
  "git-describe.texi".

* lisp/Makefile: new auto-generated file org-version.el with autoload
  cookies.  The version strings will be pulled during autoload
  extraction into org-install.el (standalone org-mode) or
  ../loaddefs.el (Emacs).
2012-04-20 21:04:14 +02:00
Achim Gratz b33a4d6be0 move testing configuration into user-defined part, add hints
* default.mk: move testing configuration $(BTEST_*) into
       user-defined part, add hints on what should go there. Some
       cosmetic fixes.
2012-04-20 21:04:14 +02:00
Achim Gratz 1751d2d7f9 need to require find-func instead of just declare-function
* lisp/org.el: require find-func and remove declare-function for
       find-library-name, otherwise autoloaded org-version doesn't
       show all info correctly.
2012-04-20 21:04:14 +02:00
Achim Gratz 97e7636b68 Modify target 'update' to run tests before installation
* targets.mk: replace 'all' with 'test' in 'update'
2012-04-20 21:04:13 +02:00
Achim Gratz 72d7c95469 initialize Babel languages and provide possibility to load extra packages for testing
* default.mk: Run emacs without a site-file.  BTEST_EXTRA
             redefined to hold names of extra packages to require for
             testing.  BTEST_PRE and BTEST_POST allow additional
             options to be injected around setup of standard load path
             for testing.  BTEST_OB_LANGUAGES holds the names of Babel
             languages to required.  R is not added to the list since
             it requires ess to be installed and configured.  All
             variables can be overridden in local.mk as before.
2012-04-20 21:04:13 +02:00
Achim Gratz d5914ad47f make sure org-install.el does not get compiled
lisp/Makefile: add local variable section to org-install.el so
     that it is never compiled
2012-04-20 21:04:13 +02:00
Achim Gratz 3bbd458780 add cleaning of temporary test files (with option to keep them)
default.mk: add $(testdir) definition based on $(TMPDIR), which
    defaults to "/tmp" if not already defined

    targets.mk(check): call test suite with TMPDIR=$(testdir) and remove
    direactory after successful run of testsuite.  Do not remove
    temporary test files if $(TEST_NO_AUTOCLEAN) is set to a non-empty
    value.

    targets.mk(cleandirs): refactor the first part of what cleanall
    had been doing.

    targets.mk(cleanall): run cleantest and cleandirs, then remove
    backup files.

    targets.mk(cleanlisp): remove backup files.

    targets.mk(cleandoc): remove backup files.

    targets.mk(cleanall): run cleantest and cleandirs, then remove
    backup files.

    targets.mk(cleantest): removal of temporary test files.
2012-04-20 21:04:13 +02:00
Achim Gratz 035f24673b introduce "check" as alias for "test" to comply with GNU Makefile conventions
Makefile: change test to check in help text

	  targets.mk: add check as alias for test
2012-04-20 21:04:13 +02:00
Achim Gratz 353a0c519b introduce $(SUDO) to make install with administrative privileges customizable
defaults.mk: define SUDO to map to sudo, add comment to define
	blank if administrative privileges are not needed (already root on
	Linux or Administrator on Windows)

	targets.mk: use newly defined $(SUDO) uinstead of plain sudo,
	replaces some braces with parentheses
2012-04-20 21:04:12 +02:00
Achim Gratz 41624c1809 ignore *.t2d directories in doc/, adapt some comments, implement missing targets
.gitignore: also ignore *.t2d directories in doc/ that texi2pdf
	might produce when run in tidy mode

	default.mk: correct some comments

	targets.mk: implement missing clean targets and add aliases for
	them
2012-04-20 21:04:12 +02:00
Achim Gratz b9c72bebe4 make sure org-release is defined in batch mode
default.mk: make sure org-release is defined when starting emacs
	in batch mode.  Add a suffix to see if this definition leaks into
	the installed version someplace.  When running from an installed
	version, this definition is pulled in from org-install.el.
2012-04-20 21:04:12 +02:00
Achim Gratz 4a7ed95010 introduce new make target "test"
Makefile: add help for target "test"

	default.mk: more sane location for local data, add $(BTEST) that
	will run the test in batch mode.  Some tests require non-standard
	packages, introduce $(BTEST_EXTRA) in order to add options so they
	can be found.

	targets.mk: new target "test" that implies "all" and then runs all
	test. Hidden target "test-dirty" runs tests without doing
	compilation.
2012-04-20 21:04:12 +02:00
Achim Gratz b323d9e5c3 move schema files to etc/ and modify makefile to install them into $(datadir)
etc/Makefile: add "schema" to $(ETCDIRS)

	contrib/odt/etc/schema/od-manifest-schema-v1.2-cs01.rnc: move to etc/schema/od-manifest-schema-v1.2-cs01.rnc

	contrib/odt/etc/schema/od-schema-v1.2-cs01.rnc: move to etc/schema/od-schema-v1.2-cs01.rn

	contrib/odt/etc/schema/schemas.xml: move to etc/schema/schemas.xml
2012-04-20 21:04:12 +02:00
Achim Gratz a5ed8c65a0 Remove maint.mk and maint-targets.mk from repository
maint.mk and maint-targets.mk are removed from the repository as
	they are only used on the server by Bastien
2012-04-20 21:04:11 +02:00
Achim Gratz 3661de9368 The default target should be "all"
Makefile: "all" should be the default target
2012-04-20 21:04:11 +02:00
Achim Gratz 6ec5f30165 Do not croak when git is not available
targets.mk: if no .git directory is present, assume that Git is
	not available.  Make ORGVERSION, GITVERSION and GITSTATUS
	customizable from local.mk (override from command line is also
	possible and probably easier)
2012-04-20 21:04:11 +02:00
Achim Gratz 24fa46a9e5 more robust shell code for install/clean-install
{etc,lisp}/Makefile: use shell instead of make for looping, make
	code more robust
2012-04-20 21:04:11 +02:00
Achim Gratz 6a3ec67abd Introduce $(datadir), prefix all installation paths with $(DESTDIR)
Makefile: remove includes for maintainer targets, these will go
	into local.mk on the server

	default.mk: introduce $(datadir) to replace $(etcdir) in etc/Makefile

	doc/Makefile: replace $etcdir) with $(datadir)

	lisp/Makefile: record ODT styles location as defconst in org-install

	{doc,etc,lisp}/Makefile: prefix all installation targets with $(DESTDIR)
2012-04-20 21:04:11 +02:00
Achim Gratz 0081071a52 create Makefile for etc/, some additions to .gitignore
* etc/Makefile: create, activate subdir "styles" for ODT exporter
	* .gitignore: ignore doc/git-describe.texi and .gitattributes
2012-04-20 21:04:10 +02:00
Achim Gratz 1e343f7f3b update target descriptions, target "all" now automatically cleans .elc before compilation
* targets.mk: target "all" for lisp directory does now the same as
	"compile", i.e. it cleans .elc file first
	* Makefile: describe all targets and re-arrange the target groups
2012-04-20 21:04:10 +02:00
Achim Gratz 510a51310b use batch-byte-recompile-directory instead of batch-byte-compile
* lisp/Makefile: use batch-byte-recompile-directory instead of
	batch-byte-compile; remove pattern rule for compiling single file
	from source
	* lisp/Makefile: add compile-dirty to list of phony targets
2012-04-20 21:04:10 +02:00
Achim Gratz cb8600b1ba show installation path or org-install.el to avoid mishaps with multiple installations
* lisp/org.el (org-version): show the full path to org-install.el
	in the version string to avoid confusion if multiple installations
	exist or a previously loaded org-install.el has already defined a
	version string that is now out of date.
2012-04-20 21:04:10 +02:00
Achim Gratz 6da2d089b0 move all version strings into org-install.el
* targets.mk: check for release and git version and record this
	into environment variables for use in sub-make invocations; add
	new target "compile-dirty" that does not invoke "make clean" first
	* doc/Makefile, lisp/Makefile: remove git version check, since
	they are now provided by first-level make
	* lisp/Makefile: add insertion of version information into
	org-install.el, have org-install.el depend on LISPF rather than
	LISPC so that autoloads can be produced without compiling
	everything and remove insertion into org.el and re-compilation
	during install; add new target "compile-dirty" to support
	invocation from first-level make
	* lisp/org.el (org-version): remove determination of version
	information, show "N/A" if the information is not provided via
	org-install.el
2012-04-20 21:04:10 +02:00
Achim Gratz 306c748f63 inject git-describe version and date into org manual
* doc/Makefile: introduce target for git-describe.texi, which is an
	  automatically generated file that records the output of git-describe
	  and date; remove this file during make clean
	* doc/org.texi: remove @set for VERSION and DATE and do an @include
	  git-describe.texi instead
2012-04-20 21:04:09 +02:00
Achim Gratz c74d93b8c6 remove dependencies.mk since it is not needed any more
* lisp/dependencies.mk: remove file
	* lisp/Makefile: remove dependency on dependencies.mk

Rationale: since we will always start with a "make clean", the
dependencies file has become obsolete.  The dependencies had not
been updated for a long time anyway and there seems to be no way
to produce them automatically.
2012-04-20 21:04:09 +02:00
Achim Gratz 465adbdae3 Always "make clean" for lisp files before compiling them
* Makefile: prepend "make clean" in lisp directory when compiling

Rationale: Emacs prefers the compiled lisp files even if the source is newer.
In case of circular dependencies or if the dependencies file is not correct,
the compiled files might not reflect the sources.  Since there is no canonical
way to remove all compiled files which are stale (it can be hacked, but it is
really ugly), it seems more prudent to just always remove the compiled files
before starting the compilation.  Most folks already already do that anyway.
2012-04-20 21:04:09 +02:00
Achim Gratz 236b79da67 prepare for additional subdirs for "install"
* targets.mk: modify install target to be based on pattern
          match so that additional SUBDIRS will be automatically
          processed
2012-04-20 21:04:09 +02:00
Achim Gratz 8bbf77a748 finish cleanup on infodir, some refinements on rules
* doc/Makefile: cleanall additionally removes the directories for
	manual and guide; fix the dir file in infodir after removal of org
	documentation

	* lisp/Makefile: remove debug statement
2012-04-20 21:04:08 +02:00
Achim Gratz 501f9b1741 use sed instead of perl, add target clean-install
* Makefile, lisp/Makefile, doc/Makefile: add target clean-install
	to remove files in install-directories

	* default.mk: add customization variable $(SED)

	* doc/Makefile: do not remove dir while cleaning

	* lisp/Makefile: use sed instead of perl to weave git-status into
	org.el and ignore any errors while doing it.  Keep git status in
	$(GITSTATUS) to make it more clear what happens in the check.
2012-04-20 21:04:08 +02:00
Achim Gratz 00d357ab98 keep Emacs' Changelog clean
* UTILITIES/make_emacs_changelog: remove UTILITIES/ and all
	Makefiles from Emacs' Changelog
2012-04-20 21:04:08 +02:00
Achim Gratz f29ef857ae inject git-describe version into org.el during install
* lisp/org.el (org-git-version): placeholder for recording the Git
	version of org during install
	* lisp/org.el (org-version): initialize local git-version with
	placeholder and fall through using it when org is not installed in
	a Git repository
2012-04-20 21:04:08 +02:00
Achim Gratz a5cb04dcd8 hand off ./doc to sub-make
* Makefile: use info function for output and call shell only once
* default.mk: add PDFTEX and RMR variables for customization
* lisp/Makefile: add target 'all' and create $(lispdir) if necessary
* maint-targets.mk: invoke sub-make for HTML manuals
* maint.mk: remove unsused VARIABLES
* targets.mk: invoke sub-make for ./doc and clean up some targets
2012-04-20 21:04:07 +02:00
Achim Gratz ac3162b4f0 activate local.mk and hand off ./lisp to a sub-make
* Makefile: add an optional include local.mk
* default.mk: install lisp files into org subfolder by default
* lisp/Makefile: new file to handle all make targets within lisp
* lisp/dependencies.mk: dependencies, should rather be auto-generated
* maint.mk: remove obsolete variable definitions
* targets.mk: hand off to sub-make in ./lisp, remove unused targets
2012-04-20 21:04:07 +02:00
Achim Gratz 77f0e50787 shuffle targets to their correct place, harden recipes
* Makefile: declare phony targets, remove help text for install-info-debian
* default.mk: add variable for FIND and RM
* targets.mk, maint-targets.mk: shuffle targets to where they belong, declare
  phony targets, work around a texi2dvi bug, use pattern rules, use targets for
  dependencies instead of repeating them verbatim
2012-04-20 21:04:07 +02:00
Achim Gratz 2386380c72 change defaults to something that should work on most Linux systems and Cygwin
* default.mk: change prefix to /usr/share and do some formatting

This change establishes the baseline installation path that should work
out-of-the-box on Linux and Cygwin when the install is done system-wide (which
needs administrator privileges).
2012-04-20 21:04:07 +02:00
Achim Gratz b0ebd4365e Split off Makefile into several parts, included from master Makefile
* Makefile: just keep help target (now also default for no target)
  and include all other parts from here.
* default.mk: user editable variables with their default values
* maint.mk: definitions by maintainer, should not be touched by user
* targets.mk: user callable targets
* maint-targets.mk: targets for maintenance, should not be called by user
* dependencies.mk: keep order during compile (could become auto-generated)

This is the first in a series of patches that restructures the Makefile to
achieve easier customization and separation of different concerns (mainly user
vs. maintenance of the distribution).  This first patch simply establishes a
set of files without changing anything else to provide a clean starting point.
It uses GNU make extensions since Makefile already depends on GNU make anyway.
2012-04-20 21:04:07 +02:00
Eric Schulte 66ae794a66 contrib/org-docco.org -- docco side-by-side HTML export of annotated source code
for an example of the code output see
  http://eschulte.github.com/org-docco/org-docco.html
2012-04-20 12:21:50 -04:00