Actually you should be able to use
(P "Variable name: " name 'noinsert)
the noisert prevents the variable from being inserted right away.
Brad
On Wed, Oct 04, 2000 at 02:44:15PM -0400, Paul Kinnucan wrote:
> At 01:55 PM 10/4/00 -0400, you wrote:
> >I'm trying to modify the autogen template for generating a Get/Set pair,
> >but I'm running into problems that stem from ignorance of Lisp.
> >
> >At my company, the coding standard dictates that member variables are
> >private and are prefixed with 'm', so a variable that would normally be
> >named default is named 'mDefault'. Also, arguments begin with 'a', so the
> >argument to the setter would be 'aDefault' instead of 'v'.
> >
> >I've hacked on the function to the extent that everything works except for
> >the variable name itself. The problem is in this line:
> >
> >(P "Variable name: " name) ";" '>'n '>'n
>
>
> Why not replace this with your own function that reads a name from the
> minibuffer, filters it, and returns the result, e.g.
>
> (defun my-insert-get-set-var-name ()
> (let ((name (read-from-minibuffer "Variable name: ")))
> ;; Save variable name for use elsewhere in template.
> (tempo-remember-insertion 'name name)
> ;; Capitalize variable name and then prefix with m.
> (concat "m" (jde-gen-init-cap name))))
>
> You would then replace the line
>
> (P "Variable name: " name) ";" '>'n '>'n
>
> in the template with
>
> (my-insert-get-set-var-name) ";" '>'n '>'n
>
> I've not tried this so it may have bugs but I believe the general approach
> is right.
>
> - Paul
>
>
> >I've surmised that the P function reads from the minibuffer and echoes
> >that input to the screen, while at the same time storing the value entered
> >in the variable 'name'. Everywhere else in the function I apply this:
> >
> >(jde-gen-init-cap (jde-gen-lookup-named 'name))
> >
> >to name and prepend 'm' or 'a' as appropriate to generate the correct
> >code. Unfortunately, because the input from the minibuffer goes directly
> >to the screen, I can't do that to the variable name when it's initially
> >entered. I hacked around and tried to split up reading the input and
> >printing it out into two steps, but haven't been successful.
> >
> >If anyone could provide a code snippet that will enable me to do this, I'd
> >be much obliged.
> >
> >--Rafe
> >
> >---
> >Rafe Colburn <[EMAIL PROTECTED]> |
> >Development Manager, Consumer Services | web: http://www.alerts.com
> >Alerts.com | phone: 919.239.2260
--
--- There are two kinds of knowledge, you either know the answer or
you know where to find it
-Kane, Johnson, and anonymous