diff options
| author | Karoly Lorentey | 2005-04-19 13:33:31 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-04-19 13:33:31 +0000 |
| commit | 8d6f9bce72ee94ed6c297b79a181eac3f5beca74 (patch) | |
| tree | 36cf3b6a5923171e371f9236eab36ad7de742b48 /lisp | |
| parent | 774a8da14bb2520b6adad223ab13f0b64f002872 (diff) | |
| parent | cd01ded928a8d082b9dbed6e9747c3d31b337b71 (diff) | |
| download | emacs-8d6f9bce72ee94ed6c297b79a181eac3f5beca74.tar.gz emacs-8d6f9bce72ee94ed6c297b79a181eac3f5beca74.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 66, 266-268)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-266
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-267
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-268
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-66
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-330
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 30 | ||||
| -rw-r--r-- | lisp/desktop.el | 7 | ||||
| -rw-r--r-- | lisp/emulation/cua-base.el | 18 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/gnus/qp.el | 11 | ||||
| -rw-r--r-- | lisp/isearch.el | 63 | ||||
| -rw-r--r-- | lisp/tooltip.el | 20 | ||||
| -rw-r--r-- | lisp/url/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/url/url.el | 26 |
9 files changed, 98 insertions, 86 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8b97c774aaa..4d8e8c6dd52 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,33 @@ | |||
| 1 | 2005-04-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * isearch.el (isearch-edit-string): Make the search-ring available for | ||
| 4 | minibuffer history commands. | ||
| 5 | (minibuffer-local-isearch-map): Remove bindings for M-p and M-n, | ||
| 6 | the default history commands now work just as well. | ||
| 7 | (isearch-ring-retreat-edit, isearch-ring-advance-edit): Remove. | ||
| 8 | |||
| 9 | 2005-04-18 Kim F. Storm <storm@cua.dk> | ||
| 10 | |||
| 11 | * emulation/cua-base.el (cua--pre-command-handler): Add more | ||
| 12 | elaborate check for shift modifier on non-window systems. | ||
| 13 | |||
| 14 | 2005-04-18 Lars Hansen <larsh@math.ku.dk> | ||
| 15 | |||
| 16 | * desktop.el: Make "--no-desktop" turn off `desktop-save-mode'. | ||
| 17 | |||
| 18 | 2005-04-18 Kim F. Storm <storm@cua.dk> | ||
| 19 | |||
| 20 | * tooltip.el (tooltip-show): Change second arg to USE-ECHO-AREA | ||
| 21 | and make it optional. Don't test tooltip-gud-echo-area here. | ||
| 22 | (tooltip-gud-process-output, gdb-tooltip-print): | ||
| 23 | Pass tooltip-gud-echo-area to tooltip-show. | ||
| 24 | (tooltip-help-tips): Remove second optional arg to tooltip-show. | ||
| 25 | |||
| 26 | 2005-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 27 | |||
| 28 | * tooltip.el (tooltip-mode): `emacs-quick-startup' and | ||
| 29 | `display-graphic-p' may not be bound yet. | ||
| 30 | |||
| 1 | 2005-04-17 Luc Teirlinck <teirllm@auburn.edu> | 31 | 2005-04-17 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 32 | ||
| 3 | * startup.el (command-line): No longer enable Xterm Mouse mode by | 33 | * startup.el (command-line): No longer enable Xterm Mouse mode by |
diff --git a/lisp/desktop.el b/lisp/desktop.el index ed663d375d5..8e81e8826fe 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -1030,9 +1030,10 @@ If there are no buffers left to create, kill the timer." | |||
| 1030 | 'after-init-hook | 1030 | 'after-init-hook |
| 1031 | '(lambda () | 1031 | '(lambda () |
| 1032 | (let ((key "--no-desktop")) | 1032 | (let ((key "--no-desktop")) |
| 1033 | (if (member key command-line-args) | 1033 | (when (member key command-line-args) |
| 1034 | (delete key command-line-args) | 1034 | (setq command-line-args (delete key command-line-args)) |
| 1035 | (when desktop-save-mode (desktop-read)))))) | 1035 | (setq desktop-save-mode nil))) |
| 1036 | (when desktop-save-mode (desktop-read)))) | ||
| 1036 | 1037 | ||
| 1037 | (provide 'desktop) | 1038 | (provide 'desktop) |
| 1038 | 1039 | ||
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 77e8f636931..6aeb4bab5a2 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el | |||
| @@ -1066,10 +1066,20 @@ If ARG is the atom `-', scroll upward by nearly full screen." | |||
| 1066 | ;; If rectangle is active, expand rectangle in specified direction and ignore the movement. | 1066 | ;; If rectangle is active, expand rectangle in specified direction and ignore the movement. |
| 1067 | (if movement | 1067 | (if movement |
| 1068 | (cond | 1068 | (cond |
| 1069 | ((memq 'shift (event-modifiers | 1069 | ((if window-system |
| 1070 | (aref (if window-system | 1070 | (memq 'shift (event-modifiers |
| 1071 | (this-single-command-raw-keys) | 1071 | (aref (this-single-command-raw-keys) 0))) |
| 1072 | (this-single-command-keys)) 0))) | 1072 | (or |
| 1073 | (memq 'shift (event-modifiers | ||
| 1074 | (aref (this-single-command-keys) 0))) | ||
| 1075 | ;; See if raw escape sequence maps to a shifted event, e.g. S-up or C-S-home. | ||
| 1076 | (and (boundp 'function-key-map) | ||
| 1077 | function-key-map | ||
| 1078 | (let ((ev (lookup-key function-key-map | ||
| 1079 | (this-single-command-raw-keys)))) | ||
| 1080 | (and (vector ev) | ||
| 1081 | (symbolp (setq ev (aref ev 0))) | ||
| 1082 | (string-match "S-" (symbol-name ev))))))) | ||
| 1073 | (unless mark-active | 1083 | (unless mark-active |
| 1074 | (push-mark-command nil t)) | 1084 | (push-mark-command nil t)) |
| 1075 | (setq cua--last-region-shifted t) | 1085 | (setq cua--last-region-shifted t) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 2ec1e0bc62e..f08f21fadb7 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2005-04-18 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * qp.el (quoted-printable-encode-region): Save excursion. | ||
| 4 | |||
| 1 | 2005-04-13 Katsumi Yamaoka <yamaoka@jpl.org> | 5 | 2005-04-13 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 6 | ||
| 3 | * gnus-art.el (gnus-mime-inline-part): Use mm-string-to-multibyte. | 7 | * gnus-art.el (gnus-mime-inline-part): Use mm-string-to-multibyte. |
diff --git a/lisp/gnus/qp.el b/lisp/gnus/qp.el index 3789e0efda8..1004abeb02b 100644 --- a/lisp/gnus/qp.el +++ b/lisp/gnus/qp.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; qp.el --- Quoted-Printable functions | 1 | ;;; qp.el --- Quoted-Printable functions |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> | 6 | ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 6 | ;; Keywords: mail, extensions | 7 | ;; Keywords: mail, extensions |
| @@ -100,15 +101,15 @@ You should probably avoid non-ASCII characters in this arg. | |||
| 100 | If `mm-use-ultra-safe-encoding' is set, fold lines unconditionally and | 101 | If `mm-use-ultra-safe-encoding' is set, fold lines unconditionally and |
| 101 | encode lines starting with \"From\"." | 102 | encode lines starting with \"From\"." |
| 102 | (interactive "r") | 103 | (interactive "r") |
| 103 | (goto-char from) | ||
| 104 | (if (re-search-forward (mm-string-to-multibyte "[^\x0-\x7f\x80-\xff]") | ||
| 105 | to t) | ||
| 106 | (error "Multibyte character in QP encoding region")) | ||
| 107 | (unless class | 104 | (unless class |
| 108 | ;; Avoid using 8bit characters. = is \075. | 105 | ;; Avoid using 8bit characters. = is \075. |
| 109 | ;; Equivalent to "^\000-\007\013\015-\037\200-\377=" | 106 | ;; Equivalent to "^\000-\007\013\015-\037\200-\377=" |
| 110 | (setq class "\010-\012\014\040-\074\076-\177")) | 107 | (setq class "\010-\012\014\040-\074\076-\177")) |
| 111 | (save-excursion | 108 | (save-excursion |
| 109 | (goto-char from) | ||
| 110 | (if (re-search-forward (mm-string-to-multibyte "[^\x0-\x7f\x80-\xff]") | ||
| 111 | to t) | ||
| 112 | (error "Multibyte character in QP encoding region")) | ||
| 112 | (save-restriction | 113 | (save-restriction |
| 113 | (narrow-to-region from to) | 114 | (narrow-to-region from to) |
| 114 | ;; Encode all the non-ascii and control characters. | 115 | ;; Encode all the non-ascii and control characters. |
diff --git a/lisp/isearch.el b/lisp/isearch.el index dfd50b2a8a1..e01f2c0c0ec 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -405,12 +405,6 @@ A value of nil means highlight all matches." | |||
| 405 | (let ((map (make-sparse-keymap))) | 405 | (let ((map (make-sparse-keymap))) |
| 406 | (set-keymap-parent map minibuffer-local-map) | 406 | (set-keymap-parent map minibuffer-local-map) |
| 407 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) | 407 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) |
| 408 | (define-key map "\M-n" 'isearch-ring-advance-edit) | ||
| 409 | (define-key map [next] 'isearch-ring-advance-edit) | ||
| 410 | (define-key map [down] 'isearch-ring-advance-edit) | ||
| 411 | (define-key map "\M-p" 'isearch-ring-retreat-edit) | ||
| 412 | (define-key map [prior] 'isearch-ring-retreat-edit) | ||
| 413 | (define-key map [up] 'isearch-ring-retreat-edit) | ||
| 414 | (define-key map "\M-\t" 'isearch-complete-edit) | 408 | (define-key map "\M-\t" 'isearch-complete-edit) |
| 415 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) | 409 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) |
| 416 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) | 410 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) |
| @@ -937,8 +931,6 @@ The following additional command keys are active while editing. | |||
| 937 | \\[isearch-nonincremental-exit-minibuffer] to do one nonincremental search. | 931 | \\[isearch-nonincremental-exit-minibuffer] to do one nonincremental search. |
| 938 | \\[isearch-forward-exit-minibuffer] to resume isearching forward. | 932 | \\[isearch-forward-exit-minibuffer] to resume isearching forward. |
| 939 | \\[isearch-reverse-exit-minibuffer] to resume isearching backward. | 933 | \\[isearch-reverse-exit-minibuffer] to resume isearching backward. |
| 940 | \\[isearch-ring-advance-edit] to replace the search string with the next item in the search ring. | ||
| 941 | \\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. | ||
| 942 | \\[isearch-complete-edit] to complete the search string using the search ring. | 934 | \\[isearch-complete-edit] to complete the search string using the search ring. |
| 943 | \\<isearch-mode-map> | 935 | \\<isearch-mode-map> |
| 944 | If first char entered is \\[isearch-yank-word-or-char], then do word search instead." | 936 | If first char entered is \\[isearch-yank-word-or-char], then do word search instead." |
| @@ -1024,12 +1016,12 @@ If first char entered is \\[isearch-yank-word-or-char], then do word search inst | |||
| 1024 | (isearch-unread e)) | 1016 | (isearch-unread e)) |
| 1025 | (setq cursor-in-echo-area nil) | 1017 | (setq cursor-in-echo-area nil) |
| 1026 | (setq isearch-new-string | 1018 | (setq isearch-new-string |
| 1027 | (let (junk-ring) | 1019 | (read-from-minibuffer |
| 1028 | (read-from-minibuffer | 1020 | (isearch-message-prefix nil nil isearch-nonincremental) |
| 1029 | (isearch-message-prefix nil nil isearch-nonincremental) | 1021 | isearch-string |
| 1030 | isearch-string | 1022 | minibuffer-local-isearch-map nil |
| 1031 | minibuffer-local-isearch-map nil | 1023 | (if isearch-regexp 'regexp-search-ring 'search-ring) |
| 1032 | 'junk-ring nil t)) | 1024 | nil t) |
| 1033 | isearch-new-message | 1025 | isearch-new-message |
| 1034 | (mapconcat 'isearch-text-char-description | 1026 | (mapconcat 'isearch-text-char-description |
| 1035 | isearch-new-string ""))) | 1027 | isearch-new-string ""))) |
| @@ -1860,49 +1852,6 @@ Obsolete." | |||
| 1860 | (interactive) | 1852 | (interactive) |
| 1861 | (isearch-ring-adjust nil)) | 1853 | (isearch-ring-adjust nil)) |
| 1862 | 1854 | ||
| 1863 | (defun isearch-ring-advance-edit (n) | ||
| 1864 | "Insert the next element of the search history into the minibuffer. | ||
| 1865 | With prefix arg N, insert the Nth element." | ||
| 1866 | (interactive "p") | ||
| 1867 | (let* ((yank-pointer-name (if isearch-regexp | ||
| 1868 | 'regexp-search-ring-yank-pointer | ||
| 1869 | 'search-ring-yank-pointer)) | ||
| 1870 | (yank-pointer (eval yank-pointer-name)) | ||
| 1871 | (ring (if isearch-regexp regexp-search-ring search-ring)) | ||
| 1872 | (length (length ring))) | ||
| 1873 | (if (zerop length) | ||
| 1874 | () | ||
| 1875 | (set yank-pointer-name | ||
| 1876 | (setq yank-pointer | ||
| 1877 | (mod (- (or yank-pointer 0) n) | ||
| 1878 | length))) | ||
| 1879 | |||
| 1880 | (delete-field) | ||
| 1881 | (insert (nth yank-pointer ring)) | ||
| 1882 | (goto-char (point-max))))) | ||
| 1883 | |||
| 1884 | (defun isearch-ring-retreat-edit (n) | ||
| 1885 | "Insert the previous element of the search history into the minibuffer. | ||
| 1886 | With prefix arg N, insert the Nth element." | ||
| 1887 | (interactive "p") | ||
| 1888 | (isearch-ring-advance-edit (- n))) | ||
| 1889 | |||
| 1890 | ;;(defun isearch-ring-adjust-edit (advance) | ||
| 1891 | ;; "Use the next or previous search string in the ring while in minibuffer." | ||
| 1892 | ;; (isearch-ring-adjust1 advance) | ||
| 1893 | ;; (erase-buffer) | ||
| 1894 | ;; (insert isearch-string)) | ||
| 1895 | |||
| 1896 | ;;(defun isearch-ring-advance-edit () | ||
| 1897 | ;; (interactive) | ||
| 1898 | ;; (isearch-ring-adjust-edit 'advance)) | ||
| 1899 | |||
| 1900 | ;;(defun isearch-ring-retreat-edit () | ||
| 1901 | ;; "Retreat to the previous search string in the ring while in the minibuffer." | ||
| 1902 | ;; (interactive) | ||
| 1903 | ;; (isearch-ring-adjust-edit nil)) | ||
| 1904 | |||
| 1905 | |||
| 1906 | (defun isearch-complete1 () | 1855 | (defun isearch-complete1 () |
| 1907 | ;; Helper for isearch-complete and isearch-complete-edit | 1856 | ;; Helper for isearch-complete and isearch-complete-edit |
| 1908 | ;; Return t if completion OK, nil if no completion exists. | 1857 | ;; Return t if completion OK, nil if no completion exists. |
diff --git a/lisp/tooltip.el b/lisp/tooltip.el index c903dbac523..d70e20e5b6b 100644 --- a/lisp/tooltip.el +++ b/lisp/tooltip.el | |||
| @@ -188,8 +188,9 @@ With ARG, turn tooltip mode on if and only if ARG is positive." | |||
| 188 | ;; If you change the :init-value below, you also need to change the | 188 | ;; If you change the :init-value below, you also need to change the |
| 189 | ;; corresponding code in startup.el. | 189 | ;; corresponding code in startup.el. |
| 190 | :init-value (not (or noninteractive | 190 | :init-value (not (or noninteractive |
| 191 | emacs-quick-startup | 191 | (and (boundp 'emacs-quick-startup) emacs-quick-startup) |
| 192 | (not (display-graphic-p)) | 192 | (not (and (fboundp 'display-graphic-p) |
| 193 | (display-graphic-p))) | ||
| 193 | (not (fboundp 'x-show-tip)))) | 194 | (not (fboundp 'x-show-tip)))) |
| 194 | :group 'tooltip | 195 | :group 'tooltip |
| 195 | (unless (or (null tooltip-mode) (fboundp 'x-show-tip)) | 196 | (unless (or (null tooltip-mode) (fboundp 'x-show-tip)) |
| @@ -289,7 +290,7 @@ change the existing association. Value is the resulting alist." | |||
| 289 | (push (cons key value) alist)) | 290 | (push (cons key value) alist)) |
| 290 | alist)) | 291 | alist)) |
| 291 | 292 | ||
| 292 | (defun tooltip-show (text gud-tip) | 293 | (defun tooltip-show (text &optional use-echo-area) |
| 293 | "Show a tooltip window displaying TEXT. | 294 | "Show a tooltip window displaying TEXT. |
| 294 | 295 | ||
| 295 | Text larger than `x-max-tooltip-size' is clipped. | 296 | Text larger than `x-max-tooltip-size' is clipped. |
| @@ -300,8 +301,9 @@ is displayed. Otherwise, the tooltip pops at offsets specified by | |||
| 300 | `tooltip-x-offset' and `tooltip-y-offset' from the current mouse | 301 | `tooltip-x-offset' and `tooltip-y-offset' from the current mouse |
| 301 | position. | 302 | position. |
| 302 | 303 | ||
| 303 | GUD-TIP is t if the tooltip is from a GUD session and nil otherwise." | 304 | Optional second arg USE-ECHO-AREA non-nil means to show tooltip |
| 304 | (if (and gud-tip tooltip-gud-echo-area) | 305 | in echo area." |
| 306 | (if use-echo-area | ||
| 305 | (message "%s" text) | 307 | (message "%s" text) |
| 306 | (condition-case error | 308 | (condition-case error |
| 307 | (let ((params (copy-sequence tooltip-frame-parameters)) | 309 | (let ((params (copy-sequence tooltip-frame-parameters)) |
| @@ -417,7 +419,8 @@ This event can be examined by forms in TOOLTIP-GUD-DISPLAY.") | |||
| 417 | (defun tooltip-gud-process-output (process output) | 419 | (defun tooltip-gud-process-output (process output) |
| 418 | "Process debugger output and show it in a tooltip window." | 420 | "Process debugger output and show it in a tooltip window." |
| 419 | (set-process-filter process tooltip-gud-original-filter) | 421 | (set-process-filter process tooltip-gud-original-filter) |
| 420 | (tooltip-show (tooltip-strip-prompt process output) t)) | 422 | (tooltip-show (tooltip-strip-prompt process output) |
| 423 | tooltip-gud-echo-area)) | ||
| 421 | 424 | ||
| 422 | (defun tooltip-gud-print-command (expr) | 425 | (defun tooltip-gud-print-command (expr) |
| 423 | "Return a suitable command to print the expression EXPR. | 426 | "Return a suitable command to print the expression EXPR. |
| @@ -464,7 +467,8 @@ This function must return nil if it doesn't handle EVENT." | |||
| 464 | (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer) | 467 | (with-current-buffer (gdb-get-buffer 'gdb-partial-output-buffer) |
| 465 | (let ((string (buffer-string))) | 468 | (let ((string (buffer-string))) |
| 466 | ;; remove newline for tooltip-gud-echo-area | 469 | ;; remove newline for tooltip-gud-echo-area |
| 467 | (substring string 0 (- (length string) 1)))) t)) | 470 | (substring string 0 (- (length string) 1)))) |
| 471 | tooltip-gud-echo-area)) | ||
| 468 | 472 | ||
| 469 | 473 | ||
| 470 | ;;; Tooltip help. | 474 | ;;; Tooltip help. |
| @@ -497,7 +501,7 @@ This is installed on the hook `tooltip-hook', which is run when | |||
| 497 | the timer with ID `tooltip-timeout-id' fires. | 501 | the timer with ID `tooltip-timeout-id' fires. |
| 498 | Value is non-nil if this function handled the tip." | 502 | Value is non-nil if this function handled the tip." |
| 499 | (when (stringp tooltip-help-message) | 503 | (when (stringp tooltip-help-message) |
| 500 | (tooltip-show tooltip-help-message nil) | 504 | (tooltip-show tooltip-help-message) |
| 501 | t)) | 505 | t)) |
| 502 | 506 | ||
| 503 | (provide 'tooltip) | 507 | (provide 'tooltip) |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 82b7f64dc01..a023bdf18c7 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2005-04-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * url.el (url-retrieve-synchronously): Work around the fact that | ||
| 4 | url-http sometimes doesn't call the callback. | ||
| 5 | |||
| 1 | 2005-04-04 Lute Kamstra <lute@gnu.org> | 6 | 2005-04-04 Lute Kamstra <lute@gnu.org> |
| 2 | 7 | ||
| 3 | * url-handlers.el (url-handler-mode): Specify :group. | 8 | * url-handlers.el (url-handler-mode): Specify :group. |
diff --git a/lisp/url/url.el b/lisp/url/url.el index a9fd46bc23a..05ef85c9300 100644 --- a/lisp/url/url.el +++ b/lisp/url/url.el | |||
| @@ -180,15 +180,23 @@ no further processing). URL is either a string or a parsed URL." | |||
| 180 | (url-debug 'retrieval | 180 | (url-debug 'retrieval |
| 181 | "Spinning in url-retrieve-synchronously: %S (%S)" | 181 | "Spinning in url-retrieve-synchronously: %S (%S)" |
| 182 | retrieval-done asynch-buffer) | 182 | retrieval-done asynch-buffer) |
| 183 | ;; We used to use `sit-for' here, but in some cases it wouldn't | 183 | (if (memq (process-status proc) '(closed exit signal failed)) |
| 184 | ;; work because apparently pending keyboard input would always | 184 | ;; FIXME: It's not clear whether url-retrieve's callback is |
| 185 | ;; interrupt it before it got a chance to handle process input. | 185 | ;; guaranteed to be called or not. It seems that url-http |
| 186 | ;; `sleep-for' was tried but it lead to other forms of | 186 | ;; decides sometimes consciously not to call it, so it's not |
| 187 | ;; hanging. --Stef | 187 | ;; clear that it's a bug, but even if we need to decide how |
| 188 | (unless (accept-process-output proc) | 188 | ;; url-http can then warn us that the download has completed. |
| 189 | ;; accept-process-output returned nil, maybe because the process | 189 | ;; In the mean time, we use this here workaround. |
| 190 | ;; exited (and may have been replaced with another). | 190 | (setq retrieval-done t) |
| 191 | (setq proc (get-buffer-process asynch-buffer))))) | 191 | ;; We used to use `sit-for' here, but in some cases it wouldn't |
| 192 | ;; work because apparently pending keyboard input would always | ||
| 193 | ;; interrupt it before it got a chance to handle process input. | ||
| 194 | ;; `sleep-for' was tried but it lead to other forms of | ||
| 195 | ;; hanging. --Stef | ||
| 196 | (unless (accept-process-output proc) | ||
| 197 | ;; accept-process-output returned nil, maybe because the process | ||
| 198 | ;; exited (and may have been replaced with another). | ||
| 199 | (setq proc (get-buffer-process asynch-buffer)))))) | ||
| 192 | asynch-buffer))) | 200 | asynch-buffer))) |
| 193 | 201 | ||
| 194 | (defun url-mm-callback (&rest ignored) | 202 | (defun url-mm-callback (&rest ignored) |