Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require format-spec and fix some adding/removal to frame-title #27

Merged
merged 2 commits into from
Apr 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions memento-mori.el
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,14 @@

;;; Code:

(require 'format-spec)

(defgroup memento-mori nil
"Reminder of our mortality."
:group 'help)

(defcustom memento-mori-display-in-modeline t
"If non-nil, `memento-mori-mode' will add mementos to the mode line.

Check warning on line 56 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 56 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 56 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 56 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 56 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 56 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 56 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.
Really, it adds it to the `global-mode-string', which usually
appears in the mode line, however, if you have customized your
mode line it may not appear."
Expand All @@ -59,7 +61,7 @@
:type 'boolean)

(defcustom memento-mori-display-in-frame-title nil
"If non-nil, `memento-mori-mode' will add mementos to the frame title."

Check warning on line 64 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 64 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 64 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 64 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 64 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 64 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 64 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.
:group 'memento-mori
:type 'boolean)

Expand Down Expand Up @@ -245,8 +247,8 @@
(defvar memento-mori-string ""
"The memento mori memento.
The string shown in the mode line and/or frame title when
`memento-mori-mode' is enabled. This is not meant to be changed

Check warning on line 250 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 250 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 250 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 250 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 250 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 250 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.

Check warning on line 250 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Disambiguate memento-mori-mode by preceding w/ function,command,variable,option or symbol.
by the user, but can be used in other places such as org-mode

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Lisp symbol `org-mode' should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.1, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (snapshot, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.2, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (29.1, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Lisp symbol ‘org-mode’ should appear in quotes

Check warning on line 251 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (release-snapshot, false)

Lisp symbol ‘org-mode’ should appear in quotes
agendas to display the current momento.")

(defvar memento-mori--modeline-construct
Expand Down Expand Up @@ -278,7 +280,7 @@
(error "Birth date not set. Try M-x customize-group memento-mori")))

(defun memento-mori--parse-time (value)
"Return your birth time in `encode-time' format.

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Argument `value' should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.1, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (snapshot, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.2, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (29.1, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Argument ‘value’ should appear (as VALUE) in the doc string

Check warning on line 283 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (release-snapshot, false)

Argument ‘value’ should appear (as VALUE) in the doc string
The birth time is parsed from `memento-mori-birth-date' using
`parse-time-string'. An error is signaled if it is not valid."
(when (symbolp value)
Expand Down Expand Up @@ -312,7 +314,7 @@
"Randomly choose a quote from `memento-mori-quotes'."
(nth (random (length memento-mori-quotes)) memento-mori-quotes))

(defun memento-mori--format-memento (memento)

Check warning on line 317 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Unused lexical variable `current-time-list'

Check warning on line 317 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Unused lexical variable ‘current-time-list’

Check warning on line 317 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Unused lexical variable ‘current-time-list’

Check warning on line 317 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Unused lexical variable ‘current-time-list’

Check warning on line 317 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Unused lexical variable ‘current-time-list’

Check warning on line 317 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Unused lexical variable ‘current-time-list’

Check warning on line 317 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Unused lexical variable ‘current-time-list’
"Format MEMENTO based on the current time."
(let* ((format-string (car memento))
(args-plist (cdr memento))
Expand All @@ -320,7 +322,7 @@
(since-value (plist-get args-plist :since))
(_ (when (not (or until-value since-value))
(error ":since or :until required. Parsing %s" memento)))
(current-time-list nil)

Check warning on line 325 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.1, false)

Unused lexical variable `current-time-list'

Check warning on line 325 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.2, false)

Unused lexical variable `current-time-list'
(until-seconds (when until-value
(float-time
(time-subtract
Expand Down Expand Up @@ -351,7 +353,7 @@
(/ since-seconds (* 60 60 24))
days))
(t 0)))))
(format-spec format-string

Check warning on line 356 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 356 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 356 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 356 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 356 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

format-spec called with 3 arguments, but accepts only 2
`((?Y . ,years)
(?y . ,(truncate years))
(?M . ,months)
Expand Down Expand Up @@ -387,13 +389,13 @@
(when (and memento-mori-initial-scratch-message
(boundp 'initial-scratch-message))
(setq initial-scratch-message
(format-spec memento-mori-initial-scratch-message

Check warning on line 392 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 392 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 392 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 392 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

format-spec called with 3 arguments, but accepts only 2

Check warning on line 392 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

format-spec called with 3 arguments, but accepts only 2
`((?m . ,memento-mori-string)
(?q . ,(memento-mori--random-quote)))
'ignore))))

(defun memento-mori--add-mementos ()

Check warning on line 397 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.1, false)

docstring wider than 80 characters

Check warning on line 397 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (snapshot, false)

docstring wider than 80 characters

Check warning on line 397 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.2, false)

docstring wider than 80 characters

Check warning on line 397 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (29.1, false)

docstring wider than 80 characters

Check warning on line 397 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (release-snapshot, false)

docstring wider than 80 characters
"Adds constructs to mode line and/or frame title to display `memento-mori-mementos'.

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (24.4, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.2, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.1, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (25.1, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.1, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.1, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (snapshot, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (snapshot, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (26.3, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.2, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (28.2, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.2, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (29.1, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (29.1, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (27.1, false)

Probably "Adds" should be imperative "Add"

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (release-snapshot, false)

Some lines are over 80 columns wide

Check warning on line 398 in memento-mori.el

View workflow job for this annotation

GitHub Actions / check (release-snapshot, false)

Probably "Adds" should be imperative "Add"
Where it adds it is controlled by `memento-mori-display-in-modeline' and
`memento-mori-display-in-frame-title' respectively.

Expand All @@ -409,12 +411,13 @@
(if memento-mori-display-in-frame-title
(if (stringp frame-title-format)
(setq frame-title-format
(list frame-title-format memento-mori--frame-title-construct))
(list frame-title-format 'memento-mori--frame-title-construct))
(add-to-list 'frame-title-format
'memento-mori--frame-title-construct))
'memento-mori--frame-title-construct
t))
(when (listp frame-title-format)
(setq frame-title-format
(delete memento-mori--frame-title-construct frame-title-format)))))
(delete 'memento-mori--frame-title-construct frame-title-format)))))

;;;###autoload
(define-minor-mode memento-mori-mode
Expand Down
Loading