473 |
(defvar pages-pos-list nil |
(defvar pages-pos-list nil |
474 |
"List containing the positions of the pages in the pages-buffer.") |
"List containing the positions of the pages in the pages-buffer.") |
475 |
|
|
476 |
|
(defvar pages-target-buffer) |
477 |
|
|
478 |
(defvar pages-directory-map nil |
(defvar pages-directory-map nil |
479 |
"Keymap for the pages-directory-buffer.") |
"Keymap for the pages-directory-buffer.") |
480 |
|
|
571 |
(message "Creating directory for: %s " |
(message "Creating directory for: %s " |
572 |
(buffer-name))) |
(buffer-name))) |
573 |
|
|
574 |
(let ((target-buffer (current-buffer)) |
(let ((pages-target-buffer (current-buffer)) |
575 |
(pages-directory-buffer |
(pages-directory-buffer |
576 |
(concat pages-directory-prefix " " (buffer-name))) |
(concat pages-directory-prefix " " (buffer-name))) |
577 |
(linenum 1) |
(linenum 1) |
587 |
(pages-directory-mode) |
(pages-directory-mode) |
588 |
(insert |
(insert |
589 |
"==== Pages Directory: use `C-c C-c' to go to page under cursor. ====" ?\n) |
"==== Pages Directory: use `C-c C-c' to go to page under cursor. ====" ?\n) |
590 |
(setq pages-buffer target-buffer) |
(setq pages-buffer pages-target-buffer) |
591 |
(setq pages-pos-list nil)) |
(setq pages-pos-list nil)) |
592 |
|
|
593 |
(if pages-list-all-headers-p |
(if pages-list-all-headers-p |
637 |
(setq pages-pos-list (nreverse pages-pos-list)) |
(setq pages-pos-list (nreverse pages-pos-list)) |
638 |
(if (interactive-p) |
(if (interactive-p) |
639 |
(message "%d matching lines in: %s" |
(message "%d matching lines in: %s" |
640 |
(length pages-pos-list) (buffer-name target-buffer)))) |
(length pages-pos-list) (buffer-name pages-target-buffer)))) |
641 |
(pop-to-buffer pages-directory-buffer) |
(pop-to-buffer pages-directory-buffer) |
642 |
(sit-for 0) ; otherwise forward-line fails if N > window height. |
(sit-for 0) ; otherwise forward-line fails if N > window height. |
643 |
(forward-line (if (= 0 pages-buffer-original-page) |
(forward-line (if (= 0 pages-buffer-original-page) |
682 |
(setq pages-pos-list (cons position pages-pos-list)) |
(setq pages-pos-list (cons position pages-pos-list)) |
683 |
;; insert page header |
;; insert page header |
684 |
(setq inserted-at (point)) |
(setq inserted-at (point)) |
685 |
(insert-buffer-substring target-buffer start end) |
(insert-buffer-substring pages-target-buffer start end) |
686 |
(add-text-properties inserted-at (point) |
(add-text-properties inserted-at (point) |
687 |
'(mouse-face highlight |
'(mouse-face highlight |
688 |
help-echo "mouse-2: go to this page")) |
help-echo "mouse-2: go to this page")) |