diff options
Diffstat (limited to 'app-emacs/liece/files')
-rw-r--r-- | app-emacs/liece/files/delegate.el | 95 | ||||
-rw-r--r-- | app-emacs/liece/files/digest-liece-1.4.10-r1 | 1 | ||||
-rw-r--r-- | app-emacs/liece/files/digest-liece-2.0.0_alpha20030526 | 1 | ||||
-rw-r--r-- | app-emacs/liece/files/liece-1.4.10-gentoo.patch | 13 |
4 files changed, 110 insertions, 0 deletions
diff --git a/app-emacs/liece/files/delegate.el b/app-emacs/liece/files/delegate.el new file mode 100644 index 000000000000..6bcdea1dfc10 --- /dev/null +++ b/app-emacs/liece/files/delegate.el @@ -0,0 +1,95 @@ +;;; delegate.el --- allow delegation for lisp variables + +;; Copyright (C) 2002 Daiki Ueno + +;; Author: Daiki Ueno <ueno@unixuser.org> +;; Keywords: internal + +;; This file is not part of any package. + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2, or (at +;; your option) any later version. + +;; This program is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; Here is a simple example how this package can be used. +;; +;; (define-delegated-variable-alias 'browse-url-browser-function +;; 'liece-url-browser-function +;; "browse-url") +;; +;; With this, the variable `liece-url-browser-function' is declared to +;; be "delegated" to another variable. Unlike using `defvaralias', +;; delegated variable itself is responsible for its value. Moreover we +;; can hint the input source from which the variable is loaded. +;; +;; The delegated variable can be assigned to the default value of +;; `defcustom' form below. +;; +;; (defcustom liece-url-browser-function +;; (delegated-variable-get-safe 'liece-url-browser-function) +;; "Default URL Browser." +;; :group 'liece-url) + +;;; Code: + +(defvar delegated-variables nil + "Alist mapping delegated variable names to symbols and filenames.") + +;;;###autoload +(put 'define-delegated-variable-alias 'lisp-indent-function 2) + +;;;###autoload +(defun define-delegated-variable-alias (variable alias &optional filename) + "Define a variable delegated to another variable." + (let ((entry (assq alias delegated-variables))) + (and (null filename) (boundp variable) + (setq filename (symbol-file variable))) + (if entry + (setcdr entry (list variable filename)) + (setq delegated-variables + (cons (list alias variable filename) + delegated-variables))))) + +;;;###autoload +(defun delegated-variable-get (variable) + "Return variable's value. +Error if that is not delegated to another variable." + (let ((entry (assq variable delegated-variables)) + filename) + (if entry + (if (boundp variable) + (symbol-value variable) + (setq variable (nth 1 entry) filename (nth 2 entry)) + (and (not (boundp variable)) filename + (load filename 'noerror)) + (if (boundp variable) + (symbol-value variable) + (delegated-variable-get variable))) ;follow an indirection + (signal 'wrong-type-argument + (list "Not a delegated variable" variable))))) + +;;;###autoload +(defun delegated-variable-get-safe (variable) + "Return variable's value. +If that is not delegated, don't throw an error. This function is +typically used to set the default value within `defcustom' form." + (condition-case nil + (delegated-variable-get variable) + (wrong-type-argument))) + +(provide 'delegate) + +;;; delegate.el ends here diff --git a/app-emacs/liece/files/digest-liece-1.4.10-r1 b/app-emacs/liece/files/digest-liece-1.4.10-r1 new file mode 100644 index 000000000000..135231a4ba28 --- /dev/null +++ b/app-emacs/liece/files/digest-liece-1.4.10-r1 @@ -0,0 +1 @@ +MD5 33e7b46f17010cf43146467abc669dc2 liece-1.4.10.tar.gz 217046 diff --git a/app-emacs/liece/files/digest-liece-2.0.0_alpha20030526 b/app-emacs/liece/files/digest-liece-2.0.0_alpha20030526 new file mode 100644 index 000000000000..e4d927ebb631 --- /dev/null +++ b/app-emacs/liece/files/digest-liece-2.0.0_alpha20030526 @@ -0,0 +1 @@ +MD5 0e3f2d4d1b780f4c266728f81d371b26 liece-2.0.0_alpha20030526.tar.gz 292714 diff --git a/app-emacs/liece/files/liece-1.4.10-gentoo.patch b/app-emacs/liece/files/liece-1.4.10-gentoo.patch new file mode 100644 index 000000000000..26dc66c19f18 --- /dev/null +++ b/app-emacs/liece/files/liece-1.4.10-gentoo.patch @@ -0,0 +1,13 @@ +diff -urN liece-1.4.10.ORIG/lisp/liece.el liece-1.4.10/lisp/liece.el +--- liece-1.4.10.ORIG/lisp/liece.el 2002-08-27 07:49:21.000000000 +0900 ++++ liece-1.4.10/lisp/liece.el 2003-08-18 00:54:23.000000000 +0900 +@@ -505,8 +505,7 @@ + (file-exists-p liece-directory) + (yes-or-no-p "Upgrade the location of the data files? ") + (let ((file +- (expand-file-name +- (make-temp-name "liece") temporary-file-directory))) ++ (make-temp-file "liece"))) + (unwind-protect + (progn + (rename-file liece-directory file 'ok-if-exists) |