| Age | Commit message (Collapse) | Author |
|
Add comprehensive troubleshooting steps for macOS users who encounter
'Package poppler not found' or 'gpgmepp not found' errors when building
epdfinfo. The root cause is often a non-Homebrew pkg-config (e.g., from
Anaconda) shadowing Homebrew's version.
Includes:
- Diagnostic step to identify which pkg-config is in use
- Command-line fix using PKG_CONFIG environment variable
- Emacs Lisp snippet for users building via M-x pdf-tools-install
Closes #299
|
|
Some macOS users were experiencing build failures where pkg-config
could not find poppler, even with Homebrew's poppler package installed.
This occurs when Homebrew doesn't properly link the .pc files to the
standard pkg-config search path.
Fixes #299
|
|
|
|
Document the new pdf-view-roll-minor-mode feature:
- Explain it's experimental and off by default
- How to enable it (M-x pdf-view-roll-minor-mode)
- What it does (multiple pages, smooth scrolling)
- How to enable by default via hook
- Customization options (margin size and color)
- Warning about experimental status
|
|
Document the major new feature in v1.3.0:
- pdf-view-roll-minor-mode for continuous scrolling (Closes #18, #104)
- pdf-annot-edit command for avy-style annotation editing
- Multi-page isearch, link following, and annotation support
- SyncTeX integration with roll mode
- API changes for package developers
|
|
Add automated tests for pdf-roll functionality:
- pdf-roll-page-to-pos utility function
- pdf-roll-page-at-current-pos with various positions
- Customization defaults
- Symbol properties
- Minor mode keymap existence
Fix bug in pdf-roll-margin-color defcustom where the :set
function didn't actually set the variable value.
|
|
Update all pdf-tools features to work correctly when
pdf-view-roll-minor-mode is active:
- pdf-isearch: Search across all displayed pages simultaneously
- pdf-links: Link selection works with multiple visible pages
- pdf-annot: Annotations work on correct page, add pdf-annot-edit
command for avy-style annotation editing
- pdf-sync: SyncTeX jumps work with continuous scroll mode
- pdf-view: Display and navigation functions updated for multi-page
- pdf-util: Coordinate transformation updates for visible pages
- pdf-cache: Simplify prefetch (remove timer indirection)
- pdf-occur: Minor compatibility updates
The mode is experimental. Some features may not interact perfectly
with roll mode. Enable with M-x pdf-view-roll-minor-mode.
API changes:
- pdf-view-active-region now includes page information
- isearch results include page data for multi-page display
Co-authored-by: Daniel Nicolai <dalanicolai@gmail.com>
Co-authored-by: Rahguzar <aikrahguzar@zohomail.eu>
Co-authored-by: Ihor Radchenko <yantar92@gmail.com>
Co-authored-by: NightMachinery <feraidoonmehri@gmail.com>
|
|
Add core infrastructure for displaying multiple PDF pages
simultaneously with continuous scrolling. This introduces
pdf-view-roll-minor-mode which can be enabled in any PDF buffer.
The implementation is based on image-roll.el by Daniel Nicolai,
with significant enhancements by Rahguzar for pdf-tools integration.
Key features:
- Smooth pixel-level scrolling across page boundaries
- Multiple pages visible simultaneously
- Integration with pixel-scroll-precision-mode
- Efficient page display/undisplay management
Closes #18, #104
Co-authored-by: Daniel Nicolai <dalanicolai@gmail.com>
Co-authored-by: Rahguzar <aikrahguzar@zohomail.eu>
Co-authored-by: Ihor Radchenko <yantar92@gmail.com>
Co-authored-by: NightMachinery <feraidoonmehri@gmail.com>
|
|
|
|
Document changes since v1.2.0:
- Replace obsolete registerv-make with cl-defstruct for Emacs 30
- Fix pdf-virtual page link filtering
- Resolve native-comp warnings across multiple files
- Add doas support in autobuild for Alpine/OpenBSD
- Move CI to GitHub Actions
|
|
|
|
|
|
The registerv-make function was deprecated in Emacs 27.1. Replace it
with a proper cl-defstruct (pdf-view-register) and cl-defmethod
implementations for register-val-jump-to, register-val-describe,
and register-val-insert.
Add tests for the register API used by pdf-view:
- pdf-view-registerv-make-creates-register: verifies register creation
- pdf-view-register-val-insert: verifies insert method works
- pdf-view-position-to-register-stores-position: verifies store/retrieve
Fixes: #333
|
|
Reformat docstrings in pdf-view--bounding-box-to-slice,
pdf-document-common-bounding-box, and pdf-view-set-slice-common-bounding-box
to be under 80 characters wide and use proper quoting conventions.
Ref #333
|
|
Add declare-function statements for image-mode-window-get,
image-set-window-vscroll, and image-set-window-hscroll to silence
native compilation warnings about image-mode functions.
Ref #333
|
|
Add declare-function statements for pdf-util-frame-scale-factor,
pdf-util-hexcolor, pdf-util-munch-file, pdf-util-highlight-regexp-in-string,
and pdf-view-buffer-file-name to silence native compilation warnings.
Ref #333
|
|
Add declare-function statements for pdf-view-desired-image-size,
pdf-view-create-page, and image-mode-window-get to silence native
compilation warnings about functions not known to be defined.
Ref #333
|
|
Alpine Linux deprecated sudo in favor of doas. Add doas support to
exec_privileged() so autobuild works on Alpine without requiring users
to install and configure sudo.
Fixes #323
|
|
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
|
|
|
|
|
|
|
|
|
|
Bump version to 1.2.0 and prepare 1.3.0 development cycle.
|
|
|
|
ignore-errors
|
|
Don't assume that there is a window displaying the buffer when
`bookmark-jump` is called. Instead of `bookmark-after-jump-hook` use
`window-buffer-change-functions` so that the buffer is actually
displayed when the code assuming a window is run.
If `window-buffer-change-functions` isn't bound fallback to
`bookmark-after-jump-hook`. The window argument for the inserted hook
is optional to accommodate both cases.
Use `window-buffer-change-functions` only if buffer has not window.
Save the same bookmark if it wasn't restored
Closes: #188
Author: @aikrahguzar
|
|
Notes from the original PR:
The dependencies for android in autobuild can not be installed in
pdf-tools-install, they have to be installed manually in Termux. But
the dependencies are checked when running autobuild.
pdf-tools-install successfully installs epdfinfo in Android Emacs. One
can then view pdf files.
The shebang in autobuild does not work in Termux, I therefore had to
create a separate script "autobuild.android" that in turn executes
autobuild. The problem with the shebang is that "env" in Termux is not
located at "/usr/bin/env".
pdf-tools/Makefile does currently not work in Android Emacs, but it is
not needed for running pdf-tools-install. Fixing this will have to be
done in a separate pull request, if deemed necessary. Reason: There is
yet no consensus for how to implement a command line emacs, to be run
in batch mode, in Android Emacs.
I have successfully run "make test" in Ubuntu, in the repo feature
branch. Running "make server-test" in the master branch fails, so I
have not tested this in the feature branch.
Closes: #230
Author: @johanwiden
|
|
|
|
Add gamma correction options for better contrast control in midnight mode:
- pdf-view-midnight-gamma: nonlinearly scale lightness (default 1.0)
- pdf-view-midnight-gamma-before-invert: control gamma application order
Bug fixes:
- Fix RGB normalization (255 not 256) - was causing incorrect background color
- Add missing black→foreground fast path (comment existed but code was missing)
Closes: #329
Author: @vizziv
|
|
Add support for horizontal scrolling using mouse wheel by setting
mwheel-scroll-left/right-function to image-mode's scroll functions.
Includes boundp checks for compatibility with older Emacs versions.
Closes: #234
Author: @aikrahguzar
|
|
Fix "epdfinfo: No such annotation: annot-X-Y" error caused by
annotations getting out-of-sync between buffer and epdfinfo cache.
Add pdf-annot--ensure-fresh function that fetches fresh annotation data
from the server before modifying, deleting, or interacting with annotations.
Fixes: #246
Closes: #260
Author: @bramadams
|
|
Add remappings for scroll-up-command and scroll-down-command so that
scroll-other-window and scroll-other-window-down work with pdf-view buffers.
This addresses a commonly requested feature:
- https://github.com/politza/pdf-tools/issues/55
- https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01416.html
- https://www.reddit.com/r/emacs/comments/10pkhko/
Closes: #280
Author: @whatacold
|
|
Add build support for Nobara Linux, a Fedora derivative.
- Add os_nobara() detection function (checks /etc/nobara-release)
- Uses same packages as Fedora (dnf package manager)
- Add to --os argument handling and auto-detection chain
Closes: #301
Author: @gs-101
|
|
Add two new customization options:
- `pdf-view-mode-line-position-prefix`: customize the page prefix (default: "P")
- `pdf-view-mode-line-position-use-labels`: show page labels instead of numbers
When enabled, displays PDF page labels (Roman numerals, section
numbers, etc.) in the mode line with safe fallback to numeric pages.
Closes: #331
Author: @rafaelbeirigo
|
|
Update install instructions
Include prerequisites instructions
make path for pdf-tools cleaner (command can now be run without editing the path)
|
|
Use platform-appropriate temp file creation:
- _tempnam() on Windows (Microsoft-recommended)
- mkstemp() on Unix-like systems
Fixes #110, addresses #316
Supersedes #235
|
|
Support the newer UCRT64 MSYS2 environment (recommended default per msys2.org).
- Add UCRT64 detection to server/autobuild
- Fix vasprintf implicit declaration error on Windows (synctex_parser.c)
- Update configure.ac for Windows compatibility
Fixes #282, #286
Supersedes #295
Tested by multiple users on Windows 10/11 with MSYS2.
Co-authored-by: legends2k
|
|
Fixes #325.
|
|
`line-number-at-pos` should be called with second argument `absolute` set to `t` in order for `pdf-sync-forward-correlate` to work in buffers with active narrowing.
|
|
Imported from magit and adjusted:
https://github.com/magit/magit/blob/main/lisp/Makefile#L48
Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
|
|
This makes the metadata buffer consistent with the annotations and
outline buffer in having its own major mode, derived from
special-mode.
I mainly created this because it bugged me that I couldn't press q to
close the metadata buffer.
|
|
|
|
Fixes #287.
|
|
|
|
These variables' default values should match the :type given in their
definitions, or else M-x customize will display a warning or may even
fail to initialize properly.
|
|
Copying my comment from the Github issue:
> The problem is that something seems to have changed in the way brew
> installs glib, due to which pkg-config does not find the glib headers.
>
> To fix this, I have updated the autobuild script to manually modify
> the PKG_CONFIG_PATH. This should fix the problem.
>
> I will test the change and close this issue via the commit once I push
> it. You will need to update your version of pdf-tools and then restart
> Emacs to trigger the re-build again. (It might take a few hours for
> Melpa to pick up the latest version of the pdf-tools)
>
> I will create a linked issue to investigate a better long-term
> solution to this problem.
Closes: #269
|
|
Replace `pdf-annot-default-markup-annotation-properties` and
`pdf-annot-default-text-annotation-properties` with the newer
`pdf-annot-default-annotation-properties`, and remove their use in
`pdf-annot-merge-alists`.
As a side-effect, this fixes broken functionality when providing
defaults for reading colors.
Closes: #268
|
|
The x-gtk prefix has been dropped in Emacs 29.
|
|
|