mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
emacs: Fix exception when fetching empty or unconfigured settings
When "notmuch config" is called with the name of an empty or unconfigured setting, it prints nothing (not even a new line). Previously, `notmuch-config-get' assumed it would always print a newline. As a result, when `notmuch-config-get' was called with the name of an empty of unconfigured setting, it would attempt to (substring "" 0 -1) to strip the newline, which would fail with a (args-out-of-range "" 0 -1) exception. Fix this by only stripping the newline if there actually is one.
This commit is contained in:
parent
1326ec09ee
commit
4b734374fb
1 changed files with 7 additions and 2 deletions
|
@ -198,8 +198,13 @@ on the command line, and then retry your notmuch command")))
|
|||
|
||||
(defun notmuch-config-get (item)
|
||||
"Return a value from the notmuch configuration."
|
||||
;; Trim off the trailing newline
|
||||
(substring (notmuch-command-to-string "config" "get" item) 0 -1))
|
||||
(let* ((val (notmuch-command-to-string "config" "get" item))
|
||||
(len (length val)))
|
||||
;; Trim off the trailing newline (if the value is empty or not
|
||||
;; configured, there will be no newline)
|
||||
(if (and (> len 0) (= (aref val (- len 1)) ?\n))
|
||||
(substring val 0 -1)
|
||||
val)))
|
||||
|
||||
(defun notmuch-database-path ()
|
||||
"Return the database.path value from the notmuch configuration."
|
||||
|
|
Loading…
Reference in a new issue