5 ms·
> Another is the fateful decision of the author of make to have the space character and the (visually identical) tab character do very different things. Tell m
by bhaak 4y ago
> Another is the fateful decision of the author of make to have the space character and the (visually identical) tab character do very different things.
Tell me that your editor has bad defaults and you don't know how to configure it without telling me that your editor has bad defaults and you don't know how to configure it.
I can't understand how that still gets always claimed. I can't remember when editors got clever enough to show whitespace with distinct features but Eclipse had that, so at least early 2000s?
Fun fact, on the homepage of Apache Ant, there was for years the paragraph that one reason for its existence was due to the author not being able to handle tabs in Makefiles.
> Makefiles are inherently evil as well. Anybody who has worked on them for any time has run into the dreaded tab problem. "Is my command not executing because I have a space in front of my tab!!!" said the original author of Ant way too many times. Tools like Jam took care of this to a great degree, but still have yet another format to use and remember.
https://web.archive.org/web/20100203102803/http://ant.apache.org:80/ https://web.archive.org/web/20100203102803/http://ant.apache...
- zwkrt 4y agoIt was totally normal (especially back in the day) to edit a makefile on a remote host with vanilla vi. There weren't any electron apps in 1976. Hell, vi is only a few months older than make, so when it was created I bet the usual way of editing a makefile was with ed! Talk about a badly configured editor...
- bhaak 4y agoFWIW I just looked it up and ex already had the "list" option which allowed to specify how control characters are displayed. Naturally vi had that as well.
- mmastrac 4y agoYou're forgetting about the ecosystem of cat, more, etc. Every tool would need to have perfect display of tabs vs spaces. Perhaps my pager isn't set up correctly, but a tab is indistinguishable from spaces there.
- bhaak 4y agoWe're talking editing, not displaying. You can't screw up your Makefiles by displaying them.
- layer8 4y agoHaving to display a tab character differently than whatever the equivalent amount of spaces is, can be considered a failure of whatever file format is requiring that.
- bhaak 4y agoOr developing an editor that doesn't fully support a character set that has been used since the 1960s could also be called a failure.
- theamk 4y agoYou are making an assumption that (1) people work on a small set of computers (2) that they can customize how they like and (3) they only ever work with files using their favorite editor. There may be some people for whom this is always true, but it is not everyone. There are plenty of people who don't use heavyweight IDEs, or debug stuff on remote servers, etc... And often, those same people decide which build system to use.
- tbrownaw 4y ago> only ever No, usually. It's not like it's impossible to work with semantic tabs on an editor that doesn't distinguish, it's just slightly more of a pain to debug. And it's still much less of an issue than common fonts making 0 and O or l and I and 1 look alike.
- ycombobreaker 4y agovanilla vi handles this fine, no? search for tab and it highlights them all, creating a clear visual difference. I'm not sure about pico/nano, hopefully similar.
- Xelynega 4y agoVanilla vi has the ':set list' flag to make tabs and spaces visually distinct too.