Function: eshell-apply-lines-worker-create--cmacro

eshell-apply-lines-worker-create--cmacro is a function defined in esh-worker.el.gz.

Signature

(eshell-apply-lines-worker-create--cmacro CL-WHOLE &cl-quote &key STATUS ESHELL-BUFFER OUTPUT-HANDLES ENSURE-NEWLINE-P FUNCTION CURRENT-LINE ARGS)

Documentation

compiler-macro for eshell-apply-lines-worker-create.

Source Code

;; Defined in /usr/src/emacs/lisp/eshell/esh-worker.el.gz
;; Could not find source code, showing raw function object.
#[(cl-whole &rest --cl-rest--)
  ((let*
       ((status
	 (car
	  (cdr (or (plist-member --cl-rest-- ':status) '(nil 'run)))))
	(eshell-buffer
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':eshell-buffer)
	       '(nil
		 (progn
		   (cl-assert (derived-mode-p 'eshell-mode))
		   (current-buffer)))))))
	(output-handles
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':output-handles)
	       '(nil (eshell-duplicate-handles eshell-current-handles))))))
	(ensure-newline-p
	 (car
	  (cdr
	   (or (plist-member --cl-rest-- ':ensure-newline-p) '(nil t)))))
	#'(car (cdr (plist-member --cl-rest-- ':function)))
	(current-line
	 (car (cdr (plist-member --cl-rest-- ':current-line))))
	(args (car (cdr (plist-member --cl-rest-- ':args)))))
     (progn
       (let ((--cl-keys-- --cl-rest--))
	 (while --cl-keys--
	   (cond
	    ((memq (car --cl-keys--)
		   '(:status :eshell-buffer :output-handles
			     :ensure-newline-p :function :current-line
			     :args :allow-other-keys))
	     (unless (cdr --cl-keys--)
	       (error "Missing argument for %s" (car --cl-keys--)))
	     (setq --cl-keys-- (cdr (cdr --cl-keys--))))
	    ((car (cdr (memq ':allow-other-keys --cl-rest--)))
	     (setq --cl-keys-- nil))
	    (t
	     (error
	      "Keyword argument %S not one of (:status :eshell-buffer :output-handles :ensure-newline-p :function :current-line :args)"
	      (car --cl-keys--))))))
       (cl-block eshell-apply-lines-worker-create--cmacro
	 (cl--defsubst-expand
	  '(status eshell-buffer output-handles ensure-newline-p
		   function current-line args)
	  '(cl-block eshell-apply-lines-worker-create
	     (record 'eshell-apply-lines-worker status eshell-buffer
		     output-handles ensure-newline-p function
		     current-line args))
	  nil cl-whole nil status eshell-buffer output-handles
	  ensure-newline-p function current-line args)))))
  (cl-struct-eshell-apply-lines-worker-tags) nil
  "compiler-macro for `eshell-apply-lines-worker-create'.\n\n(fn CL-WHOLE &cl-quote &key STATUS ESHELL-BUFFER OUTPUT-HANDLES ENSURE-NEWLINE-P FUNCTION CURRENT-LINE ARGS)"]