🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.eiffel
Article #1545

Re: Bug in ARGUMENTS specification and other problems

#1545
From: Heinz Schmidt
Date: Thu, 08 Feb 1990 06:10
63 lines
3421 bytes
In article <1777@novavax.UUCP>, weiner@novavax.UUCP (Bob Weiner) writes:

	 > conventions so when I produce class specs with 'short', I don't want it 
	 > to fill these lines. 
	...  	
	 > problem is that the single option '-m'
	 > both fills comments and italicizes identifiers.  Two separate options
	 > are desperately needed

Yes.  Also I'd like that short and flat go through the SDF file so we can get a quick
overview of what's available and how it is called this time (as compared to other OO
libraries). Moreover it would be nice to have some kind of apropos command (which
probably should be independent of the indexing stuff in Eiffel to make it less
dependent of special-purpose language features). Short, flat and apropos should use
same defaults as ec and friends do. 

	 > into different directories but ec provides no way to compile the class
	 > from the directory in which it resides if the SDF is not also in the
	 > same directory. 

Also True. For an Emacs 'single button' ec I include this from my Eiffel mode
extension, maybe it helps for some time.  

(defvar run-ec-args "" "<arguments for ec>") 
(defun class-compile (ARG) 
  "Calls ec (Eiffel compile).  By default, ec is called on the file associated to 
the current buffer.
With numeric argument 0 prompts for explicit command line arguments.
Other numeric arguments allow you to insert options or further class names to go
with ec of the current file."
  (interactive "P")
  (let* ((ec-output (get-buffer-create "*ec-output*"))
	 (ec-process (get-buffer-process ec-output))
	 (ec-args nil)
	 (curr-buffer (current-buffer))
	 (curr-name (buffer-file-name curr-buffer)))
    (if ec-process  
	(if (y-or-n-p "Kill current ec process? ")
	    (delete-process ec-process)
	  (error "Can't ec concurrently.")))
    (if (and (buffer-modified-p curr-buffer)
	     (y-or-n-p (format "Save file %s? " curr-name)))
	(progn (save-buffer) (message "")))
    ;; maybe prompt for args and dispatch according to numeric ARG
    (setq run-ec-args (if ARG (read-input "ec args: " run-ec-args) ""))
    (setq ec-args
	  (if (and ARG (zerop ARG)) run-ec-args (concat run-ec-args " " curr-name)))
    ;; switch to shell buffer and run ec
    (set-buffer ec-output) (erase-buffer)
    (insert "ec " ec-args "\n" )
    (set-buffer curr-buffer)
    (display-buffer ec-output)
    (eval   
     (append '(start-process "ec" ec-output "ec")
	     (str2argv ec-args)))))
(define-key eiffel-mode-map "\C-c\C-e" 'class-compile)

-- hws
-------------------------------------------------------------------------------
Heinz W. Schmidt                                     hws@icsi.berkeley.edu
International Computer Science Institute             (415) 643-9153   x175
1947 Center Street, Ste. 600                    /\/\|;; CLOS saves time and
Berkeley, CA 94704                              \/\/|-- Eiffel is faster
Technical Details
Message-ID: <21892@pasteur.Berkeley.EDU>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!ucbvax!pasteur!hws@icsi.Berkeley.EDU
References: <1777@novavax.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!ucbvax!pasteur!hws@icsi.Berkeley.EDU
From: hws@icsi.Berkeley.EDU (Heinz Schmidt)
Newsgroups: comp.lang.eiffel
Subject: Re: Bug in ARGUMENTS specification and other problems
Message-ID: <21892@pasteur.Berkeley.EDU>
Date: 8 Feb 90 06:10:45 GMT
References: <1777@novavax.UUCP>
Sender: news@pasteur.Berkeley.EDU
Reply-To: hws@icsi.Berkeley.EDU (Heinz Schmidt)
Organization: International Computer Science Institute, Berkeley
Lines: 63