<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
I’ve not gone through 100% of the edge cases, but for this one I would think both add and remove would not affect “.” or “foo.”.
<div class=""><br class="">
</div>
<div class="">Brian<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Oct 11, 2023, at 9:50 AM, David Lloyd <<a href="mailto:david.lloyd@redhat.com" class="">david.lloyd@redhat.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">For
 the edge case where the file ends in, /or/ comprises, a solitary `.`, would `removeExtension()` remove the `.` and `addExtension("")` add it back, or would both methods leave the path unaffected (either one would satisfy the invariant)? Or some other behavior?</span></div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>