]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/mpc.el (mpc--status-timer-run): Disable timer if not displayed.
authorStefan Monnier <monnier@iro.umontreal.ca>
Sun, 6 Apr 2014 13:08:00 +0000 (09:08 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sun, 6 Apr 2014 13:08:00 +0000 (09:08 -0400)
(mpc--status-idle-timer-run): Use mpc--status-timer-run.

lisp/ChangeLog
lisp/mpc.el

index 2084cbbb7b62af664a4c0c424d24e085c4404712..88cff6fe0148ab124db910167aa54aa548502d7e 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * mpc.el (mpc--status-timer-run): Disable timer if not displayed.
+       (mpc--status-idle-timer-run): Use mpc--status-timer-run.
+
 2014-04-05  Glenn Morris  <rgm@gnu.org>
 
        * help.el (view-lossage): Doc tweak.
        face-spec-choose.  (Bug#16378)
        (make-face-x-resource-internal): Do nothing when
        inhibit-x-resources is non-nil.  Don't touch the default face if
-       reversed video is given--as was done in previous versions of
-       Emacs.
+       reversed video is given--as was done in previous versions of Emacs.
        (face-set-after-frame-default): Don't call
        make-face-x-resource-internal here.  (Bug#16434)
 
 2014-04-04  Tassilo Horn  <tsdh@gnu.org>
 
-       * doc-view.el (doc-view-bookmark-jump): Use
-       `bookmark-after-jump-hook' to jump to the right page after the
+       * doc-view.el (doc-view-bookmark-jump):
+       Use `bookmark-after-jump-hook' to jump to the right page after the
        buffer is shown in a window.  (bug#16090)
 
 2014-04-04  Eli Zaretskii  <eliz@gnu.org>
index 921b5fc8b8992eaf64b17466e1eb90ac62472a75..d89231e81b91df7a1e9428daf8598ba362e1627c 100644 (file)
@@ -491,9 +491,13 @@ to call FUN for any change whatsoever.")
     (cancel-timer mpc--status-timer)
     (setq mpc--status-timer nil)))
 (defun mpc--status-timer-run ()
-  (with-demoted-errors "MPC: %s"
+  (with-demoted-errors "MPC: %S"
     (when (process-get (mpc-proc) 'ready)
-      (with-local-quit (mpc-status-refresh)))))
+      (let* ((buf (mpc-proc-buffer (mpc-proc) 'status))
+             (win (get-buffer-window buf t)))
+        (if (not win)
+            (mpc--status-timer-stop)
+          (with-local-quit (mpc-status-refresh)))))))
 
 (defvar mpc--status-idle-timer nil)
 (defun mpc--status-idle-timer-start ()
@@ -518,10 +522,8 @@ to call FUN for any change whatsoever.")
           ;; client starts playback, we may get a chance to notice it.
           (run-with-idle-timer 10 t 'mpc--status-idle-timer-run))))
 (defun mpc--status-idle-timer-run ()
-  (when (process-get (mpc-proc) 'ready)
-    (with-demoted-errors "MPC: %s"
-        (with-local-quit (mpc-status-refresh))))
-  (mpc--status-timer-start))
+  (mpc--status-timer-start)
+  (mpc--status-timer-run))
 
 (defun mpc--status-timers-refresh ()
   "Start/stop the timers according to whether a song is playing."