emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101721: Modify url-retrieve and rela


From: Lars Magne Ingebrigtsen
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101721: Modify url-retrieve and related functions and structures to respect a
Date: Sat, 02 Oct 2010 04:04:20 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101721
committer: Lars Magne Ingebrigtsen <address@hidden>
branch nick: trunk
timestamp: Sat 2010-10-02 04:04:20 +0200
message:
  Modify url-retrieve and related functions and structures to respect a
  `silent' flag to signal that the operation should be silent.
modified:
  lisp/url/ChangeLog
  lisp/url/url-http.el
  lisp/url/url-parse.el
  lisp/url/url-util.el
  lisp/url/url.el
=== modified file 'lisp/url/ChangeLog'
--- a/lisp/url/ChangeLog        2010-10-01 14:49:14 +0000
+++ b/lisp/url/ChangeLog        2010-10-02 02:04:20 +0000
@@ -1,3 +1,17 @@
+2010-10-02  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * url-util.el (url-display-percentage): Don't message when the URL
+       is silent.
+       (url-lazy-message): Ditto.
+
+       * url-http.el (url-http-parse-headers): Pass the SILENT parameter
+       back to the fetching function.
+
+       * url.el (url-retrieve): Add a silent parameter.
+       (url-retrieve-internal): Ditto.
+
+       * url-parse.el (url): Add a `silent' slot in the URL struct.
+
 2010-10-01  Lars Magne Ingebrigtsen  <address@hidden>
 
        * url-cookie.el (url-cookie-handle-set-cookie): Use

=== modified file 'lisp/url/url-http.el'
--- a/lisp/url/url-http.el      2010-10-01 14:05:25 +0000
+++ b/lisp/url/url-http.el      2010-10-02 02:04:20 +0000
@@ -643,7 +643,8 @@
                   (set (make-local-variable 'url-redirect-buffer)
                        (url-retrieve-internal
                         redirect-uri url-callback-function
-                        url-callback-arguments))
+                        url-callback-arguments
+                        (url-silent url-current-object)))
                   (url-mark-buffer-as-dead buffer))
               ;; We hit url-max-redirections, so issue an error and
               ;; stop redirecting.

=== modified file 'lisp/url/url-parse.el'
--- a/lisp/url/url-parse.el     2010-06-22 16:48:53 +0000
+++ b/lisp/url/url-parse.el     2010-10-02 02:04:20 +0000
@@ -36,7 +36,7 @@
                           (&optional type user password host portspec filename
                                      target attributes fullness))
             (:copier nil))
-  type user password host portspec filename target attributes fullness)
+  type user password host portspec filename target attributes fullness silent)
 
 (defsubst url-port (urlobj)
   (or (url-portspec urlobj)

=== modified file 'lisp/url/url-util.el'
--- a/lisp/url/url-util.el      2010-09-11 01:58:42 +0000
+++ b/lisp/url/url-util.el      2010-10-02 02:04:20 +0000
@@ -177,11 +177,17 @@
 (defun url-lazy-message (&rest args)
   "Just like `message', but is a no-op if called more than once a second.
 Will not do anything if `url-show-status' is nil."
-  (if (or (null url-show-status)
+  (if (or (and url-current-object
+              (url-silent url-current-object))
+         (null url-show-status)
          (active-minibuffer-window)
          (= url-lazy-message-time
             (setq url-lazy-message-time (nth 1 (current-time)))))
       nil
+    (message "hei: %s" url-current-object)
+    (with-current-buffer (get-buffer-create "back")
+      (let ((standard-output (current-buffer)))
+       (backtrace)))
     (apply 'message args)))
 
 ;;;###autoload
@@ -222,7 +228,9 @@
 
 ;;;###autoload
 (defun url-display-percentage (fmt perc &rest args)
-  (when url-show-status
+  (when (and url-show-status
+            (or (null url-current-object)
+                (not (url-silent url-current-object))))
     (if (null fmt)
        (if (fboundp 'clear-progress-display)
            (clear-progress-display))

=== modified file 'lisp/url/url.el'
--- a/lisp/url/url.el   2010-03-19 02:55:37 +0000
+++ b/lisp/url/url.el   2010-10-02 02:04:20 +0000
@@ -121,7 +121,7 @@
 variable in the original buffer as a forwarding pointer.")
 
 ;;;###autoload
-(defun url-retrieve (url callback &optional cbargs)
+(defun url-retrieve (url callback &optional cbargs silent)
   "Retrieve URL asynchronously and call CALLBACK with CBARGS when finished.
 URL is either a string or a parsed URL.
 
@@ -143,7 +143,9 @@
 The variables `url-request-data', `url-request-method' and
 `url-request-extra-headers' can be dynamically bound around the
 request; dynamic binding of other variables doesn't necessarily
-take effect."
+take effect.
+
+If SILENT, then don't message progress reports and the like."
 ;;; XXX: There is code in Emacs that does dynamic binding
 ;;; of the following variables around url-retrieve:
 ;;; url-standalone-mode, url-gateway-unplugged, w3-honor-stylesheets,
@@ -154,12 +156,14 @@
 ;;; webmail.el; the latter should be updated.  Is
 ;;; url-cookie-multiple-line needed anymore?  The other url-cookie-*
 ;;; are (for now) only used in synchronous retrievals.
-  (url-retrieve-internal url callback (cons nil cbargs)))
+  (url-retrieve-internal url callback (cons nil cbargs) silent))
 
-(defun url-retrieve-internal (url callback cbargs)
+(defun url-retrieve-internal (url callback cbargs &optional silent)
   "Internal function; external interface is `url-retrieve'.
 CBARGS is what the callback will actually receive - the first item is
-the list of events, as described in the docstring of `url-retrieve'."
+the list of events, as described in the docstring of `url-retrieve'.
+
+If SILENT, don't message progress reports and the like."
   (url-do-setup)
   (url-gc-dead-buffers)
   (if (stringp url)
@@ -170,6 +174,7 @@
       (error "Must provide a callback function to url-retrieve"))
   (unless (url-type url)
     (error "Bad url: %s" (url-recreate-url url)))
+  (setf (url-silent url) silent)
   (let ((loader (url-scheme-get-property (url-type url) 'loader))
        (url-using-proxy (if (url-host url)
                             (url-find-proxy-for-url url (url-host url))))
@@ -179,7 +184,8 @@
        (setq asynch t
              loader 'url-proxy))
     (if asynch
-       (setq buffer (funcall loader url callback cbargs))
+       (let ((url-current-object url))
+         (setq buffer (funcall loader url callback cbargs)))
       (setq buffer (funcall loader url))
       (if buffer
          (with-current-buffer buffer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]