From: chgreg692000@yahoo.com
To: emacs-orgmode@gnu.org
Subject: org-mode + xemacs + patch
Date: Tue, 09 May 2006 17:23:02 +0300 [thread overview]
Message-ID: <7uejz3tgzd.fsf@horizonsemi.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 697 bytes --]
Hi all,
I've started to use wonderful org-mode in xemacs and found couple of
minor bugs:
1. Cycling headline on first line of the buffer gives "Before first
heading" error.
2. org-insert-todo-heading uses outline-previous-heading that is not
defined in xemacs outline mode.
3. Popup menu still shows outline menu and not org-mode menu.
Attached patch (against org-mode 4.27) fixes these bugs and (hopefully)
don't break anything in emacs version.
Patch also contains addon/enhancement to table editor. Only thing i
missed for org-mode tables is to use plain elisp for formulas. I added
ugly hack to achieve this. Now i can use '(elisp expression) as
formula.
Regards,
Greg Chernov
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: org.xemacs.patch --]
[-- Type: text/x-patch, Size: 5167 bytes --]
--- 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)))
[-- Attachment #3: Type: text/plain, Size: 149 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
next reply other threads:[~2006-05-09 14:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-09 14:23 chgreg692000 [this message]
2006-05-09 14:58 ` org-mode + xemacs + patch Carsten Dominik
2006-05-10 7:40 ` chgreg692000
2006-05-11 9:44 ` Carsten Dominik
2006-05-10 10:49 ` Carsten Dominik
[not found] ` <7u3bfit8ov.fsf@horizonsemi.com>
2006-05-10 11:50 ` Carsten Dominik
2006-05-11 3:58 ` Carsten Dominik
2006-05-11 8:18 ` chgreg692000
2006-05-11 9:01 ` Carsten Dominik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7uejz3tgzd.fsf@horizonsemi.com \
--to=chgreg692000@yahoo.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.