﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1001	Do not implicitly expand ~ in pathnames	Mario Domenech Goulart		"Some procedures available in Chicken implicitly expand {{{~}}} to the user home directory if it is the first character in pathnames.  They also expand environment variables if pathnames start with {{{$}}}.

The expansions are performed by {{{##sys#expand-home-path}}} (library.scm).

Florian Zumbiehl submited a [https://lists.nongnu.org/archive/html/chicken-hackers/2013-03/msg00062.html patch] to chicken-hackers proposing the removal of  {{{##sys#expand-home-path}}}.  It received some modifications by other contributors.  The most recent version of that patch at the time of this writing is [https://lists.nongnu.org/archive/html/chicken-hackers/2013-03/msg00154.html here].

This change is controversial, since it may break code that rely on the implicit expansion of pathnames. On the other hand, implicit expansion of pathnames may lead to unexpected behaviors or even security vulnerabilities ([https://lists.nongnu.org/archive/html/chicken-hackers/2013-03/msg00137.html examples]).

Another source of controversy is that some people consider the implicit expansion of pathnames as a [https://lists.nongnu.org/archive/html/chicken-hackers/2013-03/msg00131.html convenience] and other people consider it [https://lists.nongnu.org/archive/html/chicken-hackers/2013-03/msg00138.html inconvenient].

Alternatives to minimize or work around the possible breakage caused by the removal of the implicit expansion of pathnames have been proposed along the chicken-hackers thread in question.

It seems that there is a consensus on the removal of the implicit expansion of environment variables in pathnames, so this change request is to eliminate the implicit expansion of {{{~}}} in pathnames, which is performed by some procedures provided by the Chicken core.

The discussion period is open and will end on 2013-04-11, when the official poll will be conducted."	change request	new	major	4.9.0	unknown	4.8.x		##sys#expand-home-path, ~ expansion		
