[elpa] master 649726e: Improve jumping to matches in *El Occur* buffers

2017-10-23 Thread Michael Heerdegen
branch: master
commit 649726ecf665f382e0a83fc5b76fcc325241a3ca
Author: Michael Heerdegen 
Commit: Michael Heerdegen 

Improve jumping to matches in *El Occur* buffers
---
 packages/el-search/el-search.el | 123 ++--
 1 file changed, 79 insertions(+), 44 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 9d10aa4..6237afb 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -1777,6 +1777,9 @@ local binding of `window-scroll-functions'."
   (setq el-search--temp-buffer-flag nil)
   (el-search-kill-left-over-search-buffers
 
+(defun el-search--pending-search-p ()
+  (memq #'el-search-hl-post-command-fun post-command-hook))
+
 (defun el-search--reset-wrap-flag ()
   (unless (or (eq this-command 'el-search-query-replace)
   (eq this-command 'el-search-pattern))
@@ -1947,7 +1950,7 @@ continued."
 (defun el-search-pattern--interactive ()
   (list (if (or
  ;;Hack to make a pop-up buffer search from occur "stay active"
- (memq #'el-search-hl-post-command-fun post-command-hook)
+ (el-search--pending-search-p)
  (and (eq this-command last-command)
   (or el-search--success el-search--wrap-flag)))
 (el-search--current-pattern)
@@ -1983,8 +1986,10 @@ See `el-search-defined-patterns' for a list of defined 
patterns."
   (el-search--message-no-log "[Wrapped search]")
   (sit-for .7)
   (el-search-from-beginning 'restart)))
-   ((and (eq this-command last-command)
- (eq pattern (el-search--current-pattern)))
+   ((or
+ (el-search--pending-search-p)
+ (and (eq this-command last-command)
+  (eq pattern (el-search--current-pattern
 (progn
   (el-search--skip-expression nil t)
   (el-search-continue-search 'from-here)))
@@ -2150,26 +2155,74 @@ Prompt for a new pattern and revert the occur buffer."
   (interactive)
   (if (button-at (point))
   (push-button)
-(when-let ((data (get-text-property (point) 'match-data))
-   (pattern (el-search-object-pattern 
el-search-occur-search-object)))
-  (pcase-let ((`(,buffer ,position ,file) data))
-(with-selected-window
-(display-buffer (if file (find-file-noselect file) buffer)
-'((display-buffer-pop-up-window)))
-  (when (and (buffer-narrowed-p)
- (or (< position (point-min))
- (> position (point-max)))
- (not (and (y-or-n-p "Widen buffer? ")
-   (progn (widen) t
-(user-error "Can't jump to match"))
-  (goto-char position)
-  (el-search-setup-search
-   pattern
-   (let ((current-buffer (current-buffer)))
- (lambda () (stream (list current-buffer
-   (lambda (search) (setf (alist-get 'is-single-buffer 
(el-search-object-properties search)) t))
-   'from-here)
-  (setq-local el-search-keep-hl 'once))
+(if-let ((params  (get-char-property (point) 'el-search-match)))
+(apply #'el-search--occur-button-action params)
+  ;; User clicked not directly on a match
+  (catch 'nothing-here
+(let ((clicked-pos (point)) (done nil) some-match-pos)
+  (save-excursion
+(pcase (el-search--bounds-of-defun)
+  ('nil
+   (throw 'nothing-here t))
+  (`(,defun-beg . ,defun-end)
+   (unless (< defun-end (point)) (goto-char defun-beg
+;; Try to find corresponding position in source buffer
+(setq some-match-pos (point))
+(while (and (not done) (setq some-match-pos (funcall 
#'next-single-char-property-change
+ 
some-match-pos 'el-search-match)))
+  (setq done (or (memq some-match-pos (list (point-min) 
(point-max)))
+ (cl-some (lambda (ov) (overlay-get ov 
'el-search-match))
+  (overlays-at some-match-pos))
+  (let ((delta-lines (count-lines clicked-pos some-match-pos)))
+(when (save-excursion
+(goto-char (max clicked-pos some-match-pos))
+(not (bolp)))
+  (cl-decf delta-lines))
+(when (< clicked-pos some-match-pos)
+  (cl-callf - delta-lines))
+(pcase-let ((`(,file-name-or-buffer ,pos)
+ (get-char-property some-match-pos 'el-search-match)))
+  (el-search--occur-button-action
+   file-name-or-buffer nil
+   (lambda ()
+ (goto-char pos)
+ (beginning-of-line)
+ (forward-line delta-lines))
+   '((display-buffer-pop-up-window))
+
+(defun el-search--occur-button-action (filename-or-bu

[elpa] master a0c1b61 2/2: Merge commit '2545b5c764bf84701e352a45d7e849b23845b006'

2017-10-23 Thread Matthew Carter
branch: master
commit a0c1b61bc95af89af3b3ec6de327a7780a15efa8
Merge: 649726e 2545b5c
Author: Matthew Carter 
Commit: Matthew Carter 

Merge commit '2545b5c764bf84701e352a45d7e849b23845b006'
---
 packages/ahungry-theme/ahungry-theme.el   | 7 ++-
 packages/ahungry-theme/color-theme-ahungry.el | 4 +++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/packages/ahungry-theme/ahungry-theme.el 
b/packages/ahungry-theme/ahungry-theme.el
index 13cbf07..ac7899e 100644
--- a/packages/ahungry-theme/ahungry-theme.el
+++ b/packages/ahungry-theme/ahungry-theme.el
@@ -5,7 +5,7 @@
 ;; Author: Matthew Carter 
 ;; Maintainer: Matthew Carter 
 ;; URL: https://github.com/ahungry/color-theme-ahungry
-;; Version: 1.6.0
+;; Version: 1.7.0
 ;; Keywords: ahungry palette color theme emacs color-theme deftheme
 ;; Package-Requires: ((emacs "24"))
 
@@ -36,6 +36,9 @@
 
 ;;; News:
 
+ Changes since 1.6.0:
+;; - Add man/woman faces.
+
  Changes since 1.5.0:
 ;; - Bump up font size
 ;; - Make dark blues a little brighter.
@@ -290,6 +293,8 @@ Default value:
'(button ((t (:foreground "#0055ff" :bold t :underline t
'(Man-overstrike ((t (:foreground "yellow" :bold t
'(Man-underline ((t (:foreground "orange" :underline t
+   '(woman-bold ((t (:foreground "yellow" :bold t
+   '(woman-italic ((t (:foreground "orange" :underline t
)
   (custom-theme-set-variables
'ahungry
diff --git a/packages/ahungry-theme/color-theme-ahungry.el 
b/packages/ahungry-theme/color-theme-ahungry.el
index a4f6a37..c2c8326 100644
--- a/packages/ahungry-theme/color-theme-ahungry.el
+++ b/packages/ahungry-theme/color-theme-ahungry.el
@@ -5,7 +5,7 @@
 ;; Author: Matthew Carter 
 ;; Maintainer: Matthew Carter 
 ;; URL: https://github.com/ahungry/color-theme-ahungry
-;; Version: 1.5.0
+;; Version: 1.7.0
 ;; Keywords: ahungry palette color theme emacs color-theme deftheme
 ;; Package-Requires: ((color-theme "6.6.1"))
 
@@ -208,6 +208,8 @@
  (button ((t (:foreground "#0055ff" :bold t :underline t
  (Man-overstrike ((t (:foreground "yellow" :bold t
  (Man-underline ((t (:foreground "orange" :underline t
+ (woman-bold ((t (:foreground "yellow" :bold t
+ (woman-italic ((t (:foreground "orange" :underline t
  )))
 
 (provide 'color-theme-ahungry)



[elpa] master 2545b5c 1/2: Add man page faces

2017-10-23 Thread Matthew Carter
branch: master
commit 2545b5c764bf84701e352a45d7e849b23845b006
Author: Matthew Carter 
Commit: Matthew Carter 

Add man page faces
---
 ahungry-theme.el   | 7 ++-
 color-theme-ahungry.el | 4 +++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ahungry-theme.el b/ahungry-theme.el
index 13cbf07..ac7899e 100644
--- a/ahungry-theme.el
+++ b/ahungry-theme.el
@@ -5,7 +5,7 @@
 ;; Author: Matthew Carter 
 ;; Maintainer: Matthew Carter 
 ;; URL: https://github.com/ahungry/color-theme-ahungry
-;; Version: 1.6.0
+;; Version: 1.7.0
 ;; Keywords: ahungry palette color theme emacs color-theme deftheme
 ;; Package-Requires: ((emacs "24"))
 
@@ -36,6 +36,9 @@
 
 ;;; News:
 
+ Changes since 1.6.0:
+;; - Add man/woman faces.
+
  Changes since 1.5.0:
 ;; - Bump up font size
 ;; - Make dark blues a little brighter.
@@ -290,6 +293,8 @@ Default value:
'(button ((t (:foreground "#0055ff" :bold t :underline t
'(Man-overstrike ((t (:foreground "yellow" :bold t
'(Man-underline ((t (:foreground "orange" :underline t
+   '(woman-bold ((t (:foreground "yellow" :bold t
+   '(woman-italic ((t (:foreground "orange" :underline t
)
   (custom-theme-set-variables
'ahungry
diff --git a/color-theme-ahungry.el b/color-theme-ahungry.el
index a4f6a37..c2c8326 100644
--- a/color-theme-ahungry.el
+++ b/color-theme-ahungry.el
@@ -5,7 +5,7 @@
 ;; Author: Matthew Carter 
 ;; Maintainer: Matthew Carter 
 ;; URL: https://github.com/ahungry/color-theme-ahungry
-;; Version: 1.5.0
+;; Version: 1.7.0
 ;; Keywords: ahungry palette color theme emacs color-theme deftheme
 ;; Package-Requires: ((color-theme "6.6.1"))
 
@@ -208,6 +208,8 @@
  (button ((t (:foreground "#0055ff" :bold t :underline t
  (Man-overstrike ((t (:foreground "yellow" :bold t
  (Man-underline ((t (:foreground "orange" :underline t
+ (woman-bold ((t (:foreground "yellow" :bold t
+ (woman-italic ((t (:foreground "orange" :underline t
  )))
 
 (provide 'color-theme-ahungry)