--- org-orig.el 2006-05-09 10:51:58.000000000 +0300 +++ org.el 2006-05-09 10:48:33.000000000 +0300 @@ -2394,11 +2394,32 @@ The following commands are available: \\{org-mode-map}" + + ;; Get rid of Outline menus, they are not needed + ;; Need to do this here because define-derived-mode sets up + ;; the keymap so late. + (if (featurep 'xemacs) + (progn + (if org-noutline-p + (progn + (easy-menu-remove outline-mode-menu-heading) + (easy-menu-remove outline-mode-menu-show) + (easy-menu-remove outline-mode-menu-hide)) + (delete-menu-item '("Headings")) + (delete-menu-item '("Show")) + (delete-menu-item '("Hide")) + (set-menubar-dirty-flag))) + (define-key org-mode-map [menu-bar headings] 'undefined) + (define-key org-mode-map [menu-bar hide] 'undefined) + (define-key org-mode-map [menu-bar show] 'undefined)) + (easy-menu-add org-org-menu) (easy-menu-add org-tbl-menu) (org-install-agenda-files-menu) (if org-descriptive-links (org-add-to-invisibility-spec '(org-link))) (org-add-to-invisibility-spec '(org-cwidth)) + (when (featurep 'xemacs) + (set (make-local-variable 'line-move-ignore-invisible) t)) (setq outline-regexp "\\*+") ;;(setq outline-regexp "\\(?:\\*+\\|[ \t]*\\(?:[-+*]\\|[0-9]+[.)]\\) \\)") (setq outline-level 'org-outline-level) @@ -2427,19 +2448,7 @@ (= (point-min) (point-max))) (insert " -*- mode: org -*-\n\n")) - ;; Get rid of Outline menus, they are not needed - ;; Need to do this here because define-derived-mode sets up - ;; the keymap so late. - (if (featurep 'xemacs) - (progn - (delete-menu-item '("Headings")) - (delete-menu-item '("Show")) - (delete-menu-item '("Hide")) - (set-menubar-dirty-flag)) - (define-key org-mode-map [menu-bar headings] 'undefined) - (define-key org-mode-map [menu-bar hide] 'undefined) - (define-key org-mode-map [menu-bar show] 'undefined)) - + (unless org-inhibit-startup (if org-startup-align-all-tables (org-table-map-tables 'org-table-align)) @@ -2926,7 +2935,8 @@ (get-char-property (1- (point)) 'invisible)) (beginning-of-line 2)) (setq eol (point))) (outline-end-of-heading) (setq eoh (point)) - (org-end-of-subtree t) (setq eos (point)) + ;;(org-end-of-subtree t) (setq eos (point)) + (outline-end-of-subtree) (setq eos (point)) (outline-next-heading)) ;; Find out what to do next and set `this-command' (cond @@ -3190,7 +3200,9 @@ (org-insert-heading) (save-excursion (org-back-to-heading) - (outline-previous-heading) + (if org-noutline-p + (outline-previous-heading) + (outline-previous-visible-heading 1)) (looking-at org-todo-line-regexp)) (if (or arg (not (match-beginning 2)) @@ -7917,9 +7929,9 @@ (set-window-configuration org-window-config-before-follow-link) (save-excursion (set-buffer b) (goto-char p) (bibtex-url))) - (recenter 0))) ; Move entry start to beginning of window + (recenter 0)) ; Move entry start to beginning of window ;; return t to indicate that the search is done. - t) + t)) ;; Finally add the functions to the right hooks. (add-hook 'org-create-file-search-functions 'org-create-file-search-in-bibtex) @@ -10403,7 +10415,8 @@ (unless x (error "Invalid field specifier \"%s\"" (match-string 0 form))) (if (equal x "") (setq x "0")) - (setq form (replace-match (concat "(" x ")") t t form))) + ;;(setq form (replace-match (concat "(" x ")") t t form))) + (setq form (replace-match x t t form))) ;; Insert ranges in current column (while (string-match "\\&[-I0-9]+" form) (setq form (replace-match @@ -10411,8 +10424,10 @@ (org-table-get-vertical-vector (match-string 0 form) nil n0)) t t form))) - (setq ev (calc-eval (cons form modes) - (if org-table-formula-numbers-only 'num))) + (if (string-match "^'(.*)$" form) + (setq ev (eval (eval (read form)))) + (setq ev (calc-eval (cons form modes) + (if org-table-formula-numbers-only 'num)))) (when org-table-formula-debug (with-output-to-temp-buffer "*Help*" @@ -12999,6 +13014,9 @@ (define-key org-mode-map "\C-c\C-x\M-w" 'org-copy-special) (define-key org-mode-map "\C-c\C-x\C-y" 'org-paste-special) +(when (featurep 'xemacs) + (define-key org-mode-map 'button3 'popup-mode-menu)) + (defsubst org-table-p () (org-at-table-p)) (defun org-self-insert-command (N) @@ -13772,7 +13790,8 @@ Only visible heading lines are considered, unless INVISIBLE-OK is non-nil." (if org-noutline-p (outline-back-to-heading invisible-ok) - (if (and (memq (char-before) '(?\n ?\r)) + (if (and (or (memq (char-before) '(?\n ?\r)) + (point-min)) (looking-at outline-regexp)) t (if (re-search-backward (concat (if invisible-ok "\\([\r\n]\\|^\\)" "^") @@ -13899,7 +13918,7 @@ (save-excursion (org-back-to-heading t) (outline-flag-region - (1- (point)) + (max 1 (1- (point))) (save-excursion (re-search-forward (concat "[\r\n]\\(" outline-regexp "\\)") nil 'move) (or (match-beginning 1) (point-max)))