\version "2.17.9"

#(define-public (stack-lines dir padding baseline stils strict)
  "Stack vertically with a baseline skip."
  (define result empty-stencil)
  (define last-y #f)
  (do
      ((last-stencil #f (car p))
       (p stils (cdr p)))

      ((null? p))

    (if (number? last-y)
        (begin
          (let* ((dy (if strict
                         ;; use baseline-skip, without consideration of overlap
                         ;; of lines
                         (abs baseline)
                         (max (+ (* dir (interval-bound (ly:stencil-extent last-stencil Y) dir))
                              padding
                              (* (- dir) (interval-bound (ly:stencil-extent (car p) Y) (- dir))))
                              baseline)))
                 (y (+ last-y  (* dir dy))))
            (set! result
                  (ly:stencil-add result (ly:stencil-translate-axis (car p) y Y)))
            (set! last-y y)))
        (begin
          (set! last-y 0)
          (set! result (car p)))))

  result)

%% Definition of \column adjusted for redefinition of `stack-lines'

#(define-markup-command (column layout props args)
  (markup-list?)
  #:category align
  #:properties ((baseline-skip)
                (strict #f))
  "
@cindex stacking text in a column

Stack the markups in @var{args} vertically.  The property
@code{baseline-skip} determines the space between markups
in @var{args}.

@lilypond[verbatim,quote]
\\markup {
  \\column {
    one
    two
    three
  }
}
@end lilypond"
  (let ((arg-stencils (interpret-markup-list layout props args)))
    (stack-lines -1 0.0 baseline-skip
                 (remove ly:stencil-empty? arg-stencils)
                 strict)))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EXAMPLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markup {
  \override #'(baseline-skip . 0)
  \column {
    The
    quick
    brown
    fox
    jumps
    over
    the
    lazy
    dog.
  }
  \override #'(baseline-skip . 1.75)
  \override #'(strict . #t)
  \column {
    The
    quick
    brown
    fox
    jumps
    over
    the
    lazy
    dog.
  } 
}

