help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: How to count number of C-u prefixes?


From: Jean Louis
Subject: Re: How to count number of C-u prefixes?
Date: Fri, 4 Feb 2022 17:56:16 +0300
User-agent: Mutt/2.1.5+104 (cd3a5c8) (2022-01-09)

* Emanuel Berg via Users list for the GNU Emacs text editor 
<help-gnu-emacs@gnu.org> [2022-02-04 17:32]:
> Jean Louis wrote:
> 
> > I would like this function to give me number of times I have
> > pressed C-u, and here is the attempt to solve it:
> >
> > (defun how-many-times (&optional prefix query)
> >   (interactive "p")
> >   (let* ((times (if (> prefix 1) (1+ (/ (sqrt prefix) 4)) 1)))
> >     (message "Times %s" times)))
> 
> (defun how-many-times (&optional times)
>   (interactive "p")
>   (message "Super-Jean: %d" (log times 4)) )

I was confused,  did not sleep enoug  last 7 days. Instead  of `log' I
was using `sqrt'  imagine. But I needed `log'. Thanks  for lively help
from Sweden.

I have  now improved  the function  which I  wanted. It  generates SQL
query based on the number of C-u prefixes. It is useful when I need to
find both  "⟦" and "wrs-latest-pages"  and "'("  in the text  or other
multiple terms.

(defun hyperscope-by-text-query (&optional prefix query)
  "Search `hyobjects_text' column for QUERY.

User may invoke C-u PREFIX for multiple queries to be searched in
the text."
  (interactive "p")
  (let* ((times (if (= prefix 1) 1 (log prefix 4)))
         (query (or query (rcd-ask-times times "Hyperscope query: ")))
         (query (mapcar 'nil-blank-string query))
         (query (delq nil query)))
    (when query
      (let* ((sql-query (mapconcat (lambda (i) (format " hyobjects_text ~* %s " 
(sql-escape-string i))) query " AND "))
             (id-list (rcd-sql-list (format "SELECT hyobjects_id FROM hyobjects 
WHERE %s ORDER BY hyobjects_id DESC" sql-query) hs-db)))
        (hyperscope nil nil nil nil nil id-list)))))

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



reply via email to

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