** When your program contains a fixed file name (like .completions or
.abbrev.defs), the file name usually needs to be different on operating systems with limited file name syntax.

Now you can avoid ad-hoc conditionals by using the function convert-standard-filename to convert the file name to a proper form for each operating system. Here is an example of use, from the file completions.el:

(defvar save-completions-file-name (convert-standard-filename "~/.completions") "*The filename to save completions to.")

This sets the variable save-completions-file-name to a value that depends on the operating system, because the definition of convert-standard-filename depends on the operating system. On Unix-like systems, it returns the specified file name unchanged. On MS-DOS, it adapts the name to fit the limitations of that system.