       # FIXME Since the ticks are sorted, this could be done more efficiently.
       ticks_in_range = _.filter(all_ticks,
                                 ((tick) -> data_low <= tick <= data_high))
-
-      # FIXME
-      # Transition between 12-hour and 24-hour resolutions is not correct.
-      # This is because the day resolutions are aligned with the local time
-      # zone, and the resolutions below are aligned with GMT.
 
       return ticks_in_range
 

        start_date = new Date(last_year_no_later_than(start_time))
        
        end_date = new Date(last_year_no_later_than(end_time))
        end_date.setFullYear(end_date.getFullYear() + 1)

        dates = []
        date = start_date
        while true
          dates.push(copy_date(date))

          date.setFullYear(date.getFullYear() + 1)
          if date > end_date
            break



      [widths, formats] = @formats[resol]
      format = formats[0]
      # FIXME I'm pretty sure this code won't work; luckily it doesn't seem to
      # be used.
      if char_width
        # If a width is provided, then we pick the most appropriate scale,
        # otherwise just use the widest format
        good_formats = []
        for i in [0...widths.length]
          if widths[i] * ticks.length < fill_ratio * char_width
            # FIXME I think "@formats" should be "formats".  (Perhaps they
            # should have more distinct names.)
            good_formats.push(@formats[i])
        if good_formats.length > 0
          # FIXME I think this should be:
          #   format = good_formats[good_formats.length - 1]
          # or better yet:
          #   format = _.last(good_formats)
          format = good_formats[ticks.length-1]

      # Apply the format to the tick values
