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

Reply via email to