]> code.delx.au - gnu-emacs/blobdiff - lisp/org/org-compat.el
Merge from trunk.
[gnu-emacs] / lisp / org / org-compat.el
index 5e4935caa7e1e36d153ada1bd1553f602bdfbf70..425e8d816c7a17909c475a93e469d01be1e69928 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-compat.el --- Compatibility code for Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2012 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <carsten at orgmode dot org>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.7
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -252,8 +251,12 @@ 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
 
@@ -272,7 +275,7 @@ Works on both Emacs and XEmacs."
     nil))
 
 (defmacro org-xemacs-without-invisibility (&rest body)
-  "Turn off extents with invisibility while executing BODY."
+  "Turn off exents with invisibility while executing BODY."
   `(let ((ext-inv (extent-list nil (point-at-bol) (point-at-eol)
                               'all-extents-closed-open 'invisible))
         ext-inv-specs)
@@ -285,6 +288,7 @@ Works on both Emacs and XEmacs."
      (dolist (ext-inv-spec ext-inv-specs)
        (set-extent-property (car ext-inv-spec) 'invisible
                            (cadr ext-inv-spec)))))
+(def-edebug-spec org-xemacs-without-invisibility (body))
 
 (defun org-indent-to-column (column &optional minimum buffer)
   "Work around a bug with extents with invisibility in XEmacs."
@@ -432,8 +436,15 @@ With two arguments, return floor and remainder of their quotient."
   (let ((q (floor x y)))
     (list q (- x (if y (* y q) q)))))
 
-(provide 'org-compat)
-
+;; `pop-to-buffer-same-window' has been introduced with Emacs 24.1.
+(defun org-pop-to-buffer-same-window
+  (&optional buffer-or-name norecord label)
+  "Pop to buffer specified by BUFFER-OR-NAME in the selected window."
+  (if (fboundp 'pop-to-buffer-same-window)
+      (funcall
+       'pop-to-buffer-same-window buffer-or-name norecord)
+    (funcall 'switch-to-buffer buffer-or-name norecord)))
 
+(provide 'org-compat)
 
 ;;; org-compat.el ends here