Indeed.
cd $(mktemp -d)
git init
echo bar > file.txt
git add file.txt
git commit -m "init"
echo foo_bar_baz > file.txt
# select only "foo_" in magit-status and press "s"
git diff --cached
will show
diff --git a/file.txt b/file.txt
index 5716ca5..2fd000c 100644
--- a/file.txt
+++ b/file.txt
@@ -1 +1,2 @@
bar
+foo_bar_baz
rather than the desired
diff --git a/file.txt b/file.txt
index 5716ca5..2fd000c 100644
--- a/file.txt
+++ b/file.txt
@@ -1 +1,2 @@
-bar
+foo_bar
I can't really imagine this feature working that well with just selection. Editing of the diff seems required.
I just updated magit, too. It seems to have been published 3 days ago.