[dokuwiki] Re: Bug in spellchecker
- From: Matthias Grimm <matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx>
- To: dokuwiki@xxxxxxxxxxxxx
- Date: Fri, 10 Jun 2005 22:35:03 +0200
On Fri, 10 Jun 2005 18:05:04 +0200
Andreas Gohr <andi@xxxxxxxxxxxxxx> wrote:
> No not at all. Can you try to change the header back in
> spellchekcer.php to text/html from text/plain - i don't think
> this will help but I found some reference were this was suggested...
This didn't change anything.
The problem is your new line by line input loop in inc/aspell.php line
185ff. You read a line and check it for EOL because this tells you
that the current line is completely processed. The input buffer is 8192
Bytes wide and after reading the last complete line out of it (which is
not a single EOL) there are some characters left. The next fgets() call
neither can't retrieve a complete line nor 8192 characters (your specified
length). So fgets() waits for further input and doesn't return -> bang!
Aspell on the other side waits for someone reading the last bytes from
the buffer -> deadlock.
I repaired this loop and the checker ran through, but the output is
still corrupted. I think you searched in the wrong direction and your
last changes weren't necessary, because we had this state already. I'm
sorry to say this.
I suppose the problem is the aspell output parser. I convinced the
spellchecker to save it't output to disk (file is attached). It is
complete and contains the whole file, so aspell worked correctly and
handled all data over to PHP at the end. The next member in the
chain is the output parser.
A second hint: You parsed lines beginning with '&' and '#' but no lines
beginning with '?'. As you could see in the output the last line of the
wiki page I sent to you is a line beginning with '?' and it's the only
one. This is the first line with rubbish in it, starting from the bottom
of the text (As I got it right the text is parsed bottom-up).
The following snippet is a corrupt link to a misspelled word:
---- snip ----
.<a href="java%3Ca%20href=" javascript:ajax_spell.suggest(17,'reichen=""
folge','reichen-folge','reihenfolge','zeichenfolge="" class="spell_error"
id="spell_error17">Reichenfolge</a>spell.suggest(16,'UN','um','UNO','Uni','und','uns','in')"
class="spell_error" id="spell_error16">un
---- snip ----
I will see if I can go to the bottom tomorrow.
Best Regards
Matthias
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.3-20050121)
& ESD 5 8: SED, ES, EID, ESC, LSD
& ESD 5 8: SED, ES, EID, ESC, LSD
& ESD 5 42: SED, ES, EID, ESC, LSD
& daÃ? 7 37: saÃ?, aÃ?, da, das, DAX, dar, maÃ?
& usr 7 29: User, US, USS, Uhr, USA, USB, usw
& share 35 33: schare, scharre, Sphäre, Stare, spare, Haare, Schären,
Schärpe, scharen, scharfe, scharte, schaure, schäkre, schärfe, sähe, �hre,
Schar, Särge, harre, saure, säure, Hoare, Bahre, Fähre, Jahre, fahre,
jähre, nähre, sahne, wahre, währe, Charge, Charme, Sparre, starre
& ESD 5 39: SED, ES, EID, ESC, LSD
& path 34 5: Patch, Pate, Pacht, Pakt, Part, späht, AT, mäht, naht, näht,
saht, bat, Paten, Pater, patzt, platt, Pakts, spät, PTT, Pan, Put, Rat, hat,
rät, sät, tat, Bach, GATT, Pass, Pütt, Watt, matt, paar, satt
# Devicedata 10
& path 34 5: Patch, Pate, Pacht, Pakt, Part, späht, AT, mäht, naht, näht,
saht, bat, Paten, Pater, patzt, platt, Pakts, spät, PTT, Pan, Put, Rat, hat,
rät, sät, tat, Bach, GATT, Pass, Pütt, Watt, matt, paar, satt
# Testdata 10
& path 34 5: Patch, Pate, Pacht, Pakt, Part, späht, AT, mäht, naht, näht,
saht, bat, Paten, Pater, patzt, platt, Pakts, spät, PTT, Pan, Put, Rat, hat,
rät, sät, tat, Bach, GATT, Pass, Pütt, Watt, matt, paar, satt
# Plugdata 10
& Testablaüfe 5 10: Testabläufe, Testablaufes, Testabläufen, Testablauf,
Testablaufs
# Systemdatenbank 23
# Prüfablaufs 26
& snapshot 2 5: schnappst, Schnappschuss
& Datenflu� 4 11: Datenfluss, Datenflüsse, Datenflüssen, Tatenlos
& nehen 32 38: nehmen, Ehen, nahen, neben, neuen, nähen, Rehen, Zehen, gehen,
sehen, wehen, nehme, nenne, Neffen, Nehmer, Netzen, mähen, mühen, nahem,
necken, netten, neuem, nahmen, nähern, nähmen, Neon, nein, neun, Feen, Seen,
zehn, nehmt
& mu� 7 58: Mu�e, Fu�, Mut, Mux, Ru�, ma�, sü�
& sageb 6 35: sage, säge, Zagreb, Sache, Säcke, sacke
& mu� 7 17: Mu�e, Fu�, Mut, Mux, Ru�, ma�, sü�
& zurücklie�en 5 33: zurück lie�en, zurück-lie�en, zurückliegen,
zurückwiesen, zurücklassen
& Hauptmodule 2 16: Hauptmodul, Hauptmoduls
& code 9 5: Code, Codec, Codes, Codex, Ode, öde, Mode, Tode, rode
& struct 13 45: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
& Testdaten 7 18: Testeten, Messdaten, Gestaden, Bestatten, Gestatten,
Seestädten, Testgeräten
& struct 13 45: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
& ESD 5 1: SED, ES, EID, ESC, LSD
& Tester 14 5: Test er, Test-er, Teste, Nester, Taster, Bester, Fester, Testen,
Theater, Test, Toaster, Ehester, �dester, Düster
& bool 5 45: Pool, Boom, Boot, Tool, cool
& ESD 5 18: SED, ES, EID, ESC, LSD
& bool 5 45: Pool, Boom, Boot, Tool, cool
# Fahrfreigabe 18
& bool 5 45: Pool, Boom, Boot, Tool, cool
& bool 5 45: Pool, Boom, Boot, Tool, cool
& bool 5 45: Pool, Boom, Boot, Tool, cool
& RLC 9 1: RFC, RTC, ELCH, RECK, ROCK, RUCK, ROCH, ULK, REG
& MeÃ?wert 6 17: Messwert, Mehrwert, Messwerte, Messwerts, Nennwert, Messwerten
& float 12 44: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
& MeÃ?wert 6 18: Messwert, Mehrwert, Messwerte, Messwerts, Nennwert, Messwerten
& float 12 45: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
& string 7 45: Strang, spring, streng, strich, Strunk, trink, Strick
& MeÃ?frequenz 1 18: Netzfrequenz
& float 12 45: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
& bool 5 45: Pool, Boom, Boot, Tool, cool
& MeÃ?spannung 5 18: Messspannung, Netzspannung, Bespannung, Entspannung,
Nennspannung
& AC 17 30: ACH, CA, ABC, ACL, AG, MAC, AT, AR, FC, PC, WC, AB, AD, AM, AN, AU,
AÃ?
& float 12 45: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
& MeÃ?spannung 5 18: Messspannung, Netzspannung, Bespannung, Entspannung,
Nennspannung
& DC 11 30: CD, FC, CDC, DB, DR, PC, WC, DA, DE, DM, DU
& float 12 45: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
# Bewegungsbefehle 18
& struct 13 45: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
# Statusinformationen 18
& string 7 45: Strang, spring, streng, strich, Strunk, trink, Strick
& code 9 6: Code, Codec, Codes, Codex, Ode, öde, Mode, Tode, rode
& Ausgangsvariablen 2 36: Ausgangs variablen, Ausgangs-variablen
& daÃ? 7 1: saÃ?, aÃ?, da, das, DAX, dar, maÃ?
# Komandomodell 30
& müsssen 16 1: müssen, N�SSEn, mussten, müssten, Massen, missen, müsse,
Museen, Bussen, F�SsEn, G�SSEn, Russen, küssen, messen, Moosen, Mützen
& allokierte 3 19: allozierte, blockierte, logierte
& Anforderer 3 38: Anfordere, Anfordert, Anfordern
# Verteilsystem 5
& Schachtsystem 1 41: Schaltsystem
# Ausgangsgrö�en 19
& Anforderer 3 38: Anfordere, Anfordert, Anfordern
& Anforder 3 68: Anfordere, Anfordern, Anfordert
# Antwortfelder 13
# Informationsliste 20
& code 9 5: Code, Codec, Codes, Codex, Ode, öde, Mode, Tode, rode
# RLCVALUES 1
& float 12 45: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
# RLCCONFIG 1
& float 12 47: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
& Vac 30 57: Vag, Mac, Bach, Back, VGA, Ach, Fach, Wach, Vage, Dach, Fax, Jack,
Lack, Sack, Lach, Mach, Nach, AG, FC, Fa, WC, FAQ, FAZ, Tag, Wal, Lag, Mag,
Sag, War, Was
& Vdc 3 62: CDC, VDE, VDI
& bool 5 47: Pool, Boom, Boot, Tool, cool
& Schaltb 9 53: Schalt, Schält, Schalte, Schälte, Schalten, Schälten,
Schallt, Schalter, Schallte
# RLCID 1
& string 7 47: Strang, spring, streng, strich, Strunk, trink, Strick
# ESDFAN 1
& bool 5 27: Pool, Boom, Boot, Tool, cool
& on 14 33: in, ob, UN, Bon, Don, Ion, Ton, Xon, von, oh, OS, an, �l, öd
& off 5 36: ff, Xoff, soff, ORF, oft
& bool 5 47: Pool, Boom, Boot, Tool, cool
& ESDTRIGGER 3 1: GESTRIGER, EITRIGER, STRICKER
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ESDPOLARITY 1
& bool 5 27: Pool, Boom, Boot, Tool, cool
& pos 14 33: PPS, Pols, Pose, Post, OS, Po, bös, Epos, PDS, DOS, Pol, Pop,
SOS, los
& neg 9 37: eng, EG, NEC, AEG, New, leg, neu, reg, weg
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ESDVOLTAGE 1
& float 12 27: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ESDDISCHARGE 1
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTDRIVEGO 1
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTMOVELIN 1
& struct 13 27: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
# robotpos 34
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTMOVEPTP 1
& struct 13 27: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
# robotpos 34
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTVELOCITY 1
& float 12 27: floht, flott, flöht, flogt, flö�t, flogst, flohst, flosst,
flöhst, flocht, flockt, Flut
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTTOOL 1
& int 7 27: Inst, in, eint, ITT, Ing, ins, ist
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTTOOLTURN 1
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTMOVESTART 1
& bool 5 47: Pool, Boom, Boot, Tool, cool
# ROBOTMOVEHOME 1
& bool 5 47: Pool, Boom, Boot, Tool, cool
# DBGETPIN 1
& int 7 27: Inst, in, eint, ITT, Ing, ins, ist
& plug 5 32: Pflug, Lug, Flug, klug, plus
& pin 13 38: Pin, Pein, Pins, in, pi, bin, Spin, hin, DIN, Pan, Pik, ein, min
& struct 13 47: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
& pin 13 54: Pin, Pein, Pins, in, pi, bin, Spin, hin, DIN, Pan, Pik, ein, min
# DBGETPLUG 1
& int 7 27: Inst, in, eint, ITT, Ing, ins, ist
& plug 5 32: Pflug, Lug, Flug, klug, plus
& struct 13 47: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
& plug 5 54: Pflug, Lug, Flug, klug, plus
# DBGETECU 1
& struct 13 47: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
& ecu 5 54: Ecu, Ecus, EU, eck, EWU
# DBGETTEST 1
& struct 13 47: stricht, strickt, staucht, streckt, strikt, trugt, trügt,
druckt, drückt, strömt, stockt, strotzt, trogt
& esdtest 28 54: Endtest, testest, endest, erdest, ästest, ecktest, ehrtest,
erstehst, hetztest, stehst, heftest, bestehst, gestehst, hastest, setztest,
hasstest, hegtest, hextest, hisstest, hustest, heiztest, petztest, wetztest,
hechtest, hecktest, hehltest, helltest, hemmtest
& code 9 6: Code, Codec, Codes, Codex, Ode, öde, Mode, Tode, rode
& abgebruchen 8 23: abgebrochen, abgebrühten, angebrochen, abgebrühtem,
abgebrochenem, abgebrochenen, Hängebrücken, abgesprochen
& mu� 7 42: Mu�e, Fu�, Mut, Mux, Ru�, ma�, sü�
# CmdRequest 44
# CmdRequests 30
& toplevel 1 50: Doppelheft
# CmdRequest 59
& Hauptschleife 3 1: Haupt schleife, Haupt-schleife, Abschleife
# CmdRequest 43
# CmdRequest 23
& aktuele 7 60: aktuelle, aktuell, aktuelles, aktuellem, aktuellen, aktueller,
aktuellere
& SUCCESS 9 68: FUCHSES, LUCHSES, WUCHSES, SÃ?Ã?ES, SOCKETS, JUXES, SEXES,
SOGES, ZUGES
& Request 5 7: Regnest, Regtest, Rechnest, Rechtest, Recktest
& Zeitüberwacht 2 20: Zeit überwacht, Zeit-überwacht
# CmdRequest 5
& gelöschen 16 1: gelöschten, gelöschtem, gelosten, gelösten, gelöscht,
Gebüschen, gelogen, geflossen, gelostem, gelotsten, gelöstem, Glossen,
gelesen, geloben, gelüsten, keuschen
& Request 5 11: Regnest, Regtest, Rechnest, Rechtest, Recktest
# TIMEOUT 24
# CmdRequest 63
& Struckturen 4 74: Strukturen, Strukturell, Strukturellen, Strukturellem
# CmdRequest 39
& ERROR 14 50: TERROR, ERKOR, ERHÃ?RE, ERHÃ?RT, EROS, FROR, HERVOR, HORROR,
ERHOB, ROHR, SEHROHR, HÃ?RROHR, ERFUHR, RUHR
# CmdRequests 13
& ERROR 14 40: TERROR, ERKOR, ERHÃ?RE, ERHÃ?RT, EROS, FROR, HERVOR, HORROR,
ERHOB, ROHR, SEHROHR, HÃ?RROHR, ERFUHR, RUHR
# CmdRequests 63
& Request 5 24: Regnest, Regtest, Rechnest, Rechtest, Recktest
& sodaÃ? 4 64: Sodas, Soda, sodass, sodann
& toplevel 1 11: Doppelheft
# CmdRequest 20
# CmdRequest 36
& obertsen 9 55: obersten, oberstem, oberen, oberst, übera�en, oberem, Obers,
Oberhausen, überessen
# CmdRequests 75
& Reichenfolge 4 27: Reichen folge, Reichen-folge, Reihenfolge, Zeichenfolge
& un 14 53: UN, um, UNO, Uni, und, uns, in, Run, SUN, nun, tun, US, UV, an
? Fehlerfreiheit 0 69: Fehlerfrei+heit
& Einflu� 6 28: Einfluss, Einflö�e, Einflö�t, Einfloss, Einflüsse,
Einflö�en
# CmdRequest 25
# CmdRequests 40
# CmdRequest 49
& code 9 5: Code, Codec, Codes, Codex, Ode, öde, Mode, Tode, rode
# TopRequest 10
# TopRequest 28
# TopRequest 46
# SubRequest 7
# SubRequest 22
# SubRequest 7
& code 9 6: Code, Codec, Codes, Codex, Ode, öde, Mode, Tode, rode
# SubRequest 7
& un 14 28: UN, um, UNO, Uni, und, uns, in, Run, SUN, nun, tun, US, UV, an
# TopRequest 36
- Follow-Ups:
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- References:
- [dokuwiki] Bug in spellchecker
- From: Jakob Jensen
- [dokuwiki] Re: Bug in spellchecker
- From: Matthias Grimm
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- [dokuwiki] Re: Bug in spellchecker
- From: Matthias Grimm
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- [dokuwiki] Re: Bug in spellchecker
- From: Matthias Grimm
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
Other related posts:
- » [dokuwiki] Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- » [dokuwiki] Re: Bug in spellchecker
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- [dokuwiki] Bug in spellchecker
- From: Jakob Jensen
- [dokuwiki] Re: Bug in spellchecker
- From: Matthias Grimm
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- [dokuwiki] Re: Bug in spellchecker
- From: Matthias Grimm
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr
- [dokuwiki] Re: Bug in spellchecker
- From: Matthias Grimm
- [dokuwiki] Re: Bug in spellchecker
- From: Andreas Gohr