mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-04 11:40:22 +00:00
(apply-partially): Move from subr.el to simple.el.
This commit is contained in:
parent
fd6f900c21
commit
30ee26a959
@ -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.
|
||||
|
@ -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))))
|
||||
|
||||
|
||||
|
||||
(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)))
|
||||
|
||||
;; 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)))))
|
||||
|
||||
;; Minibuffer prompt stuff.
|
||||
|
||||
;(defun minibuffer-prompt-modification (start end)
|
||||
|
15
lisp/subr.el
15
lisp/subr.el
@ -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)))
|
||||
|
||||
|
||||
;; 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
|
||||
|
Loading…
Reference in New Issue
Block a user