modules: append trailing delimiter to MANPATH when set (#36678)
Update modulefile templates to append a trailing delimiter to MANPATH environment variable, if the modulefile sets it. With a trailing delimiter at ends of MANPATH's value, man will search the system man pages after searching the specific paths set. Using append-path/append_path to add this element, the module tool ensures it is appended only once. When modulefile is unloaded, the number of append attempt is decreased, thus the trailing delimiter is removed only if this number equals 0. Disclaimer: no path element should be appended to MANPATH by generated modulefiles. It should always be prepended to ensure this variable's value ends with the trailing delimiter. Fixes #11355.
This commit is contained in:
		 Xavier Delaruelle
					Xavier Delaruelle
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							bd2f78ae9a
						
					
				
				
					commit
					746eaaf01a
				
			| @@ -84,6 +84,10 @@ setenv("{{ cmd.name }}", "{{ cmd.value }}") | ||||
| unsetenv("{{ cmd.name }}") | ||||
| {% endif %} | ||||
| {% endfor %} | ||||
| {# Make sure system man pages are enabled by appending trailing delimiter to MANPATH #} | ||||
| {% if has_manpath_modifications %} | ||||
| append_path("MANPATH", "", ":") | ||||
| {% endif %} | ||||
| {% endblock %} | ||||
|  | ||||
| {% block footer %} | ||||
|   | ||||
| @@ -58,6 +58,10 @@ unsetenv {{ cmd.name }} | ||||
| {% endif %} | ||||
| {#  #} | ||||
| {% endfor %} | ||||
| {# Make sure system man pages are enabled by appending trailing delimiter to MANPATH #} | ||||
| {% if has_manpath_modifications %} | ||||
| append-path --delim ":" MANPATH "" | ||||
| {% endif %} | ||||
| {% endblock %} | ||||
|  | ||||
| {% block footer %} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user