;;; org-compat.el --- Compatibility code for Org-mode
-;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-;; 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.4
;;
;; This file is part of GNU Emacs.
;;
(> (point) (region-beginning)))
(exchange-point-and-mark)))
+;; Emacs 22 misses `activate-mark'
+(if (fboundp 'activate-mark)
+ (defalias 'org-activate-mark 'activate-mark)
+ (defun org-activate-mark ()
+ (when (mark t)
+ (setq mark-active t)
+ (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
(defun org-remove-from-invisibility-spec (arg)
(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."
(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