]> git.lyx.org Git - lyx.git/blob - src/support/ChangeLog
fix startup when lyx binary is a symlink
[lyx.git] / src / support / ChangeLog
1 2002-07-17  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
2
3         * filetools.C (LyXReadLink): add bool 'resolve' to return link
4         contents as an absolute path
5
6 2002-07-15  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
7
8         * filetools.C (IsLyXFilename):
9         (IsSGMLFilename): use ascii_lowercase instead of lowercase
10
11         * lstrings.[Ch] (ascii_lowercase): new function
12         
13 2002-07-16  André Pönitz <poenitz@gmx.net>
14
15         * FileInfo.Ch: remove unneeded code
16
17 2002-06-20  Herbert Voss  <voss@perce.de>
18
19         * filetools.[C]: (readExtFromContents) add support for
20         (x)fig format images
21                 
22 2002-06-26  André Pönitz <poenitz@gmx.net>
23
24         * filetools.[Ch]: small whitespace, more compact 'return' statement
25
26 2002-06-19  John Levon  <moz@compsoc.man.ac.uk>
27
28         * lyxalgo.h: add eliminate_duplicates
29
30 2002-06-17  Herbert Voss  <voss@perce.de>
31
32         * filetools.[C]: (readBB_from_PSFile) add a helperfunc
33         (readBB_lyxerrMessage) to get better lyxerr messages
34         (getExtFromContents) test epsi files in the right way
35                 
36         * DestroxLyXTmpDir.C: changed to true, to delete the
37         temporary unzipped files, too.
38
39 2002-06-10  Lars Gullik Bjønnes  <larsbj@birdstep.com>
40
41         * putenv.C (putenv): putenv should never be found in std::
42
43         * kill.C (kill): kill should never be found in std::
44
45         * filetools.C: pclose and popen should never be found in std::
46
47 2002-06-07  Angus Leeming  <leeming@lyx.org>
48
49         Fixes needed to compile with Compaq cxx 6.5.
50         * lyxfunctional.h: rename lyx::class_fun(C & c, void(C::*f)(A)) as
51         lyx::void_class_fun to avoid compiler problems with Compaq cxx 6.5:
52         more than one instance of overloaded function "lyx::class_fun" matches
53         the argument list.
54
55         * filetools.C:
56         * kill.C:
57         * lstrings.C:
58         * putenv.C:
59         * snprintf.h:
60         * systemcall.C:
61         * utility.h:
62         all c-library variables have been moved into namespace std.
63         Wrap using std::xyz declarations inside a #ifndef CXX_GLOBAL_CSTD block.
64
65         * kill.C: rename signal.h as csignal.
66
67         * putenv.C: rename stdlib.h as cstdlib
68
69 2002-06-05  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
70
71         * lxtl.h: remove unused file
72
73 2002-05-30  John Levon  <moz@compsoc.man.ac.uk>
74
75         * Makefile.am:
76         * date.C:
77         * getUserName.C:
78         * fileblocks.c:
79         * StrPool.h:
80         * StrPool.C: remove unused files
81
82         * lyxalgo.h:
83         * lyxlib.h:
84         * mkdir.C:
85         * path.h:
86         * path.C:
87         * systemcall.C:
88         * textutils.h:
89         * translator.h:
90         * types.h: document and small cleanups
91
92 2002-05-29  Lars Gullik Bjønnes  <larsbj@birdstep.com>
93
94         * switch from SigC signals to boost::signals.
95
96 2002-05-26  John Levon  <moz@compsoc.man.ac.uk>
97
98         * Makefile.am:
99         * limited_stack.h: new template for limited-size
100           stacks
101
102 2002-05-25  Lars Gullik Bjønnes  <larsbj@birdstep.com>
103
104         * filetools.C: do not include LSubstring.h
105
106         * lstrings.C: change include order
107         (regexMatch): use boost regex get rid of LRegex and LSubstring
108
109         * Makefile.am (libsupport_la_SOURCES): delete regex and substring
110         stuff.
111
112         * LSubstring.h: remove file
113         * regex.c: ditto
114         * lyxregex.h: ditto
115         * LRegex.C: ditto
116         * LRegex.h: ditto
117         * LSubstring.C: ditto
118
119 2002-05-24  Juergen Vigna  <jug@sad.it>
120
121         * lyxsum.C: include local includes first (self containment)
122
123 2002-05-22  Lars Gullik Bjønnes  <larsbj@birdstep.com>
124
125         * forkedcall.h: use more specific smart_ptr header.
126
127         * lyxsum.C: move some using declarations around.
128
129 2002-05-03  Herbert Voss  <voss@perce.de>
130
131         * filetools.C (getExtFromContents): only print the first 60 chars of
132         the scanned-string when debugging.
133
134 2002-05-02  Lars Gullik Bjønnes  <larsbj@birdstep.com>
135
136         * lyxstring.C: close to typo fix.
137
138 2002-05-02  Angus Leeming  <a.leeming@ic.ac.uk>
139
140         * filetools.C: add a using std::getline directive.
141
142 2002-05-02  Lars Gullik Bjønnes  <larsbj@birdstep.com>
143
144         * lyxstring.C (operator>>): try a new version of the operator>>
145
146 2002-04-14  Herbert Voss  <voss@perce.de>
147
148         * lstrings.[Ch]: move the getVectorFromString and the vice versa
149         from frontends/controllers/helper_funcs for better use in other
150         programs
151
152 2002-04-15  Angus Leeming  <a.leeming@ic.ac.uk>
153
154         * tempname.C (make_tempfile): simplify the #ifdef block by using
155         #if defined and re-write the #warning as a #error because it's terminal.
156
157 2002-04-08  Herbert Voss  <voss@perce.de>
158
159         * filetools.C (getExtFromContents): get tgif run
160
161 2002-04-08  Angus Leeming  <a.leeming@ic.ac.uk>
162
163         * filetools.C (getExtFromContents): re-format a little and remove
164         replicated "sgi" entry.
165
166 2002-04-07  Herbert Voss  <voss@perce.de>
167
168         * filetools.[Ch]: add readBB_from_PSFile() to make bb available
169         for the lyx-view in graphics (moved from ControlGraphics)
170
171 2002-04-07  Herbert Voss  <voss@perce.de>
172
173         * filetools.C: fix bug for eps. scans now a whole line
174
175 2002-04-06  Lars Gullik Bjønnes  <larsbj@birdstep.com>
176
177         * lyxstring.C (operator>>): use the better solution, this fixes a
178         "not able to read '\0'" bug.
179
180 2002-04-05  Lars Gullik Bjønnes  <larsbj@birdstep.com>
181
182         * translator.h: add missing typename
183
184 2002-03-27  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
185
186         * filetools.C (LibScriptSearch): new command. Searches for scripts
187         in lyx data directories.
188         (LibScriptSearch): try to use split() correctly.
189
190 2002-03-21  Lars Gullik Bjønnes  <larsbj@birdstep.com>
191
192         * most files: ws cleanup
193
194         * Makefile.am: remove ld -r stuff
195
196 2002-03-20  Lars Gullik Bjønnes  <larsbj@birdstep.com>
197
198         * Makefile.am (libsupport.la): special rules if partial linking
199
200 2002-03-14  Angus Leeming  <a.leeming@ic.ac.uk>
201
202         * forkedcontr.C: turn the timer off when their are no longer any
203         child processes running.
204
205 2002-03-11  Lars Gullik Bjønnes  <larsbj@birdstep.com>
206
207         * forkedcall.h: docy fix
208         change SignalType second type to be const ref.
209
210         * forkedcall.C: doxy fix
211
212 2002-03-11  Kayvan A. Sylvan  <kayvan@sylvan.com>
213
214         * lyxsum.C: compilation fix
215
216 2002-03-02  Herbert Voss  <voss@perce.de>
217
218         * filetools.C: fix bug for xbm format and added some more debug
219         infos
220
221 2002-03-02  Lars Gullik Bjønnes  <larsbj@birdstep.com>
222
223         * forkedcontr.h: make constructor public
224
225         * types.h: remove layout_type
226
227 2002-03-01  Angus Leeming  <a.leeming@ic.ac.uk>
228
229         * filetools.C (getExtFromContents): cleanup.
230
231         * forkedcontr.h (d-tor): make it public for Dekel's crappy compiler.
232
233 2002-02-27  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
234
235         * Makefile.am (SIGC_INCLUDES): add a -I directive for when
236         building outside of source tree.
237
238 2002-02-19  Angus Leeming  <a.leeming@ic.ac.uk>
239
240         * forkedcall.[Ch]:
241         * forkedcontr.[Ch]: new files. Asger's forked call controller is
242         re-born, with a working timer and a modified interface. The
243         startscript method is now passed a Signal rather than a pointer
244         to a callback function. This enables us to connect to the method of
245         a C++ class, if we so desire.
246
247         * Makefile.am: add forkedcall.[Ch], forkedcontr.[Ch].
248
249 2002-02-26  John Levon  <moz@compsoc.man.ac.uk>
250
251         * Makefile.am:
252         * os2_defines.h:
253         * os2_errortable.h:
254         * nt_defines.h: moved from src/
255
256 2002-02-23  Herbert Voss  <voss@perce.de>
257
258         * filetools.C: added more graphic formats
259
260 2002-02-18  Herbert Voss  <voss@perce.de>
261
262         * filetools.C: (getExtFromContents) return the fileextension
263         if no format is detected.
264
265 2002-02-18  Angus Leeming  <a.leeming@ic.ac.uk>
266
267         * syscall.[Ch]: renamed as systemcall.[Ch]. class Systemcalls renamed
268         as class SystemCall because one Systemcall instance represents a
269         single child process.
270
271         * filetools.C:
272         * Makefile.am: associated changes.
273
274 2002-02-18  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
275
276         * syscall.C (Systemcalls): include <cstdlib>
277
278 2002-02-08  Herbert Voss  <voss@perce.de>
279
280         * filetools.C: (getExtFromContents) adding Grace-format
281         for filetypes
282
283 2002-02-16  Angus Leeming  <a.leeming@ic.ac.uk>
284
285         * syscontr.[Ch]:
286         * syssingleton.C: files removed.
287
288         * syscall.[Ch]: remove the forked calls interface, as nothing, nowhere
289         uses it. Strip down the Systemcalls interface to make it brutally
290         obvious how unsophisticated it is.
291
292 2002-02-08  Herbert Voss  <voss@perce.de>
293
294         * filetools.C: (getExtFromContents) adding TGIF-format
295         and return type "user" when no type is detected
296
297 2002-02-13  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
298
299         * textutils.h: remove IsLineSeparatorChar(char, Inset *)
300
301 2002-02-10 Kayvan Sylvan <kayvan@sylvan.com>
302
303         * os_win32.C: Add "using std::endl" to fix compilation for GCC 3.X.
304
305 2002-02-08  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
306
307         * FileInfo.h: remove special cygwin code.
308
309         * filetools.C (do_popen): use os::read_mode().
310
311         * os_win32.C (read_mode):
312         * os_os2.C (read_mode):
313         * os_unix.C (read_mode): new method
314
315         * filetools.C (do_popen): fix for cygwin compatibility (from Claus
316         Hentschel). This code should maybe be moved to os:: class.
317
318 2002-02-08  Herbert Voss  <voss@perce.de>
319
320         * filetools.C: (unzipFile) fix typo
321
322 2002-02-06  Herbert Voss  <voss@perce.de>
323
324         * filetools.[Ch]: fix some bugs for detecting zipped files
325         adding unzipFile()
326
327 2002-02-04  Herbert Voss  <voss@perce.de>
328
329         * filetools.[Ch]: add ifZippedFile() for zipped
330         graphic files
331
332 2002-02-04  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
333
334         * filetools.C (FileOpenSearch): remove duplicated line, probably
335         resulting from bad cut-and paste.
336
337 2002-01-31  Herbert Voss  <voss@perce.de>
338
339         * filetools.[Ch]: add getExtFromContents(), which returns
340         the type of the (graphic) file
341
342 2002-01-30  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
343
344         * copy.C (copy): open file in binary mode (for cygwin)
345
346 2002-01-19  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
347
348         * lyxsum.C: remove #warnings and replaced them with runtime debug
349         info.
350
351 2002-01-14  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
352
353         * lyxalgo.h: include <algorithm>
354
355 2002-01-14  Angus Leeming  <a.leeming@ic.ac.uk>
356
357         * lyx_algo.h: add a standard-conforming count to namespace lyx.
358
359         * lstrings.[Ch] (countChar): removed. Use lyx::count.
360
361 2002-01-05  John Levon  <moz@compsoc.man.ac.uk>
362
363         * filetools.C: fix use of FileInfo
364
365         * FileInfo.h:
366         * FileInfo.C: add Asserts and documentation
367
368 2001-12-20  Kayvan A. Sylvan  <kayvan@sylvan.com>
369
370         * os_win32.C: compilation fixes
371
372 2001-12-19  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
373
374         * lstrings.h: do not include <cctype>
375
376 2001-12-12  Ben Stanley  <bds02@uow.edu.au>
377
378         * lyxsum.C: portability fix for mmap patch
379
380 2001-12-05  Lars Gullik Bjønnes  <larsbj@birdstep.com>
381
382         * filetools.C:
383         * lstrings.C:
384         * lyxstring.C: change "while(" to "while ("
385
386 2001-12-03  Ben Stanley <bds02@uow.edu.au>
387
388         * lyxsum.C: Added mmap version of CRC and made it selected
389         by default where available. Used process_block for crc for speedup.
390
391 2001-12-01  John Levon  <moz@compsoc.man.ac.uk>
392
393         * filetools.C: more robust failure for DirList()
394
395 2001-11-29  André Pönitz <poenitz@gmx.net>
396
397         * types.h: introduce types for textclass numbers and layout numbers
398
399 2001-11-28  André Pönitz <poenitz@gmx.net>
400
401         * Makefile.am: put types.h in
402
403 2001-11-26  André Pönitz <poenitz@gmx.net>
404
405         * types.h: introduce types for paragraph positions and layout numbers
406
407 2001-11-04  John Levon  <moz@compsoc.man.ac.uk>
408
409         * filetools.C: remove dead code
410
411         * syscall.C: show prog in fail case
412
413 2001-10-24  Andre Poenitz  <poenitz@HTWM.De>
414
415         * filetools.C: code style cleanup
416
417 2001-10-23  Angus Leeming  <a.leeming@ic.ac.uk>
418
419         * os.h: remove spurious punctuation.
420
421 2001-10-19  John Levon  <moz@compsoc.man.ac.uk>
422
423         * LAssert.h:
424         * LAssert.C: use new emergencyCleanup()
425
426 2001-10-12  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
427
428         * filetools.C (i18nLibFileSearch): check also LANGUAGE and LC_ALL,
429         like GNU gettext does.
430
431 2001-10-08  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
432
433         * filetools.C (AbsolutePath): Use os::is_absolute_path() (also in
434         several methods)
435         (findtexfile): oops! the change from last friday was wrong...
436
437         * os_win32.C (is_absolute_path):
438         * os_unix.C (is_absolute_path):
439         * os_os2.C (is_absolute_path): new method
440
441 2001-10-05  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
442
443         * filetools.C (findtexfile): apply os::internal_path to the result.
444
445 2001-07-02  Claus Hentschel  <claus.hentschel@mbau.fh-hannover.de>
446
447         * os_win32.C:
448         * os_unix.C:
449         * os_os2.C:
450         * os.h: add internal_path method, which converts a unix-type file
451         name to the type known to the underlying file system (currently
452         only useful on cygwin) [from Ruurd A. Reitsma and Claus Hentschel]
453
454 2001-08-18  Lars Gullik Bjønnes  <larsbj@birdstep.com>
455
456         * smart_ptr.h: new file
457
458         * utility.h: new file
459
460 2001-08-01  John Levon  <moz@compsoc.man.ac.uk>
461
462         * filetools.h:
463         * filetools.C (IsDirWriteable): fix this
464
465 2001-07-26  Baruch Even  <baruch@lyx.org>
466
467         * lyxlib.h (float_equal): Added function to compare floats almost equal
468         (see function comment).
469
470 2001-07-13  Angus Leeming  <a.leeming@ic.ac.uk>
471
472         Consistent use of Lsstream.h:
473         * filetools.C (GetFileContents): std::ostringstream -> ostringstream.
474
475 2001-07-12  Lars Gullik Bjønnes  <larsbj@birdstep.com>
476
477         * translator.h: (*it). -> it->
478
479 2001-06-26  The LyX Project  <lyx@violet.home.sad.it>
480
481         * filetools.C (DeleteAllFilesInDir): send debug output to
482         Debug::FILES instewad of Debug::ANY.
483
484         * DebugStream.h: remove gcc 2.8.x hack.
485
486 2001-06-26  The LyX Project  <jug@sad.it>
487
488         * lstrings.h:
489         * lstrings.C (escape): move method to escape non ascii characters
490         from insets label and ref to here.
491
492 2001-06-25  The LyX Project  <jug@sad.it>
493
494         * filetools.C (IsLyXFilename):
495         (IsSGMLFilename): do case insensitive name matching
496
497 2001-06-24  The LyX Project  <jug@sad.it>
498
499         * lstrings.C (compare_ascii_no_case): version of compare_no_case
500         which only considers case of ascii characters
501
502         * lyxstring.C (replace): added for compatibility with gcc 2.95.3+
503         sstream header.
504
505 2001-06-23  The LyX Project  <jug@sad.it>
506
507         * textutils.h (IsPrintable): take into account unprintable spaces
508         above 127.
509         (IsDigit): new function
510         (IsLetterCharOrDigit): use IsDigit
511
512 2001-06-20  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
513
514         * filetools.C (findtexfile): strip final \r if necessary (for
515         cygwin)
516
517 2001-06-19  Angus Leeming  <a.leeming@ic.ac.uk>
518
519         * FileInfo.C:
520         * StrPool.C: removed // -*- C++ -*- as first line.
521
522 2001-06-01  Lars Gullik Bjønnes  <larsbj@birdstep.com>
523
524         * lyxsum.C (do_crc): switch to use boost::crc for generating the
525         checksum.
526
527 2001-06-01  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
528
529         * lstrings.C:
530         * syscall.C:
531         * syscontr.C:
532         * LSubstring.C: bring C functions in global namespace if
533         necessary.
534
535         * lstrings.h (compare): use the std:: version of str[n]cmp only
536         when it exists.
537
538 2001-05-31  Lars Gullik Bjønnes  <larsbj@birdstep.com>
539
540         * syscontr.C: add std::
541
542         * syscall.C: add std::
543
544         * lstrings.h (compare): add std::
545
546         * lstrings.C (prefixIs): add std::
547         (suffixIs): ditto
548         (subst): ditto
549
550         * LSubstring.C (LSubstring): add std::
551
552 2001-05-30  Lars Gullik Bjønnes  <larsbj@birdstep.com>
553
554         * lyxsum.C (sum): use istreambuf_iterator when available.
555
556 2001-05-29  Lars Gullik Bjønnes  <larsbj@birdstep.com>
557
558         * lyxsum.C (sum): don't use sstream anymore, use istream_iterator
559         directly instead.
560
561         * lyxstring.C (operator): make const operator[] behave as
562         non-const and at.
563
564 2001-05-22  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
565
566         * Makefile.am (EXTRA_DIST): add the os_*.C files.
567
568 2001-05-21  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
569
570         * filetools.C (MakeAbsPath): remove debugging statement
571
572 2001-05-16  Ruurd Reitsma  <r.a.reitsma@wbmt.tudelft.nl>
573
574         * FileInfo.h: X_OK workaround for cygwin
575
576         * Makefile.am:
577         * os.C:
578         * os.h:
579         * os_os2.C:
580         * os_unix.C:
581         * os_win32.C:
582         * filetools.C:
583         * filetools.h: Added os:: class.
584
585         * rename.C:
586         * syscall.C:
587         * tempname.C: OS/2 fixes
588
589 2001-05-03  Lars Gullik Bjønnes  <larsbj@birdstep.com>
590
591         * textutils.h: remvoe !NEW_INSETS cruft
592
593 2001-05-02  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
594
595         * fmt.C:
596         * atoi.C: add using directives when needed for C functions
597         declared in std:: namespace.
598
599 2001-04-25  Lars Gullik Bjønnes  <larsbj@birdstep.com>
600
601         * lstrings.C : add two helper structs, local_lowercase and
602         local_uppercase.
603         (lowercase): change to use std::transform
604         (uppercase): change to use std::transform
605
606 2001-04-25  Allan Rae  <rae@lyx.org>
607
608         * lyxstring.C : Assert got moved and Lars missed a few.
609
610 2001-04-24  Lars Gullik Bjønnes  <larsbj@birdstep.com>
611
612         * LAssert.h (Assert): put into namespace lyx
613
614         * lyxfunctional.h: put into namespace lyx
615         * translator.h: adjust
616
617 2001-04-17  Lars Gullik Bjønnes  <larsbj@birdstep.com>
618
619         * lyxalgo.h: put into namespace lyx, add firster and copy_if
620
621         * FileInfo.h: inherit privately from noncopyable
622         * path.h: ditto
623
624 2001-04-16  Allan Rae  <rae@lyx.org>
625
626         * tempname.C (make_tempfile): #warning triggers an error on Sun CC 6.0
627         as an unrecognised preprocessor directive.  So ensure they're wrapped.
628
629 2001-03-15  Lars Gullik Bjønnes  <larsbj@trylle.birdstep.com>
630
631         * several files: remove CXX_WORKING_NAMESPACES
632
633         * FileInfo.h: noncopyable is in namespace boost
634         * path.h: ditto
635
636 2001-02-16  John Levon  <moz@compsoc.man.ac.uk>
637
638         * syscontr.h: fix header include
639
640 2001-02-28  Baruch Even  <baruch@ev-en.org>
641
642         * filetools.C: Removed dependency on syscall.h
643
644         * syscall.h:
645         * syscall.C: Minor cleanings before I start to touch this code.
646
647 2001-02-27  Lars Gullik Bjønnes  <larsbj@trylle.birdstep.com>
648
649         * filetools.C (CreateTmpDir): change umask to 0700.
650
651 2001-02-27  José Matos  <jamatos@fep.up.pt>
652
653         * filetools.h (BasePath):
654         * filetools.C (BasePath): removed since it is a duplicate of OnlyPath.
655
656         * filetools.C (IsLyXFilename):
657         * filetools.C (IsSGMLFilename): test if extension is suffix and not
658         only contained.
659
660 2001-02-14  Lars Gullik Bjønnes  <larsbj@lyx.org>
661
662         * fmt.C:
663         * filetools.C:
664         * atoi.C: remove cruft
665
666 2001-02-06  albert chin  <china@thewrittenword.com>
667
668         * snprintf.h:
669         * fmt.C: use HAVE_DECL_SNPRINTF
670
671 2001-01-26  Dekel Tsur  <dekelts@tau.ac.il>
672
673         * lyxstring.C: Fix some assertions.
674
675 2001-01-23  Dekel Tsur  <dekelts@tau.ac.il>
676
677         * lstrings.C (strip): Add a fix for compilers with broken
678         string::find_last_not_of.
679
680         * filetools.C (AddPath): Simplify by using strip and frontStrip.
681
682 2001-01-20  Dekel Tsur  <dekelts@tau.ac.il>
683
684         * lyxstring.C (rfind): Fix broken functions.
685         (find): Few optimizations.