MiKTeX 2.5 developmet has started in December. According to the roadmap, the first step is to redesign the internal interfaces (aka refactoring). The outcome will be a portable set of components. Portable in the sense that it will be easy to build the components for other systems.

I am currently working on the core component (MiKTeX-core*.dll). The core component handles

  • file searching
  • running secondary processes
  • reading configuration files

System-dependent features in this area are:

  • reading directories
  • reading/writing memory-mapped files
  • threads

There are well known design patterns which help to separate system-dependent code. Implementing these design patterns is an interesting job which will keep me busy the next few months.