本帖最后由 cabinsummer 于 2011-9-13 12:58 编辑
其实这些程序的开发者没有完全理解操作者的习惯。
应该定义一个错误处理函数,用以恢复异常中断命令时的环境设置。
![](source/plugin/imc_colorcode/images/loading.gif) - (defun myerr(msg)
- (command "undo" "e")
- (setvar "osmode" os)
- (setq *error* olderr)
- )
在主程序里应该有
![](source/plugin/imc_colorcode/images/loading.gif) - (defun c:mycmd(/ os olderr)
- (setvar "cmdecho" 0)
- (command "undo" "be")
- (setq os (getvar "osmode"))
- (setq olderr *error*)
- (setq *error* myerr)
- ;;;用户代码
- ;;;(setvar "osmode" 0)
- (myerr)
- )
|