weiner@novavax.UUCP (Bob Weiner) (02/03/90)
Has anyone else noticed that the specification for the argument count feature in ARGUMENTS is off by one in Eiffel V2.2B? The input parameter classes I posted a few days ago use the correct indexing. In trying to build E_CLASS, I found it is a client of E_DIRECTORY now but this supplier class is nowhere to be found. Can anyone provide help on this? I write multi-line feature specifications with precise formatting conventions so when I produce class specs with 'short', I don't want it to fill these lines. But I also quote identifier names in comments with Meyer's recommended quoting convention and I would like these to come out italicized from short. The problem is that the single option '-m' both fills comments and italicizes identifiers. Two separate options are desperately needed in order for us to produce readable documentation. Doesn't anyone else find this a problem? 'ec' truly needs an option like 'es' that lets one specify the directory in which the SDF resides. Meyer highly recommends clustering classes 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. A cruel oversight that prevents us from having a simple button push method of compiling. -- Bob Weiner, Motorola, Inc., USENET: ...!gatech!uflorida!novavax!weiner (407) 364-2087
jos@cs.vu.nl (Jos Warmer) (02/05/90)
In article <1777@novavax.UUCP> weiner@novavax.UUCP (Bob Weiner) writes: >out italicized from short. The problem is that the single option '-m' >both fills comments and italicizes identifiers. Two separate options >are desperately needed in order for us to produce readable >documentation. Doesn't anyone else find this a problem? Yes, I do. Jos Warmer jos@cs.vu.nl ...uunet!mcvax!cs.vu.nl!jos -- Jos Warmer jos@cs.vu.nl ...uunet!mcvax!cs.vu.nl!jos
hws@icsi.Berkeley.EDU (Heinz Schmidt) (02/08/90)
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