#+TITLE: Change log of logos
#+AUTHOR: Protesilaos Stavrou
#+EMAIL: info@protesilaos.com
#+OPTIONS: ':nil toc:nil num:nil author:nil email:nil

The newest release is at the top.  For further details, please consult
the manual: <https://protesilaos.com/emacs/logos>.

* Version 0.3.0 on 2022-03-30
:PROPERTIES:
:CUSTOM_ID: h:1c2f2cf0-7617-4bb6-9525-eafa1269d06f
:END:

This release basically contains one major refinement about how buffer
narrowing is handled.  In detail:

1. If ~logos-outlines-are-pages~ is non-nil, it now includes the match
   of the ~page-delimiter~ regexp in the narrowed region and leaves
   point right after the ~page-delimiter~---so in Org mode, after the
   stars.  (It is better to leave point there than at the very beginning
   of the narrowed buffer to match the behavior of
   ~logos-forward-page-dwim~ when the buffer is not narrowed.)  The
   inclusion of the delimiter helps retain any folding functionality
   associated with that line (e.g. Org headings).

2. To avoid skipping pages in the narrowed case when point is at their
   outer boundaries, =logos= checks if you are right at the start of a
   ~page-delimiter~ and if so moves past the delimiter in the opposite
   direction of the given motion: so if you are moving back, it puts you
   after the delimiter, and if you are moving forward it puts you before
   the delimiter.  (The bug was that if the point was at ~point-max~
   while narrowed and moving forward, it would skip past a page and the
   same in the opposite direction with ~point-min~.)

3. Changed ~logos-narrow-dwim~ to call ~logos--narrow-to-page~ instead
   of ~narrow-to-page~, so that it too includes the ~page-delimiter~
   match in the page.

4. The ~logos--page-p~ now always checks for the right delimiter, which
   may be that of the outline if ~logos-outlines-are-pages~ is non-nil.
   Whereas before it was hard-coded to the generic ~page-delimiter~.

Thanks to Omar Antolín Camarena for commit
=8c2e85033db982ef13a5e041012dc45d86d9de32= which covers the first three
of the aforementioned points.  The contribution was sent as a patch via
email.  Omar has already assigned copyright to the Free Software
Foundation.

* Version 0.2.0 on 2022-03-17
:PROPERTIES:
:CUSTOM_ID: h:c7f4f53d-0397-4586-8b21-e9b26dddf6e9
:END:

All functions or variables referenced herein have documentation strings
and are also documented in the manual.

+ Implemented the user option ~logos-olivetti~ which is a buffer-local
  variable that is read when ~logos-focus-mode~ is enabled.  This
  provides the glue code to integrate Logos with =olivetti=.  Olivetti
  is a package by Paul W. Rankin which centres the contents of the
  buffer in its window.

+ Removed the do-it-yourself snippet that was present in the manual for
  piecing together Logos and Olivetti.  The documentation has been
  updated accordingly.  Users who followed the old method are advised to
  review their configurations.

+ Abstracted the state handling of the variables and modes that are
  affected by ~logos-focus-mode~, based on feedback by Daniel Mendler.
  This improves how the code is written and makes it easier to extend
  it.

+ Introduced the user options ~logos-indicate-buffer-boundaries~ and
  ~logos-buffer-read-only~.  Both are buffer-local and both take effect
  when ~logos-focus-mode~ is enabled.  The former controls the
  ~indicate-buffer-boundaries~ while the latter determines whether the
  buffer should be put in a read-only mode.

+ Changed how user options are declared as buffer-local, by using the
  appropriate keyword of ~defcustom~.  Thanks to Philip Kaludercic for
  the patch, which was sent via email.

+ Wrote a node entry on how to write a regular expression that targets
  only specific Org heading levels.  This pertains to user options
  ~logos-outlines-are-pages~ and ~logos-outline-regexp-alist~.

+ Added keywords to the package metadata to help its discoverability.

+ Fixed typo in a function's doc string.  Thanks to Remco van 't Veer
  for the contribution in merge request 1:
  <https://gitlab.com/protesilaos/logos/-/merge_requests/1>.

+ Fixed typo in the manual.  Thanks to user Ypot for the contribution in
  merge request 2:
  <https://gitlab.com/protesilaos/logos/-/merge_requests/2>.

+ Appended an "Acknowledgements" section in the manual, which references
  the names of everyone involved in the development of this package.

* Version 0.1.0 on 2022-03-11
:PROPERTIES:
:CUSTOM_ID: h:ca03557f-35c1-4342-b126-d08fd855dbf4
:END:

In the beginning, there was =prot-logos.el=.  A file that pieced
together some code and configurations I had for presentations (part of
[[https://gitlab.com/protesilaos/dotfiles][my dotfiles]]).  On 2022-03-02 I decided to take the code out of my
personal setup and turn it into a general purpose package.

It occured to me that "logos" is a nice word though it might be a bit
dull for an Emacs package, so I coined the backcronyms "^L Only
Generates Ostensible Slides" and "Logos Optionally Garners Outline
Sections", which hopefully describe what this is all about.

Read the manual for the technicalities.
