> ge...@cs.hmc.edu wrote: >> Locking should be used when truncating and writing the history >> file. (Yes, I know it's a pain in a portable program like >> bash.) >> >> Strictly speaking, locking is only half a solution, because >> the net result will be that the saved history is taken from >> a randomly chosen one of the multiple exiting shells. But >> that's better than the current situation where all history is lost. >> >> What might be cooler would be to merge all the history lines >> from all shells, in timestamp order. But given the current >> history file format, that seems...hard. > ---- > You shouldn't write to the same history file from multiple > sessions. Encode the session name (or ttyname) in the history file name > Then they won't collide as you can only have 1 person logged in / tty.
Sigh. Bug reporter: "Program X doesn't work correctly when used in perfectly reasonable fashion Y--which happens to be the default." Maintainer: "You shouldn't do Y. I don't do Y, therefore nobody else should do Y either, they should go out of their way and do Z instead. I don't want to fix the incorrect behavior even though it can happen in many situations." It's normal to open multiple windows. By default, bash writes to ~/.history. Furthermore, for perfectly good reasons I want all my sessions to write to--and more importantly, to read from--the same history file. And in this the case the suggested workaround is loaded with flaws. For example, it's quite easy to be logged in to the same filesystem multiple times under the same tty name. (Think NFS.) The correct response to a valid bug report isn't "go away and change your behavior." It's to fix the bug. -- Geoff Kuenning ge...@cs.hmc.edu http://www.cs.hmc.edu/~geoff/ McDonald's, which does not wait on your table, does not cook your food to order, and does not clear your table, came up with the slogan ``We Do It All For You.'' -- Dave Barry