Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Dialog signature delimiter

7 views
Skip to first unread message

bill

unread,
Apr 18, 2021, 9:18:40 PM4/18/21
to
I saw the discussion by Bernd to try out Dialog on Windows.
So I tried it and I found that 40Tude works great on Windows 10!

I figured out how to do a random sig in 40tude Dialog.
You just create a file with "%" delimiters between each signature.
Then you set the signature using %randomsig:C:\path\randomsig.txt%

But how do you set a sig in Dialog that doesn't add the dash dash space?

--
Why are pencils and communism so similar?
They both only work on paper!

Grant Taylor

unread,
Apr 18, 2021, 10:49:24 PM4/18/21
to
On 4/18/21 7:18 PM, bill wrote:
> But how do you set a sig in Dialog that doesn't add the dash dash space?

Isn't the dash dash space supposed to be there by convention to formally
/ officially separate the body from the signature?



--
Grant. . . .
unix || die

bill

unread,
Apr 18, 2021, 11:03:30 PM4/18/21
to
On Sun, 18 Apr 2021 20:49:30 -0600, Grant Taylor wrote:

>> But how do you set a sig in Dialog that doesn't add the dash dash space?
>
> Isn't the dash dash space supposed to be there by convention to formally
> / officially separate the body from the signature?

I want the ending to be a salutation sans delimiter.
Like this

regards,
bill

Grant Taylor

unread,
Apr 18, 2021, 11:41:15 PM4/18/21
to
On 4/18/21 9:03 PM, bill wrote:
> I want the ending to be a salutation sans delimiter.

I'm not questioning your motivation.

I'm questioning the established standard. Specifically if my working
understanding is correct or not.

Bernd Rose

unread,
Apr 19, 2021, 12:30:54 AM4/19/21
to
On Sun, 18th Apr 2021 21:41:19 -0600, Grant Taylor wrote:

> On 4/18/21 9:03 PM, bill wrote:
[4D: Random signature functionality]
>> I want the ending to be a salutation sans delimiter.
>
> I'm not questioning your motivation.
>
> I'm questioning the established standard. Specifically if my working
> understanding is correct or not.

You are correct. The signature setup functionality of 40tude Dialog only
deals with anything /after/ the signature delimiter. (Which is added by
the program automatically, every time a signature is appended.)

Apart from reducing the text necessary to be written for each sig, this
approach also ensured a correctly formatted delimiter.

IIRC, some users tried to overrule this (about 20 years ago) by inserting
back-delete characters in the first position. (Which, IIRC, didn't work.)

Maybe somebody wrote a script, afterwards, to support "sig functionality"
without sig delimiter. Shouldn't be too much work with an OnBeforeSending
script, because the sig is inserted on the creation of the message (or
by explicitly selecting it while editing) and not just on sending.

Bernd

bill

unread,
Apr 19, 2021, 9:09:41 AM4/19/21
to
On Mon, 19 Apr 2021 06:30:52 +0200, Bernd Rose wrote:

> Shouldn't be too much work with an OnBeforeSending
> script, because the sig is inserted on the creation of the message (or
> by explicitly selecting it while editing) and not just on sending.

I love that you suggested this 40tude Dialog to someone else in another
recent thread as Dialog seems like a really nicely done Win10 newsreader!

I checked out this "OnBeforeSending" functionality and while I'm not a
programmer I can often string together examples to tweak and guess at
syntax.

I guess I could convert an existing *.ds script to create a custom sig but I
openly admit removing the sig delimiter isn't all that important. If it's
not just a simple switch it's probably not worth writing. I was just asking
if the option existed - that's all (as Dialog seems to have a LOT of nicely
thought out options!).

One OnBeforeSending script idea I have is one that gets rid of inconsistent
punctuation before sending because I often paste from a variety of web sites
which creates conflicting punctuation.
https://www.toptal.com/designers/htmlarrows/punctuation/

Hidden HTML characters such as zero width non joiner characters (‌)
(https://en.wikipedia.org/wiki/Zero-width_non-joiner) are sometimes in the
cut and paste results (aka ZWNJ) that I'd like Dialog to replace with a
space instead.

Likewise with horizontal elipses and the infamous em dash
(https://www.toptal.com/designers/htmlarrows/punctuation/horizontal-ellipsis/)
(https://www.toptal.com/designers/htmlarrows/punctuation/em-dash/)

And we're all familiar with smart quotes (also known as "curling quotes").
(https://www.typewolf.com/cheatsheet)
(https://dwheeler.com/essays/quotes-in-html.html)

While we can remove & replace them on Windows using Notepadd++
(https://stackoverflow.com/questions/12124434/easiest-way-to-convert-smart-curly-quotes-to-dumb-straight-quotes-in-notepad)

It would be nice for Dialog OnBeforeSending script to do it for us.
Convert HTML character " " to "'"
Convert HTML character "༌" to "'"
Convert HTML character " " to "'"
Convert HTML character "​" to "'"
Convert HTML character "‌" to "'"
Convert HTML character "‌" to '&'
Convert HTML character "‍" to "'"
Convert HTML character "‑" to "'"
Convert HTML character "‘" to "'"
Convert HTML character "‘" to "'"
Convert HTML character "’" to "'"
Convert HTML character "’" to "'"
Convert HTML character "“" to '"'
Convert HTML character "“" to '"'
Convert HTML character "”" to '"'
Convert HTML character "”" to '"'
Convert HTML character "…" to ' '
Convert HTML character " " to "'"
Convert HTML character "⁠" to "'"
Convert HTML character "" to "."

There is a script I found somewhere that replaced German characters
but I haven't modified it yet to replace the HTML characters above.
(http://dialog.datalist.org:80/scripts/ScriptreplaceUmlaut.html)

It's called "StringReplace" and it replaces characters using
s:=StringReplace(s,'oldcharacter','newcharacter');

But I haven't figured out yet how to feed it the HTML characters:
s:=StringReplace(s,' ',''');

--
Police are searching for a robber who's stealing blunt pencils.
Quite frankly, they cant see the point

Bernd Rose

unread,
Apr 19, 2021, 2:29:36 PM4/19/21
to
On Mon, 19th Apr 2021 15:09:40 +0200, bill wrote:

> One OnBeforeSending script idea I have is one that gets rid of inconsistent
> punctuation before sending
[...]
> There is a script I found somewhere that replaced German characters
> but I haven't modified it yet to replace the HTML characters above.
> (http://dialog.datalist.org:80/scripts/ScriptreplaceUmlaut.html)
>
> It's called "StringReplace" and it replaces characters using
> s:=StringReplace(s,'oldcharacter','newcharacter');
>
> But I haven't figured out yet how to feed it the HTML characters:
> s:=StringReplace(s,' ',''');

There's more to it. Depending on your permitted/restricted encoding
settings and the characters contained in your message before the script
fires up, the text may be encoded in quite a few different ways.
The replacement script has to check the encoding and act accordingly.
This means, every character, which shall be replaced, needs /several/
replacement rules. Maybe okay for only few characters, but /not/ for
your very broad approach.

The old German umlaut replacing script was meant for "near ASCII"
text. It has to be tweaked and expanded for more complex encodings,
if above condition is not met. - Even for these few replacement cases...

Bernd

bill

unread,
Apr 19, 2021, 3:25:47 PM4/19/21
to
On Mon, 19 Apr 2021 20:29:34 +0200, Bernd Rose wrote:

> There's more to it. Depending on your permitted/restricted encoding
> settings and the characters contained in your message before the script
> fires up, the text may be encoded in quite a few different ways.

I don't think there is more to it since it's ALWAYS fixed by Notepad++
I posted the current Notepad++ shortcuts.xml script in the signature below.

That ALWAYS works so I do think it's as simple as what Notepad++ does
(at least for the most common set of HTML special characters).

Besides, once we have a working template, adding more on a case by case
basis should be easy I would think (that's how I made the shortcuts.xml).
(https://stackoverflow.com/questions/12124434/easiest-way-to-convert-smart-curly-quotes-to-dumb-straight-quotes-in-notepad)

> The replacement script has to check the encoding and act accordingly.
> This means, every character, which shall be replaced, needs /several/
> replacement rules. Maybe okay for only few characters, but /not/ for
> your very broad approach.

Actually there are only 20 that I commonly run into (see sig below).
But all I need is two or three working as adding more should be easy.

> The old German umlaut replacing script was meant for "near ASCII"
> text. It has to be tweaked and expanded for more complex encodings,
> if above condition is not met. - Even for these few replacement cases...

Yes. I believe you are correct.

As I said I am not a programmer so I generally copy and tweak as needed.
I haven't yet been able to get even ONE subsitution of HTML characters
to work in the OnBeforeSending script.

The first HTML character substitution that I tried (and failed) was the ZWNJ
(https://karrer.net/tmp/zwnj.html)

I can't seem to get the syntax right yet in that ScriptreplaceUmlaut.ds script.
--

See "Script for Bernd" in the Win10 Notepad++ shortcuts.xml file below.

<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<InternalCommands />
<Macros>
<Macro name="Trim Trailing Space and Save" Ctrl="no" Alt="yes" Shift="yes" Key="83">
<Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
<Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
</Macro>

<Macro name="Remove Smart Quotes" Ctrl="no" Alt="no" Shift="no" Key="0">
</Macro>

<Macro name="Script for Bernd" Ctrl="no" Alt="no" Shift="no" Key="0">

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2018;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2019;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201C;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam='&quot;' />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201D;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam='&quot;' />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x200C;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam='&amp;' />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x200B;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x200C;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x200D;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2060;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#xFEFF;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00A0;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2007;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x202F;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2011;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x0F0C;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2018;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2019;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="&apos;" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201C;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam='&quot;' />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x201D;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam='&quot;' />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x2026;" />
<Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam='&amp;' />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

</Macro>
</Macros>
<UserDefinedCommands>
<Command name="Get PHP help" Ctrl="no" Alt="yes" Shift="no" Key="112">https://www.php.net/$(CURRENT_WORD)</Command>
<Command name="Wikipedia Search" Ctrl="no" Alt="yes" Shift="no" Key="114">https://en.wikipedia.org/wiki/Special:Search?search=$(CURRENT_WORD)</Command>
<Command name="Open file in another instance" Ctrl="no" Alt="yes" Shift="no" Key="117">$(NPP_FULL_FILE_PATH) $(CURRENT_WORD) -nosession -multiInst</Command>
</UserDefinedCommands>
<PluginCommands />
<ScintillaKeys />
</NotepadPlus>

VanguardLH

unread,
Apr 19, 2021, 3:58:18 PM4/19/21
to
That information is redundant as it is already provided in the From
header that your client specified. Know of any NNTP clients that do not
show the From header of each article? If there were, readers wouldn't
immediately know who was replying to whom, and instead have to drill
into a headers view to see the author of an article.

Your From header says you're bill. A signature saying you're bill is
redundant.

Bernd Rose

unread,
Apr 19, 2021, 4:01:36 PM4/19/21
to
On Mon, 19th Apr 2021 21:25:50 +0200, bill wrote:

> On Mon, 19 Apr 2021 20:29:34 +0200, Bernd Rose wrote:
>
>> There's more to it. Depending on your permitted/restricted encoding
>> settings and the characters contained in your message before the script
>> fires up, the text may be encoded in quite a few different ways.
>
> I don't think there is more to it since it's ALWAYS fixed by Notepad++

Notepad++ doesn't come into play, here. You send a message from Dialog
Editor. And depending on the characters found (in the current message),
Dialog checks its encoding settings and formats the text to 7-Bit-ASCII,
Windows-1250 or its siblings, CP850 or its siblings, UTF-7, UTF-8,...
Every message /may/ be sent with a different encoding.

The OnBeforeSending script needs to replace characters formatted in one
of the afore mentioned encodings. The letter ä, for instance may be
found in this text buffer as char 0x84, 0xE4, word 0xC3A4 and in several
other ways. Each variant has to be replaced, if the source encoding is
not fixed. (Which in itself usually wouldn't be a good idea, either.)

Moreover, replacing a character 0x84 with (e.g.) ae under the assumption,
it would have the meaning ä, could be wrong, altogether. If the source
encoding happens to be Ansi-1252, this byte position represents the lower
curly quotation marks.

Bernd

VanguardLH

unread,
Apr 19, 2021, 4:02:11 PM4/19/21
to
bill <bi...@spam.invalid> wrote:

> Path: uni-berlin.de!fu-berlin.de!news.uzoreto.com!aioe.org!tKMeCZpOoHFkQLaFKeAqow.user.gioia.aioe.org.POSTED!not-for-mail
> From: bill <bi...@spam.invalid>
> Newsgroups: news.software.readers
> Subject: Dialog signature delimiter
> Date: Mon, 19 Apr 2021 03:18:44 +0200
> Organization: Aioe.org NNTP Server
> Lines: 12
> Message-ID: <s5ilpb$kd9$1...@gioia.aioe.org>
> NNTP-Posting-Host: tKMeCZpOoHFkQLaFKeAqow.user.gioia.aioe.org
> Mime-Version: 1.0
> Content-Type: text/plain; charset="us-ascii"
> Content-Transfer-Encoding: 7bit
> X-Complaints-To: ab...@aioe.org
> User-Agent: 40tude_Dialog/2.0.15.41 (51e03d8d.9.298)
> X-Notice: Filtered by postfilter v. 0.9.2
> Xref: uni-berlin.de news.software.readers:291046
>
> I saw the discussion by Bernd to try out Dialog on Windows.
> So I tried it and I found that 40Tude works great on Windows 10!
>
> I figured out how to do a random sig in 40tude Dialog.
> You just create a file with "%" delimiters between each signature.
> Then you set the signature using %randomsig:C:\path\randomsig.txt%
>
> But how do you set a sig in Dialog that doesn't add the dash dash space?

Without the sigdash delimiter line (dash dash newline), your signature
block is NOT a signature block. Instead you are adding a common block
of text to every post. Do you want a signature, or do you want to add
the same block of text to every one of your posts (which means it is
part of the body of your post, NOT a signature)? BernD gave a hint on
how to add a common block to the body of every post.

As I recall, and from previous searching, I never found the sigdash
delimiter was specified in any RFC. It is a de facto Usenet standard;
i.e., netiquette. When you add a /signature/, it is to be delimited by
the preceding sigdash delimiter line. You're asking how to add a
signature without adding a signature.

VanguardLH

unread,
Apr 19, 2021, 4:27:23 PM4/19/21
to
Looks like you might be attempting to use the signature block as a cutsy
MOTD (message-of-the-day) function available in other NNTP clients, but
you also want to prevent other clients from blocking/hiding the sig
block by not marking your MOTD as a sig block.

If you were just duplicating your nym from your From header as a fake
signature block (no sigdash delimiter line), why would you be using a
random selector? Random sigs are to add changing sig content. In other
NNTP clients that have a MOTD feature, they still show that content as a
sig block; i.e., the MOTD content is after the sigdash line. The MOTD
content is usually off-topic to the discussion since obviously a random
sig selector cannot select sig content that is related to the
discussion.

Your later example showed you adding your name (duplicated from the From
header). No need to use a random sig selector for appending the same
name to every post. What are you really using random signatures for?
Yeah, I'm suspicious: a red flag when claiming to add the /same/ content
to every post, but doing so with a random sig selector. Adding the same
content doesn't involve randomness. Something seems untoward.

There's no point to using a random sig selector to add the same content
to every post.

bill

unread,
Apr 20, 2021, 8:42:23 PM4/20/21
to
On Mon, 19 Apr 2021 22:01:33 +0200, Bernd Rose wrote:

> Notepad++ doesn't come into play, here.

Notepad++ solves the problem but it's an extra step I was trying to remove.
It replaces the HTML character "&#x201C;" with the HTML character "&quot;".

> You send a message from Dialog Editor.

Thanks. I was hoping maybe Dialog could be set to edit with Notepad++.
Or that Dialog could post process to substitute characters as defined.

> And depending on the characters found (in the current message),
> Dialog checks its encoding settings and formats the text to 7-Bit-ASCII,
> Windows-1250 or its siblings, CP850 or its siblings, UTF-7, UTF-8,...

It's a formatting problem that the punctuation isn't consistent when it
comes from multiple sources (some of which use these "pretty" characters
while others don't).

It is best solved in the text editor.
Or cleaned up just before sending the message.

> Every message /may/ be sent with a different encoding.

The encoding isn't the problem so much as the inconsistent punctuation.

Some pasted results from multiple web pages have fancy HTML punctuation
while others do not.

I couldn't get the syntax to work even on the simplest conversion (that of
the HTML smart quote to an HTML straight quote) so I'll just give up as
Dialog seems like a nice editor even without this feature.

Replace the HTML character "&#x201C;" with the HTML character "&quot;".

--
Why do pencils shave?
To look sharp.

bill

unread,
Apr 20, 2021, 8:48:55 PM4/20/21
to
On Mon, 19 Apr 2021 15:27:21 -0500, VanguardLH wrote:

> There's no point to using a random sig selector to add the same content
> to every post.

Somehow you mixed up the random joke in the sig with the question itself.

The question was just how to make the salutation more personal.
The dashdashspace makes it less personal.

Not a big deal though as Dialog can't do it without effort which I'm not
willing to write just to make the "ciao" be more personal & less robotic.

Thanks for your advice,
bill

Bernd Rose

unread,
Apr 21, 2021, 12:21:13 AM4/21/21
to
On Wed, 21st Apr 2021 02:42:28 +0200, bill wrote:

>> Every message /may/ be sent with a different encoding.
>
> The encoding isn't the problem so much as the inconsistent punctuation.

Best-fit-selected charset and encoding /are/ your problems.

Internally, 40tude Dialog uses 16 bit Unicode for its edit buffer. So,
whatever you paste into the edit window will be translated to Unicode
characters, first. (Even the most simple ASCII-7 characters.) But the
OnBeforeSending script fires up /after/ the charset is selected, the
text is converted to the best-fit target charset, and the message is
already encoded.

Therefore, any replacement rule in OnBeforeSending needs to take into
account /every/ charset and encoding style not explicitly forbidden in
your 40tude Dialog settings. - Like I already said: The Umlaut-script
makes assumptions about these settings, which are not advisable in the
first place. - Except, when the ones using 40tude Dialog with this script
carefully only write and copy/paste with a narrow, closely defined set
of characters that map to only /one and always the same/ charset.

Bernd

VanguardLH

unread,
Apr 21, 2021, 3:01:19 AM4/21/21
to
bill <bi...@spam.invalid> wrote:

> VanguardLH wrote:
>
>> There's no point to using a random sig selector to add the same
>> content to every post.
>
> Somehow you mixed up the random joke in the sig with the question
> itself.

Who was it that mentioned %randomsig:<filepath>% in the starter post?
That 48% of your message was chaff unrelated to your inquiry?

Seems Bernd's mention of the OnBeforeSend event to create a script to
process your message before sending it would work. Years ago there was
an archive of user-written scripts which could be used as-is or
modified; however, the domain it was at before is locked out, so it is
unusable. Often I could find a script there that I could tweak for
another use.

If you are just adding "regards, Bill" to the end of your messages, how
often do you post where adding that content would become a major
nuisance? Sometimes I forget that I can type a lot faster than many
users, so it seems to me a trifle addition to dash off at the end of a
message. But, as mentioned, it is duplicate content since your nym is
already presented by the From header.

Instead of writing a script (for the OnBeforeSend event), perhaps easier
would be to write a custom script and assign it to a button that you add
to a toolbar. Then you just click on the toolbar button to add the
trailing text. My guess, and from the Help, is you would use:

Procedure PostKey( key: Word; Shift, Alt, Ctrl, Left, Right, Middle, Double,specialkey: Boolean);
//Simulates a key press in the currently active window

When you click the toolbar button, its custom script would issue
keystrokes in the current window (which should be the compose window
when you are writing a new message).

If you were looking for a simple on/off option to remove the sigdash
delimiter line (dash dash space newling) when adding a signature, no,
Dialog doesn't let you add a signature that is not delimited as a
signature.

https://en.wikipedia.org/wiki/Signature_block#Standard_delimiter

Since the sig block is often duplicated content or off-topic, many NNTP
clients have an option to hide the sig block. Dialog has this feature:
in the top row of the view pane, click the down-chevron at the top left,
select Message View Options, and select Suppress signatures. This
allows readers to eliminate such fluff to focus on the message itself.
Eliminating the sig delimiter line is usually a deliberate attempt to
prevent others from hiding your sig block. Lots of spamware does this.
For example, Avast will add, by default, their spam block at the end of
messages to promote their AV software, and they deliberately use an
invalid sig delimiter line to avoid reader clients from hiding the sig
block. They want to ensure as many readers see their spam as possible.

There is also a politeness factor. When replying to your posts, the
respondents should've have to keep trimming off your duplicated content.
NNTP clients should automatically strip off the signature when replying.
However, since you propose to not use the sig delimiter line, the
clients cannot strip off the superfluous content in replies. Some users
go nuts with ridiculously long signatures, use ASCII characters to
present stick images, add their contact info, and lots of other junk
that is not germaine to the topic. With a sig delimiter line, all that
fluff can be stripped from replies. Signatures should NOT be quoted in
a reply, but obviously there needs be a means to parse just what is the
sig block. The vast majority of signature content is fluff. Users of
NNTP clients that don't automatically strip sig blocks in replies, and
because most users are lazy and don't review and trim before they
submit, end up creating a mess of their replies.

Bernd Rose

unread,
Apr 21, 2021, 12:19:40 PM4/21/21
to
On Wed, 21st Apr 2021 02:01:16 -0500, VanguardLH wrote:

> Instead of writing a script (for the OnBeforeSend event), perhaps easier
> would be to write a custom script and assign it to a button that you add
> to a toolbar. Then you just click on the toolbar button to add the
> trailing text.
[...]
> When you click the toolbar button, its custom script would issue
> keystrokes in the current window (which should be the compose window
> when you are writing a new message).

You can't add scripts as toolbuttons to the compose window toolbars.
And if you add them to the main window toolbars, the compose window
does not have the focus while clicking on the button. ;-)

<Quotation moved (out of contentual reasons)>
> If you are just adding "regards, Bill" to the end of your messages, how
> often do you post where adding that content would become a major
> nuisance?

One-liners could be inserted with auto-correction. This would probably be
the easiest approach.

There are several ways to add and activate auto-correction entries. The,
IMHO, most systematic one is opening the Spelling Options dialog from
SpellCheck -> Settings menu of a Compose window and then selecting the
Dictionaries button on the right bottom side of that dialog. In the
following list view, new custom dictionaries can be created or existing
ones selected and (de)activated. When a dictionary is selected, it can
be edited. An edit subdialog opens. The second tab enables to add/delete
or change autocorrection entries. if the entry: rb -> Regards, Bill
is added, then the text "rb " (please note the space; any other word
ending characters should work as well) will automatically be replaced
by "Regards, Bill".

Bernd

bill

unread,
Apr 21, 2021, 5:30:52 PM4/21/21
to
On Wed, 21 Apr 2021 06:21:08 +0200, Bernd Rose wrote:

> Best-fit-selected charset and encoding /are/ your problems.

It's complicated so I don't know if I understand yet but I think I
understand your final point which is I'm not the one to make it work. ;-/

I can always stick with using Notepad++ then as my intermediary message
editor whenever I'm pasting together cites from multiple websites which have
inconsistent punctuation (eg smart quotes plus straight quotes) because
Notepad++ can convert curly quotes to straight quotes (and lots of others
that I added one by one to the shortcuts.xml file as I found them ).

In trying to understand your advice I had to look up what unicode was which
is essentially an encoding that handles hundreds of thousands of characters.

What I gather from what you imparted on me was that when I paste text copied
from various web pages into Dialog, the internal Dialog editor translates
everything I paste into 16 bit unicode characters.

For example a curly quote ends up as a 16-bit unicode curly quote.
And a straight quote ends up as a 16-bit unicode straight quote.

At this point the text is inconsistent (curly mixed with straight) even as
the encoding is consistent from what you said (ie it's all unicode now).

Normally just before sending I would cut and paste this into Notepad++ and
then I run the conversion of all odd characters to basic characters which
gives me the consistency that I want. Then I cut and paste that consistent
text back into Dialog and send the message.

Since you said the OnBeforeSending script fires up /after/ the message is
already encoded, I was just hoping the OnBeforeSending script could convert
the now unicode curly quotes to straight quotes in unicode.

I admit I don't understand why Dialog can't do that but I do understand your
overall advice which is that it's very difficult and therefore not a task
I'm equipped to do (since I don't even understand why it can't work yet).

I'll just give up but I do appreciate that you helped advise me (I think I'm
way out of my league as I don't understand why the encoding matters since
it's all unicode at the time that I need to convert curly quotes to straight
quotes).

Nonetheless, it's ok to have Notepad++ in the middle which does the
conversion for me of the unicode curly quotes to the unicode straight
quotes.

-1- I cut and paste into the Dialog editor from a variety of web pages
-2- Just before sending I cut and paste the Dialog message into Notepad++
-3- Notepad++ converts unicode curly quotes to unicode straight quotes
-4- I paste that now consistent punctuation into Dialog to send off
--
Why can't pencils move?
Because they are stationery

bill

unread,
Apr 21, 2021, 5:51:48 PM4/21/21
to
On Wed, 21 Apr 2021 02:01:16 -0500, VanguardLH wrote:

> Who was it that mentioned %randomsig:<filepath>% in the starter post?
> That 48% of your message was chaff unrelated to your inquiry?

That was me! ;-/
Sorry.

I loaded Dialog recently because Bernd had suggested it for Windows 10.
It's a very nice newsreader which I liked immediately.

I was impressed there are so many options which is why I was happy that I
got the random signature to work (on a list of pencil jokes I pulled off the
net as my first experiment).

But in reality I want a normal salutation sign off like we would put at the
end of a business letter. I saw Bernd's suggestion to make it a spelling
correction, which is a nice touch that I'll try out as Dialog can do a lot.

> Seems Bernd's mention of the OnBeforeSend event to create a script to
> process your message before sending it would work. Years ago there was
> an archive of user-written scripts which could be used as-is or
> modified; however, the domain it was at before is locked out, so it is
> unusable. Often I could find a script there that I could tweak for
> another use.

I am not a programmer so what I usually do is find a script that works and I
run it as my "hello world" to make sure I have all the infrastructure right.

Then I sloooooooooowly modify that script, almost character by character,
and I back up when it fails so that I know what I changed and try again (and
again, and again).

So I too can benefit from a directory of WORKING scripts for Dialog.

That's what I was doing with the umlaut script in fact before Bernd
convinced me I would ultimately fail.
(http://web.archive.org/web/20120127150224/http://dialog.datalist.org:80/scripts/ScriptreplaceUmlaut.html)

All I want it to do is convert the unicode smart quotes to unicode straight
quotes but I couldn't even get the umlaut part to work for me so I gave up.

But as you said these working scripts are falling off the Internet it seems
(http://dialog.datalist.org/scripts/script_library.html)
(http://kh-rademacher.de/4d)

And a lot is in German (which I have to translate with Google Translate).
(http://4d.vollmeier.at)

Some are in a mix of German and English though
(http://bertel.lundhansen.dk/?page=dialog/dialog)
(http://bertel.lundhansen.dk/?page=dialog/functionlist)

But even if I'm not a programmer I still like all the options Dialog has!
--
Did you know trees poop?
Well, where do you think #2 pencils come from?

bill

unread,
Apr 21, 2021, 6:24:34 PM4/21/21
to
On Wed, 21 Apr 2021 18:19:37 +0200, Bernd Rose wrote:

> There are several ways to add and activate auto-correction entries.

I first tried this.

-1- Compose a message
-2- Spell check -> Settings -> Dictionaries -> New -> salutation -> OK
-3- Go back there & select salutation.ady & press the Edit button
-4- Select the "Auto-Correct Pairs" tab of the salutation.ady form
-5- Replace: rb[space] With: Regards,^Mbill -> OK -> OK -> OK
-6- Make sure you set Settings -> Save settings as default for new drafts
-7- To test, type "rb[space]" in a message & it should autocorrect

It's unusually tricky to get the spellcheck settings to remember but I got
that part figured out by trial and error (you have to set it for new
drafts).

And I never did get the "salutation.ady" to be an additional dictionary to
"a.ady" so I just edited "a.ady" instead (which works as well).

Interestingly the space after "rb[space]" didn't work but "bbb" worked as
well so that's fine too.

What was odd is that the control M didn't work for a carriage return as it
just added a "^M" instead but again that's easy to manually fix.

Assuming a manual fix of the control character this is what worked
-1- Compose a message
-2- Spell check -> Settings -> Custom Dictionary -> a.dy -> OK
-3- Spell check -> Settings -> Dictionaries -> select a.dy -> Edit
-4- Select the "Auto-Correct Pairs" tab of the salutation.ady form
-5- Replace: bbb With: Regards,^Mbill -> OK -> OK -> OK
-6- Make sure you set Settings -> Save settings as default for new drafts
-7- To test, type "bbb" in a message (sans quotes) & it should autocorrect

I'm gonna type the key sequence now and it will autocorrect instantly the
instant I put the space after the third sequential "b" character now.

Regards,^Mbill
--
I've been using up the ink in all the pens and all the lead in our pencils.
Makes my wife's Christmas wish list much shorter.

VanguardLH

unread,
Apr 22, 2021, 1:30:42 AM4/22/21
to
Bernd Rose <b.rose...@arcor.de> wrote:

> VanguardLH wrote:
>
>> Instead of writing a script (for the OnBeforeSend event), perhaps
>> easier would be to write a custom script and assign it to a button
>> that you add to a toolbar. Then you just click on the toolbar
>> button to add the trailing text.
> [...]
>> When you click the toolbar button, its custom script would issue
>> keystrokes in the current window (which should be the compose window
>> when you are writing a new message).
>
> You can't add scripts as toolbuttons to the compose window toolbars.
> And if you add them to the main window toolbars, the compose window
> does not have the focus while clicking on the button. ;-)

Argh! A suggestion shot down. Guess bill will need to figure out the
OnBeforeSend event script, or your auto-correct suggestion.

>> If you are just adding "regards, Bill" to the end of your messages,
>> how often do you post where adding that content would become a major
>> nuisance?
>
> One-liners could be inserted with auto-correction. This would probably
> be the easiest approach.

Did not know Dialog has an auto-correct feature. I knew it had an
on-the-fly spellcheck feature. I just looked there and, yep, there is
an AutoCorrect option. Guess the user has to edit the dictionary file
to add an auto-correct entry.

> There are several ways to add and activate auto-correction entries.
> The, IMHO, most systematic one is opening the Spelling Options dialog
> from SpellCheck -> Settings menu of a Compose window and then
> selecting the Dictionaries button on the right bottom side of that
> dialog. In the following list view, new custom dictionaries can be
> created or existing ones selected and (de)activated. When a
> dictionary is selected, it can be edited. An edit subdialog opens.
> The second tab enables to add/delete or change autocorrection
> entries. if the entry: rb -> Regards, Bill is added, then the text
> "rb " (please note the space; any other word ending characters should
> work as well) will automatically be replaced by "Regards, Bill".

Thanks for the info. Something I had not thought about, but don't
remember using the Auto-Correct button before. That would also allow
adding multiple entries to the dictionary to select from different
content blocks at the "bad" string position (which are NOT signatures).

This scheme does means other NNTP clients won't find the sigdash line to
strip it from replies. Unless the respondent reviews and trims their
message before submission, which is the typical scenario, the replies
end up with all the pseudo-sig fluff.

Of course, bill wanted "regards,\nbill" inserted into his message, but
auto-correct would add a string within the current line instead of
adding 2 lines. I take it \n (newline) cannot be included in the
auto-correct string.

bill

unread,
Apr 22, 2021, 9:12:34 AM4/22/21
to
On Thu, 22 Apr 2021 00:30:40 -0500, VanguardLH wrote:

> Argh! A suggestion shot down.

It seemed like a good idea to me! ;-/

> Guess bill will need to figure out the
> OnBeforeSend event script, or your auto-correct suggestion.

The OnBeforeSending script has the problem according to Bernd of complexity.
The AutoCorrect feature worked instantly but doesn't (yet) handle ^M (CR).

>> One-liners could be inserted with auto-correction. This would probably
>> be the easiest approach.
>
> Did not know Dialog has an auto-correct feature. I knew it had an
> on-the-fly spellcheck feature.

Being new to Dialog I saw the spell checking menus in multiple places.
Sometimes it spell checked and sometimes it didn't spell check.

I finally figured out that you have to select the dictionary.
And you have to make sure you save the settings every time you visit them.

> I just looked there and, yep, there is
> an AutoCorrect option. Guess the user has to edit the dictionary file
> to add an auto-correct entry.

What worked the first time was I created an autocorrect entry for three
subsequent b's in a row (I typed them but it autocorrected me!). ;-/

When I type the space after the three b's it converts it to Regards,^Mbill
I haven't yet figured out how to get the control M character to work.

> Thanks for the info. Something I had not thought about, but don't
> remember using the Auto-Correct button before. That would also allow
> adding multiple entries to the dictionary to select from different
> content blocks at the "bad" string position (which are NOT signatures).
>
> This scheme does means other NNTP clients won't find the sigdash line to
> strip it from replies. Unless the respondent reviews and trims their
> message before submission, which is the typical scenario, the replies
> end up with all the pseudo-sig fluff.
>
> Of course, bill wanted "regards,\nbill" inserted into his message, but
> auto-correct would add a string within the current line instead of
> adding 2 lines. I take it \n (newline) cannot be included in the
> auto-correct string.

I just set "aaa" to "Regards,\nbill" in the "a.dy" dictionary & saved it.
Now when I type aaa nothing happens but when I type triple-b it does this.

Regards,^Mbill
--
What do you call a pencil sharpener that can't sharpen pencils?
Broken

Bernd Rose

unread,
Apr 22, 2021, 2:50:24 PM4/22/21
to
On Wed, 21st Apr 2021 23:30:57 +0200, bill wrote:

[Multisource Copy&Paste: Snipped process description, correct assumptions]
> Since you said the OnBeforeSending script fires up /after/ the message is
> already encoded, I was just hoping the OnBeforeSending script could convert
> the now unicode curly quotes to straight quotes in unicode.

At the time when OnBeforeSending fires up, the text will be encoded in about
any imaginable charset, but /not/ in 16-bit Unicode.

As you type (or Copy&Paste), 40tude Dialog continuously analyzes the text
buffer. It checks, which characters are contained in the text buffer and
compares them against the list of permitted charsets:
Settings -> General_Settings -> Charsets -> Use_best_matching_charset_out_of

It internally reduces the list of charsets to those, that have the /least/
number of (different) characters contained in the text buffer, which can not
be encoded. As long, as you leave Unicode-encoding charsets like UTF-7 and
UTF-8 in this list, the number of un-encodable characters should be zero.
From the remaining list of charsets, it picks the first.

When you watch the "Status" field in the upper area of the Compose Editor
window, you see the charset adjusting to the text you type. Until now,
my current message shows "us-ascii", because it contains no special chars,
at all. When I type the German umlaut ä, though, the charset listed in the
Status field immediately changes to "iso-8859-1" (aka Latin-1), which is
the first completely fitting charset in /my/ charset list. In your case,
a different charset might have been selected. If I insert curly quotation
marks („…“), the charset listed in Status changes again. (Now to UTF-8 in
my case.)

OnBeforeSending would have encountered "us-ascii" formatted text, when I
would have sent only the first couple of lines, "iso-8859-1" later on, and
finally UTF-8.

If the script contained a replacement rule from ä to ae, that is consistent
to "iso-8859-1", it would say: Replace byte code 0xE4 with ae. Consistent
to UTF-8, OTOH, it needs to replace the 2-byte code 0xC3 0xA4.

To avoid creating garbage by the replacements, OnBeforeSending would need
to detect the current charset /and/ have replacement rules for every charset
not explicitly disabled. Moreover, the script code would need to detect and
spare all header lines and any encoded attachment of the message.

One solution for the charset detection problem would be, to disable all
but one charset (from the list of permitted charsets). If you ensure, that
you always type plain characters from the range of the lower 7-bit ASCII
characters, this would be fine. But extremely unlikely. Therefore, the
fixed charset would need to be ready for virtually any character. This
just leaves UTF-7 and UTF-8. (Both have their own problems when used in
40tude Dialog with very high Unicode character planes. - But that's a
different story and solvable with a set of specific scripts.)

But if you set UTF-7 or UTF-8 as your only permitted charset, you post
most of your messages with unnecessary overhead. This is - historically -
massively frowned upon and will get you loads of "friendly suggestions"
to configure your Newsreader in a more appropriate way.

Apart from such hints, you'd still need to set up all those replacement
rules. To make things worse, both UTF-7 and UTF-8 are variable wide
character encoding schemes. Your replacement rules would not only need
to replace sometimes one, sometimes more bytes for a single character.
The replacement function would need to evaluate the whole text stream
to not mix up multi-byte position start points.

I strongly suggest to leave this idea be...

Bernd

bill

unread,
Apr 22, 2021, 3:13:16 PM4/22/21
to
On Thu, 22 Apr 2021 20:50:23 +0200, Bernd Rose wrote:

> At the time when OnBeforeSending fires up, the text will be encoded in about
> any imaginable charset, but /not/ in 16-bit Unicode.

Oh my. OK. That's my fault for not understanding that key complication!
I apologize that this is all very confusing to me.
It just goes to prove I'm way out of my league and I need to let it rest.

> As you type (or Copy&Paste), 40tude Dialog continuously analyzes the text
> buffer. It checks, which characters are contained in the text buffer and
> compares them against the list of permitted charsets:
> Settings -> General_Settings -> Charsets -> Use_best_matching_charset_out_of

Oh. I see. I think. OK. That's why it's complicated I guess.

The character set in Dialog's editor can keep changing as I paste from
various web sites (depending on what's used by those various web sites).

> It internally reduces the list of charsets to those, that have the /least/
> number of (different) characters contained in the text buffer, which can not
> be encoded. As long, as you leave Unicode-encoding charsets like UTF-7 and
> UTF-8 in this list, the number of un-encodable characters should be zero.
> From the remaining list of charsets, it picks the first.

Interesting that it picks the first out of the remainders.
Nice to know.

> When you watch the "Status" field in the upper area of the Compose Editor
> window, you see the charset adjusting to the text you type. Until now,
> my current message shows "us-ascii", because it contains no special chars,
> at all.

I had not even noticed that "Status" field just below the Subject,
Newsgroup, and Email to headers! Thanks for pointing that out.

Mine says "Not yet sent (Charset utf-8)" at this very instant.

> In your case, a different charset might have been selected.

Thanks for explaining that it depends on what is in my list.
And in what order.

I just removed all your curly quotes and the Status changed instantly to
"Not yet sent (Charset iso8859-1)" as you implied it would.

I removed just now the German characters you typed and the Status field
instantly changed to "Not yet sent (Charset us-ascii)" (as you said it
would).

> To avoid creating garbage by the replacements, OnBeforeSending would need
> to detect the current charset /and/ have replacement rules for every charset
> not explicitly disabled.

Yikes. I get it now.

I had not realized the Dialog editor character set kept changing depending
on the characters that were in the actual message (and further depending on
what was available in the encoding list and even further what order that
list was in).

You're right. It's way out of my league for sure!

> Moreover, the script code would need to detect and
> spare all header lines and any encoded attachment of the message.

Aurgh. Even worse. I see. It gets more complex by the minute. :-0

> One solution for the charset detection problem would be, to disable all
> but one charset (from the list of permitted charsets). If you ensure, that
> you always type plain characters from the range of the lower 7-bit ASCII
> characters, this would be fine. But extremely unlikely.

Hmmmmmmm... I do NOT need fancy characters.
I only need what I can type on a standard keyboard.
I wonder if that might work for me?

> Therefore, the
> fixed charset would need to be ready for virtually any character. This
> just leaves UTF-7 and UTF-8. (Both have their own problems when used in
> 40tude Dialog with very high Unicode character planes. But that's a
> different story and solvable with a set of specific scripts.)

I don't know what a "character plane" is but I could get away with just the
English alphabet plus basic punctuation.

> But if you set UTF-7 or UTF-8 as your only permitted charset, you post
> most of your messages with unnecessary overhead. This is - historically -
> massively frowned upon and will get you loads of "friendly suggestions"
> to configure your Newsreader in a more appropriate way.

Oops. Oh well. There goes that idea. ;-/

> Apart from such hints, you'd still need to set up all those replacement
> rules. To make things worse, both UTF-7 and UTF-8 are variable wide
> character encoding schemes. Your replacement rules would not only need
> to replace sometimes one, sometimes more bytes for a single character.
> The replacement function would need to evaluate the whole text stream
> to not mix up multi-byte position start points.

Ayayyai. I see. It's too complex for me.
Way too complex for me.

There's no way it would be worth the effort.
Even if I knew how to program.

> I strongly suggest to leave this idea be...

Wow. Thank you for that detailed explanation.
I strongly agree with you.

I learned a lot about how Dialog works (didn't even know about that Status)
where it's sending this (so far) as "Not yet sent (Charset us-ascii)" and
I'll leave it at that.

Let's drop this train of thought.
Thanks for all your patient advice (I accept everything you said!)

Regards,
bill
--
There were too many pencils that they made a whole state.
It was named Pencilvania.

Bernd Rose

unread,
Apr 22, 2021, 4:13:45 PM4/22/21
to
On Thu, 22nd Apr 2021 15:12:39 +0200, bill wrote:

[40tude text autocorrection]
> What worked the first time was I created an autocorrect entry for three
> subsequent b's in a row (I typed them but it autocorrected me!). ;-/
>
> When I type the space after the three b's it converts it to Regards,^Mbill
> I haven't yet figured out how to get the control M character to work.

While typing, any text is copied into the 16-bit Unicode formatted text
buffer I mentioned in an earlier post. For the copy function and the text
buffer, itself, ^M are just 2 simple characters (^ and M). There's no
interpreter (function) involved, that might interpret ^M as a control
character.

>> Of course, bill wanted "regards,\nbill" inserted into his message, but
>> auto-correct would add a string within the current line instead of
>> adding 2 lines. I take it \n (newline) cannot be included in the
>> auto-correct string.
>
> I just set "aaa" to "Regards,\nbill" in the "a.dy" dictionary & saved it.
> Now when I type aaa nothing happens

That's not because of the \n, but because some of your active dictionaries
accepts aaa as valid word. Only strings, that are not valid words in any
of your currently active dictionaries can be used as shortcuts for your
autocorrection lists. Best, first to try a string inside the Compose
editor window. If the string gets a red underlining (= spelling error or
unknown word), it is usable as autocorrection shortcut.

Back to "Regards,\nbill": Regular expressions aren't evaluated by the
copy function or inside the text buffer, either. (As VanguardLH already
suggested.) If you'd have used a working autocorrection shortcut, the
outcome would have been just: Regards,\nbill

As long as you have auto-wrapping of long lines turned on and leave the
"Wrap after XX characters" on a fixed value, you can trick autocorrect
into some virtual multi-line-support, though. Just type enough space
characters between "Regards," and "Bill" to trigger the wrapping. ;-)

This may get you unfriendly replies, though, if people start to notice,
that you bloat all your messages with lots of unnecessary space chars
just to save a couple of keystrokes. So, maybe, you apply this approach
only, when you find a longer first-line text than "Regards,"... ;-)

Bernd

bill

unread,
Apr 22, 2021, 8:04:25 PM4/22/21
to
On Thu, 22 Apr 2021 22:13:44 +0200, Bernd Rose wrote:

> ^M are just 2 simple characters (^ and M).
> There's no interpreter (function) involved

Thanks. That explains what I'm seeing.
I tried pasting a control M copied into vim but even that didn't work.
I will give up trying. ;-/

> That's not because of the \n, but because some of your active dictionaries
> accepts aaa as valid word.

Oh. Makes sense. Thanks.

> Best, first to try a string inside the Compose editor window.

Makes sense. Good hint. Dialog is powerful and has tricks everywhere. ;-/

> Back to "Regards,\nbill": Regular expressions aren't evaluated by the
> copy function or inside the text buffer, either.

OK. Makes sense. No interpreter. Thanks.

>
> As long as you have auto-wrapping of long lines turned on and leave the
> "Wrap after XX characters" on a fixed value, you can trick autocorrect
> into some virtual multi-line-support, though. Just type enough space
> characters between "Regards," and "Bill" to trigger the wrapping. ;-)

Wow. Yet another trick. Makes sense though. Let's try it.
Oooooooooh! Worked PERFECTLY the very first time I tested it!

It doesn't jump to the next line so I have to type the triple-c at a
newline. And it seems to be case sensitive as CCC doesn't trigger it.

I tested triple-c as being defined as:
Regards,
bill

I gave it a long string of spaces and it worked fantastically.
First time. I must have guessed perfectly by accident at the number.

Now I have to go back and count the spaces as the autowrap is whatever the
default is set to. Using vim I converted spaces to x's to get this:

Regards,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbill

Counting by hand that's 83 spaces plus the 8 characters in "Regards," for a
total of 91 characters which must be the line wrap point I guess.

> This may get you unfriendly replies, though, if people start to notice,
> that you bloat all your messages with lots of unnecessary space chars
> just to save a couple of keystrokes. So, maybe, you apply this approach
> only, when you find a longer first-line text than "Regards,"... ;-)

Well, I'm testing it out now... (the triple-c has to be on its own line).

Regards,
bill

Bernd Rose

unread,
Apr 22, 2021, 11:53:44 PM4/22/21
to
On Fri, 23rd Apr 2021 02:04:27 +0200, bill wrote:

[Multi-line autocorrect with padding spaces]
> I gave it a long string of spaces and it worked fantastically.
> First time. I must have guessed perfectly by accident at the number.
>
> Now I have to go back and count the spaces as the autowrap is whatever the
> default is set to. Using vim I converted spaces to x's to get this:
>
> Regards,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxbill
>
> Counting by hand that's 83 spaces plus the 8 characters in "Regards," for a
> total of 91 characters which must be the line wrap point I guess.
>
>> This may get you unfriendly replies, though, if people start to notice,
>> that you bloat all your messages with lots of unnecessary space chars
>> just to save a couple of keystrokes. So, maybe, you apply this approach
>> only, when you find a longer first-line text than "Regards,"... ;-)
>
> Well, I'm testing it out now... (the triple-c has to be on its own line).
>
> Regards,
> bill

Two effects from one omission I remembered yesterday after shutting down
my PC: Auto-wrap in 40tude Dialog does not wrap into leading spaces. The
next non-whitespace character encountered after the wrapping margin will
be the first character on the next line. What's more: trailing spaces left
over from auto-wrap are automatically deleted by 40tude Dialog before
sending. (As you can see on your salutation above.) - So, there actually
is no need to prolong your "Regards," to minimize the number of trailing
spaces. ;-)

Bernd

bill

unread,
Apr 23, 2021, 10:57:46 AM4/23/21
to
On Fri, 23 Apr 2021 05:53:42 +0200, Bernd Rose wrote:

> there actually is no need to prolong your "Regards,"
> to minimize the number of trailing spaces. ;-)

Every post you tell me neat tricks that Dialog has that I didn't know!

Interestingly I WAS wondering what happened to the 83 blanks AFTER I sent
the message and looked to see how obnoxious it would be (as per your prior
warning).

And I WAS wondering how I could have guessed perfectly at the number of
spaces since I had expected to run a few trial and error tests before I got
the number of spaces down right.

It turns out both problems were already solved for me by Dialog!
-1- Dialog was smart in removing all the padding spaces before sending
-2- Therefore it doesn't matter how many (as long as it exceeds wrap count)

Another perfect solution! (I'm gonna type "CCC" (lowercase) now...)

Regards,
bill
--
When it comes to sharpening pencils...
There's never a dull moment.

Bernd Rose

unread,
Apr 23, 2021, 1:16:04 PM4/23/21
to
On Fri, 23rd Apr 2021 16:57:51 +0200, bill wrote:

> It turns out both problems were already solved for me by Dialog!
> -1- Dialog was smart in removing all the padding spaces before sending
> -2- Therefore it doesn't matter how many (as long as it exceeds wrap count)

You can expand the usage case on this thought: You wrote, you need to go
to the start of a line to have the salutation expanding on separate lines.
That's not necessarily the case. You can also add a whole bunch of spaces
/prior/ "Regards,". If, afterwards, you type the autoreplace shortcut at
the end of a non-empty line, this will insert "Regards," at the start of
the /next/ line. If, OTOH, the autoreplace shortcut is inserted at the
beginning of a line, this will insert an additional empty line above the
line containing "Regards,".

You can't insert two line wraps in a row, though. It would be possible,
to separate two blocks of spaces (each longer than line wrap) with a
virtually invisible character using the Unicode charset. But that would
cause every single message you post to be encoded with UTF-7 or UTF-8.
(Which is really not advisable.) There are a few characters inside the
7-bit US-ASCII charset, that might seem acceptable at the beginning of
empty lines separating a greeting from the text body, though.
=> The characters +-=*.,~#% come in mind.

> Another perfect solution! (I'm gonna type "CCC" (lowercase) now...)

I'm still wondering, why "rb" doesn't work for you. It seems like the
perfect fit and works without problems on my system with English and
German dictionaries enabled. Did you add "rb" to a custom dictionary
sometime in past?

Bernd

bill

unread,
Apr 23, 2021, 6:37:06 PM4/23/21
to
On Fri, 23 Apr 2021 19:16:01 +0200, Bernd Rose wrote:

> You can also add a whole bunch of spaces
> /prior/ "Regards,". If, afterwards, you type the autoreplace shortcut at
> the end of a non-empty line, this will insert "Regards," at the start of
> the /next/ line.

That also worked (see salutation below done using that method!).
That's perfect!

> I'm still wondering, why "rb" doesn't work for you. It seems like the
> perfect fit and works without problems on my system with English and
> German dictionaries enabled. Did you add "rb" to a custom dictionary
> sometime in past?

I checked and didn't see "rb " but it's ok that it didn't work.
Everything else I tried from you did work so that's great progress.

I'm going to type the salutation command at the end of this line.
Regards,
bill

Bernd Rose

unread,
Apr 24, 2021, 3:12:34 AM4/24/21
to
On Sat, 24th Apr 2021 00:37:11 +0200, bill wrote:

> On Fri, 23 Apr 2021 19:16:01 +0200, Bernd Rose wrote:
>
>> You can also add a whole bunch of spaces
>> /prior/ "Regards,". If, afterwards, you type the autoreplace shortcut at
>> the end of a non-empty line, this will insert "Regards," at the start of
>> the /next/ line.
>
> That also worked (see salutation below done using that method!).
> That's perfect!
[...]
> I'm going to type the salutation command at the end of this line.
> Regards,
> bill...................................................................................................................................

I replaced spaces with dots for clarification: Seems my suggested method
has its limits when done multi-line. ;-)

The spaces will not be cited, though. (I manually needed to copy them back
into the message.) It's a question of weighting pros and cons, then.

Bernd

bill

unread,
Apr 24, 2021, 10:36:33 AM4/24/21
to
On Sat, 24 Apr 2021 09:12:32 +0200, Bernd Rose wrote:

>> Regards,
>> bill...................................................................................................................................
>
> I replaced spaces with dots for clarification: Seems my suggested method
> has its limits when done multi-line. ;-)
>
> The spaces will not be cited, though. (I manually needed to copy them back
> into the message.) It's a question of weighting pros and cons, then.

Well then...... Dialog isn't actually "perfect" (but only nearly so!). :-/

I love the flexibility of Dialog and the ability to do these nice things!

I now have what I needed which is an easy way to end the message nicely.
I'll type the CCC, lowercase, exactly after the bang (no spaces before).

THANK YOU!
Regards,
bill

Pancho Sanza

unread,
Apr 25, 2021, 7:10:31 PM4/25/21
to
Op Mon, 19 Apr 2021 03:18:44 +0200 schreef bill:

> But how do you set a sig in Dialog that doesn't add the dash dash space?

I guess your question has been answered to your satisfaction (I tried
to follow the thread but got lost in Dialog specific technicalities),
but nevertheless I still feel the uncontrollable need to add my 2
cents. Which means I would do it by applying a simple keyboard macro.

Record these key-strokes: <CTRL>-F -> Fill in "-- " (to search for) ->
<Enter> -> <Del> <Del> (to remove the .sig delimiter and its line) ->
<Alt-C -> "S" (to send now) or "e" (to send later), and that's it,
basically.

In the Good Old Days I even used keyboard macros to move text from the
newsreader editor to a Real Editor for some Serious Editing and vice
versa, but nowadays I can't be bothered with tricks like these
anymore.

Btw, I used (and still use) a 21 year old tiny program called Keyboard
Express for recurring tasks like these.

--
Pancho

Bernd Rose

unread,
Apr 26, 2021, 12:15:27 AM4/26/21
to
On Mon, 26th Apr 2021 01:10:29 +0200, Pancho Sanza wrote:

> Op Mon, 19 Apr 2021 03:18:44 +0200 schreef bill:
>
>> But how do you set a sig in Dialog that doesn't add the dash dash space?
>
> I guess your question has been answered to your satisfaction (I tried
> to follow the thread but got lost in Dialog specific technicalities),
> but nevertheless I still feel the uncontrollable need to add my 2
> cents. Which means I would do it by applying a simple keyboard macro.
>
> Record these key-strokes: <CTRL>-F -> Fill in "-- " (to search for) ->
> <Enter> -> <Del> <Del> (to remove the .sig delimiter and its line) ->
> <Alt-C -> "S" (to send now) or "e" (to send later), and that's it,
> basically.

40tude Dialog has no keyboard shortcut assigned to <Find...> inside the
Compose Editor window. First step for this approach would be, to assign
<Ctrl><F> (or whatever shortcut seems appropriate) to the find function.
Maybe, you did this in your 40tude Dialog instance a while ago?

Setting has to be done with Options -> Configure buttons/Shortcuts...
from the menu of a Compose Window, /not/ from main 40tude Dialog window.

Apart from this: 40tude Dialog Compose Editor <Find...> does not support
RegEx searches. -- Therefore, this macro may create undesirable results.
(Is herefore even a valid English word?) ;-)

Bernd
0 new messages