• Stefan Monnier's avatar
    * lisp/vc/ediff-*.el: Use lexical-binding, plus misc cleanup · 869cf5cb
    Stefan Monnier authored
    Re-enable lexical-binding in ediff.  For that, change ediff-find-file
    so as not to rely on dynamic scoping in its calling convention.
    
    * lisp/vc/ediff-diff.el: Move `provide` to the end.
    Remove redundant :group.
    (ediff-exec-process): Disregard current directory.
    (ediff-forward-word-function): Use defvar-local.
    
    * lisp/vc/ediff-help.el (ediff-set-help-message): Use functionp.
    
    * lisp/vc/ediff-hook.el (menu-bar-ediff-misc-menu): Make a toggle, as
    in the XEmacs menu.
    
    * lisp/vc/ediff-init.el (ediff-defvar-local): Add `doc-string` prop.
    (ediff-check-version): Delete function, unused.
    
    * lisp/vc/ediff-mult.el: Move `provide` to the end.
    Remove redundant :groups.
    (ediff-dir-diffs-buffer-map):
    Move initialization into declaration.
    (ediff-meta-mode): Use define-derived-mode.
    (ediff-intersect-directories): Remove `comparison-func`, unused.
    (ediff-prepare-meta-buffer): Fix use of `startup-hooks`.
    
    * lisp/vc/ediff-ptch.el: Move `provide` to the end.
    
    * lisp/vc/ediff-util.el (ediff-add-to-history): Use add-to-history instead.
    
    * lisp/vc/ediff-vers.el (ediff-vc-internal, ediff-vc-merge-internal):
    Use push and closures.
    
    * lisp/vc/ediff-wind.el: Remove redundant :groups.
    
    * lisp/vc/ediff.el: Move `provide` to the end.
    Remove redundant :groups.
    (ediff--magic-file-name, ediff--startup-hook): New vars.
    (ediff-find-file): Change calling convention so as not to use
    symbols as value cells.
    (ediff--buffer-file-name): New function.
    (ediff-files-internal): Adjust to new calling convention of ediff-find-file.
    (ediff-directories-internal, ediff-directory-revisions-internal)
    (ediff-regions-internal): Use push and closures.
    869cf5cb