summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Dominik <carsten.dominik@gmail.com>2009-01-01 09:49:25 +0100
committerCarsten Dominik <carsten.dominik@gmail.com>2009-01-01 09:54:13 +0100
commit75ca89400a79e12b2a5558c2418218822fff41f3 (patch)
tree7b917158776dd285b5fc3411921227351cd6e26e
parentdf07e0a4f35ad39a10ba1dbde7150df7495b6f97 (diff)
downloadorg-mode-75ca89400a79e12b2a5558c2418218822fff41f3.tar.gz
Utilities: New perl program to extract hooks
A new perl program, list-hooks.pl, now extracts the full list of hook and function variables in Org, for inclusion into Worg's org-hooks.org. Also, add a docstring to a few hooks that did not have one.
-rwxr-xr-xUTILITIES/list-hooks.pl32
-rw-r--r--lisp/org-agenda.el3
-rw-r--r--lisp/org.el3
3 files changed, 36 insertions, 2 deletions
diff --git a/UTILITIES/list-hooks.pl b/UTILITIES/list-hooks.pl
new file mode 100755
index 0000000..ffacd7c
--- /dev/null
+++ b/UTILITIES/list-hooks.pl
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+@files = glob("lisp/org-*.el");
+unshift @files,"lisp/org.el";
+
+print "* Hooks and Function variables\n\n";
+
+foreach $file (@files) {
+ ($file1 = $file) =~ s|.*/||;
+ open IN,"<$file" or die "Cannot open file $file\n";
+ while (<IN>) {
+ if (/^\((defvar|defcustom)\s+(org-.*?-(hook|functions?)\b)/) {
+ $deftype = $1;
+ $name = $2;
+ $_=<IN> while (not m/^\s*"/);
+ $doc = $_;
+ while (not m/(?<!\\)"\)?\s*$/) {
+ $_=<IN>;
+ $doc .=$_;
+ }
+ $doc =~ s/\A\s*"//;
+ $doc =~ s/"\)?\s*\Z//;
+ print "** =$name=\n";
+ print "Defined in: /$file1/\n";
+ print "#+begin_example\n";
+ @lines = split(/\n/,$doc);
+ @lines = map { $_ = " " . $_ } @lines;
+ $doc = join("\n",@lines);
+ print "$doc\n";
+ print "#+end_example\n";
+ }
+ }
+}
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 27615b2..4193f74 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -1057,7 +1057,8 @@ works you probably want to add it to `org-agenda-custom-commands' for good."
(defvar org-agenda-show-log nil)
(defvar org-agenda-redo-command nil)
(defvar org-agenda-query-string nil)
-(defvar org-agenda-mode-hook nil)
+(defvar org-agenda-mode-hook nil
+ "Hook for org-agenda-mode, run after the mode is turned on.")
(defvar org-agenda-type nil)
(defvar org-agenda-force-single-file nil)
diff --git a/lisp/org.el b/lisp/org.el
index df90e0b..c7d49bc 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -3364,7 +3364,8 @@ This variable is set by `org-before-change-function'.
"Every change indicates that a table might need an update."
(setq org-table-may-need-update t))
(defvar org-mode-map)
-(defvar org-mode-hook nil)
+(defvar org-mode-hook nil
+ "Mode hook for Org-mode, run after the mode was turned on.")
(defvar org-inhibit-startup nil) ; Dynamically-scoped param.
(defvar org-agenda-keep-modes nil) ; Dynamically-scoped param.
(defvar org-table-buffer-is-an nil)