emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 499f734: * el-search/el-search.el: Get rid of orgstruct-mo


From: Michael Heerdegen
Subject: [elpa] master 499f734: * el-search/el-search.el: Get rid of orgstruct-mode
Date: Fri, 5 Jan 2018 14:09:07 -0500 (EST)

branch: master
commit 499f7340590a78ff11c48d726b59942ef5e3779f
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

    * el-search/el-search.el: Get rid of orgstruct-mode
    
    orgstruct-mode will probably be obsoleted soon.  Replace its usage
    in *El Occur* buffers with similar functions offered by outline.el.
    
    (el-search-occur-cycle): Reimplement to use functions from outline.el;
    add docstring.
    (el-search-occur-tab-command): New command.
    (el-search-occur-mode-map): Bind TAB to `el-search-occur-tab-command'.
    (el-search-occur-mode): Enable `outline-minor-mode' instead of
    `orgstruct-mode'.
---
 packages/el-search/el-search.el | 36 +++++++++++++++++++++++-------------
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 6c56c32..106e126 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -7,7 +7,7 @@
 ;; Created: 29 Jul 2015
 ;; Keywords: lisp
 ;; Compatibility: GNU Emacs 25
-;; Version: 1.4.0.13
+;; Version: 1.4.0.14
 ;; Package-Requires: ((emacs "25") (stream "2.2.4"))
 
 
@@ -399,6 +399,7 @@
 (require 'help-fns) ;el-search--make-docstring
 (require 'ring)     ;el-search-history
 (require 'hideshow) ;folding in *El Occur*
+(eval-when-compile (require 'outline)) ;folding in *El Occur*
 
 
 ;;;; Configuration stuff
@@ -2319,11 +2320,6 @@ Use the normal search commands to seize the search."
 (defvar-local el-search-occur-search-object nil)
 
 
-(defvar orgstruct-heading-prefix-regexp)
-(declare-function org-back-to-heading 'org)
-(declare-function org-global-cycle    'org)
-(declare-function orgstruct-mode      'org)
-
 (defun el-search-occur-revert-function (&rest _)
   (el-search--occur el-search-occur-search-object t))
 
@@ -2464,16 +2460,31 @@ Prompt for a new pattern and revert."
   (interactive)
   (el-search-occur--next-match 'backwards))
 
-(declare-function orgstruct-hijacker-org-shifttab-2 'org)
+
+(defvar el-search-occur--outline-visible t)
+
 (defun el-search-occur-cycle ()
+  "Cycle between showing an outline and everything."
+  (interactive)
+  (save-excursion
+    (goto-char (point-min))
+    (if el-search-occur--outline-visible
+        (outline-hide-leaves)
+      (outline-show-all)))
+  (cl-callf not el-search-occur--outline-visible))
+
+(defun el-search-occur-tab-command ()
+  "Hide or unhide heading or sexp at point."
   (interactive)
-  (cl-letf (((symbol-function 'org-context-p) #'el-search-true))
-    (call-interactively #'orgstruct-hijacker-org-shifttab-2)))
+  (call-interactively
+   (if (not (outline-on-heading-p))
+       #'hs-toggle-hiding
+     #'outline-toggle-children)))
 
 (defvar el-search-occur-mode-map
   (let ((map (make-sparse-keymap)))
-    (define-key map [tab]           #'hs-toggle-hiding)
-    (define-key map "\t"            #'hs-toggle-hiding)
+    (define-key map [tab]           #'el-search-occur-tab-command)
+    (define-key map "\t"            #'el-search-occur-tab-command)
     (define-key map [return]        #'el-search-occur-jump-to-match)
     (define-key map "\r"            #'el-search-occur-jump-to-match)
     (define-key map [S-iso-lefttab] #'el-search-occur-cycle)
@@ -2494,9 +2505,8 @@ Prompt for a new pattern and revert."
   (setq-local hs-hide-comments-when-hiding-all nil)
   (hs-minor-mode +1)
   (hs-hide-all)
-  (setq orgstruct-heading-prefix-regexp ";;; ")
   (setq outline-regexp "^;;;\\ \\*+")
-  (orgstruct-mode +1))
+  (outline-minor-mode +1))
 
 (put 'el-search-occur-mode 'mode-class 'special)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]