diff --git a/etc/NEWS b/etc/NEWS index ecdf0597a90..ba28e87ca19 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -362,6 +362,10 @@ invoked standalone or from the 'project-switch-commands' dispatch menu. This user option describes projects that should always be skipped by 'project-remember-project'. +--- +*** New command 'project-save-some-buffers' bound to 'C-x p C-x s'. +This is like 'C-x s', but only for this project's buffers. + ** Registers *** New functions 'buffer-to-register' and 'file-to-register'. diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index d954b78a745..e2cd5bfa231 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -903,6 +903,7 @@ DIRS must contain directory names." (define-key map "x" 'project-execute-extended-command) (define-key map "o" 'project-any-command) (define-key map "\C-b" 'project-list-buffers) + (define-key map "\C-xs" 'project-save-some-buffers) map) "Keymap for project commands.") @@ -1828,6 +1829,12 @@ Also see the `project-kill-buffers-display-buffer-list' variable." ((funcall query-user) (mapc #'kill-buffer bufs))))) +;;;###autoload +(defun project-save-some-buffers (arg) + "Like `save-some-buffers', but only for this project's buffers." + (interactive "P") + (save-some-buffers arg (save-some-buffers-root))) + ;;; Project list