GNU bug report logs - #42824
26.3; Feature request: implement 'smooth scroll' in djvu.el package

Previous Next

Package: emacs;

Reported by: dalanicolai <at> gmail.com

Date: Wed, 12 Aug 2020 08:40:02 UTC

Severity: wishlist

Found in version 26.3

Done: "Roland Winkler" <winkler <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 42824 in the body.
You can then email your comments to 42824 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Wed, 12 Aug 2020 08:40:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to dalanicolai <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 12 Aug 2020 08:40:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: dalanicolai <at> gmail.com
To: bug-gnu-emacs <at> gnu.org
Subject: 26.3; Feature request: implement 'smooth scroll' in  djvu.el package
Date: Wed, 12 Aug 2020 10:38:52 +0200
The djvu.el pacakge is a beautiful package but unfortunately it is not
designed for reading djvu documents (The comments in the file say it is
meant to be used with DjView). Probably for that reason there is no
smooth scroll over pages implemented (at least I am not aware of that
functionality), i.e. you can scroll smoothly over a
single page but you can only do a full page jump to a next or previous
page.
This means that when you are at the bottom/top of a page and jump to
the
next/previous page then you end up at the bottom/top of that page,
which is annoying. Anyway, smooth scrolling can be implemented with
only
a view simple lines. So I would like to propose to add the following
lines to djvu.el:


    (defun djvu-scroll-up-or-next-page ()
      (interactive)
      (scroll-up-line 5)
      (when (= (window-vscroll) 0)
        (djvu-next-page 1)))

    (defun djvu-scroll-down-or-previous-page ()
      (interactive)
      (if (not (= (window-vscroll) 0))
          (scroll-down-line 5)
        (djvu-prev-page 1)
        (scroll-up-command))))

By adding these lines emacs can be perfectly used as a djvu reader
(although it does not show annotations).


In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.13,
cairo version 1.16.0)
 of 2020-03-28 built on daniel-fedora
Windowing system distributor 'Fedora Project', version 11.0.12008000
System Description:     Fedora release 32 (Thirty Two)

Recent messages:
Loading ~/Sync/emacs/lisp/pdf-avy-highlight...done
Created zotero link.
Loading desktop...done
uncompressing doc-view.el.gz...done
[yas] Prepared just-in-time loading of snippets successfully.
Loading /home/dalanicolai/.emacs.d/.cache/recentf...done
Skipping check for new version (reason: dotfile)
Quit
Text is read-only
funcall-interactively: End of buffer

Configured using:
 'configure --without-gconf --with-xwidgets --without-gsettings
 --with-mailutils --with-cairo --with-modules'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND DBUS GLIB NOTIFY
LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3
X11
XDBE XIM MODULES THREADS XWIDGETS LCMS2

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Spacemacs buffer

Minor modes in effect:
  evil-escape-mode: t
  global-display-line-numbers-mode: t
  global-git-gutter+-mode: t
  projectile-mode: t
  recentf-mode: t
  eval-sexp-fu-flash-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  winner-mode: t
  winum-mode: t
  pupo-mode: t
  global-vi-tilde-fringe-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  save-place-mode: t
  savehist-mode: t
  persp-mode: t
  global-magit-file-mode: t
  diff-auto-refine-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  global-hl-todo-mode: t
  purpose-mode: t
  eyebrowse-mode: t
  global-anzu-mode: t
  anzu-mode: t
  editorconfig-mode: t
  counsel-mode: t
  ivy-mode: t
  clean-aindent-mode: t
  which-key-mode: t
  override-global-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  ido-vertical-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/dalanicolai/.emacs.d/elpa/26.3/develop/magit-section-
20200801.820/magit-section hides
/home/dalanicolai/.emacs.d/elpa/26.3/develop/magit-20200807.1708/magit-
section
/home/dalanicolai/.emacs.d/elpa/26.3/develop/dash-20200803.1520/dash
hides /home/dalanicolai/.emacs.d/core/libs/dash
/home/dalanicolai/.emacs.d/elpa/26.3/develop/ht-20200217.2331/ht hides
/home/dalanicolai/.emacs.d/core/libs/ht
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-processing hides /usr/local/share/emacs/26.3/lisp/org/ob-
processing
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-io hides /usr/local/share/emacs/26.3/lisp/org/ob-io
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-table hides /usr/local/share/emacs/26.3/lisp/org/ob-table
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-ruby hides /usr/local/share/emacs/26.3/lisp/org/ob-ruby
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-core hides /usr/local/share/emacs/26.3/lisp/org/ob-core
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-plot hides /usr/local/share/emacs/26.3/lisp/org/org-plot
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-protocol hides /usr/local/share/emacs/26.3/lisp/org/org-
protocol
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-feed hides /usr/local/share/emacs/26.3/lisp/org/org-feed
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-picolisp hides /usr/local/share/emacs/26.3/lisp/org/ob-
picolisp
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-shell hides /usr/local/share/emacs/26.3/lisp/org/ob-shell
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-clojure hides /usr/local/share/emacs/26.3/lisp/org/ob-
clojure
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-ditaa hides /usr/local/share/emacs/26.3/lisp/org/ob-ditaa
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-man hides /usr/local/share/emacs/26.3/lisp/org/ox-man
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-agenda hides /usr/local/share/emacs/26.3/lisp/org/org-
agenda
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-screen hides /usr/local/share/emacs/26.3/lisp/org/ob-screen
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-gnuplot hides /usr/local/share/emacs/26.3/lisp/org/ob-
gnuplot
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-coq hides /usr/local/share/emacs/26.3/lisp/org/ob-coq
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-mouse hides /usr/local/share/emacs/26.3/lisp/org/org-mouse
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-element hides /usr/local/share/emacs/26.3/lisp/org/org-
element
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-org hides /usr/local/share/emacs/26.3/lisp/org/ox-org
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-maxima hides /usr/local/share/emacs/26.3/lisp/org/ob-maxima
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-makefile hides /usr/local/share/emacs/26.3/lisp/org/ob-
makefile
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-latex hides /usr/local/share/emacs/26.3/lisp/org/ob-latex
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-entities hides /usr/local/share/emacs/26.3/lisp/org/org-
entities
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-md hides /usr/local/share/emacs/26.3/lisp/org/ox-md
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-lisp hides /usr/local/share/emacs/26.3/lisp/org/ob-lisp
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-list hides /usr/local/share/emacs/26.3/lisp/org/org-list
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-dot hides /usr/local/share/emacs/26.3/lisp/org/ob-dot
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-sql hides /usr/local/share/emacs/26.3/lisp/org/ob-sql
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-asymptote hides /usr/local/share/emacs/26.3/lisp/org/ob-
asymptote
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-ref hides /usr/local/share/emacs/26.3/lisp/org/ob-ref
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-fortran hides /usr/local/share/emacs/26.3/lisp/org/ob-
fortran
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-mscgen hides /usr/local/share/emacs/26.3/lisp/org/ob-mscgen
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-awk hides /usr/local/share/emacs/26.3/lisp/org/ob-awk
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-inlinetask hides /usr/local/share/emacs/26.3/lisp/org/org-
inlinetask
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-calc hides /usr/local/share/emacs/26.3/lisp/org/ob-calc
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-lint hides /usr/local/share/emacs/26.3/lisp/org/org-lint
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-odt hides /usr/local/share/emacs/26.3/lisp/org/ox-odt
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-stan hides /usr/local/share/emacs/26.3/lisp/org/ob-stan
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-capture hides /usr/local/share/emacs/26.3/lisp/org/org-
capture
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox hides /usr/local/share/emacs/26.3/lisp/org/ox
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-ledger hides /usr/local/share/emacs/26.3/lisp/org/ob-ledger
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-habit hides /usr/local/share/emacs/26.3/lisp/org/org-habit
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-texinfo hides /usr/local/share/emacs/26.3/lisp/org/ox-
texinfo
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-hledger hides /usr/local/share/emacs/26.3/lisp/org/ob-
hledger
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-macro hides /usr/local/share/emacs/26.3/lisp/org/org-macro
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-ocaml hides /usr/local/share/emacs/26.3/lisp/org/ob-ocaml
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-sqlite hides /usr/local/share/emacs/26.3/lisp/org/ob-sqlite
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-datetree hides /usr/local/share/emacs/26.3/lisp/org/org-
datetree
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-ctags hides /usr/local/share/emacs/26.3/lisp/org/org-ctags
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-duration hides /usr/local/share/emacs/26.3/lisp/org/org-
duration
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-scheme hides /usr/local/share/emacs/26.3/lisp/org/ob-scheme
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-js hides /usr/local/share/emacs/26.3/lisp/org/ob-js
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-indent hides /usr/local/share/emacs/26.3/lisp/org/org-
indent
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-sed hides /usr/local/share/emacs/26.3/lisp/org/ob-sed
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org hides /usr/local/share/emacs/26.3/lisp/org/org
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-lob hides /usr/local/share/emacs/26.3/lisp/org/ob-lob
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-colview hides /usr/local/share/emacs/26.3/lisp/org/org-
colview
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-vala hides /usr/local/share/emacs/26.3/lisp/org/ob-vala
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-sass hides /usr/local/share/emacs/26.3/lisp/org/ob-sass
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-octave hides /usr/local/share/emacs/26.3/lisp/org/ob-octave
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-crypt hides /usr/local/share/emacs/26.3/lisp/org/org-crypt
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-forth hides /usr/local/share/emacs/26.3/lisp/org/ob-forth
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-shen hides /usr/local/share/emacs/26.3/lisp/org/ob-shen
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-python hides /usr/local/share/emacs/26.3/lisp/org/ob-python
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-html hides /usr/local/share/emacs/26.3/lisp/org/ox-html
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob hides /usr/local/share/emacs/26.3/lisp/org/ob
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-install hides /usr/local/share/emacs/26.3/lisp/org/org-
install
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-comint hides /usr/local/share/emacs/26.3/lisp/org/ob-comint
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-footnote hides /usr/local/share/emacs/26.3/lisp/org/org-
footnote
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-clock hides /usr/local/share/emacs/26.3/lisp/org/org-clock
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-mobile hides /usr/local/share/emacs/26.3/lisp/org/org-
mobile
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-ebnf hides /usr/local/share/emacs/26.3/lisp/org/ob-ebnf
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-plantuml hides /usr/local/share/emacs/26.3/lisp/org/ob-
plantuml
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-publish hides /usr/local/share/emacs/26.3/lisp/org/ox-
publish
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-abc hides /usr/local/share/emacs/26.3/lisp/org/ob-abc
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-eval hides /usr/local/share/emacs/26.3/lisp/org/ob-eval
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-haskell hides /usr/local/share/emacs/26.3/lisp/org/ob-
haskell
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-matlab hides /usr/local/share/emacs/26.3/lisp/org/ob-matlab
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-compat hides /usr/local/share/emacs/26.3/lisp/org/org-
compat
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-tangle hides /usr/local/share/emacs/26.3/lisp/org/ob-tangle
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-archive hides /usr/local/share/emacs/26.3/lisp/org/org-
archive
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-J hides /usr/local/share/emacs/26.3/lisp/org/ob-J
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-timer hides /usr/local/share/emacs/26.3/lisp/org/org-timer
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-latex hides /usr/local/share/emacs/26.3/lisp/org/ox-latex
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-faces hides /usr/local/share/emacs/26.3/lisp/org/org-faces
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-emacs-lisp hides /usr/local/share/emacs/26.3/lisp/org/ob-
emacs-lisp
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-icalendar hides /usr/local/share/emacs/26.3/lisp/org/ox-
icalendar
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-id hides /usr/local/share/emacs/26.3/lisp/org/org-id
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-table hides /usr/local/share/emacs/26.3/lisp/org/org-table
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-attach hides /usr/local/share/emacs/26.3/lisp/org/org-
attach
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-exp hides /usr/local/share/emacs/26.3/lisp/org/ob-exp
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-macs hides /usr/local/share/emacs/26.3/lisp/org/org-macs
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-java hides /usr/local/share/emacs/26.3/lisp/org/ob-java
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-lilypond hides /usr/local/share/emacs/26.3/lisp/org/ob-
lilypond
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-org hides /usr/local/share/emacs/26.3/lisp/org/ob-org
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-C hides /usr/local/share/emacs/26.3/lisp/org/ob-C
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-lua hides /usr/local/share/emacs/26.3/lisp/org/ob-lua
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-pcomplete hides /usr/local/share/emacs/26.3/lisp/org/org-
pcomplete
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-version hides /usr/local/share/emacs/26.3/lisp/org/org-
version
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-ascii hides /usr/local/share/emacs/26.3/lisp/org/ox-ascii
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-R hides /usr/local/share/emacs/26.3/lisp/org/ob-R
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-groovy hides /usr/local/share/emacs/26.3/lisp/org/ob-groovy
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-src hides /usr/local/share/emacs/26.3/lisp/org/org-src
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-perl hides /usr/local/share/emacs/26.3/lisp/org/ob-perl
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ob-css hides /usr/local/share/emacs/26.3/lisp/org/ob-css
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/ox-beamer hides /usr/local/share/emacs/26.3/lisp/org/ox-beamer
/home/dalanicolai/.emacs.d/elpa/26.3/develop/org-plus-contrib-
20200810/org-loaddefs hides /usr/local/share/emacs/26.3/lisp/org/org-
loaddefs
/home/dalanicolai/.emacs.d/elpa/26.3/develop/soap-client-3.1.5/soap-
inspect hides /usr/local/share/emacs/26.3/lisp/net/soap-inspect
/home/dalanicolai/.emacs.d/elpa/26.3/develop/soap-client-3.1.5/soap-
client hides /usr/local/share/emacs/26.3/lisp/net/soap-client
/home/dalanicolai/.emacs.d/elpa/26.3/develop/let-alist-1.0.6/let-alist
hides /usr/local/share/emacs/26.3/lisp/emacs-lisp/let-alist

Features:
(shadow editorconfig-core editorconfig-core-handle editorconfig-fnmatch
mail-extr emacsbug sendmail smex evil-escape display-line-numbers
git-gutter-fringe+ fringe-helper git-gutter+ docker-tramp tramp-cache
tramp tramp-compat tramp-loaddefs trampver ucs-normalize projectile
grep
recentf company-files company-keywords company-etags company-gtags
company-dabbrev-code company-dabbrev company-semantic company-template
company-capf company overseer pkg-info epl auto-compile packed
elisp-slime-nav etags flycheck-elsa flycheck-package package-lint
finder
eval-sexp-fu goto-addr auto-highlight-symbol evil-lisp-state
flycheck-pos-tip pos-tip flycheck-ledger flycheck highlight-numbers
parent-mode highlight-parentheses hideshow rainbow-delimiters
smartparens-config smartparens-org smartparens-markdown smartparens-
text
smartparens-c smartparens ol-w3m ol-rmail ol-mhe ol-irc ol-info ol-gnus
nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus
nnheader ol-eww ol-docview doc-view image-mode jka-compr ol-bibtex
bibtex ol-bbdb desktop frameset ob-scheme geiser-impl geiser-custom
geiser-base geiser ob-lisp ob-mathematica ob-latex ob-asymptote ob-sql
ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs ob-python ob-js ob-shell ivy-dired-history
dired-aux zotero-find sql view emms-browser sort emms-playlist-sort
emms-playlist-mode emms-last-played emms-cache emms-info later-do
emms-source-playlist emms-source-file locate emms-player-simple emms
emms-compat lsp-latex lsp-clients lsp-mode lsp-protocol
yasnippet-snippets vala-snippets common-lisp-snippets yasnippet
elec-pair tree-widget spinner network-stream starttls inline ewoc
em-glob esh-util dash-functional bindat thesaurus gitter
org-babel-eval-in-repl eval-in-repl ace-window avy paredit
github-markdown-preview request-deferred deferred request helm-xstarter
org-drill persist org-id org-agenda svg dom exec-path-from-shell
ox-re-reveal winner .emacs xterm-color ws-butler winum
spacemacs-purpose-popwin window-purpose-x imenu-list ibuf-ext ibuffer
ibuffer-loaddefs vi-tilde-fringe symbol-overlay string-inflection
spaceline-config spaceline-segments spaceline powerline
powerline-separators powerline-themes diminish saveplace savehist
prodigy posframe popwin persp-mode org-wiki helm helm-global-bindings
helm-easymenu helm-source helm-multi-match helm-lib ob-hy org-re-reveal
ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn
nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar
ox-html table ox-ascii ox-publish ox org-element orgit evil-magit
git-rebase forge-list forge-commands forge-semi forge-bitbucket buck
forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github
ghub-graphql treepy gsexp ghub json map forge-notify forge-revnote
forge-pullreq forge-issue forge-topic parse-time bug-reference
forge-post markdown-mode edit-indirect forge-repo forge forge-core
forge-db closql emacsql-sqlite emacsql emacsql-compiler url-http tls
gnutls url-auth url-gw nsm url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap
magit-submodule magit-obsolete magit-popup magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func imenu magit-diff smerge-mode diff-mode magit-core
magit-autorevert magit-margin magit-transient magit-process magit-mode
git-commit transient magit-git magit-section magit-utils crm log-edit
message rmc puny rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-
editor
async-bytecomp async server org ob ob-tangle ob-ref ob-lob ob-table
org-macro org-footnote org-src ob-comint org-pcomplete org-list
org-faces org-entities org-version ob-emacs-lisp org-table org-keys
org-loaddefs find-func cal-menu calendar cal-loaddefs avl-tree
generator
ol ob-exp ob-core org-compat ob-eval org-macs ivy-hydra hl-todo
window-purpose window-purpose-fixes window-purpose-prefix-overload
window-purpose-switch let-alist window-purpose-layout
window-purpose-core window-purpose-configuration window-purpose-utils
eyebrowse evil-unimpaired f evil-textobj-line evil-mc
evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make
evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars
evil-mc-known-commands evil-mc-common evil-anzu anzu emr popup s ein
editorconfig noutline outline counsel xdg xref project dired
dired-loaddefs compile swiper ivy flx delsel ivy-faces ivy-overlay
colir
color clean-aindent-mode clang-format xml slime-autoloads gh-common
marshal cl tex-site ede/auto hybrid-mode evil-evilified-state which-key
use-package use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key use-package-core hydra lv cus-edit
cus-start cus-load evil evil-keybindings evil-integration undo-tree
diff
evil-maps evil-commands reveal flyspell ispell evil-jumps
evil-command-window evil-types evil-search evil-ex shell pcomplete
comint ansi-color evil-macros evil-repeat evil-states evil-core
evil-common windmove thingatpt rect evil-digraphs evil-vars ring
bind-map quelpa mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047
rfc2045 mm-util ietf-drums mail-prsvr lisp-mnt help-fns radix-tree
hl-line xt-mouse autorevert filenotify cl-extra disp-table wid-edit
spacemacs-dark-theme spacemacs-common format-spec info finder-inf
ido-vertical-mode ido core-spacemacs core-spacebind core-use-package-
ext
core-transient-state core-micro-state core-toggle core-keybindings
core-fonts-support core-themes-support core-display-init core-jump
core-release-management core-custom-settings core-configuration-layer
eieio-compat core-progress-bar core-spacemacs-buffer core-funcs ht dash
help-mode warnings package url-handlers url-parse auth-source cl-seq
password-cache url-vars seq eieio byte-opt bytecomp byte-compile cconv
eieio-core eieio-loaddefs epg epg-config core-command-line pcase
core-debug edmacro kmacro derived cl-macs gv profiler easymenu
cl-loaddefs cl-lib core-hooks page-break-lines easy-mmode core-env
load-env-vars rx core-dotspacemacs advice core-emacs-backports subr-x
core-dumper time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-
readable
backquote threads dbusbind inotify lcms2 dynamic-setting
font-render-setting xwidget-internal cairo move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 1244625 1156538)
 (symbols 48 107026 262)
 (miscs 40 732 785)
 (strings 32 311670 185849)
 (string-bytes 1 10290339)
 (vectors 16 126154)
 (vector-slots 8 2053717 803772)
 (floats 8 817 489)
 (intervals 56 3855 706)
 (buffers 992 12))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Mon, 26 Oct 2020 21:44:02 GMT) Full text and rfc822 format available.

Message #8 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Roland Winkler <winkler <at> gnu.org>
Cc: dalanicolai <at> gmail.com, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Mon, 26 Oct 2020 22:42:57 +0100
Roland, could you take a look at this suggestion -- I've not used
djvu.el myself, so I'm not sure whether this would make sense or not:

dalanicolai <at> gmail.com writes:

> The djvu.el pacakge is a beautiful package but unfortunately it is not
> designed for reading djvu documents (The comments in the file say it is
> meant to be used with DjView). Probably for that reason there is no
> smooth scroll over pages implemented (at least I am not aware of that
> functionality), i.e. you can scroll smoothly over a
> single page but you can only do a full page jump to a next or previous
> page.
> This means that when you are at the bottom/top of a page and jump to
> the
> next/previous page then you end up at the bottom/top of that page,
> which is annoying. Anyway, smooth scrolling can be implemented with
> only
> a view simple lines. So I would like to propose to add the following
> lines to djvu.el:
>
>     (defun djvu-scroll-up-or-next-page ()
>       (interactive)
>       (scroll-up-line 5)
>       (when (= (window-vscroll) 0)
>         (djvu-next-page 1)))
>
>     (defun djvu-scroll-down-or-previous-page ()
>       (interactive)
>       (if (not (= (window-vscroll) 0))
>           (scroll-down-line 5)
>         (djvu-prev-page 1)
>         (scroll-up-command))))
>
> By adding these lines emacs can be perfectly used as a djvu reader
> (although it does not show annotations).

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Tue, 27 Oct 2020 01:33:01 GMT) Full text and rfc822 format available.

Message #11 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: dalanicolai <dalanicolai <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Roland Winkler <winkler <at> gnu.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Tue, 27 Oct 2020 02:32:32 +0100
[Message part 1 (text/plain, inline)]
FYI it is inspired by `pdf-view-next-line-or-next-page` (and complement) of
the pdf-tools package.

On Mon, 26 Oct 2020 at 22:43, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:

> Roland, could you take a look at this suggestion -- I've not used
> djvu.el myself, so I'm not sure whether this would make sense or not:
>
> dalanicolai <at> gmail.com writes:
>
> > The djvu.el pacakge is a beautiful package but unfortunately it is not
> > designed for reading djvu documents (The comments in the file say it is
> > meant to be used with DjView). Probably for that reason there is no
> > smooth scroll over pages implemented (at least I am not aware of that
> > functionality), i.e. you can scroll smoothly over a
> > single page but you can only do a full page jump to a next or previous
> > page.
> > This means that when you are at the bottom/top of a page and jump to
> > the
> > next/previous page then you end up at the bottom/top of that page,
> > which is annoying. Anyway, smooth scrolling can be implemented with
> > only
> > a view simple lines. So I would like to propose to add the following
> > lines to djvu.el:
> >
> >     (defun djvu-scroll-up-or-next-page ()
> >       (interactive)
> >       (scroll-up-line 5)
> >       (when (= (window-vscroll) 0)
> >         (djvu-next-page 1)))
> >
> >     (defun djvu-scroll-down-or-previous-page ()
> >       (interactive)
> >       (if (not (= (window-vscroll) 0))
> >           (scroll-down-line 5)
> >         (djvu-prev-page 1)
> >         (scroll-up-command))))
> >
> > By adding these lines emacs can be perfectly used as a djvu reader
> > (although it does not show annotations).
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Wed, 28 Oct 2020 19:46:01 GMT) Full text and rfc822 format available.

Message #14 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: "Roland Winkler" <winkler <at> gnu.org>
To: dalanicolai <dalanicolai <at> gmail.com>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Wed, 28 Oct 2020 14:45:04 -0500
On Tue Oct 27 2020 dalanicolai wrote:
> FYI it is inspired by `pdf-view-next-line-or-next-page` (and
> complement) of the pdf-tools package.
> 
> On Mon, 26 Oct 2020 at 22:43, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
> 
>     Roland, could you take a look at this suggestion -- I've not used
>     djvu.el myself, so I'm not sure whether this would make sense or not:

Thanks, I want to see how this can be used with Djvu mode.

Is there a generic keybinding for similar commands in other modes?

Are the suggested commands to be used with djvu-image-mode only or
also with the text-based Djvu mode?  Certainly, these use cases
should be handled consistently.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Thu, 29 Oct 2020 14:54:02 GMT) Full text and rfc822 format available.

Message #17 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: dalanicolai <dalanicolai <at> gmail.com>
To: Roland Winkler <winkler <at> gnu.org>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Thu, 29 Oct 2020 15:53:02 +0100
[Message part 1 (text/plain, inline)]
Well, it is just more or less the function
`doc-view-next-line-or-next-page` (i.e. `C-n`) slightly adapted to
djvu-mode, because djvu-mode works slightly differently.
It is meant for `djvu-image-mode-only` but I have simply bound it in the
`djvu-read-mode-map` and it seems to handle things fine.
It is just a small addition that slightly improves the scrolling experience
(i.e. it becomes like that in doc-view).

While I am here anyway, I have also created some code to implement
`djvu-occur`
similar to `pdf-occur` (but synchronous instead of async) which works fine
for most djvu documents. Also I have added some annotation drawing features.
I have created a new github repo for it here
<https://github.com/dalanicolai/djvu2.el>. So if you are interested you
could have a look at it or even test it.
However, I am not a very experienced elisp programmer, and although the
`djvu-occur` code could probably could get merged without too much
improvements, the code for annotation drawing can get cleaned up quite a
bit.

Anyway, I am just informing you about it. I don't expect anyone to spend
much time on it, as there is a good working pdf-tools already.
I am just playing with it a little, becauseI I think it would be great if
djvu.el and pdf-tools.el functionality could all get merged into doc-view
at some point.
But I fully understand that time and resources of volunteers generally are
very limited and that it does not have too much priority anyway (as
mentioned in djvu.el, djview already exists).

Okay, getting very much off topic here. In short, to me it seems that these
scrolling functions handle cases consistently enough. Maybe they can be
added as an option (and get documented as a not well-tested hack). If the
code was on github/gitlab/etc, I would just have created an issue and there
could be made a reference to the issue for people interested.

On Wed, 28 Oct 2020 at 20:45, Roland Winkler <winkler <at> gnu.org> wrote:

> On Tue Oct 27 2020 dalanicolai wrote:
> > FYI it is inspired by `pdf-view-next-line-or-next-page` (and
> > complement) of the pdf-tools package.
> >
> > On Mon, 26 Oct 2020 at 22:43, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
> >
> >     Roland, could you take a look at this suggestion -- I've not used
> >     djvu.el myself, so I'm not sure whether this would make sense or not:
>
> Thanks, I want to see how this can be used with Djvu mode.
>
> Is there a generic keybinding for similar commands in other modes?
>
> Are the suggested commands to be used with djvu-image-mode only or
> also with the text-based Djvu mode?  Certainly, these use cases
> should be handled consistently.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Thu, 29 Oct 2020 14:55:01 GMT) Full text and rfc822 format available.

Message #20 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: dalanicolai <dalanicolai <at> gmail.com>
To: Roland Winkler <winkler <at> gnu.org>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Thu, 29 Oct 2020 15:54:30 +0100
[Message part 1 (text/plain, inline)]
In my previous mail I meant 'it seems to handle things fine also in the
text-based mode'

On Thu, 29 Oct 2020 at 15:53, dalanicolai <dalanicolai <at> gmail.com> wrote:

> Well, it is just more or less the function
> `doc-view-next-line-or-next-page` (i.e. `C-n`) slightly adapted to
> djvu-mode, because djvu-mode works slightly differently.
> It is meant for `djvu-image-mode-only` but I have simply bound it in the
> `djvu-read-mode-map` and it seems to handle things fine.
> It is just a small addition that slightly improves the scrolling
> experience (i.e. it becomes like that in doc-view).
>
> While I am here anyway, I have also created some code to implement
> `djvu-occur`
> similar to `pdf-occur` (but synchronous instead of async) which works fine
> for most djvu documents. Also I have added some annotation drawing features.
> I have created a new github repo for it here
> <https://github.com/dalanicolai/djvu2.el>. So if you are interested you
> could have a look at it or even test it.
> However, I am not a very experienced elisp programmer, and although the
> `djvu-occur` code could probably could get merged without too much
> improvements, the code for annotation drawing can get cleaned up quite a
> bit.
>
> Anyway, I am just informing you about it. I don't expect anyone to spend
> much time on it, as there is a good working pdf-tools already.
> I am just playing with it a little, becauseI I think it would be great if
> djvu.el and pdf-tools.el functionality could all get merged into doc-view
> at some point.
> But I fully understand that time and resources of volunteers generally are
> very limited and that it does not have too much priority anyway (as
> mentioned in djvu.el, djview already exists).
>
> Okay, getting very much off topic here. In short, to me it seems that
> these scrolling functions handle cases consistently enough. Maybe they can
> be added as an option (and get documented as a not well-tested hack). If
> the code was on github/gitlab/etc, I would just have created an issue and
> there could be made a reference to the issue for people interested.
>
> On Wed, 28 Oct 2020 at 20:45, Roland Winkler <winkler <at> gnu.org> wrote:
>
>> On Tue Oct 27 2020 dalanicolai wrote:
>> > FYI it is inspired by `pdf-view-next-line-or-next-page` (and
>> > complement) of the pdf-tools package.
>> >
>> > On Mon, 26 Oct 2020 at 22:43, Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
>> >
>> >     Roland, could you take a look at this suggestion -- I've not used
>> >     djvu.el myself, so I'm not sure whether this would make sense or
>> not:
>>
>> Thanks, I want to see how this can be used with Djvu mode.
>>
>> Is there a generic keybinding for similar commands in other modes?
>>
>> Are the suggested commands to be used with djvu-image-mode only or
>> also with the text-based Djvu mode?  Certainly, these use cases
>> should be handled consistently.
>>
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Fri, 06 Nov 2020 18:53:02 GMT) Full text and rfc822 format available.

Message #23 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: "Roland Winkler" <winkler <at> gnu.org>
To: dalanicolai <dalanicolai <at> gmail.com>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Fri, 6 Nov 2020 12:51:54 -0600
On Thu Oct 29 2020 dalanicolai wrote:
> Well, it is just more or less the function
> `doc-view-next-line-or-next-page` (i.e. `C-n`) slightly adapted to
> djvu-mode, because djvu-mode works slightly differently.  It is
> meant for `djvu-image-mode-only` but I have simply bound it in the
> `djvu-read-mode-map` and it seems to handle things fine.  It is
> just a small addition that slightly improves the scrolling
> experience (i.e. it becomes like that in doc-view).

Update:

I have been looking into doc-view.  It offers more complete and more
consistent support for scrolling and I am trying to find out how
this can possibly be ported to djvu.el.

On the other hand, I am also wondering whether it could make sense
to add a backend for djvu files to doc-view.  Probably this depends
on what users want to do.  I started djvu.el for editing djvu
documents which is often very different from viewing such files.

> While I am here anyway, I have also created some code to implement
> `djvu-occur` similar to `pdf-occur` (but synchronous instead of
> async) which works fine for most djvu documents.

Did I see correctly that this code relies on `convert' from
imagemagic for updating the images?

I need some more time to understand better what the code is doing.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Sat, 07 Nov 2020 19:17:02 GMT) Full text and rfc822 format available.

Message #26 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: dalanicolai <dalanicolai <at> gmail.com>
To: Roland Winkler <winkler <at> gnu.org>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Sat, 7 Nov 2020 20:16:35 +0100
[Message part 1 (text/plain, inline)]
> I have been looking into doc-view.  It offers more complete and more
> consistent support for scrolling and I am trying to find out how
> this can possibly be ported to djvu.el

I do not fully understand what you are referring to with 'more complete and
consistent,
but  the functions I've sent in the request are really small, only 5 lines,
and I think
they implement the essence of doc-view its scrolling feature. It was really
meant as just
a small extra convenient addition to solve the small, but inconvenient
problem, as explained
in the original request.

> On the other hand, I am also wondering whether it could make sense
> to add a backend for djvu files to doc-view.  Probably this depends
> on what users want to do.  I started djvu.el for editing djvu
> documents which is often very different from viewing such files.

Well, in the djvu2.el <https://github.com/dalanicolai/djvu2.el> package, I
use the info in the annotation buffer to draw the annotations
(using imagemagick its convert command). Of course as just a plain reader
(without annotation
features), doc-view is already a fine reader for djvu documents.

> > While I am here anyway, I have also created some code to implement
> > `djvu-occur` similar to `pdf-occur` (but synchronous instead of
> > async) which works fine for most djvu documents.
>
> Did I see correctly that this code relies on `convert' from
> imagemagic for updating the images?

I am not sure if you are referring to the pdf-occur functionality because
that does not rely
on convert. Convert is used for drawing the annotations, the code for
djvu-occur is in the
djvu-occur section (idicated with ;;; Djvu occur). The djvu-occur function
uses the tablist
mode from pdf-tools to provide occur functionality similar to that of
pdf-tools.

Anyway, the message about djvu2.el was just as a comment that maybe you are
interested to
hear of it, nothing more. The request was just to add the two scroll
functions (because I was not aware
that doc-view was already perfectly able to show djvu document with
"acceptable" scrolling functionality).

I understand that djvu.el was meant especially for editing. Also, I think
doc-view does a fine job when reading
djvu documents. I was just experimenting to see if I could, with not too
much effort, view my edits from djvu.el
within some Emacs reader. So this is what djvu2.el solves, but in a hacky
way. Also implementing occur, is not essential
but I really like it in pdf-tools, and it was quite easy and
straightforward to port to djvu.el (so I did that in djvu2.el).
But djvu2.el is just experimental, a short study to find out if the
required work is worth the effort...


On Fri, 6 Nov 2020 at 19:51, Roland Winkler <winkler <at> gnu.org> wrote:

> On Thu Oct 29 2020 dalanicolai wrote:
> > Well, it is just more or less the function
> > `doc-view-next-line-or-next-page` (i.e. `C-n`) slightly adapted to
> > djvu-mode, because djvu-mode works slightly differently.  It is
> > meant for `djvu-image-mode-only` but I have simply bound it in the
> > `djvu-read-mode-map` and it seems to handle things fine.  It is
> > just a small addition that slightly improves the scrolling
> > experience (i.e. it becomes like that in doc-view).
>
> Update:
>
> I have been looking into doc-view.  It offers more complete and more
> consistent support for scrolling and I am trying to find out how
> this can possibly be ported to djvu.el.
>
> On the other hand, I am also wondering whether it could make sense
> to add a backend for djvu files to doc-view.  Probably this depends
> on what users want to do.  I started djvu.el for editing djvu
> documents which is often very different from viewing such files.
>
> > While I am here anyway, I have also created some code to implement
> > `djvu-occur` similar to `pdf-occur` (but synchronous instead of
> > async) which works fine for most djvu documents.
>
> Did I see correctly that this code relies on `convert' from
> imagemagic for updating the images?
>
> I need some more time to understand better what the code is doing.
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Sun, 15 Nov 2020 21:19:01 GMT) Full text and rfc822 format available.

Message #29 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: "Roland Winkler" <winkler <at> gnu.org>
To: dalanicolai <dalanicolai <at> gmail.com>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Sun, 15 Nov 2020 15:18:45 -0600
On Sat Nov 7 2020 dalanicolai wrote:
> I do not fully understand what you are referring to with 'more
> complete and consistent, but  the functions I've sent in the
> request are really small, only 5 lines, and I think they implement
> the essence of doc-view its scrolling feature. It was really meant
> as just a small extra convenient addition to solve the small, but
> inconvenient problem, as explained in the original request.

I have updated djvu.el on GNU Elpa, please take a look.
I implemented commands for scrolling for the `Read' buffer both in
regular (text) mode and image minor mode.  Also, I adopted the
keybindings from doc-view and added a user option djvu-continuous
similar to doc-view-continuous.  So likely you may want to customize
djvu-continuous.

Please, let me know if this works for you, then I can close this bug
report.

> Well, in the djvu2.el package, I use the info in the annotation
> buffer to draw the annotations (using imagemagick its convert
> command). Of course as just a plain reader (without annotation
> features), doc-view is already a fine reader for djvu documents.

You do not need imagemagick convert for this.  For the ppm images
used by djvu.el, emacs can do that, too, see `djvu-image-rect'.
Maybe I'll do that one day.

However, adding just the color of the annotations I find less
important than also displaying tooltips.  These tooltips are
displayed in the regular text mode of the Read buffers.  I do not
know how to generate tooltips based on the pixel coordinates of the
mouse pointer over an image.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#42824; Package emacs. (Mon, 16 Nov 2020 13:09:01 GMT) Full text and rfc822 format available.

Message #32 received at 42824 <at> debbugs.gnu.org (full text, mbox):

From: dalanicolai <dalanicolai <at> gmail.com>
To: Roland Winkler <winkler <at> gnu.org>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 42824 <at> debbugs.gnu.org
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Mon, 16 Nov 2020 14:08:08 +0100
[Message part 1 (text/plain, inline)]
The scrolling functionality looks great now. Indeed setting the
djvu-continuous to t provides the functionality that I requested/proposed.

Regarding the annotation features, I have implemented more in djvu2.el than
just highlighting rectangles. It also shows free text, line and arrow
annotations. I think those things can not be implemented via
`djvu-image-rect`. The djvu2.el page contains a demo screencast
<https://github.com/dalanicolai/djvu2.el#usage>. Just to remind you,
djvu2.el also implements djvu-occur and imenu functionality.

Regarding tooltips based on pixel coordinates, this can be achieved (as it
has been done in pdf-tools) via the `:map` and `:pointer` keywords in the image
descriptor
<https://www.gnu.org/software/emacs/manual/html_node/elisp/Image-Descriptors.html>.
However instead of implementing this separately, I think it would be great
if as much as possible of the pdf-tools code could be reused (I mean that
djvu and pdf share as much code as possible for similar functionality).
Although it would be great if it got implemented, so that Emacs also
becomes the best document reader, for me personally the invested time would
not be worth the gain (Although I might have a look at it some time as some
kind of exercise. djvu2.el for me was also just an exercise/study).
<https://www.gnu.org/software/emacs/manual/html_node/elisp/Image-Descriptors.html>

On Sun, 15 Nov 2020 at 22:18, Roland Winkler <winkler <at> gnu.org> wrote:

> On Sat Nov 7 2020 dalanicolai wrote:
> > I do not fully understand what you are referring to with 'more
> > complete and consistent, but  the functions I've sent in the
> > request are really small, only 5 lines, and I think they implement
> > the essence of doc-view its scrolling feature. It was really meant
> > as just a small extra convenient addition to solve the small, but
> > inconvenient problem, as explained in the original request.
>
> I have updated djvu.el on GNU Elpa, please take a look.
> I implemented commands for scrolling for the `Read' buffer both in
> regular (text) mode and image minor mode.  Also, I adopted the
> keybindings from doc-view and added a user option djvu-continuous
> similar to doc-view-continuous.  So likely you may want to customize
> djvu-continuous.
>
> Please, let me know if this works for you, then I can close this bug
> report.
>
> > Well, in the djvu2.el package, I use the info in the annotation
> > buffer to draw the annotations (using imagemagick its convert
> > command). Of course as just a plain reader (without annotation
> > features), doc-view is already a fine reader for djvu documents.
>
> You do not need imagemagick convert for this.  For the ppm images
> used by djvu.el, emacs can do that, too, see `djvu-image-rect'.
> Maybe I'll do that one day.
>
> However, adding just the color of the annotations I find less
> important than also displaying tooltips.  These tooltips are
> displayed in the regular text mode of the Read buffers.  I do not
> know how to generate tooltips based on the pixel coordinates of the
> mouse pointer over an image.
>
[Message part 2 (text/html, inline)]

Reply sent to "Roland Winkler" <winkler <at> gnu.org>:
You have taken responsibility. (Mon, 16 Nov 2020 16:51:01 GMT) Full text and rfc822 format available.

Notification sent to dalanicolai <at> gmail.com:
bug acknowledged by developer. (Mon, 16 Nov 2020 16:51:01 GMT) Full text and rfc822 format available.

Message #37 received at 42824-done <at> debbugs.gnu.org (full text, mbox):

From: "Roland Winkler" <winkler <at> gnu.org>
To: dalanicolai <dalanicolai <at> gmail.com>
Cc: 42824-done <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>
Subject: Re: bug#42824: 26.3; Feature request: implement 'smooth scroll' in
 djvu.el package
Date: Mon, 16 Nov 2020 10:50:07 -0600
On Mon Nov 16 2020 dalanicolai wrote:
> The scrolling functionality looks great now. Indeed setting the
> djvu-continuous to t provides the functionality that I
> requested/proposed.

Thanks, I am closing this bug report.  We can continue the
discussion of annotations off-list.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 15 Dec 2020 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 104 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.