Merge changes from emacs-24 branch
[bpt/emacs.git] / lisp / vc / vc-git.el
index 9aa2ee7..ebaec24 100644 (file)
@@ -1,4 +1,4 @@
-;;; vc-git.el --- VC backend for the git version control system
+;;; vc-git.el --- VC backend for the git version control system -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
@@ -160,7 +160,7 @@ matching the resulting Git log output, and KEYWORDS is a list of
 ;;; BACKEND PROPERTIES
 
 (defun vc-git-revision-granularity () 'repository)
-(defun vc-git-checkout-model (files) 'implicit)
+(defun vc-git-checkout-model (_files) 'implicit)
 
 ;;; STATE-QUERYING FUNCTIONS
 
@@ -233,7 +233,7 @@ matching the resulting Git log output, and KEYWORDS is a list of
               (vc-git--state-code diff-letter)))
        (if (vc-git--empty-db-p) 'added 'up-to-date)))))
 
-(defun vc-git-working-revision (file)
+(defun vc-git-working-revision (_file)
   "Git-specific version of `vc-working-revision'."
   (let* (process-file-side-effects
         (str (with-output-to-string
@@ -471,14 +471,14 @@ or an empty string if none."
   (vc-exec-after
    `(vc-git-after-dir-status-stage ',stage  ',files ',update-function)))
 
-(defun vc-git-dir-status (dir update-function)
+(defun vc-git-dir-status (_dir update-function)
   "Return a list of (FILE STATE EXTRA) entries for DIR."
   ;; Further things that would have to be fixed later:
   ;; - how to handle unregistered directories
   ;; - how to support vc-dir on a subdir of the project tree
   (vc-git-dir-status-goto-stage 'update-index nil update-function))
 
-(defun vc-git-dir-status-files (dir files default-state update-function)
+(defun vc-git-dir-status-files (_dir files _default-state update-function)
   "Return a list of (FILE STATE EXTRA) entries for FILES in DIR."
   (vc-git-dir-status-goto-stage 'update-index files update-function))
 
@@ -512,7 +512,7 @@ or an empty string if none."
                  :help "Show the contents of the current stash"))
     map))
 
-(defun vc-git-dir-extra-headers (dir)
+(defun vc-git-dir-extra-headers (_dir)
   (let ((str (with-output-to-string
                (with-current-buffer standard-output
                  (vc-git--out-ok "symbolic-ref" "HEAD"))))
@@ -590,7 +590,7 @@ The car of the list is the current branch."
   "Create a new Git repository."
   (vc-git-command nil 0 nil "init"))
 
-(defun vc-git-register (files &optional rev comment)
+(defun vc-git-register (files &optional _rev _comment)
   "Register FILES into the git version-control system."
   (let (flist dlist)
     (dolist (crt files)
@@ -609,7 +609,7 @@ The car of the list is the current branch."
 
 (declare-function log-edit-extract-headers "log-edit" (headers string))
 
-(defun vc-git-checkin (files rev comment)
+(defun vc-git-checkin (files _rev comment)
   (let ((coding-system-for-write vc-git-commits-coding-system))
     (apply 'vc-git-command nil 0 files
           (nconc (list "commit" "-m")
@@ -635,7 +635,7 @@ The car of the list is the current branch."
      nil
      "cat-file" "blob" (concat (if rev rev "HEAD") ":" fullname))))
 
-(defun vc-git-checkout (file &optional editable rev)
+(defun vc-git-checkout (file &optional _editable rev)
   (vc-git-command nil 0 file "checkout" (or rev "HEAD")))
 
 (defun vc-git-revert (file &optional contents-done)
@@ -821,7 +821,7 @@ or BRANCH^ (where \"^\" can be repeated)."
           (append (vc-switches 'git 'diff)
                   (list "-p" (or rev1 "HEAD") rev2 "--")))))
 
-(defun vc-git-revision-table (files)
+(defun vc-git-revision-table (_files)
   ;; What about `files'?!?  --Stef
   (let (process-file-side-effects
        (table (list "HEAD")))
@@ -834,10 +834,8 @@ or BRANCH^ (where \"^\" can be repeated)."
     table))
 
 (defun vc-git-revision-completion-table (files)
-  (lexical-let ((files files)
-                table)
-    (setq table (lazy-completion-table
-                 table (lambda () (vc-git-revision-table files))))
+  (letrec ((table (lazy-completion-table
+                   table (lambda () (vc-git-revision-table files)))))
     table))
 
 (defun vc-git-annotate-command (file buf &optional rev)
@@ -876,7 +874,7 @@ or BRANCH^ (where \"^\" can be repeated)."
              (vc-git-command nil 0 nil "checkout" "-b" name)
            (vc-git-command nil 0 nil "tag" name)))))
 
-(defun vc-git-retrieve-tag (dir name update)
+(defun vc-git-retrieve-tag (dir name _update)
   (let ((default-directory dir))
     (vc-git-command nil 0 nil "checkout" name)
     ;; FIXME: update buffers if `update' is true