[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: keeping the arglist



> Date: Mon, 23 Mar 1992 09:44-0500
> From: Mark Nahabedian <naha@YUKON.SCRC.Symbolics.COM>
> Subject: Re: keeping the arglist
> To: cfry@MIT.EDU, cgay@darkwing.uoregon.edu
> In-Reply-To: <9203210103.AA11069@MIT.EDU>
> 
>     Date: Fri, 20 Mar 1992 20:00 EST
>     From: cfry@MIT.EDU (Christopher Fry)
> 
>     > a Fred command analogous c-Sh-A on the lispm
>     >should be easy to implement.  To use your example:
> 
>     >When you've got (foo (bar) 
>     >                           ^ cursor
>     >and you type c-Sh-A, foo's arglist will be displayed.  I guess this is
>     >the low-tech solution, but may be preferable since you don't get junk
>     >printed in the minibuffer if you don't ask for it.
>     >-Carl
>     Yes! I've been thinking the same thing. To make the user feel confident that the
>     machine is giving him the arglist to foo instead of bar, the minibuffer printout
>     should include the name of the fn too.It could just print a fn call of the fn
>     with the argnames in place of the args. Example:
>     (foo argname1 argname2 &optional argname3)
> 
>     If we are printing the fn name, then that makes not erasing the minibuffer on 
#\Space
>     that much less confusing.
> 
> Some of us have small screen Macs.  If you get a long function name and
> a long enough argument list, some of the args will deop off the end of
> the mini-buffer.
You've correctly identified a serious problem with my proposal.
I've got 2 possible fixes: 
- Let the user choose whether to show the fn name with another environment variable.
  *show-fn-in-arglist*
- Truncate the number of chars displayed for long fn names
  ie "remove-if-not"  => "rem..." Usually a few chras is enough to
  disambiguate the fn from neighboring fns.
If we were allowed to set environment variables to an integer instead of just
a boolean, then we could combine the two above with more flexibility via:
*length-of-fn-in-arglist* ie the number of chars to show of the fn name,
which could be 0. 

Note that this problem already exists for long arglists without printing the fn name.
But admittedly, printing of a fn name exacerbates it.