aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpencer Williams <spnw@plexwave.org>2025-04-17 15:02:20 -0400
committerSpencer Williams <spnw@plexwave.org>2025-04-17 15:02:20 -0400
commit2e1ae69f61449f74f816176d92bd790fbd9dc358 (patch)
treea893e30e8287ae14cd6d608d185e5176f3f4ed0b
parent9222a9b277359ae53bbc7026dc2d6a4d6c95a926 (diff)
Fix improper handling of titles with single quotesHEADmain
-rw-r--r--CHANGELOG.org2
-rw-r--r--lisp/seam-test.el4
-rw-r--r--lisp/seam.el5
3 files changed, 8 insertions, 3 deletions
diff --git a/CHANGELOG.org b/CHANGELOG.org
index 1255c28..1350e0e 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -35,6 +35,8 @@
*** Bugfixes
+- Notes with single quotes in the name (') are no longer broken.
+
- =seam-visited-notes= no longer returns buffers that visit non-note
files within =seam-note-directory=. This could have resulted in
Seam inappropriately modifying those files (e.g. updating links).
diff --git a/lisp/seam-test.el b/lisp/seam-test.el
index cf4f219..9ab1b22 100644
--- a/lisp/seam-test.el
+++ b/lisp/seam-test.el
@@ -121,9 +121,9 @@
(ert-deftest seam-test-make-note-weird-filename ()
(should
(equal
- '("./Weird file name!" ("private/weird-file-name.org"))
+ '("./Weir'd file name!" ("private/weird-file-name.org"))
(seam-test-with-notes ()
- ((weird "./Weird file name! "))
+ ((weird "./Weir'd file name! "))
(list (buffer-name weird)
(seam-test-list-files))))))
diff --git a/lisp/seam.el b/lisp/seam.el
index 72f12e2..4cc21e7 100644
--- a/lisp/seam.el
+++ b/lisp/seam.el
@@ -72,7 +72,10 @@ naming. Must be a function taking two arguments: TITLE and TYPE."
(mapcar #'car seam-export-alist))
(defun seam-slugify (title)
- (downcase (string-join (string-split title "\\W+" t) "-")))
+ (setq title (string-replace "'" "" title))
+ (setq title (string-split title "\\W+" t))
+ (setq title (string-join title "-"))
+ (downcase title))
(defun seam-lookup-slug (slug)
(cl-dolist (type seam-note-types)