1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-21 10:24:55 +00:00

Replace lexical-let by lexical-binding (except Gnus, CEDET, ERT).

* lisp/term/ns-win.el (ns-define-service):
* lisp/progmodes/pascal.el (pascal-goto-defun):
* lisp/progmodes/js.el (js--read-tab):
* lisp/progmodes/etags.el (tags-lazy-completion-table):
* lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
* lisp/emacs-lisp/ewoc.el (ewoc--wrap):
* lisp/emacs-lisp/assoc.el (aput, adelete, amake):
* lisp/doc-view.el (doc-view-convert-current-doc):
* lisp/url/url.el (url-retrieve-synchronously):
* lisp/vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding.
This commit is contained in:
Stefan Monnier 2012-04-26 08:43:28 -04:00
parent 4c3fa1d9ad
commit e95a67dc75
14 changed files with 113 additions and 109 deletions

View File

@ -1,3 +1,16 @@
2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
* term/ns-win.el (ns-define-service):
* progmodes/pascal.el (pascal-goto-defun):
* progmodes/js.el (js--read-tab):
* progmodes/etags.el (tags-lazy-completion-table):
* emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
* emacs-lisp/ewoc.el (ewoc--wrap):
* emacs-lisp/assoc.el (aput, adelete, amake):
* doc-view.el (doc-view-convert-current-doc):
* vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding.
2012-04-26 Chong Yidong <cyd@gnu.org>
* image.el (image-type-from-buffer): Only return supported image

View File

@ -670,31 +670,31 @@ Don't use that together with FILTER."
;; (dolist (ext completion-ignored-extensions)
;; (if (eq ?/ (aref ext (1- (length ext)))) (push ext cie)))
;; (setq cie (concat (regexp-opt cie "\\(?:") "\\'"))
;; (lexical-let* ((default (and buffer-file-name
;; (abbreviate-file-name buffer-file-name)))
;; (cie cie)
;; (completion-table
;; ;; We need a mix of read-file-name and
;; ;; read-directory-name so that completion to directories
;; ;; is preferred, but if the user wants to enter a global
;; ;; pattern, he can still use completion on filenames to
;; ;; help him write the pattern.
;; ;; Essentially, we want to use
;; ;; (completion-table-with-predicate
;; ;; 'read-file-name-internal 'file-directory-p nil)
;; ;; but that doesn't work because read-file-name-internal
;; ;; does not obey its `predicate' argument.
;; (completion-table-in-turn
;; (lambda (str pred action)
;; (let ((read-file-name-predicate
;; (lambda (f)
;; (and (not (member f '("./" "../")))
;; ;; Hack! Faster than file-directory-p!
;; (eq (aref f (1- (length f))) ?/)
;; (not (string-match cie f))))))
;; (complete-with-action
;; action 'read-file-name-internal str nil)))
;; 'read-file-name-internal)))
;; (let* ((default (and buffer-file-name
;; (abbreviate-file-name buffer-file-name)))
;; (cie cie)
;; (completion-table
;; ;; We need a mix of read-file-name and
;; ;; read-directory-name so that completion to directories
;; ;; is preferred, but if the user wants to enter a global
;; ;; pattern, he can still use completion on filenames to
;; ;; help him write the pattern.
;; ;; Essentially, we want to use
;; ;; (completion-table-with-predicate
;; ;; 'read-file-name-internal 'file-directory-p nil)
;; ;; but that doesn't work because read-file-name-internal
;; ;; does not obey its `predicate' argument.
;; (completion-table-in-turn
;; (lambda (str pred action)
;; (let ((read-file-name-predicate
;; (lambda (f)
;; (and (not (member f '("./" "../")))
;; ;; Hack! Faster than file-directory-p!
;; (eq (aref f (1- (length f))) ?/)
;; (not (string-match cie f))))))
;; (complete-with-action
;; action 'read-file-name-internal str nil)))
;; 'read-file-name-internal)))
;; (minibuffer-with-setup-hook
;; (lambda ()
;; (setq minibuffer-default default)

View File

@ -960,13 +960,12 @@ Those files are saved in the directory given by the function
(odf
;; ODF files have to be converted to PDF before Ghostscript can
;; process it.
(lexical-let
((pdf (expand-file-name "doc.pdf" doc-view-current-cache-dir))
(opdf (expand-file-name (concat (file-name-sans-extension
(file-name-nondirectory doc-view-buffer-file-name))
".pdf")
doc-view-current-cache-dir))
(png-file png-file))
(let ((pdf (expand-file-name "doc.pdf" doc-view-current-cache-dir))
(opdf (expand-file-name (concat (file-name-sans-extension
(file-name-nondirectory doc-view-buffer-file-name))
".pdf")
doc-view-current-cache-dir))
(png-file png-file))
;; The unoconv tool only supports a output directory, but no
;; file name. It's named like the input file with the
;; extension replaced by pdf.

View File

@ -1,4 +1,4 @@
;;; assoc.el --- insert/delete functions on association lists
;;; assoc.el --- insert/delete functions on association lists -*- lexical-binding: t -*-
;; Copyright (C) 1996, 2001-2012 Free Software Foundation, Inc.
@ -36,7 +36,7 @@ the order of any other key-value pair. Side effect sets alist to new
sorted list."
(set alist-symbol
(sort (copy-alist (symbol-value alist-symbol))
(function (lambda (a b) (equal (car a) key))))))
(lambda (a _b) (equal (car a) key)))))
(defun aelement (key value)
@ -71,8 +71,8 @@ If VALUE is not supplied, or is nil, the key-value pair will not be
modified, but will be moved to the head of the alist. If the key-value
pair cannot be found in the alist, it will be inserted into the head
of the alist (with value nil if VALUE is nil or not supplied)."
(lexical-let ((elem (aelement key value))
alist)
(let ((elem (aelement key value))
alist)
(asort alist-symbol key)
(setq alist (symbol-value alist-symbol))
(cond ((null alist) (set alist-symbol elem))
@ -86,7 +86,7 @@ of the alist (with value nil if VALUE is nil or not supplied)."
Alist is referenced by ALIST-SYMBOL and the key-value pair to remove
is pair matching KEY. Returns the altered alist."
(asort alist-symbol key)
(lexical-let ((alist (symbol-value alist-symbol)))
(let ((alist (symbol-value alist-symbol)))
(cond ((null alist) nil)
((anot-head-p alist key) alist)
(t (set alist-symbol (cdr alist))))))
@ -123,10 +123,10 @@ KEYLIST and VALUELIST should have the same number of elements, but
this isn't enforced. If VALUELIST is smaller than KEYLIST, remaining
keys are associated with nil. If VALUELIST is larger than KEYLIST,
extra values are ignored. Returns the created alist."
(lexical-let ((keycar (car keylist))
(keycdr (cdr keylist))
(valcar (car valuelist))
(valcdr (cdr valuelist)))
(let ((keycar (car keylist))
(keycdr (cdr keylist))
(valcar (car valuelist))
(valcdr (cdr valuelist)))
(cond ((null keycdr)
(aput alist-symbol keycar valcar))
(t

View File

@ -1,4 +1,4 @@
;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer
;;; ewoc.el --- utility to maintain a view of a list of objects in a buffer -*- lexical-binding: t -*-
;; Copyright (C) 1991-2012 Free Software Foundation, Inc.
@ -216,10 +216,9 @@ NODE and leaving the new node's start there. Return the new node."
(ewoc--adjust m (point) R dll)))
(defun ewoc--wrap (func)
(lexical-let ((ewoc--user-pp func))
(lambda (data)
(funcall ewoc--user-pp data)
(insert "\n"))))
(lambda (data)
(funcall func data)
(insert "\n")))
;;; ===========================================================================

View File

@ -1,4 +1,4 @@
;;; syntax.el --- helper functions to find syntactic context
;;; syntax.el --- helper functions to find syntactic context -*- lexical-binding: t -*-
;; Copyright (C) 2000-2012 Free Software Foundation, Inc.
@ -274,13 +274,12 @@ Note: back-references in REGEXPs do not work."
"Propertize for syntax in START..END using font-lock syntax.
KEYWORDS obeys the format used in `font-lock-syntactic-keywords'.
The return value is a function suitable for `syntax-propertize-function'."
(lexical-let ((keywords keywords))
(lambda (start end)
(with-no-warnings
(let ((font-lock-syntactic-keywords keywords))
(font-lock-fontify-syntactic-keywords-region start end)
;; In case it was eval'd/compiled.
(setq keywords font-lock-syntactic-keywords))))))
(lambda (start end)
(with-no-warnings
(let ((font-lock-syntactic-keywords keywords))
(font-lock-fontify-syntactic-keywords-region start end)
;; In case it was eval'd/compiled.
(setq keywords font-lock-syntactic-keywords)))))
(defun syntax-propertize (pos)
"Ensure that syntax-table properties are set until POS."

View File

@ -406,7 +406,7 @@ which will be concatenated with proper quoting before passing them to MPD."
(funcall callback (prog1 (mpc-proc-buf-to-alist
(current-buffer))
(set-buffer buf))))))
;; (lexical-let ((res nil))
;; (let ((res nil))
;; (mpc-proc-cmd-to-alist cmd (lambda (alist) (setq res alist)))
;; (mpc-proc-sync)
;; res)

View File

@ -1,4 +1,4 @@
;;; etags.el --- etags facility for Emacs
;;; etags.el --- etags facility for Emacs -*- lexical-binding: t -*-
;; Copyright (C) 1985-1986, 1988-1989, 1992-1996, 1998, 2000-2012
;; Free Software Foundation, Inc.
@ -781,7 +781,7 @@ tags table and its (recursively) included tags tables."
(setq tags-completion-table nil)))))
(defun tags-lazy-completion-table ()
(lexical-let ((buf (current-buffer)))
(let ((buf (current-buffer)))
(lambda (string pred action)
(with-current-buffer buf
(save-excursion

View File

@ -1,4 +1,4 @@
;;; js.el --- Major mode for editing JavaScript
;;; js.el --- Major mode for editing JavaScript -*- lexical-binding: t -*-
;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
@ -1036,17 +1036,12 @@ LIMIT defaults to point."
(c-save-buffer-state
(open-items
orig-match-start
orig-match-end
orig-depth
parse
prev-parse-point
name
case-fold-search
filtered-class-styles
new-item
goal-point
end-prop)
goal-point)
;; Figure out which class styles we need to look for
(setq filtered-class-styles
@ -2956,8 +2951,8 @@ browser, respectively."
(ido-mode -1))
(with-js
(lexical-let ((tabs (js--get-tabs)) selected-tab-cname
selected-tab prev-hitab)
(let ((tabs (js--get-tabs)) selected-tab-cname
selected-tab prev-hitab)
;; Disambiguate names
(setq tabs (loop with tab-names = (make-hash-table :test 'equal)
@ -3053,7 +3048,6 @@ browser, respectively."
"gBrowser"
"selectedTab")
with index = 0
for match in ido-matches
for candidate-tab = (find-tab-by-cname match)
if (eq (fourth candidate-tab) tab-to-match)

View File

@ -1353,21 +1353,21 @@ The default is a name found in the buffer around point."
(default (if (pascal-comp-defun default nil 'lambda)
default ""))
(label
;; Do completion with default
;; Do completion with default.
(completing-read (if (not (string= default ""))
(concat "Label (default " default "): ")
"Label: ")
;; Complete with the defuns found in the
;; current-buffer.
(lexical-let ((buf (current-buffer)))
(let ((buf (current-buffer)))
(lambda (s p a)
(with-current-buffer buf
(pascal-comp-defun s p a))))
nil t "")))
;; If there was no response on prompt, use default value
;; If there was no response on prompt, use default value.
(if (string= label "")
(setq label default))
;; Goto right place in buffer if label is not an empty string
;; Goto right place in buffer if label is not an empty string.
(or (string= label "")
(progn
(goto-char (point-min))

View File

@ -1,4 +1,4 @@
;;; ns-win.el --- lisp side of interface with NeXT/Open/GNUstep/MacOS X window system
;;; ns-win.el --- lisp side of interface with NeXT/Open/GNUstep/MacOS X window system -*- lexical-binding: t -*-
;; Copyright (C) 1993-1994, 2005-2012 Free Software Foundation, Inc.
@ -44,7 +44,7 @@
(error "%s: Loading ns-win.el but not compiled for GNUstep/MacOS"
(invocation-name)))
(eval-when-compile (require 'cl)) ; lexical-let
(eval-when-compile (require 'cl))
;; Documentation-purposes only: actually loaded in loadup.el.
(require 'frame)
@ -65,7 +65,7 @@
;; nsterm.m.
(defvar ns-input-file)
(defun ns-handle-nxopen (switch &optional temp)
(defun ns-handle-nxopen (_switch &optional temp)
(setq unread-command-events (append unread-command-events
(if temp '(ns-open-temp-file)
'(ns-open-file)))
@ -74,7 +74,7 @@
(defun ns-handle-nxopentemp (switch)
(ns-handle-nxopen switch t))
(defun ns-ignore-1-arg (switch)
(defun ns-ignore-1-arg (_switch)
(setq x-invocation-args (cdr x-invocation-args)))
(defun ns-parse-geometry (geom)
@ -201,21 +201,20 @@ The properties returned may include `top', `left', `height', and `width'."
(mapconcat 'identity (cons "ns-service" path) "-")))))
;; This defines the function.
(defalias name
(lexical-let ((service service))
(lambda (arg)
(interactive "p")
(let* ((in-string
(cond ((stringp arg) arg)
(mark-active
(buffer-substring (region-beginning) (region-end)))))
(out-string (ns-perform-service service in-string)))
(cond
((stringp arg) out-string)
((and out-string (or (not in-string)
(not (string= in-string out-string))))
(if mark-active (delete-region (region-beginning) (region-end)))
(insert out-string)
(setq deactivate-mark nil)))))))
(lambda (arg)
(interactive "p")
(let* ((in-string
(cond ((stringp arg) arg)
(mark-active
(buffer-substring (region-beginning) (region-end)))))
(out-string (ns-perform-service service in-string)))
(cond
((stringp arg) out-string)
((and out-string (or (not in-string)
(not (string= in-string out-string))))
(if mark-active (delete-region (region-beginning) (region-end)))
(insert out-string)
(setq deactivate-mark nil))))))
(cond
((lookup-key global-map mapping)
(while (cdr path)

View File

@ -1,3 +1,8 @@
2012-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
* url.el (url-retrieve-synchronously): Replace lexical-let by
lexical-binding.
2012-04-10 William Xu <william.xwl@gmail.com> (tiny change)
* url.el (url-retrieve-internal): Hexify multibye URL string first
@ -28,8 +33,8 @@
2012-03-11 Chong Yidong <cyd@gnu.org>
* url-http.el (url-http-end-of-document-sentinel): Handle
keepalive expiry by calling url-http again (Bug#10223).
* url-http.el (url-http-end-of-document-sentinel):
Handle keepalive expiry by calling url-http again (Bug#10223).
(url-http): New arg, for the above.
2012-03-11 Devon Sean McCullough <emacs-hacker2012@jovi.net>
@ -180,8 +185,8 @@
2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
* url-http.el (url-http-wait-for-headers-change-function): Remove
pointless "HTTP/0.9 How I hate thee!" message (bug#6735).
* url-http.el (url-http-wait-for-headers-change-function):
Remove pointless "HTTP/0.9 How I hate thee!" message (bug#6735).
2011-06-04 Andreas Schwab <schwab@linux-m68k.org>

View File

@ -1,4 +1,4 @@
;;; url.el --- Uniform Resource Locator retrieval tool
;;; url.el --- Uniform Resource Locator retrieval tool -*- lexical-binding: t -*-
;; Copyright (C) 1996-1999, 2001, 2004-2012 Free Software Foundation, Inc.
@ -225,8 +225,8 @@ associated with it (the case for dired, info, or mailto URLs that need
no further processing). URL is either a string or a parsed URL."
(url-do-setup)
(lexical-let ((retrieval-done nil)
(asynch-buffer nil))
(let ((retrieval-done nil)
(asynch-buffer nil))
(setq asynch-buffer
(url-retrieve url (lambda (&rest ignored)
(url-debug 'retrieval "Synchronous fetching done (%S)" (current-buffer))

View File

@ -1,4 +1,4 @@
;;; diff.el --- run `diff'
;;; diff.el --- run `diff' -*- lexical-binding: t -*-
;; Copyright (C) 1992, 1994, 1996, 2001-2012 Free Software Foundation, Inc.
@ -147,11 +147,8 @@ specified in `diff-switches' are passed to the diff command."
(buffer-enable-undo (current-buffer))
(diff-mode)
(set (make-local-variable 'revert-buffer-function)
(lexical-let ((old old) (new new)
(switches switches)
(no-async no-async))
(lambda (ignore-auto noconfirm)
(diff-no-select old new switches no-async (current-buffer)))))
(lambda (_ignore-auto _noconfirm)
(diff-no-select old new switches no-async (current-buffer))))
(setq default-directory thisdir)
(let ((inhibit-read-only t))
(insert command "\n"))
@ -159,12 +156,11 @@ specified in `diff-switches' are passed to the diff command."
(let ((proc (start-process "Diff" buf shell-file-name
shell-command-switch command)))
(set-process-filter proc 'diff-process-filter)
(lexical-let ((old-alt old-alt) (new-alt new-alt))
(set-process-sentinel
proc (lambda (proc msg)
(with-current-buffer (process-buffer proc)
(diff-sentinel (process-exit-status proc)
old-alt new-alt))))))
(set-process-sentinel
proc (lambda (proc _msg)
(with-current-buffer (process-buffer proc)
(diff-sentinel (process-exit-status proc)
old-alt new-alt)))))
;; Async processes aren't available.
(let ((inhibit-read-only t))
(diff-sentinel