Some time ago I reported a bug in Emacs that caused the bar cursor to be too narrow in the Mac OS X version of Emacs. I also submitted a patch to fix the problem. This problem was supposedly fixed in revision 103406 by Chong Yidong. The problem is that this change did not fix the problem. In fact it made it worse.
The original problem was based on a line of code that effectively caused the user selected value for the Bar Cursor to be completely ignored. This line was as follows. s.size.width = min (cursor_width, 2); //FIXME(see above)
This line caused the cursor width to be set to 2 even if the user requested cursor width was a value higher than 2.
The problem is that in the change made by Chong Yidong, there is a similar line that has the same effect of causing the user specified value for the cursor width to be ignored. This line is as follows.
cursor_width = min (cursor_width, 1);
The end result of this line is that now the user specified value for cursor width is still ignored and instead the value 1 is used as the cursor width. So now when the user requests that Emacs use a 4 pixel wide bar cursor, they get a 1 pixel wide bar cursor. Personally I preferred the 2 pixel wide cursor that was displayed before the change made in revision 103406. What I would prefer even more would be for Emacs to NOT ignore the user requested value for cursor width.
I am once again submitting a patch that fixes this problem. This patch simply removes the offending line from nsterm.m.