M README.org => README.org +6 -6
@@ 511,8 511,8 @@ functionality of ~logos-focus-mode~ at the user level ([[#h:a2540f2f-1159-4e5c-a
(when my-logos-org-indent
;; Disable `org-indent-mode' when `logos-focus-mode' is enabled and
;; restore it when `logos-focus-mode' is disabled. The
- ;; `logos--mode' function takes care of the technicalities.
- (logos--mode 'org-indent-mode -1)))
+ ;; `logos-set-mode-arg' function takes care of the technicalities.
+ (logos-set-mode-arg 'org-indent-mode -1)))
(add-hook 'logos-focus-mode-hook #'my-logos-org-indent)
#+end_src
@@ 526,8 526,8 @@ not needed, the following will suffice:
"Set `my-logos-org-indent' in `logos-focus-mode'."
;; Disable `org-indent-mode' when `logos-focus-mode' is enabled and
;; restore it when `logos-focus-mode' is disabled. The
- ;; `logos--mode' function takes care of the technicalities.
- (logos--mode 'org-indent-mode -1))
+ ;; `logos-set-mode-arg' function takes care of the technicalities.
+ (logos-set-mode-arg 'org-indent-mode -1))
(add-hook 'logos-focus-mode-hook #'my-logos-org-indent)
#+end_src
@@ 544,13 544,13 @@ to disable the ~menu-bar-mode~ and ~tool-bar-mode~ when activating the
#+begin_src emacs-lisp
;; Assuming the `menu-bar-mode' is enabled by default...
(defun my-logos-hide-menu-bar ()
- (logos--mode 'menu-bar-mode -1))
+ (logos-set-mode-arg 'menu-bar-mode -1))
(add-hook 'logos-focus-mode-hook #'my-logos-hide-menu-bar)
;; Assuming the `tool-bar-mode' is enabled by default...
(defun my-logos-hide-tool-bar ()
- (logos--mode 'tool-bar-mode -1))
+ (logos-set-mode-arg 'tool-bar-mode -1))
(add-hook 'logos-focus-mode-hook #'my-logos-hide-tool-bar)
#+end_src
M logos.el => logos.el +22 -11
@@ 406,11 406,17 @@ If narrowing is in effect, widen the view."
;;;; Optional "focus mode" and utilities
-;; I learnt about the method of using `logos--mode' and `logos--set'
-;; from Daniel Mendler: <https://github.com/minad>.
+;; I learnt about the method of using `logos-set-mode-arg' and
+;; `logos-set-buffer-local-value' from Daniel Mendler:
+;; <https://github.com/minad>.
(defvar-local logos--restore nil)
-(defun logos--mode (mode arg)
+(define-obsolete-function-alias
+ 'logos--mode
+ 'logos-set-mode-arg
+ "1.1.0")
+
+(defun logos-set-mode-arg (mode arg)
"Set MODE to ARG.
ARG is either 1 or -1. The current value changes to its
alternate, thus toggling MODE."
@@ 419,7 425,12 @@ alternate, thus toggling MODE."
(push (lambda () (funcall mode old)) logos--restore)
(funcall mode arg))))
-(defun logos--set (var val)
+(define-obsolete-function-alias
+ 'logos--set
+ 'logos-set-buffer-local-value
+ "1.1.0")
+
+(defun logos-set-buffer-local-value (var val)
"Set VAR to buffer-local VAL."
(let ((old (and (boundp var) (symbol-value var))))
(unless (equal old val)
@@ 478,22 489,22 @@ options: `logos-scroll-lock', `logos-variable-pitch',
(defun logos--variable-pitch ()
"Set `logos-variable-pitch'."
(when (and logos-variable-pitch (not (derived-mode-p 'prog-mode)))
- (logos--mode 'variable-pitch-mode 1)))
+ (logos-set-mode-arg 'variable-pitch-mode 1)))
(defun logos--scroll-lock ()
"Set `logos-scroll-lock'."
(when logos-scroll-lock
- (logos--mode 'scroll-lock-mode 1)))
+ (logos-set-mode-arg 'scroll-lock-mode 1)))
(defun logos--indicate-buffer-boundaries ()
"Set `logos-hide-buffer-boundaries'."
(when logos-hide-buffer-boundaries
- (logos--set 'indicate-buffer-boundaries nil)))
+ (logos-set-buffer-local-value 'indicate-buffer-boundaries nil)))
(defun logos--hide-cursor ()
"Set `logos-hide-cursor'."
(when logos-hide-cursor
- (logos--set 'cursor-type nil)))
+ (logos-set-buffer-local-value 'cursor-type nil)))
;; FIXME 2022-03-13: The mode line is not redrawn properly. Not even
;; with `force-mode-line-update', unless something happens like
@@ 509,17 520,17 @@ options: `logos-scroll-lock', `logos-variable-pitch',
(defun logos--hide-mode-line ()
"Set `logos-hide-mode-line'."
(when logos-hide-mode-line
- (logos--set 'mode-line-format nil)))
+ (logos-set-buffer-local-value 'mode-line-format nil)))
(defun logos--buffer-read-only ()
"Set `logos-buffer-read-only'."
(when logos-buffer-read-only
- (logos--set 'buffer-read-only t)))
+ (logos-set-buffer-local-value 'buffer-read-only t)))
(defun logos--olivetti ()
"Set `logos-olivetti'."
(when (and logos-olivetti (require 'olivetti nil t))
- (logos--mode 'olivetti-mode 1)))
+ (logos-set-mode-arg 'olivetti-mode 1)))
(defvar-local logos--fringe-remap-cookie nil
"Cookie of remapped `fringe' face.")