From: Stefan Monnier Date: Thu, 26 Apr 2012 12:43:28 +0000 (-0400) Subject: Replace lexical-let by lexical-binding (except Gnus, CEDET, ERT). X-Git-Tag: emacs-24.2.90~471^2~260 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e95a67dc75c3d41c428d6e215426f321b5a2f9e5;p=emacs.git 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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ad6fd35bc5d..a02521ca147 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +2012-04-26 Stefan Monnier + + + * 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 * 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." ;; (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) 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 (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. 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 @@ -;;; 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 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 @@ -;;; 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"))) ;;; =========================================================================== 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 @@ -;;; 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." 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." (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) 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 @@ -;;; 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 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 @@ -;;; 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) 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." (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)) 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 @@ -;;; 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) 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 @@ +2012-04-26 Stefan Monnier + + * url.el (url-retrieve-synchronously): Replace lexical-let by + lexical-binding. + 2012-04-10 William Xu (tiny change) * url.el (url-retrieve-internal): Hexify multibye URL string first @@ -28,8 +33,8 @@ 2012-03-11 Chong Yidong - * 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 @@ -180,8 +185,8 @@ 2011-07-03 Lars Magne Ingebrigtsen - * 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 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 @@ -;;; 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)) 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 @@ -;;; 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