[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65055: 30.0.50; save-place-abbreviation-file-names :set fails for sa
From: |
Visuwesh |
Subject: |
bug#65055: 30.0.50; save-place-abbreviation-file-names :set fails for saveplace-pdf-view places |
Date: |
Fri, 04 Aug 2023 23:43:56 +0530 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
[வெள்ளி ஆகஸ்ட் 04, 2023] Eli Zaretskii wrote:
>> From: Visuwesh <visuweshm@gmail.com>
>> Date: Fri, 04 Aug 2023 21:45:04 +0530
>>
>> saveplace-pdf-view package [1] uses a custom "place" format to save and
>> restore the last position for PDF files viewed via doc-view package.
>>
>> One such "place" is
>>
>> ("/home/viz/tmp/piron1976.pdf"
>> (pdf-view-bookmark "piron1976.pdf"
>> (filename . "~/tmp/piron1976.pdf")
>> (position . 1)
>> (last-modified 25805 5369 546130 641000)
>> (page . 2)
>> (slice)
>> (size . fit-width)
>> (origin)
>> (handler . pdf-view-bookmark-jump-handler)))
>>
>> This fails with the following backtrace because
>> (cdr (pdf-view-bookmark ...) is a list,
>
> I don't understand: the valid format of save-place-alist is documented
> in its doc string, so this looks like a bug in saveplace-pdf-view
> package? Or what am I missing?
Unfortunately, that's only half the story. save-place-alist can also
have elements such as
("SOME-DIRECTORY" (dired-filename . "SOME-FILENAME"))
to save the place for dired buffers. This is why the :set function of
the user option checks if second element of above place is a list and
also changes the "SOME-FILENAME" to be abbreviated/expanded.
But instead of checking if the second element of the place's cdr is a
string, the :set function simply assumes that it will be always be a
string. This is not wrong as such since that's the only allowed format
as far as core Emacs is concerned but I think having the check in place
would help expand the save-place-alist format as the user desires.