At 02:52 PM 10/4/00 -0400, [EMAIL PROTECTED] wrote:
>Actually you should be able to use
>(P "Variable name: " name 'noinsert)
>the noisert prevents the variable from being inserted right away.
Thanks, Brad. This is a much better solution.
- Paul
>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