emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Current patches to make org-mode run on XEmacs
@ 2011-08-31 18:12 Michael Sperber
  2011-08-31 18:25 ` Nicolas Goaziou
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Michael Sperber @ 2011-08-31 18:12 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 964 bytes --]


... are attached.  I've run with this for a few weeks now, and what I
use mostly works.  So I would appreciate if these could go into the git
repo.

Let me draw your attention to this hunk:

--- a/lisp/org.el
+++ b/lisp/org.el
@@ -7360,7 +7360,7 @@ would end up with no indentation after the change, nothing at all is done."
 	   col)
       (while (re-search-forward
 	      (concat "\\(" (regexp-opt org-all-time-keywords)
-		      "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
+		      "\\|" "^[ \t]*" org-tsr-regexp-both "$"
 		      "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
 		      "\\)") (or drawer-end end) t)
 	(beginning-of-line)

While I needed this to make the code run on XEmacs, it really looks like
a bug fix to me: The "*" that I deleted makes that part of the
disjunction match the empty string, and that makes
`org-fixup-indentation' loop infinitely.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

[-- Attachment #2: Type: text/plain, Size: 4821 bytes --]

diff --git a/lisp/ob-calc.el b/lisp/ob-calc.el
index 45d9441..b246636 100644
--- a/lisp/ob-calc.el
+++ b/lisp/ob-calc.el
@@ -28,8 +28,9 @@
 ;;; Code:
 (require 'ob)
 (require 'calc)
-(require 'calc-store)
-(unless (featurep 'xemacs) (require 'calc-trail))
+(unless (featurep 'xemacs) 
+  (require 'calc-trail)
+  (require 'calc-store))
 (eval-when-compile (require 'ob-comint))
 
 (defvar org-babel-default-header-args:calc nil
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index b1fa5f5..7e4da31 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4306,8 +4306,8 @@ of what a project is and how to check if it stuck, customize the variable
 			  "\\)\\>"))
 	 (tags (nth 2 org-stuck-projects))
 	 (tags-re (if (member "*" tags)
-		      (org-re (concat org-outline-regexp-bol
-				      ".*:[[:alnum:]_@#%]+:[ \t]*$"))
+		      (concat org-outline-regexp-bol
+			      (org-ref ".*:[[:alnum:]_@#%]+:[ \t]*$"))
 		    (if tags
 			(concat org-outline-regexp-bol
 				".*:\\("
diff --git a/lisp/org-compat.el b/lisp/org-compat.el
index 3e9c202..d093700 100644
--- a/lisp/org-compat.el
+++ b/lisp/org-compat.el
@@ -251,8 +251,11 @@ Works on both Emacs and XEmacs."
   (defun org-activate-mark ()
     (when (mark t)
       (setq mark-active t)
-      (unless transient-mark-mode
-	(setq transient-mark-mode 'lambda)))))
+      (when (and (boundp 'transient-mark-mode)
+		 (not transient-mark-mode))
+	(setq transient-mark-mode 'lambda))
+      (when (boundp 'zmacs-regions)
+	(setq zmacs-regions t)))))
 
 ;; Invisibility compatibility
 
diff --git a/lisp/org-exp.el b/lisp/org-exp.el
index f795fbd..43752ca 100644
--- a/lisp/org-exp.el
+++ b/lisp/org-exp.el
@@ -1028,7 +1028,8 @@ Pressing `1' will switch between these two options."
 		  (setq r1 (read-char-exclusive)))
 	      (error "No enclosing node with LaTeX_CLASS or EXPORT_TITLE or EXPORT_FILE_NAME")
 	      )))))
-    (redisplay)
+    (if (fboundp 'redisplay)
+	(redisplay))
     (and bpos (goto-char bpos))
     (setq r2 (if (< r1 27) (+ r1 96) r1))
     (unless (setq ass (assq r2 cmds))
diff --git a/lisp/org-footnote.el b/lisp/org-footnote.el
index 04389ef..a3bd9bf 100644
--- a/lisp/org-footnote.el
+++ b/lisp/org-footnote.el
@@ -70,13 +70,13 @@
   ;; their definition.
   ;;
   ;; `org-re' is used for regexp compatibility with XEmacs.
-  (org-re (concat "\\[\\(?:"
-		  ;; Match inline footnotes.
-		  "fn:\\([-_[:word:]]+\\)?:\\|"
-		  ;; Match other footnotes.
-		  "\\(?:\\([0-9]+\\)\\]\\)\\|"
-		  "\\(fn:[-_[:word:]]+\\)"
-		  "\\)"))
+  (concat (org-re "\\[\\(?:")
+	  ;; Match inline footnotes.
+	  (org-re "fn:\\([-_[:word:]]+\\)?:\\|")
+	  ;; Match other footnotes.
+	  (org-re "\\(?:\\([0-9]+\\)\\]\\)\\|")
+	  (org-re "\\(fn:[-_[:word:]]+\\)")
+	  (org-re "\\)"))
   "Regular expression for matching footnotes.")
 
 (defconst org-footnote-definition-re
@@ -265,10 +265,9 @@ label, start, end and definition of the footnote otherwise."
 				      (re-search-backward
 				       message-signature-separator nil t)))))
 		    (or (and (re-search-forward
-			      (org-re
-			       (concat org-outline-regexp-bol "\\|"
-				       org-footnote-definition-re "\\|"
-				       "^[ \t]*$"))
+			      (concat org-outline-regexp-bol "\\|"
+				      org-footnote-definition-re "\\|"
+				      "^[ \t]*$")
 			      bound 'move)
 			     (progn (skip-chars-forward " \t\n") (point-at-bol)))
 			(point))))
diff --git a/lisp/org.el b/lisp/org.el
index d63b854..e77b4af 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -7360,7 +7360,7 @@ would end up with no indentation after the change, nothing at all is done."
 	   col)
       (while (re-search-forward
 	      (concat "\\(" (regexp-opt org-all-time-keywords)
-		      "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
+		      "\\|" "^[ \t]*" org-tsr-regexp-both "$"
 		      "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
 		      "\\)") (or drawer-end end) t)
 	(beginning-of-line)
@@ -19662,10 +19662,11 @@ the functionality can be provided as a fall-back.")
   ;; through to `fill-paragraph' when appropriate.
   (org-set-local 'fill-paragraph-function 'org-fill-paragraph)
   ;; Prevent auto-fill from inserting unwanted new items.
-  (org-set-local 'fill-nobreak-predicate
-		 (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
-		     fill-nobreak-predicate
-		   (cons 'org-fill-item-nobreak-p fill-nobreak-predicate)))
+  (if (boundp 'fill-nobreak-predicate)
+      (org-set-local 'fill-nobreak-predicate
+		     (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
+			 fill-nobreak-predicate
+		       (cons 'org-fill-item-nobreak-p fill-nobreak-predicate))))
   ;; Adaptive filling: To get full control, first make sure that
   ;; `adaptive-fill-regexp' never matches.  Then install our own matcher.
   (unless (local-variable-p 'adaptive-fill-regexp (current-buffer))

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Current patches to make org-mode run on XEmacs
  2011-08-31 18:12 Current patches to make org-mode run on XEmacs Michael Sperber
@ 2011-08-31 18:25 ` Nicolas Goaziou
  2011-10-21 18:36 ` Bastien
  2011-10-21 21:32 ` Carsten Dominik
  2 siblings, 0 replies; 8+ messages in thread
From: Nicolas Goaziou @ 2011-08-31 18:25 UTC (permalink / raw)
  To: Michael Sperber; +Cc: emacs-orgmode

Hello,

Michael Sperber <sperber@deinprogramm.de> writes:

> ... are attached.  I've run with this for a few weeks now, and what I
> use mostly works.  So I would appreciate if these could go into the git
> repo.
>
> Let me draw your attention to this hunk:
>
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -7360,7 +7360,7 @@ would end up with no indentation after the change, nothing at all is done."
>  	   col)
>        (while (re-search-forward
>  	      (concat "\\(" (regexp-opt org-all-time-keywords)
> -		      "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
> +		      "\\|" "^[ \t]*" org-tsr-regexp-both "$"
>  		      "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
>  		      "\\)") (or drawer-end end) t)
>  	(beginning-of-line)
>
> While I needed this to make the code run on XEmacs, it really looks like
> a bug fix to me: The "*" that I deleted makes that part of the
> disjunction match the empty string

I don't think so, as `org-tsr-regexp-both' isn't made up of one big
group. But that star is strange indeed.


Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Current patches to make org-mode run on XEmacs
  2011-08-31 18:12 Current patches to make org-mode run on XEmacs Michael Sperber
  2011-08-31 18:25 ` Nicolas Goaziou
@ 2011-10-21 18:36 ` Bastien
  2011-10-21 19:06   ` Sebastien Vauban
  2011-10-21 21:32 ` Carsten Dominik
  2 siblings, 1 reply; 8+ messages in thread
From: Bastien @ 2011-10-21 18:36 UTC (permalink / raw)
  To: Michael Sperber; +Cc: emacs-orgmode

Hi Michael,

thanks for these patches.  Next time, could you provide one patch per
mail?  The patchwork server cannot handle multiple patches and it makes
it easier to discuss every patch -- thanks!

Some comments below.

Michael Sperber <sperber@deinprogramm.de> writes:

> ... are attached.  I've run with this for a few weeks now, and what I
> use mostly works.  So I would appreciate if these could go into the git
> repo.
>
> Let me draw your attention to this hunk:
>
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -7360,7 +7360,7 @@ would end up with no indentation after the change, nothing at all is done."
>  	   col)
>        (while (re-search-forward
>  	      (concat "\\(" (regexp-opt org-all-time-keywords)
> -		      "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
> +		      "\\|" "^[ \t]*" org-tsr-regexp-both "$"
>  		      "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
>  		      "\\)") (or drawer-end end) t)
>  	(beginning-of-line)
>
> While I needed this to make the code run on XEmacs, it really looks like
> a bug fix to me: The "*" that I deleted makes that part of the
> disjunction match the empty string, and that makes
> `org-fixup-indentation' loop infinitely.

Not sure I understand this fix: can you explain what is the problem 
with XEmacs (without considering the problem with Emacs)?

> --- a/lisp/ob-calc.el
> +++ b/lisp/ob-calc.el
> @@ -28,8 +28,9 @@
>  ;;; Code:
>  (require 'ob)
>  (require 'calc)
> -(require 'calc-store)
> -(unless (featurep 'xemacs) (require 'calc-trail))
> +(unless (featurep 'xemacs) 
> +  (require 'calc-trail)
> +  (require 'calc-store))
>  (eval-when-compile (require 'ob-comint))
>  
>  (defvar org-babel-default-header-args:calc nil

Applied, thanks.

> diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
> index b1fa5f5..7e4da31 100644
> --- a/lisp/org-agenda.el
> +++ b/lisp/org-agenda.el
> @@ -4306,8 +4306,8 @@ of what a project is and how to check if it stuck, customize the variable
>  			  "\\)\\>"))
>  	 (tags (nth 2 org-stuck-projects))
>  	 (tags-re (if (member "*" tags)
> -		      (org-re (concat org-outline-regexp-bol
> -				      ".*:[[:alnum:]_@#%]+:[ \t]*$"))
> +		      (concat org-outline-regexp-bol
> +			      (org-ref ".*:[[:alnum:]_@#%]+:[ \t]*$"))
>  		    (if tags
>  			(concat org-outline-regexp-bol
>  				".*:\\("
> diff --git a/lisp/org-compat.el b/lisp/org-compat.el

I don't understand why (org-re (contact "..." "...")) does not produce
the same result than (contact (org-re "..." "...")) in XEmacs.  Can you
explain me?

> index 3e9c202..d093700 100644
> --- a/lisp/org-compat.el
> +++ b/lisp/org-compat.el
> @@ -251,8 +251,11 @@ Works on both Emacs and XEmacs."
>    (defun org-activate-mark ()
>      (when (mark t)
>        (setq mark-active t)
> -      (unless transient-mark-mode
> -	(setq transient-mark-mode 'lambda)))))
> +      (when (and (boundp 'transient-mark-mode)
> +		 (not transient-mark-mode))
> +	(setq transient-mark-mode 'lambda))
> +      (when (boundp 'zmacs-regions)
> +	(setq zmacs-regions t)))))
>  
>  ;; Invisibility compatibility
>  

Applied, thanks.

> diff --git a/lisp/org-exp.el b/lisp/org-exp.el
> index f795fbd..43752ca 100644
> --- a/lisp/org-exp.el
> +++ b/lisp/org-exp.el
> @@ -1028,7 +1028,8 @@ Pressing `1' will switch between these two options."
>  		  (setq r1 (read-char-exclusive)))
>  	      (error "No enclosing node with LaTeX_CLASS or EXPORT_TITLE or EXPORT_FILE_NAME")
>  	      )))))
> -    (redisplay)
> +    (if (fboundp 'redisplay)
> +	(redisplay))
>      (and bpos (goto-char bpos))
>      (setq r2 (if (< r1 27) (+ r1 96) r1))
>      (unless (setq ass (assq r2 cmds))

Applied, thanks.

> diff --git a/lisp/org-footnote.el b/lisp/org-footnote.el
> index 04389ef..a3bd9bf 100644
> --- a/lisp/org-footnote.el
> +++ b/lisp/org-footnote.el
> @@ -70,13 +70,13 @@
>    ;; their definition.
>    ;;
>    ;; `org-re' is used for regexp compatibility with XEmacs.
> -  (org-re (concat "\\[\\(?:"
> -		  ;; Match inline footnotes.
> -		  "fn:\\([-_[:word:]]+\\)?:\\|"
> -		  ;; Match other footnotes.
> -		  "\\(?:\\([0-9]+\\)\\]\\)\\|"
> -		  "\\(fn:[-_[:word:]]+\\)"
> -		  "\\)"))
> +  (concat (org-re "\\[\\(?:")
> +	  ;; Match inline footnotes.
> +	  (org-re "fn:\\([-_[:word:]]+\\)?:\\|")
> +	  ;; Match other footnotes.
> +	  (org-re "\\(?:\\([0-9]+\\)\\]\\)\\|")
> +	  (org-re "\\(fn:[-_[:word:]]+\\)")
> +	  (org-re "\\)"))
>    "Regular expression for matching footnotes.")
>  
>  (defconst org-footnote-definition-re
> @@ -265,10 +265,9 @@ label, start, end and definition of the footnote otherwise."
>  				      (re-search-backward
>  				       message-signature-separator nil t)))))
>  		    (or (and (re-search-forward
> -			      (org-re
> -			       (concat org-outline-regexp-bol "\\|"
> -				       org-footnote-definition-re "\\|"
> -				       "^[ \t]*$"))
> +			      (concat org-outline-regexp-bol "\\|"
> +				      org-footnote-definition-re "\\|"
> +				      "^[ \t]*$")
>  			      bound 'move)
>  			     (progn (skip-chars-forward " \t\n") (point-at-bol)))
>  			(point))))

See my question above.

> diff --git a/lisp/org.el b/lisp/org.el
> index d63b854..e77b4af 100644
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -7360,7 +7360,7 @@ would end up with no indentation after the change, nothing at all is done."
>  	   col)
>        (while (re-search-forward
>  	      (concat "\\(" (regexp-opt org-all-time-keywords)
> -		      "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
> +		      "\\|" "^[ \t]*" org-tsr-regexp-both "$"
>  		      "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
>  		      "\\)") (or drawer-end end) t)
>  	(beginning-of-line)

See my other question above.

> @@ -19662,10 +19662,11 @@ the functionality can be provided as a fall-back.")
>    ;; through to `fill-paragraph' when appropriate.
>    (org-set-local 'fill-paragraph-function 'org-fill-paragraph)
>    ;; Prevent auto-fill from inserting unwanted new items.
> -  (org-set-local 'fill-nobreak-predicate
> -		 (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
> -		     fill-nobreak-predicate
> -		   (cons 'org-fill-item-nobreak-p fill-nobreak-predicate)))
> +  (if (boundp 'fill-nobreak-predicate)
> +      (org-set-local 'fill-nobreak-predicate
> +		     (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
> +			 fill-nobreak-predicate
> +		       (cons 'org-fill-item-nobreak-p fill-nobreak-predicate))))
>    ;; Adaptive filling: To get full control, first make sure that
>    ;; `adaptive-fill-regexp' never matches.  Then install our own matcher.
>    (unless (local-variable-p 'adaptive-fill-regexp (current-buffer))

Applied thanks.

Hope this makes Org usable under XEmacs again.  Thanks a lot for taking
care of this!

Best,

-- 
 Bastien

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Current patches to make org-mode run on XEmacs
  2011-10-21 18:36 ` Bastien
@ 2011-10-21 19:06   ` Sebastien Vauban
  0 siblings, 0 replies; 8+ messages in thread
From: Sebastien Vauban @ 2011-10-21 19:06 UTC (permalink / raw)
  To: emacs-orgmode-mXXj517/zsQ

Hi Bastien and Michael,

Bastien wrote:
> thanks for these patches.  Next time, could you provide one patch per
> mail?  The patchwork server cannot handle multiple patches and it makes
> it easier to discuss every patch -- thanks!

Just updated Org, and tried to launch my XEmacs 21.5  (beta29) "garbanzo"
[Lucid] (i586-pc-win32, Mule) of Wed Jun 17 2009 on GANDALF-XP.

Loaded org.el and org-install.el, and then tried to open an *.org file,
resulting in this:

--8<---------------cut here---------------start------------->8---
Backtrace follows:

  # bind (inhibit-quit window old-frame target-frame explicit-frame shrink-it)
  byte-code("..." [explicit-frame tem car target-frame buffer window nil last-nonminibuf-frame selected-frame get-buffer bufferp wrong-type-argument throw done buffer-dedicated-frame frame-live-p window-buffer selected-window display-buffer-1 buffer-name assoc switch-to-buffer string-match 0 get-buffer-window frame-selected-window set-window-buffer frame-property minibuffer only window-dedicated-p frame-root-window unsplittable get-largest-window visible t window-frame window-height window-width window-leftmost-p window-rightmost-p split-window get-lru-window window-parent window-previous-child window-next-child window-pixel-edges window-pixel-height enlarge-window 2 ((byte-code "Á\b!«?Â\b!?Á?" [ssw70245 window-live-p select-window] 2)) select-window record-buffer shrink-window-if-larger-than-buffer override-frame other not-this-window-p special-display-function upper old-frame shrink-it shrink-to-fit dedi split-height-threshold window-min-height split-width-threshold pre-display-buffer-function display-buffer-function same-window-buffer-names pop-up-frames special-display-buffer-names pop-up-frame-function window-min-width same-window-regexps special-display-regexps pop-up-windows ssw70245] 8)
  # (catch done ...)
  # bind (shrink-to-fit override-frame not-this-window-p buffer)
  display-buffer(#<buffer "*Warnings*"> nil nil nil)
  # bind (pre-display-buffer-function buffer)
  show-temp-buffer-in-current-frame(#<buffer "*Warnings*">)
  # bind (buffer)
  display-warning-buffer()
  # (unwind-protect ...)
  # (catch #<INTERNAL OBJECT (XEmacs bug?) (opaque, size=0) 0x17e3da8> ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # (unwind-protect ...)
  # bind (inhibit-quit)
  (next-event "[internal]")
  # (condition-case ... . error)
  # (catch top-level ...)

Warning: error: (wrong-type-argument (number-char-or-marker-p nil))
--8<---------------cut here---------------end--------------->8---

It's not clear that something is exploitable in the above bakctrace. My
problem is that XEmacs simply becomes unusable when such a problem occurs.
Dunno why.

Though, FYI, I've never been able to run Org on XEmacs (because of such
problems).

Best regards,
  Seb

-- 
Sebastien Vauban

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Current patches to make org-mode run on XEmacs
  2011-08-31 18:12 Current patches to make org-mode run on XEmacs Michael Sperber
  2011-08-31 18:25 ` Nicolas Goaziou
  2011-10-21 18:36 ` Bastien
@ 2011-10-21 21:32 ` Carsten Dominik
  2011-10-22 12:56   ` Bastien
  2011-10-22 13:03   ` Michael Sperber
  2 siblings, 2 replies; 8+ messages in thread
From: Carsten Dominik @ 2011-10-21 21:32 UTC (permalink / raw)
  To: Michael Sperber; +Cc: emacs-orgmode

Hi Michael,

I have checked these in, with the following exceptions:

- Somewhere you have a call to `org-ref', I guess this must be `org-re'
- The special hunk you are mentioning is not longer in org.el,
  I guess it was removed somehow in some other commit...

Hope this makes XEmacs run smoothly with Org.

- Carsten

On 31.8.2011, at 20:12, Michael Sperber wrote:

> 
> ... are attached.  I've run with this for a few weeks now, and what I
> use mostly works.  So I would appreciate if these could go into the git
> repo.
> 
> Let me draw your attention to this hunk:
> 
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -7360,7 +7360,7 @@ would end up with no indentation after the change, nothing at all is done."
> 	   col)
>       (while (re-search-forward
> 	      (concat "\\(" (regexp-opt org-all-time-keywords)
> -		      "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
> +		      "\\|" "^[ \t]*" org-tsr-regexp-both "$"
> 		      "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
> 		      "\\)") (or drawer-end end) t)
> 	(beginning-of-line)
> 
> While I needed this to make the code run on XEmacs, it really looks like
> a bug fix to me: The "*" that I deleted makes that part of the
> disjunction match the empty string, and that makes
> `org-fixup-indentation' loop infinitely.
> 
> -- 
> Cheers =8-} Mike
> Friede, Völkerverständigung und überhaupt blabla
> diff --git a/lisp/ob-calc.el b/lisp/ob-calc.el
> index 45d9441..b246636 100644
> --- a/lisp/ob-calc.el
> +++ b/lisp/ob-calc.el
> @@ -28,8 +28,9 @@
> ;;; Code:
> (require 'ob)
> (require 'calc)
> -(require 'calc-store)
> -(unless (featurep 'xemacs) (require 'calc-trail))
> +(unless (featurep 'xemacs) 
> +  (require 'calc-trail)
> +  (require 'calc-store))
> (eval-when-compile (require 'ob-comint))
> 
> (defvar org-babel-default-header-args:calc nil
> diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
> index b1fa5f5..7e4da31 100644
> --- a/lisp/org-agenda.el
> +++ b/lisp/org-agenda.el
> @@ -4306,8 +4306,8 @@ of what a project is and how to check if it stuck, customize the variable
> 			  "\\)\\>"))
> 	 (tags (nth 2 org-stuck-projects))
> 	 (tags-re (if (member "*" tags)
> -		      (org-re (concat org-outline-regexp-bol
> -				      ".*:[[:alnum:]_@#%]+:[ \t]*$"))
> +		      (concat org-outline-regexp-bol
> +			      (org-ref ".*:[[:alnum:]_@#%]+:[ \t]*$"))
> 		    (if tags
> 			(concat org-outline-regexp-bol
> 				".*:\\("
> diff --git a/lisp/org-compat.el b/lisp/org-compat.el
> index 3e9c202..d093700 100644
> --- a/lisp/org-compat.el
> +++ b/lisp/org-compat.el
> @@ -251,8 +251,11 @@ Works on both Emacs and XEmacs."
>   (defun org-activate-mark ()
>     (when (mark t)
>       (setq mark-active t)
> -      (unless transient-mark-mode
> -	(setq transient-mark-mode 'lambda)))))
> +      (when (and (boundp 'transient-mark-mode)
> +		 (not transient-mark-mode))
> +	(setq transient-mark-mode 'lambda))
> +      (when (boundp 'zmacs-regions)
> +	(setq zmacs-regions t)))))
> 
> ;; Invisibility compatibility
> 
> diff --git a/lisp/org-exp.el b/lisp/org-exp.el
> index f795fbd..43752ca 100644
> --- a/lisp/org-exp.el
> +++ b/lisp/org-exp.el
> @@ -1028,7 +1028,8 @@ Pressing `1' will switch between these two options."
> 		  (setq r1 (read-char-exclusive)))
> 	      (error "No enclosing node with LaTeX_CLASS or EXPORT_TITLE or EXPORT_FILE_NAME")
> 	      )))))
> -    (redisplay)
> +    (if (fboundp 'redisplay)
> +	(redisplay))
>     (and bpos (goto-char bpos))
>     (setq r2 (if (< r1 27) (+ r1 96) r1))
>     (unless (setq ass (assq r2 cmds))
> diff --git a/lisp/org-footnote.el b/lisp/org-footnote.el
> index 04389ef..a3bd9bf 100644
> --- a/lisp/org-footnote.el
> +++ b/lisp/org-footnote.el
> @@ -70,13 +70,13 @@
>   ;; their definition.
>   ;;
>   ;; `org-re' is used for regexp compatibility with XEmacs.
> -  (org-re (concat "\\[\\(?:"
> -		  ;; Match inline footnotes.
> -		  "fn:\\([-_[:word:]]+\\)?:\\|"
> -		  ;; Match other footnotes.
> -		  "\\(?:\\([0-9]+\\)\\]\\)\\|"
> -		  "\\(fn:[-_[:word:]]+\\)"
> -		  "\\)"))
> +  (concat (org-re "\\[\\(?:")
> +	  ;; Match inline footnotes.
> +	  (org-re "fn:\\([-_[:word:]]+\\)?:\\|")
> +	  ;; Match other footnotes.
> +	  (org-re "\\(?:\\([0-9]+\\)\\]\\)\\|")
> +	  (org-re "\\(fn:[-_[:word:]]+\\)")
> +	  (org-re "\\)"))
>   "Regular expression for matching footnotes.")
> 
> (defconst org-footnote-definition-re
> @@ -265,10 +265,9 @@ label, start, end and definition of the footnote otherwise."
> 				      (re-search-backward
> 				       message-signature-separator nil t)))))
> 		    (or (and (re-search-forward
> -			      (org-re
> -			       (concat org-outline-regexp-bol "\\|"
> -				       org-footnote-definition-re "\\|"
> -				       "^[ \t]*$"))
> +			      (concat org-outline-regexp-bol "\\|"
> +				      org-footnote-definition-re "\\|"
> +				      "^[ \t]*$")
> 			      bound 'move)
> 			     (progn (skip-chars-forward " \t\n") (point-at-bol)))
> 			(point))))
> diff --git a/lisp/org.el b/lisp/org.el
> index d63b854..e77b4af 100644
> --- a/lisp/org.el
> +++ b/lisp/org.el
> @@ -7360,7 +7360,7 @@ would end up with no indentation after the change, nothing at all is done."
> 	   col)
>       (while (re-search-forward
> 	      (concat "\\(" (regexp-opt org-all-time-keywords)
> -		      "\\|" "^[ \t]*" org-tsr-regexp-both "*$"
> +		      "\\|" "^[ \t]*" org-tsr-regexp-both "$"
> 		      "\\|" "^[ \t]*:[a-zA-Z][a-zA-Z0-9_]*:.*$"
> 		      "\\)") (or drawer-end end) t)
> 	(beginning-of-line)
> @@ -19662,10 +19662,11 @@ the functionality can be provided as a fall-back.")
>   ;; through to `fill-paragraph' when appropriate.
>   (org-set-local 'fill-paragraph-function 'org-fill-paragraph)
>   ;; Prevent auto-fill from inserting unwanted new items.
> -  (org-set-local 'fill-nobreak-predicate
> -		 (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
> -		     fill-nobreak-predicate
> -		   (cons 'org-fill-item-nobreak-p fill-nobreak-predicate)))
> +  (if (boundp 'fill-nobreak-predicate)
> +      (org-set-local 'fill-nobreak-predicate
> +		     (if (memq 'org-fill-item-nobreak-p fill-nobreak-predicate)
> +			 fill-nobreak-predicate
> +		       (cons 'org-fill-item-nobreak-p fill-nobreak-predicate))))
>   ;; Adaptive filling: To get full control, first make sure that
>   ;; `adaptive-fill-regexp' never matches.  Then install our own matcher.
>   (unless (local-variable-p 'adaptive-fill-regexp (current-buffer))

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Current patches to make org-mode run on XEmacs
  2011-10-21 21:32 ` Carsten Dominik
@ 2011-10-22 12:56   ` Bastien
  2011-10-22 13:03   ` Michael Sperber
  1 sibling, 0 replies; 8+ messages in thread
From: Bastien @ 2011-10-22 12:56 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: emacs-orgmode, Michael Sperber

Carsten Dominik <carsten.dominik@gmail.com> writes:

> I have checked these in, with the following exceptions:
>
> - Somewhere you have a call to `org-ref', I guess this must be
> `org-re'

I fixed this one.

> - The special hunk you are mentioning is not longer in org.el,
>   I guess it was removed somehow in some other commit...
>
> Hope this makes XEmacs run smoothly with Org.

Same here!  I have had requests about this recently.

-- 
 Bastien

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Current patches to make org-mode run on XEmacs
  2011-10-21 21:32 ` Carsten Dominik
  2011-10-22 12:56   ` Bastien
@ 2011-10-22 13:03   ` Michael Sperber
  2011-10-22 13:34     ` Bastien
  1 sibling, 1 reply; 8+ messages in thread
From: Michael Sperber @ 2011-10-22 13:03 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: emacs-orgmode


Carsten Dominik <carsten.dominik@gmail.com> writes:

> Hi Michael,
>
> I have checked these in, with the following exceptions:

Thanks.  One bit slipped through:

diff --git a/lisp/ob-calc.el b/lisp/ob-calc.el
index 14d7d5d..44ed82b 100644
--- a/lisp/ob-calc.el
+++ b/lisp/ob-calc.el
@@ -28,7 +28,6 @@
 ;;; Code:
 (require 'ob)
 (require 'calc)
-(require 'calc-store)
 (unless (featurep 'xemacs)
   (require 'calc-trail)
   (require 'calc-store))

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Current patches to make org-mode run on XEmacs
  2011-10-22 13:03   ` Michael Sperber
@ 2011-10-22 13:34     ` Bastien
  0 siblings, 0 replies; 8+ messages in thread
From: Bastien @ 2011-10-22 13:34 UTC (permalink / raw)
  To: Michael Sperber; +Cc: emacs-orgmode, Carsten Dominik

Michael Sperber <sperber@deinprogramm.de> writes:

> Thanks.  One bit slipped through:
>
> diff --git a/lisp/ob-calc.el b/lisp/ob-calc.el
> index 14d7d5d..44ed82b 100644
> --- a/lisp/ob-calc.el
> +++ b/lisp/ob-calc.el
> @@ -28,7 +28,6 @@
>  ;;; Code:
>  (require 'ob)
>  (require 'calc)
> -(require 'calc-store)
>  (unless (featurep 'xemacs)
>    (require 'calc-trail)
>    (require 'calc-store))

Applied, thanks a lot for the careful check.

-- 
 Bastien

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-10-22 13:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-31 18:12 Current patches to make org-mode run on XEmacs Michael Sperber
2011-08-31 18:25 ` Nicolas Goaziou
2011-10-21 18:36 ` Bastien
2011-10-21 19:06   ` Sebastien Vauban
2011-10-21 21:32 ` Carsten Dominik
2011-10-22 12:56   ` Bastien
2011-10-22 13:03   ` Michael Sperber
2011-10-22 13:34     ` Bastien

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).