Up to Main Index Up to Journal for November, 2016 JOURNAL FOR FRIDAY 11TH NOVEMBER, 2016 ______________________________________________________________________________ SUBJECT: You think you're coding when really you're digging a hole DATE: Fri 11 Nov 23:54:16 GMT 2016 Last night I thought I had better start looking at the regression I had introduced into the code for folding text. Especially as I was holding back the updates until it was fixed. The problem boiled down to embedded spaces being combined into a single space. Normally this is fine. However the the COMMANDS command uses whitespace for formatting columns. It's output should look like: >commands " EAST L NORTHWEST SAY SW WEST COMMANDS EXAM LOOK NW SE TAKE WHO D EXAMINE N PUT SNEEZE U DOWN GET NE QUIT SOUTH UP DROP INV NORTH READ SOUTHEAST VERSION E INVENTORY NORTHEAST S SOUTHWEST W > Instead it was looking like: >commands " EAST L NORTHWEST SAY SW WEST COMMANDS EXAM LOOK NW SE TAKE WHO D EXAMINE N PUT SNEEZE U DOWN GET NE QUIT SOUTH UP DROP INV NORTH READ SOUTHEAST VERSION E INVENTORY NORTHEAST S SOUTHWEST W > So I spent several frustrating, fruitless hours trying to fix the problem. After about the dozenth failure I finally gave up and went to bed. This evening I finished work and took another stab at solving the problem. Again multiple attempts and multiple approaches resulted in failure. The code I have works well except for this specific problem, I don't really want to rewrite Fold from scratch again right now. What to do? I had a long hard, thoughtful think. I also had dinner. Then I cheated! I wrote a really, really butt ugly hack. It's not documented except in the Git commit logs and this post either. I wonder how long a hack has to survive without being rewritten before it becomes a feature? The feature? Fold now supports hard spaces. A hard space is represented as '␠' which is the Unicode symbol for a space U+2420 and can be found in the Control Picture block[1]. If that glyph didn't display properly it looks like a superscript S over a subscript P. Fold treats them as characters and translates them to spaces on output. If you are using Vim you can enter the glyph by using the sequence Ctrl-v u 2420 in insert mode. Like I said, butt ugly :( I wanted to add these changes to my textWork branch to keep things tidy. Problem was I had already merged it into my local dev branch and then branched my bufferWork branch off of the dev branch! *sigh* It took me a while but I seem to have untangled the branches. In the middle of it I misplaced some untracked files on an unrelated branch in a stash. Oops, sorting that out and a tonne of conflicts was NOT fun. Still need to rebase the bufferWork and I just know there will be conflicts there that need resolving. I may get to finally push out the text and buffer updates over the weekend. Then again I may find I'm just digging a deeper hole, or starting on a new one... -- Diddymus [1] https://en.wikipedia.org/wiki/Unicode_control_characters Up to Main Index Up to Journal for November, 2016