(apply-partially): Move from subr.el to simple.el.
authorEli Zaretskii <eliz@gnu.org>
Mon, 20 Oct 2008 23:14:36 +0000 (23:14 +0000)
committerEli Zaretskii <eliz@gnu.org>
Mon, 20 Oct 2008 23:14:36 +0000 (23:14 +0000)
lisp/ChangeLog
lisp/simple.el
lisp/subr.el

index da6ed57..d378478 100644 (file)
@@ -1,3 +1,9 @@
+2008-10-20  Eli Zaretskii  <eliz@gnu.org>
+
+       * subr.el (apply-partially): Move from here...
+
+       * simple.el (apply-partially): ...to here.
+
 2008-10-20  Andreas Schwab  <schwab@suse.de>
 
        * subr.el (split-string-and-unquote): Simplify regexp.
index 9636f11..7327a88 100644 (file)
@@ -29,6 +29,9 @@
 
 ;;; Code:
 
+;; This is for lexical-let in apply-partially.
+(eval-when-compile (require 'cl))
+
 (declare-function widget-convert "wid-edit" (type &rest args))
 (declare-function shell-mode "shell" ())
 
@@ -2478,7 +2481,6 @@ objects of file handler invocation."
     (if fh (apply fh 'start-file-process name buffer program program-args)
       (apply 'start-process name buffer program program-args))))
 
-
 \f
 (defvar universal-argument-map
   (let ((map (make-sparse-keymap)))
@@ -6247,6 +6249,16 @@ works by saving the value of `buffer-invisibility-spec' and setting it to nil."
         buffer-invisibility-spec)
     (setq buffer-invisibility-spec nil)))
 \f
+;; Partial application of functions (similar to "currying").
+(defun apply-partially (fun &rest args)
+  "Return a function that is a partial application of FUN to ARGS.
+ARGS is a list of the first N arguments to pass to FUN.
+The result is a new function which does the same as FUN, except that
+the first N arguments are fixed at the values with which this function
+was called."
+  (lexical-let ((fun fun) (args1 args))
+    (lambda (&rest args2) (apply fun (append args1 args2)))))
+\f
 ;; Minibuffer prompt stuff.
 
 ;(defun minibuffer-prompt-modification (start end)
index a007779..40311c4 100644 (file)
@@ -3556,20 +3556,5 @@ is greater than \"1pre\" which is greater than \"1beta\" which is greater than
 \"1alpha\"."
   (version-list-= (version-to-list v1) (version-to-list v2)))
 
-\f
-;; This is for lexical-let in apply-partially.  It is here because cl
-;; needs various macros defined above.
-(eval-when-compile (require 'cl))
-
-(defun apply-partially (fun &rest args)
-  "Return a function that is a partial application of FUN to ARGS.
-ARGS is a list of the first N arguments to pass to FUN.
-The result is a new function which does the same as FUN, except that
-the first N arguments are fixed at the values with which this function
-was called."
-  (lexical-let ((fun fun) (args1 args))
-    (lambda (&rest args2) (apply fun (append args1 args2)))))
-
-
 ;; arch-tag: f7e0e6e5-70aa-4897-ae72-7a3511ec40bc
 ;;; subr.el ends here