]> rhodes.io Git - iplayer-el.git/commitdiff
Christophe Weblog Wiki Code Publications Music
slightly nicer iplayer-progress management
authorChristophe Rhodes <csr21@cantab.net>
Thu, 24 Jul 2014 18:40:14 +0000 (19:40 +0100)
committerChristophe Rhodes <csr21@cantab.net>
Thu, 24 Jul 2014 18:40:14 +0000 (19:40 +0100)
iplayer.el

index cb61f3b5bf4db81d8e37e63c9b9dfc45ceb368fe..6c4352021471045b4a493591bd23ed3d17f01a08 100644 (file)
@@ -226,17 +226,20 @@ The presets are defined in the variable `iplayer-presets'."
         (state (process-get process 'iplayer-state))
         (progress (process-get process 'iplayer-progress)))
     (with-current-buffer (get-buffer-create "*iplayer-progress*")
-      (goto-char (point-min))
-      (let ((found (re-search-forward (format "^%s:" id) nil 'end)))
-        (unless found
-          (unless (= (point) (progn (forward-line 0) (point)))
-            (goto-char (point-max))
-            (newline)))
-        (forward-line 0)
-        (let ((beg (point)))
-          (end-of-line)
-          (delete-region beg (point)))
-        (insert (format "%s: %s %s%%" id state progress))))))
+      (special-mode)
+      (save-excursion
+        (goto-char (point-min))
+        (let ((found (re-search-forward (format "^%s:" id) nil 'end))
+              (inhibit-read-only t))
+          (unless found
+            (unless (= (point) (progn (forward-line 0) (point)))
+              (goto-char (point-max))
+              (newline)))
+          (forward-line 0)
+          (let ((beg (point)))
+            (end-of-line)
+            (delete-region beg (point)))
+          (insert (format "%s: %s %s%%" id state progress)))))))
 
 (defun iplayer-download-process-filter (process string)
   (catch 'no-progress