aboutsummaryrefslogtreecommitdiff
path: root/generic/proof-shell.el
AgeCommit message (Collapse)Author
2021-03-17Remove evaluate-elisp-comment-regexp and set-elisp-variable-regexpClément Pit-Claudel
Closes GH-557.
2020-06-18Use `proof-shell-string-match-safe` to avoid failing on `nil` regexpPhilipp G. Haselwarter
Fixes a regression introduced in 22681a3caf2c8f45700585ea74dffbf48bb2ac19. In particular, the Coq module seems to be the only one currently setting `proof-show-proof-diffs-regexp`, causing an error for EasyCrypt.
2020-06-04New hook for early prompt/output analyzis.Pierre Courtieu
proof-state-change-pre-hook happens earlier than proof-state-change-hook, i.e. before proof-done-advancing. This should be used to register information in the currently processed span before proof-done-advancing classifies it. Historically PG design was to gather these information during proof-done-advancing (or in its hook called at the end) by just looking at the command statement. But it is often useful to look at the output (messages and/or prompt) to gather more accurate information. Some of this information may be needed DURING proof-done-advancing. Hence this early hook.
2020-05-29fix: backtrack for "Show Proof" disabledAnaclet
2020-05-29fix: backtrack wrong type argumentAnaclet
2020-05-29Apply reviews of @erikmdCyril Anaclet
2020-05-29WIP for #487Cyril Anaclet
2020-05-29All case for Show and regex variableCyril Anaclet
2018-12-25Reduce the impact of proof-site, in case PG is not usedStefan Monnier
* generic/proof-autoloads.el: Remove `require`s; not needed. * generic/proof-site.el: Don't require `pg-vars`. (proof-ready-for-assistant): Move to proof-script.el. * generic/proof-menu.el (proof-assistant-format): Make dynamically scoped var explicit (preparation for lexical-binding). * generic/proof-script.el: Require `pg-vars`. (proof-ready-for-assistant): Move from proof-site.el. * generic/proof-syntax.el (proof-replace-regexp-in-string): * generic/proof-shell.el (proof-shell-live-buffer): Don't mark it as inlinable: it's not performance sensitive.
2018-12-14Fixes the fix of #407. Is this temporary.Pierre Courtieu
This fix is not completely satisfying for the following reason: 1- I had to add a new hook in generic code. But I don't see how we could avoid this: the computation of options must happen AFTER the proof-prog-name is asked to the user, because this computation depends on the version of coq. 2- We should fix the synchronization between coq-prog-name and proof-prog-name. Either remove coq-prog-name and use only proof-prog-name, or have the generic coq always point to some (proof-ass-sym prog-name).
2018-12-13Use `cl-lib` instead of `cl` everywhereStefan Monnier
Use lexical-binding in a few files where it was easy. Don't require `proof-compat` when it's not used. * coq/coq-db.el: Use lexical-binding. * coq/coq-system.el: Use lexical-binding. (coq--extract-prog-args): Use concatenated-args rather than recomputing it. * coq/coq.el: Require `span` to silence some warnings. * generic/pg-user.el: Use lexical-binding. (complete, add-completion, completion-min-length): Silence warnings. * generic/pg-xml.el: Use lexical-binding. (pg-xml-string-of): Prefer mapconcat to reduce+concat. * generic/proof-depends.el: Use lexical-binding. (proof-dep-split-deps): Use `push`. * generic/proof-shell.el: Require `span` to silence some warnings. (proof-shell-invisible-command): Don't use lexical-let just to build a wasteful η-redex! * lib/holes.el: Use lexical-binding. Remove redundant :group args. * lib/span.el: Use lexical-binding. (span-read-only-hook): Use user-error. (span-raise): Remove, unused.
2018-12-12Cleanup patch; Moving defvar to toplevelStefan Monnier
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.
2018-08-23Fix most doc issues raised by (checkdoc)Erik Martin-Dorel
2018-02-21Update copyright messages and improve the header of elisp files.Erik Martin-Dorel
2017-06-06Fixing bug #187 by removing trailing spaces from prog name.Pierre Courtieu
2017-05-05Change (eval-when (compile) ...) to (eval-when-compile ...)Clément Pit--Claudel
This fixes a bunch of compilation warnings
2017-05-05Merge pull request #157 from ProofGeneral/elpaClément Pit-Claudel
[WIP] ELPA/MELPA support
2017-03-13Fixing #167.Pierre Courtieu
2017-03-08Remove unnecessary calls to 'eval-and-compile'Clément Pit--Claudel
2017-02-24Removing spurious debug messages.Pierre Courtieu
2017-02-23Fixing #154.Pierre Courtieu
2017-01-18split emergency-cleanup to handle interrupts properly (fixes #143)Hendrik Tews
Split coq-par-emergency-cleanup into two functions, one for reacting on user interrupts and one for cleaning up after compilation errors.
2016-12-14fix generic interrupt procedure to interrupt parallel background compilationHendrik Tews
2016-12-14Merge pull request #129 from hendriktews/keep-goinghendriktews
Keep going
2016-12-14Merge pull request #132 from Matafou/masterPierre Courtieu
Remove default absolute name from coq-prog-name (Fixes #76), but keep displaying…
2016-12-12remove default absolute name from coq-prog-name, but keep dipsplaying it ↵Pierre Courtieu
when asking for it.
2016-12-08option coq-compile-keep-going for parallel compilationHendrik Tews
With this option set, compilation continues after the first error to compile as much as possible and to potentially report more than one error.
2016-11-30fix 2 compilation warnings (fixes #33)Hendrik Tews
2016-06-10Reset proof-script-buffer to nil if -ready-prover failsClément Pit--Claudel
Fixes #65
2015-12-31Fix spurious scrolling of *goals* and *response* buffersClément Pit--Claudel
See https://github.com/cpitclaudel/company-coq/issues/8 and https://github.com/cpitclaudel/company-coq/issues/32 for some background info.
2015-10-09Trying to not delete frames too eagerly when laying out.Pierre Courtieu
2015-03-09Fixes #503.Pierre Courtieu
Added a "stop silent" if needed in proof-add-queue. This allows to recover verbosity when an error left the prover in silent mode.
2015-02-04cleaned previous commits (generic variable to disable error coloring).Pierre Courtieu
2014-06-04* coq-smie.el (coq-smie-.-deambiguate): Proofs don't start with a definition.Stefan Monnier
(coq-smie-backward-token): Don't burp at EOB. (coq-smie-rules): Indent top-level ":" like ":=".
2013-01-15- support bullets and braces in ProoftreeHendrik Tews
- prooftree protocol change to version 3
2013-01-10fix parallel overlapping calls of proof-shell-filterHendrik Tews
2013-01-03- fix asserting when parallel background compilation is in progressHendrik Tews
- fix aborting background compilation on error
2012-11-13- first version of parallel asynchronous compilation for coq inHendrik Tews
coq-par-compile.el (must be activated via coq-compile-parallel-in-background) - items in the queue region are not necessarily in proof-action-list any more! Require commands and the following items are stored elsewhere until the compilation finishes. Variable proof-second-action-list-active notifies the generic machinery if queue items are stored elsewhere. In this case, Proof General must neither release the proof shell lock nor delete the queue span when proof-action-list is empty. - to kill background processes as early as possible, the new hook proof-shell-signal-interrupt-hook is used
2012-11-09Doc for pg-finish-tracing-displayDavid Aspinall
2012-08-16Add option proof-layout-windows-on-visit-file, addressing Trac #444David Aspinall
2012-05-24kill windows showing response and goals buffers on proof-shell-exitHendrik Tews
2012-02-08proof-shell-start: initialise associated buffers before shell mode, so in ↵David Aspinall
right modes for output from init commands
2012-01-19TypoDavid Aspinall
2012-01-10Tweak message and display model, in particular, make sure that when aDavid Aspinall
response appears above a goals output, the goals output is displayed second, so it is the one that remains visible to the user in the default 2-pane mode. This works with output like this in HOL Light: Warning: Free variables in goal: A, B val it : goalstack = 1 subgoal (1 total) ... and similar cases in Isabelle and Coq. The fix involves some ugly messing with the flags for clearing the response buffer (see `pg-response-maybe-erase'). This could surely be streamlined.
2012-01-09Improve configuration for HOL Light. Allow goals display to be prefixed by ↵David Aspinall
ignored junk (val it : goalstack =).
2012-01-03merge ProofTreeBranch into main trunk:Hendrik Tews
- add support for proof-tree displays (currently Coq only) - new file generic/proof-tree.el contains generic code - Coq specific code has been added to coq/coq.el Changes to existing Proof General functions: - proof-shell-exec-loop and proof-shell-filter-manage-output call proof-tree display functions, when the proof-tree display is on - proof-shell-exec-loop returns t if proof-action-list is empty _or_ contains only items for updating the proof-tree - proof-shell-should-be-silent returns nil when the proof-tree display is on - coq-last-prompt-info, coq-last-prompt-info-safe return as additional 4th element the name of the current proof
2011-12-07- protect proof-shell-handle-delayed-output against the case whereHendrik Tews
proof-shell-end-goals-regexp is defined but does not match - add coq setting for hiding additional subgoals
2011-12-06use the start of proof-shell-end-goals-regexp, as documentedHendrik Tews
2011-11-15Quick stab at support for switching to proof shell when interactive support ↵David Aspinall
expected, see Trac #430
2011-10-17Add fix and regression test for Trac #138David Aspinall