Subject: bug#46056: closed (Re: bug#46056: hardcoded ~/.emacs.d in elpa package excorporate)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 24 Jan 2021 03:17:02 +0000

Your bug report

#46056: hardcoded ~/.emacs.d in elpa package excorporate

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
46056: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=46056
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#46056: hardcoded ~/.emacs.d in elpa package excorporate
From: Thomas Fitzsimmons <[email-masked]>
To: Gunnar Horrigmo <[email-masked]>
Cc: "Basil L. Contovounesios" <[email-masked]>, [email-masked]
Date: Sat, 23 Jan 2021 22:16:20 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Gunnar,

Gunnar Horrigmo <[email-masked]> writes:

> "Basil L. Contovounesios" <[email-masked]> writes:
>
>> Right.  CCing Thomas, the package's maintainer.

Thanks Basil, I might not have seen this otherwise (see postscript).

> Thank you.
>
>> Rather than concatenating file names as strings, better to use
>> locate-user-emacs-file in this case (or expand-file-name in general).
>> See (info "(elisp) Standard File Names").
>
> Good advice! 
>
>> Ideally the patch would include a ChangeLog-style commit message
>> referencing this bug number; see the guidelines in the CONTRIBUTE
>> file[1] at the top of the Emacs source tree.  Otherwise looks fine :).
>>
>> [1]: https://git.savannah.gnu.org/cgit/emacs.git/tree/CONTRIBUTE
>
> Not that Thomas needs my help, but just for my own excercise, is this
> what you prefer?

Thanks for the fix.  I wrote up the ChangeLog and pushed the change, see
attached.  It will be released when Excorporate 0.9.2 hits GNU ELPA
tomorrow or the day after.

Thomas

P.S. The results of the following steps don't include this bug report; I
wonder why:

M-x debbugs-gnu-search RET
Enter search phrase: excorporate RET
Enter attribute: RET

>From 58d808a71893ec2a953151eb80f1ef88f25ef80f Mon Sep 17 00:00:00 2001
From: Gunnar Horrigmo <[email-masked]>
Date: Sat, 23 Jan 2021 21:57:57 -0500
Subject: [PATCH] Do not hard code diary directory

* excorporate-diary.el (excorporate-diary-today-file): Use
`locate-user-emacs-file' instead of hardcoded paths to diary files.
(excorporate-diary-transient-file): Likewise. (Bug#45623)
---
 excorporate-diary.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/excorporate-diary.el b/excorporate-diary.el
index 833df3017c..d936f6494c 100644
--- a/excorporate-diary.el
+++ b/excorporate-diary.el
@@ -76,13 +76,13 @@ (unless (string-match "omit-trailing-space" (documentation 'diary-make-entry))
 	      #'exco-diary-icalendar--add-diary-entry-around))
 
 (defvar excorporate-diary-today-file
-  "~/.emacs.d/excorporate/diary-excorporate-today"
+  (locate-user-emacs-file "excorporate/diary-excorporate-today")
   "The diary file where Excorporate should save today's meetings.
 This file will be #include'd in `diary-file' by
 `excorporate-diary-enable'.")
 
 (defvar excorporate-diary-transient-file
-  "~/.emacs.d/excorporate/diary-excorporate-transient"
+  (locate-user-emacs-file "excorporate/diary-excorporate-transient")
   "The diary file where Excorporate should save retrieved meetings.
 This file will be #include'd in `diary-file' by
 `excorporate-diary-enable'.")
-- 
2.30.0

Subject: hardcoded ~/.emacs.d in elpa package excorporate
From: Gunnar Horrigmo <[email-masked]>
To: [email-masked]
Date: Sat, 23 Jan 2021 19:13:44 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

The `excorporate' package hardcodes its diary files to
~/.emacs.d/excorporate, instead of honoring user-emacs-directory.

I've included a small fix:

=== begin diff ===
diff --git a/excorporate-diary.el b/excorporate-diary.el
index 833df3017c..b147bed42d 100644
--- a/excorporate-diary.el
+++ b/excorporate-diary.el
@@ -76,13 +76,17 @@ respectively."
              #'exco-diary-icalendar--add-diary-entry-around))
 
 (defvar excorporate-diary-today-file
-  "~/.emacs.d/excorporate/diary-excorporate-today"
+  (concat
+   (file-name-as-directory user-emacs-directory)
+   "excorporate/diary-excorporate-today")
   "The diary file where Excorporate should save today's meetings.
 This file will be #include'd in `diary-file' by
 `excorporate-diary-enable'.")
 
 (defvar excorporate-diary-transient-file
-  "~/.emacs.d/excorporate/diary-excorporate-transient"
+  (concat
+   (file-name-as-directory user-emacs-directory)
+   "excorporate/diary-excorporate-transient")
   "The diary file where Excorporate should save retrieved meetings.
 This file will be #include'd in `diary-file' by
 `excorporate-diary-enable'.")
[gunnar@titanium excorporate]$ git diff -u
diff --git a/excorporate-diary.el b/excorporate-diary.el
index 833df3017c..b147bed42d 100644
--- a/excorporate-diary.el
+++ b/excorporate-diary.el
@@ -76,13 +76,17 @@ respectively."
              #'exco-diary-icalendar--add-diary-entry-around))
 
 (defvar excorporate-diary-today-file
-  "~/.emacs.d/excorporate/diary-excorporate-today"
+  (concat
+   (file-name-as-directory user-emacs-directory)
+   "excorporate/diary-excorporate-today")
   "The diary file where Excorporate should save today's meetings.
 This file will be #include'd in `diary-file' by
 `excorporate-diary-enable'.")
 
 (defvar excorporate-diary-transient-file
-  "~/.emacs.d/excorporate/diary-excorporate-transient"
+  (concat
+   (file-name-as-directory user-emacs-directory)
+   "excorporate/diary-excorporate-transient")
   "The diary file where Excorporate should save retrieved meetings.
 This file will be #include'd in `diary-file' by
 `excorporate-diary-enable'.")
=== end diff ===

Am I submitting this the right way?

-- 
Gunnar