- (let ((process-environment
- (let* ((rest process-environment)
- (dest (cons nil nil))
- (prest dest)
- (path nil)
- cell)
- (while (and (setq cell (car rest))
- (not
- (if (string-match "^PATH=" cell)
- (setq path
- (format
- "PATH=%s:%s"
- mime-viewer/external-progs
- (substring cell (match-end 0))
- )))))
- (setcar prest cell)
- (setcdr prest (cons nil nil))
- (setq rest (cdr rest)
- prest (cdr prest))
- )
- (setcar
- prest
- (or path
- (format "PATH=%s" mime-viewer/external-progs)))
- (setcdr prest (cdr rest))
- dest)))
- (apply (function start-process) args)
- )