<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pdf-tools.git/lisp/pdf-virtual.el, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/'/>
<entry>
<title>fix(pdf-virtual): use correct key function for filtering page links</title>
<updated>2025-12-30T15:35:04+00:00</updated>
<author>
<name>Vedang Manerikar</name>
<email>ved.manerikar@gmail.com</email>
</author>
<published>2025-12-30T15:35:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=ce2da3ba62c06e12a79ea8abb6b3f37cf48e7d9c'/>
<id>ce2da3ba62c06e12a79ea8abb6b3f37cf48e7d9c</id>
<content type='text'>
The pdf-virtual-pagelinks function was passing 'car as the key function
to pdf-virtual--filter-edges, which caused a type error when processing
links in cropped virtual PDF pages. The link structure is an alist, so
the correct key function extracts edges via (cdr (assq 'edges link)).

Fixes #327
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The pdf-virtual-pagelinks function was passing 'car as the key function
to pdf-virtual--filter-edges, which caused a type error when processing
links in cropped virtual PDF pages. The link structure is an alist, so
the correct key function extracts edges via (cdr (assq 'edges link)).

Fixes #327
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove guards in `pdf-virtual` tests and code.</title>
<updated>2022-10-10T10:09:23+00:00</updated>
<author>
<name>Vedang Manerikar</name>
<email>ved.manerikar@gmail.com</email>
</author>
<published>2022-10-03T09:12:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=365d2d8e8ed45c4358ff767a40fdc184746e043b'/>
<id>365d2d8e8ed45c4358ff767a40fdc184746e043b</id>
<content type='text'>
This is dead-code for supporting Emacs &lt;26.3

Relates to: #26
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is dead-code for supporting Emacs &lt;26.3

Relates to: #26
</pre>
</div>
</content>
</entry>
<entry>
<title>Address some byte-compiler warnings</title>
<updated>2022-10-03T09:17:00+00:00</updated>
<author>
<name>Vedang Manerikar</name>
<email>ved.manerikar@gmail.com</email>
</author>
<published>2022-10-03T09:08:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=2ce06dd3e8c6eac2bc579c2a73b7bf7f580ad6dc'/>
<id>2ce06dd3e8c6eac2bc579c2a73b7bf7f580ad6dc</id>
<content type='text'>
* lisp/pdf-annot.el (pdf-annot-run-modified-hooks): Use cl-case
instead of cl-ecase, as the latter does not support t/otherwise
clauses.  Remove nil clause which never matches.
See https://bugs.gnu.org/51368.
(pdf-annot-edit-contents-finalize):
* lisp/pdf-sync.el (pdf-sync-minor-mode): Mark up symbols
`like-this', to avoid having the apostrophe interpreted as a closing
single quote.  Remove redundant backslashes.
(pdf-sync-synctex-file-name): Use line-beginning-position in place
of point-at-bol, which is deprecated in Emacs 29.
* lisp/pdf-util.el: Autoload list-colors-duplicates before its use
in pdf-util-color-completions, as facemenu is not preloaded since
Emacs 28.
(pdf-util-hexcolor): Use ash in place of lsh, which is deprecated in
Emacs 29.
(pdf-util-convert): Fix docstring markup and indentation.
* lisp/pdf-virtual.el (pdf-virtual-define-adapter): Refill generated
docstring to avoid exceeding 80 column warning threshold.

Relates to: #26
Relates to: #80
Closes: #150
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lisp/pdf-annot.el (pdf-annot-run-modified-hooks): Use cl-case
instead of cl-ecase, as the latter does not support t/otherwise
clauses.  Remove nil clause which never matches.
See https://bugs.gnu.org/51368.
(pdf-annot-edit-contents-finalize):
* lisp/pdf-sync.el (pdf-sync-minor-mode): Mark up symbols
`like-this', to avoid having the apostrophe interpreted as a closing
single quote.  Remove redundant backslashes.
(pdf-sync-synctex-file-name): Use line-beginning-position in place
of point-at-bol, which is deprecated in Emacs 29.
* lisp/pdf-util.el: Autoload list-colors-duplicates before its use
in pdf-util-color-completions, as facemenu is not preloaded since
Emacs 28.
(pdf-util-hexcolor): Use ash in place of lsh, which is deprecated in
Emacs 29.
(pdf-util-convert): Fix docstring markup and indentation.
* lisp/pdf-virtual.el (pdf-virtual-define-adapter): Refill generated
docstring to avoid exceeding 80 column warning threshold.

Relates to: #26
Relates to: #80
Closes: #150
</pre>
</div>
</content>
</entry>
<entry>
<title>Indentation and code-quality fixes</title>
<updated>2021-12-31T04:16:00+00:00</updated>
<author>
<name>Vedang Manerikar</name>
<email>ved.manerikar@gmail.com</email>
</author>
<published>2021-12-28T17:06:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=c5e6be69086b45af05b2f58f6df23167b6a5da79'/>
<id>c5e6be69086b45af05b2f58f6df23167b6a5da79</id>
<content type='text'>
- Remove :group arguments from `defcustom` declarations
  - `defcustom` picks up `defgroup` names from the same file, so
    specifying the group is not necessary
- Ensure that all function-names are properly quoted using #'
- Add an explicit header-option setting lexical-binding to t
- Ensure that cl-check-type uses `satisfies` for filenames
- Replace all `defadvice` with `advice-add`
- Replace `(list ...)` patterns with `\`(...)` patterns

Fixes: #62
Fixes: #32
Partially Fixes: #24
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Remove :group arguments from `defcustom` declarations
  - `defcustom` picks up `defgroup` names from the same file, so
    specifying the group is not necessary
- Ensure that all function-names are properly quoted using #'
- Add an explicit header-option setting lexical-binding to t
- Ensure that cl-check-type uses `satisfies` for filenames
- Replace all `defadvice` with `advice-add`
- Replace `(list ...)` patterns with `\`(...)` patterns

Fixes: #62
Fixes: #32
Partially Fixes: #24
</pre>
</div>
</content>
</entry>
<entry>
<title>define-minor-mode: Remove support for obsolete pos arguments</title>
<updated>2021-05-31T16:13:58+00:00</updated>
<author>
<name>Thomas Hisch</name>
<email>thomas.hisch@ims.co.at</email>
</author>
<published>2021-05-31T14:02:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=5f77dae43eb8f71e52e10ba8cf994883f74c3fb7'/>
<id>5f77dae43eb8f71e52e10ba8cf994883f74c3fb7</id>
<content type='text'>
This removes the positial arguemnt triplet from the define-minor-mode
calls, because they are obsolete since Emacs&lt;21. See the following
paragraph in the help section of define-minor-mode.

For backward compatibility with the Emacs&lt;21 calling convention, the
keywords of define-minor-mode can also be preceded by the obsolete
triplet INIT-VALUE LIGHTER KEYMAP.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the positial arguemnt triplet from the define-minor-mode
calls, because they are obsolete since Emacs&lt;21. See the following
paragraph in the help section of define-minor-mode.

For backward compatibility with the Emacs&lt;21 calling convention, the
keywords of define-minor-mode can also be preceded by the obsolete
triplet INIT-VALUE LIGHTER KEYMAP.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add pdf-virtual-global-minor-mode to pdf-tools custom group</title>
<updated>2021-02-21T09:57:01+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2020-10-30T11:33:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=34ce9199404f4963bf4c34ab553f60c179cd72c7'/>
<id>34ce9199404f4963bf4c34ab553f60c179cd72c7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2021-02-21T09:57:01+00:00</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2020-05-13T12:33:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=b08bcaab377a065e99c83170952d265d9ceead1e'/>
<id>b08bcaab377a065e99c83170952d265d9ceead1e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don’t record temporary window selection changes</title>
<updated>2021-02-20T05:30:58+00:00</updated>
<author>
<name>Michal Nazarewicz</name>
<email>mina86@mina86.com</email>
</author>
<published>2021-02-10T18:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=34a794d8bd402003458b19ebc0a76c90098161c6'/>
<id>34a794d8bd402003458b19ebc0a76c90098161c6</id>
<content type='text'>
There are places with code similar to the following:

      (save-selected-window
        (select-window window)
        …)

For the purposes of this commit, this is roughly equivalent to:

      (let ((old-window (selected-window)))
        (select-window window)
        …
        (select-window old-window 'norecord))

That is, when ‘save-selected-window’ restores the state, it passes
‘norecord’ argument to ‘select-window’ function.  As a result, when
selected window is initially changed ‘buffer-list-update-hook’ is
called however it is not invoked when selected window is restored.
This confuses any code using that hook to track selected window.

To address this issue, change calls such as the above to use
‘norecord’ argument.  This way, ‘buffer-list-update-hook’ is called
neither when the new window is temporarily selected nor when old
window is restored.

For reference, this is indeed what documentation of ‘select-window’
says should be done:

&gt; Run ‘buffer-list-update-hook’ unless NORECORD is non-nil.  Note that
&gt; applications […] often select a window temporarily […]  to simplify
&gt; coding.  As a rule, such selections should not be recorded and
&gt; therefore will not pollute ‘buffer-list-update-hook’.  Selections
&gt; that "really count" are those causing a visible change in the next
&gt; redisplay of WINDOW’s frame and should always be recorded.

Fixes: https://github.com/mina86/auto-dim-other-buffers.el/issues/26
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are places with code similar to the following:

      (save-selected-window
        (select-window window)
        …)

For the purposes of this commit, this is roughly equivalent to:

      (let ((old-window (selected-window)))
        (select-window window)
        …
        (select-window old-window 'norecord))

That is, when ‘save-selected-window’ restores the state, it passes
‘norecord’ argument to ‘select-window’ function.  As a result, when
selected window is initially changed ‘buffer-list-update-hook’ is
called however it is not invoked when selected window is restored.
This confuses any code using that hook to track selected window.

To address this issue, change calls such as the above to use
‘norecord’ argument.  This way, ‘buffer-list-update-hook’ is called
neither when the new window is temporarily selected nor when old
window is restored.

For reference, this is indeed what documentation of ‘select-window’
says should be done:

&gt; Run ‘buffer-list-update-hook’ unless NORECORD is non-nil.  Note that
&gt; applications […] often select a window temporarily […]  to simplify
&gt; coding.  As a rule, such selections should not be recorded and
&gt; therefore will not pollute ‘buffer-list-update-hook’.  Selections
&gt; that "really count" are those causing a visible change in the next
&gt; redisplay of WINDOW’s frame and should always be recorded.

Fixes: https://github.com/mina86/auto-dim-other-buffers.el/issues/26
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove custom macro declarations</title>
<updated>2018-09-25T05:19:51+00:00</updated>
<author>
<name>Andreas Politz</name>
<email>politza@hochschule-trier.de</email>
</author>
<published>2018-09-25T05:19:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=6ff2ae1b2e0edab15bef2411107abb94dd54364a'/>
<id>6ff2ae1b2e0edab15bef2411107abb94dd54364a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Delete trailing whitespace</title>
<updated>2017-03-01T07:12:09+00:00</updated>
<author>
<name>Andreas Politz</name>
<email>politza@hochschule-trier.de</email>
</author>
<published>2017-03-01T07:12:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tews.dev/cgit/pdf-tools.git/commit/?id=7cca03bd2fc534a6b42eafc2afef20099bf83dbf'/>
<id>7cca03bd2fc534a6b42eafc2afef20099bf83dbf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
