gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU ELPA] Logos version 1.1.0


From: ELPA update
Subject: [GNU ELPA] Logos version 1.1.0
Date: Tue, 20 Jun 2023 17:04:05 -0400

Version 1.1.0 of package Logos has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.

Logos describes itself as:

  ============================
  Simple focus mode and extras
  ============================

More at https://elpa.gnu.org/packages/logos.html

## Summary:

  # Logos (logos.el)

  This package provides a simple approach to setting up a "focus mode"
  for Emacs.  It uses the `page-delimiter` (typically the `^L`
  character) or the `outline-regexp` together with some commands to move
  between pages whether narrowing is in effect or not.  It also provides
  some optional stylistic tweaks which come into effect when the
  buffer-local `logos-focus-mode` is enabled.  The manual shows how to
  extend the code to achieve the desired result.

## Recent NEWS:

                         ━━━━━━━━━━━━━━━━━━━━━
                          CHANGE LOG OF LOGOS
                         ━━━━━━━━━━━━━━━━━━━━━


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


Version 1.1.0 on 2023-06-20
═══════════════════════════

The `logos-focus-mode-extra-functions' has a new name
─────────────────────────────────────────────────────

  It is now called `logos-focus-mode-hook' to conform with the
  conventions surrounding Emacs Lisp packaging.  The old name is
  deprecated and will be removed in the future.  The relevant warnings
  are in place to inform users of the change.

  The `logos-focus-mode-extra-functions' had the unfortunate connotation
  of being an irregular hook, i.e. one that runs with arguments.
  Whereas this one is a regular hook that passes no arguments to the
  functions it calls.  Quoting from the Emacs Lisp Reference Manual:

        If the hook variable’s name does not end with ‘-hook’,
        that indicates it is probably an “abnormal hook”.  These
        differ from normal hooks in two ways: they can be called
        with one or more arguments, and their return values can be
        used in some way.  The hook’s documentation says how the
        functions are called and how their return values are used.
        Any functions added to an abnormal hook must follow the
        hook’s calling convention.  By convention, abnormal hook
        names end in ‘-functions’.

  To read the manual, evaluate this inside of Emacs:

  ┌────
  │ (info "(elisp) Hooks")
  └────


The `logos-page-delimiter' variable/function is now public
──────────────────────────────────────────────────────────

  Renaming the `logos-page-delimiter' function and variable is necessary
  as both can safely be included in user-defined code.

  In the context of Elisp packaging, a "private" symbol is denoted by a
  double dash in its name.  Such code is intended for internal use: it
  may be redefined or altogether removed without further notice.
  Whereas a "public" symbol comes with the implicit guarantee that the
  developer will take good care to preserve its behaviour and/or
  document any breaking changes.


Functions that set state have a more descriptive name
─────────────────────────────────────────────────────

  This concerns `logos--mode', hereby renamed to `logos-set-mode-arg',
  and `logos--set', which is now called `logos-set-buffer-local-value'.

  The intent is to make the code public as well as to better describe
  what it does already at the naming level.

  As always, the relevant arrangements are in place to notify users of
  the change.


The Git repository also includes a README.md
────────────────────────────────────────────

  The project has a `README.org' file which contains the project's
  documentation and is exported to the Info page format.  A new
  `README.md' is supplied as well to provide the basics of what `logos'
  is, link to its video demo, and further resources.

  Thanks to Dave Abrahams for asking me to put a video demo in the
  README.  This inspired me to update this repository to be in the style
  of the others I also maintain.  Dave's comment was made in issue 12 on
  the GitHub mirror: <https://github.com/protesilaos/logos/issues/12>.


Version 1.0.0 on 2022-10-19
═══════════════════════════

  ⁃ Revised the fallback condition of the user option
    `logos-outline-regexp-alist' (it comes into effect when the
    `logos-outlines-are-pages' is non-nil).

    The previous value did not account for the buffer-local values of
    `outline-regexp' or `page-delimiter', nor did it adapt to any
    changes in their respective values.  Instead, it would capture
    whatever the value was at the time of the symbol's declaration.

    We remove the `t' condition altogether and instead handle the
    fallback value internally.  Logos will return the current
  …  …

reply via email to

[Prev in Thread] Current Thread [Next in Thread]