- :modifier-p nil)
- (shell-command-on-region
- (point-min) (point-max) command))
+ :modifier-p nil
+ :opstring "Shell command executed on"
+ :modifier-p nil
+ :before (funcall #'ibuffer--before-shell-command)
+ :after (funcall #'ibuffer--after-shell-command))
+ (let ((out-buf (get-buffer "*Shell Command Output*")))
+ (with-current-buffer out-buf (goto-char (point-max)))
+ (call-process-region (point-min) (point-max) command nil out-buf)))
I haven't looked at the rest of your patch but this part looks wrong:
the docstring indicates that `command' is expected to be a shell command
whereas call-process-region expects an executable.
Stefan