emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Current patches to make org-mode run on XEmacs


From: Carsten Dominik
Subject: Re: [O] Current patches to make org-mode run on XEmacs
Date: Fri, 21 Oct 2011 23:32:52 +0200

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:address@hidden:[ \t]*$"))
> +                   (concat org-outline-regexp-bol
> +                           (org-ref ".*:[[:alnum:address@hidden:[ \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))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]