aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog13
-rw-r--r--lisp/dired.el50
-rw-r--r--lisp/doc-view.el13
-rw-r--r--lisp/emacs-lisp/assoc.el18
-rw-r--r--lisp/emacs-lisp/ewoc.el9
-rw-r--r--lisp/emacs-lisp/syntax.el15
-rw-r--r--lisp/mpc.el2
-rw-r--r--lisp/progmodes/etags.el4
-rw-r--r--lisp/progmodes/js.el14
-rw-r--r--lisp/progmodes/pascal.el8
-rw-r--r--lisp/term/ns-win.el37
-rw-r--r--lisp/url/ChangeLog13
-rw-r--r--lisp/url/url.el6
-rw-r--r--lisp/vc/diff.el20
14 files changed, 113 insertions, 109 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index ad6fd35bc5d..a02521ca147 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,16 @@
12012-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
2
3
4 * term/ns-win.el (ns-define-service):
5 * progmodes/pascal.el (pascal-goto-defun):
6 * progmodes/js.el (js--read-tab):
7 * progmodes/etags.el (tags-lazy-completion-table):
8 * emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
9 * emacs-lisp/ewoc.el (ewoc--wrap):
10 * emacs-lisp/assoc.el (aput, adelete, amake):
11 * doc-view.el (doc-view-convert-current-doc):
12 * vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding.
13
12012-04-26 Chong Yidong <cyd@gnu.org> 142012-04-26 Chong Yidong <cyd@gnu.org>
2 15
3 * image.el (image-type-from-buffer): Only return supported image 16 * image.el (image-type-from-buffer): Only return supported image
diff --git a/lisp/dired.el b/lisp/dired.el
index 77fe9cb7614..f6f7d71c636 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -670,31 +670,31 @@ Don't use that together with FILTER."
670;; (dolist (ext completion-ignored-extensions) 670;; (dolist (ext completion-ignored-extensions)
671;; (if (eq ?/ (aref ext (1- (length ext)))) (push ext cie))) 671;; (if (eq ?/ (aref ext (1- (length ext)))) (push ext cie)))
672;; (setq cie (concat (regexp-opt cie "\\(?:") "\\'")) 672;; (setq cie (concat (regexp-opt cie "\\(?:") "\\'"))
673;; (lexical-let* ((default (and buffer-file-name 673;; (let* ((default (and buffer-file-name
674;; (abbreviate-file-name buffer-file-name))) 674;; (abbreviate-file-name buffer-file-name)))
675;; (cie cie) 675;; (cie cie)
676;; (completion-table 676;; (completion-table
677;; ;; We need a mix of read-file-name and 677;; ;; We need a mix of read-file-name and
678;; ;; read-directory-name so that completion to directories 678;; ;; read-directory-name so that completion to directories
679;; ;; is preferred, but if the user wants to enter a global 679;; ;; is preferred, but if the user wants to enter a global
680;; ;; pattern, he can still use completion on filenames to 680;; ;; pattern, he can still use completion on filenames to
681;; ;; help him write the pattern. 681;; ;; help him write the pattern.
682;; ;; Essentially, we want to use 682;; ;; Essentially, we want to use
683;; ;; (completion-table-with-predicate 683;; ;; (completion-table-with-predicate
684;; ;; 'read-file-name-internal 'file-directory-p nil) 684;; ;; 'read-file-name-internal 'file-directory-p nil)
685;; ;; but that doesn't work because read-file-name-internal 685;; ;; but that doesn't work because read-file-name-internal
686;; ;; does not obey its `predicate' argument. 686;; ;; does not obey its `predicate' argument.
687;; (completion-table-in-turn 687;; (completion-table-in-turn
688;; (lambda (str pred action) 688;; (lambda (str pred action)
689;; (let ((read-file-name-predicate 689;; (let ((read-file-name-predicate
690;; (lambda (f) 690;; (lambda (f)
691;; (and (not (member f '("./" "../"))) 691;; (and (not (member f '("./" "../")))
692;; ;; Hack! Faster than file-directory-p! 692;; ;; Hack! Faster than file-directory-p!
693;; (eq (aref f (1- (length f))) ?/) 693;; (eq (aref f (1- (length f))) ?/)
694;; (not (string-match cie f)))))) 694;; (not (string-match cie f))))))
695;; (complete-with-action 695;; (complete-with-action
696;; action 'read-file-name-internal str nil))) 696;; action 'read-file-name-internal str nil)))
697;; 'read-file-name-internal))) 697;; 'read-file-name-internal)))
698;; (minibuffer-with-setup-hook 698;; (minibuffer-with-setup-hook
699;; (lambda () 699;; (lambda ()
700;; (setq minibuffer-default default) 700;; (setq minibuffer-default default)
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index 53e7811bad1..78b6610ff3c 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -960,13 +960,12 @@ Those files are saved in the directory given by the function
960 (odf 960 (odf
961 ;; ODF files have to be converted to PDF before Ghostscript can 961 ;; ODF files have to be converted to PDF before Ghostscript can
962 ;; process it. 962 ;; process it.
963 (lexical-let 963 (let ((pdf (expand-file-name "doc.pdf" doc-view-current-cache-dir))
964 ((pdf (expand-file-name "doc.pdf" doc-view-current-cache-dir)) 964 (opdf (expand-file-name (concat (file-name-sans-extension
965 (opdf (expand-file-name (concat (file-name-sans-extension 965 (file-name-nondirectory doc-view-buffer-file-name))
966 (file-name-nondirectory doc-view-buffer-file-name)) 966 ".pdf")
967 ".pdf") 967 doc-view-current-cache-dir))
968 doc-view-current-cache-dir)) 968 (png-file png-file))
969 (png-file png-file))
970 ;; The unoconv tool only supports a output directory, but no 969 ;; The unoconv tool only supports a output directory, but no
971 ;; file name. It's named like the input file with the 970 ;; file name. It's named like the input file with the
972 ;; extension replaced by pdf. 971 ;; extension replaced by pdf.
diff --git a/lisp/emacs-lisp/assoc.el b/lisp/emacs-lisp/assoc.el
index 264374ed721..d3185c444d7 100644
--- a/lisp/emacs-lisp/assoc.el
+++ b/lisp/emacs-lisp/assoc.el
@@ -1,4 +1,4 @@
1;;; assoc.el --- insert/delete functions on association lists 1;;; assoc.el --- insert/delete functions on association lists -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc.
4 4
@@ -36,7 +36,7 @@ the order of any other key-value pair. Side effect sets alist to new
36sorted list." 36sorted list."
37 (set alist-symbol 37 (set alist-symbol
38 (sort (copy-alist (symbol-value alist-symbol)) 38 (sort (copy-alist (symbol-value alist-symbol))
39 (function (lambda (a b) (equal (car a) key)))))) 39 (lambda (a _b) (equal (car a) key)))))
40 40
41 41
42(defun aelement (key value) 42(defun aelement (key value)
@@ -71,8 +71,8 @@ If VALUE is not supplied, or is nil, the key-value pair will not be
71modified, but will be moved to the head of the alist. If the key-value 71modified, but will be moved to the head of the alist. If the key-value
72pair cannot be found in the alist, it will be inserted into the head 72pair cannot be found in the alist, it will be inserted into the head
73of the alist (with value nil if VALUE is nil or not supplied)." 73of the alist (with value nil if VALUE is nil or not supplied)."
74 (lexical-let ((elem (aelement key value)) 74 (let ((elem (aelement key value))
75 alist) 75 alist)
76 (asort alist-symbol key) 76 (asort alist-symbol key)
77 (setq alist (symbol-value alist-symbol)) 77 (setq alist (symbol-value alist-symbol))
78 (cond ((null alist) (set alist-symbol elem)) 78 (cond ((null alist) (set alist-symbol elem))
@@ -86,7 +86,7 @@ of the alist (with value nil if VALUE is nil or not supplied)."
86Alist is referenced by ALIST-SYMBOL and the key-value pair to remove 86Alist is referenced by ALIST-SYMBOL and the key-value pair to remove
87is pair matching KEY. Returns the altered alist." 87is pair matching KEY. Returns the altered alist."
88 (asort alist-symbol key) 88 (asort alist-symbol key)
89 (lexical-let ((alist (symbol-value alist-symbol))) 89 (let ((alist (symbol-value alist-symbol)))
90 (cond ((null alist) nil) 90 (cond ((null alist) nil)
91 ((anot-head-p alist key) alist) 91 ((anot-head-p alist key) alist)
92 (t (set alist-symbol (cdr alist)))))) 92 (t (set alist-symbol (cdr alist))))))
@@ -123,10 +123,10 @@ KEYLIST and VALUELIST should have the same number of elements, but
123this isn't enforced. If VALUELIST is smaller than KEYLIST, remaining 123this isn't enforced. If VALUELIST is smaller than KEYLIST, remaining
124keys are associated with nil. If VALUELIST is larger than KEYLIST, 124keys are associated with nil. If VALUELIST is larger than KEYLIST,
125extra values are ignored. Returns the created alist." 125extra values are ignored. Returns the created alist."
126 (lexical-let ((keycar (car keylist)) 126 (let ((keycar (car keylist))
127 (keycdr (cdr keylist)) 127 (keycdr (cdr keylist))
128 (valcar (car valuelist)) 128 (valcar (car valuelist))
129 (valcdr (cdr valuelist))) 129 (valcdr (cdr valuelist)))
130 (cond ((null keycdr) 130 (cond ((null keycdr)
131 (aput alist-symbol keycar valcar)) 131 (aput alist-symbol keycar valcar))
132 (t 132 (t
diff --git a/lisp/emacs-lisp/ewoc.el b/lisp/emacs-lisp/ewoc.el
index 4fd87209b38..9e214a9703c 100644
--- a/lisp/emacs-lisp/ewoc.el
+++ b/lisp/emacs-lisp/ewoc.el
@@ -1,4 +1,4 @@
1;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer 1;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1991-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1991-2012 Free Software Foundation, Inc.
4 4
@@ -216,10 +216,9 @@ NODE and leaving the new node's start there. Return the new node."
216 (ewoc--adjust m (point) R dll))) 216 (ewoc--adjust m (point) R dll)))
217 217
218(defun ewoc--wrap (func) 218(defun ewoc--wrap (func)
219 (lexical-let ((ewoc--user-pp func)) 219 (lambda (data)
220 (lambda (data) 220 (funcall func data)
221 (funcall ewoc--user-pp data) 221 (insert "\n")))
222 (insert "\n"))))
223 222
224 223
225;;; =========================================================================== 224;;; ===========================================================================
diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el
index 611a766922a..583d0b151c9 100644
--- a/lisp/emacs-lisp/syntax.el
+++ b/lisp/emacs-lisp/syntax.el
@@ -1,4 +1,4 @@
1;;; syntax.el --- helper functions to find syntactic context 1;;; syntax.el --- helper functions to find syntactic context -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 2000-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
4 4
@@ -274,13 +274,12 @@ Note: back-references in REGEXPs do not work."
274 "Propertize for syntax in START..END using font-lock syntax. 274 "Propertize for syntax in START..END using font-lock syntax.
275KEYWORDS obeys the format used in `font-lock-syntactic-keywords'. 275KEYWORDS obeys the format used in `font-lock-syntactic-keywords'.
276The return value is a function suitable for `syntax-propertize-function'." 276The return value is a function suitable for `syntax-propertize-function'."
277 (lexical-let ((keywords keywords)) 277 (lambda (start end)
278 (lambda (start end) 278 (with-no-warnings
279 (with-no-warnings 279 (let ((font-lock-syntactic-keywords keywords))
280 (let ((font-lock-syntactic-keywords keywords)) 280 (font-lock-fontify-syntactic-keywords-region start end)
281 (font-lock-fontify-syntactic-keywords-region start end) 281 ;; In case it was eval'd/compiled.
282 ;; In case it was eval'd/compiled. 282 (setq keywords font-lock-syntactic-keywords)))))
283 (setq keywords font-lock-syntactic-keywords))))))
284 283
285(defun syntax-propertize (pos) 284(defun syntax-propertize (pos)
286 "Ensure that syntax-table properties are set until POS." 285 "Ensure that syntax-table properties are set until POS."
diff --git a/lisp/mpc.el b/lisp/mpc.el
index ea7f6793309..a908e4bedac 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -406,7 +406,7 @@ which will be concatenated with proper quoting before passing them to MPD."
406 (funcall callback (prog1 (mpc-proc-buf-to-alist 406 (funcall callback (prog1 (mpc-proc-buf-to-alist
407 (current-buffer)) 407 (current-buffer))
408 (set-buffer buf)))))) 408 (set-buffer buf))))))
409 ;; (lexical-let ((res nil)) 409 ;; (let ((res nil))
410 ;; (mpc-proc-cmd-to-alist cmd (lambda (alist) (setq res alist))) 410 ;; (mpc-proc-cmd-to-alist cmd (lambda (alist) (setq res alist)))
411 ;; (mpc-proc-sync) 411 ;; (mpc-proc-sync)
412 ;; res) 412 ;; res)
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index d8a561340d3..638410ae627 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1,4 +1,4 @@
1;;; etags.el --- etags facility for Emacs 1;;; etags.el --- etags facility for Emacs -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2012 3;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2012
4;; Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
@@ -781,7 +781,7 @@ tags table and its (recursively) included tags tables."
781 (setq tags-completion-table nil))))) 781 (setq tags-completion-table nil)))))
782 782
783(defun tags-lazy-completion-table () 783(defun tags-lazy-completion-table ()
784 (lexical-let ((buf (current-buffer))) 784 (let ((buf (current-buffer)))
785 (lambda (string pred action) 785 (lambda (string pred action)
786 (with-current-buffer buf 786 (with-current-buffer buf
787 (save-excursion 787 (save-excursion
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 69da6737520..1c8a1f45e57 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -1,4 +1,4 @@
1;;; js.el --- Major mode for editing JavaScript 1;;; js.el --- Major mode for editing JavaScript -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 2008-2012 Free Software Foundation, Inc. 3;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
4 4
@@ -1036,17 +1036,12 @@ LIMIT defaults to point."
1036 1036
1037 (c-save-buffer-state 1037 (c-save-buffer-state
1038 (open-items 1038 (open-items
1039 orig-match-start
1040 orig-match-end
1041 orig-depth
1042 parse 1039 parse
1043 prev-parse-point 1040 prev-parse-point
1044 name 1041 name
1045 case-fold-search 1042 case-fold-search
1046 filtered-class-styles 1043 filtered-class-styles
1047 new-item 1044 goal-point)
1048 goal-point
1049 end-prop)
1050 1045
1051 ;; Figure out which class styles we need to look for 1046 ;; Figure out which class styles we need to look for
1052 (setq filtered-class-styles 1047 (setq filtered-class-styles
@@ -2956,8 +2951,8 @@ browser, respectively."
2956 (ido-mode -1)) 2951 (ido-mode -1))
2957 2952
2958 (with-js 2953 (with-js
2959 (lexical-let ((tabs (js--get-tabs)) selected-tab-cname 2954 (let ((tabs (js--get-tabs)) selected-tab-cname
2960 selected-tab prev-hitab) 2955 selected-tab prev-hitab)
2961 2956
2962 ;; Disambiguate names 2957 ;; Disambiguate names
2963 (setq tabs (loop with tab-names = (make-hash-table :test 'equal) 2958 (setq tabs (loop with tab-names = (make-hash-table :test 'equal)
@@ -3053,7 +3048,6 @@ browser, respectively."
3053 "gBrowser" 3048 "gBrowser"
3054 "selectedTab") 3049 "selectedTab")
3055 3050
3056 with index = 0
3057 for match in ido-matches 3051 for match in ido-matches
3058 for candidate-tab = (find-tab-by-cname match) 3052 for candidate-tab = (find-tab-by-cname match)
3059 if (eq (fourth candidate-tab) tab-to-match) 3053 if (eq (fourth candidate-tab) tab-to-match)
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index 8f7f313753c..5a6f4e20fbc 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -1353,21 +1353,21 @@ The default is a name found in the buffer around point."
1353 (default (if (pascal-comp-defun default nil 'lambda) 1353 (default (if (pascal-comp-defun default nil 'lambda)
1354 default "")) 1354 default ""))
1355 (label 1355 (label
1356 ;; Do completion with default 1356 ;; Do completion with default.
1357 (completing-read (if (not (string= default "")) 1357 (completing-read (if (not (string= default ""))
1358 (concat "Label (default " default "): ") 1358 (concat "Label (default " default "): ")
1359 "Label: ") 1359 "Label: ")
1360 ;; Complete with the defuns found in the 1360 ;; Complete with the defuns found in the
1361 ;; current-buffer. 1361 ;; current-buffer.
1362 (lexical-let ((buf (current-buffer))) 1362 (let ((buf (current-buffer)))
1363 (lambda (s p a) 1363 (lambda (s p a)
1364 (with-current-buffer buf 1364 (with-current-buffer buf
1365 (pascal-comp-defun s p a)))) 1365 (pascal-comp-defun s p a))))
1366 nil t ""))) 1366 nil t "")))
1367 ;; If there was no response on prompt, use default value 1367 ;; If there was no response on prompt, use default value.
1368 (if (string= label "") 1368 (if (string= label "")
1369 (setq label default)) 1369 (setq label default))
1370 ;; Goto right place in buffer if label is not an empty string 1370 ;; Goto right place in buffer if label is not an empty string.
1371 (or (string= label "") 1371 (or (string= label "")
1372 (progn 1372 (progn
1373 (goto-char (point-min)) 1373 (goto-char (point-min))
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el
index b681ec3440f..feac0f1c537 100644
--- a/lisp/term/ns-win.el
+++ b/lisp/term/ns-win.el
@@ -1,4 +1,4 @@
1;;; ns-win.el --- lisp side of interface with NeXT/Open/GNUstep/MacOS X window system 1;;; ns-win.el --- lisp side of interface with NeXT/Open/GNUstep/MacOS X window system -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1993-1994, 2005-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1993-1994, 2005-2012 Free Software Foundation, Inc.
4 4
@@ -44,7 +44,7 @@
44 (error "%s: Loading ns-win.el but not compiled for GNUstep/MacOS" 44 (error "%s: Loading ns-win.el but not compiled for GNUstep/MacOS"
45 (invocation-name))) 45 (invocation-name)))
46 46
47(eval-when-compile (require 'cl)) ; lexical-let 47(eval-when-compile (require 'cl))
48 48
49;; Documentation-purposes only: actually loaded in loadup.el. 49;; Documentation-purposes only: actually loaded in loadup.el.
50(require 'frame) 50(require 'frame)
@@ -65,7 +65,7 @@
65;; nsterm.m. 65;; nsterm.m.
66(defvar ns-input-file) 66(defvar ns-input-file)
67 67
68(defun ns-handle-nxopen (switch &optional temp) 68(defun ns-handle-nxopen (_switch &optional temp)
69 (setq unread-command-events (append unread-command-events 69 (setq unread-command-events (append unread-command-events
70 (if temp '(ns-open-temp-file) 70 (if temp '(ns-open-temp-file)
71 '(ns-open-file))) 71 '(ns-open-file)))
@@ -74,7 +74,7 @@
74(defun ns-handle-nxopentemp (switch) 74(defun ns-handle-nxopentemp (switch)
75 (ns-handle-nxopen switch t)) 75 (ns-handle-nxopen switch t))
76 76
77(defun ns-ignore-1-arg (switch) 77(defun ns-ignore-1-arg (_switch)
78 (setq x-invocation-args (cdr x-invocation-args))) 78 (setq x-invocation-args (cdr x-invocation-args)))
79 79
80(defun ns-parse-geometry (geom) 80(defun ns-parse-geometry (geom)
@@ -201,21 +201,20 @@ The properties returned may include `top', `left', `height', and `width'."
201 (mapconcat 'identity (cons "ns-service" path) "-"))))) 201 (mapconcat 'identity (cons "ns-service" path) "-")))))
202 ;; This defines the function. 202 ;; This defines the function.
203 (defalias name 203 (defalias name
204 (lexical-let ((service service)) 204 (lambda (arg)
205 (lambda (arg) 205 (interactive "p")
206 (interactive "p") 206 (let* ((in-string
207 (let* ((in-string 207 (cond ((stringp arg) arg)
208 (cond ((stringp arg) arg) 208 (mark-active
209 (mark-active 209 (buffer-substring (region-beginning) (region-end)))))
210 (buffer-substring (region-beginning) (region-end))))) 210 (out-string (ns-perform-service service in-string)))
211 (out-string (ns-perform-service service in-string))) 211 (cond
212 (cond 212 ((stringp arg) out-string)
213 ((stringp arg) out-string) 213 ((and out-string (or (not in-string)
214 ((and out-string (or (not in-string) 214 (not (string= in-string out-string))))
215 (not (string= in-string out-string)))) 215 (if mark-active (delete-region (region-beginning) (region-end)))
216 (if mark-active (delete-region (region-beginning) (region-end))) 216 (insert out-string)
217 (insert out-string) 217 (setq deactivate-mark nil))))))
218 (setq deactivate-mark nil)))))))
219 (cond 218 (cond
220 ((lookup-key global-map mapping) 219 ((lookup-key global-map mapping)
221 (while (cdr path) 220 (while (cdr path)
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 3c9313e3e7d..7ce3489cfcc 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,8 @@
12012-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * url.el (url-retrieve-synchronously): Replace lexical-let by
4 lexical-binding.
5
12012-04-10 William Xu <william.xwl@gmail.com> (tiny change) 62012-04-10 William Xu <william.xwl@gmail.com> (tiny change)
2 7
3 * url.el (url-retrieve-internal): Hexify multibye URL string first 8 * url.el (url-retrieve-internal): Hexify multibye URL string first
@@ -28,8 +33,8 @@
28 33
292012-03-11 Chong Yidong <cyd@gnu.org> 342012-03-11 Chong Yidong <cyd@gnu.org>
30 35
31 * url-http.el (url-http-end-of-document-sentinel): Handle 36 * url-http.el (url-http-end-of-document-sentinel):
32 keepalive expiry by calling url-http again (Bug#10223). 37 Handle keepalive expiry by calling url-http again (Bug#10223).
33 (url-http): New arg, for the above. 38 (url-http): New arg, for the above.
34 39
352012-03-11 Devon Sean McCullough <emacs-hacker2012@jovi.net> 402012-03-11 Devon Sean McCullough <emacs-hacker2012@jovi.net>
@@ -180,8 +185,8 @@
180 185
1812011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org> 1862011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
182 187
183 * url-http.el (url-http-wait-for-headers-change-function): Remove 188 * url-http.el (url-http-wait-for-headers-change-function):
184 pointless "HTTP/0.9 How I hate thee!" message (bug#6735). 189 Remove pointless "HTTP/0.9 How I hate thee!" message (bug#6735).
185 190
1862011-06-04 Andreas Schwab <schwab@linux-m68k.org> 1912011-06-04 Andreas Schwab <schwab@linux-m68k.org>
187 192
diff --git a/lisp/url/url.el b/lisp/url/url.el
index f3ef553bbce..7884882c6e7 100644
--- a/lisp/url/url.el
+++ b/lisp/url/url.el
@@ -1,4 +1,4 @@
1;;; url.el --- Uniform Resource Locator retrieval tool 1;;; url.el --- Uniform Resource Locator retrieval tool -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1996-1999, 2001, 2004-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1996-1999, 2001, 2004-2012 Free Software Foundation, Inc.
4 4
@@ -225,8 +225,8 @@ associated with it (the case for dired, info, or mailto URLs that need
225no further processing). URL is either a string or a parsed URL." 225no further processing). URL is either a string or a parsed URL."
226 (url-do-setup) 226 (url-do-setup)
227 227
228 (lexical-let ((retrieval-done nil) 228 (let ((retrieval-done nil)
229 (asynch-buffer nil)) 229 (asynch-buffer nil))
230 (setq asynch-buffer 230 (setq asynch-buffer
231 (url-retrieve url (lambda (&rest ignored) 231 (url-retrieve url (lambda (&rest ignored)
232 (url-debug 'retrieval "Synchronous fetching done (%S)" (current-buffer)) 232 (url-debug 'retrieval "Synchronous fetching done (%S)" (current-buffer))
diff --git a/lisp/vc/diff.el b/lisp/vc/diff.el
index dd4b4757e88..2eefdee1836 100644
--- a/lisp/vc/diff.el
+++ b/lisp/vc/diff.el
@@ -1,4 +1,4 @@
1;;; diff.el --- run `diff' 1;;; diff.el --- run `diff' -*- lexical-binding: t -*-
2 2
3;; Copyright (C) 1992, 1994, 1996, 2001-2012 Free Software Foundation, Inc. 3;; Copyright (C) 1992, 1994, 1996, 2001-2012 Free Software Foundation, Inc.
4 4
@@ -147,11 +147,8 @@ specified in `diff-switches' are passed to the diff command."
147 (buffer-enable-undo (current-buffer)) 147 (buffer-enable-undo (current-buffer))
148 (diff-mode) 148 (diff-mode)
149 (set (make-local-variable 'revert-buffer-function) 149 (set (make-local-variable 'revert-buffer-function)
150 (lexical-let ((old old) (new new) 150 (lambda (_ignore-auto _noconfirm)
151 (switches switches) 151 (diff-no-select old new switches no-async (current-buffer))))
152 (no-async no-async))
153 (lambda (ignore-auto noconfirm)
154 (diff-no-select old new switches no-async (current-buffer)))))
155 (setq default-directory thisdir) 152 (setq default-directory thisdir)
156 (let ((inhibit-read-only t)) 153 (let ((inhibit-read-only t))
157 (insert command "\n")) 154 (insert command "\n"))
@@ -159,12 +156,11 @@ specified in `diff-switches' are passed to the diff command."
159 (let ((proc (start-process "Diff" buf shell-file-name 156 (let ((proc (start-process "Diff" buf shell-file-name
160 shell-command-switch command))) 157 shell-command-switch command)))
161 (set-process-filter proc 'diff-process-filter) 158 (set-process-filter proc 'diff-process-filter)
162 (lexical-let ((old-alt old-alt) (new-alt new-alt)) 159 (set-process-sentinel
163 (set-process-sentinel 160 proc (lambda (proc _msg)
164 proc (lambda (proc msg) 161 (with-current-buffer (process-buffer proc)
165 (with-current-buffer (process-buffer proc) 162 (diff-sentinel (process-exit-status proc)
166 (diff-sentinel (process-exit-status proc) 163 old-alt new-alt)))))
167 old-alt new-alt))))))
168 ;; Async processes aren't available. 164 ;; Async processes aren't available.
169 (let ((inhibit-read-only t)) 165 (let ((inhibit-read-only t))
170 (diff-sentinel 166 (diff-sentinel