Commit Graph

65 Commits

Author SHA1 Message Date
Achim Gratz 6fbc226ca5 further cleanup for org version
* UTILITIES/org-fixup.el (org-make-org-version): Provide feature
  'org-version.
* lisp/org-compat.el (org-check-version): New macro.  Check if
  org-version.el exists and provide autoloads to that. Otherwise check
  if org-fixup.el exists and use it to provide definitions.  Finally
  if nothing worked, complain about a botched installation and provide
  fallback definitions.
* lisp/org.el: Use org-check-version.

This should finally provide the correct behaviour in all supported
use-cases as well as a few corner scenarios that were reported on the
mailing list and allow to always build on Git, ELPA and Emacs Bzr
correctly.  The file org-version.el must be added to the Emacs sources
and should be re-generated each time orgmode Git is synced to Emacs
Bzr (it would be best to automate this).

Note that the internal functions (org-release) and (org-git-release)
are not autoloaded when org-version is not present and become only
available when org.el is loaded.  This should pose no problem since
they are only used by (org-version), which is autoloaded from org.el.
2012-07-15 13:53:53 +02:00
Achim Gratz 6762c7ea60 Clean-up for build system support and a fix for org-version.
* UTILITIES/org-fixup.el: Clean up and add doc strings.
* UTILITIES/org-fixup.el (org-make-autoloads): Add optional arguments
  and implementation for comopiling and force compiling.
* UTILITIES/org-fixup.el (org-make-autoloads-compile,
  org-make-autoloads-compile-force): Convenience definitions with
  pre-selected arguments, avoids complicated quoted on invocation from
  command line.
* UTILITIES/org-fixup.el (org-fixup): Add "-git" to git version when
  run from a bare Git worktree.  Give message instead of returning
  string inside quoted progn for easier tracing.
* lisp/org.el: Fix a subtle error resulting in version functions
  sometimes not being defined and byte-compiling failing.  Always
  compile in fallback definitions into org.elc -- org-fixup either
  provides re-definitions at compile-time or checks org-version.el and
  then the git work tree when run uncompiled.  So the fallback
  definitions will only come into effect when org-fixup is not
  available.
2012-07-14 20:42:18 +02:00
Achim Gratz b050afa06f Let the user override the version strings produced in org-fixup.
* UTILITIES/org-fixup.el (org-fixup): Let the user override the
  version strings produced in org-fixup whith strings stored in
  org-fake-release and org-fake-git-version.  Skip loading them from a
  pre-existing org-version.el or trying to determine them from git in
  this case.  This is predominantly useful if Git is not available,
  but the user wants to install from a Git tarball which is missing a
  pre-configured org-version.el file.
2012-07-11 22:20:52 +02:00
Achim Gratz ce960654fe emacs_make_changelog: Collect all contributions from a single author under a single heading.
* UTILITIES/make_emacs_changelog: Collect all contributions from a
  single author under one heading and apply (tiny change) only when
  all contributions are marked as such.
2012-05-30 12:30:22 +02:00
Achim Gratz ca117aae00 simplify parsing in make_emacs_changelog
* UTILITIES/make_emacs_changelog: Re-write log parser using a custom
  git-log format and omit comments from output.
2012-05-30 12:30:22 +02:00
Achim Gratz 0db8233460 replace the remaining occurences of sed with emacs scripts, implement mkdir with install
* UTILITIES/org-fixup.el (org-make-local-mk): New function to create a
  local.mk template from default.mk.

* UTILITIES/org-fixup.el (org-make-letterformat): New function to
  replace the format string for A4 with one for Letter.

* default.mk: Few cosmetic changes to the template section.  Add
  definition MAKE_LOCAL_MK for call to org-make-local-mk.  Remove
  definition for SED, which is not used anymore.  Implement MKDIR with
  'install -d' by default.  Since both CP and MKDIR are now
  implemented with install, this reduces the number of external
  dependencies.  Add mode settings to both invocations of install to
  keep the modes of installed files sane even if umask is set to a
  strange value.

* targets.mk: Remove sed script and use $(MAKE_LOCAL_MK) instead.

* doc/Makefile: Remove sed script and replace with emacs script.  This
  script can not be placed into a variable since it would expand $<
  and $@ in the context of the "card" target rather than the pattern
  rule.
2012-05-30 12:30:21 +02:00
Achim Gratz c656052326 use load instead of require in org-fixup.el
* UTILITIES/org-fixup.el: Use load instead of require so that the
  current definitions are used regardless of any previous provision of
  the requested feature.
2012-05-25 01:25:02 +02:00
Achim Gratz 372948a88f use only relative paths for better compatibility with mixed Cygwin/NTEmacs installations
* UTILITIES/org-fixup.el(org-make-org-install): Use relative filenames
  throughout, and query Emacs for directory names where a full path is
  required.  This avoids Cygwin/POSIX paths being misinterpreted by a
  stock NTEmacs.  Use the same regex as (org-reload) for enumerating
  the files to byte-compile.

* default.mk: Factor out standard load-path for Emacs started in lisp/
  into BATCHL and use this in defaults.  Make all paths to be
  interpreted by Emacs relative so Cygwin and NTEmacs can coexist.
2012-05-21 15:34:25 +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
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 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 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
Bastien Guerry 96dd842ee1 UTILITIES/mansplit.pl: mention http://orgmode.org
Thanks to Thierry Stoehr for suggesting this.
2012-04-30 18:30:13 +02:00
Bastien Guerry ad812d8cd1 UTILITIES/manfull.pl: mention http://orgmode.org
Thanks to Thierry Stoehr for suggesting this.
2012-04-30 18:28:31 +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
David Maus 4480ebe5f5 UTILITIES/pw: Fix type in error message
* pw (action_update_patch): Fix type in error message.
2012-03-20 02:39:33 +01:00
Bastien Guerry 9d51ba9b13 UTILITIES: Use a separate css for the HTML manuals. 2011-12-13 00:21:16 +01:00
Bastien Guerry 4dfc520711 UTILITIES/man*: Fix bug: don't insert </style> 2011-12-10 13:46:50 +01:00
Bastien Guerry 65411f40e1 set-version.pl: don't set current version in ORGWEBPAGE/index.org 2011-01-09 18:43:40 +01:00
Carsten Dominik 561c00930b More information into the README_maintainer file 2010-12-11 17:56:55 +01:00
Carsten Dominik 3a6d86960e Improve changelog creation 2010-10-29 08:29:05 +02:00
Carsten Dominik ea16ef9535 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode
Conflicts:
	UTILITIES/pw
2010-08-16 17:21:18 +02:00
Carsten Dominik ef56c6f361 Another bug in pw... 2010-08-16 17:19:29 +02:00
Carsten Dominik 4a523e0cf0 Big bug in pw script 2010-08-16 17:17:15 +02:00
Carsten Dominik 652e7f2840 Revert "Bug fix in pw script"
This reverts commit 3363a7b995.
2010-08-16 17:13:53 +02:00
Carsten Dominik 3363a7b995 Bug fix in pw script 2010-08-16 12:44:59 +02:00
Carsten Dominik 1f17384792 pw: Initialize comment_str 2010-08-13 22:33:14 +02:00
Bastien Guerry 788f562168 Fix typo in UTILITIES/pw.
s/Maintaner/Maintainer/g
2010-08-12 12:17:31 +02:00
Carsten Dominik 2072def1b9 Fix lower-case bug in pw script 2010-08-02 08:19:52 +02:00
Carsten Dominik 918280ec26 Update usage message of pw script 2010-07-20 14:49:15 +02:00
Carsten Dominik d2e7f9b11a Update pw script to send better email notifications
The workflow is now:

$ pw branch NNN

  To create a branch with patch numb er NNN

$ git commit --amend

  To check and modify the commit message where necessary

$ pw merge -m "Comment for notification email" NNN

  To merge that branch.  The -m comment will be added to the
  notification email that is sent to the mailing list.

The -m comment can also be given to the update command,if the update
sends an email:

$ pw update -s "changes requested" -m "comment for email" NNN
2010-07-20 14:43:11 +02:00
Carsten Dominik 78ef1ed410 Fix manual and guide tools to remove broken links 2010-07-19 19:00:24 +02:00
Carsten Dominik 2708579dc6 Make setversion.pl also change the version number of the guide 2010-07-19 13:31:14 +02:00
Carsten Dominik a760c250a5 New option -o for setversion script 2010-07-19 08:21:12 +02:00
Carsten Dominik b01660fd51 Fix make_emacs_changelog to include mentioning of tiny changes 2010-07-12 11:57:08 +02:00
Carsten Dominik fb29271143 Add `show' command to pw, same `view' 2010-07-08 19:24:52 +02:00
Carsten Dominik a11ee296f5 Add script to create ChangeLog for Emacs 2010-07-07 08:44:48 +02:00
Carsten Dominik 28731855f7 Update git-changelog by John Wiegley 2010-07-07 08:37:11 +02:00
Carsten Dominik 3b5351c7da Fix bug in pw 2010-07-02 10:07:15 +02:00
Carsten Dominik fb2a1c36c1 Install John Wiegleys new pw script 2010-07-02 05:51:56 +02:00
Carsten Dominik 115a2d1c95 Prepare the html manual and guide generation for release 7
There is a new chapter in both manual and guide, this needs to be
reflected in the content links.
2010-07-01 18:21:02 +02:00
Carsten Dominik 548b6f6105 Add new utilities 2010-06-26 06:24:58 +02:00
Carsten Dominik c069b7c5c6 Make update of ascii refcard auomatic 2010-05-12 16:22:06 +02:00
Carsten Dominik c38d101fff New compact Org-mode guide 2010-05-01 07:42:54 +02:00
James TD Smith 0410d6460c Add an X11 equivalent to org-mac-idle-seconds.
This needs a small C program (in UTILITIES/x11idle.c) to work.
2009-10-22 15:09:34 +02:00
Carsten Dominik 5ed87b2b95 Restructure Manual
The reorganizes parts of the manual.  The Archiving stuff has been
moved into the new chapter "Capture-Refile-Archive".  Also, there is a
new chapter "Markup" to contains both the markup rules (moved there
from the Export chapter) and the embedded LaTeX stuff.
2009-10-04 10:12:23 +02:00
Carsten Dominik a2d0dc50af Update short contents for the web manual 2009-10-01 08:59:22 +02:00