unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
       [not found] ` <20160810044911.2B1C52201C2@vcs.savannah.gnu.org>
@ 2016-08-10 15:45   ` Stefan Monnier
  2016-08-11  1:30     ` Mark Oteiza
  2016-08-11 17:34     ` John Wiegley
  0 siblings, 2 replies; 17+ messages in thread
From: Stefan Monnier @ 2016-08-10 15:45 UTC (permalink / raw)
  To: emacs-devel; +Cc: Mark Oteiza

>     Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
>     showed 12-31% reduction in execution time.

Yay!

I think it's the first time I see lexical-binding used for performance ;-)


        Stefan



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-10 15:45   ` [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el Stefan Monnier
@ 2016-08-11  1:30     ` Mark Oteiza
  2016-08-11  2:36       ` Stefan Monnier
  2016-08-11  5:30       ` [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el Richard Stallman
  2016-08-11 17:34     ` John Wiegley
  1 sibling, 2 replies; 17+ messages in thread
From: Mark Oteiza @ 2016-08-11  1:30 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

On 10/08/16 at 11:45am, Stefan Monnier wrote:
> >     Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
> >     showed 12-31% reduction in execution time.
> 
> Yay!
> 
> I think it's the first time I see lexical-binding used for performance ;-)

json.el can use all the help it can get ;)

In any case, I was putzing around and turning on lexical-binding all
over the place and found that many files byte-compile happily with
lexical-binding enabled, or with minimal changes.  Seems like a lot of
low hanging fruit to pick and I should post a patch, WDYT?

FTR I was going down the list:
head -n1 -q lisp/*.el|grep -v 'lexical-binding'



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-11  1:30     ` Mark Oteiza
@ 2016-08-11  2:36       ` Stefan Monnier
  2016-08-12 19:07         ` Stephen Berman
  2016-08-13 18:18         ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
  2016-08-11  5:30       ` [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el Richard Stallman
  1 sibling, 2 replies; 17+ messages in thread
From: Stefan Monnier @ 2016-08-11  2:36 UTC (permalink / raw)
  To: Mark Oteiza; +Cc: emacs-devel

> In any case, I was putzing around and turning on lexical-binding all
> over the place and found that many files byte-compile happily with
> lexical-binding enabled, or with minimal changes.

Indeed, in many cases there's very little (if anything) to do.
FWIW, my own local Emacs is built with a hack which forces use of
lexical-binding everywhere.

> Seems like a lot of low hanging fruit to pick and I should post
> a patch, WDYT?

Go for it.


        Stefan



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-11  1:30     ` Mark Oteiza
  2016-08-11  2:36       ` Stefan Monnier
@ 2016-08-11  5:30       ` Richard Stallman
  1 sibling, 0 replies; 17+ messages in thread
From: Richard Stallman @ 2016-08-11  5:30 UTC (permalink / raw)
  To: Mark Oteiza; +Cc: monnier, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > > I think it's the first time I see lexical-binding used for performance ;-)

  > json.el can use all the help it can get ;)

It is not out of the question to implement some inner loop in C
to optimize the speed.

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-10 15:45   ` [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el Stefan Monnier
  2016-08-11  1:30     ` Mark Oteiza
@ 2016-08-11 17:34     ` John Wiegley
  2016-08-11 20:35       ` Stefan Monnier
  1 sibling, 1 reply; 17+ messages in thread
From: John Wiegley @ 2016-08-11 17:34 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Mark Oteiza, emacs-devel

>>>>> "SM" == Stefan Monnier <monnier@iro.umontreal.ca> writes:

SM> I think it's the first time I see lexical-binding used for performance ;-)

I really think this is an untapped area for optimization.

When I did aggressive profiling, I found that up to 40% of evaluation was
spent repeatedly looking up variables -- even those local to the function --
in order to support dynamic binding. With lexical scoping enabled, and in the
absence of closures, it should be possible to fully localize such references
so that no lookup is performed at all. I'm not sure whether the byte-compiler
makes use of such an optimization, or if we even have a byte-code operand to
support it, but my unsupported guestimate is that we could double performance
in most areas by properly utilizing lexical binding.  Especially in tight
loops that update/modify a local variable.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-11 17:34     ` John Wiegley
@ 2016-08-11 20:35       ` Stefan Monnier
  2016-08-12  6:37         ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Stefan Monnier @ 2016-08-11 20:35 UTC (permalink / raw)
  To: emacs-devel

> in order to support dynamic binding. With lexical scoping enabled, and in the
> absence of closures, it should be possible to fully localize such references
> so that no lookup is performed at all.

Lexical variables aren't stored in symbols's slots, but in the byte-code
stack.  So a variable access is an access to the (byte-code) stack with
a fixed offset.  Not sure how much faster that makes it, tho.

> I'm not sure whether the byte-compiler makes use of such an
> optimization, or if we even have a byte-code operand to support it,
> but my unsupported guestimate is that we could double performance in
> most areas by properly utilizing lexical binding.  Especially in tight
> loops that update/modify a local variable.

Lexical scoping does open up a fair bit of room for optimization,
indeed, and we haven't really tried to take advantage of it yet.


        Stefan




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-11 20:35       ` Stefan Monnier
@ 2016-08-12  6:37         ` Eli Zaretskii
  2016-08-12 12:41           ` Stefan Monnier
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2016-08-12  6:37 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Thu, 11 Aug 2016 16:35:45 -0400
> 
> Lexical variables aren't stored in symbols's slots, but in the byte-code
> stack.  So a variable access is an access to the (byte-code) stack with
> a fixed offset.  Not sure how much faster that makes it, tho.

I think the reason might be not the storage method, but the fact that
dynamic variables need to be looked up in every buffer in the session,
if a variable can be buffer-local.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-12  6:37         ` Eli Zaretskii
@ 2016-08-12 12:41           ` Stefan Monnier
  0 siblings, 0 replies; 17+ messages in thread
From: Stefan Monnier @ 2016-08-12 12:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

>> Lexical variables aren't stored in symbols's slots, but in the byte-code
>> stack.  So a variable access is an access to the (byte-code) stack with
>> a fixed offset.  Not sure how much faster that makes it, tho.
> I think the reason might be not the storage method, but the fact that
> dynamic variables need to be looked up in every buffer in the session,
> if a variable can be buffer-local.

The dynamic-variable lookup can be slow for those variables which have
buffer-local bindings, but for the vast majority it's not that bad:
check a bitfield to see that there's no buffer-local binding, then read
"value" field.  So, it should be slower than for lexically bound
variables, but not necessarily by a large margin.



        Stefan



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-11  2:36       ` Stefan Monnier
@ 2016-08-12 19:07         ` Stephen Berman
  2016-08-12 19:43           ` Stefan Monnier
  2016-08-13 18:18         ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
  1 sibling, 1 reply; 17+ messages in thread
From: Stephen Berman @ 2016-08-12 19:07 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Mark Oteiza, emacs-devel

On Wed, 10 Aug 2016 22:36:57 -0400 Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>> In any case, I was putzing around and turning on lexical-binding all
>> over the place and found that many files byte-compile happily with
>> lexical-binding enabled, or with minimal changes.
>
> Indeed, in many cases there's very little (if anything) to do.
> FWIW, my own local Emacs is built with a hack which forces use of
> lexical-binding everywhere.

Even the Emacs Calendar and Diary?  Or do you not use these?  If you do,
how did you make them work with lexical-binding and is it acceptable for
Emacs as a whole?

Steve Berman



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el
  2016-08-12 19:07         ` Stephen Berman
@ 2016-08-12 19:43           ` Stefan Monnier
  0 siblings, 0 replies; 17+ messages in thread
From: Stefan Monnier @ 2016-08-12 19:43 UTC (permalink / raw)
  To: emacs-devel

> Even the Emacs Calendar and Diary?

Yes.

> Or do you not use these?

I do.

> If you do, how did you make them work with lexical-binding

I had to patch them.

If you look through this list, I actually have posted this patch at some
point (maybe a couple years ago?), but it's not acceptable as is because
it can break some user diaries/configurations.  I should go back and
adapt my patch to be more conservative, but haven't found the
time/motivation to do so.


        Stefan




^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el)
  2016-08-11  2:36       ` Stefan Monnier
  2016-08-12 19:07         ` Stephen Berman
@ 2016-08-13 18:18         ` Mark Oteiza
  2016-08-13 18:31           ` Eli Zaretskii
  2016-08-14  2:18           ` Chad Brown
  1 sibling, 2 replies; 17+ messages in thread
From: Mark Oteiza @ 2016-08-13 18:18 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: John Wiegley, Eli Zaretskii, emacs-devel

---
On 10/08/16 at 10:36pm, Stefan Monnier wrote:
> > Seems like a lot of low hanging fruit to pick and I should post
> > a patch, WDYT?
> 
> Go for it.

Done.  Flipped the switch and fixed small warnings on files in
lisp/*.el, but didn't bother with fixing other kinds of warnings or
altering libs actually using dynamic binding or didn't already have
a compile-time dependency on cl{,-lib} for {,cl-}pushnew.  Nothing
appears to be broken, but AFAIK I don't make regular use of many of
these libraries.

diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index abcfb2c..ca8cd6b 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -1,4 +1,4 @@
-;; allout-widgets.el --- Visually highlight allout outline structure.
+;;; allout-widgets.el --- Visually highlight allout outline structure. -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
@@ -1910,7 +1910,7 @@ allout-decorate-item-guides
             (if (> increment 1) (setq increment 1))
             (when extenders
               ;; paint extenders after a connector, else leave spaces.
-              (dotimes (i extenders)
+              (dotimes (_ extenders)
                 (put-text-property
                  position (setq position (1+ position))
                  'display (allout-fetch-icon-image
diff --git a/lisp/allout.el b/lisp/allout.el
index 3a7b6e6..e11dff6 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -1,4 +1,4 @@
-;;; allout.el --- extensive outline mode for use alone and with other modes
+;;; allout.el --- extensive outline mode for use alone and with other modes -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992-1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/apropos.el b/lisp/apropos.el
index 7c9ec12..3f653fb 100644
--- a/lisp/apropos.el
+++ b/lisp/apropos.el
@@ -1,4 +1,4 @@
-;;; apropos.el --- apropos commands for users and programmers
+;;; apropos.el --- apropos commands for users and programmers -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1989, 1994-1995, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index b5373c6..e84d543 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -1,4 +1,4 @@
-;;; arc-mode.el --- simple editing of archives
+;;; arc-mode.el --- simple editing of archives -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1995, 1997-1998, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/array.el b/lisp/array.el
index f0960fa..91b319f 100644
--- a/lisp/array.el
+++ b/lisp/array.el
@@ -1,4 +1,4 @@
-;;; array.el --- array editing commands for GNU Emacs
+;;; array.el --- array editing commands for GNU Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1987, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el
index 43fa312..39c7986 100644
--- a/lisp/autoinsert.el
+++ b/lisp/autoinsert.el
@@ -1,4 +1,4 @@
-;;; autoinsert.el --- automatic mode-dependent insertion of text into new files
+;;; autoinsert.el --- automatic mode-dependent insertion of text into new files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1987, 1994-1995, 1998, 2000-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/avoid.el b/lisp/avoid.el
index 3d43539..7208e61 100644
--- a/lisp/avoid.el
+++ b/lisp/avoid.el
@@ -1,4 +1,4 @@
-;;; avoid.el --- make mouse pointer stay out of the way of editing
+;;; avoid.el --- make mouse pointer stay out of the way of editing -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1994, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/battery.el b/lisp/battery.el
index 1b58489..4fec9b6 100644
--- a/lisp/battery.el
+++ b/lisp/battery.el
@@ -1,4 +1,4 @@
-;;; battery.el --- display battery status information
+;;; battery.el --- display battery status information -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1997-1998, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/bindings.el b/lisp/bindings.el
index c13f4b1..ae093c4 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -1,4 +1,4 @@
-;;; bindings.el --- define standard key bindings and some variables
+;;; bindings.el --- define standard key bindings and some variables -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1987, 1992-1996, 1999-2016 Free Software
 ;; Foundation, Inc.
@@ -728,7 +728,7 @@ right-char
 see."
   (interactive "^p")
   (if visual-order-cursor-movement
-      (dotimes (i (if (numberp n) (abs n) 1))
+      (dotimes (_ (if (numberp n) (abs n) 1))
 	(move-point-visually (if (and (numberp n) (< n 0)) -1 1)))
     (if (eq (current-bidi-paragraph-direction) 'left-to-right)
 	(forward-char n)
@@ -746,7 +746,7 @@ left-char
 see."
   (interactive "^p")
   (if visual-order-cursor-movement
-      (dotimes (i (if (numberp n) (abs n) 1))
+      (dotimes (_ (if (numberp n) (abs n) 1))
 	(move-point-visually (if (and (numberp n) (< n 0)) 1 -1)))
     (if (eq (current-bidi-paragraph-direction) 'left-to-right)
 	(backward-char n)
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index f3c8b2a..4383279 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -1,4 +1,4 @@
-;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later
+;;; bookmark.el --- set bookmarks, maybe annotate them, jump to them later -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1997, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 4742628..272031d 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -1,4 +1,4 @@
-;;; buff-menu.el --- Interface for viewing and manipulating buffers
+;;; buff-menu.el --- Interface for viewing and manipulating buffers -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1987, 1993-1995, 2000-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/button.el b/lisp/button.el
index cb08b78..fddd6e9 100644
--- a/lisp/button.el
+++ b/lisp/button.el
@@ -1,4 +1,4 @@
-;;; button.el --- clickable buttons
+;;; button.el --- clickable buttons -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/chistory.el b/lisp/chistory.el
index 6f8a74b..58b883f 100644
--- a/lisp/chistory.el
+++ b/lisp/chistory.el
@@ -1,4 +1,4 @@
-;;; chistory.el --- list command history
+;;; chistory.el --- list command history -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/cmuscheme.el b/lisp/cmuscheme.el
index f61e720..ee7ae5d 100644
--- a/lisp/cmuscheme.el
+++ b/lisp/cmuscheme.el
@@ -1,4 +1,4 @@
-;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el
+;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1988, 1994, 1997, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/completion.el b/lisp/completion.el
index 093740d..59b1556 100644
--- a/lisp/completion.el
+++ b/lisp/completion.el
@@ -1,4 +1,4 @@
-;;; completion.el --- dynamic word-completion code
+;;; completion.el --- dynamic word-completion code -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1990, 1993, 1995, 1997, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/composite.el b/lisp/composite.el
index 94b14df..f7265c9 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -1,4 +1,4 @@
-;;; composite.el --- support character composition
+;;; composite.el --- support character composition -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
 
@@ -572,7 +572,6 @@ compose-gstring-for-graphic
 		       (as (lglyph-ascent glyph))
 		       (de (lglyph-descent glyph))
 		       (ce (/ (+ lb rb) 2))
-		       (w (lglyph-width glyph))
 		       xoff yoff)
 		  (cond
 		   ((and class (>= class 200) (<= class 240))
@@ -673,9 +672,7 @@ compose-gstring-for-graphic
 
 (defun compose-gstring-for-dotted-circle (gstring)
   (let* ((dc (lgstring-glyph gstring 0)) ; glyph of dotted-circle
-	 (dc-id (lglyph-code dc))
 	 (fc (lgstring-glyph gstring 1)) ; glyph of the following char
-	 (fc-id (lglyph-code fc))
 	 (gstr (and nil (font-shape-gstring gstring))))
     (if (and gstr
 	     (or (= (lgstring-glyph-len gstr) 1)
diff --git a/lisp/cus-dep.el b/lisp/cus-dep.el
index b31c60f..4b16bb6 100644
--- a/lisp/cus-dep.el
+++ b/lisp/cus-dep.el
@@ -1,4 +1,4 @@
-;;; cus-dep.el --- find customization dependencies
+;;; cus-dep.el --- find customization dependencies -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 1997, 2001-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/cus-face.el b/lisp/cus-face.el
index 6c384f7..a4eacbd 100644
--- a/lisp/cus-face.el
+++ b/lisp/cus-face.el
@@ -1,4 +1,4 @@
-;;; cus-face.el --- customization support for faces
+;;; cus-face.el --- customization support for faces -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 1996-1997, 1999-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el
index 3160e23..17e5214 100644
--- a/lisp/cus-theme.el
+++ b/lisp/cus-theme.el
@@ -1,4 +1,4 @@
-;;; cus-theme.el -- custom theme creation user interface
+;;; cus-theme.el -- custom theme creation user interface -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/custom.el b/lisp/custom.el
index 056ca34..0d890cc 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -1,4 +1,4 @@
-;;; custom.el --- tools for declaring and initializing options
+;;; custom.el --- tools for declaring and initializing options -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 1996-1997, 1999, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/delim-col.el b/lisp/delim-col.el
index cfa7c76..a77622d 100644
--- a/lisp/delim-col.el
+++ b/lisp/delim-col.el
@@ -1,4 +1,4 @@
-;;; delim-col.el --- prettify all columns in a region or rectangle
+;;; delim-col.el --- prettify all columns in a region or rectangle -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index ff1f14d..6c95647 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1,4 +1,4 @@
-;;; dired-aux.el --- less commonly used parts of dired
+;;; dired-aux.el --- less commonly used parts of dired -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1986, 1992, 1994, 1998, 2000-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/dirtrack.el b/lisp/dirtrack.el
index f0ef98c..f20eb85 100644
--- a/lisp/dirtrack.el
+++ b/lisp/dirtrack.el
@@ -1,4 +1,4 @@
-;;; dirtrack.el --- Directory Tracking by watching the prompt
+;;; dirtrack.el --- Directory Tracking by watching the prompt -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1996, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/disp-table.el b/lisp/disp-table.el
index fe18add..06db8bc 100644
--- a/lisp/disp-table.el
+++ b/lisp/disp-table.el
@@ -1,4 +1,4 @@
-;;; disp-table.el --- functions for dealing with char tables
+;;; disp-table.el --- functions for dealing with char tables -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1987, 1994-1995, 1999, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/dnd.el b/lisp/dnd.el
index b715eec..509842b 100644
--- a/lisp/dnd.el
+++ b/lisp/dnd.el
@@ -1,4 +1,4 @@
-;;; dnd.el --- drag and drop support
+;;; dnd.el --- drag and drop support -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/dom.el b/lisp/dom.el
index cf3a02a..9f5e177 100644
--- a/lisp/dom.el
+++ b/lisp/dom.el
@@ -1,4 +1,4 @@
-;;; dom.el --- XML/HTML (etc.) DOM manipulation and searching functions
+;;; dom.el --- XML/HTML (etc.) DOM manipulation and searching functions -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2014-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/dos-fns.el b/lisp/dos-fns.el
index 7188ae0..42a12ef 100644
--- a/lisp/dos-fns.el
+++ b/lisp/dos-fns.el
@@ -1,4 +1,4 @@
-;;; dos-fns.el --- MS-Dos specific functions
+;;; dos-fns.el --- MS-Dos specific functions -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1991, 1993, 1995-1996, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/double.el b/lisp/double.el
index d6ccff8..b9e7c83 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -1,4 +1,4 @@
-;;; double.el --- support for keyboard remapping with double clicking
+;;; double.el --- support for keyboard remapping with double clicking -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994, 1997-1998, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/ebuff-menu.el b/lisp/ebuff-menu.el
index 5536f94..b2f6b1b 100644
--- a/lisp/ebuff-menu.el
+++ b/lisp/ebuff-menu.el
@@ -1,4 +1,4 @@
-;;; ebuff-menu.el --- electric-buffer-list mode
+;;; ebuff-menu.el --- electric-buffer-list mode -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1986, 1994, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/echistory.el b/lisp/echistory.el
index 644c5f4..00a0fb2 100644
--- a/lisp/echistory.el
+++ b/lisp/echistory.el
@@ -1,4 +1,4 @@
-;;; echistory.el --- Electric Command History Mode
+;;; echistory.el --- Electric Command History Mode -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index a1750d4..db94d68 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -1,4 +1,4 @@
-;;; edmacro.el --- keyboard macro editor
+;;; edmacro.el --- keyboard macro editor -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/elide-head.el b/lisp/elide-head.el
index 917e813..eb0e1e2 100644
--- a/lisp/elide-head.el
+++ b/lisp/elide-head.el
@@ -1,4 +1,4 @@
-;;; elide-head.el --- hide headers in files
+;;; elide-head.el --- hide headers in files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index 9179e04..c874f1d 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -1,4 +1,4 @@
-;;; epg-config.el --- configuration of the EasyPG Library
+;;; epg-config.el --- configuration of the EasyPG Library -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2006-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/expand.el b/lisp/expand.el
index b0f19d2..0a58491 100644
--- a/lisp/expand.el
+++ b/lisp/expand.el
@@ -1,4 +1,4 @@
-;;; expand.el --- make abbreviations more usable
+;;; expand.el --- make abbreviations more usable -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1995-1996, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/ezimage.el b/lisp/ezimage.el
index cc39f28..2e7a4cb 100644
--- a/lisp/ezimage.el
+++ b/lisp/ezimage.el
@@ -1,4 +1,4 @@
-;;; ezimage --- Generalized Image management
+;;; ezimage --- Generalized Image management -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/facemenu.el b/lisp/facemenu.el
index 8b01c4e..e03679c 100644
--- a/lisp/facemenu.el
+++ b/lisp/facemenu.el
@@ -1,4 +1,4 @@
-;;; facemenu.el --- create a face menu for interactively adding fonts to text
+;;; facemenu.el --- create a face menu for interactively adding fonts to text -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994-1996, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/faces.el b/lisp/faces.el
index a7c4cce..15090e1 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1,4 +1,4 @@
-;;; faces.el --- Lisp faces
+;;; faces.el --- Lisp faces -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992-1996, 1998-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/ffap.el b/lisp/ffap.el
index 7013e6e..341bfe9 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -1,4 +1,4 @@
-;;; ffap.el --- find file (or url) at point
+;;; ffap.el --- find file (or url) at point -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1995-1997, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/files-x.el b/lisp/files-x.el
index 05ad7f5..848c888 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -1,4 +1,4 @@
-;;; files-x.el --- extended file handling commands
+;;; files-x.el --- extended file handling commands -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2009-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/filesets.el b/lisp/filesets.el
index d5e79c0..ebd5078 100644
--- a/lisp/filesets.el
+++ b/lisp/filesets.el
@@ -1,4 +1,4 @@
-;;; filesets.el --- handle group of files
+;;; filesets.el --- handle group of files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/find-cmd.el b/lisp/find-cmd.el
index 9b595de..3efec4e 100644
--- a/lisp/find-cmd.el
+++ b/lisp/find-cmd.el
@@ -1,4 +1,4 @@
-;;; find-cmd.el --- Build a valid find(1) command with sexps
+;;; find-cmd.el --- Build a valid find(1) command with sexps -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index b1b33ac..4e3c93f 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -1,4 +1,4 @@
-;;; find-dired.el --- run a `find' command and dired the output
+;;; find-dired.el --- run a `find' command and dired the output -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992, 1994-1995, 2000-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/find-file.el b/lisp/find-file.el
index 3c3d860..1061155 100644
--- a/lisp/find-file.el
+++ b/lisp/find-file.el
@@ -1,4 +1,4 @@
-;;; find-file.el --- find a file corresponding to this one given a pattern
+;;; find-file.el --- find a file corresponding to this one given a pattern -*- lexical-binding: t -*-
 
 ;; Author: Henry Guillaume <henri@tibco.com, henry@c032.aone.net.au>
 ;; Maintainer: emacs-devel@gnu.org
diff --git a/lisp/find-lisp.el b/lisp/find-lisp.el
index 8591eb8..81822bd 100644
--- a/lisp/find-lisp.el
+++ b/lisp/find-lisp.el
@@ -1,4 +1,4 @@
-;;; find-lisp.el --- emulation of find in Emacs Lisp
+;;; find-lisp.el --- emulation of find in Emacs Lisp -*- lexical-binding: t -*-
 
 ;; Author: Peter Breton
 ;; Created: Fri Mar 26 1999
diff --git a/lisp/finder.el b/lisp/finder.el
index da537a5..120f600 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -1,4 +1,4 @@
-;;; finder.el --- topic & keyword-based code finder
+;;; finder.el --- topic & keyword-based code finder -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992, 1997-1999, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/flow-ctrl.el b/lisp/flow-ctrl.el
index 9e79b24..892026a 100644
--- a/lisp/flow-ctrl.el
+++ b/lisp/flow-ctrl.el
@@ -1,4 +1,4 @@
-;;; flow-ctrl.el --- help for lusers on cu(1) or ttys with wired-in ^S/^Q flow control
+;;; flow-ctrl.el --- help for lusers on cu(1) or ttys with wired-in ^S/^Q flow control -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1990-1991, 1994, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/foldout.el b/lisp/foldout.el
index dd01636..8fba16f 100644
--- a/lisp/foldout.el
+++ b/lisp/foldout.el
@@ -1,4 +1,4 @@
-;;; foldout.el --- folding extensions for outline-mode and outline-minor-mode
+;;; foldout.el --- folding extensions for outline-mode and outline-minor-mode -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/follow.el b/lisp/follow.el
index c510e5a..f495491 100644
--- a/lisp/follow.el
+++ b/lisp/follow.el
@@ -1,4 +1,4 @@
-;;; follow.el --- synchronize windows showing the same buffer
+;;; follow.el --- synchronize windows showing the same buffer -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1995-1997, 1999, 2001-2016 Free Software Foundation,
 ;; Inc.
@@ -1624,8 +1624,7 @@ follow-pos-visible-in-window-p
 and RBOT are the number of pixels off-window at the top and bottom of
 the screen line (\"row\") containing POS, ROWH is the visible height
 of that row, and VPOS is the row number \(zero-based)."
-  (let* ((windows (follow-all-followers window))
-         (last (car (last windows))))
+  (let* ((windows (follow-all-followers window)))
     (when follow-start-end-invalid
       (follow-redisplay windows (car windows)))
     (let* ((cache (follow-windows-start-end windows))
@@ -1653,7 +1652,7 @@ follow-move-to-window-line
          (start-end (follow-windows-start-end windows))
          (rev-start-end (reverse start-end))
          (lines 0)
-         middle-window elt count)
+         elt count)
     (select-window
      (cond
       ((null arg)
diff --git a/lisp/font-core.el b/lisp/font-core.el
index b3da897..442cd56 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -1,4 +1,4 @@
-;;; font-core.el --- Core interface to font-lock
+;;; font-core.el --- Core interface to font-lock -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index b5ff5cf..e8fd074 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -1,4 +1,4 @@
-;;; font-lock.el --- Electric font lock mode
+;;; font-lock.el --- Electric font lock mode -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/format-spec.el b/lisp/format-spec.el
index 5789b89..c8ff2a7 100644
--- a/lisp/format-spec.el
+++ b/lisp/format-spec.el
@@ -1,4 +1,4 @@
-;;; format-spec.el --- functions for formatting arbitrary formatting strings
+;;; format-spec.el --- functions for formatting arbitrary formatting strings -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
@@ -24,8 +24,6 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'cl))
-
 (defun format-spec (format specification)
   "Return a string based on FORMAT and SPECIFICATION.
 FORMAT is a string containing `format'-like specs like \"bash %u %k\",
diff --git a/lisp/format.el b/lisp/format.el
index 4a46662..7185b8a 100644
--- a/lisp/format.el
+++ b/lisp/format.el
@@ -1,4 +1,4 @@
-;;; format.el --- read and save files in multiple formats
+;;; format.el --- read and save files in multiple formats -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994-1995, 1997, 1999, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/forms.el b/lisp/forms.el
index b068352..943f5ca 100644
--- a/lisp/forms.el
+++ b/lisp/forms.el
@@ -1,4 +1,4 @@
-;;; forms.el --- Forms mode: edit a file as a form to fill in
+;;; forms.el --- Forms mode: edit a file as a form to fill in -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1991, 1994-1997, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/fringe.el b/lisp/fringe.el
index 8ac3b6d..947aed3 100644
--- a/lisp/fringe.el
+++ b/lisp/fringe.el
@@ -1,4 +1,4 @@
-;;; fringe.el --- fringe setup and control
+;;; fringe.el --- fringe setup and control -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index 1e3a6e1..6b51217 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -1,4 +1,4 @@
-;;; generic-x.el --- A collection of generic modes
+;;; generic-x.el --- A collection of generic modes -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1997-1998, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/gs.el b/lisp/gs.el
index 7ab3d8b..6c9b743 100644
--- a/lisp/gs.el
+++ b/lisp/gs.el
@@ -1,4 +1,4 @@
-;;; gs.el --- interface to Ghostscript
+;;; gs.el --- interface to Ghostscript -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1998, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/help-at-pt.el b/lisp/help-at-pt.el
index b90be5a..783444e 100644
--- a/lisp/help-at-pt.el
+++ b/lisp/help-at-pt.el
@@ -1,4 +1,4 @@
-;;; help-at-pt.el --- local help through the keyboard
+;;; help-at-pt.el --- local help through the keyboard -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index e008698..15c83b4 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -1,4 +1,4 @@
-;;; help-mode.el --- `help-mode' used by *Help* buffers
+;;; help-mode.el --- `help-mode' used by *Help* buffers -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1986, 1993-1994, 1998-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/help.el b/lisp/help.el
index b848566..14ab47d 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1,4 +1,4 @@
-;;; help.el --- help commands for Emacs
+;;; help.el --- help commands for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1986, 1993-1994, 1998-2016 Free Software
 ;; Foundation, Inc.
@@ -716,8 +716,7 @@ help--binding-locus
                                               (format "%s-map" mode)))))
                                        minor-mode-map-alist))
                                 (list 'global-map
-                                      (intern-soft (format "%s-map" major-mode)))))
-              found)
+                                      (intern-soft (format "%s-map" major-mode))))))
           ;; Look into these advertised symbols first.
           (dolist (sym advertised-syms)
             (when (and
@@ -1085,7 +1084,7 @@ lookup-minor-mode-from-indicator
 \f
 ;;; Automatic resizing of temporary buffers.
 (defcustom temp-buffer-max-height
-  (lambda (buffer)
+  (lambda (_buffer)
     (if (and (display-graphic-p) (eq (selected-window) (frame-root-window)))
 	(/ (x-display-pixel-height) (frame-char-height) 2)
       (/ (- (frame-height) 2) 2)))
@@ -1102,7 +1101,7 @@ temp-buffer-max-height
   :version "24.3")
 
 (defcustom temp-buffer-max-width
-  (lambda (buffer)
+  (lambda (_buffer)
     (if (and (display-graphic-p) (eq (selected-window) (frame-root-window)))
 	(/ (x-display-pixel-width) (frame-char-width) 2)
       (/ (- (frame-width) 2) 2)))
diff --git a/lisp/hex-util.el b/lisp/hex-util.el
index 4867359..69587cc 100644
--- a/lisp/hex-util.el
+++ b/lisp/hex-util.el
@@ -1,4 +1,4 @@
-;;; hex-util.el --- Functions to encode/decode hexadecimal string.
+;;; hex-util.el --- Functions to encode/decode hexadecimal string. -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/hfy-cmap.el b/lisp/hfy-cmap.el
index e12ec8a..4b00063 100644
--- a/lisp/hfy-cmap.el
+++ b/lisp/hfy-cmap.el
@@ -1,4 +1,4 @@
-;;; hfy-cmap.el --- Fallback colour name -> rgb mapping for `htmlfontify'
+;;; hfy-cmap.el --- Fallback colour name -> rgb mapping for `htmlfontify' -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2002-2003, 2009-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el
index 1e4deb9..a737b61 100644
--- a/lisp/hilit-chg.el
+++ b/lisp/hilit-chg.el
@@ -1,4 +1,4 @@
-;;; hilit-chg.el --- minor mode displaying buffer changes with special face
+;;; hilit-chg.el --- minor mode displaying buffer changes with special face -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1998, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/hippie-exp.el b/lisp/hippie-exp.el
index 017d901..39f3996 100644
--- a/lisp/hippie-exp.el
+++ b/lisp/hippie-exp.el
@@ -1,4 +1,4 @@
-;;; hippie-exp.el --- expand text trying various ways to find its expansion
+;;; hippie-exp.el --- expand text trying various ways to find its expansion -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/htmlfontify.el b/lisp/htmlfontify.el
index 431300c..f8c3e39 100644
--- a/lisp/htmlfontify.el
+++ b/lisp/htmlfontify.el
@@ -1,4 +1,4 @@
-;;; htmlfontify.el --- htmlize a buffer/source tree with optional hyperlinks
+;;; htmlfontify.el --- htmlize a buffer/source tree with optional hyperlinks -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2002-2003, 2009-2016 Free Software Foundation, Inc.
 
@@ -1805,8 +1805,8 @@ htmlfontify-string
 fontified.  This is a simple convenience wrapper around
 `htmlfontify-buffer'."
   (let* ((hfy-optimizations-1 (copy-sequence hfy-optimizations))
-         (hfy-optimizations (add-to-list 'hfy-optimizations-1
-                                         'skip-refontification)))
+         (hfy-optimizations (pushnew 'skip-refontification
+                                     hfy-optimizations-1)))
     (with-temp-buffer
       (insert string)
       (htmlfontify-buffer)
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 6a96264..c8cd9a0 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -1,4 +1,4 @@
-;;; icomplete.el --- minibuffer completion incremental feedback
+;;; icomplete.el --- minibuffer completion incremental feedback -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992-1994, 1997, 1999, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/ido.el b/lisp/ido.el
index 0e74cbc..7013db3 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1,4 +1,4 @@
-;;; ido.el --- interactively do things with buffers and files
+;;; ido.el --- interactively do things with buffers and files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1996-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/iimage.el b/lisp/iimage.el
index 7a9667b..77c5834 100644
--- a/lisp/iimage.el
+++ b/lisp/iimage.el
@@ -1,4 +1,4 @@
-;;; iimage.el --- Inline image minor mode.
+;;; iimage.el --- Inline image minor mode. -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index 67b023d..68bd938 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -1,4 +1,4 @@
-;;; image-dired.el --- use dired to browse and manipulate your images
+;;; image-dired.el --- use dired to browse and manipulate your images -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/image-file.el b/lisp/image-file.el
index 6692125..12394e8 100644
--- a/lisp/image-file.el
+++ b/lisp/image-file.el
@@ -1,4 +1,4 @@
-;;; image-file.el --- support for visiting image files
+;;; image-file.el --- support for visiting image files -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/info-xref.el b/lisp/info-xref.el
index cafc0e4..81a2a5a 100644
--- a/lisp/info-xref.el
+++ b/lisp/info-xref.el
@@ -1,4 +1,4 @@
-;;; info-xref.el --- check external references in an Info document
+;;; info-xref.el --- check external references in an Info document -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2003-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/informat.el b/lisp/informat.el
index 8a539f5..182bdc7 100644
--- a/lisp/informat.el
+++ b/lisp/informat.el
@@ -1,4 +1,4 @@
-;;; informat.el --- info support functions package for Emacs
+;;; informat.el --- info support functions package for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1986, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/isearch.el b/lisp/isearch.el
index b50379a..afe06c6 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1,4 +1,4 @@
-;;; isearch.el --- incremental search minor mode
+;;; isearch.el --- incremental search minor mode -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992-1997, 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/isearchb.el b/lisp/isearchb.el
index 05cbdcd..4c21282 100644
--- a/lisp/isearchb.el
+++ b/lisp/isearchb.el
@@ -1,4 +1,4 @@
-;;; isearchb --- a marriage between iswitchb and isearch
+;;; isearchb --- a marriage between iswitchb and isearch -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el
index 39302f0..37f966c 100644
--- a/lisp/jka-cmpr-hook.el
+++ b/lisp/jka-cmpr-hook.el
@@ -1,4 +1,4 @@
-;;; jka-cmpr-hook.el --- preloaded code to enable jka-compr.el
+;;; jka-cmpr-hook.el --- preloaded code to enable jka-compr.el -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1995, 1997, 1999-2000, 2002-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/jka-compr.el b/lisp/jka-compr.el
index a555674..740f164 100644
--- a/lisp/jka-compr.el
+++ b/lisp/jka-compr.el
@@ -1,4 +1,4 @@
-;;; jka-compr.el --- reading/writing/loading compressed files
+;;; jka-compr.el --- reading/writing/loading compressed files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1995, 1997, 1999-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/kermit.el b/lisp/kermit.el
index 6165103..9dd670d 100644
--- a/lisp/kermit.el
+++ b/lisp/kermit.el
@@ -1,4 +1,4 @@
-;;; kermit.el --- additions to shell mode for use with kermit
+;;; kermit.el --- additions to shell mode for use with kermit -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1988, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/kmacro.el b/lisp/kmacro.el
index 2e743b4..626b184 100644
--- a/lisp/kmacro.el
+++ b/lisp/kmacro.el
@@ -1,4 +1,4 @@
-;;; kmacro.el --- enhanced keyboard macros
+;;; kmacro.el --- enhanced keyboard macros -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2002-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/loadhist.el b/lisp/loadhist.el
index 071a1ad..c0164f4 100644
--- a/lisp/loadhist.el
+++ b/lisp/loadhist.el
@@ -1,4 +1,4 @@
-;;; loadhist.el --- lisp functions for working with feature groups
+;;; loadhist.el --- lisp functions for working with feature groups -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1995, 1998, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/locate.el b/lisp/locate.el
index 2d56306..340cd9a 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -1,4 +1,4 @@
-;;; locate.el --- interface to the locate command
+;;; locate.el --- interface to the locate command -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1996, 1998, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 11cbea0..f065baa 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -1,4 +1,4 @@
-;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp
+;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1992, 1994, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/macros.el b/lisp/macros.el
index f7a4732..5160823 100644
--- a/lisp/macros.el
+++ b/lisp/macros.el
@@ -1,4 +1,4 @@
-;;; macros.el --- non-primitive commands for keyboard macros
+;;; macros.el --- non-primitive commands for keyboard macros -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1987, 1992, 1994-1995, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/makesum.el b/lisp/makesum.el
index a65e5ae..6829a95 100644
--- a/lisp/makesum.el
+++ b/lisp/makesum.el
@@ -1,4 +1,4 @@
-;;; makesum.el --- generate key binding summary for Emacs
+;;; makesum.el --- generate key binding summary for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/man.el b/lisp/man.el
index d127dec..ffc00bf 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -1,4 +1,4 @@
-;;; man.el --- browse UNIX manual pages
+;;; man.el --- browse UNIX manual pages -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1994, 1996-1997, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/master.el b/lisp/master.el
index b7c41e8..6e61b9e 100644
--- a/lisp/master.el
+++ b/lisp/master.el
@@ -1,4 +1,4 @@
-;;; master.el --- make a buffer the master over another buffer
+;;; master.el --- make a buffer the master over another buffer -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/md4.el b/lisp/md4.el
index e75128b..bb837c0 100644
--- a/lisp/md4.el
+++ b/lisp/md4.el
@@ -1,4 +1,4 @@
-;;; md4.el --- MD4 Message Digest Algorithm.
+;;; md4.el --- MD4 Message Digest Algorithm. -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2001, 2004, 2007-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 9f3156d..dc19c87 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1,4 +1,4 @@
-;;; menu-bar.el --- define a default menu bar
+;;; menu-bar.el --- define a default menu bar -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1995, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/misc.el b/lisp/misc.el
index 5fc3e7d..33827aa 100644
--- a/lisp/misc.el
+++ b/lisp/misc.el
@@ -1,4 +1,4 @@
-;;; misc.el --- some nonstandard editing and utility commands for Emacs
+;;; misc.el --- some nonstandard editing and utility commands for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1989, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/mouse-copy.el b/lisp/mouse-copy.el
index c0e5ace..3711e7b 100644
--- a/lisp/mouse-copy.el
+++ b/lisp/mouse-copy.el
@@ -1,4 +1,4 @@
-;;; mouse-copy.el --- one-click text copy and move
+;;; mouse-copy.el --- one-click text copy and move -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1996, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el
index e46ea00..47884f3 100644
--- a/lisp/mouse-drag.el
+++ b/lisp/mouse-drag.el
@@ -1,4 +1,4 @@
-;;; mouse-drag.el --- use mouse-2 to do a new style of scrolling
+;;; mouse-drag.el --- use mouse-2 to do a new style of scrolling -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1996-1997, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/msb.el b/lisp/msb.el
index 12edbbf..76b5fe3 100644
--- a/lisp/msb.el
+++ b/lisp/msb.el
@@ -1,4 +1,4 @@
-;;; msb.el --- customizable buffer-selection with multiple menus
+;;; msb.el --- customizable buffer-selection with multiple menus -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1995, 1997-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index 9e03854..ae60a7d 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -1,4 +1,4 @@
-;;; mwheel.el --- Wheel mouse support
+;;; mwheel.el --- Wheel mouse support -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1998, 2000-2016 Free Software Foundation, Inc.
 ;; Maintainer: William M. Perry <wmperry@gnu.org>
diff --git a/lisp/novice.el b/lisp/novice.el
index 1600d14..5c60834 100644
--- a/lisp/novice.el
+++ b/lisp/novice.el
@@ -1,4 +1,4 @@
-;;; novice.el --- handling of disabled commands ("novice mode") for Emacs
+;;; novice.el --- handling of disabled commands ("novice mode") for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1987, 1994, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/outline.el b/lisp/outline.el
index 2001cdf..7f8f347 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -1,4 +1,4 @@
-;;; outline.el --- outline mode commands for Emacs
+;;; outline.el --- outline mode commands for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1986, 1993-1995, 1997, 2000-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/paren.el b/lisp/paren.el
index e37cace..479e6a9 100644
--- a/lisp/paren.el
+++ b/lisp/paren.el
@@ -1,4 +1,4 @@
-;;; paren.el --- highlight matching paren
+;;; paren.el --- highlight matching paren -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993, 1996, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/password-cache.el b/lisp/password-cache.el
index 1a771a8..6d3d019 100644
--- a/lisp/password-cache.el
+++ b/lisp/password-cache.el
@@ -1,4 +1,4 @@
-;;; password-cache.el --- Read passwords, possibly using a password cache.
+;;; password-cache.el --- Read passwords, possibly using a password cache. -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2000, 2003-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/pcmpl-cvs.el b/lisp/pcmpl-cvs.el
index 5cccded..6be7008 100644
--- a/lisp/pcmpl-cvs.el
+++ b/lisp/pcmpl-cvs.el
@@ -1,4 +1,4 @@
-;;; pcmpl-cvs.el --- functions for dealing with cvs completions
+;;; pcmpl-cvs.el --- functions for dealing with cvs completions -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/pcmpl-linux.el b/lisp/pcmpl-linux.el
index 3cb38b9..6166b97 100644
--- a/lisp/pcmpl-linux.el
+++ b/lisp/pcmpl-linux.el
@@ -1,4 +1,4 @@
-;;; pcmpl-linux.el --- functions for dealing with GNU/Linux completions
+;;; pcmpl-linux.el --- functions for dealing with GNU/Linux completions -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/pcmpl-rpm.el b/lisp/pcmpl-rpm.el
index 4e17fa3..ec83fda 100644
--- a/lisp/pcmpl-rpm.el
+++ b/lisp/pcmpl-rpm.el
@@ -1,4 +1,4 @@
-;;; pcmpl-rpm.el --- functions for dealing with rpm completions
+;;; pcmpl-rpm.el --- functions for dealing with rpm completions -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/proced.el b/lisp/proced.el
index db45e20..d31b279 100644
--- a/lisp/proced.el
+++ b/lisp/proced.el
@@ -1,4 +1,4 @@
-;;; proced.el --- operate on system processes like dired
+;;; proced.el --- operate on system processes like dired -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2008-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/ps-bdf.el b/lisp/ps-bdf.el
index bde0bb5..72a6dd2 100644
--- a/lisp/ps-bdf.el
+++ b/lisp/ps-bdf.el
@@ -1,4 +1,4 @@
-;;; ps-bdf.el --- BDF font file handler for ps-print
+;;; ps-bdf.el --- BDF font file handler for ps-print -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1998-1999, 2001-2016 Free Software Foundation, Inc.
 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
diff --git a/lisp/ps-def.el b/lisp/ps-def.el
index 6001628..fbb61b5 100644
--- a/lisp/ps-def.el
+++ b/lisp/ps-def.el
@@ -1,4 +1,4 @@
-;;; ps-def.el --- XEmacs and Emacs definitions for ps-print
+;;; ps-def.el --- XEmacs and Emacs definitions for ps-print -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/ps-mule.el b/lisp/ps-mule.el
index f14cd0d..4ed5555 100644
--- a/lisp/ps-mule.el
+++ b/lisp/ps-mule.el
@@ -1,4 +1,4 @@
-;;; ps-mule.el --- provide multi-byte character facility to ps-print
+;;; ps-mule.el --- provide multi-byte character facility to ps-print -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/ps-samp.el b/lisp/ps-samp.el
index 03efa85..e497d0e 100644
--- a/lisp/ps-samp.el
+++ b/lisp/ps-samp.el
@@ -1,4 +1,4 @@
-;;; ps-samp.el --- ps-print sample setup code
+;;; ps-samp.el --- ps-print sample setup code -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2007-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/recentf.el b/lisp/recentf.el
index dc94897..03ea2c8 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -1,4 +1,4 @@
-;;; recentf.el --- setup a menu of recently opened files
+;;; recentf.el --- setup a menu of recently opened files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/reposition.el b/lisp/reposition.el
index 532c9ad..d24df55 100644
--- a/lisp/reposition.el
+++ b/lisp/reposition.el
@@ -1,4 +1,4 @@
-;;; reposition.el --- center a Lisp function or comment on the screen
+;;; reposition.el --- center a Lisp function or comment on the screen -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1991, 1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 362ffa7..e1443cd 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -1,4 +1,4 @@
-;;; rfn-eshadow.el --- Highlight `shadowed' part of read-file-name input text
+;;; rfn-eshadow.el --- Highlight `shadowed' part of read-file-name input text -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/rot13.el b/lisp/rot13.el
index ee4f51d..f17d6fc 100644
--- a/lisp/rot13.el
+++ b/lisp/rot13.el
@@ -1,4 +1,4 @@
-;;; rot13.el --- display a buffer in ROT13
+;;; rot13.el --- display a buffer in ROT13 -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1988, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/rtree.el b/lisp/rtree.el
index 662e043..1748779 100644
--- a/lisp/rtree.el
+++ b/lisp/rtree.el
@@ -1,4 +1,4 @@
-;;; rtree.el --- functions for manipulating range trees
+;;; rtree.el --- functions for manipulating range trees -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2010-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index 74e4969..59e04aa 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -1,4 +1,4 @@
-;;; ruler-mode.el --- display a ruler in the header line
+;;; ruler-mode.el --- display a ruler in the header line -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/savehist.el b/lisp/savehist.el
index e700a17..7064d55 100644
--- a/lisp/savehist.el
+++ b/lisp/savehist.el
@@ -1,4 +1,4 @@
-;;; savehist.el --- Save minibuffer history
+;;; savehist.el --- Save minibuffer history -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1997, 2005-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index 0230279..984c922 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -1,4 +1,4 @@
-;;; saveplace.el --- automatically save place in files
+;;; saveplace.el --- automatically save place in files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/sb-image.el b/lisp/sb-image.el
index 6d68fc8..15958d0 100644
--- a/lisp/sb-image.el
+++ b/lisp/sb-image.el
@@ -1,4 +1,4 @@
-;;; sb-image --- Image management for speedbar
+;;; sb-image --- Image management for speedbar -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1999-2003, 2005-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/scroll-all.el b/lisp/scroll-all.el
index 5c10255..d148770 100644
--- a/lisp/scroll-all.el
+++ b/lisp/scroll-all.el
@@ -1,4 +1,4 @@
-;;; scroll-all.el --- scroll all buffers together minor mode
+;;; scroll-all.el --- scroll all buffers together minor mode -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1997, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index e5fe316..2721853 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -1,4 +1,4 @@
-;;; scroll-bar.el --- window system-independent scroll bar support
+;;; scroll-bar.el --- window system-independent scroll bar support -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1995, 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/scroll-lock.el b/lisp/scroll-lock.el
index c90a395..8175fe7 100644
--- a/lisp/scroll-lock.el
+++ b/lisp/scroll-lock.el
@@ -1,4 +1,4 @@
-;;; scroll-lock.el --- Scroll lock scrolling.
+;;; scroll-lock.el --- Scroll lock scrolling -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2005-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el
index 5e54f0f..58737ef 100644
--- a/lisp/shadowfile.el
+++ b/lisp/shadowfile.el
@@ -1,4 +1,4 @@
-;;; shadowfile.el --- automatic file copying
+;;; shadowfile.el --- automatic file copying -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/sort.el b/lisp/sort.el
index 8bc7138..7f8acfc 100644
--- a/lisp/sort.el
+++ b/lisp/sort.el
@@ -1,4 +1,4 @@
-;;; sort.el --- commands to sort text in an Emacs buffer
+;;; sort.el --- commands to sort text in an Emacs buffer -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1986-1987, 1994-1995, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/soundex.el b/lisp/soundex.el
index 7019044..a2750cd 100644
--- a/lisp/soundex.el
+++ b/lisp/soundex.el
@@ -1,4 +1,4 @@
-;;; soundex.el --- implement Soundex algorithm
+;;; soundex.el --- implement Soundex algorithm -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 4ed00ae..99a00da 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -1,4 +1,4 @@
-;;; speedbar --- quick access to files and tags in a frame
+;;; speedbar --- quick access to files and tags in a frame -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1996-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/strokes.el b/lisp/strokes.el
index 5a2020d..9f1c4c3 100644
--- a/lisp/strokes.el
+++ b/lisp/strokes.el
@@ -1,4 +1,4 @@
-;;; strokes.el --- control Emacs through mouse strokes
+;;; strokes.el --- control Emacs through mouse strokes -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1997, 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/t-mouse.el b/lisp/t-mouse.el
index 5ea1bdd..93607af 100644
--- a/lisp/t-mouse.el
+++ b/lisp/t-mouse.el
@@ -1,4 +1,4 @@
-;;; t-mouse.el --- mouse support within the text terminal
+;;; t-mouse.el --- mouse support within the text terminal -*- lexical-binding: t -*-
 
 ;; Author: Nick Roberts <nickrob@gnu.org>
 ;; Maintainer: emacs-devel@gnu.org
diff --git a/lisp/tabify.el b/lisp/tabify.el
index 6f3e63e..1826abc 100644
--- a/lisp/tabify.el
+++ b/lisp/tabify.el
@@ -1,4 +1,4 @@
-;;; tabify.el --- tab conversion commands for Emacs
+;;; tabify.el --- tab conversion commands for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985, 1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/talk.el b/lisp/talk.el
index ae8bd28..3d8d3f3 100644
--- a/lisp/talk.el
+++ b/lisp/talk.el
@@ -1,4 +1,4 @@
-;;; talk.el --- allow several users to talk to each other through Emacs
+;;; talk.el --- allow several users to talk to each other through Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1995, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el
index 0520369..4e7130a 100644
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -1,4 +1,4 @@
-;;; tar-mode.el --- simple editing of tar files from GNU Emacs
+;;; tar-mode.el --- simple editing of tar files from GNU Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1990-1991, 1993-2016 Free Software Foundation, Inc.
 
@@ -1027,8 +1027,7 @@ tar-copy
 (defun tar-new-entry (filename &optional index)
   "Insert a new empty regular file before point."
   (interactive "*sFile name: ")
-  (let* ((buffer  (current-buffer))
-	 (index   (or index (tar-current-position)))
+  (let* ((index   (or index (tar-current-position)))
 	 (d-list  (and (not (zerop index))
 		       (nthcdr (+ -1 index) tar-parse-info)))
 	 (pos     (if d-list
@@ -1060,7 +1059,7 @@ tar-flag-deleted
 With a prefix argument, mark that many files."
   (interactive "p")
   (beginning-of-line)
-  (dotimes (i (abs p))
+  (dotimes (_ (abs p))
     (if (tar-current-descriptor unflag) ; barf if we're not on an entry-line.
 	(progn
 	  (delete-char 1)
diff --git a/lisp/tempo.el b/lisp/tempo.el
index beb4dba..adc0735 100644
--- a/lisp/tempo.el
+++ b/lisp/tempo.el
@@ -1,4 +1,4 @@
-;;; tempo.el --- Flexible template insertion
+;;; tempo.el --- Flexible template insertion -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994-1995, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/term.el b/lisp/term.el
index 87f600c..51cb8ee 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -1,4 +1,4 @@
-;;; term.el --- general command interpreter in a window stuff
+;;; term.el --- general command interpreter in a window stuff -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1988, 1990, 1992, 1994-1995, 2001-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/thumbs.el b/lisp/thumbs.el
index dd50c2d..339cc78 100644
--- a/lisp/thumbs.el
+++ b/lisp/thumbs.el
@@ -1,4 +1,4 @@
-;;; thumbs.el --- Thumbnails previewer for images files
+;;; thumbs.el --- Thumbnails previewer for images files -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el
index c053ea6..3fef48a 100644
--- a/lisp/time-stamp.el
+++ b/lisp/time-stamp.el
@@ -1,4 +1,4 @@
-;;; time-stamp.el --- Maintain last change time stamps in files edited by Emacs
+;;; time-stamp.el --- Maintain last change time stamps in files edited by Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1989, 1993-1995, 1997, 2000-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/time.el b/lisp/time.el
index 651dd56..fd332c7 100644
--- a/lisp/time.el
+++ b/lisp/time.el
@@ -1,4 +1,4 @@
-;;; time.el --- display time, load and mail indicator in mode line of Emacs
+;;; time.el --- display time, load and mail indicator in mode line of Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1987, 1993-1994, 1996, 2000-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/tool-bar.el b/lisp/tool-bar.el
index f0dfee2..343dd39 100644
--- a/lisp/tool-bar.el
+++ b/lisp/tool-bar.el
@@ -1,4 +1,4 @@
-;;; tool-bar.el --- setting up the tool bar
+;;; tool-bar.el --- setting up the tool bar -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 60eabec..d116bb7 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -1,4 +1,4 @@
-;;; tooltip.el --- show tooltip windows
+;;; tooltip.el --- show tooltip windows -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1997, 1999-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/tree-widget.el b/lisp/tree-widget.el
index 0ffb8dc..3e94a62 100644
--- a/lisp/tree-widget.el
+++ b/lisp/tree-widget.el
@@ -1,4 +1,4 @@
-;;; tree-widget.el --- Tree widget
+;;; tree-widget.el --- Tree widget -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/userlock.el b/lisp/userlock.el
index a0c55fd..cd9f758 100644
--- a/lisp/userlock.el
+++ b/lisp/userlock.el
@@ -1,4 +1,4 @@
-;;; userlock.el --- handle file access contention between multiple users
+;;; userlock.el --- handle file access contention between multiple users -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985-1986, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/vcursor.el b/lisp/vcursor.el
index 6a112ff..1a0926a 100644
--- a/lisp/vcursor.el
+++ b/lisp/vcursor.el
@@ -1,4 +1,4 @@
-;;; vcursor.el --- manipulate an alternative ("virtual") cursor
+;;; vcursor.el --- manipulate an alternative ("virtual") cursor -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994, 1996, 1998, 2001-2016 Free Software Foundation,
 ;; Inc.
diff --git a/lisp/version.el b/lisp/version.el
index d4cb92e..e62cf39 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -1,4 +1,4 @@
-;;; version.el --- record version number of Emacs
+;;; version.el --- record version number of Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985, 1992, 1994-1995, 1999-2016 Free Software
 ;; Foundation, Inc.
@@ -116,7 +116,7 @@ emacs-repository-version-git
 		  (looking-at "[0-9a-fA-F]\\{40\\}"))
 	   (match-string 0)))))
 
-(defun emacs-repository-get-version (&optional dir external)
+(defun emacs-repository-get-version (&optional dir _external)
   "Try to return as a string the repository revision of the Emacs sources.
 The format of the returned string is dependent on the VCS in use.
 Value is nil if the sources do not seem to be under version
diff --git a/lisp/view.el b/lisp/view.el
index ff7d2c9..775c21a 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -1,4 +1,4 @@
-;;; view.el --- peruse file or buffer without editing
+;;; view.el --- peruse file or buffer without editing -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1985, 1989, 1994-1995, 1997, 2000-2016 Free Software
 ;; Foundation, Inc.
diff --git a/lisp/vt-control.el b/lisp/vt-control.el
index 3584010..e2d54ac 100644
--- a/lisp/vt-control.el
+++ b/lisp/vt-control.el
@@ -1,4 +1,4 @@
-;;; vt-control.el --- Common VTxxx control functions
+;;; vt-control.el --- Common VTxxx control functions -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1993-1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/vt100-led.el b/lisp/vt100-led.el
index 8117a71..713b675 100644
--- a/lisp/vt100-led.el
+++ b/lisp/vt100-led.el
@@ -1,4 +1,4 @@
-;;; vt100-led.el --- functions for LED control on VT-100 terminals & clones
+;;; vt100-led.el --- functions for LED control on VT-100 terminals & clones -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1988, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index 3c524e7..236abe3 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -1,4 +1,4 @@
-;;; w32-fns.el --- Lisp routines for 32-bit Windows
+;;; w32-fns.el --- Lisp routines for 32-bit Windows -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/whitespace.el b/lisp/whitespace.el
index af906ba..dbaacfa 100644
--- a/lisp/whitespace.el
+++ b/lisp/whitespace.el
@@ -1,4 +1,4 @@
-;;; whitespace.el --- minor mode to visualize TAB, (HARD) SPACE, NEWLINE
+;;; whitespace.el --- minor mode to visualize TAB, (HARD) SPACE, NEWLINE -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/wid-browse.el b/lisp/wid-browse.el
index 6065ebc..ddc8230 100644
--- a/lisp/wid-browse.el
+++ b/lisp/wid-browse.el
@@ -1,4 +1,4 @@
-;;; wid-browse.el --- functions for browsing widgets
+;;; wid-browse.el --- functions for browsing widgets -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 1997, 2001-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/widget.el b/lisp/widget.el
index 54507cd..79834f3 100644
--- a/lisp/widget.el
+++ b/lisp/widget.el
@@ -1,4 +1,4 @@
-;;; widget.el --- a library of user interface components
+;;; widget.el --- a library of user interface components -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 1996-1997, 2001-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/windmove.el b/lisp/windmove.el
index 7cfb7d5..be214e2 100644
--- a/lisp/windmove.el
+++ b/lisp/windmove.el
@@ -1,4 +1,4 @@
-;;; windmove.el --- directional window-selection routines
+;;; windmove.el --- directional window-selection routines -*- lexical-binding: t -*-
 ;;
 ;; Copyright (C) 1998-2016 Free Software Foundation, Inc.
 ;;
diff --git a/lisp/winner.el b/lisp/winner.el
index 9a6f5d5..970d50f 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -1,4 +1,4 @@
-;;; winner.el --- Restore old window configurations
+;;; winner.el --- Restore old window configurations -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1997-1998, 2001-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index eea9e96..fc37805 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -1,4 +1,4 @@
-;;; x-dnd.el --- drag and drop support for X
+;;; x-dnd.el --- drag and drop support for X -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
 
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index a2b6401..5fb977d 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -1,4 +1,4 @@
-;;; xt-mouse.el --- support the mouse when emacs run in an xterm
+;;; xt-mouse.el --- support the mouse when emacs run in an xterm -*- lexical-binding: t -*-
 
 ;; Copyright (C) 1994, 2000-2016 Free Software Foundation, Inc.
 



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el)
  2016-08-13 18:18         ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
@ 2016-08-13 18:31           ` Eli Zaretskii
  2016-08-14  6:32             ` [PATCH] lexical-binding mega-patch John Wiegley
  2016-09-28 17:17             ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
  2016-08-14  2:18           ` Chad Brown
  1 sibling, 2 replies; 17+ messages in thread
From: Eli Zaretskii @ 2016-08-13 18:31 UTC (permalink / raw)
  To: Mark Oteiza; +Cc: jwiegley, monnier, emacs-devel

> Date: Sat, 13 Aug 2016 14:18:32 -0400
> From: Mark Oteiza <mvoteiza@udel.edu>
> Cc: emacs-devel@gnu.org, John Wiegley <jwiegley@gmail.com>,
> 	Eli Zaretskii <eliz@gnu.org>
> 
> On 10/08/16 at 10:36pm, Stefan Monnier wrote:
> > > Seems like a lot of low hanging fruit to pick and I should post
> > > a patch, WDYT?
> > 
> > Go for it.
> 
> Done.  Flipped the switch and fixed small warnings on files in
> lisp/*.el, but didn't bother with fixing other kinds of warnings or
> altering libs actually using dynamic binding or didn't already have
> a compile-time dependency on cl{,-lib} for {,cl-}pushnew.  Nothing
> appears to be broken, but AFAIK I don't make regular use of many of
> these libraries.

IMO, we should have tests for each one of them before we do this.

Thanks.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el)
  2016-08-13 18:18         ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
  2016-08-13 18:31           ` Eli Zaretskii
@ 2016-08-14  2:18           ` Chad Brown
  1 sibling, 0 replies; 17+ messages in thread
From: Chad Brown @ 2016-08-14  2:18 UTC (permalink / raw)
  To: Mark Oteiza; +Cc: emacs-devel


> On 13 Aug 2016, at 11:18, Mark Oteiza <mvoteiza@udel.edu> wrote:
> […]
> Done.  Flipped the switch and fixed small warnings on files in
> lisp/*.el, but didn't bother with fixing other kinds of warnings or
> altering libs actually using dynamic binding or didn't already have
> a compile-time dependency on cl{,-lib} for {,cl-}pushnew.  Nothing
> appears to be broken, but AFAIK I don't make regular use of many of
> these libraries.

Perhaps create a feature or scratch branch that we can test, after the emacs-25 release?

~Chad




^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] lexical-binding mega-patch
  2016-08-13 18:31           ` Eli Zaretskii
@ 2016-08-14  6:32             ` John Wiegley
  2016-08-14 18:21               ` Mark Oteiza
  2016-09-28 17:17             ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
  1 sibling, 1 reply; 17+ messages in thread
From: John Wiegley @ 2016-08-14  6:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Mark Oteiza, monnier, emacs-devel

>>>>> Eli Zaretskii <eliz@gnu.org> writes:

>> Done. Flipped the switch and fixed small warnings on files in lisp/*.el,
>> but didn't bother with fixing other kinds of warnings or altering libs
>> actually using dynamic binding or didn't already have a compile-time
>> dependency on cl{,-lib} for {,cl-}pushnew. Nothing appears to be broken,
>> but AFAIK I don't make regular use of many of these libraries.

> IMO, we should have tests for each one of them before we do this.

Yes, I would love to see this too. And this would be a great reason to write
them. Having this enabled for 26 would be a good thing, I think.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] lexical-binding mega-patch
  2016-08-14  6:32             ` [PATCH] lexical-binding mega-patch John Wiegley
@ 2016-08-14 18:21               ` Mark Oteiza
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Oteiza @ 2016-08-14 18:21 UTC (permalink / raw)
  To: Eli Zaretskii, monnier, emacs-devel, John Wiegley

On 13/08/16 at 11:32pm, John Wiegley wrote:
> >>>>> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Done. Flipped the switch and fixed small warnings on files in lisp/*.el,
> >> but didn't bother with fixing other kinds of warnings or altering libs
> >> actually using dynamic binding or didn't already have a compile-time
> >> dependency on cl{,-lib} for {,cl-}pushnew. Nothing appears to be broken,
> >> but AFAIK I don't make regular use of many of these libraries.
> 
> > IMO, we should have tests for each one of them before we do this.
> 
> Yes, I would love to see this too. And this would be a great reason to write
> them. Having this enabled for 26 would be a good thing, I think.

or just encourage writing tests when bugs are discovered.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el)
  2016-08-13 18:31           ` Eli Zaretskii
  2016-08-14  6:32             ` [PATCH] lexical-binding mega-patch John Wiegley
@ 2016-09-28 17:17             ` Mark Oteiza
  2016-09-29 15:21               ` Eli Zaretskii
  1 sibling, 1 reply; 17+ messages in thread
From: Mark Oteiza @ 2016-09-28 17:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: jwiegley, monnier, emacs-devel

On 13/08/16 at 09:31pm, Eli Zaretskii wrote:
> > Date: Sat, 13 Aug 2016 14:18:32 -0400
> > From: Mark Oteiza <mvoteiza@udel.edu>
> > Cc: emacs-devel@gnu.org, John Wiegley <jwiegley@gmail.com>,
> > 	Eli Zaretskii <eliz@gnu.org>
> > 
> > On 10/08/16 at 10:36pm, Stefan Monnier wrote:
> > > > Seems like a lot of low hanging fruit to pick and I should post
> > > > a patch, WDYT?
> > > 
> > > Go for it.
> > 
> > Done.  Flipped the switch and fixed small warnings on files in
> > lisp/*.el, but didn't bother with fixing other kinds of warnings or
> > altering libs actually using dynamic binding or didn't already have
> > a compile-time dependency on cl{,-lib} for {,cl-}pushnew.  Nothing
> > appears to be broken, but AFAIK I don't make regular use of many of
> > these libraries.
> 
> IMO, we should have tests for each one of them before we do this.
> 
> Thanks.

Did the above in cbb2e84518 for files that already had tests written.
Tests passed.



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el)
  2016-09-28 17:17             ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
@ 2016-09-29 15:21               ` Eli Zaretskii
  0 siblings, 0 replies; 17+ messages in thread
From: Eli Zaretskii @ 2016-09-29 15:21 UTC (permalink / raw)
  To: Mark Oteiza; +Cc: jwiegley, monnier, emacs-devel

> Date: Wed, 28 Sep 2016 13:17:20 -0400
> From: Mark Oteiza <mvoteiza@udel.edu>
> Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org, jwiegley@gmail.com
> 
> > IMO, we should have tests for each one of them before we do this.
> > 
> > Thanks.
> 
> Did the above in cbb2e84518 for files that already had tests written.
> Tests passed.

Thank you.



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2016-09-29 15:21 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20160810044910.10174.12870@vcs.savannah.gnu.org>
     [not found] ` <20160810044911.2B1C52201C2@vcs.savannah.gnu.org>
2016-08-10 15:45   ` [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el Stefan Monnier
2016-08-11  1:30     ` Mark Oteiza
2016-08-11  2:36       ` Stefan Monnier
2016-08-12 19:07         ` Stephen Berman
2016-08-12 19:43           ` Stefan Monnier
2016-08-13 18:18         ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
2016-08-13 18:31           ` Eli Zaretskii
2016-08-14  6:32             ` [PATCH] lexical-binding mega-patch John Wiegley
2016-08-14 18:21               ` Mark Oteiza
2016-09-28 17:17             ` [PATCH] lexical-binding mega-patch (was: Re: [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el) Mark Oteiza
2016-09-29 15:21               ` Eli Zaretskii
2016-08-14  2:18           ` Chad Brown
2016-08-11  5:30       ` [Emacs-diffs] master 05dc679: Turn on lexical-binding in json.el Richard Stallman
2016-08-11 17:34     ` John Wiegley
2016-08-11 20:35       ` Stefan Monnier
2016-08-12  6:37         ` Eli Zaretskii
2016-08-12 12:41           ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).