Function: set-justification
set-justification is an interactive and byte-compiled function defined
in fill.el.gz.
Signature
(set-justification BEGIN END STYLE &optional WHOLE-PAR)
Documentation
Set the region's justification style to STYLE.
This commands prompts for the kind of justification to use.
See default-justification for the possible values and their meaning.
If the mark is not active, this command operates on the current paragraph.
If the mark is active, it operates on the region. However, if the
beginning and end of the region are not at paragraph breaks, they are
moved to the beginning and end (respectively) of the paragraphs they
are in.
If variable use-hard-newlines(var)/use-hard-newlines(fun) is true, all hard newlines are
taken to be paragraph breaks.
When calling from a program, operates just on region between BEGIN and END, unless optional fourth arg WHOLE-PAR is non-nil. In that case bounds are extended to include entire paragraphs as in the interactive command.
Probably introduced at or before Emacs version 19.29.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/fill.el.gz
(defun set-justification (begin end style &optional whole-par)
"Set the region's justification style to STYLE.
This commands prompts for the kind of justification to use.
See `default-justification' for the possible values and their meaning.
If the mark is not active, this command operates on the current paragraph.
If the mark is active, it operates on the region. However, if the
beginning and end of the region are not at paragraph breaks, they are
moved to the beginning and end \(respectively) of the paragraphs they
are in.
If variable `use-hard-newlines' is true, all hard newlines are
taken to be paragraph breaks.
When calling from a program, operates just on region between BEGIN and END,
unless optional fourth arg WHOLE-PAR is non-nil. In that case bounds are
extended to include entire paragraphs as in the interactive command."
(interactive (list (if mark-active (region-beginning) (point))
(if mark-active (region-end) (point))
(let ((s (completing-read
"Set justification to: "
'(("left") ("right") ("full")
("center") ("none"))
nil t)))
(if (equal s "") (error ""))
(intern s))
t))
(save-excursion
(save-restriction
(if whole-par
(let ((paragraph-start (if use-hard-newlines "." paragraph-start))
(paragraph-ignore-fill-prefix (if use-hard-newlines t
paragraph-ignore-fill-prefix)))
(goto-char begin)
(while (and (bolp) (not (eobp))) (forward-char 1))
(backward-paragraph)
(setq begin (point))
(goto-char end)
(skip-chars-backward " \t\n" begin)
(forward-paragraph)
(setq end (point))))
(narrow-to-region (point-min) end)
(unjustify-region begin (point-max))
(put-text-property begin (point-max) 'justification style)
(fill-region begin (point-max) nil t))))