[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: email-style italics: MARKUP.PM



Robert:

One problem with MARKUP.PM that I see is that when the same character (_, *) is used both as a start tag and end tag, you can have equal numbers of tags and have troublesome errors as a result.

Thus the intended (where "usable" and "modern blogs" have unpaired _ ):

There was if I recall a _XyWrite_ filter for Quark _3,_ but I don't think it's _usable in any later versions. But it would not have dealt with this email method of designating _italics_ and *bold* -- which I think is still needed for _newsgroups_ but not for _modern blogs where html labels like , are available.

becomes:

There was if I recall a ≪MDIT≫XyWrite≪MDNM≫ filter for Quark ≪MDIT≫3,≪MDNM≫ but I don't think it's ≪MDIT≫usable in any later versions. But it would not have dealt with this email method of designating ≪MDNM≫italics≪MDIT≫ and *bold* -- which I think is still needed for ≪MDNM≫newsgroups≪MDIT≫ but not for ≪MDNM≫modern blogs where html labels like , are available.

The user can avoid this by verifying each change, but all the changes after the word "usable" in the above example will be incorrect. If one could suspend the conversion and fix the pairing, then resume correcting, that would be more useful than aborting the program, fixing the problem, and then resuming the program (I know this leaves a singleton _ uncorrected farther along in the email, but presumably this same correction process could be used to fix that instance).

A second problem involves email addresses and the like that include underscores:

mailto:this_user@xxxxxxxx

These will always be correct, and if included in an email will always throw the count of "_" characters off, forcing the program to abort.

The ability to "convert this pair, correct this pair, or skip this  _ and move to next  _" might solve these two issues, and eliminate the need to abort if the character count for _ or * pairs is off.

And for poorly formed markup like _ and *, the program should always be used in a verify-changes mode.

Paul Lagasse

Robert Holmgren wrote:
** Reply to message from Bill Troop mailto:billtroop@xxxxxxxx on Sat, 09 Aug 2008 19:23:01 +0100 Try this, MARKUP.PM: Import the XPLCODE below into XyWrite, DECODE, SAve as a freestanding program MARKUP.PM, and then RUN MARKUP.PM against one of your Emails... It converts ANY left-right pair of ON/OFF markups (like *-*, _-_, /-\, -, «MDBO»-«MDNM, [I]-[P], etc.) to ANY new pair of ON/OFF markups. XyWrite MoDes, Quark markups, HTML, web forum, whatever -- any kind of markup. For that matter, it can also change Ascii quotes to left and right quotes, or v.v. You have to enter all four markups (current On/Off, replacement On/Off) in response to queries by the program, but the trade-off is total flexibility. Warns and aborts before processing if current pairs are unbalanced -- or, if using the same character(s) for both On and Off e.g. "*", checks that there are an even number of those characters... You can choose to Verify each pair change, or just barge head globally with one keystroke (Change Invisible). Abort at any PRompt with Escape. There's really no way to do this from the XyWrite command line manually -- you have to use a program to check the balance and keep track of the constantly alternating On/Off toggle. The only *requirement* is if you want to use guillemets in a markup, e.g. «MDIT»: you must have direct, separate KBD assignments for the left and right guillemets (none of that 1-7-4, 1-7-5 keying on the NumberPad!). The best place to put guillemets is on, say, CTRL-< and CTRL->, using **three byte codes** in the KBD file, like this: XPLeNCODE v2.0 b-gin [UNTITLED] 51=[255+065+069][cr|lf]52=[255+065+070][cr|lf] -nd XPLeNCODE You can also get this program in native form at XyWWWeb: http://users.datarealm.com/xywwweb/MARKUP.ZIP R. ---------------------------------------- XPLeNCODE v2.0 b-gin MARKUP.PM ;*; MARKUP.PM Replace current markup pairs with new pairs RJH 8/ 10/08[cr|lf];*;[cr|lf]{<}SV01,{<}A{>}{>}{<}SV96,A{>}{<}XS01,96, 02,,03{>}{<}SU04,{<}SV05,{>}{<}SV01,{>}{<}LBA{>}{<}SX96,{<}IS96{> }+{<}IS05{>}{>}{<}GT06{>}{<}IF{<}VA$KC{>}<>28&{<}VA$KC{>}<>10 4{>}{<}SX07,{<}IS05{>}{>}{<}IF{<}IS05{>}=={<}IS02{>}{>}{<}SV0 7,[w<]{>}{<}EI{>}{<}IF{<}IS05{>}=={<}IS03{>}{>}{<}SV07,[w>]{> }{<}EI{>}{<}SX01,{<}IS01{>}+{<}IS07{>}{>}{<}GLA{>}{<}EI{>}{<} IF{<}VA|01{>}<1{>}{<}PRAbort{>}{<}EX1{>}{<}EI{>}{>}{<}SU06,{< }IF{<}VA|96{>}>0{>}{<}PR@96{>}{<}EI{>}{<}LBB{>}{<}SX05,{<}RK{ {062}}{>}{<}IF"[$M_]"{240}{<}IS05{>}{>}{<}GLB{>}{<}EI{>}{<}IF{<}V A$KC{>}<2{>}{<}PRAbort{>}{<}EX1{>}{<}EI{>}{>};*;[cr|lf]{<}SV9 6,CURRENT left-side START markup, e.g. * _ // [255+065+06 9]MDIT[255+065+070] etc: {>}{<}GT04{>}{<}SX08,{<}IS01{>}{>};* ;[cr|lf]{<}SV96,CURRENT right-side STOP markup, e.g. * _{032} / \\ [255+065+069]MDNM[255+065+070] etc: {>}{<}GT04{>}{<}SX09 ,{<}IS01{>}{>};*;[cr|lf]{<}SV96,NEW left-side START markup}{<}GT04 {>}{<}SX10,{<}IS01{>}{>};*;[cr|lf]{<}SV96,NEW right-side STOP markup, e.g. * _ / \\ [255+065+069]MDNM[255+065+070] etc : {>}{<}GT04{>}{<}SX11,{<}IS01{>}{>};*;[cr|lf][XP_]{<}SX50,{< }CP{>}{>}[BX_]es 1[Q2_][BX_]ci {252}{<}PV08{>}{252}{<}PV08{>} {252}[Q2_]{<}SX96,{<}VA$WC{>}{>}{<}SX96,{<}PV96{>}{>}[BX_]ci{032} {252}{<}PV09{>}{252}{<}PV09{>}{252}[Q2_]{<}SX02,{<}VA$WC{>}{> }{<}SX02,{<}PV02{>}{>}{<}IF{<}PV96{>}<1{>}{<}LBC{>}{<}SX96,"S tring """+{<}IS08{>}+""" not found - Abort"{>}{<}LBD{>}{<}PR@ 96{>}{<}EX{>}{<}EI{>}{<}IF{<}PV02{>}<1{>}{<}SX08,{<}IS09{>}{> }{<}GLC{>}{<}EI{>}{<}IF{<}PV96{>}<>{<}PV02{>}{>} {<}LBE{>}{<}SX96,"Uneven|Unbalanced numbers ("+{<}IS96{>}+"/" +{<}IS02{>}+") of """+{<}IS08{>}+"/"+{<}IS09{>}+""" markups!{032} Abort"{>}{<}GLD{>}{<}EI{>}{<}IF{<}IS08{>}=={<}IS09{>}{>}{<}SX 12,{<}PV02{>}/2{>}{<}IF{<}VA@12{>}{240}".5"{>}{<}GLE{>}{<}EI{ {062}}{<}EI{>}{<}SX12,1{>}{<}SV96,Verify each pair change? Y|n|Es c{>}{<}GT06{>}{<}PR {>}{<}IF"Nn"{240}{<}IS05{>}{>}{<}SX12,0{> }{<}EI{>}{<}SX01,0{>}{<}SV96,Change pair? Y|n|Esc{>}{<}LBF{>} {<}IF{<}PV01{>}<{<}PV02{>}{>}{<}SX01,{<}PV01{>}+1{>}{<}IF{<}P V12{>}>0{>}[BX_]se/f {252}{<}PV08{>}{252}[Q2_]{<}GT06{>}{<}IF "Nn"{240}{<}IS05{>}{>}[CR_][BX_]se {252}{<}PV09{>}{252}[Q2_]{ <}GLF{>}{<}EI{>}{<}EI{>}[BX_]ch/1 {252}{<}PV08{>}{252}{<}PV10 {>}{252}[Q2_][BX_]ch/1 {252}{<}PV09{>}{252}{<}PV11{>}{252}[Q2 _]{<}GLF{>}{<}EI{>}[BX_]jmp PV50{>}[Q2_]{<}PRDone{>}{<}EX{>}[ cr|lf] -nd XPLeNCODE ----------------------------- Robert Holmgren mailto:holmgren@xxxxxxxx -----------------------------