extracthelp extracts the help lines of all M-files found int he current folder and writes them in corresponding files in a specified sub-folder.
The function is very useful in combination with the 'pcode'. The function pcode creates a pre-parsed P-files, that can be distributed to users who should not have access to the original code. However the P-files do not preserve the help information of the original functions. The 'extracthelp' function exports only the help information, thus allowing the users to use the 'help' function as usual.
extracthelp() % create the help M-files in a \phelp folder
pcode *.m % convert all .M files to .P files
The \phelp folder contains thus the files you can safely distribute.
Andrey Popov (2020). extracthelp (https://www.mathworks.com/matlabcentral/fileexchange/21431-extracthelp), MATLAB Central File Exchange. Retrieved .
I'd prefer "mkdir(foldername)" instead of "eval(['mkdir ' folder_name])".
The "fclose('all')" is not helpful, if a file cannot be opened. There is also no reason to close all files in case of success, prefer "fclose(F)".
Under Linux (and as far as I can see under modern Matlab versions under Windows also) the file separators are CHAR(10). Therefore checking for 13 is not secure.
You use "ind" as loop index of two nested loops. Although this might works, it is recommended to avoid this.
It doesn't seem to be compatible with UNIX, OSX. It needs changes from '\' to filesep and something else. As is, it generates error:
md phelp: Bus error
Updated author information and file finctions
Fixed bug by creating and accessing folders under Unix/Mac.
License changed from GPL to BDS inside the M file.