> Find below a first patch.

Is there something else I need to do for this patch to be installed, or
should I just wait a bit more (I have other patches in the pipeline
after this one).


        Stefan


> 2018-11-28  Stefan Monnier  <monn...@iro.umontreal.ca>
>
>     Move `defvar`s used to silence warnings outside of eval-when-compile.
>     Make sure they don't actually give a value to the var.
>
>     * pg-init.el: Simplify.
>     Use (if t ...) to avoid running `require` at compile-time.
>     Don't add subdirs to load-path here since this code is never used.
>     (pg-init--script-full-path, pg-init--pg-root):
>     Inline their definition into their sole user.
>     
>     * generic/proof-utils.el (proof-resize-window-tofit):
>     Inline definitions of window-leftmost-p and window-rightmost-p previously
>     in proof-compat.el.
>     
>     * lib/proof-compat.el (proof-running-on-win32): Remove, not used.
>     (mac-key-mode): Remove, there's no carbon-emacs-package-version in
>     Emacs≥24.3.
>     (pg-custom-undeclare-variable): Use dolist.
>     (save-selected-frame): Remove, save-selected-window also saves&restores
>     the selected frame at the same time.  Update all users (which already
>     used save-selected-window around it).
>     (window-leftmost-p, window-rightmost-p, window-bottom-p)
>     (find-coding-system): Remove, unused.
>     
>     * hol-light/hol-light.el (caml-font-lock-keywords): Don't try to defvar
>     it to a dummy value and...
>     (hol-light): ...check its existence before using it instead.
>     
>     * coq/coq.el (coq-may-use-prettify): Simplify initialization.
>     
>
>
> diff --git a/.gitignore b/.gitignore
> index 9cd6d703..2039757e 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -2,5 +2,6 @@
>  nohup.out
>  TAGS
>  ChangeLog
> +proof-general-autoloads.el
>  *.elc
>  *~
> diff --git a/coq/coq-compile-common.el b/coq/coq-compile-common.el
> index 97ea6ec6..9dca0082 100644
> --- a/coq/coq-compile-common.el
> +++ b/coq/coq-compile-common.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -26,10 +26,9 @@
>  (require 'coq-system)
>  (require 'compile)
>  
> -(eval-when-compile
> -  ;;(defvar coq-pre-v85 nil)
> -  (defvar coq-confirm-external-compilation); defpacustom
> -  (defvar coq-compile-parallel-in-background)) ; defpacustom
> +;;(defvar coq-pre-v85 nil)
> +(defvar coq-confirm-external-compilation); defpacustom
> +(defvar coq-compile-parallel-in-background) ; defpacustom
>  
>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>  ;;
> diff --git a/coq/coq-indent.el b/coq/coq-indent.el
> index 6e8ba013..af780251 100644
> --- a/coq/coq-indent.el
> +++ b/coq/coq-indent.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -33,8 +33,7 @@
>  ;     ,@body
>  ;     (message "%.06f" (float-time (time-since time)))))
>  
> -(eval-when-compile
> -  (defvar coq-script-indent))
> +(defvar coq-script-indent)
>  
>  (defconst coq-any-command-regexp
>    (proof-regexp-alt-list coq-keywords))
> diff --git a/coq/coq-local-vars.el b/coq/coq-local-vars.el
> index b8c5d7e3..f172adbe 100644
> --- a/coq/coq-local-vars.el
> +++ b/coq/coq-local-vars.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -22,9 +22,8 @@
>  (eval-when-compile
>    (require 'cl))
>  
> -(eval-when-compile
> -  (defvar coq-prog-name)
> -  (defvar coq-load-path))
> +(defvar coq-prog-name)
> +(defvar coq-load-path)
>  
>  
>  (defconst coq-local-vars-doc nil
> diff --git a/coq/coq-par-compile.el b/coq/coq-par-compile.el
> index e3daebcd..b03fedaa 100644
> --- a/coq/coq-par-compile.el
> +++ b/coq/coq-par-compile.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -37,8 +37,7 @@
>  (eval-when-compile
>    (require 'proof-compat))
>  
> -(eval-when-compile
> -  (defvar queueitems))       ; dynamic scope in p-s-extend-queue-hook
> +(defvar queueitems)       ; dynamic scope in p-s-extend-queue-hook
>  
>  (require 'coq-compile-common)
>  
> diff --git a/coq/coq-seq-compile.el b/coq/coq-seq-compile.el
> index 5875908c..74327b53 100644
> --- a/coq/coq-seq-compile.el
> +++ b/coq/coq-seq-compile.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -27,8 +27,7 @@
>  (eval-when-compile
>    (require 'proof-compat))
>  
> -(eval-when-compile
> -  (defvar queueitems))       ; dynamic scope in p-s-extend-queue-hook
> +(defvar queueitems)       ; dynamic scope in p-s-extend-queue-hook
>  
>  (require 'coq-compile-common)
>  
> diff --git a/coq/coq-system.el b/coq/coq-system.el
> index 68d036f1..bb1c28f0 100644
> --- a/coq/coq-system.el
> +++ b/coq/coq-system.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -29,9 +29,8 @@
>    (require 'cl)
>    (require 'proof-compat))
>  
> -(eval-when-compile
> -  (defvar coq-prog-args)
> -  (defvar coq-debug))
> +(defvar coq-prog-args)
> +(defvar coq-debug)
>  
>  ;; Arbitrary arguments can already be passed through _CoqProject.
>  ;; However this is not true for all assistants, so we don't modify the
> diff --git a/coq/coq.el b/coq/coq.el
> index 3376f7f3..6b1494a9 100644
> --- a/coq/coq.el
> +++ b/coq/coq.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -28,21 +28,20 @@
>    (require 'span)
>    (require 'outline)
>    (require 'newcomment)
> -  (require 'etags)
> -  (unless (proof-try-require 'smie)
> -    (defvar smie-indent-basic)
> -    (defvar smie-rules-function))
> -  (defvar proof-info)       ; dynamic scope in proof-tree-urgent-action
> -  (defvar action)       ; dynamic scope in coq-insert-as stuff
> -  (defvar string)       ; dynamic scope in coq-insert-as stuff
> -  (defvar old-proof-marker)
> -  (defvar coq-keymap)
> -  (defvar coq-one-command-per-line)
> -  (defvar coq-auto-insert-as)    ; defpacustom
> -  (defvar coq-time-commands)        ; defpacustom
> -  (defvar coq-use-project-file)        ; defpacustom
> -  (defvar coq-use-editing-holes)    ; defpacustom
> -  (defvar coq-hide-additional-subgoals))
> +  (require 'etags))
> +(defvar smie-indent-basic)
> +(defvar smie-rules-function)
> +(defvar proof-info)       ; dynamic scope in proof-tree-urgent-action
> +(defvar action)       ; dynamic scope in coq-insert-as stuff
> +(defvar string)       ; dynamic scope in coq-insert-as stuff
> +(defvar old-proof-marker)
> +(defvar coq-keymap)
> +(defvar coq-one-command-per-line)
> +(defvar coq-auto-insert-as)    ; defpacustom
> +(defvar coq-time-commands)        ; defpacustom
> +(defvar coq-use-project-file)        ; defpacustom
> +(defvar coq-use-editing-holes)    ; defpacustom
> +(defvar coq-hide-additional-subgoals)
>  
>  (require 'proof)
>  (require 'coq-system)                   ; load path, option, project file 
> etc.
> @@ -66,11 +65,8 @@
>  
>  ;; prettify is in emacs > 24.4
>  ;; FIXME: this should probably be done like for smie above.
> -(defvar coq-may-use-prettify nil) ; may become t below
> -(eval-when-compile
> -  (if (fboundp 'prettify-symbols-mode)
> -      (defvar coq-may-use-prettify t)
> -    (defvar prettify-symbols-alist nil)))
> +(defvar coq-may-use-prettify (fboundp 'prettify-symbols-mode))
> +(defvar prettify-symbols-alist)
>  
>  
>  ;; ----- coq-shell configuration options
> @@ -911,22 +907,21 @@ This is mapped to control/shift mouse-1, unless 
> coq-remap-mouse-1
>  is nil (t by default)."
>    (interactive "e")
>    (save-selected-window
> -    (save-selected-frame
> -     (save-excursion
> -       (mouse-set-point event)
> -       (let* ((id (coq-id-at-point))
> -              (notat (coq-notation-at-position (point)))
> -              (modifs (event-modifiers event))
> -              (shft (member 'shift modifs))
> -              (ctrl (member 'control modifs))
> -              (cmd (when (or id notat)
> -                     (if (and ctrl shft) (if id "Check" "Locate")
> -                       (if shft (if id "About" "Locate")
> -                         (if ctrl (if id "Print" "Locate")))))))
> -         (proof-shell-invisible-command
> -          (format (concat  cmd " %s . ")
> -                  ;; Notation need to be surrounded by ""
> -                  (if id id (concat "\"" notat "\"")))))))))
> +    (save-excursion
> +      (mouse-set-point event)
> +      (let* ((id (coq-id-at-point))
> +             (notat (coq-notation-at-position (point)))
> +             (modifs (event-modifiers event))
> +             (shft (member 'shift modifs))
> +             (ctrl (member 'control modifs))
> +             (cmd (when (or id notat)
> +                    (if (and ctrl shft) (if id "Check" "Locate")
> +                      (if shft (if id "About" "Locate")
> +                        (if ctrl (if id "Print" "Locate")))))))
> +        (proof-shell-invisible-command
> +         (format (concat  cmd " %s . ")
> +                 ;; Notation need to be surrounded by ""
> +                 (if id id (concat "\"" notat "\""))))))))
>  
>  (defun coq-guess-or-ask-for-string (s &optional dontguess)
>    "Asks for a coq identifier with message S.
> @@ -1211,8 +1206,7 @@ Printing All set."
>    (coq-ask-do-show-all "Show goal number" "Show" t))
>  
>  ;; Check
> -(eval-when-compile
> -  (defvar coq-auto-adapt-printing-width)); defpacustom
> +(defvar coq-auto-adapt-printing-width); defpacustom
>  
>  ;; Since Printing Width is a synchronized option in coq (?) it is retored
>  ;; silently to a previous value when retracting. So we reset the stored width
> diff --git a/generic/pg-goals.el b/generic/pg-goals.el
> index baab5561..124965e8 100644
> --- a/generic/pg-goals.el
> +++ b/generic/pg-goals.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -20,9 +20,9 @@
>  (eval-when-compile
>    (require 'easymenu)                        ; easy-menu-add, etc
>    (require 'cl)                              ; incf
> -  (require 'span)                    ; span-*
> -  (defvar proof-goals-mode-menu)     ; defined by macro below
> -  (defvar proof-assistant-menu))     ; defined by macro in proof-menu
> +  (require 'span))                   ; span-*
> +(defvar proof-goals-mode-menu)          ; defined by macro below
> +(defvar proof-assistant-menu)           ; defined by macro in proof-menu
>  
>  (require 'pg-assoc)
>  
> diff --git a/generic/pg-response.el b/generic/pg-response.el
> index 43e0e279..650e83a0 100644
> --- a/generic/pg-response.el
> +++ b/generic/pg-response.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -24,9 +24,9 @@
>  
>  (eval-when-compile
>    (require 'easymenu)          ; easy-menu-add
> -  (require 'proof-utils)  ; deflocal, proof-eval-when-ready-for-assistant
> -  (defvar proof-response-mode-menu nil)
> -  (defvar proof-assistant-menu nil))
> +  (require 'proof-utils))  ; deflocal, proof-eval-when-ready-for-assistant
> +(defvar proof-response-mode-menu)
> +(defvar proof-assistant-menu)
>  
>  (require 'pg-assoc)
>  (require 'span)
> diff --git a/generic/pg-user.el b/generic/pg-user.el
> index 126901cb..5a5d6d13 100644
> --- a/generic/pg-user.el
> +++ b/generic/pg-user.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -863,10 +863,9 @@ The function `substitute-command-keys' is called on the 
> argument."
>    (interactive "e")
>    (if proof-query-identifier-command
>        (save-selected-window
> -     (save-selected-frame
> -      (save-excursion
> -        (mouse-set-point event)
> -        (pg-identifier-near-point-query))))))
> +     (save-excursion
> +       (mouse-set-point event)
> +       (pg-identifier-near-point-query)))))
>  
>  ;;;###autoload
>  (defun pg-identifier-near-point-query ()
> diff --git a/generic/proof-menu.el b/generic/proof-menu.el
> index fc18d504..027d0c7d 100644
> --- a/generic/proof-menu.el
> +++ b/generic/proof-menu.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -19,9 +19,8 @@
>  ;;; Code:
>  (require 'cl)                                ; mapcan
>  
> -(eval-when-compile
> -  (defvar proof-assistant-menu)        ; defined by macro in 
> proof-menu-define-specific
> -  (defvar proof-mode-map))
> +(defvar proof-assistant-menu)  ; defined by macro in 
> proof-menu-define-specific
> +(defvar proof-mode-map)
>  
>  (require 'proof-utils)    ; proof-deftoggle, 
> proof-eval-when-ready-for-assistant
>  (require 'proof-useropts)
> diff --git a/generic/proof-script.el b/generic/proof-script.el
> index c938dfad..9c5c06a4 100644
> --- a/generic/proof-script.el
> +++ b/generic/proof-script.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -30,9 +30,9 @@
>  (require 'proof-syntax)                      ; utils for manipulating syntax
>  
>  (eval-when-compile
> -  (require 'easymenu)
> -  (defvar proof-mode-menu nil)
> -  (defvar proof-assistant-menu nil))
> +  (require 'easymenu))
> +(defvar proof-mode-menu)
> +(defvar proof-assistant-menu)
>  
>  (declare-function proof-shell-strip-output-markup "proof-shell"
>                 (string &optional push))
> diff --git a/generic/proof-shell.el b/generic/proof-shell.el
> index b5bbcd9f..51d10c2c 100644
> --- a/generic/proof-shell.el
> +++ b/generic/proof-shell.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -34,9 +34,8 @@
>  (declare-function proof-tree-urgent-action "proof-tree" (flags))
>  (declare-function proof-tree-handle-delayed-output "proof-tree"
>                 (old-proof-marker cmd flags span))
> -(eval-when-compile
> -  ;; without the nil initialization the compiler still warns about this 
> variable
> -  (defvar proof-tree-external-display nil))
> +;; without the nil initialization the compiler still warns about this 
> variable
> +(defvar proof-tree-external-display)
>  
>  (require 'scomint)
>  (require 'pg-response)
> @@ -454,8 +453,7 @@ process command."
>           ;; Call multiple-frames-enable in case we need to fire up
>           ;; new frames (NB: sets specifiers to remove modeline)
>           (save-selected-window
> -           (save-selected-frame
> -            (proof-multiple-frames-enable)))))
> +           (proof-multiple-frames-enable))))
>  
>        (message "Starting %s process... done." proc))))
>  
> diff --git a/generic/proof-site.el b/generic/proof-site.el
> index e339d022..fd48002f 100644
> --- a/generic/proof-site.el
> +++ b/generic/proof-site.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -169,8 +169,7 @@ You can use customize to set this variable."
>  (require 'pg-vars)
>  (require 'proof-autoloads)
>  
> -(eval-when-compile
> -  (defvar Info-dir-contents))
> +(defvar Info-dir-contents)
>  
>  ;; Add the info directory to the Info path
>  (if (file-exists-p proof-info-directory) ; for safety
> diff --git a/generic/proof-utils.el b/generic/proof-utils.el
> index b4e7e0d1..a2c29824 100644
> --- a/generic/proof-utils.el
> +++ b/generic/proof-utils.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -40,7 +40,7 @@
>  
>  (if (or (not (boundp 'emacs-major-version))
>       (< emacs-major-version 23)
> -     (string-match "XEmacs" emacs-version))
> +     (featurep 'xemacs))
>      (error "Proof General is not compatible with Emacs %s" emacs-version))
>  
>  (unless (equal pg-compiled-for (pg-emacs-version-cookie))
> @@ -399,8 +399,9 @@ or if the window is the only window of its frame."
>               (select-window window))))
>         ;; the window is the full width, right?
>         ;; [if not, we may be in horiz-split scheme, problematic]
> -       (not (window-leftmost-p window))
> -       (not (window-rightmost-p window)))
> +       (not (zerop (car (window-edges window)))) ;not leftmost
> +       (not (>= (nth 2 (window-edges window))    ;not rightmost
> +             (frame-width (window-frame window)))))
>        ;; OK, we're not going to adjust the height here.  Moreover,
>        ;; we'll make sure the height can be changed elsewhere.
>        (setq window-size-fixed nil)
> diff --git a/hol-light/hol-light.el b/hol-light/hol-light.el
> index 2b4f3989..808e04a9 100644
> --- a/hol-light/hol-light.el
> +++ b/hol-light/hol-light.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -22,12 +22,10 @@
>  (require 'proof-easy-config)            ; easy configure mechanism
>  (require 'proof-syntax)                      ; functions for making regexps
>  
> -(or (proof-try-require 'caml-font)     ; use OCaml Emacs mode syntax 
> -    (defvar caml-font-lock-keywords nil)) ;
> +(proof-try-require 'caml-font)            ; use OCaml Emacs mode syntax 
>  
>  (eval-when-compile
> -  (require 'proof-tree)
> -  (defvar caml-font-lock-keywords nil))
> +  (require 'proof-tree))
>  
>  (defcustom hol-light-home 
>    (or (getenv "HOLLIGHT_HOME")
> @@ -317,7 +315,7 @@ You need to restart Emacs if you change this setting."
>  
>   proof-script-font-lock-keywords
>   (append
> -  caml-font-lock-keywords
> +  (bound-and-true-p caml-font-lock-keywords)
>    (list
>     (cons (proof-ids-to-regexp hol-light-keywords) 'font-lock-keyword-face)
>     (cons (proof-ids-to-regexp hol-light-tactics) 'proof-tactics-name-face)
> diff --git a/isar/isabelle-system.el b/isar/isabelle-system.el
> index e399474b..0b61aab0 100644
> --- a/isar/isabelle-system.el
> +++ b/isar/isabelle-system.el
> @@ -1,6 +1,7 @@
>  ;; isabelle-system.el --- Interface with Isabelle system
>  ;;
>  ;; Copyright (C) 2000 LFCS Edinburgh, David Aspinall.
> +;; Copyright (C) 2018  Free Software Foundation, Inc.
>  ;;
>  ;; Author:      David Aspinall <d...@dcs.ed.ac.uk>
>  ;; Maintainer:  Proof General maintainer <proof...@dcs.ed.ac.uk>
> @@ -20,8 +21,8 @@
>    (require 'scomint)
>    (require 'proof-site)
>    (require 'proof-menu)
> -  (require 'proof-syntax)
> -  (defvar proof-assistant-menu))
> +  (require 'proof-syntax))
> +(defvar proof-assistant-menu)
>  
>  (declare-function mapcan "cl-extra") ; spurious bytecomp warning
>  
> diff --git a/isar/isar.el b/isar/isar.el
> index bb755d4f..917f8f6a 100644
> --- a/isar/isar.el
> +++ b/isar/isar.el
> @@ -1,6 +1,7 @@
>  ;; isar.el --- Major mode for Isabelle/Isar proof assistant
>  ;;
>  ;; Copyright (C) 1994-2010 LFCS Edinburgh.
> +;; Copyright (C) 2018  Free Software Foundation, Inc.
>  ;;
>  ;; License:   GPL (GNU GENERAL PUBLIC LICENSE)
>  ;;
> @@ -24,10 +25,10 @@
>    (require 'proof-syntax)
>    (require 'pg-goals)
>    (require 'pg-vars)
> -  (require 'outline)
> -  (defvar comment-quote-nested)
> -  (defvar isar-use-find-theorems-form)
> -  (defvar isar-use-linear-undo))
> +  (require 'outline))
> +(defvar comment-quote-nested)
> +(defvar isar-use-find-theorems-form)
> +(defvar isar-use-linear-undo)
>  
>  (require 'proof)
>  (require 'isabelle-system)           ; system code
> diff --git a/lib/proof-compat.el b/lib/proof-compat.el
> index abbdb465..25c029c6 100644
> --- a/lib/proof-compat.el
> +++ b/lib/proof-compat.el
> @@ -1,9 +1,9 @@
> -;;; proof-compat.el --- Operating system and Emacs version compatibility
> +;;; proof-compat.el --- Operating system and Emacs version compatibility  
> -*- lexical-binding:t -*-
>  
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -28,31 +28,10 @@
>  
>  ;;; Code:
>  
> -(require 'easymenu)
>  (require 'cl)
>  
>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>  ;;;
> -;;; Architecture flags
> -;;;
> -
> -;; can use eval-and-compile to allow optimisation, but that would
> -;; require recompilation for Windows
> -(defvar proof-running-on-win32 (memq system-type '(win32 windows-nt cygwin))
> -  "Non-nil if Proof General is running on a windows variant system.")
> -
> -
> -;; Workaround a small bug in Carbon Emacs Winter 2008 (at least)
> -;; Menu presses query this variable, but it's not bound unless
> -;; mode engaged.  Not noticeable in normal use, but it is as soon
> -;; as debug-on-error is engaged.
> -(with-no-warnings
> -  (if (and (boundp 'carbon-emacs-package-version)
> -        (not (boundp 'mac-key-mode)))
> -      (setq mac-key-mode nil)))
> -
> -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> -;;;
>  ;;; Modifications and adjustments
>  ;;;
>  
> @@ -64,8 +43,8 @@
>  Done by removing all properties mentioned by custom library.
>  The symbol itself is left defined, in case it has been changed
>  in the current Emacs session."
> -  (mapc (lambda (prop) (remprop symbol prop))
> -       '(default
> +  (dolist (prop
> +        '(default
>            standard-value
>            force-value
>            variable-comment
> @@ -83,49 +62,8 @@ in the current Emacs session."
>            custom-version
>            saved-value
>            theme-value
> -          theme-face)))
> -
> -
> -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> -;;;
> -;;; GNU Emacs compatibility with XEmacs
> -;;;
> -
> -(unless (fboundp 'save-selected-frame)
> -(defmacro save-selected-frame (&rest body)
> -  "Execute forms in BODY, then restore the selected frame.
> -The value returned is the value of the last form in BODY."
> -  (let ((old-frame (gensym "ssf")))
> -    `(let ((,old-frame (selected-frame)))
> -       (unwind-protect
> -        (progn ,@body)
> -      (select-frame ,old-frame))))))
> -
> -;; These functions are used in the intricate logic around
> -;; shrink-to-fit.
> -
> -;; window-leftmost-p, window-rightmost-p: my implementations
> -(or (fboundp 'window-leftmost-p)
> -    (defun window-leftmost-p (window)
> -      (zerop (car (window-edges window)))))
> -
> -(or (fboundp 'window-rightmost-p)
> -    (defun window-rightmost-p (window)
> -      (>= (nth 2 (window-edges window))
> -       (frame-width (window-frame window)))))
> -
> -(or (fboundp 'window-bottom-p)
> -    (defun window-bottom-p (window)
> -      (>= (nth 3 (window-edges window))
> -       (frame-height (window-frame window)))))
> -
> -;; find-coding-system emulation for GNU Emacs
> -(unless (fboundp 'find-coding-system)
> -  (defun find-coding-system (name)
> -    "Retrieve the coding system of the given name, or nil if non-such."
> -    (condition-case nil
> -     (check-coding-system name)
> -      (error nil))))
> +          theme-face))
> +    (remprop symbol prop)))
>  
>  
>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> @@ -137,9 +75,9 @@ The value returned is the value of the last form in BODY."
>  ;; makes every suffix be added as a completion!
>  
>  (eval-after-load "completion"
> -'(defun completion-before-command ()
> -  (if (and (symbolp this-command) (get this-command 'completion-function))
> -     (funcall (get this-command 'completion-function)))))
> +  '(defun completion-before-command ()
> +     (if (and (symbolp this-command) (get this-command 'completion-function))
> +      (funcall (get this-command 'completion-function)))))
>  
>  (provide 'proof-compat)
>  ;;; proof-compat.el ends here
> diff --git a/obsolete/plastic/plastic.el b/obsolete/plastic/plastic.el
> index f5462ba6..09a61b27 100644
> --- a/obsolete/plastic/plastic.el
> +++ b/obsolete/plastic/plastic.el
> @@ -1,5 +1,7 @@
>  ;; plastic.el  - Major mode for Plastic proof assistant
>  ;;
> +;; Portions © Copyright 2018  Free Software Foundation, Inc.
> +;;
>  ;; Author: Paul Callaghan <p.c.callag...@durham.ac.uk>
>  ;;
>  ;; $Id$
> @@ -15,8 +17,8 @@
>    (require 'cl)
>    (require 'span)
>    (require 'proof-syntax)
> -  (require 'outline)
> -  (defvar plastic-keymap nil))
> +  (require 'outline))
> +(defvar plastic-keymap)                 ;FIXME: Not defined anywhere!
>  
>  (require 'plastic-syntax)
>  
> diff --git a/pg-init.el b/pg-init.el
> index a6405361..3a2e5492 100644
> --- a/pg-init.el
> +++ b/pg-init.el
> @@ -3,7 +3,7 @@
>  ;; This file is part of Proof General.
>  
>  ;; Portions © Copyright 1994-2012  David Aspinall and University of Edinburgh
> -;; Portions © Copyright 2003, 2012, 2014  Free Software Foundation, Inc.
> +;; Portions © Copyright 2003-2018  Free Software Foundation, Inc.
>  ;; Portions © Copyright 2001-2017  Pierre Courtieu
>  ;; Portions © Copyright 2010, 2016  Erik Martin-Dorel
>  ;; Portions © Copyright 2011-2013, 2016-2017  Hendrik Tews
> @@ -42,25 +42,10 @@
>  ;;; Code:
>  
>  ;;;###autoload
> -(eval-and-compile
> -  (defvar pg-init--script-full-path
> -    (or (and load-in-progress load-file-name)
> -        (bound-and-true-p byte-compile-current-file)
> -        (buffer-file-name)))
> -  (defvar pg-init--pg-root
> -    (file-name-directory pg-init--script-full-path)))
> -
> -;;;###autoload
> -(unless (bound-and-true-p byte-compile-current-file)
> -  ;; This require breaks compilation, so it must only run when loading the 
> package.
> -  (require 'proof-site (expand-file-name "generic/proof-site" 
> pg-init--pg-root)))
> -
> -(eval-when-compile
> -  (let ((byte-compile-directories
> -         '("generic" "lib"
> -           "coq" "easycrypt" "pghaskell" "pgocaml" "pgshell" "phox")))
> -    (dolist (dir byte-compile-directories)
> -      (add-to-list 'load-path (expand-file-name dir pg-init--pg-root)))))
> +(if t (require 'proof-site
> +               (expand-file-name "generic/proof-site"
> +                                 (file-name-directory
> +                                  (or load-file-name buffer-file-name)))))
>  
>  (provide 'pg-init)
>  ;;; pg-init.el ends here
_______________________________________________
ProofGeneral-devel mailing list
ProofGeneral-devel@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/proofgeneral-devel

Reply via email to