From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Current patches to make org-mode run on XEmacs Date: Fri, 21 Oct 2011 23:32:52 +0200 Message-ID: <186507A2-FAF1-4229-8ABB-9C3D904C163F@gmail.com> References: Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([140.186.70.92]:41143) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHMi4-00020u-Gb for emacs-orgmode@gnu.org; Fri, 21 Oct 2011 17:33:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RHMi2-0003Rn-Vu for emacs-orgmode@gnu.org; Fri, 21 Oct 2011 17:33:00 -0400 Received: from mail-ey0-f169.google.com ([209.85.215.169]:58134) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHMi2-0003Rj-Gh for emacs-orgmode@gnu.org; Fri, 21 Oct 2011 17:32:58 -0400 Received: by eye4 with SMTP id 4so4958489eye.0 for ; Fri, 21 Oct 2011 14:32:57 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Michael Sperber Cc: emacs-orgmode@gnu.org 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: >=20 > ... 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. >=20 > Let me draw your attention to this hunk: >=20 > --- 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) >=20 > 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. >=20 > --=20 > Cheers =3D8-} Mike > Friede, V=F6lkerverst=E4ndigung und =FCberhaupt 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)=20 > + (require 'calc-trail) > + (require 'calc-store)) > (eval-when-compile (require 'ob-comint)) >=20 > (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))))) >=20 > ;; Invisibility compatibility >=20 > 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.") >=20 > (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))