ah, i see now, thank you!
in the inventory, this is purely visual bug, which is quite hard to fix — total inventory weight is right. the problem is that item piling expects exactly the same items, and uses the weight of the first item to calculate the overall weight. so the first picked up lump is used. list description is created by the separate method, so there is no way to set a custom weight there.
but total inventory weight is calculated without piling, so it is always correct.
and now i see how it affects shops: the same logic is applied for them: the price of the first item in the pile determines the total price. this is much bigger problem, but it is also easier to fix: we need to loop over the whole pile summing the prices, instead of using the simple multiplication.
thank you for noticing, this is great bug! i mean, most people will prolly won't notice it (i haven't

— that's why it was never fixed.
SPOILER ALERT. Click here to see text.sorry, red, i cannot fix it in vanilla right now. will try to make the patch later. basically, you need to pass `itemvector` to `room:

ropItems()`, and calculate the proper price there — instead of passing only the first item and the amout. see
this commit for the inspiration.