aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoam Postavsky2016-10-06 21:20:28 -0400
committerNoam Postavsky2016-10-06 21:20:32 -0400
commitfb12af2084a751566ff5445654d75f5653f2253d (patch)
treef74f5430d29259671253c34392c72c7402f4345f
parentc4a5e7e18d357c168900215165b0cb41bad06a83 (diff)
parent623401267a66929a1c13c264e0dc40ba2599500f (diff)
downloademacs-fb12af2084a751566ff5445654d75f5653f2253d.tar.gz
emacs-fb12af2084a751566ff5445654d75f5653f2253d.zip
; Merge: some backports from master
Regression in Emacs 25.1 * "Don't require isearch-update before isearch-done" This bug actually crashes in emacs-25 * "Avoid error in icalendar--read-element" Doc fixes * "Make a menu less ambiguous" * "Doc fix for url-http"
-rw-r--r--doc/emacs/custom.texi2
-rw-r--r--lisp/calendar/icalendar.el8
-rw-r--r--lisp/isearch.el7
-rw-r--r--lisp/url/url-http.el15
-rw-r--r--test/automated/isearch-tests.el8
5 files changed, 27 insertions, 13 deletions
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index c1093353757..771633623f5 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -1396,7 +1396,7 @@ init file (@pxref{Init Rebinding}).
1396* Minibuffer Maps:: The minibuffer uses its own local keymaps. 1396* Minibuffer Maps:: The minibuffer uses its own local keymaps.
1397* Rebinding:: How to redefine one key's meaning conveniently. 1397* Rebinding:: How to redefine one key's meaning conveniently.
1398* Init Rebinding:: Rebinding keys with your initialization file. 1398* Init Rebinding:: Rebinding keys with your initialization file.
1399* Modifier Keys:: Using modifier keys in key bindings. 1399* Modifier Keys:: Using modifier keys.
1400* Function Keys:: Rebinding terminal function keys. 1400* Function Keys:: Rebinding terminal function keys.
1401* Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on. 1401* Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on.
1402* Mouse Buttons:: Rebinding mouse buttons in Emacs. 1402* Mouse Buttons:: Rebinding mouse buttons in Emacs.
diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el
index 386c554c068..c88f4abcb6e 100644
--- a/lisp/calendar/icalendar.el
+++ b/lisp/calendar/icalendar.el
@@ -361,7 +361,8 @@ Pass arguments REGEXP REP STRING FIXEDCASE LITERAL to
361INVALUE gives the current iCalendar element we are reading. 361INVALUE gives the current iCalendar element we are reading.
362INPARAMS gives the current parameters..... 362INPARAMS gives the current parameters.....
363This function calls itself recursively for each nested calendar element 363This function calls itself recursively for each nested calendar element
364it finds." 364it finds. The current buffer should be an unfolded buffer as returned
365from `icalendar--get-unfolded-buffer'."
365 (let (element children line name params param param-name param-value 366 (let (element children line name params param param-name param-value
366 value 367 value
367 (continue t)) 368 (continue t))
@@ -391,8 +392,9 @@ it finds."
391 (unless (looking-at ":") 392 (unless (looking-at ":")
392 (error "Oops")) 393 (error "Oops"))
393 (forward-char 1) 394 (forward-char 1)
394 (re-search-forward "\\(.*\\)\\(\r?\n[ \t].*\\)*" nil t) 395 (let ((start (point)))
395 (setq value (icalendar--rris "\r?\n[ \t]" "" (match-string 0))) 396 (end-of-line)
397 (setq value (buffer-substring start (point))))
396 (setq line (list name params value)) 398 (setq line (list name params value))
397 (cond ((eq name 'BEGIN) 399 (cond ((eq name 'BEGIN)
398 (setq children 400 (setq children
diff --git a/lisp/isearch.el b/lisp/isearch.el
index a97247671cc..9df7627fa7c 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1049,9 +1049,10 @@ NOPUSH is t and EDIT is t."
1049 (remove-hook 'mouse-leave-buffer-hook 'isearch-done) 1049 (remove-hook 'mouse-leave-buffer-hook 'isearch-done)
1050 (remove-hook 'kbd-macro-termination-hook 'isearch-done) 1050 (remove-hook 'kbd-macro-termination-hook 'isearch-done)
1051 (setq isearch-lazy-highlight-start nil) 1051 (setq isearch-lazy-highlight-start nil)
1052 (with-current-buffer isearch--current-buffer 1052 (when (buffer-live-p isearch--current-buffer)
1053 (setq isearch--current-buffer nil) 1053 (with-current-buffer isearch--current-buffer
1054 (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit))) 1054 (setq isearch--current-buffer nil)
1055 (setq cursor-sensor-inhibit (delq 'isearch cursor-sensor-inhibit))))
1055 1056
1056 ;; Called by all commands that terminate isearch-mode. 1057 ;; Called by all commands that terminate isearch-mode.
1057 ;; If NOPUSH is non-nil, we don't push the string on the search ring. 1058 ;; If NOPUSH is non-nil, we don't push the string on the search ring.
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 8f36ddeafbf..e0e080e76af 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -1195,17 +1195,20 @@ the end of the document."
1195 "Retrieve URL via HTTP asynchronously. 1195 "Retrieve URL via HTTP asynchronously.
1196URL must be a parsed URL. See `url-generic-parse-url' for details. 1196URL must be a parsed URL. See `url-generic-parse-url' for details.
1197 1197
1198When retrieval is completed, execute the function CALLBACK, passing it 1198When retrieval is completed, execute the function CALLBACK,
1199an updated value of CBARGS as arguments. The first element in CBARGS 1199passing it an updated value of CBARGS as arguments. The first
1200should be a plist describing what has happened so far during the 1200element in CBARGS should be a plist describing what has happened
1201request, as described in the docstring of `url-retrieve' (if in 1201so far during the request, as described in the docstring of
1202doubt, specify nil). 1202`url-retrieve' (if in doubt, specify nil). The current buffer
1203then CALLBACK is executed is the retrieval buffer.
1203 1204
1204Optional arg RETRY-BUFFER, if non-nil, specifies the buffer of a 1205Optional arg RETRY-BUFFER, if non-nil, specifies the buffer of a
1205previous `url-http' call, which is being re-attempted. 1206previous `url-http' call, which is being re-attempted.
1206 1207
1207Optional arg GATEWAY-METHOD specifies the gateway to be used, 1208Optional arg GATEWAY-METHOD specifies the gateway to be used,
1208overriding the value of `url-gateway-method'." 1209overriding the value of `url-gateway-method'.
1210
1211The return value of this function is the retrieval buffer."
1209 (cl-check-type url vector "Need a pre-parsed URL.") 1212 (cl-check-type url vector "Need a pre-parsed URL.")
1210 (let* ((host (url-host (or url-using-proxy url))) 1213 (let* ((host (url-host (or url-using-proxy url)))
1211 (port (url-port (or url-using-proxy url))) 1214 (port (url-port (or url-using-proxy url)))
diff --git a/test/automated/isearch-tests.el b/test/automated/isearch-tests.el
index 48c342403c9..52f312d0b97 100644
--- a/test/automated/isearch-tests.el
+++ b/test/automated/isearch-tests.el
@@ -28,5 +28,13 @@
28 (isearch-update) 28 (isearch-update)
29 (should (equal isearch--current-buffer (current-buffer))))) 29 (should (equal isearch--current-buffer (current-buffer)))))
30 30
31(ert-deftest isearch--test-done ()
32 ;; Normal operation.
33 (isearch-update)
34 (isearch-done)
35 (should-not isearch--current-buffer)
36 ;; Bug #21091: let `isearch-done' work without `isearch-update'.
37 (isearch-done))
38
31(provide 'isearch-tests) 39(provide 'isearch-tests)
32;;; isearch-tests.el ends here 40;;; isearch-tests.el ends here