<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Dick,<div class=""><br class=""><div><div class=""><div class="">On Mar 10, 2016, at 11:03 AM, Dick Shaw <<a href="mailto:shaw@noao.edu" class="">shaw@noao.edu</a>> wrote:</div><br class="Apple-interchange-newline"></div><blockquote type="cite" class=""><div class=""><div class="">I can see you feel strongly about the positioning of the ampersand character in the context of CONTINUE.<br class=""></div></div></blockquote><div><br class=""></div><div>It's my favorite typographical character. (I also have strong feelings about the Oxford comma and the grocer's apostrophe.)</div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><blockquote type="cite" class="">Can you provide an example where this would be a problem? You would never have this, for example:<br class="">STRKEY = 'string' & / comment<br class="">This seems to be the edge case, where again the ampersand is not between the '/' and the comment, which is still not a problem:<br class=""></blockquote><br class="">Unfortunately, this is certainly not an edge case. A quick browse through many FITS headers shows that a keyword = string value, followed by a comment, happens all. the. time. Allowing the syntax you suggest, in this context, would amount to a pretty big change.</div></div></blockquote><div><br class=""></div><div>The line above was intended to be one that is invalid. (See below for alternate.)</div><br class=""><blockquote type="cite" class=""><div class=""><div class=""><blockquote type="cite" class="">I think this is a very important point. There has been a lot of discussion about file formats and pretty wide dissatisfaction with FITS. There's no question it's showing its age. I think it would be one thing if there was a commitment to properly addressing the real concerns with a proper FITS v2.0 versus incremental patching. The past should guide the future, not constrain it.<br class=""></blockquote><br class="">I have some sympathy for that point. But we do have to live with the prior history of FITS, warts and all. Therefore it's important to avoid introducing changes that either invalidate current FITS files or are highly disruptive of existing FITS software, unless there is a highly compelling reason or unless the proposed change can be ignored by an extant FITS reader without undue harm. This statement would hold more-or-less true whether we are discussing FITS, or any alternative standard once it has been around for awhile.<br class=""></div></div></blockquote><div><br class=""></div><div>I fully appreciate not creating disruption, and of course we don't want to invalidate existing files. However, somewhere we have to draw the line. It doesn't make sense to constrain advances or improvements if doing so will break a FITS reader that has been abandoned a decade (or much more) ago.</div><div><br class=""></div><div>I know the "once FITS, always FITS" mantra. I've always seen this as having two interpretations:</div><div><br class=""></div><div>1) Any FITS file that conforms to the FITS standard at any time must be readable.</div><div>2) Any software that reads a FITS file must be able to read any conforming FITS file, past or future.</div><div><br class=""></div><div>Absolutely no disagreement on point 1, particularly as one who is writing a new FITS viewer. Point 2 is a path locked towards obsolescence. Software can (and should) be updated.</div><div><br class=""></div><div>So while it appears that I feel strongly about ampersand characters, this argument is the real motivator.</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div class="">I guess the question is: can your idea be expressed in the proposed change to the Standard in a non-disruptive way?<br class=""></div></div></blockquote><div><br class=""></div></div></div><div class="">Off the top of my head? The continuation string would be "/&" and only be allowed at the end of the line.</div><div class=""><br class=""></div><div class="">STRKEY = 'here the ampersand is interpreted as a comment by older software' /&</div><div class="">CONTINUE= ' but is actually continued here' /&</div><div class="">CONTINUE= ' and ends' / with this comment</div><div class=""><br class=""></div><div class="">This is an error:</div><div class=""><br class=""></div><div class="">STRKEY = 'this string is not continued' /&</div><div class="">KEYWORD1= 42</div><div class=""><br class=""></div><div class="">Any non-space following the "/&" is also invalid as a continuation character:</div><div class=""><br class=""></div><div class="">STRKEY = 'this is not a continuation' /& one for all</div><div class="">CONTINUE= 'invalid file for the characters after the continuation' / comment</div><div class=""><br class=""></div><div class=""><div class="">but valid otherwise:</div></div><div class=""><br class=""></div><div class=""><div class="">STRKEY = 'this is not a continuation' /& one for all</div></div><div class="">STR2 = 'no problems here'</div><div class=""><br class=""></div><div class="">Section 4.1.2.3 says: "A space between the value and the slash is strongly recommended", so it's not *required*. This is another hint to the reader that "/&" is not a comment.</div><div class=""><br class=""></div><div class="">I would still argue that the comment should not span indefinite multiple lines as well, leaving the maximum comment:</div><div class=""><br class=""></div><div class="">STRKEY = 'string to continue here' /&</div><div class="">CONTINUE= '' / longest possible comment here ...</div><div class=""><br class=""></div><div class="">And given the above, I would dispense with the "CONTINUE" keyword as it's redundant, instead opting to use the same keyword:</div><div class=""><br class=""></div><div class=""><div class="">STRKEY = 'here the ampersand is interpreted as a comment by older software' /&</div><div class="">STRKEY = ' but is actually continued here' /&</div><div class="">STRKEY = ' and ends' / with this comment</div></div><div class=""><br class=""></div><div class="">This would cause no issue with existing FITS readers (that I can see), and is actually more in line with how things like HISTORY is used. This would define two long values with the same keyword:</div><div class=""><br class=""></div><div class=""><div class=""><div class="">STRKEY = 'this is a long string ' /&</div><div class="">STRKEY = 'continued on the next line, ending here' / optional comment</div><div class="">STRKEY = 'this is a second value' / with comment</div></div></div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Demitri</div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); font-family: 'Gill Sans'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div style="text-align: -webkit-auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="text-align: -webkit-auto; line-height: normal; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="text-align: -webkit-auto; line-height: normal; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">_________________________________________<br class="">Demitri Muna<br class=""><a href="http://muna.com" class="">http://muna.com</a></div><div style="text-align: -webkit-auto; line-height: normal; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class="">Department of Astronomy<br class="">Der Ohio State University<br class=""><br class=""></div><div style="text-align: -webkit-auto; line-height: normal; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">My Projects:</div><div style="text-align: -webkit-auto; line-height: normal; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><a href="http://nightlightapp.io" class="">http://nightlightapp.io</a><br class="">http://trillianverse.org</div><div style="text-align: -webkit-auto; line-height: normal; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><a href="http://scicoder.org" class="">http://scicoder.org</a><br class=""><br class=""></div></div></div></div></div></div></div></div></div>
</div>
<br class=""></body></html>