Hi
I'm trying to save-add zwcad11 search path using a free lisp, that i found in internet, i have just modified it so i can save the courrent SRCHPATH in a text file but I don't be able to load the new settings.

As you know, ZWCAD doesn't support "VLA-PUT-SUPPORTPATH", but you can do the same thing by writing the paths directly into registry, just like how you read it from registry.
vl-registry-read is for reading, and vl-registry-write is to write back.
You can refer to Developer help to know the detail about how to use vl-registry-write function. Thanks!

We have confirmed that, even the vl-register-write function wrote the value into registry correctly, but when you do operation (like insert) , it still use the value in ZWCAD. that means, ZWCAD doesn't get the refreshed value from registry at once.

Currentyly we can't come up with a temporary solution. We have reported this problem to develop team to fix it, and also ask for the new function: vla-put-supportpath

When Emacs loads a Lisp library, it searches for the library in a list of directories specified by the variable load-path.

?User Option: load-path
The value of this variable is a list of directories to search when loading files with load. Each element is a string (which must be a directory name) or nil (which stands for the current working directory).

The value of load-path is initialized from the environment variable EMACSLOADPATH, if that exists; otherwise its default value is specified in emacs/src/epaths.h when Emacs is built. Then the list is expanded by adding subdirectories of the directories in the list.

The syntax of EMACSLOADPATH is the same as used for PATH; ??(or ?? according to the operating system) separates directory names, and ??is used for the current default directory. Here is an example of how to set your EMACSLOADPATH variable from a csh .login file:

setenv EMACSLOADPATH .:/user/bil/emacs:/usr/local/share/emacs/20.3/lisp
Here is how to set it using sh:

export EMACSLOADPATH
EMACSLOADPATH=.:/user/bil/emacs:/usr/local/share/emacs/20.3/lisp
Here is an example of code you can place in your init file (see Init File) to add several directories to the front of your default load-path:

(setq load-path
(append (list nil "/user/bil/emacs"
"/usr/local/lisplib"
"~/emacs")
load-path))
In this example, the path searches the current working directory first, followed then by the /user/bil/emacs directory, the /usr/local/lisplib directory, and the ~/emacs directory, which are then followed by the standard directories for Lisp code.

Dumping Emacs uses a special value of load-path. If the value of load-path at the end of dumping is unchanged (that is, still the same special value), the dumped Emacs switches to the ordinary load-path value when it starts up, as described above. But if load-path has any other value at the end of dumping, that value is used for execution of the dumped Emacs also.

Therefore, if you want to change load-path temporarily for loading a few libraries in site-init.el or site-load.el, you should bind load-path locally with let around the calls to load.

The default value of load-path, when running an Emacs which has been installed on the system, includes two special directories (and their subdirectories as well):

"/usr/local/share/emacs/version/site-lisp"
and

"/usr/local/share/emacs/site-lisp"
The first one is for locally installed packages for a particular Emacs version; the second is for locally installed packages meant for use with all installed Emacs versions.