# Options, Windows file name case handling

**URL:** <https://swi-prolog.discourse.group/t/options-windows-file-name-case-handling/9746>\
**Category:** Announce\
**Created:** [July 18, 2026, 7:40pm UTC](https://swi-prolog.discourse.group/t/options-windows-file-name-case-handling/9746 "2026-07-18T19:40:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [July 18, 2026, 7:40pm UTC](https://swi-prolog.discourse.group/t/options-windows-file-name-case-handling/9746/1 "2026-07-18T19:40:51Z")

</div>

The current GIT version pushes two extensive updates

All **option processing** in the system now uses library(option) or the C PL\_scan\_options(). This implies that all option processing deals with both lists and dicts. A few places that allowed for repeating options, e.g., filter(+Filter) in archive\_open/4 have been changed to allow for filters(+List) with a backward compatibility emulation that warns on multiple filter(+Filter) options. These changes try to make option processing more transparent and uniform, ultimately dealing with the fact that Prolog defined predicates handle options as first wins, while C (and ISO) use last wins.

On Windows, canonical **file name handling** has been changed to use be _case preserving_, i.e., use the case as it appears on disk. Before this, Prolog communicated all file names as lower case.

Both should have none or very limited impact on user programs. Please report issues!
