Browse Source

Fix org menu initialization

* lisp/org-mobile.el: Add mobile commands to org menu.

* lisp/org-refile.el: Add refile commands to org menu.

* lisp/org.el (org-mode): Remove `org-menu-define'.
(org-org-menu): Delete.
Bastien 1 year ago
parent
commit
b694c2fd7a
3 changed files with 266 additions and 266 deletions
  1. 11 0
      lisp/org-mobile.el
  2. 7 0
      lisp/org-refile.el
  3. 248 266
      lisp/org.el

+ 11 - 0
lisp/org-mobile.el

@@ -258,6 +258,17 @@ the old and new values for the entry.")
 (defvar org-mobile-files-alist nil)
 (defvar org-mobile-checksum-files nil)
 
+;; Add org mobile commands to the main org menu
+(easy-menu-add-item
+ org-org-menu
+ nil
+ '("MobileOrg"
+   ["Push Files and Views" org-mobile-push t]
+   ["Get Captured and Flagged" org-mobile-pull t]
+   ["Find FLAGGED Tasks" (org-agenda nil "?") :active t :keys "\\[org-agenda] ?"]
+   "--"
+   ["Setup" (customize-group 'org-mobile) t]))
+
 (defun org-mobile-prepare-file-lists ()
   (setq org-mobile-files-alist (org-mobile-files-alist))
   (setq org-mobile-checksum-files nil))

+ 7 - 0
lisp/org-refile.el

@@ -244,6 +244,13 @@ converted to a headline before refiling."
 (defvar org-refile-markers nil
   "All the markers used for caching refile locations.")
 
+;; Add org refile commands to the main org menu
+(mapc (lambda (i) (easy-menu-add-item
+		   org-org-menu
+		   '("Edit Structure") i))
+      '(["Refile Subtree" org-refile (org-in-subtree-not-table-p)]
+	["Refile and copy Subtree" org-copy (org-in-subtree-not-table-p)]))
+
 (defun org-refile-marker (pos)
   "Get a new refile marker, but only if caching is in use."
   (if (not org-refile-use-cache)

+ 248 - 266
lisp/org.el

@@ -4645,9 +4645,7 @@ This is for getting out of special buffers like capture.")
 (autoload 'easy-menu-add "easymenu")
 (require 'overlay)
 
-;; (require 'org-macs) moved higher up in the file before it is first used
 (require 'org-entities)
-;; (require 'org-compat) moved higher up in the file before it is first used
 (require 'org-faces)
 (require 'org-list)
 (require 'org-pcomplete)
@@ -4797,8 +4795,6 @@ The following commands are available:
   ;; Activate `org-table-header-line-mode'
   (when org-table-header-line-p
     (org-table-header-line-mode 1))
-  ;; Set up Org menus
-  (org-menu-define)
   ;; Try to set `org-hide' face correctly.
   (let ((foreground (org-find-invisible-foreground)))
     (when foreground
@@ -17637,268 +17633,254 @@ an argument, unconditionally call `org-insert-heading'."
        (not (org-at-table-p))))
 
 ;; Define the Org mode menus
-(defun org-menu-define ()
-  "Define Org mode menus"
-  (easy-menu-define org-org-menu org-mode-map "Org menu"
-    `("Org"
-      ("Show/Hide"
-       ["Cycle Visibility" org-cycle :active (or (bobp) (outline-on-heading-p))]
-       ["Cycle Global Visibility" org-shifttab :active (not (org-at-table-p))]
-       ["Sparse Tree..." org-sparse-tree t]
-       ["Reveal Context" org-reveal t]
-       ["Show All" org-show-all t]
-       "--"
-       ["Subtree to indirect buffer" org-tree-to-indirect-buffer t])
-      "--"
-      ["New Heading" org-insert-heading t]
-      ("Navigate Headings"
-       ["Up" outline-up-heading t]
-       ["Next" outline-next-visible-heading t]
-       ["Previous" outline-previous-visible-heading t]
-       ["Next Same Level" outline-forward-same-level t]
-       ["Previous Same Level" outline-backward-same-level t]
-       "--"
-       ["Jump" org-goto t])
-      ("Edit Structure"
-       ,@(when (featurep 'org-refile)
-	   '(["Refile Subtree" org-refile (org-in-subtree-not-table-p)]
-	     ["Refile and copy Subtree" org-copy (org-in-subtree-not-table-p)]
-	     "--"))
-       ["Move Subtree Up" org-metaup (org-at-heading-p)]
-       ["Move Subtree Down" org-metadown (org-at-heading-p)]
-       "--"
-       ["Copy Subtree"  org-copy-special (org-in-subtree-not-table-p)]
-       ["Cut Subtree"  org-cut-special (org-in-subtree-not-table-p)]
-       ["Paste Subtree"  org-paste-special (not (org-at-table-p))]
-       "--"
-       ["Clone subtree, shift time" org-clone-subtree-with-time-shift t]
-       "--"
-       ["Copy visible text"  org-copy-visible t]
-       "--"
-       ["Promote Heading" org-metaleft (org-in-subtree-not-table-p)]
-       ["Promote Subtree" org-shiftmetaleft (org-in-subtree-not-table-p)]
-       ["Demote Heading"  org-metaright (org-in-subtree-not-table-p)]
-       ["Demote Subtree"  org-shiftmetaright (org-in-subtree-not-table-p)]
-       "--"
-       ["Sort Region/Children" org-sort t]
-       "--"
-       ["Convert to odd levels" org-convert-to-odd-levels t]
-       ["Convert to odd/even levels" org-convert-to-oddeven-levels t])
-      ("Editing"
-       ["Emphasis..." org-emphasize t]
-       ["Edit Source Example" org-edit-special t]
-       "--"
-       ["Footnote new/jump" org-footnote-action t]
-       ["Footnote extra" (org-footnote-action t) :active t :keys "C-u C-c C-x f"])
-      ("Archive"
-       ["Archive (default method)" org-archive-subtree-default (org-in-subtree-not-table-p)]
-       "--"
-       ["Move Subtree to Archive file" org-archive-subtree (org-in-subtree-not-table-p)]
-       ["Toggle ARCHIVE tag" org-toggle-archive-tag (org-in-subtree-not-table-p)]
-       ["Move subtree to Archive sibling" org-archive-to-archive-sibling (org-in-subtree-not-table-p)]
-       )
-      "--"
-      ("Hyperlinks"
-       ["Store Link (Global)" org-store-link t]
-       ["Find existing link to here" org-occur-link-in-agenda-files t]
-       ["Insert Link" org-insert-link t]
-       ["Follow Link" org-open-at-point t]
-       "--"
-       ["Next link" org-next-link t]
-       ["Previous link" org-previous-link t]
-       "--"
-       ["Descriptive Links"
-	org-toggle-link-display
-	:style radio
-	:selected org-descriptive-links
-	]
-       ["Literal Links"
-	org-toggle-link-display
-	:style radio
-	:selected (not org-descriptive-links)])
-      "--"
-      ("TODO Lists"
-       ["TODO/DONE/-" org-todo t]
-       ("Select keyword"
-	["Next keyword" org-shiftright (org-at-heading-p)]
-	["Previous keyword" org-shiftleft (org-at-heading-p)]
-	["Complete Keyword" pcomplete (assq :todo-keyword (org-context))]
-	["Next keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-at-heading-p))]
-	["Previous keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-at-heading-p))])
-       ["Show TODO Tree" org-show-todo-tree :active t :keys "C-c / t"]
-       ["Global TODO list" org-todo-list :active t :keys "\\[org-agenda] t"]
-       "--"
-       ["Enforce dependencies" (customize-variable 'org-enforce-todo-dependencies)
-	:selected org-enforce-todo-dependencies :style toggle :active t]
-       "Settings for tree at point"
-       ["Do Children sequentially" org-toggle-ordered-property :style radio
-	:selected (org-entry-get nil "ORDERED")
-	:active org-enforce-todo-dependencies :keys "C-c C-x o"]
-       ["Do Children parallel" org-toggle-ordered-property :style radio
-	:selected (not (org-entry-get nil "ORDERED"))
-	:active org-enforce-todo-dependencies :keys "C-c C-x o"]
-       "--"
-       ["Set Priority" org-priority t]
-       ["Priority Up" org-shiftup t]
-       ["Priority Down" org-shiftdown t]
-       "--"
-       ["Get news from all feeds" org-feed-update-all t]
-       ["Go to the inbox of a feed..." org-feed-goto-inbox t]
-       ["Customize feeds" (customize-variable 'org-feed-alist) t])
-      ("TAGS and Properties"
-       ["Set Tags" org-set-tags-command (not (org-before-first-heading-p))]
-       ["Change tag in region" org-change-tag-in-region (org-region-active-p)]
-       "--"
-       ["Set property" org-set-property (not (org-before-first-heading-p))]
-       ["Column view of properties" org-columns t]
-       ["Insert Column View DBlock" org-columns-insert-dblock t])
-      ("Dates and Scheduling"
-       ["Timestamp" org-time-stamp (not (org-before-first-heading-p))]
-       ["Timestamp (inactive)" org-time-stamp-inactive (not (org-before-first-heading-p))]
-       ("Change Date"
-	["1 Day Later" org-shiftright (org-at-timestamp-p 'lax)]
-	["1 Day Earlier" org-shiftleft (org-at-timestamp-p 'lax)]
-	["1 ... Later" org-shiftup (org-at-timestamp-p 'lax)]
-	["1 ... Earlier" org-shiftdown (org-at-timestamp-p 'lax)])
-       ["Compute Time Range" org-evaluate-time-range t]
-       ["Schedule Item" org-schedule (not (org-before-first-heading-p))]
-       ["Deadline" org-deadline (not (org-before-first-heading-p))]
-       "--"
-       ["Custom time format" org-toggle-time-stamp-overlays
-	:style radio :selected org-display-custom-times]
-       "--"
-       ["Goto Calendar" org-goto-calendar t]
-       ["Date from Calendar" org-date-from-calendar t]
-       "--"
-       ["Start/Restart Timer" org-timer-start t]
-       ["Pause/Continue Timer" org-timer-pause-or-continue t]
-       ["Stop Timer" org-timer-pause-or-continue :active t :keys "C-u C-c C-x ,"]
-       ["Insert Timer String" org-timer t]
-       ["Insert Timer Item" org-timer-item t])
-      ("Logging work"
-       ["Clock in" org-clock-in :active t :keys "C-c C-x C-i"]
-       ["Switch task" (lambda () (interactive) (org-clock-in '(4))) :active t :keys "C-u C-c C-x C-i"]
-       ["Clock out" org-clock-out t]
-       ["Clock cancel" org-clock-cancel t]
-       "--"
-       ["Mark as default task" org-clock-mark-default-task t]
-       ["Clock in, mark as default" (lambda () (interactive) (org-clock-in '(16))) :active t :keys "C-u C-u C-c C-x C-i"]
-       ["Goto running clock" org-clock-goto t]
-       "--"
-       ["Display times" org-clock-display t]
-       ["Create clock table" org-clock-report t]
-       "--"
-       ["Record DONE time"
-	(progn (setq org-log-done (not org-log-done))
-	       (message "Switching to %s will %s record a timestamp"
-			(car org-done-keywords)
-			(if org-log-done "automatically" "not")))
-	:style toggle :selected org-log-done])
-      "--"
-      ["Agenda Command..." org-agenda t]
-      ["Set Restriction Lock" org-agenda-set-restriction-lock t]
-      ("File List for Agenda")
-      ("Special views current file"
-       ["TODO Tree"  org-show-todo-tree t]
-       ["Check Deadlines" org-check-deadlines t]
-       ["Tags/Property tree" org-match-sparse-tree t])
-      "--"
-      ["Export/Publish..." org-export-dispatch t]
-      ("LaTeX"
-       ["Org CDLaTeX mode" org-cdlatex-mode :active (require 'cdlatex nil t)
-	:style toggle :selected org-cdlatex-mode]
-       ["Insert Environment" cdlatex-environment (fboundp 'cdlatex-environment)]
-       ["Insert math symbol" cdlatex-math-symbol (fboundp 'cdlatex-math-symbol)]
-       ["Modify math symbol" org-cdlatex-math-modify
-	(org-inside-LaTeX-fragment-p)]
-       ["Insert citation" org-reftex-citation t])
-      "--"
-      ,@(when (featurep 'org-mobile)
-	  '(("MobileOrg"
-	     ["Push Files and Views" org-mobile-push t]
-	     ["Get Captured and Flagged" org-mobile-pull t]
-	     ["Find FLAGGED Tasks" (org-agenda nil "?") :active t :keys "\\[org-agenda] ?"]
-	     "--"
-	     ["Setup" (customize-group 'org-mobile) t])
-	    "--"))
-      ("Documentation"
-       ["Show Version" org-version t]
-       ["Info Documentation" org-info t]
-       ["Browse Org News" org-browse-news t])
-      ("Customize"
-       ["Browse Org Group" org-customize t]
-       "--"
-       ["Expand This Menu" org-create-customize-menu
-	(fboundp 'customize-menu-create)])
-      ["Send bug report" org-submit-bug-report t]
-      "--"
-      ("Refresh/Reload"
-       ["Refresh setup current buffer" org-mode-restart t]
-       ["Reload Org (after update)" org-reload t]
-       ["Reload Org uncompiled" (org-reload t) :active t :keys "C-u C-c C-x !"])))
-  (easy-menu-define org-tbl-menu org-mode-map "Org Table menu"
-    '("Table"
-      ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p)]
-      ["Next Field" org-cycle (org-at-table-p)]
-      ["Previous Field" org-shifttab (org-at-table-p)]
-      ["Next Row" org-return (org-at-table-p)]
-      "--"
-      ["Blank Field" org-table-blank-field (org-at-table-p)]
-      ["Edit Field" org-table-edit-field (org-at-table-p)]
-      ["Copy Field from Above" org-table-copy-down (org-at-table-p)]
-      "--"
-      ("Column"
-       ["Move Column Left" org-metaleft (org-at-table-p)]
-       ["Move Column Right" org-metaright (org-at-table-p)]
-       ["Delete Column" org-shiftmetaleft (org-at-table-p)]
-       ["Insert Column" org-shiftmetaright (org-at-table-p)]
-       ["Shrink Column" org-table-toggle-column-width (org-at-table-p)])
-      ("Row"
-       ["Move Row Up" org-metaup (org-at-table-p)]
-       ["Move Row Down" org-metadown (org-at-table-p)]
-       ["Delete Row" org-shiftmetaup (org-at-table-p)]
-       ["Insert Row" org-shiftmetadown (org-at-table-p)]
-       ["Sort lines in region" org-table-sort-lines (org-at-table-p)]
-       "--"
-       ["Insert Hline" org-ctrl-c-minus (org-at-table-p)])
-      ("Rectangle"
-       ["Copy Rectangle" org-copy-special (org-at-table-p)]
-       ["Cut Rectangle" org-cut-special (org-at-table-p)]
-       ["Paste Rectangle" org-paste-special (org-at-table-p)]
-       ["Fill Rectangle" org-table-wrap-region (org-at-table-p)])
-      "--"
-      ("Calculate"
-       ["Set Column Formula" org-table-eval-formula (org-at-table-p)]
-       ["Set Field Formula" (org-table-eval-formula '(4)) :active (org-at-table-p) :keys "C-u C-c ="]
-       ["Edit Formulas" org-edit-special (org-at-table-p)]
-       "--"
-       ["Recalculate line" org-table-recalculate (org-at-table-p)]
-       ["Recalculate all" (lambda () (interactive) (org-table-recalculate '(4))) :active (org-at-table-p) :keys "C-u C-c *"]
-       ["Iterate all" (lambda () (interactive) (org-table-recalculate '(16))) :active (org-at-table-p) :keys "C-u C-u C-c *"]
-       "--"
-       ["Toggle Recalculate Mark" org-table-rotate-recalc-marks (org-at-table-p)]
-       "--"
-       ["Sum Column/Rectangle" org-table-sum
-	(or (org-at-table-p) (org-region-active-p))]
-       ["Which Column?" org-table-current-column (org-at-table-p)])
-      ["Debug Formulas"
-       org-table-toggle-formula-debugger
-       :style toggle :selected (bound-and-true-p org-table-formula-debug)]
-      ["Show Col/Row Numbers"
-       org-table-toggle-coordinate-overlays
-       :style toggle
-       :selected (bound-and-true-p org-table-overlay-coordinates)]
-      "--"
-      ["Create" org-table-create (not (org-at-table-p))]
-      ["Convert Region" org-table-convert-region (not (org-at-table-p 'any))]
-      ["Import from File" org-table-import (not (org-at-table-p))]
-      ["Export to File" org-table-export (org-at-table-p)]
-      "--"
-      ["Create/Convert from/to table.el" org-table-create-with-table.el t]
-      "--"
-      ("Plot"
-       ["Ascii plot" orgtbl-ascii-plot :active (org-at-table-p) :keys "C-c \" a"]
-       ["Gnuplot" org-plot/gnuplot :active (org-at-table-p) :keys "C-c \" g"]))))
+(easy-menu-define org-org-menu org-mode-map "Org menu"
+  `("Org"
+    ("Show/Hide"
+     ["Cycle Visibility" org-cycle :active (or (bobp) (outline-on-heading-p))]
+     ["Cycle Global Visibility" org-shifttab :active (not (org-at-table-p))]
+     ["Sparse Tree..." org-sparse-tree t]
+     ["Reveal Context" org-reveal t]
+     ["Show All" org-show-all t]
+     "--"
+     ["Subtree to indirect buffer" org-tree-to-indirect-buffer t])
+    "--"
+    ["New Heading" org-insert-heading t]
+    ("Navigate Headings"
+     ["Up" outline-up-heading t]
+     ["Next" outline-next-visible-heading t]
+     ["Previous" outline-previous-visible-heading t]
+     ["Next Same Level" outline-forward-same-level t]
+     ["Previous Same Level" outline-backward-same-level t]
+     "--"
+     ["Jump" org-goto t])
+    ("Edit Structure"
+     ["Move Subtree Up" org-metaup (org-at-heading-p)]
+     ["Move Subtree Down" org-metadown (org-at-heading-p)]
+     "--"
+     ["Copy Subtree"  org-copy-special (org-in-subtree-not-table-p)]
+     ["Cut Subtree"  org-cut-special (org-in-subtree-not-table-p)]
+     ["Paste Subtree"  org-paste-special (not (org-at-table-p))]
+     "--"
+     ["Clone subtree, shift time" org-clone-subtree-with-time-shift t]
+     "--"
+     ["Copy visible text"  org-copy-visible t]
+     "--"
+     ["Promote Heading" org-metaleft (org-in-subtree-not-table-p)]
+     ["Promote Subtree" org-shiftmetaleft (org-in-subtree-not-table-p)]
+     ["Demote Heading"  org-metaright (org-in-subtree-not-table-p)]
+     ["Demote Subtree"  org-shiftmetaright (org-in-subtree-not-table-p)]
+     "--"
+     ["Sort Region/Children" org-sort t]
+     "--"
+     ["Convert to odd levels" org-convert-to-odd-levels t]
+     ["Convert to odd/even levels" org-convert-to-oddeven-levels t])
+    ("Editing"
+     ["Emphasis..." org-emphasize t]
+     ["Edit Source Example" org-edit-special t]
+     "--"
+     ["Footnote new/jump" org-footnote-action t]
+     ["Footnote extra" (org-footnote-action t) :active t :keys "C-u C-c C-x f"])
+    ("Archive"
+     ["Archive (default method)" org-archive-subtree-default (org-in-subtree-not-table-p)]
+     "--"
+     ["Move Subtree to Archive file" org-archive-subtree (org-in-subtree-not-table-p)]
+     ["Toggle ARCHIVE tag" org-toggle-archive-tag (org-in-subtree-not-table-p)]
+     ["Move subtree to Archive sibling" org-archive-to-archive-sibling (org-in-subtree-not-table-p)])
+    "--"
+    ("Hyperlinks"
+     ["Store Link (Global)" org-store-link t]
+     ["Find existing link to here" org-occur-link-in-agenda-files t]
+     ["Insert Link" org-insert-link t]
+     ["Follow Link" org-open-at-point t]
+     "--"
+     ["Next link" org-next-link t]
+     ["Previous link" org-previous-link t]
+     "--"
+     ["Descriptive Links"
+      org-toggle-link-display
+      :style radio
+      :selected org-descriptive-links
+      ]
+     ["Literal Links"
+      org-toggle-link-display
+      :style radio
+      :selected (not org-descriptive-links)])
+    "--"
+    ("TODO Lists"
+     ["TODO/DONE/-" org-todo t]
+     ("Select keyword"
+      ["Next keyword" org-shiftright (org-at-heading-p)]
+      ["Previous keyword" org-shiftleft (org-at-heading-p)]
+      ["Complete Keyword" pcomplete (assq :todo-keyword (org-context))]
+      ["Next keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-at-heading-p))]
+      ["Previous keyword set" org-shiftcontrolright (and (> (length org-todo-sets) 1) (org-at-heading-p))])
+     ["Show TODO Tree" org-show-todo-tree :active t :keys "C-c / t"]
+     ["Global TODO list" org-todo-list :active t :keys "\\[org-agenda] t"]
+     "--"
+     ["Enforce dependencies" (customize-variable 'org-enforce-todo-dependencies)
+      :selected org-enforce-todo-dependencies :style toggle :active t]
+     "Settings for tree at point"
+     ["Do Children sequentially" org-toggle-ordered-property :style radio
+      :selected (org-entry-get nil "ORDERED")
+      :active org-enforce-todo-dependencies :keys "C-c C-x o"]
+     ["Do Children parallel" org-toggle-ordered-property :style radio
+      :selected (not (org-entry-get nil "ORDERED"))
+      :active org-enforce-todo-dependencies :keys "C-c C-x o"]
+     "--"
+     ["Set Priority" org-priority t]
+     ["Priority Up" org-shiftup t]
+     ["Priority Down" org-shiftdown t]
+     "--"
+     ["Get news from all feeds" org-feed-update-all t]
+     ["Go to the inbox of a feed..." org-feed-goto-inbox t]
+     ["Customize feeds" (customize-variable 'org-feed-alist) t])
+    ("TAGS and Properties"
+     ["Set Tags" org-set-tags-command (not (org-before-first-heading-p))]
+     ["Change tag in region" org-change-tag-in-region (org-region-active-p)]
+     "--"
+     ["Set property" org-set-property (not (org-before-first-heading-p))]
+     ["Column view of properties" org-columns t]
+     ["Insert Column View DBlock" org-columns-insert-dblock t])
+    ("Dates and Scheduling"
+     ["Timestamp" org-time-stamp (not (org-before-first-heading-p))]
+     ["Timestamp (inactive)" org-time-stamp-inactive (not (org-before-first-heading-p))]
+     ("Change Date"
+      ["1 Day Later" org-shiftright (org-at-timestamp-p 'lax)]
+      ["1 Day Earlier" org-shiftleft (org-at-timestamp-p 'lax)]
+      ["1 ... Later" org-shiftup (org-at-timestamp-p 'lax)]
+      ["1 ... Earlier" org-shiftdown (org-at-timestamp-p 'lax)])
+     ["Compute Time Range" org-evaluate-time-range t]
+     ["Schedule Item" org-schedule (not (org-before-first-heading-p))]
+     ["Deadline" org-deadline (not (org-before-first-heading-p))]
+     "--"
+     ["Custom time format" org-toggle-time-stamp-overlays
+      :style radio :selected org-display-custom-times]
+     "--"
+     ["Goto Calendar" org-goto-calendar t]
+     ["Date from Calendar" org-date-from-calendar t]
+     "--"
+     ["Start/Restart Timer" org-timer-start t]
+     ["Pause/Continue Timer" org-timer-pause-or-continue t]
+     ["Stop Timer" org-timer-pause-or-continue :active t :keys "C-u C-c C-x ,"]
+     ["Insert Timer String" org-timer t]
+     ["Insert Timer Item" org-timer-item t])
+    ("Logging work"
+     ["Clock in" org-clock-in :active t :keys "C-c C-x C-i"]
+     ["Switch task" (lambda () (interactive) (org-clock-in '(4))) :active t :keys "C-u C-c C-x C-i"]
+     ["Clock out" org-clock-out t]
+     ["Clock cancel" org-clock-cancel t]
+     "--"
+     ["Mark as default task" org-clock-mark-default-task t]
+     ["Clock in, mark as default" (lambda () (interactive) (org-clock-in '(16))) :active t :keys "C-u C-u C-c C-x C-i"]
+     ["Goto running clock" org-clock-goto t]
+     "--"
+     ["Display times" org-clock-display t]
+     ["Create clock table" org-clock-report t]
+     "--"
+     ["Record DONE time"
+      (progn (setq org-log-done (not org-log-done))
+	     (message "Switching to %s will %s record a timestamp"
+		      (car org-done-keywords)
+		      (if org-log-done "automatically" "not")))
+      :style toggle :selected org-log-done])
+    "--"
+    ["Agenda Command..." org-agenda t]
+    ["Set Restriction Lock" org-agenda-set-restriction-lock t]
+    ("File List for Agenda")
+    ("Special views current file"
+     ["TODO Tree"  org-show-todo-tree t]
+     ["Check Deadlines" org-check-deadlines t]
+     ["Tags/Property tree" org-match-sparse-tree t])
+    "--"
+    ["Export/Publish..." org-export-dispatch t]
+    ("LaTeX"
+     ["Org CDLaTeX mode" org-cdlatex-mode :active (require 'cdlatex nil t)
+      :style toggle :selected org-cdlatex-mode]
+     ["Insert Environment" cdlatex-environment (fboundp 'cdlatex-environment)]
+     ["Insert math symbol" cdlatex-math-symbol (fboundp 'cdlatex-math-symbol)]
+     ["Modify math symbol" org-cdlatex-math-modify
+      (org-inside-LaTeX-fragment-p)]
+     ["Insert citation" org-reftex-citation t])
+    "--"
+    ("Documentation"
+     ["Show Version" org-version t]
+     ["Info Documentation" org-info t]
+     ["Browse Org News" org-browse-news t])
+    ("Customize"
+     ["Browse Org Group" org-customize t]
+     "--"
+     ["Expand This Menu" org-create-customize-menu
+      (fboundp 'customize-menu-create)])
+    ["Send bug report" org-submit-bug-report t]
+    "--"
+    ("Refresh/Reload"
+     ["Refresh setup current buffer" org-mode-restart t]
+     ["Reload Org (after update)" org-reload t]
+     ["Reload Org uncompiled" (org-reload t) :active t :keys "C-u C-c C-x !"])))
+
+(easy-menu-define org-tbl-menu org-mode-map "Org Table menu"
+  '("Table"
+    ["Align" org-ctrl-c-ctrl-c :active (org-at-table-p)]
+    ["Next Field" org-cycle (org-at-table-p)]
+    ["Previous Field" org-shifttab (org-at-table-p)]
+    ["Next Row" org-return (org-at-table-p)]
+    "--"
+    ["Blank Field" org-table-blank-field (org-at-table-p)]
+    ["Edit Field" org-table-edit-field (org-at-table-p)]
+    ["Copy Field from Above" org-table-copy-down (org-at-table-p)]
+    "--"
+    ("Column"
+     ["Move Column Left" org-metaleft (org-at-table-p)]
+     ["Move Column Right" org-metaright (org-at-table-p)]
+     ["Delete Column" org-shiftmetaleft (org-at-table-p)]
+     ["Insert Column" org-shiftmetaright (org-at-table-p)]
+     ["Shrink Column" org-table-toggle-column-width (org-at-table-p)])
+    ("Row"
+     ["Move Row Up" org-metaup (org-at-table-p)]
+     ["Move Row Down" org-metadown (org-at-table-p)]
+     ["Delete Row" org-shiftmetaup (org-at-table-p)]
+     ["Insert Row" org-shiftmetadown (org-at-table-p)]
+     ["Sort lines in region" org-table-sort-lines (org-at-table-p)]
+     "--"
+     ["Insert Hline" org-ctrl-c-minus (org-at-table-p)])
+    ("Rectangle"
+     ["Copy Rectangle" org-copy-special (org-at-table-p)]
+     ["Cut Rectangle" org-cut-special (org-at-table-p)]
+     ["Paste Rectangle" org-paste-special (org-at-table-p)]
+     ["Fill Rectangle" org-table-wrap-region (org-at-table-p)])
+    "--"
+    ("Calculate"
+     ["Set Column Formula" org-table-eval-formula (org-at-table-p)]
+     ["Set Field Formula" (org-table-eval-formula '(4)) :active (org-at-table-p) :keys "C-u C-c ="]
+     ["Edit Formulas" org-edit-special (org-at-table-p)]
+     "--"
+     ["Recalculate line" org-table-recalculate (org-at-table-p)]
+     ["Recalculate all" (lambda () (interactive) (org-table-recalculate '(4))) :active (org-at-table-p) :keys "C-u C-c *"]
+     ["Iterate all" (lambda () (interactive) (org-table-recalculate '(16))) :active (org-at-table-p) :keys "C-u C-u C-c *"]
+     "--"
+     ["Toggle Recalculate Mark" org-table-rotate-recalc-marks (org-at-table-p)]
+     "--"
+     ["Sum Column/Rectangle" org-table-sum
+      (or (org-at-table-p) (org-region-active-p))]
+     ["Which Column?" org-table-current-column (org-at-table-p)])
+    ["Debug Formulas"
+     org-table-toggle-formula-debugger
+     :style toggle :selected (bound-and-true-p org-table-formula-debug)]
+    ["Show Col/Row Numbers"
+     org-table-toggle-coordinate-overlays
+     :style toggle
+     :selected (bound-and-true-p org-table-overlay-coordinates)]
+    "--"
+    ["Create" org-table-create (not (org-at-table-p))]
+    ["Convert Region" org-table-convert-region (not (org-at-table-p 'any))]
+    ["Import from File" org-table-import (not (org-at-table-p))]
+    ["Export to File" org-table-export (org-at-table-p)]
+    "--"
+    ["Create/Convert from/to table.el" org-table-create-with-table.el t]
+    "--"
+    ("Plot"
+     ["Ascii plot" orgtbl-ascii-plot :active (org-at-table-p) :keys "C-c \" a"]
+     ["Gnuplot" org-plot/gnuplot :active (org-at-table-p) :keys "C-c \" g"])))
 
 (defun org-info (&optional node)
   "Read documentation for Org in the info system.