emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog progmodes/prolog.el


From: Stefan Monnier
Subject: [Emacs-diffs] emacs/lisp ChangeLog progmodes/prolog.el
Date: Wed, 19 Aug 2009 17:15:37 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        09/08/19 17:15:35

Modified files:
        lisp           : ChangeLog 
        lisp/progmodes : prolog.el 

Log message:
        (inferior-prolog-error-regexp-alist): New var.
        (inferior-prolog-mode): Use it.
        (inferior-prolog-load-file): Reset list of errors.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15970&r2=1.15971
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/progmodes/prolog.el?cvsroot=emacs&r1=1.40&r2=1.41

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15970
retrieving revision 1.15971
diff -u -b -r1.15970 -r1.15971
--- ChangeLog   19 Aug 2009 11:23:19 -0000      1.15970
+++ ChangeLog   19 Aug 2009 17:15:30 -0000      1.15971
@@ -1,3 +1,9 @@
+2009-08-19  Stefan Monnier  <address@hidden>
+
+       * progmodes/prolog.el (inferior-prolog-error-regexp-alist): New var.
+       (inferior-prolog-mode): Use it.
+       (inferior-prolog-load-file): Reset list of errors.
+
 2009-08-19  ARISAWA Akihiro  <address@hidden>  (tiny change)
 
        * language/tibetan.el ("Tibetan"): Fix sample-text entry.

Index: progmodes/prolog.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/prolog.el,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- progmodes/prolog.el 9 Jan 2009 04:16:01 -0000       1.40
+++ progmodes/prolog.el 19 Aug 2009 17:15:35 -0000      1.41
@@ -238,6 +238,11 @@
 (defvar inferior-prolog-mode-syntax-table prolog-mode-syntax-table)
 (defvar inferior-prolog-mode-abbrev-table prolog-mode-abbrev-table)
 
+(defvar inferior-prolog-error-regexp-alist
+  ;; GNU Prolog used to not follow the GNU standard format.
+  '(("^\\(.*?\\):\\([0-9]+\\) error: .*(char:\\([0-9]+\\)" 1 2 3)
+    gnu))
+
 (declare-function comint-mode "comint")
 (declare-function comint-send-string "comint" (process string))
 (declare-function comint-send-region "comint" (process start end))
@@ -268,6 +273,9 @@
 \\[comint-interrupt-subjob] interrupts the shell or its current subjob if any.
 \\[comint-stop-subjob] stops. \\[comint-quit-subjob] sends quit signal."
   (setq comint-prompt-regexp "^| [ ?][- ] *")
+  (set (make-local-variable 'compilation-error-regexp-alist)
+       inferior-prolog-error-regexp-alist)
+  (compilation-shell-minor-mode)
   (prolog-mode-variables))
 
 (defvar inferior-prolog-buffer nil)
@@ -357,6 +365,10 @@
              (save-excursion
                (goto-char (- pmark 3))
                (looking-at " \\? ")))
+        ;; This is GNU prolog waiting to know whether you want more answers
+        ;; or not (or abort, etc...).  The answer is a single char, not
+        ;; a line, so pass this char directly rather than wait for RET to
+        ;; send a whole line.
         (comint-send-string proc (string last-command-event))
       (call-interactively 'self-insert-command))))
 
@@ -389,6 +401,7 @@
   (let ((file buffer-file-name)
         (proc (inferior-prolog-process)))
     (with-current-buffer (process-buffer proc)
+      (compilation-forget-errors)
       (comint-send-string proc (concat "['" (file-relative-name file) "'].\n"))
       (pop-to-buffer (current-buffer)))))
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]