Stone Age text editing in VW 2.5 
Author Message
 Stone Age text editing in VW 2.5

I work at the Swiss Federal Institute of Technology in Lausanne, where we
have a site license for VisualWorks on Sun Solaris 2.x. I just installed
new version 2.5.1 (available on the web), and I am very disappointed to see
that the essential function keys (copy/cut/paste/undo/...) are still not
working on Sun Type 5 keyboard, as far as text editing is concerned.

I have been working with VisualWorks on Solaris 2.x since version 1.0 and
it always amazed me that such a well-designed environment has such a poor
support for text editing, especially for function keys and keyboard
shortcuts. This is very surprising, since this support exists within the
canvas editor (as documented in appendix E, p.11 of the VisualWorks 2.5 User
Guide, rev. 2.0). And it is even more surprising for version 2.5, since
Release Notes point out that all tools (including browsers, de{*filter*}s,
etc.) have been re-implemented as VisualWorks applications.

Well, I then ask some support from ParcPlace-Digitalk in Germany, but the
guy there told me: ``Sorry, we did not support the Function keys of any
platform. Many of our customer created their own solutions for this
issue.'' I was not very happy with that answer, as you can imagine.

Ideally, I reckon that there should be a panel in the Settings tool
providing the ability to customize shortcuts, i.e., to interactively
bind a particular control/escape/meta key sequence to a menu item.
Meanwhile, I think it would be very little effort for ParcPlace-Digitalk
to make those shortcuts available everywhere in the environment (for the
perfect Keyboard Settings tool, I am prepared to wait a little bit ;-).

My experience with VisualWorks taught me that it is a **great environment**
and I really enjoy working with it. As far as text editing goes, I have been
using the emacs_keys.st file-in from the Smalltalk Archive (which is a
great website, BTW!) up to version 2.0.  This file-in worked perfectly with
version 1.0, had a few very annoying bugs with version 2.0, and simply
doesn't file-in with version 2.5, since many classes have changed or
disappeared. However, I have never seen a satisfactory support for function
keys and shortcuts from ParcPlace-Digitalk itself, yet.  I think it is time
that VisualWorks comes out of the Stone Age as far as code/text editing is
concerned ;-).

If other people share the same feelings about this problem, I reckon it
would be a good idea to inform ParcPlace-Digitalk. Only this way there
might be a chance to make things evolve.

--------------------------------------------------------------------------------
Benoit Garbinato

Computer Science Department            (DI)     phone:  + 41 21 693 52 74
Swiss Federal Institute of Technology  (EPFL)   fax:    + 41 21 693 67 70
CH-1015 LAUSANNE
(Switzerland)



Tue, 02 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

Quote:

>....  I think it is time
>that VisualWorks comes out of the Stone Age as far as code/text editing is
>concerned ;-).
>If other people share the same feelings about this problem, I reckon it
>would be a good idea to inform ParcPlace-Digitalk. Only this way there
>might be a chance to make things evolve.

I fully agree 100%!

VisualWorks is a great IT dev. env. and just as everybody else
we completely customised the keyboard handling, make it more
MS standard, for us AND for the end user of our application, added
many missing navigation menu options in the development
environment.

I also found that upgrading to V2.5 level will require us to port
those V2.0 patches often one-by-one.

Please ParcPlace, set a standard (e.g. shortcut keys in a standard
mapping table with a well defined 'plat-form' default) perhaps
incorporate/license some existing techniques from 3rd party as
they already have good solutions available (for +/- $8000 you
can expect some of those basic features included, not?),

Leon.



Tue, 02 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

You're so right with your complains! As you want support for SUN's function
keys I would love to see support for doing selection with cursor keys as
any other window or OS/2 program supports. I'm even so foolish to wish I
could use the browser without any mouse actions. Why, the hell, pull down
menus have eventually got short cut support but pop-up menus, which are
used more often, not!?

Why the Keyboard controller, which could handle all kind of shortcut keys
once you have understood its very ugly code, asks any controller about
keyboard shortcuts, but only Controller class, the father of all other
controller, implements this request by saying nobody wants them. It seems,
this part of the VW system is written only partially and everybody at PPD
fears to change anything here because nobody really understand this code.
Keyboard Controller and UIBuilder are IMHO to good candidats for the worst
written class of VisualWorks. (Well, the VisualLauncher class has also good
chances to win :-)

I also complained at ParcPlace Deutschland and even showed them my changes
for the ParagraphEditor (with Ctrl+A for accept, I will never want to miss
that! :-) but they can't do anything more than forwarding complains or
requests to the American mother. Well, they now administer cool bug-report
numbers, but I've never got a response or even a fix :-(

Quote:
>If other people share the same feelings about this problem, I reckon it
>would be a good idea to inform ParcPlace-Digitalk. Only this way there
>might be a chance to make things evolve.

Yes. Let's hope (or better demand!) a better interface for both developer
and end user for the next version of VW, the rumoured jigsaw. I lost the
hope that PPD will do anything for the current version.

bye
--
Stefan Matthias Aust // ...come on, kiss the frog
        http://www.kiel.netsurf.de/users/s/sma/



Wed, 03 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5


editor for VW, including 2.5, that he is selling, or at least that
he told me some months back that he was going to sell.

-Ralph



Fri, 05 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

Quote:

> I have been working with VisualWorks on Solaris 2.x since version 1.0 and
> it always amazed me that such a well-designed environment has such a poor
> support for text editing, especially for function keys and keyboard
> shortcuts.

I've complained about this for years to anyone at ParcPlace that I've had
contact with.  As you point out, still no action.  I put it in terms of
look and feel.  VW apps can automatically adjust their look, but not
their feel.

The real issue for ParcPlace is not so much complaints from current users
but the failure to sell to new customers who are incredulous at the lack
of key bindings.  I'm embarrassed as a Smalltalk enthusiast when I have to
make excuses to clients interested in using Smalltalk who experience the
ParcPlace environment!!  How many times will I hear "What do you mean
CTRL-C means break?  It should be copy!"

ParcPlace is making it hard to sell Smalltalk as a "mainstream" development
tool.  Come on PPD, give us a break!

    Shaun



Fri, 05 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

Quote:
>> I have been working with VisualWorks on Solaris 2.x since version 1.0 and
>> it always amazed me that such a well-designed environment has such a poor
>> support for text editing, especially for function keys and keyboard
>> shortcuts.

>I've complained about this for years to anyone at ParcPlace that I've had
>contact with.  As you point out, still no action.  I put it in terms of
>look and feel.  VW apps can automatically adjust their look, but not
>their feel.

I know what you mean, there are many areas in VW that seem completely
brain dead, the editor is just one example.  The canvas editor is
pretty darn pathetic as well ("but it's better than nothing" I hear
you cry...) and there's a zillion ``little things'' that indicate not
much thought went into developer convenience and consistency.  At one
point I got so irritated by the built in text editor that I rewrote
some of it to emulate emacs and be much more convenient (if anyone's
interested I can make a fileout, but beware it's not production
quality code).  It didn't take very long and I got a reasonably nice
editor with autoindent, syntax highlighting, etc.
Anyway the m{*filter*}is if you don't like how something is done, and it
matters enough to you, just do it the way you want.  That's the nice
thing about smalltalk, the system is exposed for you to play around
with.

---



Sat, 06 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

Quote:


>editor for VW, including 2.5, that he is selling, or at least that
>he told me some months back that he was going to sell.

Hi everybody,

  I have developed an set of emacs key bindings for VisualWorks that
has quite a few nice features (see ReadMe file below). My plan was to
develop it into a product and start selling it. But over the last 8
months I have been so distracted by school work and another project
that I have not followed through on emacs_keys.

  Please send me email if you are interested in taking over the
development of this product or if you would like to become a beta
tester.

Below is a ReleaseNotes file for the most recent beta version and a
ReadMe file.

jason!

================

Here is a list of the new features / modifications in beta 2:

1. EmacsEditor is gone, all my code goes into ParagraphEditor now.
This increased compatability with the images that people are using on
projects, and allowed me to support vw2.5 (even though I do not have a
copy of vw2.5). The code is more messy because it is in a big clump,
but that is the price I felt I had to pay.

2. selectEnclosingConstruct is now implemented. This makes it much
faster to evaluate subexpressions/blocks/examples from the
keyboard. (1) Place the cursor on an expression, block or comment. (2)
Envoke selectEnclosingConstruct via R5 on sun keyboards, Meta-O (the
letter oh) on any keyboard. (3) The surrounding text will be selected,
use selectEnclosingConstruct multiple times to select bigger areas.
(4) Use the doIt, inspectIt, or PrintIt keys to evaluate the
expression.

3. Symbol completion. Typing part of a message selector, class name,
or message protcol name, and then pressing meta-tab will attempt to
type the rest of the word for you. If there are multiple choices it
will complete as much as possible or open a dialog box for you to
choose from. This command saves a lot of typing and typos. It makes a
great complement to dynamic abbreviations (invoked by meta-/). One of
the beta testers was kind enough to contribute this extension.

4. In the KeyboardBindingsEditor you can now add new rows for new
bindings.

5. editPreferences dialog box is now defined.

6. transpose_words now works better and more like emacs.

7. Numerous bug fixes have been made.

8. Cursor positioning after accept and cancel is now less jumpy.

9. newline_and_indent makes inserts a newline and copies the
indentation from the line above. This is the kind of feature that
every code editor should have. You can turn it off by removing the
binding for C-M (Control-M is the return key).

10. Recorded macros can be saved as new commands via
name_last_kbd_macro. Once you have defined a macro and saved it, you
can invoke it via M-x, or by binding it to a keystroke in the
KeyboardBindingsEditor. Saving macros does not work under vw2.5.

11. You can set the univeral argument to any value by typing
meta-digits (i.e., type ESC followed by 4, or hold down the meta key
and type 4). For example, if you wanted a string with exactly 28
stars, you can type M-2 M-8 *. You can also type C-u to multiply the
univeral argument by four. I have not yet implemented a mode where you
can combine C-u and the digit keys, e.g., type C-u 2 8 *.

================================================================

This is the ReadMe file for the beta 2 version of emacs_keys.

It is divided into the following sections:
1. Overview and feature list.
2. Installation guide.
3. Current development status.
4. Contact information.
5. Instructions for beta testers.
Appendix A: Standard emacs key bindings
Appendix B: Impact of loading emacsvw2.st

Section 1. Overview and feature list

Emacs is probably the most full-featured and customizable text editor
in existence. It was initially gained popularity on UNIX systems, but
it has since been ported to virtually all platforms. Gnu Emacs is the
flagship of all emacs implementations, but there are dozens of others.
In this document when I refer to "emacs" without a brand name, I mean
the set of features that is common to most emacs implementations. See
the usenet news group comp.emacs for more information.

Emacs_keys is a utility for VisualWorks that imitates emacs key
bindings and behavior. Now you can do much more with your keyboard and
much less with your mouse. Furthermore, as you learn and customize
your text editing environment you will reduce the number of keystrokes
needed to accomplish a given amount of work. For example: control-x
followed by control-s runs the #accept command, thus allowing you to
execute one of the most common menu commands from the keyboard; meta-/
invokes the dynamic-abbreviation facility, that allows you to complete
a word after typing only the first few characters of an argument,
message selector, local variable, or other word that occurs within
current buffer, thus saving keystrokes and encouraging the use of more
descriptive identifiers. Macros allow you to automate repetitive text
editing activities and more easily define new commands. Also, the
multi-level undo facility keeps you safe in case you make an unwanted
change.

Emacs_keys works by modifying the common superclass of the controller
classes used by most text editor panes, ParagraphEditor. Emacs_keys
modifies ParagraphEditor to define new keystrokes and more powerful
data structures to represent macros, store undo history, and remember
abbreviations. There are a great many commands defined in Emacs_keys
that are inspired by emacs. Any command can be invoked by name, and most
of them are bound to a 1 or 2 keystroke sequence.

Learning to make effective use of Emacs_keys is basically dependent on
learning the commands and their key sequence. That may seem like a lot
of memorization at first, but it is quite easy to execute commands by
name at first and learn the key sequences incrementally. Emacs_keys
even has a tutoring mode that tells you the key sequence for each
command that you execute by name. Also a key binding editor is
provided for you so that you can easily and interactively rebind your
key sequences to whatever scheme is easiest for you to use. Of course,
if you are already familiar with the standard emacs keybindings, then
you should be able to jump right in.

Here is a brief list of the features of Emacs_keys, with the new
and improved features stared:

 *1. Many emacs editing keys defined for quick and familiar
     keyboarding inside VW.
  2. Multi-level undo.
  3. Emacs-style kill-ring.
  4. User defined abbreviations that automatically expand when typed.
  5. Universal-argument to automatically repeat commands.
 *6. Dynamic abbreviations that can be expanded based on context
     without the need for prior definition (_very_ handy).
 *7. Macro recording and playback capabilities.
 *8. A direct user interface for modifying the keybindings.
 *9. The ability to execute any command by name (meta-x).
*10. Emacs style key-stroke notation (e.g., "\M-\C-f").
*11. Emacs-style incremental search.
*12. Access to the search and replace commands provided by VW2.0.
*13. Keystrokes to invoke doIt, printIt, insertDateKey:, and more.
*14. On-line help and emacs-style self documenting features (e.g.,
     describe_function, apropos). [not done yet]
*15. Much more robust and well tested than the version currently in
     the st.cs.uiuc.edu archive.
*16. The ability to store your personalized keybindings to a file.
     [not done yet]
*17. A wide range of preferences to let you further customize/optimize
     your text editing environment. [not done yet]
*18. Debugging support to aid you in safely modifying emacs_keys to
     your own tastes. [not done yet]

Section 2. Installation guide.

Before you install, decode whatever files I emailed you. You may need
to take off email header information. The suffix ".Z" means the UNIX
'compress' utility was used, you must use 'uncompress' on the
file. The suffix ".uu" means that the UNIX 'uuencode' utility was
used, you must use 'uudecode' on the file.

To install Emacs_keys in a standard VW2.0 or VW2.5 image do the
following:
  1. File in emacsvw2.st
  2. Close whatever text editors and browsers you have open.
  3. Open new text editors and browsers as you normally would.
  (note: instead of closing and reopening, you can use the spawn
   command in browsers to open a new browser, then just close the
   original browser).

To install Emacs_keys in a standard VW1.0 image do the following:
  1. File in emacsvw1.st (not done yet)
  2. Close whatever text editors and browsers you have open.
  3. Open new text editors and browsers as you normally would.
  (note: instead of closing and reopening, you can use the spawn
   command in browsers to open a new browser, then just close the
   original browser).

If you are already using emacs_keys0.5 (available from st.cs.uiuc.edu
since 1995) you should be able to follow the above instructions
without modifications. If you have made any modifications to v0.5,
you may want to save those before loading the new version.
Modifications to v0.5 may not work with v1.0.

3. Current development status.

This is just a beta version of Emacs_keys, the full version has not
been finished yet and not all features are ready. Here is a list of
some features that are not done yet:

*14. On-line help and emacs-style self documenting features (e.g.,
     describe_function, apropos).
        Not done yet. I now plan to do it via www, not VW on-line help.

*16. The ability to store your personalized keybindings to a file.
        Not done yet.

*17. A wide range of preferences to let you further customize/optimize
     your text editing environment.
        Not so wide, not so easy. Try executing editPreferences.

*18. Debugging support to aid you in safely modifying emacs_keys to
     your own tastes.
        Minimal so far.

Here is a list of known bugs and areas that I think ...

read more »



Sat, 06 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

Hi Benoit,

I have fixed this emacs.st to work with VW2.5 (emacs25.st)

I am not sure if the following is the latest version but you can try it
and see.

Maybe someone can post it on the Smalltalk Archive for me.

Regards.
Eli Hodos

begin 666 C:\DATA\VW\EMACS25.ST

end
-----------------------------------------------------
Name: Eli Hodos
SPL WorldGroup (Israel) LTD
Phone: 972-3-5388314
Fax:   972-3-5335511

Date: 08/23/96
Time: 20:26:30

This message was sent by Chameleon
-------------------------------------



Tue, 09 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

Hi Benoit,

I have fixed this emacs.st to work with VW2.5 (emacs25.st)

I am not sure if the following is the latest version but you can try it and see.

Maybe someone can post it on the Smalltalk Archive for me.

Regards.
Eli

begin 666 C:\DATA\VW\EMACS25.ST
<uuencoded_portion_removed>

end

Quote:
---------------Original Message---------------

I work at the Swiss Federal Institute of Technology in Lausanne, where we
have a site license for VisualWorks on Sun Solaris 2.x. I just installed
new version 2.5.1 (available on the web), and I am very disappointed to see
that the essential function keys (copy/cut/paste/undo/...) are still not
working on Sun Type 5 keyboard, as far as text editing is concerned.

I have been working with VisualWorks on Solaris 2.x since version 1.0 and
it always amazed me that such a well-designed environment has such a poor
support for text editing, especially for function keys and keyboard
shortcuts. This is very surprising, since this support exists within the
canvas editor (as documented in appendix E, p.11 of the VisualWorks 2.5 User
Guide, rev. 2.0). And it is even more surprising for version 2.5, since
Release Notes point out that all tools (including browsers, de{*filter*}s,
etc.) have been re-implemented as VisualWorks applications.

Well, I then ask some support from ParcPlace-Digitalk in Germany, but the
guy there told me: ``Sorry, we did not support the Function keys of any
platform. Many of our customer created their own solutions for this
issue.'' I was not very happy with that answer, as you can imagine.

Ideally, I reckon that there should be a panel in the Settings tool
providing the ability to customize shortcuts, i.e., to interactively
bind a particular control/escape/meta key sequence to a menu item.
Meanwhile, I think it would be very little effort for ParcPlace-Digitalk
to make those shortcuts available everywhere in the environment (for the
perfect Keyboard Settings tool, I am prepared to wait a little bit ;-).

My experience with VisualWorks taught me that it is a **great environment**
and I really enjoy working with it. As far as text editing goes, I have been
using the emacs_keys.st file-in from the Smalltalk Archive (which is a
great website, BTW!) up to version 2.0.  This file-in worked perfectly with
version 1.0, had a few very annoying bugs with version 2.0, and simply
doesn't file-in with version 2.5, since many classes have changed or
disappeared. However, I have never seen a satisfactory support for function
keys and shortcuts from ParcPlace-Digitalk itself, yet.  I think it is time
that VisualWorks comes out of the Stone Age as far as code/text editing is
concerned ;-).

If other people share the same feelings about this problem, I reckon it
would be a good idea to inform ParcPlace-Digitalk. Only this way there
might be a chance to make things evolve.

-------------------------------------------------------------------------------
-
Benoit Garbinato

Computer Science Department            (DI)     phone:  + 41 21 693 52 74
Swiss Federal Institute of Technology  (EPFL)   fax:    + 41 21 693 67 70
CH-1015 LAUSANNE
(Switzerland)

----------End of Original Message----------

-------------------------------------
Name: Eli Hodos
SPL WorldGroup (Israel) LTD
Phone: 972-3-5388314
Fax:   972-3-5335511

Date: 08/23/96
Time: 20:26:30

This message was sent by Chameleon
-------------------------------------



Tue, 09 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5

Quote:

>I've complained about this for years to anyone at ParcPlace that I've had
>contact with.  As you point out, still no action.  I put it in terms of
>look and feel.  VW apps can automatically adjust their look, but not
>their feel.

Yes. And this is even more annoying because of the very flexible policy
concept it needn't be so. Some new controller subclasses which could handle
platform specific key binding could be the solution. However, a "it could
be done" isn't something that helps to sell :-( It's my observation, that
todays customer demand a good UI and they don't want to program it
theirselves.

Quote:
>The real issue for ParcPlace is not so much complaints from current users
>but the failure to sell to new customers who are incredulous at the lack
>of key bindings.  I'm embarrassed as a Smalltalk enthusiast when I have to
>make excuses to clients interested in using Smalltalk who experience the
>ParcPlace environment!!  How many times will I hear "What do you mean
>CTRL-C means break?  It should be copy!"

Oh, you can change this. It works. I've done this with my key bindings and
-- because the "Ctrl+Break" key isn't supported in VW, I picked Ctrl+O as
Oops-key. It works? Well, database actions inside the virtual machine can
only be aborted by Ctrl+C. It's hard coded inside the VM!  Now explain your
customer he has normally to press Ctrl+O besides he wants to abort a db
action where he has to press Ctrl+C! PPD's answer? A bug-report-number. ;-(

Quote:
>ParcPlace is making it hard to sell Smalltalk as a "mainstream" development
>tool.  Come on PPD, give us a break!

You're so right here. Presenting PPD to an interested potential customer,
he said, he's not interested in anymore VW, because with that interface he
has to code more than with his current 4GL tool and so this wouldn't help
in speeding up development time. Yes, with Smalltalk he could express more
than with a 4GL language but because he still likes Smalltalk now he wan't
to give VisualAge a closer look because with PARTS it has a better and
modern GUI.

bye
--
Stefan Matthias Aust // ...come on, kiss the frog
        http://www.kiel.netsurf.de/users/s/sma/



Wed, 10 Feb 1999 03:00:00 GMT  
 Stone Age text editing in VW 2.5


Quote:
>Anyway the m{*filter*}is if you don't like how something is done, and it
>matters enough to you, just do it the way you want.  That's the nice
>thing about smalltalk, the system is exposed for you to play around
>with.

Well, this isn't an argument to *sell* VisualWorks! Customers have a
variant here: "If you don't like how somethink is done,  go and buy another
product" For the normal application developper it's out of question to
loose time to make a lousy development system acceptable (IMHO).

bye
--
Stefan Matthias Aust // ...come on, kiss the frog
        http://www.*-*-*.com/



Wed, 10 Feb 1999 03:00:00 GMT  
 
 [ 13 post ] 

 Relevant Pages 

1. text rotation in VW 2.5

2. Help: VW Smalltalk 2.5

3. VW 2.5 startup screen HELP

4. Sound in VW 2.5

5. VW 2.5 Rubberbanding, howto?

6. VWave 1.0 (VW 2.5 may apply)

7. VW 2.5 MultiRow Select Table Widget Needed

8. VW 2.5 menuBar hide, show

9. VW 2.5 automated testing tools

10. Sound in VW 2.5

11. PC Serial Port from VW 2.5

12. HELP: VW 2.5 Mac -> WinNT Port

 

 
Powered by phpBB® Forum Software