public inbox for gnats-devel@sourceware.org
 help / color / mirror / Atom feed
* Patch to 3.x gnats-el.in
@ 2000-07-12 14:40 Jason Merrill
  0 siblings, 0 replies; only message in thread
From: Jason Merrill @ 2000-07-12 14:40 UTC (permalink / raw)
  To: gnats-devel; +Cc: jason

I know this stuff is obsolete, but it's being used on sourceware.  I
needed to make these changes for it to be useful to me.

I would just check it in, but I'm not in the gnats group.

2000-07-12  Jason Merrill  <jason@redhat.com>

	Fix various network lossage in gnats.el.
	* gnats-el.in (gnats::start-background): Pass --host.
	(gnats:query-pr): Add spaces around -d.
	(gnats:summ-pr): Likewise.

	Allow for customization of Class field options, too.
	* gnats-el.in (gnats::classes): New variable.
	(gnats::default-classes): New constant.
	(gnats::set-classes): New fn.
	(gnats::classes-sans-descriptions): New fn.
	(gnats::fields): Use it.
	(gnats::get-list-from-file): Comment out broken, incomplete code
	in favor of suboptimal but functional code.

Index: gnats/gnats-el.in
===================================================================
RCS file: /cvs/gnats/gnats/gnats/Attic/gnats-el.in,v
retrieving revision 1.1.1.2.6.1
diff -c -p -r1.1.1.2.6.1 gnats-el.in
*** gnats/gnats-el.in	1999/10/26 02:28:41	1.1.1.2.6.1
--- gnats/gnats-el.in	2000/07/12 21:37:39
***************
*** 1,6 ****
  ;;;; -*-emacs-lisp-*-
  ;;;; EMACS interface for GNATS.
! ;;;;  Copyright (C) 1992-96, 1997 Free Software Foundation, Inc.
  ;;;;  Contributed by Brendan Kehoe (brendan@cygnus.com)
  ;;;;   based on an original version by Heinz G. Seidl.
  ;;;;
--- 1,6 ----
  ;;;; -*-emacs-lisp-*-
  ;;;; EMACS interface for GNATS.
! ;;;;  Copyright (C) 1992-96, 1997, 2000 Free Software Foundation, Inc.
  ;;;;  Contributed by Brendan Kehoe (brendan@cygnus.com)
  ;;;;   based on an original version by Heinz G. Seidl.
  ;;;;
*************** causes GNATS to keep all such buffers.")
*** 165,170 ****
--- 165,178 ----
    '(("open") ("analyzed") ("feedback") ("suspended") ("closed"))
    "List of fallback GNATS states; not used if `states' file available.")
  
+ (defvar gnats::classes nil
+   "List of GNATS classes; Computed at runtime.")
+ 
+ (defconst gnats::default-classes
+   '(("sw-bug") ("doc-bug") ("change-request") ("support")
+     ("mistaken") ("duplicate"))
+   "List of fallback GNATS classes; not used if `classes' file available.")
+ 
  (defvar gnats::mode-name nil
    "Name of the GNATS mode.")
  
*************** message from a gnats client.")
*** 231,236 ****
--- 239,247 ----
    (let ((lst (member (list state) (gnats::states-sans-descriptions))))
      (or (car (car (cdr lst))) "")))
  
+ (defun gnats::classes-sans-descriptions ()
+   (mapcar 'list (mapcar 'car (gnats::set-classes))))
+ 
  (defvar gnats::query-pr-history nil
    "Past arguments passed to the query-pr program.")
  
*************** if needed."
*** 1062,1068 ****
  		       (if gnats:alias
  			   (setq args (append args (list "-d" gnats:alias))))
  		       (if gnats:network-server
! 			   (append args (list "--user" gnats:userid "--passwd" gnats:password))
  			 args))
  		     ))
  
--- 1073,1081 ----
  		       (if gnats:alias
  			   (setq args (append args (list "-d" gnats:alias))))
  		       (if gnats:network-server
! 			   (append args (list "--host" gnats:network-server 
! 					      "--user" gnats:userid
! 					      "--passwd" gnats:password))
  			 args))
  		     ))
  
*************** if needed."
*** 1379,1384 ****
--- 1392,1409 ----
               "states" t))
        gnats::default-states))
  
+ (defun gnats::set-classes ()
+   ;; Get classes from classes file; if no file, return hardcoded
+   ;; defaults.
+   (or gnats::classes
+       (setq gnats::classes
+ 	    (gnats::get-list-from-file
+ 	     (if gnats:network-server
+ 		 "cla"
+ 	       "classes")
+              "classes" t))
+       gnats::default-classes))
+ 
  (defun gnats::get-list (buffer)
    (let (result)
      (save-excursion
*************** if needed."
*** 1424,1433 ****
            (set-buffer buf)
            (setq buffer-read-only nil)
            (erase-buffer)
!           (insert-file-contents
!            (if gnats:network-server
!                (concat bn "." filename)
!              file))
            (setq result (gnats::get-alist buf))
            (kill-buffer buf)))
        (message "Parsing the %s file...done." desc))
--- 1449,1462 ----
            (set-buffer buf)
            (setq buffer-read-only nil)
            (erase-buffer)
! ;; This is obviously incomplete.  The current state is rather suboptimal,
! ;; but usable; copy the appropriate file from the remote host.  The commented
! ;; code is just broken.
! ;          (insert-file-contents
! ;           (if gnats:network-server
! ;               (concat bn "." filename)
! ;             file))
!        (insert-file-contents file)
            (setq result (gnats::get-alist buf))
            (kill-buffer buf)))
        (message "Parsing the %s file...done." desc))
*************** to find the text that the hits refer to.
*** 1660,1666 ****
  				 gnats:network-server gnats:userid gnats:password)
  		       (concat gnats:::query-pr " "))
  		     (if gnats:alias
! 			 (format (concat options "-d" gnats:alias))
  		       options))
  		    "No more query-pr hits" (concat gnats:::query-pr " ")))
  
--- 1689,1695 ----
  				 gnats:network-server gnats:userid gnats:password)
  		       (concat gnats:::query-pr " "))
  		     (if gnats:alias
! 			 (format (concat options " -d " gnats:alias))
  		       options))
  		    "No more query-pr hits" (concat gnats:::query-pr " ")))
  
*************** Well, display a summary, at least."
*** 2047,2053 ****
  				 gnats:network-server gnats:userid gnats:password)
  		       (concat gnats:::query-pr " "))
  		     (if gnats:alias
! 			 (format (concat options "-d" gnats:alias))
  		       options)))
        ;; um, okay, how to i check for errors?
        (goto-char (point-min))
--- 2076,2082 ----
  				 gnats:network-server gnats:userid gnats:password)
  		       (concat gnats:::query-pr " "))
  		     (if gnats:alias
! 			 (format (concat options " -d " gnats:alias))
  		       options)))
        ;; um, okay, how to i check for errors?
        (goto-char (point-min))
*************** Well, display a summary, at least."
*** 2143,2150 ****
      (setcdr (nthcdr 3 (assoc "Priority" fields))
  	    '(gnats::update-audit-trail))
      (setcar (cdr (assoc "Class" fields))
! 	    '(("sw-bug") ("doc-bug") ("change-request") ("support")
! 	      ("mistaken") ("duplicate")))
      (setcdr (assoc "Submitter-Id" fields) '(gnats::set-submitters t enum))
      (setcdr (assoc "Customer-Id" fields) (cdr (assoc "Submitter-Id" fields)))
      fields)
--- 2172,2178 ----
      (setcdr (nthcdr 3 (assoc "Priority" fields))
  	    '(gnats::update-audit-trail))
      (setcar (cdr (assoc "Class" fields))
! 	    (gnats::classes-sans-descriptions))
      (setcdr (assoc "Submitter-Id" fields) '(gnats::set-submitters t enum))
      (setcdr (assoc "Customer-Id" fields) (cdr (assoc "Submitter-Id" fields)))
      fields)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-07-12 14:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-12 14:40 Patch to 3.x gnats-el.in Jason Merrill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).