浏览代码

org-compat.el: New compatibility function `org-defvaralias'

* org-compat.el (org-defvaralias): Newcompatibility function.
* org.el:
* org-agenda.el:
* org-list.el:
* org-gnus.el:
* org-clock.el: Use it.
Bastien Guerry 12 年之前
父节点
当前提交
e0e699ab3d
共有 6 个文件被更改,包括 38 次插入43 次删除
  1. 8 13
      lisp/org-agenda.el
  2. 1 1
      lisp/org-clock.el
  3. 9 1
      lisp/org-compat.el
  4. 1 2
      lisp/org-gnus.el
  5. 4 5
      lisp/org-list.el
  6. 15 21
      lisp/org.el

+ 8 - 13
lisp/org-agenda.el

@@ -259,9 +259,8 @@ you can \"misuse\" it to also add other text to the header."
 
 
 ;; Keep custom values for `org-agenda-filter-preset' compatible with
 ;; Keep custom values for `org-agenda-filter-preset' compatible with
 ;; the new variable `org-agenda-tag-filter-preset'.
 ;; the new variable `org-agenda-tag-filter-preset'.
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-agenda-filter-preset 'org-agenda-tag-filter-preset)
-  (defvaralias 'org-agenda-filter 'org-agenda-tag-filter))
+(org-defvaralias 'org-agenda-filter-preset 'org-agenda-tag-filter-preset)
+(org-defvaralias 'org-agenda-filter 'org-agenda-tag-filter)
 
 
 (defconst org-agenda-custom-commands-local-options
 (defconst org-agenda-custom-commands-local-options
   `(repeat :tag "Local settings for this command.  Remember to quote values"
   `(repeat :tag "Local settings for this command.  Remember to quote values"
@@ -1356,9 +1355,8 @@ boolean search."
   :version "24.1"
   :version "24.1"
   :type 'boolean)
   :type 'boolean)
 
 
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-agenda-search-view-search-words-only
-      'org-agenda-search-view-always-boolean))
+(org-defvaralias 'org-agenda-search-view-search-words-only
+  'org-agenda-search-view-always-boolean)
 
 
 (defcustom org-agenda-search-view-force-full-words nil
 (defcustom org-agenda-search-view-force-full-words nil
   "Non-nil means, search words must be matches as complete words.
   "Non-nil means, search words must be matches as complete words.
@@ -1803,9 +1801,8 @@ When this is the symbol `prefix', only remove tags when
 	  (const :tag "Never" nil)
 	  (const :tag "Never" nil)
 	  (const :tag "When prefix format contains %T" prefix)))
 	  (const :tag "When prefix format contains %T" prefix)))
 
 
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-agenda-remove-tags-when-in-prefix
-      'org-agenda-remove-tags))
+(org-defvaralias 'org-agenda-remove-tags-when-in-prefix
+  'org-agenda-remove-tags)
 
 
 (defcustom org-agenda-tags-column (if (featurep 'xemacs) -79 -80)
 (defcustom org-agenda-tags-column (if (featurep 'xemacs) -79 -80)
   "Shift tags in agenda items to this column.
   "Shift tags in agenda items to this column.
@@ -1815,8 +1812,7 @@ it means that the tags should be flushright to that column.  For example,
   :group 'org-agenda-line-format
   :group 'org-agenda-line-format
   :type 'integer)
   :type 'integer)
 
 
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-agenda-align-tags-to-column 'org-agenda-tags-column))
+(org-defvaralias 'org-agenda-align-tags-to-column 'org-agenda-tags-column)
 
 
 (defcustom org-agenda-fontify-priorities 'cookies
 (defcustom org-agenda-fontify-priorities 'cookies
   "Non-nil means highlight low and high priorities in agenda.
   "Non-nil means highlight low and high priorities in agenda.
@@ -1974,8 +1970,7 @@ works you probably want to add it to `org-agenda-custom-commands' for good."
 
 
 (defvar org-agenda-mode-map (make-sparse-keymap)
 (defvar org-agenda-mode-map (make-sparse-keymap)
   "Keymap for `org-agenda-mode'.")
   "Keymap for `org-agenda-mode'.")
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-agenda-keymap 'org-agenda-mode-map))
+(org-defvaralias 'org-agenda-keymap 'org-agenda-mode-map)
 
 
 (defvar org-agenda-menu) ; defined later in this file.
 (defvar org-agenda-menu) ; defined later in this file.
 (defvar org-agenda-restrict nil) ; defined later in this file.
 (defvar org-agenda-restrict nil) ; defined later in this file.

+ 1 - 1
lisp/org-clock.el

@@ -244,7 +244,7 @@ auto     Automatically, either `all', or `repeat' for repeating tasks"
 	  (const :tag "All task time" all)
 	  (const :tag "All task time" all)
 	  (const :tag "Automatically, `all' or since `repeat'" auto)))
 	  (const :tag "Automatically, `all' or since `repeat'" auto)))
 
 
-(defvaralias 'org-task-overrun-text 'org-clock-task-overrun-text)
+(org-defvaralias 'org-task-overrun-text 'org-clock-task-overrun-text)
 (defcustom org-clock-task-overrun-text nil
 (defcustom org-clock-task-overrun-text nil
   "Extra mode line text to indicate that the clock is overrun.
   "Extra mode line text to indicate that the clock is overrun.
 The can be nil to indicate that instead of adding text, the clock time
 The can be nil to indicate that instead of adding text, the clock time

+ 9 - 1
lisp/org-compat.el

@@ -113,10 +113,18 @@ any other entries, and any resulting duplicates will be removed entirely."
 
 
 ;;;; Emacs/XEmacs compatibility
 ;;;; Emacs/XEmacs compatibility
 
 
+(defun org-defvaralias (new-alias base-variable &optional docstring)
+  "Compatibility function for defvaralias.
+Don't do the aliasing when `defvaralias' is not bound."
+  (declare ((indent 1)))
+  (when (fboundp 'defvaralias)
+    (defvaralias new-alias base-variable docstring)))
+(put 'org-defvaralias 'lisp-indent-function 1)
+
 (eval-and-compile
 (eval-and-compile
   (when (and (not (boundp 'user-emacs-directory))
   (when (and (not (boundp 'user-emacs-directory))
 	     (boundp 'user-init-directory))
 	     (boundp 'user-init-directory))
-    (defvaralias 'user-emacs-directory 'user-init-directory)))
+    (org-defvaralias 'user-emacs-directory 'user-init-directory)))
 
 
 ;; Keys
 ;; Keys
 (defconst org-xemacs-key-equivalents
 (defconst org-xemacs-key-equivalents

+ 1 - 2
lisp/org-gnus.el

@@ -43,8 +43,7 @@
 (declare-function gnus-summary-last-subject "gnus-sum" nil)
 (declare-function gnus-summary-last-subject "gnus-sum" nil)
 ;; Customization variables
 ;; Customization variables
 
 
-(when (fboundp 'defvaralias)
-  (defvaralias 'org-usenet-links-prefer-google 'org-gnus-prefer-web-links))
+(org-defvaralias 'org-usenet-links-prefer-google 'org-gnus-prefer-web-links)
 
 
 (defcustom org-gnus-prefer-web-links nil
 (defcustom org-gnus-prefer-web-links nil
   "If non-nil, `org-store-link' creates web links to Google groups or Gmane.
   "If non-nil, `org-store-link' creates web links to Google groups or Gmane.

+ 4 - 5
lisp/org-list.el

@@ -217,8 +217,7 @@ Valid values are ?. and ?\).  To get both terminators, use t."
 		 (const :tag "paren like in \"2)\"" ?\))
 		 (const :tag "paren like in \"2)\"" ?\))
 		 (const :tag "both" t)))
 		 (const :tag "both" t)))
 
 
-(defvaralias 'org-alphabetical-lists
-  'org-list-allow-alphabetical) ;; Since 8.0
+(org-defvaralias 'org-alphabetical-lists 'org-list-allow-alphabetical) ;; Since 8.0
 (defcustom org-list-allow-alphabetical nil
 (defcustom org-list-allow-alphabetical nil
   "Non-nil means single character alphabetical bullets are allowed.
   "Non-nil means single character alphabetical bullets are allowed.
 Both uppercase and lowercase are handled.  Lists with more than
 Both uppercase and lowercase are handled.  Lists with more than
@@ -240,7 +239,7 @@ spaces instead of one after the bullet in each item of the list."
 	  (const :tag "never" nil)
 	  (const :tag "never" nil)
 	  (regexp)))
 	  (regexp)))
 
 
-(defvaralias 'org-empty-line-terminates-plain-lists
+(org-defvaralias 'org-empty-line-terminates-plain-lists
   'org-list-empty-line-terminates-plain-lists) ;; Since 8.0
   'org-list-empty-line-terminates-plain-lists) ;; Since 8.0
 (defcustom org-list-empty-line-terminates-plain-lists nil
 (defcustom org-list-empty-line-terminates-plain-lists nil
   "Non-nil means an empty line ends all plain list levels.
   "Non-nil means an empty line ends all plain list levels.
@@ -294,7 +293,7 @@ This hook runs even if checkbox rule in
 implement alternative ways of collecting statistics
 implement alternative ways of collecting statistics
 information.")
 information.")
 
 
-(defvaralias 'org-hierarchical-checkbox-statistics
+(org-defvaralias 'org-hierarchical-checkbox-statistics
   'org-checkbox-hierarchical-statistics) ;; Since 8.0
   'org-checkbox-hierarchical-statistics) ;; Since 8.0
 (defcustom org-checkbox-hierarchical-statistics t
 (defcustom org-checkbox-hierarchical-statistics t
   "Non-nil means checkbox statistics counts only the state of direct children.
   "Non-nil means checkbox statistics counts only the state of direct children.
@@ -304,7 +303,7 @@ with the word \"recursive\" in the value."
   :group 'org-plain-lists
   :group 'org-plain-lists
   :type 'boolean)
   :type 'boolean)
 
 
-(defvaralias 'org-description-max-indent
+(org-defvaralias 'org-description-max-indent
   'org-list-description-max-indent) ;; Since 8.0
   'org-list-description-max-indent) ;; Since 8.0
 (defcustom org-list-description-max-indent 20
 (defcustom org-list-description-max-indent 20
   "Maximum indentation for the second line of a description list.
   "Maximum indentation for the second line of a description list.

+ 15 - 21
lisp/org.el

@@ -103,15 +103,14 @@ sure that we are at the beginning of the line.")
 Stars are put in group 1 and the trimmed body in group 2.")
 Stars are put in group 1 and the trimmed body in group 2.")
 
 
 ;; Emacs 22 calendar compatibility:  Make sure the new variables are available
 ;; Emacs 22 calendar compatibility:  Make sure the new variables are available
-(when (fboundp 'defvaralias)
-  (unless (boundp 'calendar-view-holidays-initially-flag)
-    (defvaralias 'calendar-view-holidays-initially-flag
-      'view-calendar-holidays-initially))
-  (unless (boundp 'calendar-view-diary-initially-flag)
-    (defvaralias 'calendar-view-diary-initially-flag
-      'view-diary-entries-initially))
-  (unless (boundp 'diary-fancy-buffer)
-    (defvaralias 'diary-fancy-buffer 'fancy-diary-buffer)))
+(unless (boundp 'calendar-view-holidays-initially-flag)
+  (org-defvaralias 'calendar-view-holidays-initially-flag
+    'view-calendar-holidays-initially))
+(unless (boundp 'calendar-view-diary-initially-flag)
+  (org-defvaralias 'calendar-view-diary-initially-flag
+    'view-diary-entries-initially))
+(unless (boundp 'diary-fancy-buffer)
+  (org-defvaralias 'diary-fancy-buffer 'fancy-diary-buffer))
 
 
 (declare-function org-inlinetask-at-task-p "org-inlinetask" ())
 (declare-function org-inlinetask-at-task-p "org-inlinetask" ())
 (declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
 (declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
@@ -731,8 +730,7 @@ it work for ESC."
   :group 'org-startup
   :group 'org-startup
   :type 'boolean)
   :type 'boolean)
 
 
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-CUA-compatible 'org-replace-disputed-keys))
+(org-defvaralias 'org-CUA-compatible 'org-replace-disputed-keys)
 
 
 (defcustom org-disputed-keys
 (defcustom org-disputed-keys
   '(([(shift up)]		. [(meta p)])
   '(([(shift up)]		. [(meta p)])
@@ -1213,8 +1211,7 @@ This may also be a cons cell where the behavior for `C-a' and
 			(const :tag "off" nil)
 			(const :tag "off" nil)
 			(const :tag "on: before tags first" t)
 			(const :tag "on: before tags first" t)
 			(const :tag "reversed: after tags first" reversed)))))
 			(const :tag "reversed: after tags first" reversed)))))
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-special-ctrl-a 'org-special-ctrl-a/e))
+(org-defvaralias 'org-special-ctrl-a 'org-special-ctrl-a/e)
 
 
 (defcustom org-special-ctrl-k nil
 (defcustom org-special-ctrl-k nil
   "Non-nil means `C-k' will behave specially in headlines.
   "Non-nil means `C-k' will behave specially in headlines.
@@ -2639,8 +2636,7 @@ a subtree."
 	  (const :tag "LOGBOOK" t)
 	  (const :tag "LOGBOOK" t)
 	  (string :tag "Other")))
 	  (string :tag "Other")))
 
 
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-log-state-notes-into-drawer 'org-log-into-drawer))
+(org-defvaralias 'org-log-state-notes-into-drawer 'org-log-into-drawer)
 
 
 (defun org-log-into-drawer ()
 (defun org-log-into-drawer ()
   "Return the value of `org-log-into-drawer', but let properties overrule.
   "Return the value of `org-log-into-drawer', but let properties overrule.
@@ -3088,9 +3084,8 @@ minibuffer will also be active, and you can simply enter the date as well.
 When nil, only the minibuffer will be available."
 When nil, only the minibuffer will be available."
   :group 'org-time
   :group 'org-time
   :type 'boolean)
   :type 'boolean)
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-popup-calendar-for-date-prompt
-      'org-read-date-popup-calendar))
+(org-defvaralias 'org-popup-calendar-for-date-prompt
+  'org-read-date-popup-calendar)
 
 
 (make-obsolete-variable
 (make-obsolete-variable
  'org-read-date-minibuffer-setup-hook
  'org-read-date-minibuffer-setup-hook
@@ -3559,9 +3554,8 @@ scope."
 	      (const :tag "Agenda Archives" agenda-archives)
 	      (const :tag "Agenda Archives" agenda-archives)
 	      (repeat :inline t (file))))
 	      (repeat :inline t (file))))
 
 
-(if (fboundp 'defvaralias)
-    (defvaralias 'org-agenda-multi-occur-extra-files
-      'org-agenda-text-search-extra-files))
+(org-defvaralias 'org-agenda-multi-occur-extra-files
+  'org-agenda-text-search-extra-files)
 
 
 (defcustom org-agenda-skip-unavailable-files nil
 (defcustom org-agenda-skip-unavailable-files nil
   "Non-nil means to just skip non-reachable files in `org-agenda-files'.
   "Non-nil means to just skip non-reachable files in `org-agenda-files'.