-(defun nneething-possibly-change-directory (group &optional dir)
- (if (not group)
- ()
- (if (and nneething-group
- (string= group nneething-group))
- t
- (let (entry)
- (if (setq entry (assoc group nneething-group-alist))
- (progn
- (setq nneething-group group)
- (setq nneething-directory (nth 1 entry))
- (setq nneething-map (nth 2 entry))
- (setq nneething-active (nth 3 entry)))
- (setq nneething-group group)
- (setq nneething-directory dir)
- (setq nneething-map nil)
- (setq nneething-active (cons 1 0))
- (nneething-create-mapping)
- (setq nneething-group-alist
- (cons (list group dir nneething-map nneething-active)
- nneething-group-alist)))))))
+(defun nneething-possibly-change-directory (group &optional server)
+ (when (and server
+ (not (nneething-server-opened server)))
+ (nneething-open-server server))
+ (when (and group
+ (not (equal nneething-group group)))
+ (setq nneething-group group)
+ (setq nneething-map nil)
+ (setq nneething-active (cons 1 0))
+ (nneething-create-mapping)))