The patent system will not grant or uphold patents that are judged to be obvious. However, the system interprets the word "obvious" in a way that might surprise computer programmers. The standard of obviousness developed in other fields is inappropriate for software.
Patent examiners and judges are accustomed to considering even small, incremental changes as deserving new patents. For example, the famous Polaroid vs. Kodak case hinged on differences in the number and order of layers of chemicals in a film--differences between the technique Kodak was using and those described by previous, expired patents. The court ruled that these differences were unobvious.
Computer scientists solve problems quickly because the medium of programming is tractable. They are trained to generalize solution principles from one problem to another. One such generalization is that a procedure can be repeated or subdivided. Programmers consider this obvious--but the Patent Office did not think that it was obvious when it granted the patent on scrolling multiple strings, described above.
Cases such as this cannot be considered errors. The patent system is functioning as it was designed to do--but with software, it produces outrageous results.