all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* How to count number of C-u prefixes?
@ 2022-02-04 14:11 Jean Louis
  2022-02-04 14:30 ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Louis @ 2022-02-04 14:11 UTC (permalink / raw)
  To: Help GNU Emacs

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)))

M-x how-many-times = 1

C-u M-x how-many-times = 1.5, but I would like 1 as answer.

C-u C-u M-x how-many-times = 2.0 which is what I expect
 
C-u C-u C-u M-x how-many-times = 3.0 which is what I expect

C-u C-u C-u C-u M-x how-many-times = 5.0 which I don't expect

I would like to simply count the number of pressed C-u prefixes.


Jean

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

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



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to count number of C-u prefixes?
  2022-02-04 14:11 How to count number of C-u prefixes? Jean Louis
@ 2022-02-04 14:30 ` Emanuel Berg via Users list for the GNU Emacs text editor
  2022-02-04 14:56   ` Jean Louis
  0 siblings, 1 reply; 8+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-02-04 14:30 UTC (permalink / raw)
  To: help-gnu-emacs

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)) )

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to count number of C-u prefixes?
  2022-02-04 14:30 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2022-02-04 14:56   ` Jean Louis
  2022-02-04 15:07     ` Emanuel Berg via Users list for the GNU Emacs text editor
  2022-02-04 15:09     ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 2 replies; 8+ messages in thread
From: Jean Louis @ 2022-02-04 14:56 UTC (permalink / raw)
  To: help-gnu-emacs

* 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/



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to count number of C-u prefixes?
  2022-02-04 14:56   ` Jean Louis
@ 2022-02-04 15:07     ` Emanuel Berg via Users list for the GNU Emacs text editor
  2022-02-04 15:25       ` Jean Louis
  2022-02-04 15:09     ` Emanuel Berg via Users list for the GNU Emacs text editor
  1 sibling, 1 reply; 8+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-02-04 15:07 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

> Thanks for lively help from Sweden.

Np :)

> (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."

Oh, oh! Incorrect order of argument mentioned in docstring ...

Also instead of C-u use \\[universal-argument].

> (let* ((times (if (= prefix 1) 1 (log prefix 4)))

What, when prefix is 1 one has it C-u 0 times :)

You just need (log prefix 4), if prefix is 1 that will be

  (log 1 4) ; 0

since always x^0 = 1

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to count number of C-u prefixes?
  2022-02-04 14:56   ` Jean Louis
  2022-02-04 15:07     ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2022-02-04 15:09     ` Emanuel Berg via Users list for the GNU Emacs text editor
  1 sibling, 0 replies; 8+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-02-04 15:09 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

> (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)))

Also ... what happens if you call it from Lisp with
no arguments?

  (= nil 1) ; DNC

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to count number of C-u prefixes?
  2022-02-04 15:07     ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2022-02-04 15:25       ` Jean Louis
  2022-02-04 15:43         ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Louis @ 2022-02-04 15:25 UTC (permalink / raw)
  To: help-gnu-emacs

* Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2022-02-04 18:08]:
> Oh, oh! Incorrect order of argument mentioned in docstring ...

Am I supposed to mention arguments by their order in docstrin?

> Also instead of C-u use \\[universal-argument].

Thanks, I got it.

> > (let* ((times (if (= prefix 1) 1 (log prefix 4)))
> 
> What, when prefix is 1 one has it C-u 0 times :)
> 
> You just need (log prefix 4), if prefix is 1 that will be
> 
>   (log 1 4) ; 0
> 
> since always x^0 = 1

Yes, but it does not work that way.

-- 
Jean

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

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



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to count number of C-u prefixes?
  2022-02-04 15:25       ` Jean Louis
@ 2022-02-04 15:43         ` Emanuel Berg via Users list for the GNU Emacs text editor
  2022-02-04 15:49           ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 1 reply; 8+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-02-04 15:43 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

>> Oh, oh! Incorrect order of argument mentioned in docstring
>
> Am I supposed to mention arguments by their order
> in docstrin?

You better believe it ...

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to count number of C-u prefixes?
  2022-02-04 15:43         ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2022-02-04 15:49           ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 0 replies; 8+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2022-02-04 15:49 UTC (permalink / raw)
  To: help-gnu-emacs

>>> Oh, oh! Incorrect order of argument mentioned in docstring
>>
>> Am I supposed to mention arguments by their order
>> in docstrin?
>
> You better believe it ...

;;; -*- lexical-binding: t -*-
;;;
;;; this file:
;;;   http://user.it.uu.se/~embe8573/emacs-init/ide/pack-style.el
;;;   https://dataswamp.org/~incal/emacs-init/ide/pack-style.el

(require 'checkdoc)

(setq checkdoc-arguments-in-order-flag       t)
(setq checkdoc-permit-comma-termination-flag t)

(defun check-package-style ()
  (interactive)
  (let ((msg "Style check..."))
    (message msg)
    (checkdoc-current-buffer t) ; TAKE-NOTES
    (message "%sdone" msg) ))
(defalias 'check-style #'check-package-style)

-- 
underground experts united
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-02-04 15:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-04 14:11 How to count number of C-u prefixes? Jean Louis
2022-02-04 14:30 ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-02-04 14:56   ` Jean Louis
2022-02-04 15:07     ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-02-04 15:25       ` Jean Louis
2022-02-04 15:43         ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-02-04 15:49           ` Emanuel Berg via Users list for the GNU Emacs text editor
2022-02-04 15:09     ` Emanuel Berg via Users list for the GNU Emacs text editor

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.