pedit Manual

written by

Paul Nevai

Paul Nevai

[still under construction - and so is the manual since pedit keeps evolving constantly]

NOTE. This very same manual can be found online here (HTML) and here (text). You can also download them from here (HTML) and here (text).

NOTE. If you are new to pedit, then you may want to start with the pedit Tutorial whose archived version you can find here together with other material.

WARNING

Since pedit, LapTopHack, and pToolSet share components, if you use more than one of them, then they all must be of the same version, preferably the latest one.

Table of Contents

Abstract

The pedits are innovative, scriptable, keyboard/thumbboard friendly, and extraordinarily powerful text editors for Palm Powered handhelds.

Introduction to the pedit Family of Palm Text Editors

Dear peditor:

Thank you for having made such an intelligent decision. In case you are one of those self-assured people who never read manuals [just like yours truly], then go ahead and experiment on your own. I know you won't regret it. On the other hand, if you want to be a savvy, intelligent, and educated customer prior to immersing yourself into the limitless features of pedit, then please set aside a few minutes of your precious time to read this [relatively speaking] short introduction to pedit.

The word pedit stands for Palm editor, and/or Paul's editor, and/or programmers' editor, and/or whatever else you prefer. It must be spelled with a lower cased p as in pedit. If you are a certified peditor, then you pronounce pedit as a 3-syllable word as in pee-edit.

By definition, a peditor is a person who installed pedit on his or her Palm computing device. A true peditor duly REGISTERS pedit. In case you happen to have a shorter than normal attention span [just like yours truly], let me repeat that a true peditor...

pedit is based on Palm Computing's built-in Memo Pad and is meant to replace it [just like DateBk made "Date Book" obsolete]. It packs a myriad highly customizable features which makes it a perfect tool for anyone using the Palm for serious text editing.

pedit also imports and exports industry standard Palm-style DOC files so that it is a perfect replacement for all Palm based text editors known to mankind.

Even casual writers will appreciate its simple but rich and efficient interface.

Due to overwhelming popular demand, the pedit family of editors consists of several applications, namely, pedit [aka pedit04], pedit32, peditPro, and peditLight.

pedit [aka pedit04] is for those peditors who want a hasslefree and super sophisticated Memo Pad replacement with 100% Memo Pad compatibility, and who don't want to be bothered and/or concerned with HotSync and DeskTop issues.

In what follows, sometimes I will refer to pedit as pedit04 since the word pedit is also used as a generic term for any member of the pedit family. If a specific feature relates to a specific pedit, then it will be emphasized.

pedit04 and pedit32 are essentially identical in practically every form and function with the exception that pedit32 breaks the infamous 4K barrier, and it works with memos of size up-to 32K [well, it is really 32K - 1, i.e., 0X7FFF, i.e., 2^15-1, i.e., 32767 bytes].

pedit32 is for those peditors who want to be able to create files which are bigger than the regular Memo Pad files are. Those peditors who want to access their pedit32 memos on the DeskTop, will have to do some additional steps involving exportation [see here too] of pedit32 memos to pedit04 or DOC files, and importation of DOC files to pedit04.

Prior to installing pedit32, you should read the section pedit04 vs pedit32 so that you would be fully aware of the subtle and not so subtle differences between the two.

peditPro is the flagship of the pedit family. It combines pedit04 and pedit32 into one convenient application whose RAM demand is more than 200K less than that of pedit04 and pedit32 combined. peditPro has two modes. If it is in pedit04 mode then it looks like pedit04, smells like pedit04, and behaves like pedit04. Similarly, if it is in pedit32 mode then it looks like pedit32, smells like pedit32, and behaves like pedit32. If I may suggest so, use peditPro and forget all the other pedits.

NOTE. Only peditPro has extensive Dynamic Input Area [DIA] support. No other flavor of pedit supports the DIA.

If your Palm is short of free RAM, then you can save approximately 100K if you use peditLight instead of pedit04. peditLight is identical to pedit04 in almost all essential editing functions. However, many of the "high end" feature of pedit04 are unavailable in peditLight. More precisely, those "high end" features are visually indicated but are functionally disabled in peditLight. For instance, all menu items starting with ! are disabled. This way, based on your editing needs, you can decide whether or not you want to upgrade to another pedit04.

pedit04 and Memo Pad can and do co-exist peacefully. Although pedit04 uses the Memo Pad database "MemoDB" with creator ID 'memo', it does not alter its structure in any way whatsoever so that the user can switch back and forth between the two with no harm done [see Clear History and Clear Preferences]. To be quite honest, once you try pedit04, you will probably never ever want to go back to Memo Pad. Still, if you wish, you may. In addition, deleting pedit04 from your hand-held device, does not remove the database MemoDB created by Memo Pad, although it will delete pedit04's own preference record and its own peditDB database. In particular, you don't need to worry about HotSync and conduit issues in conjunction with your memos since they all reside in MemoDB. The peditDB database holds the contents of your magiPad, scriptPad, and some records related to Find'n'Replace. For your protection, peditDB gets backed up by HotSync.

pedit32 and the Memo Pad can and do co-exist peacefully as well. However, pedit32 uses its own memo database which is called Memo32DB with creator ID 'pn32', and, therefore, pedit32 is almost 100% incompatible with everything imaginable which uses Memo Pad although each developer supporting the Memo Pad database can easily reconfigure her software for pedit32 support as well. Please see pedit04 vs pedit32 for more details.

If you are a Palm or pedit "newbie", and if you already feel overwhelmed by this sizeable manual, then it may be a good idea for you to visit James Seigel's, Harvey Gatlin's, Peter Grierson's, and Lee Hauser's pedit Tutorial whose archived version you can find here together with other material.

Minimum Requirements

If your Palm's operating system is below 3.0 you are out of luck. I designed pedit to work with OS 3.0 and above. It was tested with all operating systems above 3.0.

There are many peditors with Visors and TRGPros [including yours truly], and there seems to be absolutely no problem with using pedit on them. I believe that pedit will work practically flawlessly on all Palms and all Palm Powered handhelds as well as long as the operating system is at least 3.0.

There are a few pedit features which are available only on Palms with operating system 3.5 and above. However, they are minor features and I seriously doubt that you will miss them.

There is one feature of pedit which I like very much and which is only available if your Palm operating system is below 3.5. Namely, you can have inverted or black buttons only if your Palm OS is below 3.5.

If I may give you some unsolicited advice, as of July 7, 2000, my choice for a Palm OS is 3.3. It is the fastest and the most bug-free [or least bug ridden]. Alas, it is a fact of life that all but the simplest computer programs have scores of bugs, and this includes the Palm OS as well.

If I may give you another unsolicited advice, as of August 25, 2000, I have been using Palm OS 3.5.2 on my Palm Vx and Palm OS 3.5.1 on my TRGPro for a couple of weeks now, and the only problem I encountered so far was that it takes longer than I wish to go to the Application Launcher.

If I may give you yet another unsolicited advice, as of January 1, 2002, I have been using Palm OS 4.0 with great success as well.

Whether or not you want another piece of advice from me, here it is. If your Palm Powered handheld is upgradable, that is, it has a flash ROM, then please do not procrastinate and upgrade it.

I must admit that even pedit may have some bugs. If you find any, please e-mail a bug report to me.

pedit was written with a 100% compliance with the Palm software developers' general guidelines. It was built with the latest version of MetroWerks' and Palm's CodeWarrior on a Power Macintosh G3.

Well, I did improve upon the standard Palm interface on several occasions. For instance, my tips dialogs are more legible then Palm's. Another example is that even my simplest dialogs can take keyboard inputs and they even react visually to such inputs.

I also introduced a number of new concepts such as buttonPanel, instantHelp, magiPad, Find'n'Replace, and so forth.

Compatibility Issues

pedit was written with a 100% compliance with the Palm software developers' general guidelines.

Therefore, there are absolutely no compatibility issues whatsoever except the following.

First, the Palm OS itself is not entirely bug-free, and therefore, pedit, just like any other Palm application is at the mercy of Palm's software engineers.

Second, there are a great number of applications which themselves are not exactly bug-free and which may effect the behavior of other applications. Unfortunately, there is no way that pedit can defend itself against problems introduced into the Palm operating environment by other applications.

In particular, there are a number of HackMaster extensions which are defective.

Moreover, there are a number of defective applications which patch the OS even though they are not installed using the standard HackMaster mechanism.

Third, pedit itself is a rather complicated program, and, therefore, it also must contain a large number of bugs despite the fact that it passed tens of millions of gremlin test with various hardware and operating system configurations on the Palm OS Emulator [POSE].

pedit should work perfectly with every bug-free HackMaster extensions as long as either HackMaster or a reputable replacement is used as the HackMaster extension installer application.

As long as the HackMaster extension is bug-free and it is flash ROM certified, pedit doesn't care whether your HackMaster extension is installed into the regular RAM or the flash ROM.

Beware of applications which play tricks with your Palm's operating system.

Some users of pedit reported some problems with the following HackMaster extensions and applications: AportisDoc, ClipHack, Clipper, EVPlugBase, FindHack 3.8, GoType!'s keyboard driver, PPK's keyboard driver, TakeNote!, and TrapWeaver.

Please note that when I polled the peditors regarding the above mentioned HackMaster extensions and applications, there were quite a few who have never experienced any problem with them whatsoever.

However, for instance, if you have ClipHack and the "wrong" Palm OS [newer than 3.0], then the following procedure, as described by David Sommers, leads to a guaranteed crash which has nothing to do with pedit.

1) Open a small memo in pedit.
2) Select a small amount of text.
3) Press the "X" button in EditView's buttonPanel to cut the selected text.
4) Press the SilkScreen "MENU" button.

You have a crash with a "HwrRes.c, Line:215, Menu rsrc not found" error message.

The author of ClipHack told me on June 16, 2000, that he is working on trying to figure it out how to fix the problem.

The problem with AportisDoc and TakeNote! is that they treat DOC files differently than all the other DOC related applications.

It is somewhat unfair to accuse AportisDoc with anything since Rick Bram invented the DOC format in the first place. Nevertheless, if you use AportisDoc to read a DOC file prior to importing it to pedit, then all bets are off. In practically all cases you will not experience any problem at all. Nevertheless, there are scenarios under which the import procedure may fail.

The problem with TakeNote! is more innocent but, at the same time, it is more serious. As of July 17, 2000, when TakeNote! opens a DOC file, it modifies it in such a way that the file may no longer be interpreted by any other DOC related application in the proper way. While TakeNote! has every right to do so, it should also leave a message that it modified the DOC file so that the other DOC applications would have a chance of re-reading the DOC file prior to interpreting it. For instance, TakeNote! could [should] change the creator ID of all DOC files it modifies. This would send a clear message to the other DOC applications.

I hope that TakeNote!'s authors will take note of this very unfortunate behavior of TakeNote!, and that they will take steps to fix their program. Although I have notified them of this problem, as of July 17, 2000, TakeNote! has not been fixed yet. As soon as I get notified by the TakeNote! people that the problem has been fixed, I will update this discussion.

At this point, it must be clear to you that resolving compatibility problems is more like a subtle excursion into fine art than a rigorous scientific exercise.

SergioG told me FindHack 3.8 will crash your Palm if you use some "fancyFind" features of pedit. I verified his claim and indeed this happens since FindHack modifies the Palm OS TxtFindString() function and the modification may have been done incorrectly. I suggest that you either stop using "fancyFind" or switch to superFinderHack.

The Palm Operating System Emulator [POSE] vs. LapTopHack and pedit

It is my understanding that the latest versions of POSE, effective with perhaps version 3.2, limit the size of the ClipBoard to a maximum of 1000 characters. This limit is hardcoded into POSE and cannot be changed. Therefore, you should never ever use POSE for serious work with either LapTopHack or pedit since POSE may truncate your text without any warning.

It is perfectly all right to test LapTopHack and pedit with POSE but please do not perform text related tasks with your essential data.

Fitaly with LapTopHack and pedit

As HenkK pointed out, Textware Solutions' Fitaly and FitalyStamp have a "slide" mode which may result in some unexpected behavior, since instead of entering a letter, say, "A", sliding enters "a" first, then deletes it, and then enters "A". Hence, please read the following advice which was contributed by JohnH.

In addition to the regular "slides", Fitaly and FitalyStamp users can also assign text strings of up to 25 characters to each letter of the alphabet through a "Custom Left Slide" feature. This is perfect for starting pScripts or doing other actions in LapTopHack and pedit, if the first character of the assigned string is the appropriate "ESC" character.

Note however that by default, the lower case letter character itself is immediately sent to the current application at the pen-down motion. If that pen-down motion is turned into a slide (even a slide to simply capitalize the letter), then thelowercase letter is quickly erased and replaced by the "correct" one(s). Unfortunately, if the current application can respond to a single character (like LapTopHack and pedit do in certain cases), Fitaly cannot always retract it by deleting. The result is unexpected behavior.

The solution is to use Fitaly or FitalyStamp's Key Options menu to "Set letters at pen up". That way, nothing is sent to the application until the slide is done, at which time the correct character(s) are sent. According to the Fitaly manual, the "Set letters at pen up" option may slow Fitaly or FitalyStamp down. However, this has not been observed in actual usage.

Downloading pedit

I suggest that you use the official pedit web page which always has the most recent versions of all pedits. However, please keep reading.

NOTE. If you download pedit from Palm sites go such as Handango, I can't guarantee that you always get the latest version from them.

You can download the latest version of this very same manual as pedit_man.zip right here, or you can read pedit_man.html on-line here.

You can download pedit.zip or pedit.tgz right here.

You can download pedit32.zip or pedit32.tgz right here.

For your convenience, pedit and pedit32 are available in one combination package as well. You can download peditCombo.zip right here.

You can download peditPro.zip or peditPro.tgz right here.

You can download peditLight.zip or peditLight.tgz right here.

You can download peditFixer.zip right here. It is also included in all of the pedit packages.

If you are a Mac user, then you can download pedit.hqx, pedit32.hqx, peditPro.hqx, peditLight.hqx, and peditFixer.hqx here.

NOTE. The latest (perhaps beta) version of all pedits is here. I encourage you to install this version which is usually (but not necessarily always) quite stable, and which is always much better than the "officially" released version.

Installation

All pedits install the usual way via a HotSync job. If you are not sure how to install Palm applications, please study the manual which came with your Palm.

pedit can run both from the regular RAM and from the flash ROM as well.

It may be useful to remind you that if you already have any of the pedits installed, and if they happen to be in the flash ROM, then please move them back to your regular RAM prior to installing the newer versions.

If you are about to install peditLight then use peditFixer first to delete pedit04, and then do a normal installation job. If you delete pedit04 using Palm's built-in deletion mechanism, then you will lose your magiPad.

If you are about to install a pedit over an older version of the same pedit, then there is no need to delete your pedit prior to installing the new version. Otherwise, you will lose your corresponding pedit preferences, including your pedit registration [see the here and here].

If you are installing a new version of pedit32 over an existing pedit32, then you must not delete your current pedit32 prior to installing the new version. Otherwise, you will lose your pedit32 memos.

If you are about to install peditPro then please read the following paragraphs very carefully.

It is safe [but not recommended] to use Palm's built-in deletion mechanism to delete pedit04 prior to installing peditPro, but you will lose your magiPad if you do so. In addition, you will also lose your pedit04 preferences, including your pedit registration [see the here and here].

If you have pedit32 memos then do not delete pedit32 via Palm's built-in deletion mechanism before you install peditPro. Otherwise, you will lose your pedit32 memos. In addition, you will also lose your pedit32 preferences, including your pedit registration [see the here and here].

If this is the first time you install peditPro, please install peditPro over your existing pedit and/or pedit32. Then run peditPro and the first thing to do is to use the Total Cleaner Upper command in ListView's Options to delete pedit and/or pedit32 without deleting your pedit04 memos and/or pedit32 memos.

QUESTION. What are pedit04! [pedit04Launcher] and pedit32! [aka pedit32Launcher]?

ANSWER. Please see the truth about pedit04! and pedit32! here.

NOTE. If your current pedit is prior to version 5.43 then please delete the outdated "pedit!" [with exclamation mark and aka peditLauncher] and "pedit32!" [also with exclamation mark and aka pedit32Launcher] from your Palm prior to installing the new pedit04Launcher.prc and pedit32Launcher.prc with version numbers at least 5.43. You can use your Palm's built-in deletion mechanism for this job [see here].

QUESTION. Which flavor of pedit should I install?

ANSWER. I recommend peditPro although the truth is that all pedits are equally powerful [except perhaps peditLight] and your own editorial needs should determine which one to pick. It may be useful for you to review the differences between pedit04 and pedit32. If you can't decide, get peditPro.

WARNING. If you use version 7.xx or newer of any of the pedits, LapTopHack, or pToolSet, then all your pedits, LapTopHack, and pToolSet must be 7.xx or newer since they are not compatible with version 6.xx or older.

In addition, since pedit, LapTopHack, and pToolSet constantly exchange information, it may be necessary that they be of the same version number.

NOTE. I suggest that you keep a backup copy of your peditDB.pdb which is somewhere in your HotSync backup directory on your desktop computer since you may need it in the highly unlikely event that you decide go back to versions 6.xx of pedit, pToolSet, and LapTopHack.

NOTE. Only peditPro has extensive Dynamic Input Area [DIA] support. No other flavor of pedit supports the DIA.

Registering pedit

Now a few words about the benefits of registering pedit.

If you shell out the registration fee, then, in return, most, but not necessarily all, future versions will be made available to you for free on pedit's web page or here. For practical purposes and for legal reasons, I reserve the right to change this policy [the latter happened when version 6.00 was released].

Please keep in mind that I will always notify the peditors Forum if there is an update [subscribe]. For some details about the peditors Forum see here.

If you wish, then we can work out a deal that I will always e-mail you the most recent updates.

Here is another excellent reason for registering pedit. If you do so, then you will never see my friendly reminders which, eventually, will make even the most stubborn conscientious objectors follow the directions in the next paragraphs.

Upon registration you will be issued a personal password which you should enter using the Register button in the About pedit window.

Please note that you are not allowed to share registered versions of pedit and/or pedit passwords with anyone, including [but not limited to] your friends, relatives, colleagues, and neighbors.

However, your immediate family members [spouses, significant others, children, and parents living in the same household under the same roof] are allowed to use your registered pedit, as long as they agree to abide by the same rules as regular registered users.

If you have not registered pedit yet, then please do so without any delay.

Registering pedit and pedit32 will set you back by $US20.00, peditCombo and peditPro by $US32.00, whereas peditLight costs $US9.00.

NOTE. Please see www.paulcomputing.com for occasional discounts, ongoing promotions, and money-saving deals.

You can always upgrade/downgrade/sidegrade from one pedit to another by contacting me. There is an upgrade fee, whereas downgrades and sidegrades are usually free.

For instance, if you are registered for peditCombo then peditPro is free for you, and vice versa, whereas, going from pedit to peditPro costs $US12.00.

If you honestly cannot afford the registration fee but you must have my Palm products anyway, then please contact me for discount rates.

PayPal is the strongly preferred, easiest, and fastest way to register pedit. Please register

at PayPal right now.

A working alternative is to mail a check for US$20.00 [pedit or pedit32] or US$32.00 [peditCombo and peditPro] or US$9.00 [peditLight] to Paul Nevai, 3346 Mansion Way, Columbus OH 43221-1573, USA. Please include your e-mail or your mailing address if you have no e-mail.

You can also register pedit at eSellerate: browse all, pedit, pedit32, peditCombo, peditPro, peditLight, peditUpgrade.

QUESTION. I am a Palm-procrastinator, and I allowed my unregistered pedit to expire. Now I realize that I can't live without pedit, and I quickly registered it. However, I am unable to start up pedit since it refuses to run. What can I do? Am I doomed for good?

ANSWER. Do not panic! You did the right thing when you registered pedit. Now wait for your password to arrive. Once you have the password, download the latest release of pedit and then go ahead and run it on your Palm. It will allow you to register it even if your trial time has run out.

Technical Support

First, please read the section about troubleshooting.

Second, if the advice given in the section on troubleshooting did not solve your problem, then please contact me.

Please state clearly the name of your pedit, the version number, and compilation time'n'date of your pedit, the exact name of your Palm hardware, the version number of you Palm operating system, and please describe the problem you have experienced.

NOTE. The About pedit dialog has all the information you need about your pedit.

If you live in North America, please provide your phone number, your time zone, and the times which are convenient for you. If possible, please write your phone number in the form 1-XXX-YYY-ZZZZ which makes it easier for me to process it automatically.

Please use civilized language when writing to me. Otherwise, I may not respond. In the past year I received thousands of messages and about a handful of them were abusive. The latter did not please me at all.

Please note that you can also obtain help by contacting the peditors Forum. In fact, as it turns out, the collective mind of all peditors works better than mine alone. Therefore, in most if not all cases, it makes sense to write to the peditors Forum prior to contacting me.

On the advice of JohnH, I recommend that you use the following template when contacting me.

DO: Your Name (yourname@yourisp.com) year/month/day [such as 2001/09/11]
Short description of the problem such as "I start up peditPro and my Palm crashes."
Application: [LapTopHack | peditPro | pedit | pedit32 | peditLight]
Version: [such as 5.73]
Compilation time'n'date: [11:01:43 EST on Jan 19 2002]
Handheld hardware:	[such as TRGPro]
PalmOS version: [such as 3.5.1]
Other hardware (keyboard, expansion memory, etc.):
Free memory: [such as 2Mb]
Other HackMaster extensions active: [such as FitalyStamp]
Other OS patching applications: [such as QuickBits]
Steps to reproduce:
Other comments: [such as "I love your stuff"]

Troubleshooting

First, please read the section about compatibility issues.

Second, turn off all your HackMaster extensions and other OS patching applications you may have, and see if the problem goes away. If it did, then turn on your HackMaster extensions and/or OS patching applications one by one and isolate the problem.

NOTE. Unfortunately, many peditors don't realize that they are running OS patching applications and they keep insisting that pedit crashed even though they uninstalled all their HackMaster extensions. This is making life real difficult for me despite their good intentions.

EXAMPLE. Our veteran peditors, Bill, Joe, and HenkK kept insisting that pedit crashed if they used the Monaco font and the text had a ShortCut symbol in it. I kept saying that I don't see why this should happen since it made no sense to me. Finally, it dawned on me that they must be using an application which behaves like a HackMaster extension and they forgot about it. Bingo. It turned out that they all used QuickBits which patches the OS. Once they adjusted the parameters in QuickBits [they turned off "BltDrawChars"], everything was back to normal. The corollary of this story is that if you have a problem, then you also need a certain degree of ingenuity in helping me to hunt the problem down. The funny thing is that I can't even blame the QuickBits guys since I am sure they include a warning in their manuals that QuickBits may mess cause incompatibilities the system.

UPDATE. Dafydd told me on January 7, 2002, that the crash may be due to bad font specifications in the Monaco font and QuickBits may be completely innocent.

Once you identified the guilty party, please contact their technical support and explain the problem. I know from personal experience that most Palm developers provide superior support.

However, there are some exceptions. If you happen to experience the latter, then please be persistent. Being polite can't hurt you. It may help your case if you send a copy of your correspondence to the peditors Forum and to some of the Palm related newsgroups such as comp.sys.palmtops.pilot and alt.comp.sys.palmtops.pilot.

You may also try Calvin's PGHQ FAQ. Some of my own Palm knowledge comes from studying this FAQ database.

Third, use the Clear History and Clear Preferences commands in ListView's Options menu.

Fourth, run peditFixer

peditFixer

and try to delete some or all pedit components. Then reinstall your particular version of pedit and reenter your password.

It is always safe to delete all pedit components except MemoDB and Memo32DB which contain your pedit04 and pedit32 memos, respectively. Delete the latter only if you did a HotSync job prior to running peditFixer.

NOTE. Deleting pedit04! and pedit32! is done via Palm's built-in deletion mechanism.

EXAMPLE. Sometimes peditDB which houses magiPad and scriptPad gets corrupted. This may lead to crashes when attempting a Find'n'Replace job. If so, just copy the contents of magiPad and scriptPad to a 32K memo, use peditFixer to delete peditDB [check the "magiPad" box], and then open up your pedit and restore magiPad and scriptPad. That should fix the problem. This advice has been tried out and worked several times in the past.

WARNING. Please keep in mind that pedit04 memos and Memo Pad memos are exactly the same animals.

Next, check out the peditors Forum or write to peditors Forum since, as I mentioned it already, the collective mind of all peditors works better than mine alone.

If the problem still persists then contact pedit's Technical Support.

QUESTION. My pedit refuses to start up. When I tap on the icon, the screen looks for pedit but then returns to the launcher program I am running on my Palm. What is going on?

ANSWER. I don't have the faintest idea what is going on. This happened to three peditors only out of thousands. One of them disappeared from the pedit the scene before I could investigate it, whereas the second one, Elwood Matthews, solved the problem by deleting magiPad with peditFixer so that I never had a chance to be able to find out the reasons. I suspect that you may have a corrupted magiPad but I can't be sure until I am able to complete a case study. I told the third person what Elwood did, and I also told him to delete all the pedit preferences with peditFixer as well. It worked and I was again robbed the opportunity to investigate it.

The peditors Forum and Mailing List

Please check out Paolo Amoroso's peditors Forum for details [subscribe].

You can post messages to the peditors Forum here.

As I mentioned already, if you are a Palm or pedit "newbie", and if you already feel overwhelmed by this sizeable manual, then it may be a good idea for you to visit James Seigel's, Harvey Gatlin's, Peter Grierson's, and Lee Hauser's pedit Tutorial whose archived version you can find here together with other material.

Whether or not you are an "expert", you will greatly benefit from visiting peditors.com which was created by John Kershaw and is maintained by him and by a growing number of enthusiastic peditors.

For Palm Software Developers: the pedit SDK

The pedit Software Developer Kit [SDK] is available here.

In addition, all legitimate Palm software developers can count on my absolute and enthusiastic cooperation in providing mutual support for each others' software.

Terminology

As I already mentioned it, the word pedit is used as a generic term for any member of the pedit family.

When pedit refers to the actual pedit application, then I will use the term pedit04.

In what follows, Palm refers to any Palm computing device or any clones thereof.

DeskTop refers to your computer which is used when you HotSync files. It is irrelevant whether it is a Macintosh or a PC or a Unix/Linux box. The only thing what matters is that it holds your backed up files after a HotSync operation.

When I refer to a keyboard, I mean an actual piece of hardware, and not Palm's built-in virtual keyboard.

A DOC file has nothing to do with dot.doc files which are used in the DeskTop universe in conjunction with some word processors. In the Palm universe, a DOC is a special file [or a file structure] which allows to install and view [large] text files on your Palm.

Quoting from Rob Tillotson: The Doc format is the de facto standard for large text documents on the Palm Computing Platform. It enjoys wide support in both software and content, but documentation is sparse.

I suggest that you read Rob Tillotson's The Doc Format as an introduction.

A pedit04 memo refers to a memo created by pedit04 or peditLight as opposed to a pedit32 memo which is created by pedit32. Of course, peditPro can create either of these.

WARNING. Please keep in mind that pedit04 memos and Memo Pad memos are exactly the same animals.

When I refer to a memo created by any of the pedits and in the given context it is irrelevant which pedit was the particular pedit which created it, then I use the expression pedit memo as a generic term.

Memo or text vitals refer to a snapshot of your current memo, or text in general, such as current text selection, cursor location, scroll bar position, and so forth. As pedit evolves, memo vitals get more and more sophisticated. Somne vitals even include current font and ruler selections.

When I say sister pedit, then I am referring to the other pedit. In other words, if you are running pedit or peditLight then pedit32 is the sister pedit, whereas if you run pedit32 then pedit is the sister pedit.

If you are running peditPro then the sister pedit depends on the current mode you are in.

Also, in what follows, using the original Palm terminology, I call ListView the window with title p04Memos..., and I call EditView the other one with title p04 #xxx of yyy [more or less].

ListView separator EditView

If your run pedit32 then instead of p04Memos... you will see p32Memos... and so forth.

NOTE. If your Palm Powered handheld allows to create native 32K memos in the built-in "Memo Pad" which also could be called "Memos", then the letters "p04" are replaced by "m32" such as m32Memos....

You can think of ListView as the table of contents, and of EditView where the actual editing takes place.

For our understanding of what a memo title is, please look here.

Text Processors vs. Word Processors

pedit is a text processor, and therefore, it does not have the formatting features of word processors such as allowing different fonts in a memo. If you expect such features then pedit may not be the right editor for you.

pedit creates text files which are 100% compatible with with all computers and all applications which use text files, whereas word processors create proprietary files which can be read by applications with special capabilities. Most word processors allow you to save your file as a plain text file but then all the formatting is lost.

On the other hand, as you will see, pedit allows you to manipulate text in ways which is way beyond the capabilities of most word processors.

It is up-to you to decide what is more important for you, and if you choose to go for a text processor, then pedit will not disappoint you.

pedit and External Keyboards

pedit absolutely loves all external keyboards, including the Palm Portable Keyboard [aka PPK or Stowaway or Targus] and GoType!, and greatly enhances their ability to enter text.

In response to many peditorial inquiries, I want to state it clear and loud that I think both GoType! and PPK are absolutely first rate, and I consider each an engineering marvel. I endorse both of them when used with pedit. However, please keep reading...

Even though the software drivers of some of the keyboards are less than perfect and more than buggy, it is totally irrelevant as far as pedit goes, since pedit uses its own internal mechanism to utilize the keyboards. As long as the driver of your keyboard is able to recognize the letters you type on the keyboard, you are set for good. If I may suggest so, please do write to the manufacturer of your external keyboard whenever you discover a bug. Otherwise, you may never see a bug fix.

In what follows, when I refer to a keyboard, I mean an actual piece of hardware, and not Palm's built-in virtual keyboard. So please do not try to use any of our tricks on the latter.

As it turns out. even some of the third party software implemented virtual keyboards behave as if they were a piece of hardware. This is good news for pedit users although there will be no performance benefits since every function can also be accessed via menus and/or tapping at the right time in the right place.

In almost all dialogs, unless there is a text field accepting alphabetical input, all buttons and check boxes can be activated by entering the lower cased version of the first letter of their label. This is the reason for ".Cancel" and why some labels are misspelled intentionally such as "K" standing for capitalization and "Qopy" for "Copy". When there is no text field, many times even the upper cased version of that letter works.

If there is a bold framed button in a dialog, then it can be activated by your keyboard's RETURN key or by the equivalent / Graffiti character [stroke from NE to SW] or by "ESC RETURN". If there is a multi-line text field in the dialog such as the one activated by the "F" button then "RETURN" is no longer available for this purpose, and use "ESC RETURN" only. The explanation of the ESC key mechanism is an important basic concept so that please do not skip it. This default button concept is well familiar to all Macintosh and Windows users.

pedit has full GoType! keyboard support as well. If the installed keyboard driver version is at least 1.5, then all buttons can be activated by depressing the first letter of the button label while simultaneously depressing the "Command" and "Alt" keys on the GoType! keyboard.

There is similar approach if you use the Palm Portable Keyboard, although, as of July 8, 2000, the current software driver for PPK is not yet able to recognize all buttons on the screen.

Therefore, I find the ESC key approach preferable to trying to use the particular keyboard's built-in functions.

If in a dialog all the text fields are numeric only, then entering either a space or a tab character rotates the focus between the fields. In addition, if underlined letters are visible, then entering one of them makes the cursor jump to the corresponding field.

If in a dialog there is more than one text field, then entering either "ESC SPACE" or "ESC TAB" rotates the focus between the fields.

The Escape Key Mechanism

The user defined escape character ESC [the default value is the backquote character "`"] allows the peditor to activate almost any button and check box from external keyboards and/oir thumbboards and/or via Graffiti input.

It is very important to understand that in pedit's terminology ESC is NOT a hard key on your keyboard such as one labelled with Ctrl, or Alt, or Cmd or whatever, but it is an ordinary key playing the role of ESC . By default I call the backquote key "`" the ESC key although you can change it in the pedit preferences dialog to any other key.

The way it works is as follows. First you hit ESC and then the required letter. Do it consecutively and not simultaneously. Of course, this is a very familiar concept to emacs, vi, and joe users, and to others as well.

EXAMPLE. "ESC ." activates the ".Cancel" button.

EXAMPLE. "ESC h" = "ESC H" = "ESC ?" = "ESC i" = "ESC I" invokes HELP in most [but not all] dialogs even if there is no HELP button present on the current screen.

Did you notice that there is a visual confirmation when you use ESC to activate a button? Isn't that cool?

To use ESC itself as a regular character in the text, just enter ESC twice as in "``".

You can determine if a menu command has an ESC key equivalent by examining the command in the dropped down menu. All the equivalent ESC keys are listed next to the command.

ESC keys in Menu

NOTE. On GoType! and on almost every other standard keyboard, "`" is an ideal choice for ESC. On the Palm Portable Keyboard, I recommend using "1" or "\" for ESC, although, I must admit that neither are absolutely perfect choices from the ergonomic point of view.

NOTE. As BruceM correctly pointed it out, if you ever intend to use pScripting, then stay away from the forward slash "/" as an ESC key candidate.

Common ESC Commands

In addition to

"ESC h" = "ESC H" = "ESC ?" = "ESC i" = "ESC I" = help

both ListView and EditView share the following ESC commands.

"ESC =" = drop menu

"ESC C" = menu command

"ESC F" = SilkScreen FIND

"ESC L" = BackLight

NOTE. If you have LapTopHack, then you can navigate inside all menus via keyboard and Graffiti input [see here for details].

pedit vs pedit32

It is crucially important to understand clearly and fully that pedit works with the built-in Memo Pad memo database which is called MemoDB with creator ID 'memo', and, therefore, pedit is 100% compatible with everything imaginable which uses Memo Pad.

On the other hand, pedit32 uses its own memo database which is called Memo32DB with creator ID 'pn32', and, therefore, pedit32 is almost 100% incompatible with everything imaginable which uses Memo Pad.

One important consideration is that pedit32 loses some of its snappiness when editing files whose size approaches 32K.

By the way, Palm's built-in SilkScreen FIND button works perfectly with pedit and so does grepHack and superFinderHack and FindHack.

Further good news is that, if you choose to install both, then pedit and pedit32 can simultaneously co-exist on your Palm. They share the same magiPad database called peditDB, but otherwise they have their own creator IDs, preferences, and so forth. So go ahead and install both pedit and pedit32.

However, if I were you, I would rather have peditPro on my Palm than pedit and pedit32, since the former saves approximately 200K is RAM real estate.

Additional good news is that, after you did a HotSync job, if you wish, you can open up your huge pedit32 memos residing in Memo32DB on your DeskTop computing device with any competent text editor such as emacs, vi, joe, BBEdit, and so forth. I leave the rest to your imagination and creativity.

Of course, you should follow this advice only if you are the kind of person who does not follow any advice anyway. On the other hand, if you want to access your pedit32 memos in a professional and elegant manner then please keep reading.

QUESTION. How can I move a large text file from my DeskTop computer into pedit or pedit32?

ANSWER. Convert your text file to DOC format using one of the many widely available utilities [see, for instance, Document Conversion Tools and Utilities at MemoWare, or MakeDoc at Aportis, PalmGear, or Handango]. Then HotSync it to your Palm. Then import it to pedit or pedit32 using the Import Doc File command in ListView's Record menu.

QUESTION. How can I move a memo [and its sister segments] from my beloved pedit or pedit32 to my DeskTop computer?

ANSWER. Open up your memo [or one of its sister segments] using the Export Memo command in EditView's Record #1 menu. Then export it to a DOC file. After your next HotSync operation, you will find your memo [as a DOC file] in the backup directory on your DeskTop computer. Now use your DOC converter to turn it into a humanly readable text file.

NOTE. Pleae check out peditDesk, a small DOS application by Jerry Skelley for extracting pedit memos from both databases MemoDB.pdb and Memo32DB.pdb, which is available at the files section of the peditors Forum. Unlike the standard Palm DeskTop software, peditDesk rejoins your segmented memos, sending them to the Windows text editor of your choice. Memos may be exported singly or in groups, by category, or all at once. The intuitive interface even resembles pedit's ListView. Features include full-screen preview of memo text, your choice of Windows text editors, and high speed "Turbo" throughput. Screen messages and command keys may be edited for use by non-English speaking peditors.

NOTE. I also recommend Jesse Jacobsen's MemoCircus which is a utility for listing and extracting memos from database files on the DeskTop. These files are found in the directory where your handheld's data is backed up, and will probably be named MemoDB.pdb and Memo32DB.pdb. A special option allows pedit's segmented memos to be treated as a single memo. MemoCircus currently uses a UNIX-style command line interface, though a graphical interface is planned for the future. According to JesseJ, some day, MemoCircus will allow adding memos to the databases, and direct-to-handheld operation via the HotSync cradle. If you have problems, questions, or suggestions concerning MemoCircus, please e-mail the author at jmatjaco@yahoo.com. By the way, MemoCircus is free software, written in Python, and should be usable on any platform where Python can be installed. To run it, you will need Python on your DeskTop computer first. More information and downloads are here.

NOTE. EXpedit is a similar Windows utility by Casper Lassenius which is currently [as of November 3, 2000] under closed testing. Hopefully, a public beta version will be available soon. In the meantime, you may peek at a screen shot at the links section of the peditors Forum. Once EXpedit becomes available, you will find it at the files section of the peditors Forum.

So far, I have received no reports whatsoever of any problems with pedit32 which were not present in pedit [with the exception of some performance degradation with large memos]. In fact, the great news is that, at least in principle, pedit and pedit32 should share the same bugs, no more and no less.

But, as we all know, even if theory and practice are the same in theory, they are definitely different in practice. [I thank the author of pedit for allowing me to include this deep thought, and Daniel D. for taking time to polish it].

NOTE. Of course, pedit is 100% bug-free. It just may have some unexpected, undocumented, and perhaps inexplicable features. [smiley]

Which pedit is my pedit?

Since there are several pedits, it is not at all simple to keep track of them. If you want to figure out which pedit is the pedit which you are running at the moment, please examine the title bar.

If the title starts with the letter p [or m], then your are in pedit04.

If the title starts with the letters .p [or .m], then your are in pedit32.

If the title starts with the letters !p [or !m] then you are in peditPro.

If the title starts with the letters :p [or :m] then you are in peditLight.

NOTE. If your Palm Powered handheld allows to create native 32K memos in the built-in "Memo Pad" which also could be called "Memos", then the letters "p04" are replaced by "m32" such as !m32Memos....

In addition, you can also find out if your current memo in EditView is a 4K or 32K memo. Just look at title bar. If the title has p04 [or m32] in it then your memo is a pedit04 memo. If the title has p32 in it then your memo is a pedit32 memo.

If you are in EditView and if you are running stats in the title bar, then look carefully at the upper right area of your Palm's screen just below the title bar. If you see a small black square [2*2 pixels], then you have a pedit32 memo. Otherwise, it's a pedit04 memo.

Similarly, if you are in ListView, look for p04 [or m32] or p32 in the title bar, and you will know which mode you are in.

These considerations are especially relevant if you are running peditPro where you can switch between pedit04 and pedit32 memos.

The truth about pedit04! and pedit32!

The peditPro package includes two tiny applications called pedit04! [aka pedit04Launcher] and pedit32! [aka pedit32Launcher]. In order to differentiate between them and the pedit/pedit32 package, they both have an exclamation mark "!" at the end of their titles.

Think of them as "aliases" for peditPro. You can use them to start up peditPro in either pedit or pedit32 mode. You can assign them to hard buttons, and to GoType! and PPK function keys as well.

I use the word alias with quotation marks since the concept of aliases is unknown in the Palm universe, at least as of July 18, 2000. It is a shame since aliases work perfectly in the Macintosh and PC environments. In unix, the concept of soft and hard links goes way beyond the concept of Mac and PC aliases.

For the technically oriented, pedit04! and pedit32! fakes soft link to peditPro, and peditPro behaves like, for instance, vi in unix. Here is a part of our /bin directory which shows the edit, ex, vedit, vi, and view are, in fact, the same application.

  78088 -r-xr-xr-x   5 root       206948 Jan  5  2000 edit
  78088 -r-xr-xr-x   5 root       206948 Jan  5  2000 ex
  78088 -r-xr-xr-x   5 root       206948 Jan  5  2000 vedit
  78088 -r-xr-xr-x   5 root       206948 Jan  5  2000 vi
  78088 -r-xr-xr-x   5 root       206948 Jan  5  2000 view

Of course, here we have hard links, but they are functionally equivalent to soft links as in our /opt/local/bin

 150230 lrwxrwxrwx   1 root            5 May 19 12:37 ftp -> ncftp
 150224 -rwxr-xr-x   1 root       213588 May 31 07:55 ncftp

I hope that Palm will seriously consider the implementation of aliases and/or links in its upcoming OSs.

The installation of pedit04! and pedit32! is optional.

Deleting pedit04! and pedit32! is done via Palm's built-in deletion mechanism.

About pedit

Start out with our About pedit dialog which can be accessed from the Options menus in both ListView and EditView.

Among others, you will see the expiration date of your particular copy of pedit. Of course, if your pedit has already expired, then a clever dialog will inform you of your next moves prior to having a chance to see the About pedit box. Please explore the Credits, Abstract, and Register buttons, and please tap i in the upper right corner.

If you have a keyboard, then you can use the first letters of the buttons.

Please use this occasion to enter your pedit password via the Register button.

Once you invoke Register, just type your password as it was given to you. Make sure that you enter the right lower/upper case letters, and that you do not add additional space or tab characters.

Before you contact me that the password did not register, please make 100% sure that you are entering the password of your particular pedit into the correct pedit, and not into another pedit. It may sound incredible, but about 5% of the registered peditors try to enter their password into the wrong pedit.

As a registered user, you will get periodic [but not at all obnoxious] friendly reminders of the expiration date but panic no more since you will have the option of continuing using your copy of pedit even if it expired, and even if it became 100% obsolete, and even if it is full of bugs. Of course, if you were smart enough to register, then you are also smart enough to make sure that you always download the freshest and practically bug free version of pedit.

buttonPanels

Upon entering ListView or EditView you will see a row of buttons on the bottom of the screen. They constitute the ListView and EditView buttonPanels [© copyright Paul Nevai 1999-2002 & all rights reserved].

ListViewButtons separator EditViewButtons

Think of them as the instrument panel in your Palm's cockpit and that you are the pilot of your Palm.

As a default, the buttons are displayed in black. If you don't like it, then please go to the General Preference Panel and check the white buttons... box.

All buttons in the buttonPanels are tied to an ESC key to facilitate activation via keyboards.

I hope the buttonPanel concept will become standard in all Palm applications. Any interested party should contact me regarding licensing questions and the buttonPanel SDK.

editPanels

The editPanel [© copyright Paul Nevai 1999-2002 & all rights reserved]

editPanel

is a cluster of several buttons which allows access to the basic editing operations both by tapping the buttons on the screen or by using ESC keys.

For instance, "ESC c" copies the selected text, and "ESC g" brings up Graffiti Help.

Isn't it cool? I hope the editPanel will become standard in all Palm applications. Any interested party should contact me regarding licensing questions and the editPanel SDK.

pRotatorTool

The FIND SilkScreen button

Now let's talk for a little while about Palm's built-in FIND SilkScreen button and its interaction with pedit.

As you will see soon, I put a number of twists on the search process via Palm's built-in FIND SilkScreen button.

First, FIND can be invoked by typing "ESC F" [upper case "F"] in both ListView and EditView.

Second, FIND can find any string in your memos via pedit unlike via the built-in Memo Pad where it finds the beginnings of words only.

Third, whether you initiate the FIND process inside or outside pedit, you can add modifiers [options] to your search string to change the behavior of the search process of pedit memos.

These modifiers work whether or not you have FindHack installed in your Palm.

Effective with superFinderHack 1.21 and pedit 5.997, superFinderHack automatically disables pedit's "fancyFind" while it searches pedit so that you don't need to worry about anything. Hence, there is complete compatibility between superFinderHack and pedit. Just use superFinderHack's much more powerful searching capabilities.

In addition, effective with grepHack 1.21 and pedit 5.997, grepHack also automatically disables pedit's "fancyFind" while it searches pedit. Just use grepHack's much more powerful searching capabilities. There is one exception though. Namely, unlike superFinderHack, grepHack cannot tell pedit to search the current category.

NOTE. These modifiers will have no effect on your search of databases created by applications other than pedit. Simply put, they will not recognize these modifiers.

Here is how it works. You can add one or more of the modifiers

'@' ["at" sign or "commercial at"]

'.' [period]

'^' [caret]

'+' [plus sign]

':' [colon]

to the beginning of the search string [in an arbitrary order].

The "at" sign "@" means that your string will not be processed [successfully] by Memo Pad or any other application except for pedit so that you get no duplicate matches by both pedit and Memo Pad. By the way, there are some exceptions to this rule, so that if you happen find one, then please do not dump pedit. This option is not likely to influence the speed of your search.

The period "." means that the search in pedit is performed only in your current category. I borrowed "." from unix where it refers to the current directory [unlike in pattern matching where "." means exactly one character which is not a line terminator]. This option is likely to speed up your search.

The caret "^" means that the search in pedit is restricted to the first line of the memos. I borrowed "^" from pattern matching where it refers to the beginning [well, it's the beginning of a line and not that of a file, but it is still a good way to remember it]. This option is likely to speed up your search significantly.

By the way, many peditors like to refer to the first line of a memo as its title, so that you could say that "^" searches the table of contents.

The plus sign "+" means that the search in pedit is not case-blind, unlike the search in Memo Pad which always ignores cases. This option is likely to slow down your search significantly.

The colon ":" means that the search in pedit is no longer restricted to the beginnings of words as in Memo Pad, and partial words can be found as well. This option is likely to slow down your search significantly.

I want to emphasize that if you use either of the options "+" or ":", be prepared to be patient if you have many large memos.

Having pointed out the superiority of our implementation of "FIND" as opposed to Memo Pad, here are some examples:

"@^.pedit" finds in pedit but not in Memo Pad all memos in the current category which contain in their first line [the title] one of the words "pedit", "Pedit", "pEDit", and so forth.

On the other hand, "@+^.pediT" does the same for the word "pediT" but not for "pedit", "Pedit", and so forth.

If you don't care for these fancy FIND features and you wish you could turn them off so that the FIND button would regain its pre-pedit [lack of] functionality, worry no more! In fact, for the fancy mode to be active you need to turn it on by opening up the General Preference Panel, and by checking the fancy silk-screen "FIND" box.

Fourth, all pedits, except for peditLight, support REGEXP via the built-in FIND SilkScreen button, as long as the find process was initiated from inside pedit and the fancy silk-screen "FIND" box is checked [see the here]. Just start your search string with ")" [right parenthesis], and then your search will be via REGEXP in a case-blind mode.

EXAMPLE. ")pedit[^ ]*".

NOTE. If your pedit is running, and if you set the ")" magic greptivator [grep activator], then your other "fancy" options will be ignored.

NOTE. If you want to use REGEXP from outside pedit via the FIND SilkScreen button, then just install superFinderHack or grepHack. The magic activator option for grepHack is "R" [upper case "R" as in REGEXP].

NOTE. If you happen to have both peditPro and some other pedits installed on your Palm simultaneously, then FIND will search your memos only via peditPro. This is the case even if peditPro is dormant and another pedit is currently running.

Setting the Preferences

You can set pedit's preferences using either the Preferences command in EditView's Opt[ions] menu or the Preferences command in ListView's Options menu both of which take you to the pedit preferences dialog.

These two commands are the same and both invoke the same dialog. The only difference is that some of the options are available only if you invoke the dialog from ListView.

NOTE. Since pedit keeps evolving, the preference panels shown below may differ from the actual panels in your pedit.

NOTE. There is extensive on-line help available by pressing the "i-Tips" button in the "pedit preferences" dialog.

The "pedit preferences" dialog consists of several "panels" each of which can be invoked either by tapping on it by entering the first upper case letter of its label. The only exception is the myNotes push button which can be activated by "N".

All check boxes, buttons, push buttons, and so forth, can be activated by entering the first [case sensitive] letter of their labels.

Use the SPACE, TAB, left arrow, and right arrow keys to cycle through the push buttons,

Use the up arrow, down arrow, page up, page down, up repeating button, and down repeating button to scroll the text fields.

This is the General panel.

General Preferences

If the escape character is box is checked then the ESC key mechanism is activated, and the character following this check box is defined as your ESC character.

NOTE. If you want either SPACE or TAB to be the ESC character, then please enter "S" [upper case "S"] or "T" [upper case "T"], respectively.

NOTE. If the current ESC character is either SPACE or TAB, then it will not show up in the text field following the escape character is check box since it is invisible. However, you can highlight it, and then it becomes visible.

If create memos on top is checked and memo sorting is set to manual, then new memos are created at the top of the memo database. Otherwise, they are all created at the very end [unless they are alphabetically sorted].

If the fancy silk-screen "FIND" box is checked, then the search routine via the SilkScreen FIND button allows to use certain options as described here.

Regarding the save text in magiPad check box, please see magiPad for the details.

If the white buttons under memos box is checked, then the buttonPanels are displayed in white. Otherwise, they are black.

This is the EditView panel.

EditView Preferences

The allow double taps in the text check box and the Ticks between double taps text field are explained here.

If the cursor moves via 5-way button box is checked then the 5-way navigator button, if available, moves the cursor left/right/up/down.

NOTE. Due to the nature of the Palm OS, automatic capitalization only works in conjunction with text input via Graffiti. Neither the built-in virtual keyboard nor external keyboards are affected by it. In addition, the algorithm which decides whether or not to capitalize is not 100% foolproof.

If the enable statistics in title bar box is checked then the stats are enabled [see here for the details].

If the move cursor via btnSliding "J" box is checked, then left/right/up/down buttonSliding the "J" button moves the cursor left/right/up/down.

This is the ListView panel.

ListView Preferences

NOTE. The ListView panel is functional only if you invoked the "pedit preferences" dialog from ListView.

Selecting the alphabetic sort option makes pedit to sort all the memos in alphabetic order. Picking this option will overwrite the current sort order.

Selecting the manual sort option allows manual sorting of memos by dragging them up and down the list. To drag, first pen down on a memo, then drag it to the desired order, and, finally, lift up the pen.

The Edited/Visited memos move to top/move to bottom option allows reverse and forward chronological ordering of edited [changed] and visited [read] memos. Please see here for help on navigating the popped up list.

NOTE. The leftButtonSlided PopUp Font Trigger in EditView touches the current memo, that is, it pretends as if the memo were edited.

Selecting the new option means that if you enter a printable character while in ListView, then a new memo starts automatically whose first letter is the given character. This mimics Memo Pad's behavior.

Selecting the seek option means that if you enter a printable character while in ListView, then the table of contents scrolls to the first memo, after the currently shown top memo, whose title starts with the given character. The seeking process wraps around, that is, the search continues at the top once it has reached the bottom [see the related navigational commands here].

Selecting the direct [as in "direct action"] option means that you don't need to use the ESC key mechanism while in ListView. Instead, just entering the appropriate character activates your commands.

If the ! starts read only categories box is checked, then you can use readOnlyCategories. Please see the Lock|Unlock Memo command in EditView's Record #1 menu for the details.

This is the myNotes panel.

myNotes Preferences

If the category of myNotes is fixed box is unchecked, then 000.myNotes inherits the current category in ListView every time it is invoked via the myNotes button. Otherwise, the category 000.myNotes remains fixed.

If the date stamped myNotes box is checked, then 000.myNotes gets a new date'n'time stamp every time it is invoked via the myNotes button. The actual formatting of the date'n'time stamp uses the preferences set in the "Formats" Preference Panel.

If the top starting myNotes box is checked, then every new entry in 000.myNotes is placed in the beginning of the file as long as it was invoked via the myNotes button.

This is the Options panel.

Options Preferences

If the capitalization is automatic box is checked then each sentence will automatically start with a capital [upper case] letter.

If the ignore case during search box is checked then all text search and/or replace operations are case blind [case insensitive]. Please see herefor more details.

The linefeed is considered invisible option is used by the visibilator. Please see the Visibilator command in EditView's Edit+ menu for more details.

If the search is "wrap around" box is checked then all text search and/or replace operations continue at the beginning [top] once they reached the end [bottom] except for the "All R" [Replace All] command which stops at the end. Please see here for more details.

If the words are "Forth style" box is checked then all text search, replace, jump, and selection operations use a special definition of words. Please see here, here, and here for more details.

In addition...

This is the Modes panel.

Mode Preferences

For left-handed users, the scroll bars are positioned on the left-hand side of the screen, whereas for right-handed users, the scroll bars are positioned on the right-hand side of the screen.

WARNING.Unless you know what you are doing, you should always stay in normalMode.

You can turn on either the advancedMode, or the expertMode, or the normalMode by selecting the appropriate push button.

If one of your pScripts left a dangling globalMacroMode, then you can get rid of it by using the turn off globalMacroMode button which is only visible when appropriate.

NOTE. All the modes are sticky which survive quitting and relaunching pedit.

NOTE. If you are in the advancedMode or expertMode which happened to suppress the display of a dialog, then you should use Graffiti ShortCuts with extreme care. Neither I nor pedit accepts any responsibilities for any unexpected behavior. However, it would be very considerate of you if you reported such events to the peditors Forum.

NOTE. I must admit that, although I tried very hard to mess up pedit with Graffiti ShortCuts in both advancedMode and expertMode, pedit resisted all my attempts. However, I am sure that most advanced and/or expert peditors are much more ingenious than I am, and I have no doubts that they will succeed where I failed.

NOTE. I started implementing advancedMode and expertMode on April 7, 2001, and you will be able to find out what they accomplish by searching this manual for the expressions "expertMode" or "advancedMode", and "(advanced || expert)" or "(advanced && expert)". Since you are an advanced and/or expert peditor, I am sure that you do not want me to provide lengthy explanations. Please let me know if you find them too terse.

Batch Processing of Memos

The memo batch processor allows you to edit all or some of your memos in one fell swoop using commands which you collect in designated pScripts. Only your imagination sets limits to what can be accomplished with this tool.

NOTE. The initial implementation of the memo batch processor was introduced in version 6.28. The final version will have a truly sophisticated user interface with numerous options. However, in order to make sure that it will work properly, the initial version comes with no options and no user interface whatsoever. Once it had been fully tested and I had feedback from more than just a handful of peditors, I will add the fancy stuff to it.

WARNING. Batch processing is a powerful weapon and it must be used with extreme care. Among others, it allows you to screw up all your memos as fast as you can say "pedit" [well, depending on the number of memos you have, it may take a little longer].

You can activate the batch processor via the Batch Processor commands in the Options menu in ListView [here] and in the Opt[ions] menu in EditView [here].

NOTE. Temporarily, ESC % [percent] also activates the batch processor. However, this option may be removed from the final version since I view batch processing a "hazardous" activity requiring full attention of the operator. Of course, if you have no "defaultBatchScript" [see below], then you are in no danger of acidentally running amok with your pedit.

Batch processing is subject to the following rules.

Please let me know how it works. Have fun...

ListView

If you are in EditView, then you can enter ListView by pressing the "OK" button, or by using the "OK" & ".C" buttons" command in the Navigate menu.

What you see is your pedit's table of contents. Many peditors will refer to what you see as the titles of your memos.

I beg to differ. What you see is [a perhaps abbreviated version of] the first line of your memo. As a matter of fact, there is no such concept as the title of a memo in the Palm universe. Although some memo editors do create titles, these title are stored separately from the memo database, and, therefore, extra bookkeeping is required which can slow down ListView's startup significantly.

Nevertheless, for the lack of better terminology, I will refer to what you see as the title of your memo.

Once you graduate to segmented memos, you will realize that ListView makes a smart decision when displaying titles of such memos. I have no doubts that you will appreciate pedit's native intelligence.

As soon as you enter ListView, please visit the Preferences dialog which is located in the Options menu.

Navigating ListView

In addition to ListView's Navigate Menu, you have a number of other ways of exploring it.

As expected, the page up and page down buttons help you to navigate in ListView.

In addition, please memorize this table and you will no longer have any problems in finding the memo you are looking for.

page up = up arrow = scroll one page up

left arrow = scroll one one line up

page down = down arrow = scroll one page down

right arrow = scroll one one line down

space = select the next memo title

backspace = select the previous memo title

carriage return = open the memo whose title is currently selected

NOTE. The memo title selection process wraps around in the sense that the selection continues at the top once it reached the bottom of the screen if it was invoked with space, and it goes the opposite direction if it was invoked with backspace.

NOTE. If no memo title is currently selected, then both space and backspace select the top title shown on the screen.

NOTE. Please do not forget to study the effects of the seek option.

Please look up in your Graffiti reference how to enter the left arrow and right arrow characters. Basically, they consist of a left-right or a right-left job.

Please see the definition of memo titles here.

For additional tricks, please see the information about the SilkScreen FIND button.

Let us discuss the menus in ListView now.

ListView's Record Menu

New Memo

This command creates a new memo.

Open Memo

This command is just a way to get out of the batcher modes which are defined as the Preview Memo, Delete Memo, Categorize Memo, Privatize Memo, Beam Memo, and Print Memo commands.

Go to Memo

This is the same as the Go to Memo menu command in EditView's Record #1 Menu.

This pops up a dialog where you can enter either the index or some text of a memo you want to open.

Go to Memo

NOTE. If you are in the expertMode, then this dialog will not show up at all except for its title, although you can enter your commands as usual.

It also has more options than you will ever need.

You can use the following shortcuts.

NOTE. When using the "Begin Search at Current Memo" option, then the actual search starts right after the current memo.

NOTE. The memo text search can be interrupted by tapping, or by typing ".", or by a page up/down or 5-way up/down press, depending on the particular Palm Powered handheld.

NOTE. Masked secret memos are never found by text matching unless no password has been assigned. Otherwise, this would be a security breach.

NOTE. Many of the options have been disabled in peditLight.

NOTE. This command can also be invoked via the upButtonSlided "New" button in ListView's buttonPanel.

NOTE. This command has expert mode.

The Batcher Modes

Preview Memo, Delete Memo, Categorize Memo, Privatize Memo, Beam Memo, and Print Memo commands share the same underlying interface.

Namely, they all look like the regular ListView on the surface, but when you are in one of the batcher modes and if you hit the title of the memo then you are placed into a special dialog where on one hand you can preview the current memo and perform certain operations, and on the other hand, you can navigate between memos via the arrows and/or the page up|down key and/or via keyboard action.

Please look at the tips in the dialogs which can be invoked via the "i" button in the upper right corner of the screen or by entering one of the letters "h", "H", "?", "i", and "I".

For your convenience, the title of the batcher dialogs shows the size of the current memo.

Navigation in the Batchers

The "<=" button = "p" or "P" or "SPACE" characters = left or up arrow keys on keyboard = scroll up hard key = preview previous memo in current category

The "=>" button = "n" or "N" or "BACKSPACE" characters = right or down arrow keys on keyboard = scroll down hard key = preview next memo in current category

Typing ENTER results in the same action applied to the currently selected memo as if tapping on a memo title.

NOTE. When privatizing or printing then "p" and "P" are used for [de]privatizing or printing so that use "b" and "B" instead for switching to the previous memo.

Preview Memo

In this mode, tapping on the title of the memo pops up the memo previewer dialog from which you can easily decide which memo to open up.

Delete Memo

In this mode, tapping on the title of the memo pops up the memo deleter dialog where you can decide whether or not to delete the selected memo and its sister segments as well.

When deleting memos, the save archive copy on PC option will store deleted memos in an archive file on your DeskTop at the next HotSync operation.

NOTE. In pedit32 archiving of records is not implemented and it is not necessary since there is no DeskTop conduit associated with it.

Categorize Memo

Strictly speaking, this is not a batcher operation since there is no batcher dialog associated with it. Nevertheless, it also allows a batch job on changing the categories of your memos. When in this mode, then tapping on the title of the memo makes the category list drop down, and thereby you can do quick change of category without the need of opening up the memo whose category is being changed.

Move Memo to Top

This is not a formal batcher operation either. In this mode, tapping on the title of the memo puts moves to the top in its own category. Of course, this works only if the memo sort order is manual [see the manual sort option in the ListView Preference Panel].

Privatize Memo

In this mode, tapping on the title of the memo pops up the memo privatizer dialog where one can decide whether or not to change the private property of the selected memo and its sister segments as well.

NOTE. A private memo can be seen and edited only when your Palm is set to show private records. The latter can be set from the Security item in ListView's Options menu, or via Palm's built-in Security application.

NOTE. If your Palm's OS is at least 3.5, then you have a third option. Namely, in addition to hiding and showing private records, you can also mask them so that they will show up in ListView but you will not be able to peek at them unless you enter your Palm password.

NOTE. The concept of private records is useful only if your Palm's password has been assigned. The latter can be set from the Password item in ListView's Options menu, or via Palm's built-in "Security" application.

NOTE. I should point it out to you that Palm's security is not something I would count on. I will probably not break news if I tell you that any hacker worth her salt would find any of your hidden records in a jiffy as long as your Palm is turned on and is unlocked. Depending on the circumstances, you can think of this as good news since forgetting your password is no big deal as long as you do not lock your Palm when you turn it off.

Beam Memo

In this mode, tapping on the title of the memo pops up the memo beamer dialog where one can decide whether or not to beam the selected memo and its sister segments as well.

NOTE. All beaming operations require that both the beaming and the beamee Palm have the same type of pedit installed.

Of course, if you want to beam a 4k memo, you can always use Palm's built-in Memo Pad.

Print Memo

If you have Stevens Creek Software's PalmPrint, or TealPoint's TealPrint installed in your Palm, then pedit provides a number of customizable ways of printing your memos and/or parts of it to any device which is supported by your print software.

In the Print Memo mode tapping on the title of the memo pops up the memo print dialog where one can decide whether or not to print the selected memo and its sister segments as well.

You can also decide whether the headers of segmented memos should be printed.

In addition, the number of copies to be printed can be determined by entering any number between 1 and 9. You can enter the number either via Graffiti or an external keyboard, but not by using the built-in virtual keyboard.

Beam Category

As opposed to Beam Memo, this command allows you to beam an entire category of memos to another Palm in one fell swoop. When selected then all memos in ListView's currently visible category get beamed. If ListView shows all categories, then all memos get beamed.

NOTE. All beaming operations require that both the beamer and the beamee Palm have the same type of pedit installed.

Export Category

Exporting provides a means to communicate between your pedit and its sister pedit. You can move memos back and forth with minimal effort.

The analogous Export Memo command in EditView's Record #1 menu also allows to export your memos to DOC files.

Although the Export Category command is pretty much self explanatory, it is worthwhile to summarize it.

First, this command allows exporting either all memos which are in ListView's currently displayed category or all your memos in one fell swoop from one pedit to its sister pedit.

There are only two exceptions to this rule.

Well, there are two more exceptions. Namely, the sister pedit's memo database must be installed, and sufficient free RAM real estate must be available for performing the export operation.

NOTE. If a pedit32 memo is segmented but it consists of one single segment only, then you can delete its segment header so that it would become exportable from pedit32 to pedit. However, you will loose the information which was kept in the segment header.

In order to be able to manage both pedit and pedit32 simultaneously, and in order to keep pedit32 memos apart from pedit04 memos, please keep the export segmented memos only box checked all the time when exporting from pedit to pedit32. This way your regular pedit04 memos will never end up in pedit32.

If you choose to delete exported memos and if you are in pedit04, then the $ave archive copy on your PC option will store deleted memos in an archive file on your DeskTop at the next HotSync operation.

Exporting is as smart as it [or, should I say, yours truly] could be. In particular, it will place the exported memo in the same category where it resided originally. If that category name does not yet exists in the sister pedit and if the will clone category names too box is checked, then it will create one. If the sister pedit has no vacancies for new category names, then the exported memo will go into the Unfiled category.

If a memo is segmented, then exporting it from pedit to pedit32 will assemble your memo and its sister segments into one pedit32 memo.

A pedit32 memo will turn into a segmented memo in pedit04 after an export operation unless your memo is less than 4K and you check the no segmenting if less than 4K box.

Each segment will fill up only 75% of pedit's 4K capacity so that you will have plenty of capacity available for changes and further additions.

NOTE. I should point out that the exported memos get deleted from pedit only after the export operation went flawlessly so that your precious data are as safe as possible.

Here is a neat hint for you. If you want that all of your memos show up in your DeskTop Palm application, then do an export job of all of your pedit32 memos, then HotSync, then work on your memos on your DeskTop, then HotSync again, then export all your segmented memos from pedit04 back to pedit32. Just make sure that you always choose to delete your exported memos. Otherwise, you may end up with multiple copies.

NOTE. The "Please create MemoDB/Memo32DB first..." message means that you have never been in the pedit04/pedit32 mode yet. Go to ListView and use the Switch command in the Navigate menu or tap in the left 1/8th of the title bar, to the left from the small pixel visible just under the title bar.

Import Doc File

Importing DOC files provides a means to move your pedit memos from the DeskTop to pedit with minimal effort. Using DOC files is especially recommended if your pedit memo, together with its sister segments, is longer than 4K so that using the standard route via your DeskTop Palm application becomes cumbersome since it was not designed the handle large memos.

The command Export Memo in EditView's Record #1 menu allows you to export your memos to DOC files.

Although the Import Doc File command is pretty much self explanatory, it is worthwhile to summarize it.

Invoking Import Doc File takes you to magiPad where all your installed DOC [including TealDoc] files are listed.

Once you familiarize yourself with EditView, you will be able to navigate here using all the powerful tools in it.

The list tells you the title of your DOC files [with the memory card number and the uncompressed size listed as well].

You can think of a card as a hard drive. We can all foresee the near future when we will have dozens of cards sitting in our Palm computing devices providing zillions of bytes of available memory. Although no two different Palm files sitting on the same card can have the same name, files on different cards do not need to have uniquely defined names. Therefore, it is essential to know which card is the host of your file to be able to identify it uniquely.

It is interesting to note that many Palm aplications ignore this fact and, unlike pedit, they are hardcoded to use card #0 no matter what. As of July 11, 2000, all Palms have one built-in card only.

If you see an exclamation mark "!" before the title of a DOC file, it means that the file is read-only and it cannot be deleted after you complete the import operation.

Tapping on the title of a DOC file pops up the pedit import dialog which is also self-explanatory except perhaps for the no segmenting if fits one memo check box.

If you choose the no segmenting if fits one memo option then your pedit will try to place the DOC file into one memo. Otherwise, it will break the file up into segments where each segment will occupy roughly speaking 75% of the maximum available memo size. This way you will have plenty of real estate left for editing your memos.

If you choose the no segmenting if fits one memo option, then you can also decide if you want to forgo adding a segment header to the imported DOC file by setting the add no header if fits one memo check box.

After you initiate the import operation you can sit back and relax. Depending on the size of your DOC file, the operation may take longer than you wish it did. For instance, a 1Mb DOC file import job on my Palm Vx takes about 60 secs.

Depending on your DOC file, you may end up being confronted by another dialog starting with "Hmm...". If you ever see it, I have no doubts that you will know what to do.

In case you end up never seeing this dialog, here is what it says: I believe that this file uses a unix [DOS] style end-of-line notation. Would you like me to convert it to the one used by the Palm OS?

ListView's Options Menu

Font

This command allows you to change the display font in ListView.

If Hands High Software's FontBucket is installed, then pedit automatically lists all your FontBucket fonts. Please see FontBucket's web page for a large collection of fonts.

Batch Processor

This command is the same as the Batch Processor command in EditView's Opt[ions] menu. Please see here for the details.

Security

This command allows you to Show and Hide your private memos on the fly. If you use OS 3.5+ then you will also have yet another option which allows you to mask off your private records without removing them from ListView.

Palm's built-in Security application can also accomplish the same task.

Use the editPanel while entering your Palm password.

Password

This command allows you to change and/or delete your Palm password on the fly provided that you are a registered user of pedit and you know your pedit password.

Use the editPanel while entering your passwords.

Clear History

If you edited any of your memos with a program other than this particular pedit, whether on the Palm or on the DeskTop, it may be a good idea to clear the history of recently visited memos since pedit keeps track of information which may have been altered by the other programs such as cursor position and so forth. If you fail to clear your pedit's history, you may face unpredictable consequences such as incorrectly selected text or even a crash now and then.

If you experience a crash which you think may be related to your pedit's history file, and if you are unable to start up pedit after the crash then use peditFixer which can do the same Clear History job and more...

For the technically inclined, the history of pedit04 and pedit32 memos is kept in the Palm database called MemoHIST and Memo32HIST, respectively.

Clear Preferences

If you edited any of your memos with a program other than this particular pedit, whether on the Palm or on the DeskTop, it may be a good idea to clear pedit's preferences since they keep track of information which may have been altered by the other programs such as cursor position and so forth. If you fail clear your pedit's preferences, you may face unpredictable consequences such as incorrectly selected text or even a crash now and then.

If you experience a crash which you think may be related to your pedit's preferences, and if you are unable to start up pedit after the crash then use peditFixer which can do the same Clear Preferences job and more...

Clear Deleted Records

Regarding this command I note that you want to use it only if you do not use a DeskTop conduit for your pedit04 memos. If you do then the conduit takes care of removing the footprints of your deleted pedit04 memos.

Otherwise, these footprints keep accumulating in your database, and it is a good spring house-cleaning practice to remove them periodically.

Please note that Clear Deleted Records has no effect on pedit32 memos since there is no DeskTop conduit associated with them, and, therefore, whenever you delete a pedit32 memo, it's gone for good.

Total Cleaner Upper

This command operates on peditPro only it performs duties similar to peditFixer [see troubleshooting].

Tuner Upper

This command bring us the pedit tuner upper dialog which is an invaluable aid for serious users of pScripts and REGEXP.

If you are unfamiliar with these two notions, then you probably will never need to use this command.

First, this command allows you to customize the key-event-queue-size which, of course, can also be achieved by the appropriate pFunction.

If you want to increase the current key-event-queue-size, then use the Boost KeyEventQueue Size button, which adds to the current key-event-queue-size the number which you entered into the text field next to the button.

The number you see next to the Boost KeyEventQueue Size button is the difference between the current and the default values of the key-event-queue-size. The default value is usually 55.

If you want to go back to the default key-event-queue-size, then you can either use the Set Default KeyEventQueue Size button, or just use the Soft Reset - Reboot button, which does a paper clip reset on your Palm.

A soft reset is considered a safe procedure which should not harm your data at all [as opposed to a hard-reset which wipes out the contents of all your RAM]. I recommend doing a soft reset on a regular basis, say, once a week.

NOTE. You need to use the Boost KeyEventQueue Size button after every soft, warm, and hard reset of your Palm, since all such operations reset the key-event-queue-size to its default value.

NOTE. Palm OS 5+ no longer supports the "Boost KeyEventQueue Size" command since the Palm OS function "EvtSetKeyQueuePtr()" stopped being supported.

Similarly, if you want to increase the current stack, then use the Boost Stack Size button, which adds to the current stack size the number which you entered into the text field next to the button.

The number you see next to the Boost Stack Size button is the difference between the current and the default values of the stack size. The default value is 8192 [0x2000] plus a couple of hundred of overhead.

NOTE. Just to be on the safe side, pedit will not allow you to set the stack size to anything greater than 32768 [0x8000] although, in principle, the stack size could be almost twice as large. If you pick a larger number, then the stack size will be set to 32768. In addition, the stack size must be an even number, but you don't need to worry about it since pedit will evenate [sic!] your number anyway.

If you are an expert, then you can examine [and edit?] the 'pref' #0 resource in pedit using RsrcEdit which contains the default stack size value. Read here for the details of what a 'pref' #0 resource is.

WARNING. As the most recent POSE reveals, RsrcEdit 1.017b is full of memory leaks [bugs] which may cause serious problems. Hence, it is prudent to use utmost care when playing with RsrcEdit.

If you want to go back to the default stack size, then you can use the Set Default Stack Size button.

NOTE. If you change the stack size, then your pedit will be relaunched so that the new stack size could take effect immediately.

WARNING. If you change the stack size, then your pedit application gets modified. Therefore, you will need to change the stack size every time you install a new version of pedit. In addition, you should set your stack size prior to moving pedit into a read-only memory such as the flash ROM or a CompactFlash card.

NOTE. There is no built-in keyboard support in the pedit tuner upper dialog. This was a deliberate design choice. If you use this dialog so frequently that you miss the keyboard support, then you must be doing something I could not have foreseen.

QUESTION. Why would I want to change the key-event-queue-size?

ANSWER. Because your pScripts are longer than the built-in 55 character limit.

QUESTION. Why would I want to change the stack size?

ANSWER. Because your REGEXPs tend to be long and/or complicated, and you have experienced either a crash or an unexpected termination while searching text.

QUESTION. What is a stack anyway?

ANSWER. Excellent question. First, "officially" it is called "application stack space". Second, you could start, for instance, with the manual of TealMemBrain, and then move to here or here. In short, it is a small portion of your regular RAM where many of the peditorial computations take place. As it turns out, pedit does a great memory optimization job with the exception of possibly two cases. Namely, when working with long and/or complicated REGEXPs, or when importing very-very-very long DOC files. In fact, these DOC files need to be so long that you would not even have enough memory to store them anyway so that we can ignore the latter. The Encyclopedia Britannica would be a good candidate for crashing pedit when importing it into a memo.

QUESTION. What are the absolutely-positively-definitely safe ranges for the key-event-queue-size and the stack size?

ANSWER. This is another excellent question. In short, I don't know. It depends on several factors such as your hardware, your OS, and the stuff on your Palm. I would say that adding a couple of hundred to the key-event-queue-size may not hurt. Some peditors and LapTopHackers have even used low 4 digit boosts. As far as the stack size goes, this has not been explored yet. You may want to try a couple of thousands first before moving to the very low 5 digits. You may want to read portions of the manual of TealMemBrain which can help you too when making these quintessential decisions.

QUESTION. SOS! After I changed the stack size, something must have gone wrong since I can't launch pedit anymore. What should I do?

ANSWER. Just re-install a fresh copy of [the latest version of] pedit.

System Info

This command does precisely what it promises. Among others, it gives the exact time and yields quintessential information about the battery status.

The battery info may be refreshed by entering the letter "r". With enough patience, one can watch the voltage tank go from full to empty. With a rechargeable Palm device, one can also play with the cradle and refreshing the display after each movement.

I will spare the reader from the details of the game.

Preferences

This command brings up the pedit preferences dialog. Please see here for the details.

About pedit

This command is explained here.

ListView's Navigate Menu

Visit Top

This is self-explanatory, isn't it? It takes you to the top of ListView.

Jump to

This command allows you to jump to memos very quckly in ListView. You enter a number between 0 and 99, and upon activating the OK button, you will be taken to that area of ListView which corresponds the entered number interpreted as a percentage of the total number of currently displayed memos.

You can use the following shortcuts.

. = the ".Cancel" button

g = G = ENTER = the "Go" button

f = first memo

l = last memo

page up key = up arrow = increase the index

page down key = down arrow = decrease the index

Visit Bottom

This is self-explanatory, isn't it? It takes you to the bottom of ListView.

Script

Please see the section about pScripting pedit for details on this command.

As a convenient shortcut, "ESC Z" turns globalMacroMode on and then invokes a silent version of this command.

Find

This command pops up Palm's built-in SilkScreen "FIND" dialog.

I provided this command for keyboard users.

scriptPad

This command is described here.

magiPad

This command is described here.

Recent

This command takes you to magiPad where all your recently visited files are listed in reverse chronological order.

Once you familiarize yourself with EditView, you will be able to navigate here using all the powerful tools in it.

This command is the same as the Memo Switcher [">"] button in EditView's buttonPanel.

pedit keeps track of the last 30 or so memos you have visited since you last cleared pedit's history.

Tapping on any of the memo titles, pedit transfers you to the selected memo instantaneously.

Please see the Memo Switcher for more details.

The Memo Switcher can also be activated by "ESC 0" [zero] or by "ESC >" from EditView and by "ESC r" [lower case "r"] or by "ESC >" from ListView.

As a related and very convenient shortcut, if you enter "ESC }" in ListView then you are immediately taken to the memo which you visited most recently.

Switch

This command is functional on peditPro only. It switches between pedit04 memos and pedit32 memos.

Please note that there is an even easier way to invoke Switch. Namely, tap in the left 1/8th of ListView's title bar, to the left from the small pixel visible just under the title bar.

ListView's buttonPanel

ListViewButtons

The "New" Button

You start a new memo by tapping on the New button.

This command is the same as the New Memo command in ListView's Record #1 menu.

You can also start a new memo by simply entering any printable letter which becomes the first letter of your new memo.

The upButtonSlided "New" Button

This command is the same as the Go to Memo menu command in ListView's Record #1 Menu.

The "myNotes" Button

In addition, ListView displays the myNotes button which takes you immediately to a memo called 000.myNotes. If such a memo doesn't exist yet, then it will be created upon tapping on the myNotes button. Once inside 000.myNotes", you can add quick notes to it.

Please keep in mind that peditPro has two modes, and the those two modes operate independently of each other. Therefore, you have two separate 000.myNotes". One in pedit04 mode and one in pedit32 mode.

The variety of uses of myNotes is limited only by the peditor's imagination. I use it for making quick reminders on how to improve pedit, for jotting down some really deep thoughts which come to my mind, and for keeping track of important world events such as how many Ann Landers messages deal with the quintessential toilet tissue in or out problem.

A great feature of myNotes is an optional date'n'time stamp which can be configured through the myNotes Preference Panel. The actual formatting of the date'n'time stamp uses the preferences set in the "Formats" Preference Panel.

You can also decide in the myNotes Preference Panel whether you want your new entry added to the top or to the bottom of your 000.myNotes".

If your 000.myNotes gets filled up, simply rename it, say 001.myNotes, and then the game starts all over again.

NOTE. If you have an optional user defined startup pScript of the form "{.myNotesrc::whatever}", then it gets executed every time you enter 000.myNotes via the myNotes button.

EXAMPLE. If you put "{.myNotesrc::Paul Nevai is the coolest Palm guru...}" into your scriptPad then every time you hit the 000.myNotes button, you will end up with a true [but space-challenged] statement.

You can find many more albeit perhaps less truthful [but more useful] examples at the peditors Forum [see here].

WARNING. Do not even think of "{.myNotesrc::Paul Nevai is a pain in the butt...}" since pedit has been programmed to recognize such derogatory statements in a variety of languages, and then you may end up loosing your pedit license for life.

EXAMPLE. If you disable myNotes's optional date'n'time stamp, and if you put "{.myNotesrc::[/ED, /xs /dM///dD///dY]/0x0A}" into your scriptPad, then can you guess what you will have every time you visit myNotes?

HINT. Try it.

NOTE The startup pScripts are disabled when you enter 000.myNotes via the myNotes button.

NOTE You can activate myNotes with "ESC N" and not with "ESC m" since the latter is reserved for magiPad.

NOTE myNotes is the same as EditView's "N" button.

The "Export" Button

This button is the same as the Export Category command in ListView's Record menu. Another way of accessing it is via the "ESC e" command.

The "Docs" Button

This button is the same as the Import Doc File command in ListView's Record menu. Another way of accessing it is via the "ESC i" command.

The directionally buttonSlided "Docs" Button

upButtonSliding it is the same as the magiPad command in ListView's Navigate menu.

The "Recent" Button

This button is the same as the Recent command in ListView's Navigate menu.

This command can also be activated by "ESC 0" [zero] or by "ESC >" from EditView and by "ESC r" [lower case "r"] or by "ESC >" from ListView.

The directionally buttonSlided "Recent" Button

This button can be leftButtonSlided and upButtonSlided resulting in two different but closely related commands.

leftButtonSliding it is the same as the Script command in ListView's Navigate menu.

upButtonSliding it is the same as the scriptPad command in ListView's Navigate menu.

EditView

When entering a memo from ListView, you will notice that the cursor is located at the beginning of your memo so that it is visible as opposed to Memo Pad where it is always blinking at the end, and, therefore, it is invisible much of the time.

I have removed Memo Pad's "feature" that the page up and page down buttons move to the previous and the next memo, respectively. I personally found this "feature" quite annoying but who am I to judge? Whether this was annoying or not, the issue is moot since these buttons have been assigned new roles which is explained here and here.

I have also added a useful feature that the characteristics of a particular memo such as cursor position, text selection, and scroll bar position are preserved when switching back and forth between pedit and other applications [why didn't they think of this?].

As soon as you enter EditView, please visit the Preferences dialog which is located in the Opt[ions] menu.

instantHelp

Let us discuss a new concept which I named instantHelp [© copyright Paul Nevai 1999-2002 & all rights reserved].

Use EditView's ? button or "ESC ?" to invoke instantHelp.

instantHelp

Once instantHelp is active, tap any button for an explanation of its function. Tapping "ESC ?" again terminates instantHelp and you are back to regular EditView.

Tapping anywhere while an instantHelp message is displayed, terminates the message. Therefore, you don't need to wait until the countdown in the title bar reaches 0.

I hope the concept of instantHelp will become standard in all Palm applications. Any interested party should contact me regarding licensing questions and the instantHelp SDK.

Navigating EditView

Here is a short summary of the appropriate navigation commands in EditView

page up = ESC up arrow = ESC backspace = page up

buttonShifted page up = ESC left arrow = one line up

page down = ESC down arrow = ESC space = page down

buttonShifted page down = ESC right arrow = one line down

and within your memo use these shortcuts

jump to the beginning of current word = "ESC j b w" = "ESC s w left arrow" = "ESC W left arrow"

jump to the end of current word = "ESC j f w" = "ESC s w right arrow" = "ESC W right arrow"

jump to the beginning of current sentence = "ESC j b z" = "ESC s z left arrow"

jump to the end of current sentence = "ESC j f z" = "ESC s z right arrow"

jump to the beginning of current screenLine = "ESC A" = "ESC j b s"

jump to the end of current screenLine = "ESC E" = "ESC j f S"

jump to the beginning of current line = "ESC j b l" = "ESC s l left arrow"

jump to the end of current line = "ESC j f l" = "ESC s l right arrow"

jump to the beginning of current paragraph = "ESC j b l" = "ESC s l left arrow"

jump to the end of current paragraph = "ESC j b p" = "ESC s p right arrow"

Please look up in your Graffiti reference how to enter the left arrow and right arrow characters. Basically, they consist of a left-right or a right-left job.

Please note that buttonShifted page up and buttonShifted page down are sticky, that is, until the next buttonShift, they do not change their currently assigned behavior unless you quit EditView. Isn't this cool?

For other methods of jumping from one place to another, please see the Jump to command in EditView's Navigate menu or the "J" button in EditView's buttonPanel.

In addition, you can find some useful navigational macros here too.

buttonShifts

Let me speak for a moment of a revolutionary concept which I named buttonShift [© copyright Paul Nevai 1999-2002 & all rights reserved]. Using buttonShifts, some of the buttons in the buttonPanel can perform double duty roles. The way it works is as follows.

The bottom right corner area of the EditView screen, where the Graffiti shift indicator resides, just right to the buttonPanel, is the sweet spot for initiating a buttonShift.

NOTE. If your Palm OS supports the Graffiti 2 engine, then the above "sweet spot" is relocated just to the right of the "H" button so that it would not interfere with the Graffiti 2 enabler little bluish square.

Once you tap there, a black rectangle shows up for a short period of time, and then a 2*2 pixel sized tiny black square indicates that buttonShift is on. You will see that a number of buttons will get inverted and remain inverted for approximately 2.5 seconds. Congratulations. You have just performed a buttonShift.

buttonShift

If you don't press a button for which the buttonShift is functional for 2.5 seconds or you perform an unrelated action, then the buttonShift gets deactivated until you activate it again. However, if you do press a buttonShift friendly button, then, as explained at the appropriate button descriptions, the action associated with that particular button will correspond to the shifted state.

Please note that once buttonShifted, the page up and page down hard keys are sticky.

I hope the concept of buttonShifts will become standard in all Palm applications. Any interested party should contact me regarding licensing questions and the buttonShift SDK.

buttonSlides

The peditorial buttonShifts received a new interface in LapTopHack via buttonSlides.

I wish I could say that I am the inventor of this powerful idea, but, alas, I am not. In fact, I stole it from Jean Ichbiah of the ADA programming language fame [with his kind permission] who uses a similar but not identical concept in his Fitaly family of virtual keyboards.

buttonSlides are nothing but pen strokes generating a ctlExitEvent which is a rather rarely used event in the Palm universe.

In laymans terms, you create a buttonSlide by

  1. Press a button with your stylus so that it gets selected.
  2. Without lifting up your stylus move it outside the boundaries of the button.
  3. Now lift up your stylus.
  4. Congratulations, you just slided the button.

EXAMPLE. The "K" and "M" buttons in EditView's buttonPanel are slidable.

Once you mastered the concept of buttonSlides, the next step is to learn about directional buttonSlides, such as leftButtonSlides, rightButtonSlides, upButtonSlides, and downButtonSlides.

For instance, you create a leftButtonSlide by

  1. Press a button with your stylus so that it gets selected.
  2. Without lifting up your stylus move it to the outside of the button by going to the left by at least 5 pixels from the left boundary of the button.
  3. Now lift up your stylus.
  4. Congratulations, you just left-slided the button.

EXAMPLE. The "C" button in EditView's buttonPanel is left-slidable, right-slidable, and up-slidable.

I hope the concept of buttonSlides will become standard in all Palm applications. Any interested party should contact me regarding licensing questions and the buttonSlide SDK.

doubleTaps

The pedit preferences dialog allows you to activate doubleTaps and to determine the time period during which the doubleTap indicator remains activated after the first leg of a doubleTap [100 ticks are equal to 1 second].

If doubleTaps are allowed, then, after each tap on a portion of the text, a small indicator shows up right above the scroll bar, and, while this indicator is active, a second tap activates the Select command in EditView's Opt[ions] menu with the location of the taps properly filled in.

If you have MagicText installed in your Palm, then you can avoid undesired tap conflicts by performing the second tap sufficiently far away from the first one so that MagicText would not process it, and, therefore, pedit can take care of the double tap. In the latter case, you should study the ins and outs of MagicText so that you would know precisely if and when MagicText hijacks doubleTaps.

The Titlebar Statistics

The displayable statistics is a summary of the state of your memo's capacity, the total number of bytes, the current cursor location, the coordinates of the current selection, if any, and the location of the cursor within the current line. The stats are displayed in EditView's title bar.

Here is an example:

Stats

means that 8% of your memo's capacity is filled, there are 346 bytes in your memo, the text between bytes 104 and 109 is selected, and the cursor is at position 4 in the current line.

As long as you have enabled the statistics by checking the enable statistics in title bar box in the pedit preferences dialog, the statistics can be toggled via the Stats on|off command in EditView's Opt[ions] menu, or, even better, by tapping in the left 1/8th of the title bar [to the left from the small pixel visible just under the title bar].

While in magiPad, the statistics are always displayed, and, therefore, the above described pixel is invisible.

If there are more than 10,000 bytes in your memo [which only happens in pedit32] then pedit is running out of real estate in the title bar, and, therefore, the capacity information is omitted.

Maybe I should explain that if there is no current text selection, then both the beginning and the end of the selection are defined as the coordinate of the current cursor position.

If the statistics are hidden, then pedit looks like the good old Memo Pad so that, for instance, the current memo's category can be changed directly via the category trigger in the title bar [in addition to EditView's "D" button].

By the way, pedit is 100% MenuHack friendly. MenuHack users should tap the title area to the right from the above mentioned pixel. The same goes for the built-in MenuHack support in OS 3.5 and up.

As an experienced Palm operator, you know that both MenuHack and OS 3.5+ allow you to access the menu bar by tapping on the title of your memo, don't you?

Startup pScripts

If you have an optional user defined startup pScript of the form "{.peditrc::whatever}", then it gets executed every time whenever either an already existing regular memo is opened up directly from ListView or when launching pedit and it goes directly into EditView.

In addition, if you have an optional user defined startup pScript of the form "{.peditrc04::whatever 04}", then it also gets executed after "{.peditrc::whatever}" if the latter exists and if you are in the pedit04 mode. If "{.peditrc::whatever}" does not exist, then "{.peditrc04::whatever 04}" gets executed instead of the former.

The user defined optional startup pScript of the form "{.peditrc32::whatever 32}" works similarly to "{.peditrc04::whatever 04}" in the pedit32 mode.

Please see here about pedit04 versus pedit32.

EXAMPLE. In addition to the messages, this also moves the cursor to the end of the opened memo for 32K memos. Here "/GZ" turns on the macro mode and "/xz" turns it off. This eliminates the animation of the "J" [jump] dialog.
{.peditrc::/&mess@[@@I am .peditrc@@]}
{.pedit04rc::/&mess@[@@I am .pedit04rc@@]}
{.pedit32rc::/&mess@[@@I am .pedit32rc@@] /GZ /xEpro je /xz }

Segmented Memos

Whether you use 4K memos or 32K memos, eventually you will find out that they fall short of your expectations of being able to edit [or write] "War and Peace" on your Palm.

Unfortunately, as of September 25, 2000, the Palm operating system allows no larger than 32K text fields, and, to make matters worse, [a little less than] 64K is the size of the largest record you can create.

In terms of a memo and in terms of a "newbie's" terminology, this means that the largest memo you could create can have no more than 64K characters in it, and even if you have such a huge memo, you can only view it. In order to be able to edit it, your memo must have no more than 32K characters.

Even if you managed to create a large memo, after a HotSync job, your Palm DeskTop application would butcher [truncate] the poor soul.

There are several options to circumvent this limitation.

One solution is to create "virtual" memos. Such memos are, in fact, a collection of a number of memos which appear to be one from certain, but not all, points of view. This is the approach taken by all the DOC editors. This works but, alas, all the current DOC editors are low on both features and speed, and they all fall short of [my admittedly not low] minimal expectations.

EXAMPLE. Open up a large DOC file with either a DOC editor or a DOC reader, and try to select the entire text. Did you succeed?

Enter pedit. Just like DOC editors, pedit can create "virtual" memos of practically arbitrary size, but, unlike DOC editors, pedit does not completely hide the technical details of such memos from the user.

I call such "virtual" memos segmented memos, and I refer to the memos making up a segmented memo as sister segments.

Another way of conceptualizing such "virtual" memos is to think of them as a book with individual chapters, or sections, or pages.

A segmented memo is called multi-segmented if it has at least two sister segments.

Timeout: Segments vs Chapters

Even though from the purely technical point of view segments and chapters of a memo refer exactly to the very same concept, I will still use both words in conjunction with segmented memos.

NOTE. Once you learn pedit's export/import [see also here] business, and you start to examine your segmented memos, you will realize that, effective with version 5.07, the files have been split up at logical pauses in the text such as paragraphs, new lines [carriage returns], or spaces [in this order of priority].

Such operations allow you to move your memos between pedits, and between your Palm and the DeskTop.

I will refer to such memos as segmented memos.

On the other hand, when you write your great Aborigine novel, and you decide to start a new section or chapter, then you will use the New Chapter command in EditView's Edit+ menu. This will place you into a new memo which is a logical continuation of your previous memo, and which will be treated as such by many of pedit's functions.

When you are sitting on an important presentation, and you are taking notes with SkyIsLimit engaged, then your memos will be split up when you type a space or add a line.

The resulting segments are more structured. You could say that you started a new page.

In order to not confuse the situation even further, I will refer to the latter type of memos as consisting of segments.

End of Timeout

Just like chapters in a book have headers, so do segmented memos.

A Segmented Memo

Some peditors will view this as an annoyance, and some even asked me to hide such details from the user. Let me explain [some would say "rationalize"] my approach.

Just like with the entire Palm OS, one of pedit's underlying philosophy is that speed and efficiency are essential. Very few peditors will read "War and Peace" patiently while their Palm and pedit are processing their precious memos.

Therefore, pedit takes the approach that the segment information is kept with the memo itself in form of a segment header. This allows to minimize time spent on bookkeeping.

For instance, when starting up pedit, there is practically no time spent on searching various sister files where bookkeeping information is kept, and there is no need to update such information.

NOTE. There are two exceptions. First, pedit's preferences are loaded every time pedit is started. Second, pedit keeps track of the last 25 memos you have visited since you last cleared pedit's history [see the Recent command in ListView's Navigate menu].

Of course, if pedit gave up Memo Pad compatibility, then each memo could easily store extra information hidden from the user right with the memo itself. However, the rules of the game are set by Memo Pad and new rules can be defined only in accompanying sister files such as MemoHIST for pedit and Memo32HIST for pedit32.

The structure of a segment header is as follows.


123456... #segment.0020#
2000/04/08 11:54:42 00DB2152
Title: [and here come the first 64 letters of the first line of your memo].
Category: [here is the category of your memo]
!DO NOT TOUCH THIS LINE OR ABOVE!

Here "123456" are the first 6 letters of your segmented memo, the four digit non-negative integer "0020" is the segment index, and "2000/04/08 11:54:42 00DB2152" is the timestamp which shows the creation date, time, and the unique ID number of the first member of your segmented memo.

Note. The segment index must be a four digit non-negative integer. For instance "0000", "0001", and "1776" are valid, whereas "999" is invalid.

pedit relies on the correctness of the information stored in the segment header. Therefore, I beg you that under no circumstances change anything in it.

However, if you are a technically oriented peditor, then I tell you that you could change the title and the category in the header as long as you don't exceed the length limitations. If you do, then please keep in mind that in most operations pedit uses the title and category as defined in the very first segment of a segmented memo.

Note. As of Palm OS 3.5, Palm file names can have no more than 31 characters, whereas Palm category names can have no more than 15 characters [plus a null terminator].

You can also change the first 6 letters ["123456" in the above example] but if you do then you better change it in all the sister segments to the same.

The following diagram, created by Paolo, is a visual representation of the structure of a segmented memo.

   ___________
  | <header1> |
  |           |
  | sister #1 |
  | ......... |
  | ..text... |
  |___________|

   ___________
  | <header2> |
  |           |
  | sister #2 |
  | ......... |
  | ..text... |
  |___________|
        .
        .
        .
   ___________
  | <headerN> |
  |           |
  | sister #N |
  | ......... |
  | ..text... |
  |___________|

Tip. If you have a segmented memo and you want to disassociate one or more of its sister segments from the memo, just change the header a little bit. For instance, you could change "00DB2152" to "tmp 00DB2152" in the above example.

Tip. If you have a segmented memo and you want to re-segment it [in order to even out the segment sizes], the easiest way to do it via exporting it and its sister segments to a DOC file, and then re-importing it.

Tip. If you want to combine several of your pedit04 memos into one pedit32 memo, or several memos into one DOC file, then please read here.

Tip. If you want to combine existing memos by adding segment links to them, then please read here.

Tip. For the most convenient way to transport your segmented memo from pedit to your DeskTop and vice versa, please read here.

Among others, segmented memos are used in exporting pedit32 memos to pedit04 memos [see the Export Category command in ListView's Record menu, and the Export Memo command in EditView's Record #1 menu], in importation [see ListView's Record menu] of DOC files to pedit, and in the SkyIsLimit command in EditView's Edit+ menu.

NOTE. peditLight does not create and handle segmented memos. If you used another pedit to create segmented memos, then peditLight, just like any other memo editing Palm application, is very much capable of messing them up. Please be careful not to destroy your segmented memos.

magiPad

The "M" button in EditView's buttonPanel is a story on its own. Hence, I will discuss them separately from the general description of EditView's buttonPanel.

It allows you to enter magiPad [© copyright Paul Nevai 1999-2002 & all rights reserved].

magiPad separator asciiPad

Think of magiPad as a gigantic scratch pad which can save up to 32K [= 32767 or 2^15 - 1] characters. You can keep anything you wish in magiPad. It is always at your fingertips, and it allows you to paste anything from it back to your current memo. The way it works is as simple as possible.

Here are the details.

If you are in EditView, then you can enter [and leave] magiPad using the magiPad in|out command in the Navigate menu. You can also enter magiPad using the "M" button in EditView's buttonPanel.

If you are in ListView, then you can enter magiPad using the magiPad command in the Navigate menu. You can also enter magiPad by upButtonSliding the Docs button in ListView's buttonPanel.

NOTE. In peditLight the Docs button is renamed to "Jump".

NOTE. pedit remembers your magiPad vitals, and upon subsequent re-entries the state of the previous magiPad visit will be restored.

Once in magiPad, you can select any text, and then tap the Qopy'n'Paste button ["ESC Q"]. You will be instantaneously transferred back to your current memo, your selected text will be pasted into your memo, and, depending on the choice you made with the Qopy'n'Paste Selects on|off menu command, either the newly pasted text will be shown highlighted, or the cursor will be placed right after the pasted text.

If, prior to entering magiPad, you already selected some text, then upon returning via a Qopy'n'Paste job from magiPad, your selected text gets replaced by the new newly pasted item.

NOTE. If you entered magiPad via the "ASCII Table" command, that is, you have an ASCII table, then the Qopy'n'Paste button operates even if you have no current text selection in magiPad. Namely, hitting the Qopy'n'Paste button automatically selects the character in front of your cursor before you are transfered back to your current memo for a pasting job.

NOTE. When doing a Qopy'n'Paste job, the usual 1000 character limit of the Palm OS on the size of copying to the ClipBoard does not apply, and you can copy and paste as much as the size of your current memo allows.

NOTE. Right after a Qopy'n'Paste job, the Undo command in EditView's Edit menu and its sister "U" button in EditView's buttonPanel are not functional.

NOTE. If you change your mind after having accomplished a Qopy'n'Paste job, you can always undo it by using the Restore Memo command in EditView's Record #1 menu.

Of course, you should keep your favorite phrases in magiPad so that they are always available for instant pasting into your memos.

For instance, you could keep a short dictionary in it, or a thesaurus, or your publication list, or your CV, and so forth. The opportunities are limitless, up to 2^15-1.

Some peditors go even further. For instance, Margret has a magiPad category in her pedit which allows her to have the functionality of multiple magiPads.

The "OK" button enables you to leave magiPad without any further action except saving its current contents.

The ".C" [.Cancel] button, if you see it, enables you to leave magiPad without any further action and without saving its contents.

scriptPad

If you are in EditView, then you can enter [and leave] scriptPad using the scriptPad in|out command in the Navigate menu. You can also enter scriptPad by upButtonSliding the "M" button in EditView's buttonPanel.

If you are in ListView, then you can enter scriptPad using the scriptPad command in the Navigate menu. You can also enter scriptPad by upButtonSliding the Recent button in ListView's buttonPanel.

scriptPad looks like, smells like, and acts like magiPad so that it is de facto a secondary magiPad.

However, there is a difference between scriptPad and magiPad.

Namely, scriptPad is the place to keep your pedit pScripts.

Apart from this difference, magiPad and scriptPad are the same.

NOTE. pedit remembers your scriptPad vitals, and upon subsequent re-entries the state of the previous scriptPad visit will be restored.

NOTE. If you use peditLight, then you can't use pedit pScripts. Nevertheless, you can use scriptPad as a fully qualified secondary magiPad.

NOTE. All pedits prior to version 5.33 used magiPad to store pedit pScripts. Please do not forget to move them to scriptPad.

EditView's Fonts

The PopUp Font Trigger in the bottom right corner of EditView's screen and the Font, command in EditView's Options menu allow you to change the display font in EditView.

NOTE. You can switching between the last two display fonts in EditView [even while in an editable magiPad] via the buttonShifted "U" button in EditView's buttonPanel or by "ESC U" [upper case "U"].

Thanks to Rick Bram, Steve C. Gilardi, Carl Osterwald, Ken Hancock, Harry Konstas, Greg Parker, Michael J. Rider, and Andrew Welch who allowed me to use their fonts and/or font utilities, pedit [except peditLight] has a number of custom fonts.

fonts separator more fonts

NOTE. The high resolution fonts appear on your font lists only if the OS version of your Palm Powered handheld is at least 5.0.

I strongly recommend using the mono-spaced fonts for regular text editing.

The only [some would say fatal] flaw of the original Profont family of mono-spaced fonts is that they are almost completely screwed up when it comes to non-standard characters, including the international characters [ASCII 128 and up, and even some between 1 and 31].

The reason for this defect is that that they were designed originally for the Macintosh, and then they were converted to the Palm as an afterthought. So, if you have a pre-4.09 version of pedit, please do not blame the creators of Profont.

As of September 10, 2000, and as of version 4.09, I have great news for all Profont lover peditors. Michael J. Rider got fed up with the above described situation, and, with the generous permission of Steve C. Gilardi and Carl Osterwald, he fixed all of them.

Hence, the Profont family in all current pedits is as perfect as the other mono-spaced fonts, that is, Monaco, Courier, and TinyFont [aka HKFont] are.

I am not in the font designing business. Therefore, please do not expect me to create new fonts for pedit.

On the other hand, you are more than welcome to volunteer your services to the peditor community...

NOTE. The leftButtonSlided PopUp Font Trigger touches the current memo, that is, it pretends as if the memo were edited.

Finding and Replacing Text

pedit includes the Find'n'Replace and Select'n'Search technologies. In addition, I put a twist on the search process via Palm's built-in FIND SilkScreen button. The latter is discussed here.

All find functions in pedit are unrestricted as opposed to Palm's built-in SilkScreen "FIND" which matches the beginnings of words only.

One enters the Find'n'Replace dialog either via the Find command in EditView's Navigate menu or by tapping the "F" button in EditView's buttonPanel.

Find'n'Replace which has two text fields.

Find'n'Replace

The top one displays Please enter search string... or, if your memo in EditView has a text selection, then it displays that particular text, or, if a search string has already been defined, then it displays that search string.

For pedit's purposes, a string is any combination of characters in the 256 character ASCII table [excluding the '\0' character], including carriage returns and so forth (see magiPad).

Once you are Find'n'Replace, you can create an arbitrary search string of length not exceeding 255.

First, I tell you how to use the Find component or Find'n'Replace.

Once you finished composing your search string, and, optionally, your replacement string, and after all the check boxes such as Ign[ore] Case, Top Start[er], Wrap, and so forth, have been set appropriately, hit the FindIt button.

NOTE. The "<= above: find" and "=> below: repl" buttons allow you to recycle up to 128 of your old search and replacement strings, respectively.

NOTE. Use the menu command in the "Options" menu to manage your recent strings. You can sort them, delete them one-by-one, or delete all of them.

If the second text field in Find'n'Replace was left untouched or it is empty, then Find'n'Replace assumes that you initiated a search only operation and no automated replacement will take place.

Thus you will be transported back to your memo in EditView, and then Find finds the first occurrence of the search string in your memo.

Then use either the Find More command in EditView's Navigate menu or the "G" button in EditView's buttonPanel to find more occurrences of the same search string.

Please note that Find works in context in the sense that the found string always shows up in the middle of the text field. GNU aficionados will see the similarity between this and "grep --context".

In case [no pun intended] you did not figure it out yet, the Ign[ore] Case check box allows you to decide whether or not the search process should be case sensitive. For the benefit of non-native [broken] English speaking peditors, "case" refers to lower and/or upper case such as "pedit" as opposed to "pEdIt".

"ESC i" [lower case] = toggle the Ign[ore] Case box

"ESC I" [upper case] = check the Ign[ore] Case box [a pScript friendly operation]

The Top Start[er] check box allows you to decide whether to start the search at the beginning [top] of your memo, or at the current cursor position.

"ESC t" [lower case] = toggle the Top Start[er] box

"ESC T" [upper case] = check the Top Start[er] box [a pScript friendly operation]

Similarly, Wrap means that all text search and/or replace operations continue at the beginning [top] once they reached the end [bottom] except for the "All R" [Replace All] command which stops at the end.

"ESC w" [lower case] = toggle the Wrap box

"ESC W" [upper case] = check the Wrap box [a pScript friendly operation]

Selecting the All Segs check box means that if your memo is segmented, then the search and replacement process extend to all the sister segments as well. In addition, in this case, the segment headers are excluded from both the search and replacement operations.

"ESC a" [lower case] = toggle the All Segs box

"ESC A" [upper case] = check the All Segs box [a pScript friendly operation]

NOTE. For your convenience, the upButtonSlided G button toggles the All Segs variable.

NOTE. If the All Segs option is on and your memo is segmented, then the replacement operation is not a pScript friendly operation since it generates events which interfere with pScripting.

NOTE. If the All Segs option is on, then the search and replacement operations will be slightly slower since there is additonal overhead involved in keeping track of the sister segments [whether or not they actually exist]. However, it is quite possible that you will need an accurate stopwatch to be able to see the actual difference in speed.

Regular Expressions. As of version 5.77, all pedits, with the exception of peditLight, include support for a peditorial flavor of regular expressions [REGEXP].

If you are not yet familiar with REGEXPs, then this may be a good place to start although there is a practically unlimited amount of free literature available as well.

NOTE. Both "REGEXP" and "REGEX" are accepted abbreviations of the term "regular expression".

If you check the RegEx box, then your search strings are interpreted as a regular expressions.

"ESC r" [lower case] = toggle the RegEx box

"ESC R" [upper case] = check the RegEx box [a pScript friendly operation]

NOTE. For your convenience, the downButtonSlided G button toggles the RegEx variable.

Currently supported standard REGEXP symbols [metacharacters] are as follows.

The peditorial implementation of REGEXP is line oriented. Hence, "^" refers to the beginning of a line, whereas "$" to the end of it.

For the purposes of REGEXP, the very last line of a memo is considered as a full line even if it does not end with a linefeed character.

NOTE. If you want to use the above symbols in their literal sense, then you need to escape them using "\" [backward-slash], such as "\^", "\.", "\*", and "\$".

NOTE. In pedit, "\" [backward-slash] always literalizes [sic] as opposed to other implementations of REGEXP where "\" plays a dual duty role which I think is not a good idea. For instance, "\t" may mean a TAB elsewhere, whereas in pedit it is simply a plain "t".

NOTE. Unlike in some flavors of REGEXP, in the peditorial implementation "^" and "$" are always metacharacters no matter where they are located in your REGEXP. Hence, you always need to escape them with "\" [backward-slash] if you want to use them in their literal sense.

NOTE. In the peditorial REGEXP error checking, the group alternative symbol "|" is almost always perceived as a metacharacter no matter where it is located in your REGEXP. Hence, to be on the safe side, you should always escape it as in "\|" if you want to use it in its literal sense.

EXAMPLE. The REGEXP "\$x$y*z*" will match the string "$x".

NOTE. If you are Japanese, then I am sure you know that the "backward-slash" sign shows up as a "yen" sign on your screen and on your keyboard.

For a literal backward-slash use "\\".

NOTE. Among others, the following constructs are illegal.

NOTE. Naturally, as the peditorial implementation of REGEXP gets more mature, the number of illegal constructions grows steadily. Hence, the above list should not be viewed as complete. However, pedit has a number of error checking and error announcing mechanisms built in.

NOTE. The peditorial REGEXP has two different error checking mechanisms. First, your REGEXP is checked for some obvious errors such as two consecutive quantifiers as in "**". Second, pedit also does an on-the-fly error checking. However, the latter may never get performed if there was a no-match situation before pedit has a chance to check the local syntax. For instance, "a[:MicroSoft:]" is an illegal REGEXP but if your text consists of "bbb", then you get a no-match message before pedit ever has a chance to process "[:MicroSoft:]".

NOTE. The peditorial implementation of REGEXP reads and processes all regular expressions from left to right ["first come first served"] so that literal characters are never viewed out of context. For instance, "\\*" does not yield a literal "*" as opposed to "\\\*".

NOTE. It is perfectly safe and legitimate [although it may be unnecessary] to escape any character using "\". For instance, "\a" is the same as "a.

HOMEWORK. What do "\\a" and "\\\a" mean?

Options in peditorial Regular Expressions. Each REGEXP may contain some options which could also be called switches or flags. The syntax is as follows. If a REGEXP starts with "-[...]", then all the letters between "[" and "]" are considered options, and the actual REGEXP starts right after closing bracket "]".

EXAMPLE. "-[v]ped.tPro", "-[n]a*", and "-[nv5]a*".

Currently the following options are supported.

Null-matches. A null-match is a match of length 0 [zero]. For instance, if your text is "bbb" and your REGEXP is "a*", then every position in your text yields a match of length zero, since there are "zero or more" copies of the letter "a" at every position. Usually you would consider null-matches a nuisance and you would prefer ignoring them. By default, pedit ignores null-matches unless you explicitly request them using the "n" option.

NOTE. pedit will skip the "obvious" null-match which is at the end of the current text selection and/or cursor position. This practice is in agreement with the current implementation of most text editors although there is no such a thing as a set of generally accepted rules carved into stone.

NOTE. Not even professional [Macintosh] DeskTop editors such as BBEdit and CodeWarrior, just to mention a few, are perfect in implementing REGEXP. If you must find all null-matches, then please use the verbose option such as "-[nv]a*" which will announce all the null-matches correctly.

NOTE. It is legitimate to have the same option listed several times as in "-[vvvvicicicicici]test" although it may be difficult to justify the need for that except with the "lx" option. By the way, this is the same as "-[vi]test".

NOTE. If you want your REGEXP to start as "-[..." but you don't want it to be interpreted as an option, then start it as "\-[..." which turns the hypen "-" into a literal character.

Intervals. This is pretty much standard stuff except that the peditorial implementation is a little more user friendly than the ones I am familiar with since it allows to add any number of whitespaces [except linefeeds] inside the braces which may make it more readable.

As usual, "{min,max}" means that you want to match at least "min" but no more than "max" times the "stuff" just prior to "{min,max}".

EXAMPLE. "pedit{3,5}" matches "pedittt", "peditttt", and "pedittttt", but not "pedit" or "peditttttt".

Here is some useful information.

NOTE. You need to write "{min,max}" and not "\{min,max\}" as some flavors of REGEXP require.

Character Classes. This is pretty much standard stuff, and, as far as I know, there are no more than a couple of dozens of different interpretations of it [seriously]. Hence, I was free to follow whatever rules I wanted to. I chose the easy path which leads to the least amount of unexpected surprises. Hence, I just need to point out some nuances which are illustrated by the examples below.

The peditorial character classes use "[" [opening left bracket], "^" [do not match the elements of the character class], "-" [range definer dash operator], and "]" [closing right bracket] pretty much the same way as every other implementation does it except that there are some variations in the "non-trivial" cases.

I suggest that you study the ASCII table for understanding how the range definer dash operator "-" works in Palm OS specific character classes [see here too].

The character class operations also include a limited but essential subset of POSIX compliant character classes. Namely, the following POSIX expressions are supported: ":alnum:", ":alpha:", ":blank:", ":cntrl:", ":delim:" [this is not part of POSIX, and it the same as ":punct:" or ":space:"], ":digit:", ":graph:", ":lower:", ":print:", ":punct:", ":space:", ":upper:", and ":xdigit:". See here for more details.

In addition, you can also negate all the above POSIX expressions by adding the caret "^" right after the first colon ":" as in :^alnum:", :^punct:", and so forth. This is probably a well-known perl extension. However, it took me hours to find a reference for it. For instance, the most recent BBEdit uses this feature [version 6.5 and up].

WARNING. In true POSIX, you need to add extra brackets such as "[abc[:blank:]xyz]" whereas in the peditorial implementation the additional brackets should not be added so that you need to replace the previous example by "[abc:blank:xyz]".

QUESTION. Why is it necessary to use "[[:blank:]]" in true POSIX? If you know the answer, please let me know. I may have missed some finer points, and I may have to fix up the peditorial implementation of POSIX compliant character classes.

Character Class Specials. The character class operations also include a few peditorial specials of the form "@...@". The syntax is as follows.

EXAMPLE. "[:digit::lower:]" matches digits and lower case letters, including those non-standard lower case letters which appear in many languages such as "ö". By the way, in "normal" POSIX, you would have to write "[[:digit:][:lower:]]".

EXAMPLE. The expression "[]]" matches "]" because "]" is in the first position of the character class so that it is not viewed as the closing right bracket metacharacter. Similarly, the expression "[^]]" matches everything but "]".

EXAMPLE. The expression "[-]" matches "-" because "-" is in the first position of the character class so that it is not viewed as range defining metacharacter. Similarly, the expression "[^-]" matches everything but "-".

EXAMPLE. The expression "[a-]" matches "a" and "-" since "-" is followed by a character class closing right bracket metacharacter "]".

HOMEWORK. How does one match a range of characters from, say "A" to "]", or from "[" to "]"?

EXAMPLE. The expression "a-e-h" is a legitimate range of characters which is the same as "a-ee-h", that is, "a-h".

EXAMPLE. The expression "z-a" is a legitimate range of characters which happens to be empty so that nothing matches it since nothing is between "z" and "a".

EXAMPLE. The expression "[a]]" matches "a]" because the first right bracket is a metacharacter which closes the character class, and the second right bracket is already a regular literal character.

More Specials. The peditorial REGEXP has a few more specials of the form "@." both inside and outside character classes. They behave very much like in many other implementations of REGEXP except that pedit uses the "@" [at-sign] metacharacter as opposed to the usual "\" [backward-slash]. The syntax is as follows.

NOTE. The pToken "@" is used both for REGEXP specials and text capturing. When a given REGEXP can be interpreted both ways, then the latter takes precedence over the former. For instance, "(@A:x)" could be interpreted both as matching ":x" at the beginning of the text or as capturing "(x)" to the variable "\A", and the actual meaning is the latter.

Groups. This is also pretty much standard stuff. Hence, I just need to point out some nuances.

Since the peditorial implementation of REGEXP reads and processes all regular expressions from left to right ["first come first served"], this may have a drastic effect on how groups are matched and gives a new meaning to the words "greedy" and "lazy", especially when the groups contain alternative subREGEXPs and quantifiers.

Many times you will be puzzled when your REGEXP full of alternatives and quantifiers matches contrary to your expectations, and it will take a great deal of reflection to realize that pedit is right and your expectations were wrong. Frequently it will help you to solve the puzzle if you turn on the "n" ["null"] option. However, sometimes you may indeed find a bug. If you do, then please contact me with a full description of the example demonstrating the bug. The example should be as concise as possible.

As of version 5.87, the REGEXP groups support all quantifiers such as "(...){min,max}..." and "unlimited" nesting such as "(...(...)...)*..." as well.

NOTE. The peditorial implementation of REGEXP groups was a formidable challenge for an amateur programmer such as I am, especially since I did this without "cheating", that is, without dissecting and/or reverse engineering the publicly available source codes of programs which employ REGEXPs such as [gn]?awk, ed, emacs, grep, joe, perl, sed, just to name a few. I have no doubts that all peditors will agree that there is more fun in creating a REGEXP engine as opposed to copying one. One of the primary disadvantages of this method is that I don't have decades of the REGEXP community's experience behind me. In particular, I was happy to be able to accomplish things, and optimization was out of the question on many occasions.

NOTE. One sure way to slow down your Palm is to use nested groups with quantifiers.

EXAMPLE. The expression "(peditPro|LapTopHack) sucks*" matches "peditPro sucks" and "LapTopHack sucks".

EXAMPLE. The expression "pedit(|Pro|32|Light) sucks*" matches "pedit sucks", "peditPro sucks", "pedit32 sucks", and "peditLight sucks", but not "peditProPlus sucks".

HOMEWORK. Why is "pedit sucks" matched by "pedit(|Pro|32|Light) sucks*"?

HOMEWORK. What is matched by "(peditPro|LapTopHack){1,2} sucks*"? Is "peditPro LapTopHack suck" matched by it? If not, then why not and how to modify the REGEXP so that there would be a match?

NOTE. You need to write "(...|...)" and not "\(...|...\)" or "\(...\|...\)" or "(...\|...)" as some flavors of REGEXP require.

Capturing Text. In principle, this is also pretty much standard stuff. However, in practice, the peditorial implementation is different. Some could say that to some extent the peditorial captures are superior to some other flavors of REGEXP.

The rules and the syntax are as follows.

NOTE. The peditorial captures work only in replacement strings (see the "Find/Repl" component of the Find'n'Replace operations) and cannot be used for "backtracking" in search strings [whatever that may mean].

NOTE. As mentioned already, the pToken "@" is used both for REGEXP specials and text capturing. When a given REGEXP can be interpreted both ways, then the latter takes precedence over the former. For instance, "(@A:x)" could be interpreted both as matching ":x" at the beginning of the text or as capturing "(x)" to the variable "\A", and the actual meaning is the latter.

REGEXP Replacement Strings. This is also pretty much standard stuff with just a few caveats.

The current rules and the syntax are as follows.

NOTE. The original peditorial implementation of REGEXP had its roots in grep.c taken from The Practice of Programming (a great book) by Brian W. Kernighan and Rob Pike. Subsequently, it went through a series of transformations so that the current implementation no longer resembles the original one. It is somewhat recursive in nature, and it is not completely clear to me how the memory management of the Palm OS reacts to recursive functions in the long run. It is a fact of life that using REGEXP is slower than pedit's normal search procedures. On the other hand, you will experience the slow down only when you search very large segmented memos such as Les Miserables. Therefore, I advise to use REGEXP only when you actually need it unless you don't care whether it takes a full tenth of a second to find your match when you could have done the same job in less than one twentieth of a second. Alas, if you use many quantified groups, then the above mentioned "tenth of a second" may turn into minutes or perhaps even hours.

HOMEWORK. Find'n'time with a stopwatch both "ejaculated Cosette" and "((ejac)*ul(ate){1}).*Cosette" in Les Miserables starting from the top. For the second one, be prepared to wait patiently a very long time.

NOTE. If you ever experience either a crash or an unexpected termination while doing a search job using a long and/or complicated REGEXP, then use the Tuner Upper command in ListView's Options menu to increase the stack. That should solve the problem.

NOTE. The peditorial implementation of REGEXP is

The opposite of "greedy" is "lazy" or "minimal matching" [see, for instance, here for more details]. As you saw above, pedit can do "lazy" matching both globally and, in the spirit of perl, locally as well.

NOTE. Although you practically never need to be aware how the REGEXP search mechanism works under the hood when it is case insensitive, there are occasions when it will not hurt you to know some details. In short, when the search is case insensitive, then pedit coverts all characters which are about to be compared to lower case prior to the comparison, and then tries to see if there is a match. Examples, when it is good to be aware of this are character classes such as a REGEXP containing "[A-^]" or "[A-z]" or "[0-Z]" or something similar which drastically differ from their case sensitive versions. As I said already, I suggest that you study the ASCII table for understanding how the range definer dash operator "-" works in Palm OS specific character classes [see here too].

NOTE. At this point please do not contact me with suggestions of new REGEXP features. On the other hand, if you find bugs in the current implementation [which I am sure abound], then please do contact me with a full description of the problem. The complete example demonstrating the bug should be as concise as possible.

NOTE. I will be very much surprised if you can use the peditorial implementation of REGEXP on Palms with exotic OSs such as Chinese, Hebrew, Japanese, or Russian. Nevertheless, for the time being, I decided not to disable it on such Palms since it may turn out to be better than 100% useless. However, for the record, all the REGEXP routines assume that the Palm operates in a "single-byte" mode, that is, all characters are assumed to use exactly 8-bits, as opposed to the regular search routines which are supposed to be working whether your Palm's OS is "single-byte" or "multi-byte". If I recall correctly, Palm itself supports only one "multi-byte" system currently, namely, the Japanese one, but this may change as the Palm gains popularity.

NOTE. If you are a Japanese peditor using REGEXP, then please post your impressions to the peditors Forum.

QUESTION. DFA or NFA?

ANSWER. Excellent question. Alas, I don't have the faintest idea. I don't even know what these words really mean. Probably neither. According to [Friedl, p. 160], it is not NFA since it passes the "=XX========================" test with flying colors [which doesn't necessarily mean that it is good or bad]. On the other hand, according to [Aalto] it is not DFA, since it acts exactly as NFA under certain circumstances [see here].

Do you want to learn more about REGEXP? I recommend Jeffrey E. F. Friedl's Mastering Regular Expressions [see also here] as an excellent place to start [and to finish]. If you just want a plain vanilla quickie overview, then GNU's grep may help you. This is also excellent, and so is BBEdit's manual.

SHORTCUT. If the RegEx variable is set to false, then there is also a straightforward plain-vanilla way to search without entering the Find'n'Replace window, namely via the double duty Select'n'Search Find More command in EditView's Navigate menu or the "G" button in EditView's buttonPanel

Just select a string and invoke Find More or hit the "G" button. This action will find the first occurrence of the same string in your memo located after the selected string. This can be repeated as many times as one wishes. When the end of your memo is reached, the search starts at the beginning of your memo again unless the Wrap option has been deselected.

NOTE. I repeat that this fast search works only if the RegEx option is set to false, that is, the RegEx box in the Find'n'Replace dialog is left unchecked.

If the RegEx option has been selected, then using the Find More menu command or the "G" button will find the next match of your regular expression provided that there is already one defined. If you do not have a currently defined regular expression, then both the Find More menu command and the "G" button will take you to the Find'n'Replace dialog.

Please note that both Ign[ore] Case and Wrap can be controlled from both EditView's Opt[ions] menu (see Case yes|no and Wrap yes|no) and from Find'n'Replace as well.

So far I explained the case when the second text field in Find'n'Replace was left untouched or was empty so that you searched your memo only.

On the other hand, if you entered a replacement string into this second text field, then Find'n'Replace assumes that you want to conduct a full featured Find'n'Replace operation, that is, a "global search and replace" operation in professional lingo, and, assuming that there is at least one proper match, it takes you to the Find'n'Replace View form where a row of buttons on the bottom gives you full freedom whether to find [Find], replace [Peplace], replace and find [R & F], or replace all [All R].

WARNING. Prior to version 6.59, if the RegEx box is checked, and if the REGEXP "n" ["null"] option is on, then you should take extra precautions prior to using the All R button. Otherwise, you may unintentionally create a vicious circle. However, you can always interrupt it by tapping anywhere either on the screen, or the Graffiti input area of your Palm, or by typing ".", or by using the page Up/Down or 5-way up/down keys, and then, the Restore Memo command in EditView's Record #1 menu may save the day for you. As of version 6.59, such vicious circles have been eliminated.

NOTE. I strongly urge you to experiment with the above scenario. It is both educational and fun to watch. For instance, create a memo with text "pedit", and then replace "-[n]x*" with "LapTopHack" in it. Sit back and enjoy the show.

Find'n'Replace

The "H" button is there for help.

Just hit the Done button when you are finished to get back to your memo in EditView.

If your search string has no match in your memo, then, instead of Find'n'Replace View, you are taken back immediately to your memo in EditView.

In addition, the bottom row of buttons, Find'n'Replace View also displays the usual stats on the top, and gives you a summary of the search [F:] and replacement [R:] strings right above the buttons at the bottom.

NOTE. If you initiated a replace all [All R] operation, you can always interrupt it by tapping anywhere either on the screen, or the Graffiti input area of your Palm, or by typing ".", or by using the page up/down or 5-way up/down keys. As a side effect, sometimes such an operation gets self-interrupted on certain Palms since the system itself may occasionally generate events which pedit interprets as if they were taps. However, this is very unlikely to happen if your pedit is at least of version 5.72.

NOTE. If the replacement string is defined as "\x" [delete], then the matched string will be deleted from the memo.

Here is a neat trick which works if the RegEx variable is set to false. First copy a string, say "replace with" with the "C" button. Then select another string, say "replace me". Now use the "G" button to find occurrences of "replace me" and then hit the "P" button to replace it with "replace with". This can be repeated as many times as one wishes. The "G" button keeps searching for "replace me" and the "P" button keeps replacing it with "replace with".

If the RegEx variable is set to true, the an analogous procedure works as long as you have a currently defined REGEXP.

However, the same can be accomplished in a more professional way via the "F" button.

HINT. If the Ign[ore] Case option is turned off, then the "F" button is displayed in bold font. Similarly, if Wrap is turned off, then the "H" button is displayed in bold font, if All Segs is turned on, then the "G" button is displayed in bold font, and if RegEx is turned on, then the "Q" button is displayed in bold font.

NOTE. peditorial pScripts allow automating your Find'n'Replace operations. Please see here for examples.

NOTE. If you are in the expertMode, then the pedit Find'n'Replace dialog will not show up at all, although you can enter your commands as usual. On the other hand, if you are in the advancedMode, then you will experience a slight speed improvement compared to the normalMode. If you are in the globalMacroMode, then the pedit Find'n'Replace dialog remains invisible. Enjoy...

Moving Text

As of version 5.13, I added the ability to move blocks of text around your memo. This feature can be invoked by directional buttonSlides as described below and also either by entering "ESC X" [upper case "X"] or by upButtonSliding the "X" button in EditView's buttonPanel. The directional buttonSlides bring up specialized text mover dialogs such as,

char mover

whereas latter two bring up the general text mover dialog.

text mover

Some of the text moving commands could be better described as transpositions, but I decided to stick to the more general terminology of moving [a block of] text.

NOTE. In the following discussion "|" indicates the cursor.

EXAMPLE. If you typed "thsi" accidentally, then you can correct it by putting the cursor between "s" and "i" so that it looks like "ths|i", and then rightButtonSliding the "C" button in EditView's buttonPanel. This will result in "ths|i" changing to "this|".

Congratulations, you just performed a right-move of a character.

EXAMPLE. If you typed "thsi" accidentally, then you can correct it by putting the cursor between "s" and "i" so that it looks like "ths|i", and then leftButtonSliding the "C" button in EditView's buttonPanel. This will result in "ths|i" changing to "th|is".

Congratulations, you just performed a left-move of a character.

Can you see the subtle difference in the two examples above? In the first, you moved the letter "s" to the right and the cursor stayed ahead of "s". In the second, you moved "i" to the left, and the cursor stayed to the left of "i".

NOTE. "C" stands for "character" so that leftButtonSliding the "C" button moves the character just after the cursor to the left, and rightButtonSliding the "C" button moves the character before the cursor to the right. The cursor travels with the character. This should be easy to remember.

However, this is only the beginning of the story.

You can select a block of text in your memo, and then leftButtonSliding the "C" button moves the text selection by one character to the left.

Similarly, you can select a block of text in your memo, and then rightButtonSliding the "C" button moves the text selection by one character to the right.

The formal rules governing leftButtonSlides of the "C" button in EditView's buttonPanel are as follows.

The rules governing rightButtonSlides of the "C" button in EditView's buttonPanel are analogous except that they result in forward movements of characters.

QUESTION. How do I move a text selection by 37 characters to the left?

ANSWER #1. Repeat 37 times the above desribed procedure.

ANSWER #2. First, activate the char mover dialog by upButtonSliding the "C" button [see the picture below], then enter "37" into the Repeat # field, and, finally, hit the "B <=" button, or enter "b" or "B".

char mover

NOTE. If there is no text selection in your memo, you can transpose the two letters surrounding your cursor and leaving the cursor in its current position by entering "0" into the Repeat # field of the char mover dialog [upButtonSlided "C" button].

Now let us discuss how to move words around your memo. Please see, for instance, here regarding the rules which define words. The definition depends on the Forth word setting which you can adjust both via the "S" and "J" buttons in EditView's buttonPanel.

The title of your dialog tells you what the current Forth word setting is. If you see "!FW" in it, then the variable Forth word is set to false. Otherwise, you will see "&FW" in the title.

If you are either in the general text mover dialog or in the specialized word mover dialog, then you can also use these shortcuts.

"o" [lower case "oh"] = the Forth word variable is set to false [a pScript friendly operation]

"O" [upper case "Oh"] = the Forth word variable is set to true [a pScript friendly operation]

Let me summarize the rules governing leftButtonSlides of the "WC" button in EditView's buttonPanel.

NOTE. At first try, some of these rules [and some of the rules described below] may be somewhat counterintuitive. However, after a little reflection, you will understand that the rules are logical.

NOTE. Do you wonder what I mean by leaving the text selection essentially unchanged [above and in some of the rules described below]? Please experiment and you will see that if the original selection started or ended in between words, then it needs to be truncated to create a proper fit. Before you panic, I tell you that only the [visually displayed] selection is truncated and not the characters themselves covered by the selection.

SUMMARY. If the cursor is inside a word or you have parts of words selected, then moving word[s] backward will move only the word[s] effected by the cursor or the selection. However, if the cursor or text selection is fully in between words then the word beyond the cursor or text selection is moved only.

The rules governing rightButtonSlides of the "WC" button in EditView's buttonPanel are analogous except that they result in forward movements of words.

If you want to move your words by more than just one word at a time, then [surprise - surprise] you should upButtonSlide the "WC" button which reveals the word mover dialog, and then use the Repeat # field.

NOTE. If there is no text selection in your memo and your cursor is in between two words, then you can transpose the two words surrounding your cursor and leaving the cursor in between them by entering "0" into the Repeat # field of the word mover dialog [upButtonSlided "WC" button].

Next, let us discuss how to move sentences around your memo. Here is a summary of the rules governing leftButtonSlides of the "S" button in EditView's buttonPanel.

The rules governing rightButtonSlides of the "S" button in EditView's buttonPanel are analogous except that they result in forward movements of sentences.

If you want to move your sentences by more than just one sentence at a time, then you should upButtonSlide the "S" button which reveals the sentence mover dialog, and then use the Repeat # field.

NOTE. If there is no text selection in your memo and your cursor is in between two sentences, then you can transpose the two sentences surrounding your cursor and leaving the cursor in between them by entering "0" into the Repeat # field of the sentence mover dialog.

NOTE. The very last sentence in your memo may not end with an end-of-sentence mark, that is, with one of "." [period], "!" [exclamation mark], or "?" [question mark], so that when you move it, then you may end up with a missing end-of-sentence mark. If this happens, then please don't forget to add the appropriate missing end-of-sentence mark.

Next, let us discuss how to move screenLines around your memo.

NOTE. I beg you to read very carefully my comments here and here about screenLines. In particular, please always keep in mind that they are nothing but a figment of your Palm's imagination.

Since moving screenLines may result in somewhat unexpected results, the following general principles apply.

Here is a summary of the rules governing leftButtonSlides of the "K" button in EditView's buttonPanel.

The rules governing rightButtonSlides of the "K" button in EditView's buttonPanel are analogous except that they result in forward movements of screenLines.

If you want to move your screenLines by more than just one screenLine at a time, then you should upButtonSlide the "K" button which reveals the screenLine mover dialog, and then use the Repeat # field.

NOTE. If there is no text selection in your memo and your cursor is in between two screenLines, then you can transpose the two screenLines surrounding your cursor and leaving the cursor in between them by entering "0" into the Repeat # field of the screenLine mover dialog [upButtonSlided "K" button].

Next, let us discuss how to move lines around your memo. Here is a summary of the rules governing leftButtonSlides of the "L" button in EditView's buttonPanel.

The rules governing rightButtonSlides of the "L" button in EditView's buttonPanel are analogous except that they result in forward movements of lines.

If you want to move your lines by more than just one line at a time, then you should upButtonSlide the "L" button which reveals the line mover dialog, and then use the Repeat # field.

NOTE. If there is no text selection in your memo and your cursor is in between two lines, then you can transpose the two lines surrounding your cursor and leaving the cursor in between them by entering "0" into the Repeat # field of the line mover dialog [upButtonSlided "L" button].

Next, let us discuss how to move paragraphs around your memo. Here is a summary of the rules governing leftButtonSlides of the "P" button in EditView's buttonPanel.

The rules governing rightButtonSlides of the "P" button in EditView's buttonPanel are analogous except that they result in forward movements of paragraphs.

If you want to move your paragraphs by more than just one paragraph at a time, then you should upButtonSlide the "P" button which reveals the paragraph mover dialog, and then use the Repeat # field.

NOTE. If there is no text selection in your memo and your cursor is in between two paragraphs, then you can transpose the two paragraphs surrounding your cursor and leaving the cursor in between them by entering "0" into the Repeat # field of the paragraph mover dialog [upButtonSlided "P" button].

NOTE. If you leave the Repeat # field blank in any of the text mover dialogs, then you are going to be moving your text to the beginning or to the end of your memo depending which direction you are moving.

NOTE. If your memo is segmented, then the segment header is excluded from the text moving procedure.

NOTE. Since the text selection is kept unchanged relative to the block of text moved, under rare circumstances you may end up with unexpected text selections.

NOTE. At first reading, the above rules may appear somewhat complicated but once you start moving text, you will see that they are quite logical.

NOTE. Activating buttons via keyboard an/or Graffiti input in the text mover dialogs such as the one pictured below is according to the standard peditorial rules.

text mover

In particular, typing the first letter of any of the regular buttons or push buttons [in either lower or upper case] activates them, typing linefeed [carriage return] activates the default button "F =>" [forward], whereas entering SPACE or TAB rotates the selection among the push buttons.

NOTE. If you feel that the manual is not sufficiently clear and explicit regarding the text movement rules, please let me know.

NOTE. If you are in the expertMode, then the text mover dialog will not show up at all, although you can enter your commands as usual, including the "repeat" number which may have no more than five digits. On the other hand, if you are in the advancedMode then an abbreviated version of the text mover dialog appears in place of the original one which works exactly the same way as the full dialog. In both modes, the title of the dialog will tell you what type of text you are about to move. If you are in the globalMacroMode, then the text mover dialog remains invisible. Enjoy...

Sorting Text

As of version 5.14, I added the ability to sort blocks of text in your memo. This feature can be invoked by either by entering "ESC Y" [upper case "Y"] or by downButtonSliding the "X" button in EditView's buttonPanel. This pops up the text sorter dialog.

text sort

Although currently text sorting is limited to line sorting, I may eventually implement other text sorting commands such as word and paragraph sorting as well.

PRINCIPLE #1. Before any sorting procedure, pedit backs up your memo so that if anything goes wrong during the process such as your Palm runs out of memory [which is unlikely], then your memo will be restored to its original state.

PRINCIPLE #2. If you have some text selected in your memo then all the text sorting functions operate on the text selection, more precisely on a logical extension of your text selection, that is, on all the lines which contain parts of your original text selection. Otherwise, the entire memo gets sorted.

PRINCIPLE #3. After the text sort is completed, the entire sorted text will get selected so that you will have a visual feedback of what happened.

NOTE. If you don't like the results of the sorting then you can restore your current memo to its last saved state with the Restore Memo command EditView's Record #1 menu. However, please keep in mind that the last saved state of your memo may not be the same as the state of your memo just prior to sorting. Therefore, you may want to use the Save Memo command EditView's Record #1 if you plan a complicated text sorting job such as sorting the fifth chapter of Les Miserables in reverse alphabetical order while skipping the first 4 words of each line.

NOTE. Before you ever contemplate sorting lines, please read the about the essential differences between lines and screenLines. Otherwise, I guarantee you that you will be deeply shocked and disappointed after your first line sorting job.

Once you made your text selection in your memo and you invoked your text sorter dialog, you need to set the sorting parameters.

In pedit whitespaces are defined as SPACE, TAB, LINEFEED [carriage return], and a few more similar characters.

In pedit, fields defined as a collection of characters not containing whitespaces, and they are separated from each other by whitespaces.

NOTE. The careful peditor will observe that fields are the same as Forth words, and that my definition of whitespaces and fields is pretty standard except that some more sophisticated systems such as awk and gawk allow you to redefine these notions according to your individual needs.

In pedit, a column is the same as a character [with perhaps a few very rare exceptions].

Enter "0" in the # of skipped fields: text field if you don't want to skip any field. Otherwise, enter the number of fields you want to skip when comparing lines.

Enter "0" in the + # of skipped columns: text field if you want to compare your lines right after the skipped fields. Otherwise, enter the number of columns you want to skip after the skipped fields when comparing lines.

Enter "0" in the # of compared columns: text field if you want all columns to be used in the line comparison after the skipped columns. Otherwise, enter the number of columns you want to use in the line comparison right after the last skipped column.

Check the ignore case box if you want the text sorting to be case-blind.

Check the skip lead blanks box if you want to ignore leading whitespaces after the skipped fields right before the skipped columns.

You can sort your text both alphabetically or numerically in both forward [normal] and reverse directions.

NOTE. If your memo is segmented, then the segment header is excluded from the text sorting procedure.

NOTE. While pedit sorts your lines, you may [or may not] see a progress window showing you the number of comparisons made.

NOTE. When you sort text the very first time, the parameters which you see in your text sorter dialog will most likely be junk. Once you set them, pedit will always remember the latest settings.

NOTE. Probably 99% of all peditors will use only "0" parameters in all their sorting jobs.

NOTE. Activating buttons via keyboard an/or Graffiti input in the text sorter dialog is according to the standard peditorial rules. In particular, typing the first letter of any of the regular buttons, push buttons, or check boxes [in either lower or upper case] activates them, typing linefeed [carriage return] activates the default button "Forward", whereas entering SPACE or TAB rotates the selection among the push buttons. You can also rotate the focus between the text fields using the page up or page down buttons on your Palm, and by entering up arrow or down arrow via your keyboard.

NOTE. The "Reverse" button can also be activated by "b" and "B" [backward].

NOTE. If you feel that the manual is not sufficiently clear and explicit regarding the text sorting rules, please let me know.

NOTE. According to pedit's beta testers, sorting text is very easy and very natural even for "newbie" peditors.

NOTE. The top message on your screen shows the number of comparisons performed while sorting your lines [in increments of hundreds]. I strongly suggest that you take an example with very many, say, a few hundred line breaks, and then watch the show. If you have peditPro, then you could even sort a memo with a few thousand line breaks. It is really educational.

NOTE. You can interrupt [cancel] the sorting process according to the following rules.

NOTE. Neither the expertMode nor the advancedMode have an effect on the text sorter dialog except that you will experience a slight speed improvement compared to the normalMode. However, if you are in the globalMacroMode, then the text sorter dialog remains invisible.

EditView's Record #1 Menu

Since menubar real-estate is a precious commodity, this menu appears as "R1" in the menubar.

New Memo

This command saves your current memo, and then it creates a new one.

Delete Memo

This command allows you to delete your current memo and its sister segments. It is the non-batch version of the Delete Memo command in ListView's Record menu. Please see Delete Memo for further details.

NOTE. This command can also be invoked via the upButtonSlided "D" button in EditView's buttonPanel.

Go to Memo

This is the same as the Go to Memo menu command in ListView's Record Menu.

NOTE. This command can also be invoked via the upButtonSlided "OK" button in EditView's buttonPanel.

Beam Memo

This command allows you to beam your current memo to another Palm. Even if your memo is segmented, it will beam only the currently displayed segment of your memo.

For a more sophisticated beaming operation of individual memos, whether segmented or not, please see the Beam Memo command in ListView's Record menu for further details.

The Beam Category command in ListView's Record menu is also related to this operation.

Print Memo

This is the non-batch version of the Print Memo command in ListView's Record menu.

Print Selection

If you have Stevens Creek Software's PalmPrint, or TealPoint's TealPrint installed in your Palm, then this command prints out the currently selected text of your memo.

It is related to the Print Memo command in EditView's Record #1 menu and the Print Memo command in ListView's Record menu.

Export Memo

This command operates similarly to Export Category command in ListView's Record menu except that (i) it exports memos individually, (ii) it also exports to DOC format, and (iii) it allows you to create an export header.

For the latter, please see the Add a Header command in EditView's Edit+ menu.

When you see this dialog

Export to pedit

then you are in the pedit export mode. Please see the Export Category command in ListView's Record menu for a detailed discussion.

When you see this dialog

Export to doc

then you are in the doc export mode. This mode is the inverse of the Import Doc File command in ListView's Record menu.

First, select a title [file name] for your DOC file.

Second, decide if you want to delete your memo and its sister segments after the export operation has completed.

Third, if your memo is a pedit memo, then decide if you want to have an archival copy left on your PC.

Once you have made these decisions, hit the export memo + all its segments button and pedit takes care of the rest.

For your convenience, pedit is smart enough to pick a proposed DOC file name. If the memo originated from a DOC file, then the original name is shown. If the memo is segmented, then the header title is picked. If there is a current text selection, then it is used as the basis of a proposed name. Otherwise, the memo title is used. In each case, the proposed file name is subject to truncation since they can have no more than 31 letters. In addition, at the proposed file name stops at the first linefeed, if any.

QUESTION. Why can't I export my memo into a compressed DOC file?

ANSWER. Quoting one of the US presidents, it is the speed, stupid. Simply put, crunching your memo into a compressed DOC file would take too much time.

HINT. If you want to combine several of your pedit04 memos into one pedit32 memo, or several memos into one DOC file then proceed as follows.

First, open up the intended first segment of your memo in pedit.

Second, create an [export] header using either the create export header button in this Export Memo command, or the Add a Header command in EditView's Edit+ menu.

Third, copy this header into those memos which you want to export to as one single memo. Adjust the segment number 0010 appropriately.

Finally, export one of them to pedit32 or a DOC file.

NOTE. Entering a linefeed [carriage return] activates the exporter button.

NOTE. I should point out that the exported memo gets deleted from pedit only after the export operation went flawlessly so that your precious data are as safe as possible.

NOTE. The "Please create MemoDB/Memo32DB first..." message means that you have never been in the pedit04/pedit32 mode yet. Go to ListView and use the Switch command in the Navigate menu or tap in the left 1/8th of the title bar, to the left from the small pixel visible just under the title bar.

Insert Memo

This command allows you to insert into your current memo text from any other pedit04 or pedit32 memo or a selection thereof.

The way it works is as follows.

First, place your cursor in your current memo to the position where you want to insert text from another memo.

NOTE. If you wish, you can also select text in your current memo and then the inserted text will overwrite your selection.

Second, invoke the Insert Memo command [aka "ESC <"].

This will place you into ListView where you can see p04Insert... or p32Insert... depending on what pedit you are currently running.

Third, go to the memo you want to insert into your current memo. You can use any of the navigational tools, including the Switch command in ListView's Navigate menu which allows you to visit memos in the sister pedit.

Fourth, either hit the Insert Memo button [aka "ESC i"], or make a text selection, and then hit the Insert Selec'n button [again aka "ESC i"].

NOTE. In addition, to the Insert Memo or Insert Selec'n buttons, the title bar also reminds you that you are in the midst of an insertion operation.

That's all. You will be taken back to you original memo where the insertion operations gets autoMagically completed right in front of your eyes.

NOTE. pedit makes sure that you do not overstep the size limits of your current memo, and depending on the circumstances, it will warn you if you decide to insert too much text.

NOTE. If you change your mind and you want to abort the insertion operation at any time, just go to ListView, and hit the bottom button labelled .Return to the Open Memo Mode, or pick any of the batcher commands in ListView's Record menu with the exception of the Preview Memo command which can assist you in finding the memo you want to insert into your current memo.

NOTE. If you change you mind after the facts, then you can always use the Restore Memo command in EditView's Record #1 menu to alleviate the situation.

Script Memo

Please see the section about pScripting pedit for details on this command.

As a convenient shortcut, "ESC Z" turns globalMacroMode on and then invokes a silent version of this command.

Back Up Memo

This command backs up either the current memo or, if there is a text selection, the selected text in the current memo [as long as it is not too long], and puts a generic date'n'time stamp on the backed up copy.

Backed up memo

Most users will never experience a situation that their memo is too long to be backed up, but, if they do, then a clever dialog will pop up which explains why the operation cannot be accomplished.

If I may suggest, use the "}" button [aka quickSwitcher] after a back up job to return to your original memo.

Save Memo

When you open up your current memo, a copy of it is saved automatically in a temporary file. That temporary file contains what I call last saved state of your memo.

Such a saving takes place every time you open your current memo, that is, it also includes the times when you return from magiPad or you switch to your memo [see the Memo Switcher (aka ">") command in EditView's buttonPanel].

As you edit your memo, there is absolutely no need whatsoever to use this command to save your memo, since when you quit pedit, or switch to ListView, or open up another memo, your current memo is automatically saved.

This is different from DeskTop applications where you must make decisions whether or not to save your files.

However, it happens occasionally that you want to save your current memo after a few editing steps so that later on you could restore it to its last saved state.

You can restore your current memo to its last saved state with the Restore Memo command EditView's Record #1 menu.

This command is related to the Back Up Memo command EditView's Record #1 menu.

Restore Memo

This command restores your current memo to its last saved state.

Please see the Save Memo command EditView's Record #1 menu for further details.

This command is the same as the leftButtonSlided "X" button in EditView's buttonPanel.

Lock|Unlock Memo

A memo is called readOnlyMemo, if it is locked so that it cannot be edited. Otherwise, it is read'n'WriteMemo.

If a memo is in a readOnlyCategory then it is automatically a readOnlyMemo.

This command allows you to switch the state of your memo between readOnlyMemo and read'n'WriteMemo.

Being able to make your memo a readOnlyMemo is essential if you use your memo as a reference and you want to make sure that you will not change it accidentally. Programmers are especially keen on locking down their files.

Because programmers are very finicky [read: pain-in-the-butt] people, I had to find a way which will satisfy the seemingly impossible conditions such as Memo Pad compatibility and various restraints imposed by different programming languages. I am very happy that I found the ideal solution which will most likely please every peditor, whether a programmer or just a regular normal person.

Here are the rather complex rules.

DEFINITION. A category is a readOnlyCategory if and only if the ! starts read only categories box has been checked via the ListView Preference Panel and if the name of the category starts with "!" [exclamation mark].

DEFINITION. A memo is a readOnlyMemo if and only if either the first 256 characters of the memo contain the word $READ_ONLY$ [dollar signs included] or it is in a readOnlyCategory.

That wasn't difficult, was it? The way it works out is as follows. When pedit loads a readOnlyMemo, it turns off all the text editing functions, and, in addition, it also displays the "R" button in EditView's buttonPanel in bold font which gives you a visual reminder that your memo is locked.

QUESTION. How do I unlock a readOnlyMemo?

ANSWER. Use the Lock|Unlock Memo menu command which unlocks your memo so that it becomes temporarily a read'n'WriteMemo. In addition, it will also highlight [the first occurrence of] the word $READ_ONLY$ so that with the strike of a pen [stylus] you can permanently unlock it.

QUESTION. How do I lock a read'n'WriteMemo the very first time?

ANSWER. Use the Lock|Unlock Memo menu command. It will place the word $READ_ONLY$ at the current cursor [or the beginning of your text selection] if it fits within the first 256 characters of your memo. If your cursor is farther from the beginning of your memo, then the word $READ_ONLY$ will be placed at the very beginning of your memo. Once this has been done, pedit locks your memo.

QUESTION. What happens if I change the category of my memo to or from a readOnlyCategory?

ANSWER. pedit will automatically lock or unlock your memo as necessary.

NOTE. You can also manually place the word $READ_ONLY$ in your memo as long as it is within the first 256 characters, and then the Lock|Unlock Memo menu command simply locks your memo without adding the word $READ_ONLY$ to it.

NOTE. In order to help you to identify readOnlyMemos, their titles are marked [prepended] with "!" [exclamation mark] in ListView. Since "!" takes up hardly any space at all, the visible portion of the titles of your memos will not be effected at all.

NOTE. Although it doesn't seem to make much sense, pedit allows to lock blank memos as well. There are two reasons for this. First, I checked other DeskTop software such as BBEdit, and they also allow to do it. Second, it was easier to make the whole concept of locking and unlocking memos to work smoothly and to be as free of bugs as possible.

NOTE. The dollar signs in $READ_ONLY$ are not meant to imply that pedit gives preference to peditors whose countries use dollars in their monetary system. Instead, it is a small pToken [pun intended] of appreciation of my infinite admiration towards anything that resides in /bin and ends with sh, that is, matches ^/bin/[^/]*sh$.

HOMEWORK. Can you find a readOnlyMemo or a readOnlyCategory bug? If yes, then please let me know.

EditView's Record #2 Menu

Since menubar real-estate is a precious commodity, this menu appears as "R2" in the menubar.

Encrypt/Decrypt Memo

pEncryptTool

Please use the "Help" button for the "i-Tips" help file regarding this command.

In particular...

NOTE. A clear text memo can be encrypted if it has a title ending with a RETURN character, followed by a non-blank body. The title itself is allowed to be blank. Only the body gets encrypted.

NOTE. Once a memo has been encrypted, you can freely add new text and/or delete text before and after the encrypted text. pEncryptTool will recognize the encrypted portion and it will decrypt it when asked to do so.

NOTE. Although pEncryptTool tries hard, it can't accurately predict in advance if the encrypted text is going to be too long for the given text field so that it may abort during the encryption process.

NOTE. Encrypted text is appr. 25% longer than its unencrypted source.

NOTE. pEncryptTool has an extensive but not at all fool-proof user error detection mechanism built into it.

NOTE. pEncryptTool's encryption is based on the encryption mechanism supplied with the Palm OS. Google "EncDES", "DES", "DES3", and "3DES".

NOTE. If, in the future, the makers of the Palm OS decide to change the encryption function "EncDES()", then it will no longer be possible to decrypt text which originally was encrypted on Palms using the current "EncDES()".

WARNING. Although pCryptTool's encryption mechanism is not unbreakable, there is no way for you or for me to recover your text if you supply the wrong password[s] (unless you find a relentless encryption wizard).

This command is the same as the upButtonSlided "H" button in EditView's buttonPanel.

EditView's Edit Menu

Undo

This is Palm's built-in undo operation. It undoes [reverts] some of your most recent editing operations such as typing some letters, or entering backspaces, or deleting text, and the Paste, or Cut operations.

NOTE. Palm's undo capabilities are rather limited. As of October 22, 2000, when 3.5.2 is the latest version of the Palm OS, the undo buffer still holds no more than 100 characters.

NOTE. When undo doesn't work, sometimes you can save the situation by using the Restore Memo command in EditView's Record #1 menu.

This command is the same as the "U" button in EditView's buttonPanel.

Cut

This is Palm's built-in cut operation. It copies the current selection to the text ClipBoard, and deletes the selection from the field.

This command is the same as the "X" button in EditView's buttonPanel.

Copy

This is Palm's built-in copy operation. It copies the current selection to the text ClipBoard.

NOTE. The usual 1000 character limit of the Palm OS on the size of copying to the ClipBoard has been removed.

This command is the same as the "C" button in EditView's buttonPanel.

ClipBoard Appender

If your Palm OS is at least 3.3, then this command complements Palm's built-in copy operation. It appends the current selection to the text ClipBoard.

Of course, appending is just that. Nothing more and nothing less. Do not expect the old text and the new text to be separated in any meaningful way.

NOTE. If your Palm OS is at most 3.1, then you cannot append to the ClipBoard.

Paste

This is Palm's built-in paste operation. It replaces the current selection in the text, if any, with the contents of the text ClipBoard.

This command is the same as the "P" button in EditView's buttonPanel.

Select All

This command selects the entire text in your memo.

Select

As of October 11, 2000, this has replaced the original Select command [aka "ESC s"] in EditView's Edit menu.

Text Selector

It has been my experience that it is usually the sophisticated peditor [as opposed to "newbies"] who uses this command. Therefore, many of the text selector commands are quite sophisticated themselves in nature. If you are willing to invest a little extra time to get acquainted with them, they will provide for you an easy way to select text within your memo very fast and very efficiently.

It may be a good idea to study carefully the description of the various text selector commands since not all of them operate in a completely self-evident fashion.

I also recommend that you study the Select and Jump to commands [see EditView's Navigate menu] simultaneously since they share many features.

Please do not forget to read this either. It explains how to repeat the last text selection.

First, let us discuss the top line in the pedit ... selector dialog.

When you start up the pedit ... selector dialog, you will see two numbers displayed in the vrom [from] and to fields. They represent the location of the first and last characters of the text which was selected [highlighted] just before entering the pedit ... selector dialog. If no text was selected, then these numbers coincide with the current cursor location.

NOTE. Please do not forget to read about doubleTaps which help you to fill in the vrom and to fields fast and efficiently.

Pressing the Select button ["ESC s"] takes you back to EditView and selects a range of characters in your memo starting with the value of the vrom field, and ending with the value of the to field.

The vrom [from] field allows you to enter a non-negative integer which will be used as the location of the first character of the text selection to be performed when pressing the Select button.

You may also pick the value of vrom field by pressing the vrom button [lower case "v"] which takes you back to EditView. Now you can either place your cursor anywhere in your memo, or make a text selection manually. Upon getting back into the pedit ... selector dialog again via the normal invocation of the dialog, the vrom field will be changed to the current location of your cursor in the former case, whereas in the latter case the value of the vrom field will be the beginning of the text selection you made in your memo.

NOTE. This may sound more complicated than it is. Just go ahead and try it. I am pretty sure that after the first experiment it will become rather self-evident.

HOMEWORK. Why did I spell from as vrom?

Hint. Enter "f" and watch carefully.

Similarly, the to field allows you to enter a non-negative integer which will be used as the location of the last character of the text selection to be performed when pressing the Select button.

Again, you may also pick the value of to field by pressing the to button ["lower case "t"] which takes you back to EditView. Now you can either place your cursor anywhere in your memo, or make a text selection manually. Upon getting back into the pedit ... selector dialog again via the normal invocation of the dialog, the vrom field will be changed to the current location of your cursor in the former case, whereas in the latter case the value of the vrom field will be the end of the text selection you made in your memo.

NOTE. The current values shown in the vrom and to fields are used by the various commands in the pedit ... selector dialog as the values of the start and the end of the current text selection in your memo.

NOTE. Although you can enter any [at most 5 digit] non-negative integer in the vrom and to fields, pedit is smart enough to recognize when the number in the vrom field is greater than the number in the to field. If the latter happens, then, prior to any action, the to numbers are switched. In addition, pedit also recognizes if these numbers are greater than the size of your memo. If this is the case, then again, prior to any action, the numbers are reduced to the size of your memo. In other words, in what follows, we may assume without loss of generality that the number in the vrom field is no greater than the number in the to field, and that the number in the to field is at most the size of your memo.

EXAMPLE. When you learn to use the Home button, you will see that the selection in your memo will end at the current value of the to field instead of the last highlighted character which was selected just prior to entering the pedit ... selector dialog. Of course, if you did not change the number in the to field, then the latter two values are the same.

Next, let us discuss the second line in the pedit ... selector dialog.

The Repeat # field allows you to enter a non-negative integer which will be used as the number of times the selected command will be performed.

NOTE. Just to make your pedit experiences more pleasant, entering "V", "T", or "R" [upper case "V", "T", and "R"] always selects the number displayed in the vrom, to, or Repeat # fields, respectively, and makes that field focused. In addition, have fun using the following shortcuts.

page up = up arrow = increases the number in the field which is focused

page down = down arrow = decreases the number in the field which is focused

NOTE. Just to make your pedit experiences even more rewarding, entering SPACE or TAB will rotate the focus between the three number fields.

EXAMPLE. For instance, if the Repeat # field contains the number "5" and the abs => push button is highlighted, and then you select the Word button, then the fifth word of your memo will be selected counting from the home position, that is, from top of your memo.

EXAMPLE. For instance, if the Repeat # field contains the number "5", and you select the bWord button, then you will end up selecting the range of characters as defined by vrom and to fields, and, in addition, five more words will be selected backward counting from the character whose position is equal to the number in the vrom field.

This may sound somewhat complicated and intimidating. However, just a few taps will convince you that it is easy and natural.

NOTE. If you are an experienced peditor, then it is self-evident to you that the ESC key version of the above two examples are

ESC s R 5 a w

and

ESC s R 5 b w

respectively.

HOMEWORK. What should and will happen if you enter

ESC s f V 0 T 10 R 5 w

as an ESC key shortcut?

NOTE. When wanting to use the ESC key mechanism, please keep in mind that there is no need for an ESC key within the pedit ... selector dialog since there is no text field in it accepting alphabetical input [see here].

Now I will discuss the Home and End buttons.

The Home button selects all the text between the top [beginning] of your memo and the end of the current text selection as defined by the to field.

ESC s h = selects from the beginning of your memo to the end of the current text selection

ESC s T NUMBER h = selects from the beginning of your memo to the character whose location is "NUMBER"

ESC s ST ST NUMBER h = selects from the beginning of your memo to the character whose location is "NUMBER"

where ST stands either for a SPACE or TAB character.

NOTE. In this case the value in the vrom field is irrelevant.

EXAMPLE. "ESC s T 13 h" selects the first 13 characters of your memo.

The End button selects all the text from the start of the current text selection, as defined by the vrom field, to the bottom [end] of your memo.

ESC s e = selects from the start of the current text selection to the end of your memo

ESC s V NUMBER e = selects from the character whose location is "NUMBER" to the end of your memo

ESC s ST NUMBER e = selects from the character whose location is "NUMBER" to the end of your memo

where ST stands either for a SPACE or TAB character.

NOTE. In this case the value in the to field is irrelevant.

EXAMPLE. "ESC s V 13 e" selects from the 13th character to the end of your memo.

Next, let us discuss the groups of triplet buttons in the pedit ... selector dialog.

Looking at the pedit ... selector screen, you can see three columns of five buttons each with labels bP%, P%, and fP%.

In each of the rows the button labels are very similar, except that the buttons in left column start with the letter "b" [backward], and in the right column they start with the letter "f" [forward].

In fact, typing the letter "b" once, puts you into a backward mode, whereas typing the same letter "b"again, takes you out of the backward mode and places you back to the default symmetric mode.

Similarly, typing the letter "f" once, puts you into a forward mode, whereas typing the same letter "f" again, takes you out of the forward mode and places you back to the default symmetric mode.

In addition, there are two push buttons in the bottom right corner of the pedit ... selector screen called abs => and x <=>.

Pushing abs => or typing "a" puts you into the absolute mode, whereas pushing x <=> or typing "x" puts you into the symmetric mode.

Another way of changing modes is by typing "b", "f", or "a" [absolute], or "x" [symmetric] in any order you wish.

The title bar of the pedit ... jumper screen always tells you which mode you are in.

NOTE. If you use your stylus to tap buttons on the screen then you don't need to be concerned about the above described backward and forward modes although you still need to be able to differentiate between the absolute and symmetric modes. For the latter, just use the abs => and x <=> push buttons.

If you are in the symmetric mode, then the middle column allows you to perform various text selections in a symmetric direction, that is, both left and right, starting from the current text selection, as defined by the vrom and to fields. This is what I define as a text selection in symmetric mode.

If you are in the absolute mode, then the middle column allows you to perform various text selections starting from the home position, that is, from top of your memo. This is what I define as a text selection in absolute mode.

NOTE. The home position of your memo is always the beginning [top] of your memo and the end is the very end of it [bottom].

The left column allows you to to perform various text selections backward starting from the current text selection, as defined by the vrom and to fields. This is what I define as a a text selection in backward mode.

The right column allows you to to perform various text selections forward starting from the current text selection, as defined by the vrom and to fields. This is what I define as a a text selection in forward mode.

Notation. In the following discussion and tables "#" stands for the number which you entered in the Repeat # field. If the Repeat # field is empty or contains the number "0", then, depending on the function of the selected button, you may get a warning dialog reminding you to enter a number into that field.

Notation. In addition, I also use the notation "x" and "y" for the values of the vrom and to fields, respectively.

Now let us discuss the buttons themselves.

The three "Character" buttons bChar, Character, and fChar allow you to select "#" characters counting from the current text selection, as defined by the vrom and to fields. The details are as follows.

The bChar button selects the range of characters as defined by vrom and to fields, and, in addition, "#" characters backward counting from the character whose position is equal to the number in the vrom field.

If you are in the default symmetric mode, then the Character button selects the range of characters as defined by vrom and to fields, and in addition, "#" characters are selected backward and forward counting from the characters whose positions are equal to the the numbers in the vrom and to fields, respectively.

If you are in the absolute mode, then the Character button selects "#" characters counting from the beginning of your memo.

NOTE. In this case the values in the vrom and to fields are irrelevant.

The fChar button selects the range of characters as defined by vrom and to fields, and, in addition, "#" characters forward counting from the character whose position is equal to the number in the to field.

ESC s NUMBER b c = selects from "x - NUMBER" to "y"

ESC s NUMBER c = ESC s NUMBER x c = selects from "x - NUMBER" to "y + NUMBER"

ESC s NUMBER a c = selects from the beginning of your memo to the character whose location is "NUMBER"

ESC s NUMBER f c = selects from "x" to "y + NUMBER"

where "x" and "y" are defined here.

The three "Word" buttons bWord, Word, and fWord allow you to select "#" words counting from the current text selection, as defined by the vrom and to fields. The details are as follows.

The bWord button selects the range of characters as defined by vrom and to fields, and, in addition, "#" words backward counting from the character whose position is equal to the number in the vrom field.

If you are in the default symmetric mode, then the Word button selects the range of characters as defined by vrom and to fields, and in addition, "#" words are selected backward and forward counting from the characters whose positions are equal to the the numbers in the vrom and to fields, respectively.

If you are in the absolute mode, then the Word button selects "#" words counting from the beginning of your memo.

NOTE. In this case the values in the vrom and to fields are irrelevant.

The fWord button selects the range of characters as defined by vrom and to fields, and, in addition, "#" words forward counting from the character whose position is equal to the number in the to field.

NOTE. If the repeat number "#" is equal to "0" and you select word backward [bWord], then you will end up selecting from the beginning of the current word to the end of the current selection. Similarly, if the repeat number "#" is equal to "0" and you select word forward [fWord], then you will end up selecting from the beginning of the current selection to the end of the current word.

EXAMPLE. If there is no current text selection in your memo, that is, "x" = "y" [see here] then

ESC s 0 f w = selects at most one [partial] word from the current cursor to the end of the current word

NOTE. However, there is a [useful] exception to the above rule when the repeat number "#" is equal to "0". Namely, if both the beginning and the end of the selected text happen to be inside the very same word gap, then that particular word gap is selected. This can be used to delete word gaps, that is, to join words.

NOTE. If the repeat number "#" is equal to "0" then the Word button is not functional.

NOTE. See also here for the effects of the status of the Smart [select] check box.

ESC s NUMBER b w = selects from "x" to "y" and "NUMBER" words backward from "x"

ESC s NUMBER w = ESC s NUMBER x w = selects from "x" to "y" and "NUMBER" words backward from "x" and "NUMBER" words forward from "y"

ESC s NUMBER a w = selects "NUMBER" words from the beginning of your memo

ESC s NUMBER f w = selects from "x" to "y" and "NUMBER" words forward from "x"

ESC s 0 b w = selects selects from "x" to "y" and at most one word backward from "x" [the last word is the selection may be partial]

ESC s 0 f w = selects selects from "x" to "y" and at most one word forward from "y" [the first word is the selection may be partial]

where "x" and "y" are defined here.

NOTE. Typing the number "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

The three "Sentence" buttons bZent, Zentence, and fZent allow you to select "#" sentences counting from the current text selection, as defined by the vrom and to fields. The details are as follows.

The bZent button selects the range of characters as defined by vrom and to fields, and, in addition, "#" sentences backward counting from the character whose position is equal to the number in the vrom field.

If you are in the default symmetric mode, then the Zentence button selects the range of characters as defined by vrom and to fields, and in addition, "#" sentences are selected backward and forward counting from the characters whose positions are equal to the the numbers in the vrom and to fields, respectively.

If you are in the absolute mode, then the Zentence button selects "#" sentences counting from the beginning of your memo.

NOTE. In this case the values in the vrom and to fields are irrelevant.

The fZent button selects the range of characters as defined by vrom and to fields, and, in addition, "#" sentences forward counting from the character whose position is equal to the number in the to field.

NOTE. If the repeat number "#" is equal to "0" and you select sentence backward [bZent], then you will end up selecting from the beginning of the current sentence to the end of the current selection. Similarly, if the repeat number "#" is equal to "0" and you select sentence forward [fZent], then you will end up selecting from the beginning of the current selection to the end of the current sentence.

EXAMPLE. If there is no current text selection in your memo, that is, "x" = "y" [see here] then

ESC s 0 f z = selects at most one [partial] sentence from the current cursor to the end of the current sentence

NOTE. If the repeat number "#" is equal to "0" then the Zentence button is not functional.

NOTE. See also here for the effects of the status of the Smart [select] check box.

ESC s NUMBER b z = selects from "x" to "y" and "NUMBER" sentences backward from "x"

ESC s NUMBER z = ESC s NUMBER x z = selects from "x" to "y" and "NUMBER" sentences backward from "x" and "NUMBER" sentences forward from "y"

ESC s NUMBER a z = selects "NUMBER" sentences from the beginning of your memo

ESC s NUMBER f z = selects from "x" to "y" and "NUMBER" sentences forward from "y"

ESC s 0 b z = selects selects from "x" to "y" and at most one sentence backward from "x" [the last sentence is the selection may be partial]

ESC s 0 f z = selects selects from "x" to "y" and at most one sentence forward from "y" [the first sentence is the selection may be partial]

where "x" and "y" are defined here.

NOTE. Typing the "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

NOTE. I am sure you know that "Sentence" is spelled as "Zentence" above because "z" is the activator letter.

The three "LineFeed" buttons bLine, LineFeed, and fLine allow you to select "#" lines counting from the current text selection, as defined by the vrom and to fields. The details are as follows.

The bLine button selects the range of characters as defined by vrom and to fields, and, in addition, "#" lines backward counting from the character whose position is equal to the number in the vrom field.

If you are in the default symmetric mode, then the LineFeed button selects the range of characters as defined by vrom and to fields, and in addition, "#" lines are selected backward and forward counting from the characters whose positions are equal to the the numbers in the vrom and to fields, respectively.

If you are in the absolute mode, then the LineFeed button selects "#" lines counting from the beginning of your memo.

NOTE. In this case the values in the vrom and to fields are irrelevant.

The fLine button selects the range of characters as defined by vrom and to fields, and, in addition, "#" lines forward counting from the character whose position is equal to the number in the to field.

NOTE. If the repeat number "#" is equal to "0" and you select line backward [bLine], then you will end up selecting from the beginning of the current line to the end of the current selection. Similarly, if the repeat number "#" is equal to "0" and you select line forward [fLine], then you will end up selecting from the beginning of the current selection to the end of the current line.

NOTE. See also here for the effects of the status of the incl[ude] EOL check box.

EXAMPLE. If there is no current text selection in your memo, that is, "x" = "y" [see here] then

ESC s 0 f l = selects at most one [partial] line from the current cursor to the end of the current line

NOTE. If the repeat number "#" is equal to "0" then the LineFeed button is not functional.

ESC s NUMBER b l = selects from "x" to "y" and "NUMBER" lines backward from "x"

ESC s NUMBER l = ESC s NUMBER x l = selects from "x" to "y" and "NUMBER" lines backward from "x" and "NUMBER" lines forward from "y"

ESC s NUMBER a l = selects "NUMBER" lines from the beginning of your memo

ESC s NUMBER f l = selects from "x" to "y" and "NUMBER" lines forward from "y"

ESC s 0 b l = selects selects from "x" to "y" and at most one line backward from "x" [the last line is the selection may be partial]

ESC s 0 f l = selects selects from "x" to "y" and at most one lines forward from "y" [the first line is the selection may be partial]

where "x" and "y" are defined here.

NOTE. Typing the "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

NOTE. Please do not forget that lines and screenLines are not the same objects.

The three "Paragraph" buttons bPar, Paragraph, and fPar allow you to select "#" paragraphs counting from the current text selection, as defined by the vrom and to fields. The details are as follows.

The bPar button selects the range of characters as defined by vrom and to fields, and, in addition, "#" paragraphs backward counting from the character whose position is equal to the number in the vrom field.

If you are in the default symmetric mode, then the Paragraph button selects the range of characters as defined by vrom and to fields, and in addition, "#" paragraphs are selected backward and forward counting from the characters whose positions are equal to the the numbers in the vrom and to fields, respectively.

If you are in the absolute mode, then the Paragraph button selects "#" paragraphs counting from the beginning of your memo.

NOTE. In this case the values in the vrom and to fields are irrelevant.

The fPar button selects the range of characters as defined by vrom and to fields, and, in addition, "#" paragraphs forward counting from the character whose position is equal to the number in the to field.

NOTE. If the repeat number "#" is equal to "0" and you select paragraph backward [bPar], then you will end up selecting from the beginning of the current paragraph to the end of the current selection. Similarly, if the repeat number "#" is equal to "0" and you select paragraph forward [fPar], then you will end up selecting from the beginning of the current selection to the end of the current paragraph.

EXAMPLE. If there is no current text selection in your memo, that is, "x" = "y" [see here] then

ESC s 0 f p = selects at most one [partial] paragraph from the current cursor to the end of the current paragraph

NOTE. However, there is a [useful] exception to the above rule when the repeat number "#" is equal to "0". Namely, if both the beginning and the end of the selected text happen to be inside the very same paragraph trailer, then that particular trailer is selected. If EOLs are not included then the first linefeed is deselected. This can be used to delete trailer, that is, to join paragraphs, with or without joining lines.

NOTE. If the repeat number "#" is equal to "0" then the Paragraph button is not functional.

NOTE. See also here for the effects of the status of the incl[ude] EOL check box.

ESC s NUMBER b p = selects from "x" to "y" and "NUMBER" paragraphs backward from "x"

ESC s NUMBER p = ESC s NUMBER x p = selects from "x" to "y" and "NUMBER" paragraphs backward from "x" and "NUMBER" paragraphs forward from "y"

ESC s NUMBER a p = selects "NUMBER" paragraphs from the beginning of your memo

ESC s NUMBER f p = selects from "x" to "y" and "NUMBER" paragraphs forward from "y"

ESC s 0 b p = selects selects from "x" to "y" and at most one paragraph backward from "x" [the last paragraph is the selection may be partial]

ESC s 0 f p = selects selects from "x" to "y" and at most one paragraphs forward from "y" [the first paragraph is the selection may be partial]

where "x" and "y" are defined here.

NOTE. Typing the "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

NOTE. Please do not forget to check what paragraphs really are.

If the Smart [select] box [upper case "S"] is checked, and you are selecting words or sentences, then all trailing whitespaces are also included in the selection. A whitespace is defined as a regular SPACE, TAB, or LINEFEED [carriage return] character, and a few additional exotic space-like characters which may depend on the particular Palm operating system.

"S" [upper case] = toggle the Smart [select] box

"M" [upper case] = check the Smart [select] box [a pScript friendly operation]

If the Forth w[ord] box [upper case "F"] is checked then, by definition, words are separated from each other by whitespaces only unlike in regular spoken languages where punctuation signs also separate words. For instance, if Forth rules, then this sentence contains ten words only.

"F" [upper case] = toggle the Forth w[ord] box

"O" [upper case "oh"] = check the Forth w[ord] box [a pScript friendly operation]

If the incl[ude] EOL [EOL means "end-of-line"] box [lower case "i"] is checked, and you are selecting lines, then the text selection will also include the nearest trailing carriage return characters. This is useful when selecting text which extends over several lines.

If the incl[ude] EOL box [lower case "i"] is checked, and you are selecting paragraphs, then the text selection will also include the nearest paragraphs trailers. This is useful when selecting text which extends over several paragraphs.

NOTE. What the heck is a paragraphs trailer? It refers to the stuff you cannot see between paragraphs. It consists of SPACE, TAB characters squeezed between linefeeds [carriage returns].

"i" [lower case] = toggle the incl[ude] EOL box

"I" [upper case] = check the incl[ude] EOL box [a pScript friendly operation]

The .Cncl [.Cancel] button ["ESC s." - but why] aborts the text selection operation and takes you back to EditView.

The Marker button ["ESC sm"] selects text in your memo depending on the current text selection, as defined by the vrom and to fields, and the marker [see the Set Marker command in EditView's Navigate menu].

The rules are as follows.

If there is no text selection in your memo, that is, both the vrom and to fields have the same value, then tapping the Marker button selects text between the marker and the current cursor location as defined by the vrom field.

EXAMPLE. If both the vrom and to fields contain the number 1918 and the marker is located at position 1939, and you enter "ESC sm" then the text selection will contain all the characters from 1918 to 1939.

HOMEWORK. What will happen if you enter "ESC sV1945T1945m" instead of "ESC sm" in the above example?

When there is a text selection in your memo then the situation is a little more complicated.

If the marker position is outside the range of the selected text, as defined by the vrom and to fields, then tapping the Marker button extends the selection of the text to the marker.

EXAMPLE. If the vrom field contains the number 1914 and the to field contains the number 1918 and the marker is located at position 1939, and you enter "ESC sm" then the text selection will contain all the characters from 1914 to 1939.

HOMEWORK. What will happen if you enter "ESC sV1945T1956m" instead of "ESC sm" in the above example?

If the marker position is inside the range of the selected text, as defined by the vrom and to fields, then tapping the Marker button has no effect.

If you have a better idea what should happen in the latter case, please let me know.

EXAMPLE. If the vrom field contains the number 1914 and the to field contains the number 1945 and the marker is located at position 1939, and you enter "ESC sm" then the text selection will contain all the characters from 1914 to 1945.

NOTE. All the text selection commands are sticky in the sense that the last text selection command can be repeated by simply either doing a buttonShifted "S" job in EditView's buttonPanel, or by entering "ESC S" [upper case "S"]. Of course, once you quit your memo or magiPad, the last text selection becomes history.

NOTE. If you are in the expertMode, then the pedit ... selector dialog will not show up at all, although you can enter your commands as usual, including the "vrom", "to", and "repeat" numbers which may have no more than five digits. On the other hand, if you are in the advancedMode, then an abbreviated version of the pedit ... selector dialog appears in place of the original one which works exactly the same way as the full dialog. If you are in the globalMacroMode, then the pedit ... selector dialog remains invisible. Enjoy...

The original version of "Select..."

As of October 11, 2000, this has been replaced by the brand new Select command in EditView's Edit menu.

I kept the old version of "Select..." in this manual for two reason. First, there are many peditors who are somewhat slow in upgrading their pedits. Second, this gives a chance to see pedit in progress.

This command pops up the text selector window which allows a myriad customizable text selections.

Text Selector

All buttons and check boxes can be activated by entering the first letters of their labels. Switching between the number fields can be achieved by entering SPACE or TAB.

Here is a neat example. Perform a doubleTap with the consecutive component taps in two different areas of your text. This pops up the text selector window where you hit the Word button. Voila, the words containing the two taps and, in addition, all the words between the two taps become selected.

If the smart select box is checked then all trailing strict spaces are also included in the selection. A strict space is defined as a regular space or tab character and a few exotic space-like characters which may depend on the particular Palm operating system.

If the Forth word box is checked then, by definition, words are separated from each other by whitespaces only unlike in regular spoken languages where punctuation signs also separate words.

If the include EOL [EOL means "end-of-line"] box is checked then the text selection will also include the nearest trailing carriage return character. This is useful when selecting text which extends over several lines.

As a convenient shortcut, in EditView "ESC S" selects all text in the memo just like the Select All command in EditView's Edit menu so that there is no need to open up the text selector window for this operation [which, by the way, responds to "ESC s"].

Another time saving shortcut in EditView is "ESC W" which selects the word surrounding the cursor.

Move

This command pops up the text mover dialog which allows you to move blocks of text around your memo. Please see here for more details.

This command is the same as the upButtonSlided "X" button in EditView's buttonPanel.

NOTE. This command has expert && advanced modes.

Sort

This command pops up the text sorter dialog which allows you to sort blocks of text in your memo. Please see here for more details.

This command is the same as the downButtonSlided "X" button in EditView's buttonPanel.

Keyboard

This command pops up Palm's built-in virtual keyboard so that you can edit your memo while pretending that you are in fact typing.

Graffiti Help

This command pops up the Graffiti Reference Dialog.

Help

This command opens the help dialog which is mostly [but not always] context sensitive.

EditView's Edit+ Menu

Since menubar real-estate is a precious commodity, this menu appears as "Ed+" in the menubar.

Insert Char

This command gives you an ASCII table in the form of a scrollable list.

It provides an elegant way to insert an arbitrary ASCII character into your text at the current cursor location [or replace the current text selection].

It pops up an ASCII list which shows both decimal and hexadecimal values of the ASCII characters.

If you tap on a character, then it will be inserted into your current text at the current cursor position. If instead of a blinking cursor you have some text selected, then it will be replaced by the picked character.

NOTE. Unlike with magiPad's Qopy'n'Paste command which selects the inserted text, the Insert Char command places the cursor right after the character which was inserted into your text.

NOTE. Only the character gets inserted. The additional numbers such as "[065 0x41] A" are given for informational purposes only.

Please see here for help on navigating the ASCII list.

This command is the same as the upButtonSlided "U" button.

The characters on the list are the same as given by the "ASCII Table" command. However, the user interface is completely different.

ASCII Table

This command gives you an ASCII table. It is described in details where magiPad is discussed.

You can get another ASCII table in the form of a scrollable list via the Insert Char command which is the same as downButtonSlided "U" button.

This command is the same as the downButtonSlided "U" button.

NOTE. If you are in magiPad, then this command is the same as the Insert Char command.

Auto Indent

This command pops up the Automatic Indentation list.

Auto Indent

Auto indenting allows your Palm to be used as a serious program source code and text editing tool. The opportunities outside the scope of programming are limited by your imagination only.

If you are a programmer or a writer, then you don't need any explanation whatsoever. If you aren't, then let me just say that after you adjusted your preferences using items "9" ans "0" in the list, and if you enabled automatic indentation using items "2" through "8", then every new line inherits the indentation [the whitespace characters] of the previous line as long as neither Palm's built-in virtual keyboard nor pasting is used for entering text.

Since it is much easier to explain this on an example, here is one.

For instance, typing

# comment

the next line will have an autoMagic "# " ["#" and "SPACE"] in the beginning of it as long as you activated either the auto indent ON w SPACE & EX or the auto indent ON w ALL item on the list and you picked "#" using the change EXTRA char... item.

If you enter a carriage return after the word "comment" and then you enter "pedit" then you will have

# comment
# pedit

Did you get it? If not, please try it.

We will define the collection of characters which get reproduced by entering a carriage return to be the line indentation header.

In the example above the line indentation header consists of "SPACE" and "#".

If items "2" through "8" are activated then automatic indentation in enabled.

QUESTION. How do I know if I enabled automatic indentation?

ANSWER. Look for the small 2*2 pixel sized black square just above EditView's scroll bar.

The more EXTRAS... item allows you to define up to 16 additional whitespace characters which are used by automatic indentation.

Use the turn more EXTRAS ON/OFF to activate/deactivate the additional whitespace characters.

For instance, if you define the letters in "pedit" as additional extra characters, then you can produce text such as

#pedit# blahblah one...
#pedit# blahblah two...
#pedit# blahblah three...

automatically.

NOTE. I bet you already figured it out that defining the letters in "peditblah" as additional extra characters, makes the above example even easier to produce.

NOTE. You can use space, backspace, arrows, the 5-way navigator, the numbers/letters in front of the list items to navigate the list. Use ENTER to activate the highlighted item, and "." [period] to cancel the list. Please see here for full help on navigating the Automatic Indentation list.

NOTE. Not only EditView, but also each and every magiPad/scriptPad remembers its own automatic indentation preferences.

Block Shift

This command pops up the Block Shift list.

Block Shift

This command is related to what many programmers and professional writers would call block indentation or block shifting.

I recommend that you use one of the mono-spaced fonts while shifting so that you would have a perfect visual feedback of what you have accomplished.

Please keep in mind that a line is not necessarily what you think a line is. Please check out the definition of lines here.

Use the change EXTRA char... item to define an additional character which can be used in conjunction with SPACE and TAB to perform block shifts.

Use the change => SHIFT SIZE... and change <= SHIFT SIZE... items to define the number of shift characters which are added/deleted when performing block shifts.

NOTE. When shifting to the right, blank lines are left unchanged if the right-shift character is either SPACE or TAB.

NOTE. In order to make block shifting a little more user friendly, I deviated from the widely accepted standards of block shifting in the sense that if only one single line is shifted, then the cursor is placed at the end of the shifted line instead of selecting the entire line.

NOTE. In view of the combination of the above two notes, if you right-shift more than one line and all but one are blank, then the cursor may end up at the end of a blank line instead of the end of the non-blank line. I hope you can live with this minor inconvenience.

NOTE. You can use space, backspace, arrows, the 5-way navigator, the numbers/letters in front of the list items to navigate the list. Use ENTER to activate the highlighted item, and "." [period] to cancel the list. Please see here for full help on navigating the Block Shift list.

NOTE. Not only EditView, but also each and every magiPad/scriptPad remembers its own block shifting preferences.

NOTE. This command can be also be invoked using the buttonShifted "T" [aka "[]"] button.

EXAMPLE. Right-shifting

pedit
LapTopHack
pToolSet

with the extra character "#" [item 3] yields

###pedit
###LapTopHack
###pToolSet

if the ...=> SHIFT SIZE... is set to 3.

Shift Left

This command is a shortcut for the last left shift command made while using the Block Shift command in EditView's Edit+ menu.

NOTE. This command can be also be invoked using the buttonShifted "L" [aka "["] button.

The analogous right shifts are performed by invoking the Shift Right command in EditView's Edit+ menu.

Shift Right

This command is a shortcut for the last right shift command made while using the Block Shift command in EditView's Edit+ menu.

NOTE. This command can be also be invoked using the buttonShifted "K" [aka "]"] button.

The analogous left shifts are performed by invoking the Shift Left command in EditView's Edit+ menu.

SkyIsLimit on|off

If SkyIsLimit is on then a "*" [sky => star] appears right next to the "H" button in EditView's Button Panel.

SkyIsLimit allows you to create 4Mb and 32Mb virtual memos in pedit and pedit32, respectively. Please note that I am referring to "Mb" and not "Kb". Of course, as most of you will find out, 32Mb is rarely reachable unless your sister works for one of those companies which make Palm clones.

This feature was primarily created for those peditors who hook up their Palm to an external keyboard [or the other way around, depending one's outlook on life], and then they pretend that they have a full featured laptop computer. Boy, they are right!

With SkyIsLimit you can take notes at meetings lasting hours and hours and/or you can write the great American [or any other nation's] novel right on your Palm.

The way this works is as follows.

If you are typing into a memo [except for the built-in virtual keyboard], and (i) if your cursor is located at the very end of your text [where it should be unless you are editing an existing memo], and (ii) if you filled up 75% of your current memo's capacity, and (iii) if and you type a space or newline character or if you are at the very and of your memo's capacity, then a new memo

A Segmented Memo

is created autoMagically which starts like


123456... #segment.0020#
2000/04/08 11:54:42 00DB2152
Title: [and here come the first 64 letters of the first line of your memo].
Category: [here is the category of your memo]
!DO NOT TOUCH THIS LINE OR ABOVE!

and then you can continue typing where the cursor is.

Here "123456" are the first 6 letters of your memo.

When you fill up segment.0020, then segment.0030 is created, and so forth. It is easier to experience this than to describe it, so please go ahead and play with it.

Since each of your memos is filled up to 75% of its maximum capacity, you have plenty of real estate for additions, corrections, editing, and so forth.

QUESTION. How do I know if my 75% limit is approaching?

ANSWER. Turn on the displayable statistics.

When you do a HotSync job, you can join your segments on your DeskTop any way you want it.

Of course, you can also export your segmented memo and its sister segments into a DOC file using the Export Memo command in EditView's Record #1 menu, and then, by the time it hits your DeskTop, it will be a single DOC file.

Needless to say, this process is reversible.

I can almost guarantee you that you will love SkyIsLimit. Here is a tip. If you don't care for it, then don't use it.

NOTE. When in myNotes [see also EditView's "N" button], or, more generally, when the memo starts with "xxx.myNotes" followed by a blank line, then SkyIsLimit is temporarily disabled which prevents the current "myNotes" and allso all archived "myNotes" from being split up.

New Chapter

We use the word chapter and segment interchangably. If you are writing a novel, then chapter is the right word. If you take notes, then segment [or even page] is perhaps more appropriate.

There is a subtle difference between chapters and segments. Usually, but not always, chapters are broken at logical interruptions, whereas segments may be broken anytime whenever pedit decides that it is time to start a new segment.

Please see here for a more detalied discussion of segments vs chapters.

With this command, whether or not SkyIsLimit is active, you can always force the creation of a new segment whose segment index will be right after the segment index of your current memo.

After invoking this command, you will see a dialog which allows you to decide whether you want a brand new blank [text free] chapter or you want to split up your current memo and you want to move the text which is located after the cursor in your memo to the new chapter. If you have some text selected, then it is assumed that the cursor is at the very start of the selection.

If your current memo is not yet segmented then it will be given a header prior to placing you into a new segment.

Whenever you use this command, the segment indices of your memo and its sister segments get automatically readjusted so that if you added some segments manually to your memo then the new segment indices will be again in multiples of ten.

NOTE. If your cursor happens to be either at the start of your memo or inside the header of your memo, then it doesn't make much sense at all to move the text after the cursor to a new chapter so that the operation will abort if you requested pedit to move text too.

Go to Prev Chap

If your current memo is segmented and the current segment is not the first one, then this command takes you to the bottom of the previous segment of your memo.

If you are at the top of your memo then hitting the page up button has the same effect as this command.

NOTE. If the previous segment was already visited and it is invoked via the segmentSwitcher ["$"] button in EditView's buttonPanel, then the previous memo vitals are restored.

Go to Next Chap

If your current memo is segmented and the current segment is not the last one, then this command takes you to the top of the next segment of your memo.

If you are at the bottom of your memo then hitting the page down button has the same effect as this command.

NOTE. If the next segment was already visited and it is invoked via the segmentSwitcher ["$"] button in EditView's buttonPanel, then the previous memo vitals are restored.

Reindex Chaps

With this command, if your current memo is segmented, then the segment indices of your memo and its sister segments get automatically readjusted so that if you added some segments manually to your memo then the new segment indices will be again in multiples of ten.

Add a Header

A memo header

A Header

contains all the essential information regarding your memo which is used both in the SkyIsLimit feature and in exporting several memos into one pedit32 memo or DOC file. The details are explained here.

QUESTION. Why do I need to create header?

ANSWER. So that you can create segments manually which can be combined into one pedit32 memo or DOC file via an export job.

Once you have a header, you can use it as a template to paste it to the top of other memos so that they would create one family of segmented memos.

Please make sure that you adjust the segment number appropriately in each of the segments so that they would be ordered exactly the way you want it. Any (exactly) 4 digit number can be used such as 0002 and 1976.

Edit Selection

This command allows you to edit the current text selection separately in a setting similar to magiPad. Once you finished editing your text, you can use the Qopy'n'Paste button or "ESC Q" [upper case "Q"] to paste your text back into your current memo.

Once you finished editing your text in magiPad you can either select some text in it and then hit the Qopy'n'Paste button ["ESC Q"] or just have a blinking cursor while you do a Qopy'n'Paste job.

If you have text selection then the Qopy'n'Paste button acts normally and pastes the current text selection back to your current memo.

If you have a blinking cursor, then you will have a dialog coming up which will allow you to select the entire text and then paste it back to your current memo.

NOTE. If there is no current text selection in your current memo then you are still taken to a blank copy of magiPad where you can create new text and then later you can use the Qopy'n'Paste button or "ESC Q" to paste it back at your current cursor position in your current memo.

EditView's Options Menu

Since menubar real-estate is a precious commodity, this menu appears as "Opt" in the menubar.

Font

This command yields another way of changing fonts in EditView. Please see EditView's Fonts for more details.

Add a DateStamp

This command inserts a date'n'time stamp of the form

2000/04/08 11:54:42

into your memo at the current cursor location if there is no current text selection in your memo, and replaces the latter by a date'n'time stamp if there is one. The actual formatting uses the preferences set in the "Formats" Preference Panel.

Batch Processor

This command is the same as the Batch Processor command in ListView's Options menu. Please see here for the details.

Visibilator

This button invokes the visibilator command. It can also be invoked via "ESC !".

Have you ever wondered if that gap thing right there in your text is two spaces, or three spaces, or, maybe, is it a tab or a combination thereof? Worry no longer! Just invoke the visibilator and it shows you the spaces and tabs by replacing them with "·" [middle dot] and "»" [right pointing double angle quotation mark, similar to ">>"], respectively.

The Visibilator

NOTE. As of version 6.46, the visibilator acts on the selected range of text only unless there is no text selection at all. In the latter case, the entire text gets acted upon.

Feel free to edit your invisible characters as you wish. Then use the visibilator again, and you are back to "normal".

If you want to see the carriage returns [linefeeds] too then please set the linefeed is viewed as invisible check box in the pedit preferences dialog and you are all set.

The next time you invoke the visibilator, all your carriage returns will show up as [the pilcrow or paragraph sign, similar to the mirror image of "P"].

QUESTION. When my invisible characters were shown, I edited my memo, and now I have a mixture of spaces, tabs, linefeeds, and their visibilator equivalents in my memo. What a mess. How can I get my memo back to normal?

ANSWER. Just make sure that there is no text selection in your memo and then use the visibilator twice. That should fix your memo.

Case yes|no

This is just a handy shortcut to toggling the Ign[ore] Case check box in the Find'n'Replace dialog which is explained here where the Find command in EditView's Navigate menu is discussed.

In a nutshell, this controls whether all find and search operations are case sensitive.

Wrap yes|no

This is just a handy shortcut to toggling the Wrap check box in the Find'n'Replace dialog which is explained here where the Find command in EditView's Navigate menu is discussed.

In a nutshell, this controls whether all search and replace operations are going to stop once they reach the end of your memo, or else, they will go back to the start of your memo and continue what they are engaged in. The only exception is that "All R" [Replace All] command which stops at the end.

Stats on|off

This command toggles the statistics displayed in the title bar.

Buttons on|off

This command allows you to toggle EditView's buttonPanel on and off.

When it is off, that is, when you are in the full screen edit mode, then the text editing field is slightly larger which seems to please many pedit aficionados.

I personally love the buttonPanel and would never turn it off.

This selection is sticky in the sense that it survives visits to ListView and to other applications.

NOTE. If you happen to have an empty memo in a readOnlyCategory while turning the buttons on or off, then you will be transported to ListView which is the sensible thing to do since there is no point in ending up with a blank memo in a readOnlyCategory.

Phone Lookup

This command calls Palm's built-in Address Book application to lookup a phone number.

If there is some selected text in your memo and if there is a match, then the selected text will be replaced with the phone number.

If there is no selected text and there is a match, then the phone number is placed to the current cursor location.

If there is no match, the function displays the Address Book short list.

Preferences

This command brings up the pedit preferences dialog. Please see here for the details.

About pedit

This command is explained here.

EditView's Navigate Menu

Since menubar real-estate is a precious commodity, this menu appears as "Nav" in the menubar.

Visit Top

This command allows you to examine the beginning of your memo. The location of the cursor remains unchanged. If you want to move your cursor as well, then please use the Jump to command in EditView's Navigate menu.

Jump to

As of September 11, 2000, this has replaced the original Jump to command in EditView's Opt[ions] menu.

Jumper

It has been my experience that it is usually the sophisticated peditor [as opposed to "newbies"] who uses this command. Therefore, many of the jumper commands are quite sophisticated themselves in nature. If you are willing to invest a little extra time to get acquainted with them, they will provide for you an easy way to navigate within your memo very fast and very efficiently.

It may be a good idea to study carefully the description of the various jumper commands since not all of them operate in a completely self-evident fashion.

I also recommend that you study the Select [see EditView's Opt[ions] menu] and Jump to commands simultaneously since they share many features.

Please do not forget to read this either. It explains how to repeat the last jump.

The Repeat # field allows you to enter a non-negative integer which will be used as the number of times the selected command will be performed.

NOTE. Just to make your pedit experiences more pleasant, entering "r" always selects the number displayed in the Repeat # field. In addition, please don't hesitate to use the following shortcuts.

page up = up arrow = increases the number in the Repeat # field

page down = down arrow = decreases the number in the Repeat # field

For instance, if the Repeat # field contains the number "5", and you select the Word button, then your cursor will jump to the fifth word of your memo counting from the home position, that is, from top of your memo.

If the Forth w[ord] box [upper case "F"] is checked then, by definition, words are separated from each other by whitespaces only unlike in regular spoken languages where punctuation signs also separate words. For instance,if Forth rules, then this sentence contains ten words only.

"F" [upper case] = toggle the Forth w[ord] box

"O" [upper case "oh"] = check the Forth w[ord] box [a pScript friendly operation]

Looking at the pedit ... jumper screen, you can see three columns of six buttons each and another set of three buttons under them with labels bP%, P%, and fP%.

In each of the rows the button labels are very similar, except that the buttons in left column start with the letter "b" [backward], and in the right column they start with the letter "f" [forward].

In fact, typing the letter "b" once, puts you into a backward mode, whereas typing the same letter "b"again, takes you out of the backward mode and places you back to the default absolute mode.

Similarly, typing the letter "f" once, puts you into a forward mode, whereas typing the same letter "f" again, takes you out of the forward mode and places you back to the default absolute mode.

Another way of changing modes is by typing "b", "f", or "a" [absolute] in any order you wish.

The title bar of the pedit ... jumper screen always tells you which mode you are in.

NOTE. If you use your stylus to tap buttons on the screen then you don't need to be concerned about the above described backward, forward, and absolute modes.

The middle column allows you to jump to various cursor positions starting from the home position, that is, from top of your memo. This is what I define as a jump in absolute mode.

NOTE. The home position of your memo is always the beginning [top] of your memo and the end is the very end of it [bottom] with the exception of screenLine jumps when home and end refer to the top and bottom of the currently visible screen on your Palm.

The left column allows you to jump backward to various cursor positions starting from the current position of your cursor. This is what I define as a jump in backward mode.

The right column allows you to jump forward to various cursor positions starting from the current position of your cursor. This is what I define as a jump in forward mode.

NOTE. If there is a text selection in your memo, then, in the context of jumping, the current cursor position depends on the direction of your jump. If you jump backward, then I define the current cursor position as the beginning of your text selection, whereas otherwise the current cursor position is defined as the end of your text selection.

NOTE. As of September 25, 2000, the only exception to this rule is when you perform screenLine jumps. As soon as I figure out a meaningful implementation of screenLine jumps with text selections, I will update this rule as well.

EXAMPLE. For instance, if the Repeat # field contains the number "5", and you select the bWord button, then your cursor will jump backward to the fifth word of your memo counting from the current cursor position.

EXAMPLE. For instance, if the Repeat # field contains the number "5", and you select the fWord [no pun intended whatsoever] button, then your cursor will jump forward to the fifth word of your memo counting from the current cursor position.

NOTE. If you are an experienced peditor, then it is self-evident to you that the ESC key version of the above two examples are

ESC j 5 b w

and

ESC j 5 f w

respectively.

HOMEWORK. What should and will happen if you enter

ESC j 5 w

as an ESC key shortcut?

NOTE. When wanting to use the ESC key mechanism, please keep in mind that there is no need for an ESC key within the pedit ... jumper dialog since there is no text field in it accepting alphabetical input [see here].

Notation. In the following discussion and tables "#" stands for the number which you entered in the Repeat # field. If the Repeat # field is empty or contains the number "0", then, depending on the function of the selected button, you may get a warning dialog reminding you to enter a number into that field.

Now let us discuss the buttons themselves.

The three "Character" buttons allow you to jump backward [bChar] or forward [fChar] exactly "#" characters from your current cursor position, or to jump to the "#th" character [Character] counting from the top of your current memo.

ESC j NUMBER b c = jump the cursor backward by "NUMBER" characters relative to the current cursor position

ESC j NUMBER c = jump the cursor forward by "NUMBER" characters counting from the top of your memo

ESC j NUMBER f c = jump the cursor forward by "NUMBER" characters relative to the current cursor position

The three "Word" buttons allow you to jump backward [bWord] or forward [fWord] exactly "#" words from your current cursor position, or to jump to the "#th" word [Word] counting from the top of your current memo.

ESC j NUMBER b w = jump the cursor backward by "NUMBER" words relative to the current cursor position

ESC j NUMBER w = jump the cursor forward by "NUMBER" words counting from the top of your memo

ESC j NUMBER f w = jump the cursor forward by "NUMBER" words relative to the current cursor position

NOTE. Typing the number "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

The three "Sentence" buttons allow you to jump backward [bZent] or forward [fZent] exactly "#" sentences from your current cursor position, or to jump to the "#th" sentence [Zentence] counting from the top of your current memo.

ESC j NUMBER b z = jump the cursor backward by "NUMBER" sentences relative to the current cursor position

ESC j NUMBER z = jump the cursor forward by "NUMBER" sentences counting from the top of your memo

ESC j NUMBER f z = jump the cursor forward by "NUMBER" sentences relative to the current cursor position

NOTE. I am sure you know that "Sentence" is spelled as "Zentence" above because "z" is the activator letter.

NOTE. Typing the number "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

The three screenLine buttons are perhaps the trickiest components of my beloved pedit.

NOTE. If you don't yet know what a screenLine is, please read about it here before you continue.

If you are brave enough to explore, you will be amazed to find out that, in fact, these three buttons hide no less [and no more] than six buttons. Namely, each of the three is spilt into two buttons.

The reason is simple. Each screenLine has two ends, namely, a left end and a right one. Since the Palm screen real-estate is at a premium, I had to do a splitter-upper job to be able to accommodate jumping to both the right and left ends of a screenLine.

ESC j NUMBER b s = jump the cursor to the beginning of the screenLine which is by "NUMBER" screenLines backward relative to the current screenLine

ESC j NUMBER s = jump the cursor to the beginning of screenLine number "NUMBER" relative to the top of the current screen.

ESC j NUMBER f s = jump the cursor to the beginning of the screenLine which is by "NUMBER" screenLines forward relative to the current screenLine

NOTE. Typing the number "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

Identical commands allow you to jump to the "end" of screenLines except that you have to replace the lower cased "s" by the upper cased "S". Namely,

ESC j NUMBER b S = jump the cursor to the end of the screenLine which is by "NUMBER" screenLines backward relative to the current screenLine

ESC j NUMBER S = jump the cursor to the end of screenLine number "NUMBER" relative to the top of the current screen.

ESC j NUMBER f S = jump the cursor to the end of the screenLine which is by "NUMBER" screenLines forward relative to the current screenLine

NOTE. Typing the number "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

QUESTION. How come that if the cursor is at the beginning of a screenLine and the previous screenLine does not end with a linefeed [carriage return], and I want to move to the end of the same screenLine, then I end up at the end of the previous screenLine instead of the current one? There is a similar problem if I use a repeat number "#" different from "1".

ANSWER. The Palm OS does not differentiate between the beginning of a screenLine and the end of the previous screenLine if the previous screenLine does not end with a linefeed [carriage return] so that the word wrapping mechanism decided to break the visual display of the line. All peditors can verify this by turning on the stats in the title bar, and then by going to the beginning of a screenLine and entering a left arrow-character or a BACKSPACE Graffiti character. You will see that, if the previous screenLine did not end with a linefeed, then the stats remain unchanged, that is, the cursor position remained the same.

SOLUTION. Move your cursor to the right, and then do the jump.

The three "Line" buttons allow you to jump backward [bLine] or forward [fLine] exactly "#" lines from your current cursor position, or to jump to the "#th" line [LineFeed] counting from the top of your current memo.

ESC j NUMBER bl = jump the cursor backward by "NUMBER" lines relative to the current cursor position

ESC j NUMBER l = jump the cursor forward by "NUMBER" lines counting from the top of your memo

ESC j NUMBER f l = jump the cursor forward by "NUMBER" lines relative to the current cursor position

NOTE. Typing the number "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

NOTE. Please do not forget that lines and screenLines are not the same animals.

The three "Paragraph" buttons allow you to jump backward [bPar] or forward [fPar] exactly "#" paragraphs in your memo starting from your current cursor position, or to jump to the "#th" paragraph in your memo [Paragraph] counting from the top of your current memo.

NOTE. Please do not forget to check what paragraphs really are.

NOTE. If the repeat number "#" is equal to "0" and you jump backward [bPar], then you will end up at the beginning of the current paragraph. Similarly, if the repeat number "#" is equal to "0" and you jump forward [fPar], then you will end up at the end of the current paragraph.

NOTE. If the repeat number "#" is equal to "0" and you are not inside a paragraph, then jumping backward [bPar] or forward [fPar] is not allowed.

NOTE. If the repeat number "#" is positive and you jump backward [bPar], then you will end up at the end of the chosen paragraph. Similarly, if the repeat number "#" is positive and you jump forward [fPar] or you are in the absolute mode [Paragraph], then you will end up at the beginning of the chosen paragraph.

ESC j NUMBER b p = jump the cursor backward by "NUMBER" paragraphs relative to the current cursor position

ESC j NUMBER p = jump the cursor forward by "NUMBER" paragraphs counting from the top of your memo

ESC j NUMBER f p = jump the cursor forward by "NUMBER" paragraphs relative to the current cursor position

NOTE. Typing the number "NUMBER" above is optional. If you leave it out then its default value "1" is used as the "NUMBER".

The three "Percent" buttons allow you to jump backward [b%] or forward [f%] exactly "#" percent of the total number of characters in your memo starting from your current cursor position, or to jump to the "#th" percent of the total number of characters in your memo [%] counting from the top of your current memo.

ESC j NUMBER b % = jump the cursor backward by "NUMBER" percent relative to the current cursor position

ESC j NUMBER % = jump the cursor forward by "NUMBER" percent counting from the top of your memo

ESC j NUMBER f % = jump the cursor forward by "NUMBER" percent relative to the current cursor position

The Home and End buttons ["ESC j h" and "ESC j e"] move the cursor to the top and the bottom of your current memo, respectively.

The .Cncl [.Cancel] button ["ESC j ." - but why] aborts the jumper operation and takes you back to EditView.

The Gursor [Cursor] button ["ESC j g"] makes you jump directly to the current location of the cursor. This is especially useful when you visited another part of your [huge] memo, and you wish to get back to your current editing position.

The TopLeft button ["ESC j t"] jumps the cursor to the top left corner of the currently visible screen.

The Marker button ["ESC j m"] jumps the cursor to the marker location [see the Set Marker command in EditView's Navigate menu].

In this case the marker will move to the current cursor, and the cursor moves to the original location of the marker. In other words, the marker and the cursor exchange their coordinates.

NOTE. When jumping, the cursor always ends up where one jumps to. This is in contrast to the Visit Top and Visit Bottom commands in EditView's Navigate menu which only visit the corresponding locations without actually moving the cursor there.

NOTE. Here are three convenient shortcuts [a la emacs] which can be used directly from EditView.

ESC A = jump the cursor to the beginning of the current screenLine

ESC E = jump the cursor to the end of the current screenLine

ESC { = jump the cursor to the top of the currently visible screen

NOTE. Whenever it is feasible, the jumper functions work in context in the sense that the cursor shows up in the middle of the text field.

NOTE. Please keep in mind that the enumeration starts with "1". Hence, for instance, if you wish to jump the cursor to the beginning of the second line on the currently visible screen then you need to enter "2" into the Repeat # field. The corresponding keyboard command is "ESC j2bs".

NOTE. All the jumper commands are sticky in the sense that the last jumper command can be repeated by simply either doing a buttonShifted "J" job in EditView's buttonPanel, or by entering "ESC J" [upper case "J"]. Of course, once you quit your memo or magiPad, the last jump becomes history.

NOTE. If you are in the expertMode, then the pedit ... jumper dialog will not show up at all, although you can enter your commands as usual, including the "repeat" number which may have no more than five digits. On the other hand, if you are in the advancedMode, then an abbreviated version of the pedit ... jumper dialog appears in place of the original one which works exactly the same way as the full dialog. If you are in the globalMacroMode, then the pedit ... jumper dialog remains invisible. Enjoy...

The original version of "Jump to..."

As of September 11, 2000, this has been replaced by the brand new Jump to command in EditView's Navigate menu.

I kept the old version of "Jump to..." in this manual for two reason. First, there are many peditors who are somewhat slow in upgrading their pedits. Second, this gives a chance to see pedit in progress.

This command needs no explanation, except that the myriad fields can be rotated by entering SPACE or TAB, and, in addition, a la Windows style, they can also be accessed directly by entering the underlined letters.

Jumper

When jumping, the cursor always ends up where one jumps to. This is in contrast to the Visit Top and Visit Bottom commands in EditView's Navigate menu which only visit the corresponding locations without actually moving the cursor there.

NOTE. A handy shortcut is "ESC {" which places the cursor to the top of the currently visible screen.

The cursor button makes you jump directly to the current location of the cursor. This is especially useful when you visited another part of your [huge] memo, and you wish to get back to your current editing position.

Visit Bottom

This command allows you to examine the end of your memo. The location of the cursor remains unchanged. If you want to move your cursor as well, then please use the Jump to command in EditView's Navigate menu.

Find

This command is the same as the "F" button in EditView's buttonPanel.

Please go to here for more details.

NOTE. This command has expert && advanced modes.

Find More

This command is the same as the "G" button in EditView's buttonPanel.

Please go to here for more details.

Set Marker

Use this command to set the marker at the current cursor position.

If you have some text selected while you use this command then the marker is set to the beginning of your selected text.

Once a marker is set, you can always jump back to it from an arbitrary location via a tap on the "J" button in EditView's buttonPanel, and then selecting the Marker button, or simply by entering "ESC jm".

In this case the marker will move to the current cursor, and the cursor moves to the original location of the marker. In other words, the marker and the cursor exchange their coordinates.

Once a marker is set, you can always select text from the marker by tapping the "S" button in EditView's buttonPanel, and then selecting the Marker button, or simply by entering "ESC sm".

Please see here in the description of the Select command in EditView's Opt[ions] menu for more details about selecting text from the marker.

NOTE. If the size of text of your memo which is located in front of the marker or the character sitting at the marker change, then the marker is deselected automatically, and, therefore, it becomes history.

NOTE. If you are in the normalMode, then pedit will occasionally give you some visual feedback regarding the marker situation.

Visit Marker

If you have already set the marker, then use this command to visit it. It takes you to the marker, blinks it for a couple of fractions of a second, and then takes you back to your current cursor location.

NOTE. This command is different from jumping to the marker [see the Set Marker command in EditView's Navigate menu].

"OK" button

If you are in EditView [but not in magiPad] then it takes you to ListView.

If you are in magiPad then it takes you to EditView.

This command is especially handy when EditView's buttonPanel was removed via the Buttons on|off command in EditView's Opt[ions] menu.

For you convenience, if you are in EditView, then "ESC ENTER" also activates this command.

In addition, if your current memo is empty, then "ESC ." [period] takes you to ListView as well.

".C" button

This command allows you to quit magiPad and scriptPads, and to return to EditView without saving the contents of magiPad.

This command is the same as the ".C" button in EditView's buttonPanel which is not always visible.

This command is especially handy when EditView's buttonPanel was removed via the Buttons on|off command in EditView's Opt[ions] menu.

EditView's Pad Menu

magiPad in|out

This command is the same as the "M" button in EditView's buttonPanel, and it is described in details where magiPad is discussed.

When you are in magiPad, then this command acts like the "OK" button in EditView's Navigate menu.

scriptPad in|out

This command is described here.

When you are in scriptPad, then this command acts like the "OK" button in EditView's Navigate menu.

The upButtonSlided "M" button in EditView's buttonPanel is closely related to this command.

magiPad Switcher

This command allows you to switch between magiPads.

This command is the same as the "^" button in EditView's buttonPanel.

If you are in magiPad, then this command is the same as the upButtonSlided Qopy'n'Paste button in EditView's buttonPanel.

scriptPad Switcher

This command allows you to switch between scriptPads.

This command is the same as the upButtonSlided "^" button in EditView's buttonPanel.

If you are in scriptPad, then this command is the same as the upButtonSlided Qopy'n'Paste button in EditView's buttonPanel.

This button is under construction...

Previous Pad

This command allows you to jump quickly back and forth between the current pad and the last pad of the same type you visited before the current one.

This command is not operational in the memo editing mode of EditView.

Enable/Disable Pad Stats

This command allows to enable and disable the stats in magiPad and scriptPad.

As long as you have enabled the stats, the stats can be toggled via the Stats on|off command in EditView's Opt[ions] menu, or, even better, by tapping in the left 1/8th of the title bar [to the left from the small pixel visible just under the title bar]. Please see here for the details.

NOTE. Each magiPad and each scriptPad has its own stats preferences.

This command is not operational in the memo editing mode of EditView.

Name of Current Pad

This command announces the full name of the current pad which might be longer than what you see in the titlebar.

If you are in magiPad or scriptPad, then this command is the same as the rightButtonSlided Qopy'n'Paste button in EditView's buttonPanel.

This command is not operational in the memo editing mode of EditView.

Rename Current Pad

This command allows you to rename the current pad.

This command is not operational in the memo editing mode of EditView.

Qopy'n'Paste Selects on|off

This command allows you to control whether the Qopy'n'Paste command will also select the pasted text in your memo or else it will just place the cursor after the pasted text.

EditView's buttonPanel

EditViewButtons

The "U" Button

This command is the same as the Undo command in EditView's Edit menu.

The upButtonSlided "U" Button

This command is the same as the Insert Char command in EditView's Edit+ menu.

Just like the downButtonSlided "U" button, it allows to insert an arbitrary ASCII character into your text at the current cursor location [or replace the current text selection].

Please see here for more details.

The downButtonSlided "U" Button

This command is the same as the ASCII Table command in EditView's Edit+ menu.

Just like the upButtonSlided "U" button, it allows to insert an arbitrary ASCII character into your text at the current cursor location [or replace the current text selection].

Please see here for more details.

The "X" Button

This command is the same as the Cut command in EditView's Edit menu.

The upButtonSlided, downButtonSlided, and leftButtonSlided "X" Button

upButtonSliding this button or entering "ESC X" [upper case "X"] pops up the text mover dialog which allows you to move blocks of text around your memo. Please see here for more details.

This command is the same as the Move command in EditView's Edit menu.

NOTE. This command has expert && advanced modes.

downButtonSliding this button or entering "ESC Y" [upper case "Y"] pops up the text sorter dialog which allows you to sort blocks of text in your memo. Please see here for more details.

This command is the same as the Sort command in EditView's Edit menu.

leftButtonSliding this button is the same as the Restore Memo command in EditView's Record #1 menu.

The "C" Button

This command is the same as the Copy command in EditView's Edit menu.

The directionally buttonSlided "C" Button

This button can be leftButtonSlided, rightButtonSlided, and upButtonSlided resulting in three different but closely related commands which allow you to move characters around your memo. Please see here in the section about moving text for more details.

The "P" Button

This command is the same as the Paste command in EditView's Edit menu.

The buttonShifted "P" Button

If you have Stand Alone's Clipper installed, then a buttonShifted tap on the "P" button sends Clipper into action.

NOTE. If Clipper is installed then the "P" button is displayed in bold to remind you that Clipper is at your disposal.

I am pretty sure that fans of Silkyboard will like that Clipper and Silkyboard can co-exist inside pedit. If you use Silkyboard, then please un-check the Enable Clipper Menu in Clipper.

By the way, normally you paste with "P" which also gets invoked by "ESC p", so that it should be easy to remember "ESC P" which is yet another way of activating Clipper.

NOTE. A word of caution. Some peditors reported a few sporadic and unreproducible crashes when Clipper was installed.

The directionally buttonSlided "P" Button

This button can be leftButtonSlided, rightButtonSlided, and upButtonSlided resulting in three different but closely related commands which allow you to move paragraphs around your memo. Please see here in the section about moving text for more details.

The "S" Button

This command is the same as the Select command in EditView's Edit menu.

NOTE. This command has expert && advanced modes.

The buttonShifted "S" [aka "s"] Button

This command is explained where the Set Marker command in EditView's Navigate menu is discussed.

The directionally buttonSlided "S" Button

This button can be leftButtonSlided, rightButtonSlided, and upButtonSlided resulting in three different but closely related commands which allow you to move sentences around your memo. Please see here in the section about moving text for more details.

The "J" Button

This command is the same as the Jump to command in EditView's Navigate menu.

NOTE. This command has expert && advanced modes.

The buttonShifted "J" [aka "j"] Button

This command repeats the last jump. It is explained here, where the Jump to command in EditView's Navigate menu is discussed.

The "F" Button

This command is the same as the Find command in EditView's Navigate menu.

Please go to here for more details.

NOTE. This command has expert && advanced modes.

The "G" Button

This command is the same as the Find More command in EditView's Navigate menu.

Please go to here for more details.

The buttonSlided "G" Button

The upButtonSlided "G" button toggles the All Segs variable.

The downButtonSlided "G" button toggles the RegEx variable.

The "Q" Button

I use this command for testing, debugging, and other goodies. Programmers will find it useful too.

Among others, it tells you all the characteristics of the first character which is either in a selected text or is right after the cursor.

You can also find out the serial number of your Palm if it exists, information about the sister segments of your memo, and so forth.

Amazingly, not all Palms have a serial number. Some clones do not have one. I wonder why.

The upButtonSlided and downButtonSlided "Q" Button

upButtonSliding this button brings up the customizable pScriptButtons form.

On the other hand, downButtonSliding this button is the same as the Script Memo command in EditView's Record #1 menu.

Please see the section about pScripting pedit for details on this command.

The "H" Button

"H" stands for Help which is mostly context sensitive. This command is the same as the Help command in EditView's Edit menu.

Please note that EditView's instantHelp, that is, the "?" button is related to the H button.

The upButtonSlided "H" Button

This command is the same as the Encrypt/Decrypt Memo command in EditView's Record #2 menu.

The "OK" Button

This command is the same as the "OK" button command in EditView's Navigate menu.

It allows you to quit EditView and to go to ListView.

The upButtonSlided "OK" Button

This command is the same as the Go to Memo menu command in EditView's Record #1 Menu.

The "D" Button

If you are in the regular EditView and not in magiPad, then this command serves three functions.

First, this command allows you to change the category of your current memo [see EditView's Category Changer].

Second, it allows you to privatize your current memo Please see the Privatize Memo command in ListView's Record menu for further details.

Third, it allows you to delete your current memo. Please see the Delete Memo command in ListView's Record menu for further details.

If you are in magiPad, then this button is either non-functional or it allows you the exit without saving its contents. In the latter case, it is labeled as ".C" [cancel], and can be invoked via "ESC ." [period].

The upButtonSlided "D" Button

This command is the same as the Delete Memo command in EditView's Record #1 menu.

The "WC" Button

NOTE. If your memo is segmented then this command provides information about the entire memo, including its sister segments.

This command pops up the word count dialog and it requires almost no explanation except for the definition of what characters, words, and lines are.

Word Count

The definition of characters is obvious except that it also includes carriage returns which are called linefeeds in the Palm universe. For the technically inclined, chrLineFeed = ^J = 10 = 012 = 0x0A.

The definition of words is also more or less obvious, except that the total of the words up to the cursor or selection PLUS the selected words PLUS the words from the cursor or selection may add up to more than the total number of words since the cursor or selection may split words.

For word counting purposes, a word is defined as a group of characters not containing word separators. The latter are the space character, the horizontal and vertical tabs, the linefeed, the formfeed, and the carriage return characters. In other words, words are defined as Forth words. The reason for this choice is that word counting is a time consuming procedure, especially on huge memos such as Les Miserables, and, therefore, I decided to go the fastest way. Incidentally, Les Miserables, happens to contain not a single "specifically" Forth style word.

EXAMPLE. pedit;memo is one word even if you suspect that there is a typo and you meant pedit; memo which is two words.

The definition of lines is also obvious except that it is somewhat different from the common sense definition, since it only counts linefeeds [carriage returns]. Hence, for instance, a line may be counted as zero lines if it does not end with a linefeed.

More precisely, using the REGEXP terminolgy, a line is defined as "^.*$".

It is a common misconception among inexperienced Palm users that a line is what you see as a line on your Palm's screen. Please keep in mind that what you think is a line is, in fact, only a "virtual" line which depends on factors such as what font is used to display your memo and how wide the text field is. We call such objects screenLines.

It may be better, although not entirely correct, if you think of a line as a paragraph. In the "virtual" sense this is closer to the truth than the above described screenLines.

The above seem to be in accordance with the generally accepted rules such as the ones used by unix wc (GNU or not).

As opposed to lines, I define screenLines as the "virtual" lines which are displayed across the screen of your Palm handheld device.

NOTE. In a very real sense of the word, screenLines are nothing but a figment of your and your Palm's imagination. Therefore, in many respects they may behave in somewhat unexpected ways. Please don't blame your Palm or pedit for this. Take, for instance, your [but definitely not my] beloved MS Word, and play around with it by cutting and pasting various screenLines. You will see that once you move a screenLine, it may no longer remain a screenLine. This is natural, since screenLines are determined by the word wrapping mechanism, and they are not hard coded into your document.

Since I talked about lines and screenLines, this is the right place to define paragraphs as well.

First I need to define whiteLines. A whiteLine is a line consisting of space, horizontal tab, and vertical tab characters only.

More precisely, using the REGEXP terminolgy, a whiteLine is defined as "^[\space\htab\vtab]*$".

As opposed to lines, I define paragraphs as collection of lines which does not contain whiteLines and which start either at the beginning of your memo or after a whiteLine, and which ends either at the end of your memo or before a whiteLine.

NOTE. If your memo is segmented, then the character, word, and line count excludes the segment headers.

NOTE. If your memo has more than 1 million words and/or lines [carriage returns], then the information displayed is incorrect even though the count is accurate. If you ever create a memo with so many words and/or lines, please contact me, and then I will fix the display.

NOTE. If your memo is segmented, then you can always interrupt the count by tapping anywhere either on the screen, or the Graffiti input area of your Palm, or by typing ".", or by using the page up/down or 5-way up/down keys.

WARNING. If your pedit is at least of version 5.72, then you may skip reading this warning. However, if your pedit is older than 5.72, and if your Palm goes into self-induced sleep while you are in the midst of a count operation, then it also interrupts the count so that the displayed statistics will be incorrect. As a result of this behavior, if you are counting very long memos such as the Les Miserables which, incidentally, consists of 3,263,756 characters, 567,643 words, and 70761 lines, then you may need to extend the "auto-power-off" time of your Palm by installing LapTopHack. By the way, it took about 2 minutes and 47 seconds on my TRGPro with OS 3.5.1 to do the above counting job. If you have a Palm with an "exotic" language such as Chinese or Russian, then the same counting may last up to three times longer.

UPDATE. On September 10, 2001, due to a number of optimizations in pedit 5.72, the same counting job on the same TRGPro with the same OS took only 1 minute and 58 seconds.

UPDATE. On September 25, 2003, my Tungsten C did the same counting job in 15 seconds. Wow!

I hope that you will like the myriad pieces of information it yields.

This button was named in honor of the venerable unix command wc.

The buttonShifted "WC" [aka "wc"] Button

This button is the same as the "WC" button, except that it generates information on the currently displayed memo only whether or not it is segmented.

If your memo is segmented, then, unlike the "WC" command, it does not exclude the segment header from the count.

NOTE. There is no "ESC" key equivalent for this command.

The directionally buttonSlided "WC" Button

This button can be leftButtonSlided, rightButtonSlided, and upButtonSlided resulting in three different but closely related commands which allow you to move words around your memo. Please see here in the section about moving text for more details.

The "R" Button

With this command EditView's ruler can be toggled on and off.

QUESTION. What is the ruler?

ANSWER. The ruler is what 99% of the non-experts would call underline. It looks like underline, it smells like underline, but it ain't no underline!

If you think about, you realize that nothing is underlined. The ruler simply gives a visual reference where the lines are separated from each other.

The ruler state is preserved until it is changed again. Try it. I prefer no underline [oops, I meant ruler] whatsoever but please feel free to make your own choice.

Please note that magiPad has its own ruler settings independently of EditView.

pedit and ClearHack are 99% compatible [after yours truly spent days to figure out how to do it].

The reason that I say 99% and not 100% is that a HackMaster extension is a HackMaster extension, and, no matter what, there can be no guarantees that a HackMaster extension will work under all circumstances whatsoever, especially since operating systems keep changing and many HackMaster extensions fall behind in their maintenance schedules as their authors' priorities change. This should be understood as a general statement and not as a claim specifically about ClearHack.

The "L" Button

This command changes the case of the selected text to lower case.

If there is no text selected, then the case of the character right after the current cursor position is changed to lower case.

The buttonShifted "L" [aka "["] Button

This command is the same as the Shift Left command in EditView's Edit+ menu.

The directionally buttonSlided "L" Button

This button can be leftButtonSlided, rightButtonSlided, and upButtonSlided resulting in three different but closely related commands which allow you to move lines around your memo. Please see here in the section about moving text for more details.

The "T" Button

This command changes the case of the selected text to title case.

Of course, the process of Title Casing is subject to heated debate, and not even the greatest minds amongst us seem to agree what constitutes a properly title-cased expression. For instance, how should Select'n'Search be title-cased?

As a time saving shortcut, if there is no text selected, then "T" upper-cases the first letter of the word surrounding the current cursor.

The buttonShifted "T" [aka "[]"] Button

This command is the same as the Block Shift command in EditView's Edit+ menu [see also the Shift Left and Shift Right commands there].

The directionally buttonSlided "T" Button

This button can be upButtonSlided and downButtonSlided resulting in two different actions.

If upButtonSliding, then it does the opposite of the "T" button, that is, it deTitle Cases the current text selection or the word surrounding the current cursor.

The "K" Button

This command changes the case of the selected text to upper case.

If there is no text selected, then the case of the character right after the current cursor position is changed to upper case.

Just think of this command as capitalization, that is KAPITALIZATION.

The buttonShifted "K" [aka "]"] Button

This command is the same as the Shift Right command in EditView's Edit+ menu.

The directionally buttonSlided "K" Button

This button can be leftButtonSlided, rightButtonSlided, and upButtonSlided resulting in three different but closely related commands which allow you to move screenLines around your memo. Please see here in the section about moving text for more details.

The "?" Button

This command brings up instantHelp.

Please note that EditView's H button is related to the ? button.

The "M" Button

This is described in details where magiPad is discussed.

The upButtonSlided "M" Button

This command is described here.

This command is related to the scriptPad in|out command in EditView's Pad menu.

The "^" Button

This is the magiPad switcher button.

This button is the same as the magiPad Switcher command in EditView's Pad menu.

The upButtonSlided "^" Button

This is the scriptPad switcher button.

This button is the same as the scriptPad Switcher command in EditView's Pad menu.

The "N" Button

This button is the same as ListView's myNotes button.

NOTE. Even if you are in myNotes already, it makes sense to use this button repeatedly since it keeps creating new entries in it.

The "}" Button

This command is the quickSwitcher which is a complement to the Memo Switcher [">"] button in EditView's buttonPanel.

This command takes you instantaneously back to your most recently visited memo.

The quickSwitcher can also be activated by "ESC }".

NOTE. If you are in MagiPad or scriptPad, then "ESC }" takes you to the most recently visited pad of the same type.

The ">" Button

This button is the same as the Recent command in ListView's Navigate menu.

This command activates the Memo Switcher which allows you to jump back to a large number of previously visited memos.

The Memo Switcher can also be activated by "ESC 0" [zero] or by "ESC >" from EditView and by "ESC r" [lower case "r"] or by "ESC >" from ListView.

The Memo Switcher restores the state of your previous visits such as cursor position, text selection, scroll position, and so forth.

pedit keeps track of the last 25 memos you have visited since you last cleared pedit's history.

This command takes you to magiPad where all your recently visited files are listed in reverse chronological order.

The Memo Switcher

Tapping on any of the memo titles, pedit transfers you to the selected memo instantaneously.

HINT. Use the "F" button in EditView's buttonPanel to locate your memo and then enter a carriage return [the return key on your keyboard]. It's a no-brainer.

NOTE. The Memo Switcher is inactive if you are in [the genuine] magiPad, or if you have not yet visited another memo prior to entering the current memo.

WARNING. If you edited any of your memos with a program other than this particular pedit, whether on the Palm or on the DeskTop, it may be a good idea to clear both the history of recently visited memos and pedit's preferences. For further details, please see the Clear History and Clear Preferences commands in ListView's Options menu.

NOTE. In peditPro the Memo Switcher can toggle between p04 and p32 memos by tapping in the left 1/8th of the title bar [to the left from the small pixel visible just under the title bar]. This feature works only if the escape character is box is checked in the General Preference Panel.

The buttonShifted ">" [aka "$"] Button

The buttonShifted ">" button activates the segmentSwitcher which allows you to survey all the sister segments of your current memo, and to jump to either of them.

The segmentSwitcher can also be activated by "ESC $".

This command takes you to magiPad where all sister segments of your current memo are listed.

The segmentSwitcher

The first line tells you the total size of your combined segments. This number does not include the size of the individual header files.

The number in front of the title tells you the segment index of the memo segment.

An exclamation mark "!" instead of a colon ":" after the segment index and the sign "<=" at the end of one of the line refers to your current memo.

A number at the end of a line indicates that that segment was already visited, and the number itself tells you how recently it was visited, where "01" refers the most recently visited segment.

Tapping on any of the segment titles transfers you to the selected segment instantaneously.

HINT. Use the "F" button in EditView's buttonPanel to locate your memo and then enter a carriage return [the return key on your keyboard]. It's a no-brainer.

NOTE. The segmentSwitcher is inactive if you are in [the genuine] magiPad, or if your current memo is not segmented.

Please see Segmented Memos for further details.

The "»" or ">>" Button

This command activates the Launcher which allows you to jump fast to "pedit friendly" applications.

Such applications include but are not limited to Arranger, Clipper, HackMaster, HotPaw Basic, LispMe, Magic Text, Memo Pad, Memo PLUS, NoteTaker!, OnBoardC, pedit, pedit32, PocketC, Quartus, RsrcEdit, Safe, Secure Memo Pad, and StartFavorites.

This command takes you to magiPad where all "pedit friendly" applications are listed.

Tapping on any of the application names, pedit transfers you to the selected application instantaneously.

HINT. Use the "F" button in EditView's buttonPanel to locate your application and then enter a carriage return [the return key on your keyboard]. It's a no-brainer.

I point out that if I define an application as "pedit friendly", it does not necessarily imply that the developers of that particular application have displayed a friendly attitude towards pedit. Although in the great majority of cases Palm application developers were cooperative and helpful, there were a few instances when I received a cold shoulder while trying to clarify some issues.

I consider an application "pedit friendly", if it has anything to do with text editing or with programming on the Palm, and if peditors requested that it be added to the list.

I hope that the developers of the above mentioned applications will return the favor by providing a similar feature in their products.

The Launcher can also be activated by "ESC 1".

The buttonShifted "»" or ">>" [aka "«" or "<<"] Button

If you have pToolSet's pLaunchTool (and pLaunchEngine1) installed, then a buttonShifted tap on the "»" button pops it up.

How does one know if pLaunchTool is installed? It's elementary, my dear peditor, and probably you have already guessed it: "»" is displayed in bold.

Otherwise, that is, if "»" is not displayed in bold, then a buttonShifted tap on the "»" button activates the quickLauncher.

The quickLauncher takes you to your most recently visited pedit friendly application [if there is such an application already].

pLaunchTool can also be invoked by "ESC 2".

The quickLauncher can also be invoked by "ESC 3".

Another way of activating quickLauncher really fast is by tapping the upper left corner of the title bar in EditView [a 5*5 pixel area].

The ".C" Button

This command is the same as the ".C" button command in EditView's Navigate menu.

It allows you to quit magiPad and scriptPads, and to return to EditView without saving the contents of magiPad.

NOTE. You can only see this button if you are not set to save the contents of magiPad [please see magiPad for more details].

The "Qopy'n'Paste" Button

This command is described in details where magiPad is discussed.

The upButtonSlided "Qopy'n'Paste" Button

If you are in magiPad, then this command is the same as the magiPad Switcher command in EditView's Pad menu.

If you are in scriptPad, then this command is the same as the scriptPad Switcher command in EditView's Pad menu.

The rightButtonSlided "Qopy'n'Paste" Button

This command is the same as the Name of Current Pad command in EditView's Pad menu.

EditView's Category Changer

This command allows you to change the category of your current memo.

In addition, you can also edit [add, rename, and delete] the names of your categories.

pedit Memos and Text Files on the DeskTop (for "newbies")

By the time you get to this section, there is an excellent chance that you will know of several ways of moving your pedit memos to your DeskTop computer and vice versa [see, for instance here and here].

Nevertheless, I have the example of at least one aspiring peditor who could not figure it out from the manual, and, therefore, he put together a cookbook style approach to the task. The rest of this section is based on Doug Boulter's and Frank Hellwig's advice. I am sure that many "newbies" will be grateful to them.

If you want to move your pedit memo to the DeskTop and the explanation here was insufficient, then please follow these steps.

Step #1. Open your memo in your pedit in EditView Open the pull down Record #1 menu. Select the Export Memo command. A shortcut for the latter is either using "ESC e" or the Palm command stroke and "e".

Step #2. Make sure the second line from the top in the pedit export... dialog says Export from pedit[32] to doc.

Export to doc

If it says Export from pedit32 to pedit or Export from pedit to pedit32

,

Export to pedit

tap the doc push button in the lower right corner to get the correct screen.

NOTE. pedit remembers the previous state of this screen. Thus, if you do not ever export to the sister pedit, you will never see that option screen again unless you select it.

Step #3. If you want to delete your memo after you export it, check the delete memos after exporting box. Enter the name you want the DOC file to have. You do not need to give it a ".pdb" extension. For example, this file could be called "00test".

NOTE. For your convenience, pedit is smart enough to pick a proposed DOC file name. If you have a current text selection in your memo then it is used as the basis of a proposed name.

Step #4. Once you have done all this, tap the export memo + all its segments button.

Step #5. Do a HotSync job between your Palm and the DeskTop. On the DeskTop, look in the backup folder under your user name. You will see the file 00test.pdb.

NOTE. On the Macintosh, this backup folder is called "Backup", in Windows it may be at "C:\Palm\USER\Backup" where "USER" is your user name, and under unix or linux it is probably "~/???" [but who cares anyway, since, if you use unix or linux, then you will never need to read this "newbie" tutorial in the first place].

Step #6. Use your "doc <=> text" converter (not included with pedit) to convert this DOC file to an ASCII text file. You may then word process it to your heart's delight.

NOTE. Doug's favorite "doc <=> text" converter is DocInOut. I use MakeDoc. Please see here for more suggestions.

If you happen to have WordSmith on your Palm Powered handheld, then, as Frank Hellwig kindly pointed it out, there is an even easier way of exporting pedit memos directly to Microsoft Word.

Step #1. Open up your memo in pedit and select the Export Memo command from the Record #1 menu.

Step #2. Tap the doc push button in the lower right corner. Enter the the DOC file name. For example, you could call it "01test". Then click the export memo + all its segments button.

Step #3. Start up WordSmith, open up your exported memo, open the Details dialog, and check the "Sync" box.

Step #4. Do a HotSync job between your Palm and the DeskTop.

Step #5. Start Microsoft Word on your DeskTop and select the "Open..." command from the "WordSmith" menu [this menu was added by the WordSmith installer].

NOTE. After Steps #2 or #3, you can also use WordSmith to spell check the document and/or to add rich text formatting.

NOTE. This process (i) does not require any manipulation or copying of files at the filesystem level, that is, using Windows Explorer or invoking DeskTop filters, and (ii) it uses pedit for its strength at editing files and WordSmith for its seamless Microsoft Word integration.

If you want to move a text file from the DeskTop to pedit and the explanation here was insufficient, then please follow these steps.

Step #1. Using your "doc <=> text" converter, convert your ASCII text file to a Palm DOC file with a ".pdb" extension. Make sure that you remember the name of your .pdb file.

Step #2a. If you are a Windows user then from the DeskTop, select this ".pdb" file for installation. Click the install button, then click the add button to select the file. When you have added all the ".pdb" files you want, click "Done". If you are using DocInOut, you can skip this step by clicking the box that says "Install After" which will then perform this step automatically.

Step #2b. If you are a Macintosh, unix, or linux user then simply follow the usual Palm rules of installing ".pdb" files. I have not yet met a Macintosh, unix, or linux user who did not know how to do this. If you are one of those, then please let me know, and then I will provide detailed instructions.

Step #3. Perform a HotSync job. This will load the .pdb file to your Palm handheld.

Step #4. Open your pedit. Go to ListView.

ListView

A trick here is to choose the correct memo category (located in the upper right corner of the screen) into which you want the freshly loaded DOC file to go. That saves you the step of categorizing the new memo which you are about to import. Tap the Docs button in ListView's buttonPanel. A shortcut for the latter is either using "ESC d", "ESC i", or the Palm command stroke and "i". This tap takes you to magiPad and presents you with a list of DOC files which you can import to pedit.

Step #5. Tap the file you want to import from the list that comes up in magiPad. If the DOC file is writable, that is, it is not in the flash ROM, then decide whether you want to delete it after you have imported it to pedit. If yes, then check the delete doc file after importing box. Decide whether you want no segmenting if the doc file fits one memo. If yes, then check the no segmenting if fits one memo box. Then tap import this doc file button.

Step #6. Now your DOC file has been transformed to a memo, and you can put it in a memo category and/or [p]edit it to your heart's delight.

NOTE. Please read about segmented memos in general, and about segment headers in particular, if you are curious about those odd lines

A Segmented Memo

which appear at the beginning of your memo. If your memo consists of one single segment, then you can delete the segment header if you don't want it with no ill effects in pedit except that subsequent exportation back to DOC files will be much simpler if you leave it alone.

pScripting pedit, pToolSet, and LapTopHack (for soon-to-be "experts")

As of April 12, 2001, I started a new project which [eventually] will make most pedit operations fully pScriptable [scriptable]. As of May 21, 2001, LapTopHack joined the club and it started to share pedit's pScriptability. Subsequently, pToolSet became pScriptable as well. In case you have not fully understood the implications of this historic event, and since I am so proud of this, let me say it clear and loud...

As of May 21, 2001, all your Palm handheld devices became pScriptable.

NOTE. The word "pScript" and its variants are always spelled with lower case "p" and upper case "S". Here "p" stands for "palm" and not "paul" as some of you may mistakenly believe.

NOTE. If you are a LapTopHacker, then please forgive me that LapTopHack's manual will refer you here instead of giving a full blown description of all the delicate and intricate details. Since pScripting pedit and LapTopHack are essentially the same, this even seems natural to do. I will try to point out carefully all differences between the two. The same goes for pToolSet.

NOTE. peditLight is not pScriptable.

NOTE. pScripting requires at least Palm OS 3.1.

NOTE. pScripting LapTopHack requires that you have a pScriptable pedit installed on your Palm.

NOTE. pScripting pToolSet does not require that you have a any pedit installed on your Palm.

NOTE. Please make sure that you always have the latest pedit, pToolSet, and LapTopHack [see here] installed on your Palm. Even though they may be called "beta versions", thousands are using them, including me, without any [serious] problem. For all practical purposes, they are as safe as any "final" version is. You can get the up-to-date information regarding the version numbers from here.

NOTE. Unless you are an "expert" or want to be one [whatever that may mean], please STOP reading this section.

NOTE. In case you didn't stop reading this section but you are not yet an "expert", then please check out the here for Daniel Bergman's pScriptorial tutorials, and here for pScriptorial examples. In addition, please see here for archived versions of the tutorials and other material.

NOTE. Whether or not you are an "expert", you will greatly benefit from visiting peditors.com which was created by John Kershaw and is maintained by him and by a growing number of enthusiastic peditors.

Now that I got all "newbies" out of the way, let me get down to business, and let me start with a couple of examples.

NOTE. In what follows, pedit pScripting refers to pedit, pToolSet, and LapTopHack pScripting, and so forth.

NOTE. After you have familiarized yourself with the basics of pedit pScripting, please move on to learning the use of pMacros in pedit pScripts.

NOTE. It took less than a month for me to find out that the genie is out of the bottle for good. As many members of the peditors Forum such as Bill, Daniel, DirkS, JeffR, Jerry, JesseJ, JohnH, Jon, Norb, RayD, and StevenH, just to name a few, have already demonstrated over and over again, the opportunities presented by pedit pScripting are literally limitless. I am no longer in charge. One of the sad consequences of this is that I cannot and will not provide support for pScripting related peditorial inquiries very simply since so much can be done that one person can no longer be the source of all necessary information. Please join the peditors Forum, and please post your questions and/or contributions here.

NOTE. In the following examples, when you see expressions like "/0x04", enter them exactly as you see them, whereas, when you see "`" [backquote], replace it by your personal "ESC" character [see also this for generating pScriptorial "ESC" keys].

NOTE. Instead of "/0x04", you can also enter the ASCII character represented by "0x04".

NOTE. You can easily enter any ASCII character using the Insert Char and "ASCII Table" commands.

EXAMPLE. Put

"{date::/GZ`6`j5bw`X2wf`s3fw`s1bc`x`s3bw/xz}"

anywhere in scriptPad [without typing the quotation marks]. This is called a pScript. Here the word "date" just before the double colon "::" is called the pScriptName, and everything else between "::" and "}" is called the pScriptText.

Then go back to EditView, and place your cursor anywhere in your memo, or, alternatively, select any text. Next, activate your pScript and sit back to watch the screen of your Palm.

EXAMPLE. Try this pScript

"{message::/&mess@[@@I love my Palm@@]}"

pScript.

pScript Activation [see here for more details].

pScript entry

In addition, both in pedit and LapTopHack,

"page down" = "down arrow" = move the pScript entry dialog downward

"page up" = "up arrow" = move the pScript entry dialog upward

Please get a paper clip ready before trying the next example.

EXAMPLE. Put

"{forever::_`&forever:}"

anywhere in scriptPad, go back to EditView, place your cursor anywhere in your memo [or select any text], and activate your pScript.

Now do the same with

"{forever::_/GZ`&forever:/xz}"

Can you see the difference?

EXAMPLE. Put

"{left arrow::{/}/0x1Cpedit`s1bw`s1fc}"

anywhere in scriptPad, go back to EditView, place your cursor anywhere in your memo [or select any text], and activate your pScript. Then do the same with

"{left arrow::{/}/0x1Cpedit/GZ`s1bw`s1fc/xz}"

and observe the difference.

NOTE. "0x1C" stands for the left arrow.

Here are the [current] rules.

NOTE. I would have preferred using the backward-slash character "\" instead of "/". However, as it turns out, the Japanese version of the Palm OS doesn't have the former since the "yen" symbol replaces it.

Now let's talk about pMacros. Here are the [current] rules.

EXAMPLE.
#pm00 BEGIN[I am a pMacro]NIGEB

EXAMPLE.
#pm00 BEGIN[I am a pMacro`s4bw]NIGEB

EXAMPLE.
#pm00 BEGIN[I am a pMacro]NIGEB
#pm01 BEGIN[I am too]NIGEB

EXAMPLE.
#pm00 BEGIN[I am a pMacro]NIGEB
#pm00 BEGIN[I am too but...]NIGEB

EXAMPLE.
#pm00 BEGIN[#pm00]NIGEB
is not a prudent choice of a pMacro.

EXAMPLE.
#pm00 BEGIN[0#pm00]NIGEB
is an even worse choice of a pMacro.

EXAMPLE.
#pm00 BEGIN[I am a pMacro]NIGEB
#pm00 BEGIN[I am too but...]NIGEB
is legitimate. However, the second pMacro "#pm00" is never seen by pedit so that it is never processed and used.

QUESTION. Why is it necessary to enable pMacros explicitly?

ANSWER. pScripts with pMacros are performed a tiny little slower than those without pMacros since a significant amount of bookkeeping and preprocessing needs to be taken care of. Hence I decided to use a pMacro enabler so that pScripts without pMacros wouldn't suffer any performance degradation whatsoever.

QUESTION. My pMacro doesn't seem to work. What did I do wrong?

ANSWER #1. I have no idea. However, the most frequent error is to put a pMacro in the very beginning of scriptPad so that there is no linefeed in front of it. If so, then add one.

ANSWER #2. I have still no idea. However, maybe you put your pMacro inside your pScript at the very beginning of a line so that there is a linefeed in front of it and then pedit gets confused. If so, then add a space in front of it.

EXAMPLE.
{x1::#PM#pm00}
{x2::#PM #pm00}
{x3::#PM

#pm00}
{x4::
#PM #pm00}
{x5::#PM
#pm00}
#pm00 BEGIN[I am a pMacro]NIGEB
Here "x1" through "x3" are fine, whereas "x4" is defective since the pMacro enabler #PM is not right after "::", and "x5" fails since #pm00 in it looks like a defective pMacro definition. However,
#pm00 BEGIN[I am a pMacro]NIGEB
{x5::#PM #pm00}
where the order of the pScript and the pMacro has changed, is fine.

HOMEWORK. Let
#pm00 BEGIN[0]NIGEB
#pmzz BEGIN[x#pm00x]NIGEB
{x::0#pmzz0}
Then what will the "x" pScript do?

NOTE. Please read here about the user defined startup pScript of the form "{.myNotesrc::whatever}" in the myNotes command.

Now let's talk about pScriptAliases. Here are the [current] rules.

In other words, pScriptName and pScriptAlias are essentially referring to the same pScript.

EXAMPLE. If {x1::ALIAS::x2} and {x2::/&mess[@@I am x1@@]}, then both x1 and x2 bring up the same message "I am x1".

QUESTION. Why should I use pScriptAliases?

ANSWER. For instance, this helps you to fully customize your "customizable pScriptButtons" [see here in pToolSet's's manual and here in LapTopHack's manual].

QUESTION. How do I make a pScript printing the expression "ALIAS::"?

ANSWER. Just violate the syntax rules. For instance, either {x1:: ALIAS::} or {x1::ALIAS: :} will do the job.

NOTE. The pScript {x1::ALIAS::x1} is probably not a very smart one.

HOMEWORK. Give an example when {x1::ALIAS::x1} is harmless.

NOTE. Several peditorial check boxes and variables can be set in a pScript friendly manner. To find out which ones are pScript friendly, please search for the words "[a pScript friendly operation]" in this manual.

QUESTION. How should I automate my Find'n'Replace operations?

ANSWER. There are quite a few ways of doing it. In what follows I explain how I did it on my [numerous] Palms. Please feel free to modify and/or ignore my advice. First, put these four lines somewhere into your scriptPad.
// the search string is "LapTopHack"
#pmSS BEGIN[LapTopHack]NIGEB
// the replacement string is "pedit"
#pmRR BEGIN[pedit]NIGEB

EXAMPLE. Replace every occurrence of the current selection in your memo with the replacement string in #pmRR {select_replace_g::#PM/GZ`f`/0x20#pmRR`f/xz}

EXAMPLE. Replace every occurrence of the search string [in #pmSS] in your memo with the replacement string in #pmRR {search_replace_g::#PM/GZ`f#pmSS`/0x20#pmRR`f/xz}

NOTE. Of course, you can [should] also set the Find'n'Replace parameters in your pScript to make sure that you Ign[ore] Case, Top Start[er], and Wrap exactly the way you want it.

NOTE. Please pay attention that there is no "ad" ["All R" and "Done"] after the second "`f" in the above examples even though your inclination is to put them there. However, once you are in the globalMacroMode, pedit will automatically add these two commands at the right time and the right place. If you want to do it manually, then please do not enter into globalMacroMode.

NOTE. In case you wonder why pedit does the "ad" ["All R" and "Done"] job for you, the explanation is simple. If your search string has no match in your memo, then you are kicked back to EditView, and then you would end up with an extra pair of letters "ad" in your memo [see here for the details].

NOTE. In the above two examples "/0x20" denotes the ASCII code of the SPACE character.

NOTE. Automated Find'n'Replace operations can be time consuming. For instance, I put 1024 "X" letters in a blank memo and then replaced them one by one with a pScript for "Y". It took exactly 59 seconds on my TRGPro with OS 3.5.1. Can you do the same test on your Palm? How long did it take for you? Here is the source code for the test which includes the timing mechanism.

// globally replace every "X" with "Y"
{X2Y::#PM#pmMY#pmTs#pmEf#pmSS#pmNF#pmRR#pmEf#pmTS#pmMN}

// globally replace every "Y" with "X"
{Y2X::#PM#pmMY#pmTs#pmEf#pmRR#pmNF#pmSS#pmEf#pmTS#pmMN}

// the search string
#pmSS BEGIN[X]NIGEB

// the replacement string
#pmRR BEGIN[Y]NIGEB

// the ESC key
#pmES BEGIN[`]NIGEB

// turn on globalMacroMode
#pmMY BEGIN[/GZ]NIGEB

// turn off globalMacroMode
#pmMN BEGIN[/xz]NIGEB

// start timestamp in line #1
#pmTs BEGIN[#pmESjhS: #pmES6/0x0A]NIGEB

// finish timestamp in line #2
#pmTS BEGIN[#pmESj1l/0x0AE: #pmES6#pmESsa2l#pmESs1fc]NIGEB

// the "F" button [ESC f]
#pmEf BEGIN[#pmESf]NIGEB

// next field [ESC SPACE]
#pmNF BEGIN[#pmES/0x20]NIGEB

After working hard for 59 seconds, my memo showed

S: 2001/05/26 23:12:35
E: 2001/05/26 23:13:34
YYYYYYYYYYYYYYYYYYYYYY...

HOMEWORK. Why didn't I use the "/d" pTokens for the timing mechanism?

NOTE. Needless to say, that the pedit pScripting mechanism quickly evolves so that you need to re-read this part of the manual quite frequently.

Please let me know what you think of the current state of pedit-pScripting-affairs.

NOTE. For the time being, pScripting pedit is somewhat experimental, and I, Paul Nevai, and/or PaulComputing accept no responsibility whatsoever for the outcome of any pScript and pMacro you have created, or may create. However, once we are beyond the experimental stages, I, Paul Nevai, and/or PaulComputing will still accept no responsibility whatsoever for the outcome of any pScript and pMacro you have created, or may create. Hence, caveat pScriptor.

QUESTION. How should I create pScripts and pMacros?

ANSWER. Very carefully.

WARNING. pScripting LapTopHack and pedit is highly addictive.

NOTE. Please remember that Palm events are processed in the order of event-queue, key-event-queue, and pen-event-queue.

NOTE. Please join the peditors Forum, and please post your ingenious pScripts here.

A FINAL WARNING. If you are reading this, then there is an excellent chance that your pScriptorial skills highly exceed mine even though I created pScripting. For instance, I believe that none of the peditors on the peditors Forum will disagree with me if I say that StevenH is a better pScriptor than the rest us by several orders of magnitude. Nevertheless, I must warn you that if you ever decide to create pScripts which modify scriptPad, then at least send all your beloved ones to the movies while you are tinkering with scriptPad, and take out a good [term] insurance policy on both your Palm handheld device and yourself.

The single key invocation mechanism for pScripts

NOTE. This feature is in the process of fine tuning so that the details and the mechanism may change as I get more input from out LapTopHackers and peditors. Stay tuned...

You can tie pScripts to external keyboard keys so that they can be performed by pressing one single key on your external keyboard. More precisely, three keys need to be pressed simultaneously. The details are as follows.

This is a LapTopHack feature which cannot run categoryBoundScripts of the form "{categoryName::pScriptName::pScriptText}" since the latter is a strictly pedit feature. However, it does handle pScripts of the form "{pScriptName::pScriptText}" and "{GLOBAL_script::pScriptName::pScriptText}".

If you have one of those foldable-portable keyboards made by Think Outside, Inc., and marketed under various names such as Palm Portable Keyboard [PPK], Stowaway, and Targus, then you can use the Ctrl-Fn keys in conjunction with any of the number keys 0 [zero] through 9 [nine] to activate pScripts whose pScriptNameIdentifiers are "0Script" through "9Script", respectively.

EXAMPLE. Both {7Script::/&mess [@@Cogito, ergo LapTopHack...@@,,]} and {7ScriptCogito::/&mess [@@Cogito, ergo LapTopHack...@@,,]} can be invoked with Ctrl-Fn-7.

Please see LapTopHack's manual [here] for details.

The Customizable pScriptButtons

Up-to 9,990 customizable pScriptButtons are available each of which can run a pScript of your choice.

This is a pToolSet and LapTopHack feature which cannot run categoryBoundScripts of the form "{categoryName::pScriptName::pScriptText}" since the latter is a strictly pedit feature. However, it does handle pScripts of the form "{pScriptName::pScriptText}" and "{GLOBAL_script::pScriptName::pScriptText}".

If you are in EditView or ListView, then use "ESC 7" to activate pScriptButtons [pToolSet] or the custom pScripts [LapTopHack]. Here "ESC" refers to your pedit ESC key.

If you are in EditView then you can also upButtonSlide the Q button to activate the custom pScripts form.

pToolSet's implementation of pScriptButtons is more advanced than that in LapTopHack [see here in pToolSet's's manual].

If you use LapTopHack, you can also use "ESC b" [lower case "b"] to activate the custom pScripts form [or tap the btnsCust button or just type "b" if you are in the LapTopHack ESC form]. Here "ESC" refers to your LapTopHack ESC key.

In addition, again via LapTopHack, you can also jump directly to any page "x" of the custom pScripts form by entering "ESC B x B". Just make sure that "x" is positive and it is no greater than custBtnPageTotal [see [ here]. There is no need to use leading zeros if "x" is less than 100.

Please see pToolSet's manual [ here] or LapTopHack's manual [ here] for details. In particular, you need to prepare your custom pScripts form prior to using your customized buttons.

The pScriptRunner mini-applications

The pScriptRunner package consists of 59 mini-application to be run on your Palm. Each of them is made to run [trigger, play] a different pScript.

Each pScriptRunner can be assigned to all four hard buttons, to the "CALC" SilkScreen button of your Palm Powered handheld, or to any other button/stroke/tap which can launch applications, and even to the modem and cradle buttons.

In addition, each pScriptRunner can also be used by numerous HackMaster extensions, OS extensions, and other utilities which allow invoking applications in a variety of ways such as button presses, stroking, tapping, and so forth. Such utilities include AppHack, PopFavorites, pToolSet, TealLaunch, just to name a few.

Get the pScriptRunner package from here, including full documentation.

List Navigation

NOTE. This section has been borrowed from pToolSet's manual.

In most popped up generic lists in pedit and pToolSet, and even in some generic lists in LapTopHack, you can navigate using the following rules unless the given list has its own navigational rules which is usually mentioned in the "i-Tips" or other help files.

NOTE. You can recognize such generic lists by observing that they have a plain rectangular border as opposed to the Palm OS generated popped up lists which have a shaded right and bottom border. For instance, almost every category selector list is generated by the Palm OS, and, therefore, the following rules do not apply.

The popped up lists can be navigated in incremental [default], alphabetic, and numerical search modes, except for pMasterTool which lacks the numerical search mode. Each search mode has its own rules.

NOTE. In pMasterTool the search mode selection is sticky.

The following rules apply in all search modes.

Navigational help in incremental search mode.

Navigational help in alphabetic search mode.

Navigational help in numerical search mode.

Additional navigational help.

NOTE. If an item starts with the label "X: ", then the text matching takes place after the label only unless the search string starts with an upper case letter or a digit.

EXAMPLE. "N: pEditTool" can be selected by typing either "p" [lower case] or "N" [upper case].

NOTE. If word match is off then so is line match.

NOTE. Leading blanks in item text are always ignored.

NOTE. "^", "[", "]", and "$" also reset the search string.

The following notes apply only to pMasterTool.

NOTE. The SilkScreen "APPL", "CALC", "MENU", and "FIND" navigational taps are disabled in pMasterTool.

NOTE. The numerical search mode is disabled in pMasterTool.

NOTE. In pMasterTool, in all search modes, if "X: command name", then entering case-significant "X" selects and activates the item.

NOTE. In pMasterTool, entering "!" or a tap in the upper edge of the screen is the same as tapping the SilkScreen "MENU" button. They all give access to pMasterTool's menu.

Bits and Pieces

Here are a few bits and pieces of fun and practical ways to use pedit that you might not have thought of.

BookMarks

Just make an index of the words or expressions you want to visit on a regular basis either at the beginning [I prefer this] or at the end of your memo. Then select the appropriate words and hit the "G" button in EditView's buttonPanel Voila, your memo scrolls to your selected expression.

iambic Reader and QuickWord [contributed by Edward Faith and Dafydd Gibbon]

Write HTML (HyperText Markup Language) code using pedit, then export it to DOC format and read it with iambic Reader or QuickWord.

EXAMPLE. Writing "I absolutely love <b>peditPro</b>" will come out as "I absolutely love peditPro" in iambic Reader and QuickWord.

NOTE. A word of caution. I contacted iambic Reader's technical support by e-mail twice and they have not responded. According to ConwayL's inquiry in August of 2002, it has been discountinued.

Arranger [contributed by ???]

The ClipBoard. If you think your ClipBoard is too small, you may want to try one of these.

NOTE. When you are in pedit, I removed the Palm Operating System's ClipBoard limitation of a maximum of 1000 characters when using either the "C" button in EditView's buttonPanel, or the Copy command in EditView's Edit menu, or the Qopy'n'Paste button in magiPad.

EditView's Fonts. [based on advice by Jacques Turbi]

Use the standard fonts for browsing memos, Profont12 or Monaco for keyboard entry, Profont14 if without clean glasses, Profont10 for proof reading, Profont7 or TinyFont to get an overall document feeling, Profont18 to prompt key words when delivering a lecture, Profont24 to try to check if the escape "`" is really backwards or if the accents have the right slope (that's after "un repas bien arrosi").

More Bits and pieces

A MYSTERY. Some of you have noticed that after unzipping or untarring the pedit package, one's prying eyes can see real some really old files such as

-rw-r--r--   1 nevai      110539 Sun Mar 03 02:00:26 1996 pedit.prc

[I am not making this up], and wondered what the heck was going on. Stop torturing yourself. Here is the explanation.

I develop pedit on my Macintoshes but then the rest is done on unix. Now, on unix machines, the universe started on January 1, 1900, whereas the Mac [and Palm] Big Bang was on January 1, 1904. Hence, adding 4 years to what you see is what you get. Well, this is almost true. I leave it up to you to figure out the rest. Here is a hint: the above pedit.prc was created on March 2, 2000.

Of course, pedit is not perfect. For instance, it can't tell the time and the date. Oops, bad example. In fact, it can, and does so in more than one way. Well, then what is it that pedit cannot do? The truth is that the list would fill maybe at least half a page or less so that I will leave this to the gentle peditor's imagination who is hereby requested to communicate to yours truly all the shortcomings of pedit with no delay whatsoever.

Speaking of dates, the careful peditor will note that I write some [but not all] dates in the form 1976/08/10. To be honest, in every day life I would write this as 08/10/1976 but then people outside the US would think that I am patronizing them by not writing 10/08/1976. Is this August or October anyway?

Turning serious, I find the YEAR/MONTH/DAY format the most logical way of writing dates which, on one hand, is completely free of any Y?K bug, and, on the other, makes comparison of dates a trivial matter.

Of course, all pScriptors know how to produce customized pScriptorial dates.

QUESTION. Why is pedit so big?

ANSWER. Under its skin, pedit may be one of the most sophisticated Palm application ever. The full keyboard entry support and the myriad features make the program rather complex. Do you realize that pedit, in conjunction with a Palm computing device and an external keyboard, may make your laptop obsolete? If you must have a leaner version of pedit, please try out peditLight.

A MYSTERY. As Marv Waschke reported on October 15, 2000, when the display looks like this

xx32
xxxxxxx|1xxx

and the cursor is at "|", then hitting the up arrow from an attached keyboard moves the cursor to the end of the previous line like this.

xx32|
xxxxxxx1xxx
So far so good. However, when you use the left arrow then nothing happens. In fact, you have to hit the left arrow several times to move the cursor backward like this
xx3|2
xxxxxxx1xxx

EXPLANATION. As of version 3.5, this is a bug in the Palm OS, and it can be reproduced reliably both inside and outside pedit. I bet you can easily find out the reason for the bug if you count the number left-arrows you have to enter so that the cursor started to move.

NOTE. There are many related variations of this same bug. For instance, Jon Markevich rediscovered one of them on May 8, 2001.

Frequently Asked Questions [which have not yet been dealt with]

QUESTION. Why can't I navigate inside the dropped down menus via keyboard and Graffiti input?

ANSWER. As of version 5.62, you can. Please install LapTopHack, [see here for details].

QUESTION. Why can't pedit edit DOC files directly?

ANSWER. Under construction...

QUESTION. Why can't the segment headers be hidden from the user?

ANSWER. Under construction...

QUESTION. What is this !p04 [or "!m32] and !p32 at the top of the screen? Why can't you replace it with a more user friendly expression such as "PeditPro (single-page memo)"?

ANSWER. It's a matter of space. More precisely the lack of it [see here].

QUESTION. Why can't I customize pedit and decide which buttons should be visible in the buttonPanel?

ANSWER. Under construction...

QUESTION. Why can't the memo fonts be made sticky?

ANSWER. They are sticky as long as you visit them via the Memo Switcher [see here, here, and here].

QUESTION. Why can't I add line numbers to my memo in pedit?

ANSWER. You can. Use pScripts. For instance, check this message on the peditors Forum for details, or contact Steven Hill who wrote such a pScript. For the sake of completeness, here is Steve's pScript [which may be improved by Steve in the future].

----paste to scriptPad
{lineNum::
        /&script@ [@@flush@@]
        /&varSet@ [$1, 1]
        /GZ
        `jl
        `f`R            /*this regex search checks for a header and
only starts numbering after it*/
        ^!DO.+OVE!$
        `f
        `jfc
        /&script [@@repeatLineNum@@]
}

{repeatLineNum::
        /xt
        `jbc
        /&varPrint [$1]
        /&script[@@nextLineNum@@]
}

{nextLineNum::
        `jfl
        /&script[@@2nextLineNum@@]
}

{2nextLineNum::
        /! /$e /&varSet@ [$0, $$]               /*the 'is cursor at end...*/
        /! /$c /&varSet@ [$2, $$]               /*     ....construct*/
        /&ifScript [$2==$0, @@leaveGMM@@]
        `jfc
        /&varAdd [$1,1]
        /&script [@@repeatLineNum@@]
}

{leaveGMM::/Gz}

QUESTION. Does pedit support HandEra?

ANSWER #1. Mostly but not perfectly, There are some glitches. As soon as a HandEra development package will be made available on the Macintosh, I will be able to test pedit with HandEra. I recommend that you keep begging the HandEra people to provide Macintosh development support.

ANSWER #2. As soon as HandEra will re-start supporting HandEra, pedit will also support it.

QUESTION. How come that when I beam a 04K memo via peditPro, the memo ends up as a 32K memo?

ANSWER. Since peditPro doesn't really know where the memo comes from, it takes the safest possible choice by diverting the memo into the Memo32DB database. You can always export it back to into Memo32DB.

QUESTION. How come that when I "Slap" [by Hands High] some text to peditPro, the text ends up as a 32K memo?

ANSWER. See the previous answer about beaming.

QUESTION. Under construction...

ANSWER. Under construction...

Useful Macros

Many macros were contributed by Jerry Skelley. Jerry's macros can be downloaded from the files area of the peditors Forum.

NOTE. If the version of your pedit is below 4.17, please do not embed "ESC W" strictly inside a Palm shortcut since this command generates an "EvtEnqueueKey ('W', 0, 0)" job and Palm shortcuts generate "EvtEnqueueKey ()" jobs as well. The two "EvtEnqueueKey ()" jobs may interefer with each other resulting in weird scenarios, as Jerry has discovered. However, it is perfectly all right to define a Palm shortcut ending with precisely "ESC W".

Under construction...

Disclaimer and Legal Statement

I guess, this is the right place to declare that you should install and use all members of the pedit family of Palm text editors at your own risk since neither I, Paul Nevai, nor PaulComputing are responsible for any damage and/or loss of data caused by pedit. Please keep in mind the three most important actions one may, could, can, should, and must do on at least a daily basis, are as follows: HotSync, HotSync, and HotSync.

FOR LEGAL REASONS, LET ME STATE IT VERY EXPLICITLY AND VERY CLEARLY THAT THE USE OF ALL MEMBERS OF THE PEDIT FAMILY OF PALM TEXT EDITORS, INCLUDING BUT NOT LIMITED TO PEDIT AND/OR PEDIT32 AND/OR PEDITPRO AND/OR PEDITLIGHT AND/OR PEDITFIXER, CONSTITUTES A CONTRACT BETWEEN THE USER AND ME, AND THAT THIS SOFTWARE IS PROVIDED AS IS, WITH NO WARRANTY OF MERCHANTABILITY AND/OR FITNESS FOR ANY PARTICULAR TASK. THE USER ASSUMES ALL RESPONSIBILITY FOR ITS USE.

Please note that if you try out any of the pedit family of Palm text editors, then it will leave a permanent marker of no more than ten bytes inside your system's memory. You will not be able to get this memory back unless you register one of the pedits. This is necessary so that pedit can end its free trial period even if you delete it and later reinstall it again.

Acknowledgement

It was Bozidar Benc [he died after a car accident in March, 2004] who started me on this project, and who helped me out while I was learning the basics of Palm programming. I am sincerely grateful to Bozidar. Let me confess that I offered Bozidar co-authorship of pedit which he politely declined [I wonder if he knows something I don't].

I am also grateful to Alan Pinstein for sharing with me the source code of a MagicText plug-in, and, thereby, helping me to accelerate my original caseless search function, Ken Krugler who I consulted regularly regarding various Palm specific implementations of text processing functions and who helped me to solve problems which I couldn't have done without his assistance, Ben Combee who gave frequent and excellent advice on optimizing certain pedit functions, and to Aaron Ardiri for some advice and for numerous constructive discussions.

Very special thanks to Roger Lawrence for his RsrcEdit which is one of the handiest and greatest programming tools available for the Palm platform.

WARNING. As the most recent POSE reveals, RsrcEdit 1.017b is full of memory leaks [bugs] which may cause serious problems. Hence, it is prudent to use utmost care when playing with RsrcEdit.

I also thank Rick Bram [the developer of Pop!], Steve C. Gilardi, Carl Osterwald, Ken Hancock, Harry Konstas, Greg Parker [the developer of pssh], Michael J. Rider, and Andrew Welch who allowed me to use their fonts and/or font utilities.

I also thank the CodeWarrior and Palm guys at Metrowerks and Palm OS and the mac guys at Apple started it all, especially the creators of the NeXT OS.

In particular, I borrowed extensively from the source code of Palm's Memo Pad, and I used the Palm SDK as well.

Paolo Amoroso has done an incredible job by creating and moderating the peditors Forum, and by being our peditorial and LapTopHackorial community's head of state. Mio caro Paolo, molte grazie.

I am sincerely grateful to all the peditors who flooded me with bug reports, suggestions and recommendations for improving pedit. I hope I will not offend them if I mention by name a selected few only who for one reason or another contributed more to pedit's development than the others: Tamim Azizadah, Bam [BamB] Bamir, Daniel Bergman, Dirk [DirkB] Bernhardt, Andy Bilodeau, Russell Birner, Jim [JimB] Boling, Doug [DougB] Boulter, Jennifer A. Brinn, David [DavidB] Brunner, Patricio Calderon, Joe Chott, Larry Clapp, Marshall Cline, Bryan Coe, Adam [AdamC] Coleman, Tamara [TammyC] L. Cravit, Ray [RayD] Drew, Dave [DaveE] Eggleston, Elia [Dindit] Nugraha Ekanindita, Barry Ekstrand, David [DavidE] Ellis, Allen Evenson, Luc [LucF] Ferland, Lonnon [LonnieF] Foster, Neil [NeilG] Garforth, Alexis [AlexisG] Gallagher, Dafydd Gibbon, Sergio [SergioG] Giraldo, Monika [MonikaG] Göhmann, Andrew [AndrewG] Marc Greene, Peter [PeterG] R. Grierson, John [JohnH] Harms, Lee Hauser, Rick Haws, Mark Hazell, Frank [FrankH] Hellwig, Rick [RickH] Hopkins, Urs Hunkler [aka urs hunkler], Michael D. Hensley, Steven [StevenH] Hill, Rick Hopkins, Dan Hughes, Carl [CarlJ] Jacobsen, Jesse [JesseJ] Jacobsen, Bob [BobJ] Jenner, Bruce Keener, Peter [PeterK] Korman, Henk-Jan [HenkK] Korpel, Peter [PeterK2] Koves, Thomas A. [ThomasK] Krahn, Jeffrey Krzysztow, Alisdair [AlisdairL] Laird, Conway [ConwayL] Langham, Casper Lassenius, Gerry [GerryL] Levesque, Kuan Ju Liu, Zed Lopez, Duncan [DuncanM] Macdonald, W. Bruce [BruceM] Maguire II, Mark A. Mandel, Edo Marinus, Jonathan Markevich, John [JohnM] Markley, Bill McIntyre, Amir [AmirM] Mehrkar, Ole [OleM] Mollenhauer, Josh Morris, John [JohnN] Newell, Larry O'Brien, Kelly O'Hara, Rob Olian, Tim [TimP] Parris, John D. [Dan] Patterson, Norbert Preining, Jahn Rentmeister, Rick [RickR] Reynolds, Margret Rosenberg, Jeff [JeffR] Roule, Maya [MayaR] Rozenshein, Joachim [JoachimS] Sanders, Kim Schaffer, Winfried [WinnyS] Schuster, Yaakov [YaakovS] Shlafman, Jerry Skelley, Dirk [DirkS] Spackman, Mark [MarkS] Srebnik, Bill [BillS] Starr, Tom [TomS] Stoneham, Stephen W. Stout, Nathan [NateT] Thern, Jacques [JacquesT] Turbi, Eduard Tutis, Ron Tyson, Roy van der Woning, Gary D. VanSant, Howard Veit, John [JohnW] A. Walsh, Blake [BlakeW] Winton, Jeff Wilder, Alexis [AlexisW] Wilpert, Peter [PeterW] Wirstrom, and Todd Witters.

Closure

Finally, please feel free to inform me of your wish list, suggestions, recommendations, [gentle] criticism, and so forth.

Sincerely,
Paul Nevai
peditor-in-Chief

Paul Nevai
E-mail: 2me@PaulComputing.com
Web: http://www.paulcomputing.com

Index

Under construction...

Index of ESC keys

Under construction...

More from PaulComputing

I wrote dbCleanerUpper, EventAnalyzerHack, grepHack, LapTopHack, listNavigatorHack, menuNavigatorHack, the pedit family of text editors, printHack, pToolSet, Sporty [TBA], superFinderHack, and TimeSetter which are available from PaulComputing and eSellerate.

pedit's Development History

December 10, 1999. Started work on pedit.

February 1, 2000. Released version 1.00 of pedit.

February 1, 2000. Starting up EditView from ListView with a Graffiti stroke or a letter typed from a keyboard places the cursor after the just entered character [this was fixed one more time on February 10, 2000]. Thanks Adrian and Mike for your bug report.

February 1, 2000. Tapping the upper left corner of the title bar in EditView [a 5*5 pixel area] launches PocketC immediately [if it is installed]. I deactivated this on February 9, 2000 [see the Launcher ["»"] button in EditView's buttonPanel].

February 3, 2000. Better interaction between doubleTap and text selection.

February 4, 2000. Created two versions of pedit. The regular pedit and the bigger [but not necessarily better] pedit32.

February 4, 2000. The cursor no longer disappears after changing the underline mode of the text field with the "R" button in EditView's buttonPanel]. Thanks, Carl, for your bug report.

February 4, 2000. magiPad can be entered either through the "M" button in EditView's buttonPanel.

February 5, 2000. If pedit is assigned to a hard key then in EditView that key switches to ListView, and, if in ListView, then it changes categories.

February 5, 2000. Added smart selection of words [see the Select command in EditView's Opt[ions] menu].

February 5, 2000. Aligned some labels in the Select dialog in EditView's Opt[ions] menu. Carl and Harry couldn't stand how it looked like.

February 5, 2000. pedit.README was renamed pedit.txt. Phil wanted it since the ".txt" extension was more convenient for non-Macintosh users, so I did it.

February 7, 2000. Fixed a minor bug in the Security dialog in ListView's Options menu when selecting text with no field focused.

February 7, 2000. Improved the "SHOW|HIDE" process [see the Security command in ListView's Options menu].

February 9, 2000. Added the Launcher ["»"] button in EditView's buttonPanel. Thanks to all who requested it.

February 9, 2000. Streamlined the text selection procedure [see the Select command in EditView's Opt[ions] menu].

February 9, 2000. Cleaned up EditView's interface.

February 9, 2000. Added the Cursor button in the Jump to dialog in EditView's Navigate menu.

February 10, 2000. Fixed the alignment of some items in some dialogs.

February 10, 2000. Optimization for saving the preferences.

February 10, 2000. Updated the Help dialog in EditView's Edit menu.

February 10, 2000. pedit and pedit32 have their own individual icons.

February 10, 2000. Fixed a cosmetic blemish in pedit32 when switching off the stats in the title bar in a memo with greater or equal than 10,000 characters.

February 10, 2000. Starting up EditView from ListView with a Graffiti stroke or a letter typed from a keyboard places the cursor after the just entered character [fixed it the 2nd time, see February, 1, 2000].

February 10, 2000. It is possible to have a registered version of pedit without the "added bonus" activated.

NOTE. As of version 3.00, the "added bonus" has become obsolete.

February 10, 2000. Enabled the encourager [nagger] to register pedit.

February 10, 2000. Registration is confirmed in the Register[ed] button in the About pedit window.

February 11, 2000. Added the Launcher ["»"] button in EditView's buttonPanel.

February 11, 2000. Added the Memo Switcher [">"] button in EditView's buttonPanel, and removed the previous operational mode of tapping in the Graffiti shift area.

February 11, 2000. Reduced nagging: unregistered users are encouraged to register once out of every three times only when they open up a new memo.

February 12, 2000. The existence of a 2*2 pixel sized black square just below the title bar in the upper right corner of the screen indicates that the current memo is a pedit32 memo as opposed to a pedit04 memo [see Which pedit is my pedit?].

February 12, 2000. The user can enable/disable the escape character usage and the escape character itself is user defined [see the pedit preferences dialog]. Great suggestion, Carl!

February 12, 2000. The user can enable/disable the automatic capitalization of sentences [see the pedit preferences dialog]. Great suggestion, Carl!

February 14, 2000. Fixed some incompatibility issues with MenuHack [see title bar statistics]. Thanks, Marshall, for your persistent bug reports!

February 14, 2000. Fixed some incompatibility issues with ClearHack [see the "R" button in EditView's buttonPanel]. Thanks, Marshall, for your persistent bug reports!

February 15, 2000. Invisible characters [space, tab, and, optionally, linefeed] can be displayed or hidden via the Visibilator command in EditView's Edit+ menu. Great suggestion, Carl!

February 17, 2000. Added support for Bozidar Benc's PopFavorites.

February 17, 2000. Added the Top Start[er] option to the Find'n'Replace dialog. Great suggestion, Carl!

February 17, 2000. Released version 1.08 of pedit.

February 19, 2000. Added the myNotes button in ListView's buttonPanel. with an optional date'n'time stamp feature.

February 22, 2000. Added a full featured memo Memo Switcher [">"] command in EditView's buttonPanel This was requested by a large number of peditors. This is in addition to the quickSwitcher which was already implemented in pedit.

February 23, 2000. Entering "ESC S" in EditView selects the entire memo [as opposed to the key sequence "ESC s" which opens up the text selector window in EditView's buttonPanel].

February 23, 2000. Added support for Stand Alone's Clipper [see the buttonShifted "P" button in EditView's buttonPanel]. Great suggestion, Howard.

February 24, 2000. Added the optional [very sexy] inverted or black buttons Great suggestion, Francois.

February 24, 2000. Fixed a Memo Switcher [see the ">" command in EditView's buttonPanel] related harmless bug which caused a "fatal exception". Danke schön, MonikaG, for finding the bug.

February 25, 2000. Fixed a Memo Switcher [see the ">" command in EditView's buttonPanel] related harmless bug which caused to display incorrectly the number of memos in the category in the title bar after a switcher job. Merci beaocoup, Francois, for finding the bug.

February 26, 2000. Introduced buttonShifts for the "P", ">" and "»" buttons in EditView's buttonPanel. Clipper and PopFavorites users should especially rejoice. Toda raba, YaakovS, for the idea.

February 27, 2000. Released version 1.09 of pedit.

February 28, 2000. Development of version 1.xx was frozen with version 1.09 except for bug fixes.

February 29, 2000. Fixed a bug whereby all text selections made in the Launcher and the Memo Switcher [see the ">" command in EditView's buttonPanel] were saved in the preferences database, and, thereby, caused some errors under certain circumstances.

February 29, 2000. Released version 1.10 of pedit.

February 29, 2000. Released version 1.11 of pedit.

March 1, 2000. Fixed a bug when magiPad was entered via the "ASCII Table" command instead of the "M" button, and then if some text was selected in magiPad, then the vitals were saved in the preferences database. This caused some errors under certain circumstances.

March 2, 2000. Fixed a minor bug related to the array "myLauncherList[]".

March 2, 2000. Released version 1.12 of pedit.

March 3, 2000. Fixed a minor bug related to "EditViewInit []".

March 3, 2000. Fixed a minor bug related to the standard editing functions "U", "X", and "P" in magiPad's buttonPanel.

March 3, 2000. After pedit's expiration date, the user is given a grace period to install the latest version of pedit.

March 4, 2000. pedit 1.13 passed two sets of all 1000 POSE gremlins 1000 times without a single error. For the tests I used rom30dbg.rom and the Macintosh version of the "Palm OS Emulator 3.0a4".

### Gremlin_Search_Progress.dat ####
gCurrentDepth=9
gCurrentGremlin=999
gGremlinHaltedInError=0 [1000 times]
gGremlinSaveFrequency=0
gGremlinStartNumber=0
gGremlinStopNumber=999
gMaxDepth=1000
gStartTime=313929
gStopTime=34803697
gSwitchDepth=100
### EOF Gremlin_Search_Progress.dat ###

March 5, 2000. Fixed minor bug related to text selection when entering magiPad.

March 5, 2000. From now on if magiPad is saved then even the contents of a blank magiPad is saved as opposed to previous behavior when only a non-empty magiPad was saved.

March 7, 2000. pedit 1.13 passed one set of all 1000 POSE gremlins 2000 times without a single error. For the tests I used PalmOS33-en-iii-dbg.rom and the Macintosh version of the "Palm OS Emulator 3.0a4".

### Gremlin_Search_Progress.dat ###
gCurrentDepth=0
gCurrentGremlin=999
gGremlinHaltedInError=0 [1000 times]
gGremlinSaveFrequency=0
gGremlinStartNumber=0
gGremlinStopNumber=999
gMaxDepth=2000
gStartTime=196141418
gStopTime=302766727
gSwitchDepth=2000
### EOF Gremlin_Search_Progress.dat ###

March 7, 2000. Fixed a minor bug [a memory leak] when cancelling the Back Up Memo command EditView's Record #1 menu.

March 7, 2000. Released version 1.14 of pedit.

March 2, 2000. Moved the entire pedit project from Palm SDK 3.1 to SDK 3.5.

March 5, 2000. Added Memo Pad 3.5 updates to pedit.

March 5, 2000. Implemented multi-segmented code in the pedit project.

March 9, 2000. Implemented the Security [a la OS 3.5] and Password commands in ListView's Options menu, and removed the "Security..." button from the "I" button in EditView.

March 9, 2000. Streamlined the registration validation.

March 9, 2000. Implemented automatic indentation [see the Auto Indent dialog in EditView's Edit+ menu].

March 10, 2000. Implemented the Clear History command in ListView's Options menu.

March 10, 2000. Fixed "Search ()" and "GoToItem ()" discrepancies between OS 3.3 and OS 3.5.

March 11, 2000. Introduced extra incentives for registering pedit. Non-registered users cannot save pedit's preferences.

March 13, 2000. Beaming now works properly with all Palm OSs between 3.0 and 3.5.

March 13, 2000. Implemented 4Mb [pedit] and 32Mb [pedit32] virtual memos [see the SkyIsLimit command in EditView's Edit+ menu].

March 15, 2000. Implemented left and right block shifts [see the Shift Right and Shift Left commands in EditView's Edit+ menu].

March 16, 2000. Fixed some scroll bar related bugs if switching between memos via the Memo Switcher [">"] command in EditView's buttonPanel. Thanks, JohnN, for being persistent in pointing out the bugs to me.

March 17, 2000. Fixed a major bug inherited from Memo Pad 3.5 which crashed the Palm under certain reproducible circumstances after using the new Security command in ListView's Options menu. Memo Pad 3.5, as shipped in 03/2000, is defective! Danke schön, MonikaG, you did it again. You are an superb beta tester.

March 17, 2000. The FIND SilkScreen button now finds any string via pedit unlike via Memo Pad where it finds only beginnings of full words.

March 17, 2000. Fixed a bug related to "ctlSelectEvent" when I forgot to set "Boolean handled = true;" after doing a "CtlGetValue ()" job for a number of "CheckBox" items [sorry for being so technical]. Carl and MonikaG, you did it again.

March 18, 2000. In order to avoid screen update conflicts, if the Palm OS is at least 3.5 then the buttons are always displayed in the default color.

March 20, 2000. The greatly improved FIND SilkScreen button now can do a fancy searching job using the modifiers "@", ".", "^", "+" and ":".

March 20, 2000. The "Title Casing" Button In Editview's Buttonpanel Now Works Just Like It's Supposed To Work In Emacs' Text Abbrev Mode.

March 21, 2000. The BackLight can be invoked by "ESC L" in both ListView and EditView [see Common ESC Commands].

March 21, 2000. The MENU SilkScreen button can be invoked by "ESC C" in both ListView and EditView [see Common ESC Commands].

March 21, 2000. The FIND SilkScreen button can be invoked by "ESC F" in both ListView and EditView [see Common ESC Commands].

March 23, 2000. The Launcher and Memo Switcher commands in EditView's buttonPanel work in conjunction with a search via Find [see here] and then entering a carriage return [linefeed].

March 23, 2000. The fancy features of the FIND SilkScreen button can be turned off via the General Preference Panel.

March 24, 2000. Major improvements in displaying the stats in the title bar.

March 24, 2000. Fixed a bug whereby if in magiPad the selection exceeded the ClipBoard's limit then there was no warning and the Qopy'n'Paste operation resulted in error.

March 24, 2000. One step closer to 100% Palm OS 3.5 compatibility [in terms of proper display of various graphical elements].

March 25, 2000. Fixed a bug whereby after a right-shift the text selection was incorrect if the shifting operation did not succeed because the shifted memo ran out of real-estate.

March 25, 2000. Fixed a bug where the stats did not update if deleting more than undoBufferSize characters [as of August 31, 2000, undoBufferSize is equal to 100]. Thanks, Paolo, for finding this bug.

March 26, 2000. Fixed a minor display glitch involving the buttonShift indicator rectangle.

March 26, 2000. One more step towards a mature buttonShift concept.

March 26, 2000. New navigation commands in ListView and EditView [see Navigating ListView and Navigating EditView].

March 26, 2000. Find [see here] works in context now in the sense that the found string shows up in the middle of the text field.

March 26, 2000. The jump to cursor feature in the Jump to command in EditView's Navigate menu works in context now in the sense that the cursor and/or the start of the text selection shows up in the middle of the text field. Thanks, JohnN, for being persistent in demanding this.

March 27, 2000. The Memo Switcher [">"] command in EditView's buttonPanel works in context now in the sense that the cursor and/or the start of the text selection shows up in the middle of the text field. Thanks, JohnN, for being persistent in demanding this.

March 27, 2000. The speed of the search via the SilkScreen FIND is improved.

March 29, 2000. A myNotes related bug was fixed. This bug caused a crash if the memo "titled" 000.myNotes was hidden and the myNotes button in ListView's buttonPanel. was tapped.

March 29, 2000. Fixed a bug which consisted of the following. If in EditView a left arrow, or a right arrow, or an up arrow, or a down arrow were entered while the cursor was invisible, then the scroll bar did not update correctly. This is a bug in Memo Pad too. Thanks, JohnN, for noticing it.

March 29, 2000. Completed the transition to SDK 3.5 and incorporated the new features of Memo Pad 3.5 into pedit.

March 29, 2000. Improved handling the built-in expiration date of pedit.

April 1, 2000. Implemented the Clear Preferences command in ListView's Options menu.

April 1, 2000. Released version 2.00 of pedit and pedit32.

April 1, 2000. If pedit is registered, then the About pedit dialog shows "Registered" instead of "Register".

April 1, 2000. The fonts in recently visited memos are now sticky. Thanks, Nick, for the idea.

April 2, 2000. If there is no text selected, then the "L" and "K" buttons in EditView's buttonPanel do the appropriate caser job for the character right after the current cursor position. Thanks, YaakovS, for the idea.

April 2, 2000. Fixed a minor bug where if pedit was terminated while in magiPad then the appropriate memo vitals were not properly remembered.

April 3, 2000. Fixed a minor bug whereby if there was no MemoDB present, then pedit had to be launched twice.

April 3, 2000. Nag reduction for un-registered users.

April 7, 2000. Added the feature that the GoType! ALT upArrow and ALT downArrow keys work the same way as the page up or page down buttons.

NOTE. Neither Memo Pad 3.5 nor its older versions cooperate with GoType! in this matter.

April 9, 2000. Full interaction between pedit and pedit32 via the Export Memo command in EditView's Record #1 menu, and the Export Category command in ListView's Record menu.

April 10, 2000. Implemented the Clear Deleted Records command in ListView's Options menu.

April 19, 2000. Fixed a GoType! bug which activates invisible buttons [e.g., "Command-Alt-b" activated "B" while in magiPad]. Thanks, MonikaG, for finding this bug.

April 27, 2000. Fixed an "index out of range" bug related to the Clear Deleted Records command in ListView's Options menu.

April 30, 2000. Fixed a bug whereby if one entered magiPad from a blank memo, then upon leaving magiPad one could face a situation where pedit wanted to select text in a blank memo resulting in a crash.

May 2, 2000. Fixed a SkyIsLimit [see EditView's Edit+ menu] related bug whereby in pedit32 the memo splitting took place too soon. Thanks, Margret, for finding this one.

May 4, 2000. Fixed a bug where the screen occasionally froze when quitting the Auto Indent dialog in EditView's Edit+ menu. Thanks to Carl, Paolo, and yours truly for finding this one.

May 4, 2000. Added the quickLauncher ["»" aka "«" or "<<"] button in EditView's buttonPanel].

May 11, 2000. Segment enumeration is incremented by multiples of 10 so that intermediate segments could easily be added.

May 18, 2000. Added the segmentSwitcher ["$"] button in EditView's buttonPanel.

May 18, 2000. Added batch deletion of segments in EditView [see the Delete Memo command in EditView's Record #1 menu and the "D" button in EditView's buttonPanel].

May 18, 2000. Added full interaction between pedit or pedit32 and DOC files via the Export Memo command in EditView's Record #1 menu, and the Export Category and Import Doc File commands in ListView's Record menu.

May 20, 2000. Added the New Chapter command in EditView's Edit+ menu with fully automated segment enumeration.

May 21, 2000. Added batch changing of attributes [category name and private] of segmented memos via the "D" button in EditView's buttonPanel.

May 21, 2000. The page up or page down buttons at the beginning or at the end of a segmented memo, respectively, activates the segmentSwitcher [""$"] button in EditView's buttonPanel [deactivated on 06/17/2000, see below].

May 23, 2000. Added the Reindex Chaps command in EditView's Edit+ menu.

May 24, 2000. Added the Navigate menu in ListView.

May 25, 2000. The default buttons [the ones surrounded by bold framed] can be activated by RETURN or "ESC RETURN" [see pedit and External Keyboards].

May 30, 2000. Introduced new help via the "H" button in EditView's buttonPanel.

May 27, 2000. Added many new ESC commands.

May 28, 2000. Fixed a bug related to Graffiti shifts when opening a memo via entering its first letter. This bug was present only if the OS is below 3.5. Thanks, Jirka, for noticing it.

May 30, 2000. Added batch deletion of segments, and change of categories and private attributes via ListView.

June 1, 2000. Added batch beaming and preview of memos in ListView.

June 4, 2000. Unofficially released version 3.00.

June 5, 2000. Fixed a minor display bug in ListView when using the menu command to activate batch processing of memos [added a "MenuEraseStatus (CurrentMenu)" command].

June 5, 2000. Fixed a bug related to importing DOC files when the RAM is low. Thanks, Maxime, for finding it and for helping me with testing the fix.

June 6, 2000. Running out of code real estate - started segment #3.

June 6, 2000. Added the Go to Memo command to ListView's Record menu.

June 6, 2000. Open the most recently visited memo via "ESC }" from ListView.

June 6, 2000. Fixed a bug related to entering magiPad when low on memory. Thanks, Maxime, for finding it.

June 7, 2000. Fixed a minor inconsistency when entering the Memo Switcher via the Recent command in ListView's Navigate menu or via the Recent button in ListView's buttonPanel, and then exiting it via the "OK" button. Thanks, Dafydd, for finding it.

June 7, 2000. Fixed a bug related to DOC files which had been visited by AportisDoc and/or TakeNote! prior to being imported to pedit.

June 7, 2000. Introduced a simplified registration of trial and expired versions of pedit.

June 8, 2000. Released version 3.02 of pedit and pedit32.

June 8, 2000. Save and restore memos via the Save Memo and Restore Memo commands, respectively, in EditView's Record #1 menu. These commands are 100% optional to use. It is not necessary at all to save a memo since it is done automatically both when entering and when exiting EditView. However, Restore Memo can always bring back the last saved state of the current memo.

June 8, 2000. If no selection is made and the "T" button in EditView's buttonPanel. is activated then the word surrounding the cursor is Titlecased. Thanks, Steve, for this great suggestion.

June 8, 2000. EditView's buttonPanel can be removed [see the Buttons on|off command in EditView's Opt[ions] menu].

June 10, 2000. Started to add printing capabilities to pedit [see the Print Memo command in ListView's Record menu].

June 10, 2000. Brand new ListView for segmented memos.

June 15, 2000. The "?" button in EditView's buttonPanel is displayed in bold when your memo is a pedit32 memo.

June 17, 2000. The page up or page down buttons at the beginning or at the end of a segmented memo, respectively, opens up the previous or next segment, respectively [see the Go to Prev Chap and Go to Next Chap commands in EditView's Edit+ menu].

June 17, 2000. Added an optional top starting feature to the myNotes button in ListView's buttonPanel. Thanks, Doc, for the idea.

June 18, 2000. The Memo Switcher [">"] command in EditView's buttonPanel no longer shows the titles of hidden private memos. Thanks, Doc, for noticing this security breach.

June 24, 2000. If text is selected in a memo then the Back Up Memo command EditView's Record #1 menu. backs up the selected text. Thanks, Dafydd, for the suggestion.

June 27, 2000. Added autoMagic Find'n'Replace [see here for more details]. Thanks, David, Kevin, and PeterG, for the many subtle suggestions.

NOTE. If the replacement string is defined as "\x" [delete], then the matched string will be deleted from the memo.

June 27, 2000. Addded visual feedback of most "ESC" commands via inverted buttons.

June 29, 2000. Support for "Forth" style word definition in selecting text [see the Select command in EditView's Edit menu].

June 29, 2000. "ESC {" places the cursor to the top of the current screen [see the Jump to command in EditView's Navigate menu].

June 29, 2000. "ESC W" selects word surrounding the cursor see the Select command in EditView's Edit menu].

June 29, 2000. Added "ESC ENTER" = "OK" button in EditView. Also, "ESC ." = "OK" button in EditView if the current memo is empty [see the "OK" button command in EditView's Navigate menu]. Thanks, Duncan, for the suggestion.

July 5, 2000. Implemented set marker, select from marker, and jump to marker [see the Set Marker command in EditView's Navigate menu].

July 7, 2000. Fixed a bug which did not allow to turn on the Palm with the pedit-assigned hard button and then to remain in EditView. Thanks, Dafydd and Margret, for noticing it.

NOTE. Memo Pad in Palm OS at least up-to 3.5 still has this bug.

July 7, 2000. In peditPro, the Switch command in ListView's Navigate menu can be activated by tapping in the left 1/8th of the title bar [to the left from the small pixel visible just under the title bar].

July 7, 2000. Printing up-to 9 copies is allowed [see the Print Memo command in ListView's Record menu]. Thanks, Jim, for the idea.

July 9, 2000. Fixed a stats display bug which happened while switching from magiPad back to EditView . Thanks, Bodo, for finding it.

July 11, 2000. Added printing info to pedit's manual with links to PalmPrint and TealPrint [see the Print Memo command in ListView's Record menu].

August 22, 2000. Fixed a bug whereas exporting to a DOC file crashed if the memo was segmented and one of the segments was empty.

August 22, 2000. Released version 4.05 of all pedits and released peditPro "officially".

August 25, 2000. Added the Visit Marker command in EditView's Navigate menu.

August 26, 2000. Updated the recognized battery types in the System Info command in ListView's Options menu. Thanks, Norbert, for suggesting this.

August 30, 2000. Added the Insert Memo command in EditView's Record #1 menu.

August 30, 2000. Added the New Memo command in ListView's Record menu.

August 30, 2000. Released beta version 4.06 of all pedits.

September 2, 2000. Fixed a bug in the Insert Memo command [see EditView's Record #1 menu] whereby if the current memo was empty then the insertion operation took place in the most recently visited memo instead. Thanks, DirkS, for finding it.

September 4, 2000. Fixed a bug in selecting sentences when the cursor was at the end of the sentence right before the sentence ending character [see the Select command in EditView's Edit menu]. Thanks, StevenH, for finding this bug.

September 5, 2000. Fixed a Memo Switcher [see the ">" command in EditView's buttonPanel] related scroll bar bug in ListView whereby the scroll bar was not properly updated when switching between different categories. Amazingly, this bug went unnoticed for such a long time and it was I who found it.

September 5, 2000. Started working on the brand new Jump to command in EditView's Navigate menu.

NOTE. Entering "ESC A" in EditView jumps the cursor to the beginning of the screenLine, whereas "ESC E" in EditView jumps the cursor to the end of the screenLine [still beta].

September 5, 2000. Released beta version 4.07 of all pedits.

September 6, 2000. Continued working on the brand new Jump to command in EditView's Navigate menu.

September 10, 2000. The Palm version of the Profont family has been fixed by Michael J. Rider [see EditView's Fonts].

September 12, 2000. Released beta version 4.09 of all pedits.

September 14, 2000. Released beta version 4.10 of all pedits.

September 16, 2000. Michael J. Rider completed version 1.02 of his Palm version of the Profont family [see EditView's Fonts].

September 18, 2000. Added paragraph jumps to the Jump to command in EditView's Navigate menu. Thanks, JesseJ, for suggesting it.

September 18, 2000. Released beta version 4.11 of all pedits.

September 19, 2000. Added brackets to the date'n'time stamp in myNotes. Thanks, JohnN, for the idea.

September 20, 2000. The Jump to command in EditView's Navigate menu was made sticky. Thanks, Jerry, for suggesting it.

September 20, 2000. The role of "ESC J" was changed from initiating a jump to the marker [see the Set Marker command in EditView's Navigate menu] to repeating the last jump [see here and the Jump to command in EditView's Navigate].

September 20, 2000. Released beta version 4.12 of all pedits.

September 20, 2000. Added double blinking to buttons invoked by ESC equivalents of their buttonShifted versions.

September 20, 2000. Released beta version 4.13 of all pedits.

September 21, 2000. Fixed a bug which caused the destruction of the current memo if a right shift [see EditView's Edit+ menu] was performed while in magiPad.

September 21, 2000. Released version 4.14 of all pedits.

September 22, 2000. Started working on the brand new Select command in EditView's Opt[ions] menu.

NOTE. While under construction, the new selection window will be invoked via "ESC G".

September 28, 2000. Released version 4.15 of all pedits.

October 1, 2000. Entering myNotes via ListView's buttonPanel capitalizes the first Graffiti character if the capitalization is automatic box is checked in the pedit preferences dialog. Thanks, Dan, for the idea.

October 2, 2000. Released version 4.16 of all pedits.

October 5, 2000. Fixed a bug whereby there was a crash on POSE if the Palm OS was 3.5 (debug) and pedit was started up via a sysAppLaunchCmdGoTo launch code. The reason for the crash was that in OS 3.5 the function FldScrollField() should not be used prior to FrmDrawForm (). Needless to say that this is undocumented in the Palm SDK. Thanks, Fred, for helping me to find this bug.

October 5, 2000. Released version 4.17 of all pedits.

October 7, 2000. Removed the Palm Operating System's ClipBoard limitation of a maximum 1000 characters when using either the "C" button in EditView's buttonPanel, or the Copy command in EditView's Edit menu, or the Qopy'n'Paste button in magiPad. Thanks, JesseJ, for the suggestion.

October 7, 2000. Released version 4.18 of all pedits.

October 9, 2000. Fixed a bug whereby, if (i) a marker was selected in a memo, (ii) a new memo was created, and (iii) one tried to use the marker set in the previous memo, then it resulted in a crash.

October 10, 2000. The marker is deselected automatically if the text of the memo changes.

October 13, 2000. Fixed a bug whereby pedit crashed if "ESC i" was invoked during a memo insert process [see EditView's Record #1 menu] while EditView's buttonPanel was off [see the Buttons on|off command in EditView's Opt[ions] menu]. Thanks, JesseJ, for the bug report.

October 17, 2000. The entry fields in all dialogs can be controlled by

page up = up arrow = increases the number in the field which is focused

page down = down arrow = decreases the number in the field which is focused

as long as the focused field expects a number input, and

page up = up arrow = get the next character in the field which is focused

page down = down arrow = get the previous character in the field which is focused

as long as the focused field expects a single character input.

October 18, 2000. Released version 4.20 of all pedits.

October 20, 2000. Added an optional fixed category feature to the myNotes button in ListView's buttonPanel. Thanks, Jennifer, for insisting on this feature.

October 21, 2000. Added a date'n'time stamper [see the Add a DateStamp command in EditView's Edit+ menu]. Thanks, Rick, for the idea.

October 21, 2000. Released versions 4.21 and 4.22 of all pedits.

October 21, 2000. Switching between the last two fonts in EditView via the buttonShifted "U" button in EditView's buttonPanel or by "ESC U". Thanks, ???, for the idea.

October 23, 2000. Found and fixed three bugs in conjunction with the fancy feature of the FIND SilkScreen button.

October 23, 2000. Released version 4.23 of all pedits.

October 30, 2000. Either SPACE or TAB can be picked as ESC character [see the pedit preferences dialog.

October 30, 2000. Released version 5.00 of all pedits.

October 31, 2000. Fixed a bug in the right shift command [see EditView's Edit+ menu] which caused improper screen display refreshment if no shifting took place. In addition, I also did a minor optimization of the shifting process. Thanks, Kim, for discovering this really odd bug.

November 10, 2000. Released version 5.01 of all pedits.

December 7, 2000. The ESC character can be any character of the extended 256 character ASCII code chart with a few exceptions in the "a-z" and "A-Z" range [I am not sure that this will work on all international Palms]. Thanks, Mark, for the suggestion.

January 17, 2001. Released version 5.02 of all pedits.

January 18, 2001. Implemented a number of ESC key mechanism related optimizations which will hopefully speed up pedit.

January 18, 2001. Fixed an innocent bug related to opening menus while buttonShifted buttons were displayed.

January 18, 2001. Released version 5.03 of all pedits.

January 25, 2001. buttonSliding is here.

January 25, 2001. Released version 5.04 of all pedits.

January 28, 2001. Fixed a doc file import bug [accidentally] introduced in version 5.04. Thanks, Jennifer and Jerry, for your bug reports.

January 29, 2001. New character, word, and line count via the "WC" and the buttonShifted "WC" buttons. The former works with segmented memos as well.

January 29, 2001. Released version 5.05 of all pedits.

February 1, 2001. Introduced intelligent splitting during exportation [see here too] of pedit32 memos to pedit04, and during importation of DOC files.

February 1, 2001. Released version 5.07 [sic since 5.06 was not released publicly] of all pedits.

February 6, 2001. Fine tuning the segmentation business.

February 6, 2001. Vastly improved "WC".

February 6, 2001. Released version 5.09 [sic since 5.08 was not released publicly] of all pedits.

February 6, 2001. Started adding better support for segmented memos such as the buttonSlided "F" and "G" buttons [see also "ESC G"] which allow finding text across segmented memos.

February 17, 2001. Released version 5.10 of all pedits.

March 6, 2001. Released version 5.11 of all pedits.

March 9, 2001. Fixed a bug which appears in Palms with OSs under 3.3 when trying to import DOC files. The problem originates in the Palm OS itself which had a somewhat defective "SysCreateDataBaseList ()" function in OSs under 3.3. Thanks, Daniel, for the bug report.

March 10, 2001. Continued working on internationalizing pedit and making it more compatible with all OSs, including those with "exotic" languages such as Japanese.

March 10, 2001. Released version 5.12 of all pedits.

March 18, 2001. Fixed a scroll bar related minor bug whereby sometimes one could not scroll to the last line of a memo. Since I could not reproduce this bug, I can only hope that the fix was successful. Thanks, Edo and JesseJ, for the bug reports.

March 19, 2001. Started implementing a new feature allowing to move text around your memo.

March 19, 2001. Released version 5.13 of all pedits.

Finished the implementation of the text mover commands.

March 29, 2001. Released version 5.14 of all pedits.

March 31, 2001. The text sorter is here.

April 2, 2001. Released version 5.15 of all pedits.

Even more intuitive implementation of the text movercommands.

April 3, 2001. Released version 5.16 of all pedits.

April 4, 2001. EditView's menus have been reorganized.

April 5, 2001. A brand new New Chapter command. Thanks, Dwight and Jennifer, for the idea.

April 5, 2001. Released version 5.17 of all pedits.

April 7, 2001. Having bowed to popular pressure, I started implementing the peditorial expertMode which, eventually, will speed up some pedit operations one way or another at the expense of several factors which seem to annoy the "experts" anyway. Please toggle the expertMode on or off in the Modes panel. of the pedit preferences dialog.

April 7, 2001. Released version 5.18 of all pedits.

April 8, 2001. I started implementing the peditorial advancedMode which, eventually, will also speed up some pedit operations one way or another at the expense of fewer factors than the expertMode. Please toggle the advancedMode on or off in the Modes panel of the pedit preferences dialog.

April 8, 2001. Released version 5.19 of all pedits.

April 10, 2001. Released versions 5.20 and 5.21 of all pedits.

April 11, 2001. Released version 5.22 of all pedits.

April 11, 2001. A large number of minor bug fixes preventing certain operations on segment headers such as moving words inside them with text mover commands.

April 12, 2001. Released version 5.23 of all pedits.

April 12, 2001. Start of a landmark experimental project which allows pScripting pedit.

April 14, 2001. Released version 5.24 of all pedits.

April 15, 2001. Released version 5.25 of all pedits.

April 23, 2001. Released version 5.26 of all pedits.

April 25, 2001. As of LapTopHack, version 2.81b, the downButtonSlided F and G buttons bring up LapTopHack's "F" [Find] and "G" [FindMore] buttons in peditHack.
NOTE.Deactivated on October 7, 2001.

April 25, 2001. Fine tuning pScripting. The globalMacroMode [triggered with "/0x02" and "/0x03"] conflict has been fixed by introducing new trigger keys. Thanks, Joachim, for noticing the problem.

April 26, 2001. Released version 5.27 of all pedits.

April 26, 2001. More code sharing between LapTopHack and pedit.

May 3, 2001. Fixed a source code typo which could have resulted in crashes while in the buttonless EditView. Thanks, DirkS, for the bug report.

May 3, 2001. Released version 5.28 of all pedits.

May 3, 2001. Fixed a bug which prevented proper conversions of imported Macintosh based DOC files. Thanks, Lee and Patricio, for the bug reports.

May 3, 2001. Released version 5.29 of all pedits.

May 4, 2001. readOnlyMemos are here. Thanks, JohnN, for the idea and for persisting that I implement it.

May 4, 2001. Experimenting with version numbers as they appear under Palm's "Info..." menu in the application launcher and elsewhere.

May 4, 2001. Released versions 5.30 and 5.31 of all pedits.

May 5, 2001. readOnlyMemos are marked with "!" in ListView. Thanks, Joachim, for the suggestion.

May 5, 2001. Released version 5.32 of all pedits.

May 6, 2001. scriptPad is here.

May 7, 2001. Released version 5.33 of all pedits.

May 7, 2001. scriptPad can also be entered by upButtonSliding the "M" button. Thanks, Norb, for the suggestion.

May 7, 2001. Released version 5.34 of all pedits.

May 8, 2001. One can enter magiPad and scriptPad directly from ListView [see the Navigate menu and the directionally buttonSlided Recent Button in ListView].

May 8, 2001. ListView is also pScriptable [see the scriptPad command in ListView's Navigate menu and the directionally buttonSlided Recent Button in ListView].

May 8, 2001. Fixed a bug effecting DOC file imports. This bug shows up only under such unusual situations that I can't believe it showed up at all. It was the hardest debugging job of my life. Thanks, Lee, for finding the bug.

May 8, 2001. Released version 5.35 of all pedits.

May 10, 2001. Improved rules for the markers [see the Set Marker command in EditView's Navigate menu]. Thanks, Dan, for the suggestions.

May 10, 2001. Released version 5.36 of all pedits.

May 10, 2001. Just a quick marker bug fix. Thanks, DirkS, for finding this bug.

May 10, 2001. Released version 5.37 of all pedits.

May 11, 2001. pedit pScripting with /$" pTokens is here.

May 11, 2001. Released version 5.38 of all pedits.

May 11, 2001. Fixed a bug which caused an [innocent] crash if myNotes was invoked several times in row. Thanks, Joe and Josh, for the superior bug report.

May 11, 2001. Released version 5.39 of all pedits.

May 11, 2001. pedit pScripting with /d" date'n'time pTokens is here.

May 11, 2001. Released version 5.40 of all pedits.

May 19, 2001. pedit pScripting with pMacros is here.

May 19, 2001. pedit pScripting with many more pTokens and the fully customizable application launcher is here.

May 19, 2001. Released version 5.41 of all pedits.

May 21, 2001. pedit pScripting with text manipulating pTokens is here such as "/es", and so forth.

May 21, 2001. pedit pScripting with various versions of day and month names in both the local language of your Palm and in English [/L" and /E" pTokens] is here.

May 23, 2001. Released version 5.42 of all pedits.

May 24, 2001. If your current pedit is prior to version 5.43 then please delete "pedit!" [with exclamation mark and aka peditLauncher] and "pedit32!" [also with exclamation mark and aka pedit32Launcher] from your Palm prior to installing the new pedit04Launcher.prc and pedit32Launcher.prc with version numbers at least 5.43. You can use your Palm's built-in deletion mechanism for this job [see here]

May 24, 2001. Significant speed and size optimization by switching to CodeWarrior's "short code model" [if you are a Palm programmer then you know what this means], and by total reorganization of all pedit functions in all pedits. Let's keep our fingers crossed that I didn't break anything which wasn't broken.

May 24, 2001. Introduced a user defined startup pScript in the myNotes command of the form "{.myNotesrc::whatever}" [see ListView's buttonPanel] Thanks, Jeffrey and Todd for the suggestion.

May 26, 2001. The advancedMode and expertMode setters are no longer toggled. Please see here, here, and here how to turn them on and off.

May 26, 2001. pedit pScripts allow automating your Find'n'Replace operations. Please see here for examples.

May 26, 2001. Released version 5.43 of all pedits.

May 27, 2001. Several peditorial check boxes and variables can be set in a pScript friendly manner. To find out which ones are pScript friendly, please search for the words "[a pScript friendly operation]" in this manual.

May 28, 2001. Change in terminology: scripts became pScripts [note the spelling with (always) lower case "p" and (always) upper case "S"].

May 28, 2001. Released version 5.44 of all pedits.

May 29, 2001. Starting with version 5.45, the globalMacroMode setting no longer needs the ESC character. Entering "/0x03" and "/0x04" is sufficient. In addition, you will not need to worry about being in EditView or ListView since it works everywhere. Please update your pScripts and pMacros.

May 29, 2001. Released version 5.45 of all pedits.

May 29, 2001. Just a quick bug fix [a typo in the source code prevented changing the ESC character in the pedit preferences dialog]. Thanks, MonikaG, for the bug report.

May 29, 2001. Released version 5.46 of all pedits.

May 30, 2001. All SPACES [0x20], TABS [0x09], and LINEFEEDS [0x0A] encountered in the pScriptText component of a pScript are ignored by the pScript processor. Use the "/x" pTokens for adding these ignored whitespaces to your pScripts.

May 30, 2001. The pScriptorial "/D" pTokens have all been renamed "/L" pTokens. Since they create strings in your Palm's local languages, the letter L" is better suited for this purpose. In addition, now the notation "/D" has become available for the upcoming debugger pTokens.

May 30, 2001. pedit pScripting with the pScript debugger "/D" pTokens is here.

May 31, 2001. pedit pScripting with the "/$q" and "/eq" pTokens are here.

May 31, 2001. pedit pScripting with pScriptorial pComments is here.

May 31, 2001. Released version 5.47 of all pedits.

May 31, 2001. Fixed a minor "WC" [word count] related computational bug. Thanks, Jennifer, for the bug report.

May 31, 2001. Fixed a minor directionally buttonSlided Recent Button related bug. Thanks, DirkS, for the bug report.

May 31, 2001. Released version 5.48 of all pedits.

June 1, 2001. Fixed a few Palm OS 4.0 performance related issues. Thanks, Bruce and Ron, for drawing my attention to this.

June 1, 2001. Released version 5.49 of all pedits.

June 1, 2001. New improved rules for the pScriptorial "/@" ["/&launch [...]"] universal launcher pFunction.

June 2, 2001. pScripting with the "/&mess [...]" message announcer pFunction is here.

June 2, 2001. Released version 5.50 of all pedits.

June 2, 2001. pScripting with the a bunch of new "/x" pTokens is here.

June 2, 2001. Released version 5.51 of all pedits.

June 4, 2001. The "/!" pToken has been renamed "/&mess [...]" [see pScripting].

June 4, 2001. pScripting with the "/&rand [...]" random number generator pFunction is here.

June 5, 2001. Fixed a small bookkeeping bug while doing a find/replace job. Thanks, Joachim, for the bug report.

June 5, 2001. The "/@" pFunction has been renamed "/&launch [...]", and the syntax has changed too [see pScripting].

June 6, 2001. Released version 5.52 of all pedits.

June 7, 2001. Fixed a bug found by Enrico. It may be a good idea for everyone to install version 5.53 although the likelihood that you will ever meet the bug is insignificant. The explanation is technical, and, therefore, I will not go into details, so please do not inquire about it. Molte grazie, Enrico.

June 8, 2001. pScripting with the "/&penDown [...]", /&stroke [...]", and /&sleep [...]" pFunctions are here. Thanks, Dan, for suggesting "/&penDown [...]".

June 8, 2001. Released version 5.53 of all pedits.

June 8, 2001. Fixed a bug effecting the Titlebar Statistics in EditView. Thanks, Roy, for your persistence that I deal with this problem.

June 9, 2001. The pScriptorial "/&stroke [...]" and /&sleep [...]" pFunctions have a new syntax and/or meaning, and the new "/&sleep@ [...]" pFunction is here.

June 9, 2001. Following advice by members of the peditors Forum, LapTopHack and pedit version numbers get synchronized [see here for up-to-date information on software by PaulComputing].

June 10, 2001. The pScriptorial /&script [...]" and /&script@ [...]" pFunctions are here.

June 10, 2001. The pScriptorial /dO" ordinal month and /do" ordinal day pTokens are here. Thanks, ConwayL, for the idea.

June 10, 2001. Released version 5.54 of all pedits and LapTopHack.

June 12, 2001. The pScriptorial "/&runtimeInit []" pFunction is here.

June 12, 2001. The pScriptorial "runtime" /&script [...]" and /&sleep [...]" pFunctions have been improved to allow multiple [up-to 7] calls within one pScript.

June 14, 2001. The pScriptorial /&setKeyQSize [...]" and /&showKeyQSize []" pFunctions are here.

June 14, 2001. Released version 5.55 of all pedits and LapTopHack.

June 17, 2001. The pScriptorial pVariables, and the /&var... [...]" and /&if... [...]" pFunctions are here.

June 17, 2001. All pScriptorial pTokens and pFunctions have a capturable return value, called currValue which is placed into the "$$" pVariable.

June 17, 2001. All pScriptorial pTokens and pFunctions can be silenced using the "/!" pToken.

June 20, 2001. Fixed a crash in peditLight [one could not go to ListView]. As it turned out, it was a bug in CodeWarrior [bug #WB1-17579]. Thanks, Bill, for the crash report.

June 21, 2001. The pScriptorial pFunctions went through a syntaxChange operation by replacing the delimiter parentheses in /&... (...)" by brackets as in /&... [...]" [a la Mathematica]. Thanks, Norb, for the suggestion.

June 21, 2001. The pScriptorial "runtime" "/&script [...]" pFunction has a new feature which allows it to be processed by pedit if necessary.

June 21, 2001. Fixed a couple of pScriptorial bugs found by LonnieF.

June 25, 2001. The pScriptorial pFunction pSwitches (such as the "D" [Debug] pSwitch) are here.

June 26, 2001. Released version 5.56 of all pedits and LapTopHack.

June 27, 2001. The pScriptorial pMacros went through a syntaxChange operation by replacing the delimiter parentheses in BEGIN(...)NIGEB" by brackets as in BEGIN[...]NIGEB". Thanks, Daniel, for the suggestion.

June 28, 2001. The pScriptorial "/&launch [...]", "/&mess [...]", and "/&script[@] [...]" pFunctions have been improved.

June 28, 2001. The pScriptorial "runtime" "/&ifScript[@] [...]" pFunction is here.

June 28, 2001. Released version 5.57 of all pedits and LapTopHack.

June 30, 2001. The pScriptorial code in both pedit and LapTopHack lost weight [appr 6K] while gaining reliability.

June 30, 2001. Started working on more universal usage of globalMacroMode in both pedit and LapTopHack pScripts.

June 30, 2001. The FIND SilkScreen button's fancy modifier "!" has been replaced by "@". This resolves a conflict between pedit FindHack with version 3.5 or newer which also uses the "!" modifier. Thanks, LonnieF, for recommending the new modifier character.

July 3, 2001. Fixed a bug which could lead to a "DataMgr.c, Line:4512, Err Getting rec" crash if you have a Palm with OS older than 3.5 [or maybe 3.3, I couldn't really verify it] and if you use pScripts under some rare circumstances. Although this was a Palm OS bug, I still fixed it since several Palms [such as the Visors, and the Palm 3x, Palm m100, Palm m105, and so forth] have non-upgradeable OSs. IMHO, it is a great marketing tool to provide non-upgradeable OSs, that is, throw-away Palms. Thanks, Daniel for discovering this Palm OS 3.1 bug.

July 6, 2001. Fixed a bug effecting printing segmented memos. Thanks, Kuan and Stephen, for your bug reports, and, Kuan, for the bug hunt.

July 7, 2001. The invocation of normalMode, advancedMode and expertMode have been revamped.

July 7, 2001. A runaway globalMacroMode can be turned off in a variety of ways.

July 7, 2001. globalMacroMode can be turned on prior to invoking the pScript entry dialog by entering "ESC Z" [see here]. Thanks, JohnH, for the idea.

July 7, 2001. The default ":D" button in the pScript entry dialog can be activated by entering LINEFEED [carriage return] [see here]. Thanks, BobJ, for the idea.

July 7, 2001. Released version 5.58 of all pedits and LapTopHack.

July 9, 2001. Fixed a globalMacroMode turn on/off bug.

July 9, 2001. Released version 5.59 of all pedits and LapTopHack.

July 10, 2001. The add no header if fits one memo check box was added to the pedit import dialog. Thanks, Daniel and Mark, for the suggestion.

July 11, 2001. Released version 5.60 and 5.61 of all pedits and LapTopHack.

July 11, 2001. Just a mini-fix. I forgot to turn off a compiler directive when compiling 5.60. The pScriptorial messages were too fast in 5.60.

July 12, 2001. Fixed a bug which crashed the Palm if a segmented memo was found using the built-in FIND command, and if the find process was initiated from outside pedit. Thanks, JohnW, for not giving up on this bug.

July 13, 2001. The pScriptorial "/$l" [lowever case ell] pToken is here. Thanks, Daniel, for the suggestion.

July 15, 2001. Released version 5.62 of all pedits and LapTopHack.

July 16, 2001. The pScriptorial "/&tap [...]" pFunction is here. Thanks, Barry, for suggesting it.

July 17, 2001. Released version 5.63 of all pedits and LapTopHack.

July 17, 2001. LapTopHack gets the tapCoordinator to be used when designing pScripts.

July 17, 2001. Released version 5.64 of all pedits and LapTopHack.

July 18, 2001. Fixed a "/&stroke [...]" bug ["Pen q out of sync"]. Thanks, Daniel, for the bug report.

July 18, 2001. The pScriptorial "/&tapDown [...]" pFunction is here. You should read about the "/&penDown [...]", "/&stroke [...]", "/&tap [...]", and "/&tapDown [...]" pFunctions again, especially about the subtle differences between them.

July 19, 2001. Released version 5.65 of all pedits and LapTopHack.

July 19, 2001. The pScriptorial "/&penUp [...]" pFunction has been renamed to "/&stroke [...]".

July 28, 2001. Fixed a bug which caused a crash on Palms with OS 3.3 while attempting to move screenLines. Thanks, Kelly and Paolo for the bug reports.

July 28, 2001. Released version 5.66 of all pedits and LapTopHack.

July 30, 2001. Fixed a bug which caused a "SystemMgr.c line 103, Unimplemented" crash on Palms with [ancient] OS 3.0.x. Mea culpa. Thanks, Larry, for the bug report.

August 1, 2001. The quick pScript activation is here [see here for the details]. Thanks, JohnH, for your insistence that I do a feature like this.

August 2, 2001. The pScriptorial "/&setAutoOff [...]" pFunction is here. Thanks, Bill, for the idea.

August 2, 2001. Released version 5.67 of all pedits and LapTopHack.

August 5, 2001. Up-to 9,990 customizable pScriptButtons are here. Thanks to many pScriptors for the idea.

August 7, 2001. The pScriptRunner mini-applications are here. Thanks, Larry and StevenH, for the idea.

August 8, 2001. Released version 5.68 of all pedits and LapTopHack.

August 8, 2001. LapTopHack's customizable pScriptButtons via pedit are here.

August 10, 2001. The greatly improved pScriptorial /&penDown [...]", /&stroke [...]", /&tap [...]", and /&tapDown [...]" pFunctions are here. Please re-read the documentation, including the significance of the new "i" pSwitch. Thanks, StevenH, for the initial idea leading to the improvements.

August 10, 2001. Released version 5.69 of all pedits and LapTopHack.

August 10, 2001. If you have one of those foldable-portable keyboards made by Think Outside, Inc, and marketed under various names such as Palm Portable Keyboard [PPK], Stowaway, and Targus, then you can use the Ctrl-Fn keys in conjunction with any of the number keys 0 [zero] through 9 [nine] to activate pScripts. Please, see here for the details. Thanks, JohnH, for the suggestion and for you never relenting insistence that I do this.

August 20, 2001. Optimized and "robustized" the code in LapTopHack's Our Ctrl Activator and controlRotator. As a consequence, you may have to rewrite some of your pScripts since now control activation is performed via the pen-event-queue instead of the regular event-queue, and Palm events are processed in the order of event-queue, key-event-queue, and pen-event-queue. You may need to chain some of your pScripts. Please let me know via the peditors Forum if you have some major pScriptorial problems with the new control activation mechanism.

August 21, 2001. Neither JohnH nor StevenH liked the ".C" button in magiPad since they thought they were confusing under certain circumstances, so I changed the rules which turn "OK" into ".C" [see here for the details].

August 22, 2001. In order to avoid potential conflict with other HackMaster extensions and applications, the LapTopHackorial role of the PPK "Ctrl" keys has been replaced by the "Ctrl-Fn" keys. Please, see here for the details.

August 23, 2001. Released version 5.70 of all pedits and LapTopHack.

August 26, 2001. Greatly improved the handling of expertMode and globalMacroMode. These enchancements are under the skin and are invisible to the user. Of course, I may have introduced some bugs. Please, please, please, test it.

August 26, 2001. Released version 5.71 of all pedits and LapTopHack.

September 6, 2001. The About pedit dialog tells you the compilation time'n'date of your pedit. Thanks, JohnH, for the suggestion.

September 7, 2001. You must read this about POSE.

September 8, 2001. Here is JohnH's advice on using Fitaly with LapTopHack and pedit.

September 8, 2001. The Memo Switcher can be activated now by "ESC >" from both EditView and ListView. Thanks, JohnH, for suggesting that pedit try to be consistent.

September 9, 2001. Thanks to a suggestion of Bozidar Benc, pedit's memory management has been greatly improved. This involved over 300 changes in pedit most of which were routine. However, some were quite delicate. Hence, please report me immediately if and when you find a situation when you think that I may have messed up something in the process.

September 14, 2001. Released version 5.72 of all pedits and LapTopHack.

September 15, 2001. The pScriptorial /&menu [...]" and /&menu@ [...]" pFunctions are here. Thanks, StevenH, for the idea.

September 16, 2001. The pScriptorial /P" pTokens are here.

September 17, 2001. The pScriptorial /&control [...]" and /&control@ [...]" pFunctions are here [they are included and needed only in LapTopHack].

September 17, 2001. Released version 5.73 of all pedits and LapTopHack.

September 18, 2001. Fixed a pScriptorial pComment stripper bug which failed to strip properly pComments of the form "/*/...*/". Thanks, Joachim for the bug report.

September 19, 2001. The pScriptorial "/PA" pToken is here.

September 19, 2001. The pScriptorial "/e#" pToken is here. Thanks, Norb, for the suggestion.

September 19, 2001. Released version 5.74 of all pedits and LapTopHack.

September 20, 2001. The pScriptorial "right now" "/&mess [...]" pFunction has been renamed "/&mess@ [...]", and the "runtime" "/&mess [...]" pFunction is here. Thanks, JohnH, for the suggestion.

September 21, 2001. The pScriptorial /&launch [...]" pFunction has a new syntax involving the "f" [force] pSwitch.

September 22, 2001. The handling of the pScriptorial /&script [...]" pFunction with the "p" [peditOnly] pSwitch has been improved. Is it working OK?

September 22, 2001. Released version 5.75 of all pedits and LapTopHack.

September 24, 2001. The interface of the Go to Memo and Jump to commands has been improved. Thanks, Rob, for the suggestion.

September 24, 2001. Entering the invalid key combination "ESC o" [lower case "oh"] in ListView no longer brings up an error message. This should help pScriptors who use "ESC o" to go to ListView Thanks, JohnH, for the suggestion.

September 24, 2001. Released version 5.76 of all pedits and LapTopHack.

September 24, 2001. Fixed a bug which did not allow to recognize high-ASCII "ESC" characters under certain circumstances. Thanks, Jahn, for the bug report.

September 29, 2001. Regular expressions are here on a purely experimental basis in a very rudimentary form. At this point please do not contact me with suggestions of new REGEXP features. On the other hand, if you find bugs in the current implementation [which I am sure abound], then please do contact me with a full description of the problem. The complete example demonstrating the bug should be as concise as possible. Thanks to the many peditors and LapTopHackers who suggested to bring the wonderful world of regular expressions to pedit. I think it was Eduard who first suggested it, and it was Allen and Paolo who threw the pitch which made me embark on this journey.

October 3, 2001. Released version 5.77 of all pedits and LapTopHack.

October 4, 2001. Fixed some REGEXP bugs. If you find more bugs, then please contact me with a full but concise description of the problem. Thanks, StevenH, UrsH, and YaakovS, for the bug reports.

October 4, 2001. Regular expressions with options [flags, switches] are here. Thanks, Larry, for the [indirect] idea.

October 7, 2001. Started to streamline, optimize, fine tune, and unify all Find'n'Replace operations. I strongly suggest that you re-browse the contents of this section.

October 8, 2001. Released version 5.78 of all pedits and LapTopHack.

October 9, 2001. The REGEXP "?" and "+" commands are here.

October 10, 2001. The Ign[ore] Case and RegEx options in the Find'n'Replace operations have been made more co-operating.

October 12, 2001. The REGEXP "c", "i", and "m" options are here.

October 12, 2001. Released version 5.79 of all pedits and LapTopHack.

October 13, 2001. Optimized the printing commands [see here, here, and here].

October 13, 2001. Fixed an infinite loop bug in the REGEXP "*" and "+" commands. Thanks, StevenH, for the bug report.

October 13, 2001. Released version 5.80 of all pedits and LapTopHack.

October 16, 2001. Released version 5.81 of all pedits and LapTopHack.

October 16, 2001. Created a new algorithm for the REGEXP "*" and "+" commands. Hopefully, this one will be more robust, especially with the "m" option. Please test them again.

October 17, 2001. Released version 5.82 of all pedits and LapTopHack.

October 22, 2001. The REGEXP character classes are here. As a start, only REGEXPs of the form "...[...]...", "...[^...]...", "...[...]?...", and "...[^...]?..." are supported as opposed to somewhat more complex forms such as "...[...]*...", "...[^...]*...", "...[...]+...", and "...[^...]+...", which have not yet been dealt with.

October 23, 2001. POSIX compliant character classes are here.

October 24, 2001. Released version 5.83 of all pedits and LapTopHack.

October 25, 2001. The more complex "...[...]*...", "...[^...]*...", "...[...]+...", and "...[^...]+..." REGEXP character classes are here.

October 27, 2001. The REGEXP intervals "...{min,max}..." are here both for plain vanilla matching and for character classes such as ...[...]{min,max}...".

October 28, 2001. In addition to the global minimal match "m" REGEXP option, the local minimal match is here too via the perl-style "?" metacharacter.

October 29, 2001. Released version 5.84 of all pedits and LapTopHack.

October 30, 2001. The REGEXP "...(...|...)..." groups are here. Currently only plain vanilla non-nested and non-repeated [non-quantified] groups are supported so that no groups such as "...(...(...)...)..." and "...(...)*..." are allowed. In addition, "(^...|...)..." and "(...$|...)..." are not yet supported either. I am fully aware that this may have a number of bugs in it. I need your help...

October 30, 2001. Released version 5.85 of all pedits BUT LapTopHack remained at 5.84.

October 30, 2001. Improved the way REGEXP handles the "^" start-of-line and "$" end-of-line anchors.

October 30, 2001. The REGEXP "...(...|...)..." groups now support the anchors "(^...|...)..." and "(...$|...)...". Any bugs?

October 31, 2001. The REGEXP "d" [debugger mode] option is here.

October 31, 2001. The REGEXP search process gracefully aborts if the free stack [an essential working component in your Palm's memory] gets too low. Thanks, UrsH, for finding [weird] REGEXP examples which led the crashes prior to adding this protection. Thanks to Daniel, JonhH, and StevenH too for repeatedly crashing their Palms in order to help me to fix this problem.

November 1, 2001. I rewrote the REGEXP "...(...)..." group code from ground up with the expectation that I will be able to extend it to quantifiers such as "...(...|...)*...".

November 1, 2001. The Tuner Upper command in ListView's Options menu is here.

November 2, 2001. Released version 5.86 of all pedits BUT LapTopHack remained at 5.84.

November 3, 2001. The REGEXP "...(...)..." groups now support "unlimited" nesting such as "(...(...)...)...". However, group quantifiers such as "(...){min,max}..." are not supported yet despite what you may read here. I am still working on them. Any bugs?

November 7, 2001. Released version 5.87 of all pedits BUT LapTopHack remained at 5.84.

November 8, 2001. The REGEXP "...(...)..." groups now support all quantifiers such as "(...){min,max}...". Any bugs?

November 12, 2001. The symbol "@:" right after the REGEXP group starting "(" symbol, as in "...(@:...)...", has been reserved for future use.

November 12, 2001. The symbol "@x:" right after the REGEXP group starting "(" symbol, where "x" is a hexadecimal single digit, as in "...(@9:...)...", has been reserved for future use.

November 12, 2001. The REGEXP "q", "qx", and "t" options are here.

November 13, 2001. Released version 5.88 of all pedits and LapTopHack.

November 14, 2001. The the "Find/Repl" component of Find'n'Replace works with REGEXP too, except that for the time being the replacement string is limited to plain text without captured elements such as "\1". As a matter of fact, I have not even decided on the peditorial capturial syntax yet.

November 15, 2001. Released version 5.89 of all pedits BUT LapTopHack remained at 5.88.

November 15, 2001. The REGEXP "[@...@]" specials are here.

November 16, 2001. The REGEXP "...(@:...)..." and "...(@x:...)..." text saving captures are here. They can be used in the "Find/Repl" component of the Find'n'Replace operations.

November 17, 2001. Released version 5.90 of all pedits BUT LapTopHack remained at 5.88.

November 20, 2001. Fixed a subtle REGEXP group bug. Thanks, StevenH, for your sharp eyes.

November 20, 2001. Released version 5.91 of all pedits and LapTopHack.

November 23, 2001. The negated perl extension POSIX compliant character classes, such as "[:^alnum:]", are here.

November 23, 2001. REGEXP goes mostly but not 100% non-recursive. This greatly reduces or even eliminates the overload of the stack. However, (i) I may have introduced new bugs, and (ii) this made the search process slightly, perhaps 1.5%, slower.

November 23, 2001. Released version 5.92 of all pedits and LapTopHack.

November 25, 2001. The new Find'n'Replace allows you to recycle up to 16 of your old search and replacement strings. Spasibo bolshoye and toda raba, YaakovS, for the idea.

November 25, 2001. Released version 5.93 of all pedits and LapTopHack.

November 26, 2001. A cosmetic improvement in the Find'n'Replace dialog.

November 26, 2001. Released version 5.94 of all pedits and LapTopHack.

November 26, 2001. Fixed a REGEXP bug. Thanks, UrsH, for the bug report.

November 27, 2001. The ClipBoard Appender command in EditView's Edit menu is here. Thanks, DanP, JohnH, and UrsH, for the suggestion.

November 28, 2001. Released version 5.95 of all pedits and LapTopHack.

November 28, 2001. Fixed an oversight which caused the ClipBoard Appender command to crash on Palms with OSs under 3.3. Thanks, DirkS, for the bug report.

November 28, 2001. The pScriptorial "/eC" [append] pToken is here. Thanks, DanP, JohnH, and UrsH, for the suggestion.

November 28, 2001. Released version 5.96 of all pedits and LapTopHack.

November 29, 2001. Both ListView's Visit Top and EditView's Visit Top use the same "ESC T" keys now. Similarly, both "Visit Bottom" menu commands use "ESC B" now. Thanks, JohnH for the idea.

November 29, 2001. The pScriptorial ClipBoard appender "/&clipAdd [...]" and the ClipBoard initializer "/&clipInit []" pFunctions are here. Thanks, UrsH, for the idea.

November 29, 2001. Released version 5.97 of all pedits and LapTopHack.

December 4, 2001. The REGEXP "l" [current line only] and "lx" [search less than x lines from current line only] options are here.

December 4, 2001. REGEXP is here via the built-in FIND SilkScreen button, as long as the find process was initiated from inside pedit [see here].

December 4, 2001. Released version 5.98 of all pedits and LapTopHack.

December 5, 2001. The REGEXP "@." and "[@.]" specials are coming. For instance, "@d" means a digit match and "@D" means a non-digit match. They behave very much like in many other implementations of REGEXP except that pedit uses the "@" metacharacter as opposed to the usual "\".

NOTE. From now on you need to use "@@" if you want a literal "@" [at-sign] inside character classes and "\@" outside character classes, such as "a\@b[c@@d]".

December 6, 2001. Released version 5.99 of all pedits and LapTopHack..

December 7, 2001. Fixed a bug in the f% button of the Jump to command in EditView's Navigate menu. Thanks, BryanC, for the bug report.

December 10, 2001. Fixed a subtle bug which effected case ignoring fancy FIND searches.

December 11, 2001. Fixed a bug in the text mover command which caused a crash in advancedMode. Thanks, RickH, for the bug report.

December 11, 2001. Released version 5.991 of all pedits and LapTopHack.

December 13, 2001. Fixed another subtle bug which effected case ignoring fancy FIND searches.

December 15, 2001. Released version 5.992 of all pedits and LapTopHack.

December 20, 2001. Released version 5.993 of all pedits and LapTopHack.

December 21, 2001. Optimized the "@A" REGEXP special.

December 21, 2001. Released version 5.994 of all pedits and LapTopHack.

December 23, 2001. Released version 5.995 of LapTopHack.

December 25, 2001. Fixed a REGEXP special bug which occasionally failed to recognize literal characters such as "@B\.". Thanks, UrsH, for the bug report.

December 25, 2001. The "@." REGEXP specials work in groups too.

December 25, 2001. As of version 5.966, superFinderHack supersedes and completely replaces the FIND SilkScreen button's fancy mode.

January 1, 2002. Released version 5.996 of all pedits and LapTopHack.

January 3, 2002. Fixed a pScripting bug where using pFunction arguments of the form "@@...@@" which were too long resulted in a crash. Thanks, BruceM and UrsH, for the bug reports.

January 4, 2002. Fixed a display bug related to the white buttons under memos option [see the General Preference Panel].

January 5, 2002. Fixed a screen refreshment bug which appeared when the buttons were off and one used some text editorial menu commands via Graffiti or external keyboards. Thanks, BruceM, for the bug reports.

January 8, 2002. The rules for REGEXP searches via the built-in FIND SilkScreen button have changed [see here for details].

January 8, 2002. pedit's "fancyFind" and superFinderHack are no longer incompatible.

January 8, 2002. Released version 5.997 of all pedits and LapTopHack.

January 11, 2002. Fixed the very rare crash with message "blank lines when scrolling winDown". I don't think it was a bug per se. It was caused by external interference such as a HackMaster extension or an unusual OS. Thanks, Daniel, Dindit, Josh, and PeterG, for the bug report.

January 13, 2002. Full MegaWiki compatibility as long as you use that version of MegaWiki which incorporates my recommended bug fix. I believe that the version number is 3.6

January 15, 2002. Improved handling of masked memos [see here].

January 16, 2002. Released version 5.998 of all pedits and LapTopHack.

January 19, 2002. More accurate recording of compilation time'n'date.

January 19, 2002. New download URLs.

January 19, 2002. Released version 5.999 of all pedits and LapTopHack.

January 24, 2002. Moved the entire pedit project from Palm SDK 3.5 to SDK 4.0.

January 24, 2002. The pScriptorial date pTokens "/LD", "/Ld", "/LE", "/LM", "/Lm", and "/LN" have been extended from OS 3.5 to OS 3.0+.

NOTE. Please run these pScripts on your OS pre-3.5 and/or non-English Palm Powered handhelds, and please report it to me if you encountered any problems with either pedit or LapTopHack.
{ldate_test::lday:/xs/LD/xs/Ld/xs/LE/xnlmonth:/xs/LM/xs/Lm/xs/LN/xn}
{edate_test::eday:/xs/ED/xs/Ed/xs/EE/xnemonth:/xs/EM/xs/Em/xs/EN/xn}

January 25, 2002. Fixed a very subtle pScriptorial bug introduced in one of the recent updates. Thanks, JohnH, for the bug report.

January 26, 2002. Released version 5.99a of all pedits and LapTopHack.

January 26, 2002. The updated pScriptRunner mini-applications are here. Thanks, BobJ, for the idea.

January 28, 2002. Fixed a bug with the pScriptorial "/LD" date pToken in OS pre-3.5. Thanks, DirkB, for the bug report.

January 29, 2002. Fixed a bug related to exports to DOC files from a buttonless EditView. Thanks, BobJ, for the bug report.

January 29, 2002. Released version 5.99b of all pedits and LapTopHack.

February 4, 2002. readOnlyCategories are here. Thanks, JohnN, for the idea and for persisting that I implement it.

February 4, 2002. Released version 5.99c of all pedits and LapTopHack.

February 5, 2002. Users of Memo Pad will appreciate that pedit now preserves Memo Pad's font settings as long as custom fonts are used in pedit. Thanks, BobJ, for the idea.

February 7, 2002. Fixed a minor display bug [an occasionally missing blinking cursor] which was introduced with the readOnlyCategories feature.

February 7, 2002. The source code had been optimized in a number of cases.

February 11, 2002. Released version 5.99d of all pedits and LapTopHack.

February 28, 2002. Started working on HandEra compatibility issues. As a first step, I worked on the Jump to and Select dialogs. I must admit, it wasn't easy. Please test them in all four modes, that is, in normalMode, advancedMode, expertMode, and globalMacroMode. Please let me know what you found.

February 28, 2002. Entering a linefeed [carriage return] in the Export Memo dialog activates the exporter button. Thanks, BobJ, for the suggestion.

February 28, 2002. Fixed an oversight which allowed MemoHIST and Memo32HIST [see the Clear History command] to grow beyond reasonable limits. This oversight resulted in slowing down some operations, especially if the number of memos was unusually large. Thanks, JohnH, for helping me to discover this problem.

March 3, 2002. Finished working on HandEra compatibility issues. Please let me know if I missed something. Please note that I did not add jogDial support or any other fancy features. My goal was to eliminate incompabilities only.

March 12, 2002. Optimized screenLine operations [jumping and moving].

March 12, 2002. All pedits are now OS 5 compatible.

March 14, 2002. Improved user interface in the Jump to and Select dialogs. Thanks, UrsH, for the expert advice.

March 14, 2002. Fixed a glitch with the "H" button in instantHelp. Thanks, AndrewG, for reporting the problem.

April 14, 2002. The pScriptorial "last action" /&script$ [...]" pFunction, complementing /&script [...]" and /&script@ [...]", is here. Please let me know if it doesn't work as expected.

April 18, 2002. Added the "ESC G" invocation to the Go to Memo command in ListView's Record menu. Thanks, BobJ, for the idea.

April 20, 2002. pedit 6.00 requires a new password. In addition, the pre-6.00 preferences are lost when installing 6.00.

April 20, 2002. Released version 6.00 of all pedits and LapTopHack.

April 25, 2002. More intelligent handling of the title bar statistics.

April 25, 2002. Released version 6.01 of all pedits and LapTopHack.

May 3, 2002. The pScriptorial "/$f" pToken is here. Thanks, JohnH, for the suggestion.

May 3, 2002. Released version 6.02 of all pedits and LapTopHack.

May 4, 2002. I recommend running peditFixer with none of the boxes checked and hitting the "Delete" button. This will clean out some garbage which may have been left over from version 3.00 of pedit.

May 8, 2002. Released version 6.03 of all pedits, LapTopHack, and pToolSet.

May 9, 2002. The pScriptorial "/&useDate [...]" pFunction is here. Thanks, BruceM, for the idea.

May 9, 2002. Released version 6.04 of all pedits, LapTopHack, and pToolSet.

May 12, 2002. Fixed a paragraph moving related bug which caused a crash on OS 3.1 and under and which worked inappropriately on other OSs. Thanks, DirkB and LonnieF, for the bug report.

May 12, 2002. Fixed a myNotes bug which was somewhat related to the bug found by MonikaG on March 17, 2000. Thanks, RickH, for the bug report.

May 13, 2002. Added pVariable support to the pScriptorial "/&useDate [...]" pFunction. Thanks, BruceM and UrsH, for the idea.

May 14, 2002. Released version 6.05 of all pedits, LapTopHack, and pToolSet.

May 18, 2002. Released version 6.06 of all pedits, LapTopHack, and pToolSet.

May 21, 2002. The pScriptorial "ESC" pTokens such as "/xEpro" and "/xElth" are here [see "this" for the details].

May 21, 2002. Released version 6.07 of all pedits, LapTopHack, and pToolSet.

May 21, 2002. The pScriptorial "/xZ" and "/xz" pTokens are here. They are shortcuts for "/0x03" and "/0x04", respectively.

May 21, 2002. Fixed a small bug which left a temporary file called "00thepeditTmpDB" on your Palm after text sorting jobs which was meant to be deleted immediately after quitting pedit. Nothing serious, since it would have been deleted eventually. The next time you sort text or use one of the case changers, it will be zapped.

May 26, 2002. The text sorter has been greatly improved due to new ideas borrowed from pToolSet's pTextTool.

May 26, 2002. Released version 6.08 of all pedits, LapTopHack, and pToolSet.

May 27, 2002. Added Frank Hellwig's advice on exporting pedit memos to Microsoft Word via WordSmith.

May 28, 2002. The new pScriptorial "/dj", "/dJ", "/du", "/dU", "/dv", and "/dV" date'n'time pTokens are here. Thanks, TimP, JoachimS, and JacquesT, for the idea.

May 28, 2002. Released version 6.09 of all pedits, LapTopHack, and pToolSet.

May 28, 2002. The new unified pedit preferences dialog is here replacing the Preferences dialog in EditView's Opt[ions] menu and the Preferences dialog in ListView's Options menu.

June 3, 2002. Released version 6.10 of all pedits, LapTopHack, and pToolSet.

June 5, 2002. The new, seek, and direct options are here [see the ListView panel in the pedit preferences dialog]. Thanks to the peditors Forum for the idea, especially to CarlJ and BlakeW.

June 5, 2002. Started to clean up the HTML code of this manual.

June 6, 2002. Much improved navigation in ListView. Please note that space and backspace play a new role in the navigation process. Please also note that this is a major upgrade involving a drastic change in pedit's user interface philosophy in terms of navigating ListView.

June 6, 2002. Released version 6.11 of all pedits, LapTopHack, and pToolSet.

June 7, 2002. The pScriptorial /Gn", /Gx", and /Gy" pTokens are here. They regulate the new/seek/direct options in the ListView panel of the pedit preferences dialog. Thanks, StevenH, for the idea.

June 8, 2002. Finished cleaning up the HTML code of this manual.

June 8, 2002. Released version 6.12 of all pedits, LapTopHack, and pToolSet.

June 11, 2002. Fixed a bug which caused a crash when peditPro was switching while a memo title was selected in ListView. Thanks for the numerous bug reports, especially to GerryL.

June 11, 2002. Released version 6.13 of all pedits, LapTopHack, and pToolSet.

June 13, 2002. The pScriptorial "/xEpet" [pEditTool (pToolSet)] "ESC" pToken is here [see this for the details].

June 15, 2002. Released version 6.14 of all pedits, LapTopHack, and pToolSet.

June 15, 2002. Converted the pedit project to the Palm OS 5 SDK.

June 18, 2002. Fixed a bug which caused a crash when the Delete Memo command was used in ListView on the very last memo in the current category. Thanks, GerryL, for the bug report.

June 18, 2002. Released version 6.15 of all pedits, LapTopHack, and pToolSet.

June 21, 2002. Released version 6.16 of all pedits, LapTopHack, and pToolSet.

June 27, 2002. Released version 6.17 of all pedits, LapTopHack, and pToolSet.

June 27, 2002. Released version 6.18 of all pedits, LapTopHack, and pToolSet.

June 29, 2002. Privately released version 6.19 of LapTopHack and pToolSet.

July 1, 2002 Released version 6.20 of all pedits, LapTopHack, and pToolSet.

July 3, 2002. Fixed a bug which caused a crash when the Export Category command was used in ListView while a memo title was highlighted. Thanks, OleM, for the bug report.

July 3, 2002. Fixed a REGEXP special bug where in "@0xH@" and "@0XH@" lower cased hexadecimal digits were misidentified.

July 3, 2002. The pScriptorial character value "/e@" pToken is here. Thanks, BlakeW, for the idea.

July 3, 2002. The pScriptorial pVariables can be assigned values given in both decimal and hexadecimal notation. Thanks, BlakeW, for the idea.

July 3, 2002. The pScriptorial character printer "/p" pTokens are here. Thanks, BlakeW, for the idea.

July 4, 2002. Released version 6.21 of all pedits, LapTopHack, and pToolSet.

July 7, 2002. Released version 6.22 of all pedits, LapTopHack, and pToolSet.

July 12, 2002. Released version 6.23 of all pedits, LapTopHack, and pToolSet.

July 12, 2002 Fixed a bug which caused a crash when visiting magiPad or scriptPad from a private memo when private memos are hidden or masked. Thanks, DanielB, for the bug report.

July 12, 2002 Fixed a bug which caused a crash when inserting into a private memo when private memos are hidden or masked.

July 12, 2002 Right shifting text is a little more user friendly [and a little less conventional]. Thanks, JesseJ and UrsH, for the idea.

July 12, 2002. Released version 6.24 of all pedits, LapTopHack, and pToolSet.

July 16, 2002. Released version 6.25 of all pedits, LapTopHack, and pToolSet.

July 25, 2002 Left shifting text is a little more user friendly [and a little less conventional]. Thanks, UrsH, for the idea.

July 26, 2002. Released version 6.26 of all pedits, LapTopHack, and pToolSet.

July 31, 2002. Improved guessing of the proposed doc file name in the Export Memo dialog. Thanks, DavidE and ConwayL, for the suggestion.

July 31, 2002. Released version 6.27 of all pedits, LapTopHack, and pToolSet.

August 6, 2002. The initial implementation of the memo batch processor is here.

August 8, 2002. Released version 6.28 of all pedits, LapTopHack (still 6.27), and pToolSet.

August 15, 2002. The second implementation of the memo batch processor is here. Thanks, RickR, for the suggestions.s

August 16, 2002. Released version 6.29 of all pedits, LapTopHack (still 6.27), and pToolSet.

August 15, 2002. Fixed the text in the dialog invoked by the "D" button from magiPad. Thanks, AmirM, for noticing that the text was incorrect.

September 7, 2002. Released version 6.30 of all pedits, LapTopHack, and pToolSet.

September 15, 2002. Fixed an oversight which caused improper synchronization of memos via HotSync under rare circumstances after a Find'n'Replace job. Thanks, WinnyS, for the bug report.

September 16, 2002. Released version 6.31 of all pedits, LapTopHack (still 6.30), and pToolSet.

September 29, 2002. pScriptorial pScriptAliases are here. Thanks, BruceM and YaakovS, for the idea.

September 29, 2002. Released version 6.32 of all pedits, LapTopHack, and pToolSet.

October 1, 2002. The universal application launcher pFunction "/&launch [...]" handles erroneous input such as non-existing applications in a more user friendly manner. Thanks, YaakovS, for the idea.

October 1, 2002. Released version 6.33 of all pedits, LapTopHack, and pToolSet.

October 8, 2002. Released version 6.34 of all pedits, LapTopHack, and pToolSet.

October 11, 2002 Fixed a subtle pScriptorial bug. Namely, I accidentally had "#ifndef" instead of "#ifdef" in one place of the source code which affected categoryBound and LapTopHackBound pScripts. I strongly urge everyone using pScripts to install version 6.35+ of pedit and LapTopHack.

October 11, 2002. The pScriptorial "/&appName []" pFunction is here.

October 12, 2002. Released version 6.35 of all pedits, LapTopHack, and pToolSet.

October 22, 2002. Released version 6.36 of all pedits, LapTopHack, and pToolSet [only pToolSet changed].

October 23, 2002. The pScriptorial "/&rand []" pFunction now accepts pVariables as arguments. Thanks, DaveE, for the idea.

October 24, 2002. Fine tuned the pScriptorial "/&useDate [...]" pFunction. Now it has better support for pVariable arguments

October 24, 2002. Released version 6.37 of all pedits, LapTopHack, and pToolSet.

October 26, 2002. The pScriptorial "/&varMult [...]" and "/&varMult@ [...]" pFunctions are here. Thanks, BruceM, for the idea.

October 28, 2002. The more whitespaces option has been added to the Auto Indent dialog. Thanks, BruceM, for the idea.

October 29, 2002. Released version 6.38 of all pedits, LapTopHack, and pToolSet.

November 1, 2002. Privately released a test version 6.39 of all pedits, LapTopHack, and pToolSet.

November 4, 2002. Privately released a test version 6.40 of all pedits, LapTopHack, and pToolSet.

November 5, 2002. Released version 6.41 of all pedits, LapTopHack, and pToolSet.

November 11, 2002. The pScriptorial "/xEpmt" [pMasterTool (pToolSet)] "ESC" pToken is here [see this for the details].

November 12, 2002. Fixed a bug with the 5-way navigator button [Tungsten T, OS 5] in ListView. Thanks, TomS, for the bug report.

November 17, 2002. Released version 6.42 of all pedits, LapTopHack, and pToolSet.

November 27, 2002. Released version 6.43 of all pedits, LapTopHack, and pToolSet.

November 30, 2002. Released version 6.44 of all pedits [unchanged], LapTopHack, and pToolSet.

December 1, 2002. Fixed a bug associated with the pScriptorial "/x5" pToken [hard power key].

December 20, 2002. The pScriptorial "/xEpdt" [pDateTool (pToolSet)] "ESC" pToken is here [see this for the details].

December 20, 2002. Released version 6.45 of all pedits, LapTopHack, and pToolSet.

December 25, 2002. The pScriptorial "/xEpst" [pSearchTool (pToolSet)] "ESC" pToken is here [see this for the details].

December 28, 2002. The case changing procedure was significantly optimized and accelerated in all pedits, LapTopHack, and pToolSet.

December 29, 2002. Improved and accelerated "visibilator".

December 30, 2002. Fixed a nasty problem caused by an OS 5.0 bug. Namely, hitting the "CLOCK" SilkScreen button of Tungsten T while in pedit's EditView displaying a custom font caused all kinds of problems, including 100% reproducible crashes. Thanks, Tim Wiegmam of PalmSource, for confirming the bug and for making a suggestion which did, in fact, lead to a resolution of the problem for pedit. The bug itself will be fixed in the next release of the OS.

December 30, 2002. Started to work on OS 6 [sic] compatibility.

December 30, 2002. Released version 6.46 of all pedits, LapTopHack, and pToolSet.

January 3, 2003. The pScriptorial "/xEpft" [pFindTool (pToolSet)] "ESC" pToken is here [see this for the details].

January 9, 2003. Improved keyboard and Graffiti support in ListView.

January 9, 2003. Enhanced 5-way navigator button support in ListView for the Tungsten family of Palms. Thanks, PeterW, for the suggestions.

January 9, 2003. Enhanced 5-way navigator button support in EditView for the Tungsten family of Palms. Thanks, PeterW, for the suggestions.

January 9, 2003. Released version 6.47 of all pedits, LapTopHack, and pToolSet.

January 12, 2003. Released version 6.48 of all pedits [unchanged], LapTopHack, and pToolSet.

January 19, 2003. Fixed a small memory leak in pScripting which happened when a non-existent pScript was invoked [mea culpa]. I recommend upgrading to version 6.49.

January 19, 2003. Most "date'n'time" stamps are formatted using the preferences set in the "Formats" Preference Panel [see, for instance, Add a DateStamp and myNotes].

January 19, 2003. Released version 6.49 of all pedits, LapTopHack, and pToolSet.

February 1, 2003 The pScriptorial "/xEpct" [pScriptTool (pToolSet)] "ESC" pToken is here [see this for the details].

February 2, 2003. pToolSet's pScriptTool is here [documentation will soon follow]. The first incarnation of pScriptTool works in conjunction with LapTopHack [only with Palm OS 3.5 - 4.x] and pedit [only with Palm OS 3.5 or newer, including OS 5+]. pScriptTool, LapTopHack, and pedit must be at least version 6.51. In Palm OS5+, pScriptTool is functional only while pedit is running and it can only activate pedit pScripts. Please note that peditLight is not scriptable.

February 6, 2003. Released version 6.51 of all pedits, LapTopHack, and pToolSet [version 6.50 was not released publicly].

February 22, 2003. The Edit Selection command is here. Thanks, YaakovS and MarkS, for the suggestion.

February 23, 2003. Released version 6.52 of all pedits, LapTopHack, and pToolSet.

March 8, 2003. Released version 6.53 of all pedits, LapTopHack, and pToolSet.

March 13, 2003. Prior to version 6.54, if pedit crashed while in magiPadm then magiPad bacame corrupted. As of version 6.54, pedit automatically fixes such a corrupted magiPad.

March 13, 2003. Released version 6.54 of all pedits, LapTopHack, and pToolSet.

March 14, 2003. In peditPro the Memo Switcher can toggle between p04 and p32 memos by tapping on the left 1/8th of the title bar. Thanks, DavidB, for the idea.

March 14, 2003. Released version 6.55 of peditPro.

March 29, 2003. The Find'n'Replace operations now work with segmented memos as well.

March 29, 2003. All the Find'n'Replace operations have been optimized and significantly improved for segmented memos.

March 30, 2003. Released (intermediate beta) version 6.55 of of all pedits.

April 1, 2003. Released version 6.55 of all pedits, LapTopHack, and pToolSet.

April 5, 2003. Optimized pScripting.

April 6, 2003. Released version 6.56 of all pedits, LapTopHack, and pToolSet.

April 11, 2003. Improved keyboard support in ListView's batcher modes.

April 12, 2003. Released version 6.57 of all pedits.

April 19, 2003. Fixed a bug in the "word count" operation for segmented memos when the cursor was positioned after the first 64K characters in the memo. Thanks, DavidB, for catching this bug.

May 1, 2003. Improved OS 5.2.1 compatibility.

May 1, 2003. The Find'n'Replace operations now work with segmented memos even on the Tungsten C unlike pedit 6.55 through 6.57 which crashed.

May 1, 2003. Released version 6.58 of all pedits.

May 21, 2003. Essential fine tuning and much improved algorithms in all the Find'n'Replace operations. I recommend upgrading to the latest version.

May 26, 2003. Released version 6.59 of all pedits.

June 2, 2003. Fixed a bug which could cause a crash under certain circumstances after using Total Cleaner Upper to delete memos. Thanks, AlexisW, for the bug report.

June 2, 2003. Released version 6.60 of all pedits.

June 4, 2003. Fixed a bug which could cause a crash under certain circumstances after using Total Cleaner Upper to delete magiPad and scriptPad. Thanks, AlexisW, for the bug report.

June 4, 2003. Released version 6.61 of all pedits, LapTopHack, and pToolSet.

June 7, 2003. Fixed a bug which could cause a display problem under certain circumstances after using the Buttons on|off command in EditView's Opt[ions] menu. Thanks, DuncanM, for the bug report.

June 8, 2003. Fixed an oversight whereby I forgot to preserve the memo vitals after using the Buttons on|off command in EditView's Opt[ions] menu.

June 26, 2003. Released version 6.63 of all pedits, LapTopHack, and pToolSet.

July 21, 2003. The comma "," in the pScriptorial pFunction "/&launch [...]" is optional so that it works both with one or two arguments.

July 21, 2003. All pedits have color icons now.

July 23, 2003. If pToolSet's pLaunchEngine1 is installed, then the pScriptorial pFunction "/&launch [...]" can launch applications from any directory of all expansion cards [see here].

August 2, 2003. Released version 6.64 of all pedits, LapTopHack, and pToolSet. This is a substantial upgrade.

August 5, 2003. In preparation of enabling multiple sets of magiPad [aka pMagiPad] and scriptPad [aka pScriptPad], the structure of their saved preferences have changed, and, therefore, LapTopHack, pedit, and pToolSet all must have at least version 6.65. Otherwise, they may not communicate with each other properly.

August 5, 2003. Released version 6.65 of all pedits, LapTopHack, and pToolSet.

August 6, 2003. Improved the way magiPad and scriptPad start up if you quit them with the cursor/selection not in sight. No more "frantic-scrolling".

August 7, 2003. The Find'n'Replace operations now save up to 128 of the most recent search and replacement strings, respectively, instead of the former limit of 16. The new menu commands in the "Options" menu allow to manage those strings. The entire process of saving and managing those strings has been rewritten from grounds up. This has been done as a preparation for enabling multiple sets of magiPad [aka pMagiPad] and scriptPad [aka pScriptPad].

August 7, 2003. Released version 6.65 of all pedits [previous version number but with new compilation time'n'date].

August 9, 2003. Fixed a small bug in magiPad and scriptPad which I introduced during the "no more frantic-scrolling" fix on August 6, 2003.

August 9, 2003. Released version 6.65 of all pedits [previous version number but with new compilation time'n'date].

August 11, 2003. The "B" [BackUp] button in EditView's buttonPanel was moved to the Back Up Memo menu command.

August 12, 2003. The "V" [Visibilator] button in EditView's buttonPanel was moved to the Visibilator menu command.

August 13, 2003. The "A" [asciiPad] button in EditView's buttonPanel was moved to the ASCII Table menu command.

August 16, 2003. If your Palm OS supports the Graffiti 2 engine, then the buttonShift "sweet spot" is relocated just to the right of the "H" button so that it would not interfere with the Graffiti 2 enabler little bluish square.

August 17, 2003. magiPad's Qopy'n'Paste button has been changed from "ESC q" to "ESC Q" [upper case "Q"]. This change was necessitated by having two buttons whose labels start with "Q" [see here]. The original approach was inconsistent.

August 17, 2003. deTitle Casing is here via upButtonSliding the "T" button. The original buttonSlides of the "T" and "K" buttons have been exchanged with each other.

August 28, 2003. The white buttons under memos option is back for all Palm OSs [see the General Preference Panel].

August 28, 2003. One can access menus inside pedit via tapping on the title bar even in OS 3.3-. The Palm OS introduced this feature in OS 3.5+ only but pedit extends it to all OSs just like MenuHack did it in the good old days of HackMaster.

September 8, 2003. Cursor movement via buttonSliding the "J" button is here [see the move cursor via btnSliding "J" check box in the EditView Preference Panel].

September 12, 2003. The Insert Char command in EditView's Edit+ menu is here.

September 12, 2003. I rewrote EditView and ListView from scratch. They should be faster than in 6.xx.

September 12, 2003. pToolSet's pTipsTool has been incorporated into pedit.

September 12, 2003. New instantHelp.

September 12, 2003. Enhanced 5-way navigator button support for the Tungsten family of Palms.

September 12, 2003. pedit, pToolSet, and LapTopHack open magiPad [pMagiPad] and scriptPad [pScriptPad] on demand only so that, for instance, pToolSet can use magiPad even in pedit. Up to version 6.xx, pedit monopolized magiPad and scriptPad.

September 15, 2003. In order to make EditView and ListView more consistent, "ESC m" activates magiPad in both EditView and ListView, whereas "ESC N" activates myNotes [it used to be "ESC m"]. Similarly, "ESC M" activates scriptPad in both EditView and ListView.

September 17, 2003. The Move Memo to Top command in ListView's Record menu is here.

September 17, 2003. Optimized all batch processing operations in ListView.

September 18, 2003. The create memos on top option is here [see the General Preference Panel]. Thanks, BillS, for the idea.

September 22, 2003. Fixed an unreported bug which could cause the wrong memo to open up after a SilkScreen "FIND" job under rare circumstances in OS 3.3 or older.

September 22, 2003. New treatment of masked memos in OS 3.5+. Every masked memo can be edited and processed after entering the Palm password.

September 22, 2003. If some sister segments of a segmented memo are masked then the "find" and "find/replace" operations will work after password verification. If they are hidden then the same operations will skip them with verbal confirmation of which have been skipped.

September 25, 2003. Keeping Tungsten C compatibility in mind, downButtonSliding has been eliminated and replaced by upButtonSliding in ListView [see here and here for details.

September 26, 2003. For consistency of the "myNotes" command both in ListView and EditView [see "here" and "here"], EditView's former "ESC N" command which places the cursor to the top of the currently visible screen, has been changed to "ESC {".

September 27, 2003. EditView's "N" [myNotes] button is here.

September 27, 2003. EditView's "^" [magiPad/scriptPad switcher] button is coming soon.

September 29, 2003. The Edited/Visited memos move to top/move to bottom option is here [see the ListView Preference Panel for details]. Thanks, BillS, for the idea.

October 1, 2003. The upButtonSlided "D" button [delete memo] is here.

October 2, 2003. The leftButtonSlided PopUp Font Trigger in EditView touches the current memo, that is, it pretends as if the memo were edited.

October 10, 2003. EditView's Pad menu is here.

November 5, 2003. Fixed an ancient screenLine jumper bug. Thanks, JohnH, for the bug report.

November 23, 2003. Released version 7.00 of all pedits, LapTopHack, and pToolSet.

WARNING. If you use version 7.xx or newer of any of the pedits, LapTopHack, or pToolSet, then all your pedits, LapTopHack, and pToolSet must be 7.xx or newer since they are not compatible with version 6.xx or older.

NOTE. I suggest that you keep a backup copy of your peditDB.pdb which is somewhere in your HotSync backup directory on your desktop computer since you may need it in the highly unlikely event that you decide go back to versions 6.xx of pedit, pToolSet, and LapTopHack.

NOTE. The pedit, LapTopHack, and pToolSet manuals will be updated to version 7.xx shortly.

NOTE. In pedit, LapTopHack, and pToolSet version 7.xx some of the saved preferences have been reset.

December 2, 2003. There was a missing dialog in peditLight which caused a crash. I added the dialog.

December 2, 2003. Released version 7.01 of all pedits.

December 17, 2003. Released version 7.02 of all pedits, LapTopHack, and pToolSet.

January 15, 2004. Released version 7.03 of all pedits, LapTopHack, and pToolSet.

January 19, 2004. Started to work on compatibility with Palm Powered handhelds which allow to create native 32K memos in the built-in "Memo Pad" which also could be called "Memos", such as the Tungsten T3.

January 23, 2004. Native 32K compatibility with the new "Memos" application is here. More Tungsten T3 support may come at a later time.

January 26, 2004. Released version 7.04 of all pedits.

February 12, 2004. The pScriptorial "/&daLaunch [...]" desk accessory [DA] launcher pFunction is here.

February 13, 2004. Released version 7.05 of all pedits, LapTopHack, and pToolSet.

February 17, 2004. Started to work on Treo 600 and, hopefully, Palm OS 6.x compatibility.

NOTE. Since pedit, LapTopHack, and pToolSet share components, if you use more than one of them, then they all must be updated to version 7.05.

February 22, 2004. Released version 7.06 of all pedits, LapTopHack, and pToolSet.

NOTE. Instead of "pLaunchTool", the pScriptorial pFunction "/&launch [...]" in pedit 7.06+ and LapTopHack 7.06+ require "pLaunchEngine1" [see pedit's and pToolSet's manuals for details, search for the words "pLaunchTool" and "pLaunchEngine1"].

March 6, 2004. Released version 7.07 of all pedits, LapTopHack, and pToolSet.

March 21, 2004. Brand new list navigation.

March 21, 2004. Released version 7.08 of all pedits, LapTopHack, and pToolSet.

March 23, 2004. The LapTopHack and pToolSet compatible pScriptRunner mini-applications are here. Thanks, BamB and TimP, for the idea.

March 25, 2004. When in myNotes, then SkyIsLimit is temporarily disabled which prevents "myNotes" from being split up. Thanks, AdamC, for pointing out the potential problem.

March 27, 2004. The pScriptorial "/&varDiv [...]", "/&varDiv@ [...]", "/&varRem [...]", and "/&varRem@ [...]"pFunctions are here. Thanks, PeterK2, for the idea.

April 2, 2004. PopFavorites is no longer supported. It has been replaced by direct support of pToolSet's pLaunchTool.

April 2, 2004. The last two arguments in the pScriptorial "/&mess [...]" and "/&mess@ [...]" functions are optional, as in "/&mess@ [@@hi@@]" as opposed to "/&mess@ [@@hi@@,,]" or "/&mess@ [@@hi@@, 50, 200]".

April 8, 2004. The pScriptorial "/Ph" [HotSync name] pToken is here.

April 11, 2004. The new pScriptorial "/db", "/dB", "/dt", and "/dT" date'n'time pTokens are here.

April 15, 2004. pToolSetBoundScripts have been here for a long time but I just realized that I forgot to document them.

April 18, 2004. The entire pScript engine has been optimized and re-written from the ground up with noticeable increase in execution speed. Many rules have been relaxed and some bugs were eliminated.

April 18, 2004. Released version 7.09 of all pedits, LapTopHack, and pToolSet.

April 24, 2004. The pScriptorial "/I @@text@@" [right now] and "/i @@text@@" [runtime] text inserter pTokens are here. They minimally count towards the limit imposed by the key-event-queue-size.

April 24, 2004. Released version 7.10 of all pedits, LapTopHack, and pToolSet.

April 27, 2004. The pScriptorial "/@" [turn on immediate printing] and "/." [turn off immediate printing] pTokens are here. They help to circumvent problems related to the limit imposed by the key-event-queue-size.

May 1, 2004. The "right now" "/&ifGoTo@ [...]" pScriptorial pFunction is here.

May 20, 2004. Released version 7.11 of all pedits, LapTopHack, and pToolSet.

June 5, 2004. Fixed a bug which prevented beaming memos whose titles had a colon within their first two words because the Palm OS interpreted it as if it were a URL [it's an odd logic, isn't it?]. Thanks, ThomasK, for the bug report.

June 19, 2004. The pScriptorial "right now" "/&mess@ [...]" and the "runtime" "/&mess [...]" pFunctions now appropriately truncate messages which are too long to be fully shown. In addition, both commas separating the arguments are now optional as long as less than three arguments are used [see the description of corresponding pFunctions for details and examples].

June 19, 2004. The pScriptorial "/&clipAdd [...]" pFunction now has an optional "i" [init] pSwitch.

July 13, 2004. The notion of the pScriptorial noPVarValue is here.

July 14, 2004. Released version 7.11a of all pedits. This is an intermediate release and only those need to install it who are using a non-registered trial pedit since it extends the expiration date of such pedits.

July 30, 2004. The pScriptorial /&control [...]" and /&control@ [...]" pFunctions now work in pedit as well.

July 30, 2004. The pScriptorial no longer works in Palm OS 3.0 or older.

August 2, 2004. The pScriptorial /&mess [...]" pFunction now has an "I" [Invert pixels] pSwitch.

August 2, 2004. The pScriptorial /&ifAbort [...]" and /&ifScript [...]" pFunctions now have an "B" [caseBlind comparison] pSwitch.

August 7, 2004. The pScriptorial /&varPrint [...]" pFunction now has an "P" [Paste into current text field] pSwitch.

August 13, 2004. LapTopHack and pToolSet share the same pScriptEngines. In particular, {LTH_script::pScriptName::pScriptText} and {PTS_script::pScriptName::pScriptText} have been replaced by the common {GLOBAL_script::pScriptName::pScriptText}.

September 7, 2004. The pScriptorial text capturing is here.

September 7, 2004. The pScriptorial pStringVariables, pStringTokens, and pTextTokens are here.

September 14, 2004. Released version 7.12 of all pedits, LapTopHack, and pToolSet.

September 23, 2004. pedit supports pToolSet's pScriptButtons.

September 29, 2004. Released version 7.13 of all pedits, LapTopHack, and pToolSet.

October 5, 2004. If the alphabetic sort option is set in the ListView Preference Panel, then Memo32DB gets sorted in every pedit session once. This will alleviate potential problems created by 3rd party applications which may have illegitimately tinkered with Memo32DB. Thanks, BlakeW, for the suggestion.

October 9, 2004. Released version 7.14 of all pedits, LapTopHack, and pToolSet.

October 9, 2004. Started to work on enabling FontBucket fonts.

October 16, 2004. Fixed a few incompatibilities when pedit, LapTopHack, and pToolSet share the same ESC key.

October 26, 2004. ListView uses FontBucket fonts.

October 26, 2004. Released version 7.15 of all pedits, LapTopHack, and pToolSet.

November 30, 2004. The user defined optional startup pScripts ".peditrc", ".pedit04rc", and ".pedit32rc" are here. Thanks, MayaR, for the idea.

December 9, 2004. Released version 7.15 of all pedits [previous version number but with new compilation time'n'date].

December 15, 2004. The significantly improved Go to Memo command is here.

December 16, 2004. Released version 7.15 of all pedits [previous version number but with new compilation time'n'date].

December 23, 2004. Gradual Tungsten T5 and Treo 650 compatibility.

December 23, 2004. Released version 7.16 of all pedits, LapTopHack, and pToolSet.

December 26, 2004. More 5-way navigator, Tungsten T5, Treo 600, and Treo 650 compatibility.

December 26, 2004. Released version 7.16 of all pedits and pToolSet [previous version number but with new compilation time'n'date].

December 27, 2004. More 5-way navigator, Tungsten T5, Treo 600, and Treo 650 compatibility.

December 28, 2004. Fixed an error effecting page scrolling and such [BillS].

December 28, 2004. Released version 7.16 of all pedits and pToolSet [previous version number but with new compilation time'n'date].

January 2, 2005. More 5-way navigator, Tungsten T5, Treo 600, and Treo 650 compatibility.

January 2, 2005. Released version 7.16 of all pedits [previous version number but with new compilation time'n'date].

January 7, 2005. More 5-way navigator, Tungsten T5, Treo 600, and Treo 650 compatibility, including peditFixer [see peditFixer's "Help"].

January 7, 2005. Released version 7.16 of all pedits [previous version number but with new compilation time'n'date].

January 8, 2005. More 5-way navigator, Tungsten T5, Treo 600, and Treo 650 compatibility.

January 8, 2005. Released version 7.16 of all pedits and pToolSet [previous version number but with new compilation time'n'date].

January 12, 2005. Lefty [left-handed user] support is here [see the Modes Preference Panel].

January 16, 2005. Released version 7.17 of all pedits, LapTopHack, and pToolSet.

February 16, 2005. Released version 7.18 of all pedits, LapTopHack, and pToolSet.

March 7, 2005. The totally rewritten and hugely improved Go to Memo [ListView]and Go to Memo [EditView] commands are here.

March 15, 2005. Released version 7.18 of all pedits [previous version number but with new compilation time'n'date].

March 22, 2005. The 5-way navigator button can move the cursor [see the cursor moves via 5-way button check box in the EditView Preference Panel]. Thanks, AlexisG and RickR, for the suggestion.

March 22, 2005. Released version 7.18 of all pedits [previous version number but with new compilation time'n'date].

April 4, 2005. Extensive direct support of pRotatorTool in various pedit dialogs, including EditView.

April 21, 2005. pRotatorTool can buttonSlide.

April 27, 2005. More 5-way navigator and pRotatorTool support in the batcher operations.

May 1, 2005. Released version 7.19 of all pedits, LapTopHack, and pToolSet.

May 8, 2005. New fonts, including some high resolution ones, are here.

May 11, 2005. Numerous Treo 650 compatibility fixes [testing on DaveG's Treo 650].

May 17, 2005. Released version 7.20 of all pedits, LapTopHack, and pToolSet.

May 20, 2005. The Go to Memo command has been further improved (see here). Thanks, JohnH, for the suggestion.

May 22, 2005. Released version 7.20 of all pedits [previous version number but with new compilation time'n'date].

June 13, 2005. pRotatorTool remembers its position in Find'n'Replace View.

August 3, 2005. Both peditPro and pToolSet have extensive Dynamic Input Area [DIA] support. No other flavor of pedit supports the DIA.

August 16, 2005. Released version 8.00 of all pedits, LapTopHack, and pToolSet.

August 22, 2005. Dynamic Input Area [DIA] support is optional in peditPro [see the Options Preference Panel. Thanks, RayD, for the suggestion.

September 14, 2005. Fixed a bug which effected only Palm OS 3.0. Thanks, AlisdairL, for the bug report.

November 20, 2005 Fixed a display bug related to the SkyIsLimit menu command when the Dynamic Input Area [DIA] is used. Thanks, JeffR, for the bug report.

November 21, 2005. Released version 8.01 of all pedits.

December 27, 2005. EditView Encrypt/Decrypt Memo command is here.

January 14, 2006. Released version 8.01 of all pedits [previous version number but with new compilation time'n'date].

January 18, 2006. Fixed a Palm OS bug related to handling the 5-way navigator key which appeared on certain Palms such as the Tungsten E2. Thanks, LucF, for the report.

January 19, 2006. Released version 8.02 of all pedits, LapTopHack, and pToolSet.

April 18, 2006. The pScriptorial /&varSubStr@ [...]" and /&varSubStr [...]" pFunctions are here. Thanks, JimB and JohnM, for the idea.

April 25, 2006. Released version 8.03 of all pedits, LapTopHack, and pToolSet.

NOTE. If you use pStringVariables in your pScripts, then please pin-reset your Palm after installing 8.03 since the format has changed.

April 26, 2006. Improved navigation in pScriptButtons via pRotatorTool. Thanks, JohnM, for the idea.

May 8, 2006. Fixed a DIA related Palm OS bug in the Font menu command in EditView. Thanks, AlexisW, for the bug report.

May 8, 2006. Fixed a few DIA related black button bug in EditView's Ed+ menu. Thanks, AlexisW, for the bug report.

May 15, 2006. Improved list navigation. Thanks, JohnM, for the idea.

May 18, 2006. Released version 8.04 of all pedits, LapTopHack, and pToolSet.

July 10, 2006. Released version 8.06 of all pedits, LapTopHack, and pToolSet.

=

July 12, 2006. The pScriptorial "/&specAct [...]" pFunction is here.

July 14, 2006. The "/DX" and "/Dx" /D pTokens are here. Thanks, NeilG, for the idea.

August 26, 2006. Released version 8.07 of all pedits, LapTopHack, and pToolSet.

September 25, 2006. Improved list navigation in the incremental search mode and the numerical search mode is here. Thanks, JohnM and SteveK, for the idea.

December 25, 2006. pRotatorTool now uses hard-buttons too.

January 15, 2007. Released version 8.08 of all pedits, LapTopHack, and pToolSet.

January 18, 2007. Fixed the manual regarding the behavior of the "runtime" "/&ifScript [...]" pFunction.

January 18, 2007. Fixed the behavior of the "runtime" "/&ifAbort [...]" pFunction, see here for details. Thanks, NateT and JohnM, for the bug report.

January 18, 2007. The leftButtonSlided "X" button in EditView's buttonPanel is the same as the Restore Memo command in EditView's Record #1 menu.

February 6, 2007. Released version 8.09 of all pedits, LapTopHack, and pToolSet.

February 16, 2007. Fixed a few DIA related black button bug in EditView's magiPad Switcher command [aka "^" button]. Thanks, AlexisW, for the bug report.

February 26, 2007. Added more 5-way navigator and pRotatorTool support to a number of dialogs.

.

March 1, 2007. Text search/replacement can be interrupted more reliably by tapping, or by typing ".", or by a page up/down or 5-way up/down press.

March 20, 2007. The pScriptorial "/xH" pToken is here. It activates objects surrounded by a "halo" [focus ring].

March 23, 2007. The pScriptorial "/5s", "/5l", "/5r", "/5u", and "/5d" 5-way navigator pTokens are here.

March 26, 2007. The pScriptorial "/xu" [pageUp] and "/xd" [pageDown] pTokens are here.

April 15, 2007. Released version 8.10 of all pedits, LapTopHack, and pToolSet.

May 30, 2007. Released version 8.11 of all pedits, LapTopHack, and pToolSet.

June 2, 2007. Improved user interface in all "delete" and "delete all" dialogs for recent/favorite items [BillS, JohnM].

July 29, 2007. Released version 8.12 of all pedits, LapTopHack, and pToolSet.

December 4, 2007. Released version 8.13 of all pedits, LapTopHack, and pToolSet.

February 26, 2009. Released version 8.14 of all pedits, LapTopHack, and pToolSet.

May 27, 2010. Deleted various naggers and expiration dates.

May 27, 2010. Released version 8.15 of all pedits, LapTopHack, and pToolSet.

NOTE. Since pedit, LapTopHack, and pToolSet share components, if you use more than one of them, then they all must be of the same version, preferably the latest one.

NOTE. As of February 1, 2007, pedit, LapTopHack, and pToolSet no longer provide support in their newly introduced features for obsolete Palm Powered handhelds such as HandEra, Tungsten T3, and so forth. Those features which already have built-in support for such devices will continue to have them, at least for the time being.

NOTE. Upgrading to pedit 8.00+ requires a US$9.00 upgrade fee which you can pay via PayPal (preferred), or eSellerate, or by a check mailed to me. Contact me if you can't afford the upgrade fee.

NOTE. If you registered pedit on or after July 1, 2005, then you are exempt from the upgrade fee.

NOTE. US$9 upgrades any registered peditPro of any version to the latest peditPro.

NOTE. US$9 upgrades any registered pedit of any version to the latest pedit.

NOTE. US$9 upgrades any registered pedit32 of any version to the latest pedit32.

NOTE. Upgrading a registered pedit 7.xx to pedit 8.xx is free and requires no action.

NOTE. Upgrading a registered pedit32 7.xx to pedit32 8.xx is free and requires no action.