From: morioka Date: Sun, 8 Nov 1998 19:47:50 +0000 (+0000) Subject: rearrangement. X-Git-Tag: apel-9_10~13 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e745ece611159c57e5fb0c3b2e1961a84b80a9ac;p=elisp%2Fapel.git rearrangement. --- diff --git a/poe-18.el b/poe-18.el index c3250e9..d429765 100644 --- a/poe-18.el +++ b/poe-18.el @@ -24,13 +24,6 @@ ;;; Code: -(autoload 'setenv "env" - "Set the value of the environment variable named VARIABLE to VALUE. -VARIABLE should be a string. VALUE is optional; if not provided or is -`nil', the environment variable VARIABLE will be removed. -This function works by modifying `process-environment'." - t) - (defvar-maybe data-directory exec-directory) @@ -40,76 +33,12 @@ This function works by modifying `process-environment'." (defvar-maybe buffer-undo-list nil) -;;; @ hook +;;; @ Lisp Language ;;; -;; These function are imported from EMACS 19.28. -(defun add-hook (hook function &optional append) - "Add to the value of HOOK the function FUNCTION. -FUNCTION is not added if already present. -FUNCTION is added (if necessary) at the beginning of the hook list -unless the optional argument APPEND is non-nil, in which case -FUNCTION is added at the end. - -HOOK should be a symbol, and FUNCTION may be any valid function. If -HOOK is void, it is first set to nil. If HOOK's value is a single -function, it is changed to a list of functions. -\[poe-18.el; EMACS 19 emulating function]" - (or (boundp hook) - (set hook nil) - ) - ;; If the hook value is a single function, turn it into a list. - (let ((old (symbol-value hook))) - (if (or (not (listp old)) - (eq (car old) 'lambda)) - (set hook (list old)) - )) - (or (if (consp function) - ;; Clever way to tell whether a given lambda-expression - ;; is equal to anything in the hook. - (let ((tail (assoc (cdr function) (symbol-value hook)))) - (equal function tail) - ) - (memq function (symbol-value hook)) - ) - (set hook - (if append - (nconc (symbol-value hook) (list function)) - (cons function (symbol-value hook)) - )) - )) - -(defun remove-hook (hook function) - "Remove from the value of HOOK the function FUNCTION. -HOOK should be a symbol, and FUNCTION may be any valid function. If -FUNCTION isn't the value of HOOK, or, if FUNCTION doesn't appear in the -list of hooks to run in HOOK, then nothing is done. See `add-hook'. -\[poe-18.el; EMACS 19 emulating function]" - (if (or (not (boundp hook)) ;unbound symbol, or - (null (symbol-value hook)) ;value is nil, or - (null function)) ;function is nil, then - nil ;Do nothing. - (let ((hook-value (symbol-value hook))) - (if (consp hook-value) - (setq hook-value (delete function hook-value)) - (if (equal hook-value function) - (setq hook-value nil) - )) - (set hook hook-value) - ))) - - -;;; @ list +;;; @@ list ;;; -(defun member (elt list) - "Return non-nil if ELT is an element of LIST. Comparison done with EQUAL. -The value is actually the tail of LIST whose car is ELT. -\[poe-18.el; EMACS 19 emulating function]" - (while (and list (not (equal elt (car list)))) - (setq list (cdr list))) - list) - (defun delete (elt list) "Delete by side effect any occurrences of ELT as a member of LIST. The modified LIST is returned. Comparison is done with `equal'. @@ -130,15 +59,32 @@ to be sure of changing the value of `foo'. (rplacd rest (cdr rrest)) list))) +(defun member (elt list) + "Return non-nil if ELT is an element of LIST. Comparison done with EQUAL. +The value is actually the tail of LIST whose car is ELT. +\[poe-18.el; EMACS 19 emulating function]" + (while (and list (not (equal elt (car list)))) + (setq list (cdr list))) + list) -;;; @ function + +;;; @@ environment variable ;;; -(defun defalias (sym newdef) - "Set SYMBOL's function definition to NEWVAL, and return NEWVAL. -Associates the function with the current load file, if any. -\[poe-18.el; EMACS 19 emulating function]" - (fset sym newdef) +(autoload 'setenv "env" + "Set the value of the environment variable named VARIABLE to VALUE. +VARIABLE should be a string. VALUE is optional; if not provided or is +`nil', the environment variable VARIABLE will be removed. +This function works by modifying `process-environment'." + t) + + +;;; @ Compilation Features +;;; + +(defmacro-maybe defsubst (name arglist &rest body) + "Define an inline function. The syntax is just like that of `defun'." + (cons 'defun (cons name (cons arglist body))) ) (defun byte-code-function-p (exp) @@ -159,11 +105,6 @@ Associates the function with the current load file, if any. )) ))) -(defmacro-maybe defsubst (name arglist &rest body) - "Define an inline function. The syntax is just like that of `defun'." - (cons 'defun (cons name (cons arglist body))) - ) - (defun-maybe make-obsolete (fn new) "Make the byte-compiler warn that FUNCTION is obsolete. The warning will say that NEW should be used instead. @@ -177,6 +118,25 @@ If NEW is a string, that is the `use instead' message." fn) +;;; @@ function +;;; + +(defun defalias (sym newdef) + "Set SYMBOL's function definition to NEWVAL, and return NEWVAL. +Associates the function with the current load file, if any. +\[poe-18.el; EMACS 19 emulating function]" + (fset sym newdef) + ) + + +;;; @ text property +;;; + +(defun set-text-properties (start end properties &optional object)) + +(defun remove-text-properties (start end properties &optional object)) + + ;;; @ file ;;; @@ -262,17 +222,7 @@ If NOSORT is dummy for compatibility. ) -;;; @ mark -;;; - -(or (fboundp 'si:mark) - (fset 'si:mark (symbol-function 'mark))) -(defun mark (&optional force) - (si:mark) - ) - - -;;; @ mode-line +;;; @ Display Features ;;; ;;; Imported from Emacs 19.30. @@ -354,14 +304,6 @@ With optional non-nil ALL, force redisplay of all mode-lines. (defun overlay-buffer (overlay)) -;;; @ text property -;;; - -(defun set-text-properties (start end properties &optional object)) - -(defun remove-text-properties (start end properties &optional object)) - - ;;; @ buffer ;;; @@ -380,6 +322,71 @@ even if a buffer with that name exists." new) name)) +(or (fboundp 'si:mark) + (fset 'si:mark (symbol-function 'mark))) +(defun mark (&optional force) + (si:mark) + ) + + +;;; @ hook +;;; + +;; These function are imported from EMACS 19.28. +(defun add-hook (hook function &optional append) + "Add to the value of HOOK the function FUNCTION. +FUNCTION is not added if already present. +FUNCTION is added (if necessary) at the beginning of the hook list +unless the optional argument APPEND is non-nil, in which case +FUNCTION is added at the end. + +HOOK should be a symbol, and FUNCTION may be any valid function. If +HOOK is void, it is first set to nil. If HOOK's value is a single +function, it is changed to a list of functions. +\[poe-18.el; EMACS 19 emulating function]" + (or (boundp hook) + (set hook nil) + ) + ;; If the hook value is a single function, turn it into a list. + (let ((old (symbol-value hook))) + (if (or (not (listp old)) + (eq (car old) 'lambda)) + (set hook (list old)) + )) + (or (if (consp function) + ;; Clever way to tell whether a given lambda-expression + ;; is equal to anything in the hook. + (let ((tail (assoc (cdr function) (symbol-value hook)))) + (equal function tail) + ) + (memq function (symbol-value hook)) + ) + (set hook + (if append + (nconc (symbol-value hook) (list function)) + (cons function (symbol-value hook)) + )) + )) + +(defun remove-hook (hook function) + "Remove from the value of HOOK the function FUNCTION. +HOOK should be a symbol, and FUNCTION may be any valid function. If +FUNCTION isn't the value of HOOK, or, if FUNCTION doesn't appear in the +list of hooks to run in HOOK, then nothing is done. See `add-hook'. +\[poe-18.el; EMACS 19 emulating function]" + (if (or (not (boundp hook)) ;unbound symbol, or + (null (symbol-value hook)) ;value is nil, or + (null function)) ;function is nil, then + nil ;Do nothing. + (let ((hook-value (symbol-value hook))) + (if (consp hook-value) + (setq hook-value (delete function hook-value)) + (if (equal hook-value function) + (setq hook-value nil) + )) + (set hook hook-value) + ))) + ;;; @ end ;;;