Function: prolog-mode

prolog-mode is an autoloaded, interactive and byte-compiled function defined in prolog.el.gz.

Signature

(prolog-mode)

Documentation

Major mode for editing Prolog code.

Blank lines and %%... separate paragraphs. %s starts a comment line and comments can also be enclosed in /* ... */.

If an optional argument SYSTEM is non-nil, set up mode for the given system.

To find out what version of Prolog mode you are running, enter M-x prolog-mode-version (prolog-mode-version).

Commands:
C-M-a prolog-beginning-of-predicate
C-M-c prolog-mark-clause
C-M-e prolog-end-of-predicate
C-M-h prolog-mark-predicate
C-M-x prolog-consult-region
C-c / prolog-help-apropos
C-c ? prolog-help-on-predicate
C-c C-a align
C-c C-b prolog-consult-buffer
C-c C-c b prolog-compile-buffer
C-c C-c f prolog-compile-file
C-c C-c p prolog-compile-predicate
C-c C-c r prolog-compile-region
C-c C-d prolog-debug-on
C-c C-f prolog-consult-file
C-c C-l prolog-consult-file
C-c C-n prolog-insert-predicate-template
C-c C-p prolog-consult-predicate
C-c C-r prolog-consult-region
C-c C-s prolog-insert-predspec
C-c C-t prolog-trace-on
C-c C-v C-s prolog-view-predspec
C-c C-v a prolog-variables-to-anonymous
C-c C-z run-prolog
C-c RET run-prolog
M-RET prolog-insert-next-clause
M-a prolog-beginning-of-clause
M-e prolog-end-of-clause
M-q prolog-fill-paragraph

In addition to any hooks its parent mode prog-mode might have run, this mode runs the hook prolog-mode-hook, as the final or penultimate step during initialization.

Probably introduced at or before Emacs version 18.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/prolog.el.gz
;;;###autoload
(define-derived-mode prolog-mode prog-mode "Prolog"
  "Major mode for editing Prolog code.

Blank lines and `%%...' separate paragraphs.  `%'s starts a comment
line and comments can also be enclosed in /* ... */.

If an optional argument SYSTEM is non-nil, set up mode for the given system.

To find out what version of Prolog mode you are running, enter
\\[prolog-mode-version].

Commands:
\\{prolog-mode-map}"
  (setq mode-name (concat "Prolog"
                          (cond
                           ((eq prolog-system 'eclipse) "[ECLiPSe]")
                           ((eq prolog-system 'sicstus) "[SICStus]")
                           ((eq prolog-system 'swi) "[SWI]")
                           ((eq prolog-system 'gnu) "[GNU]")
                           (t ""))))
  (prolog-mode-variables)
  (dolist (ar prolog-align-rules) (add-to-list 'align-rules-list ar))
  (add-hook 'post-self-insert-hook #'prolog-post-self-insert nil t)
  ;; `imenu' entry moved to the appropriate hook for consistency.
  (when prolog-electric-dot-flag
    (setq-local electric-indent-chars
                (cons ?\. electric-indent-chars)))

  ;; Load SICStus debugger if suitable
  (if (and (eq prolog-system 'sicstus)
           (prolog-atleast-version '(3 . 7))
           prolog-use-sicstus-sd)
      (prolog-enable-sicstus-sd))

  (prolog-menu))