Index: epg.el =================================================================== RCS file: /cvs/root/epg/epg.el,v retrieving revision 1.188 diff -C2 -r1.188 epg.el *** epg.el 31 Jan 2007 03:27:46 -0000 1.188 --- epg.el 27 Feb 2007 11:14:01 -0000 *************** *** 1656,1660 **** '("--fixed-list-mode")) (if name (list name)))) ! keys string field index) (with-temp-buffer (apply #'call-process --- 1656,1660 ---- '("--fixed-list-mode")) (if name (list name)))) ! keys) (with-temp-buffer (apply #'call-process *************** *** 1664,1677 **** nil (list t nil) nil args) (goto-char (point-min)) ! (while (re-search-forward "^[a-z][a-z][a-z]:.*" nil t) ! (setq keys (cons (make-vector 15 nil) keys) ! string (match-string 0) ! index 0 ! field 0) ! (while (eq index ! (string-match "\\([^:]+\\)?:" string index)) ! (setq index (match-end 0)) ! (aset (car keys) field (match-string 1 string)) ! (setq field (1+ field)))) (nreverse keys)))) --- 1664,1676 ---- nil (list t nil) nil args) (goto-char (point-min)) ! (let ((line 0)) ! (while (not (eobp)) ! (goto-line (incf line)) ! (let ((fields (split-string (buffer-substring (point) ! (point-at-eol)) ! ":" nil))) ! (when (cddr fields) ! (unless (string-match "[dire]" (second fields)) ! (push (apply 'vector fields) keys)))))) (nreverse keys))))