all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* The cons syntax format used by use-package.
@ 2021-09-18 13:15 Hongyi Zhao
  2021-09-18 13:21 ` Daniel Fleischer
  2021-09-21 11:58 ` Emanuel Berg via Users list for the GNU Emacs text editor
  0 siblings, 2 replies; 7+ messages in thread
From: Hongyi Zhao @ 2021-09-18 13:15 UTC (permalink / raw)
  To: help-gnu-emacs

See here [1] for the Hooks syntax used by use-package, as shown below:

(use-package ace-jump-mode
  :hook ((prog-mode text-mode) . ace-jump-mode))

If I wanted to extend the above example with more hooks, which of the
following would be correct:

(use-package ace-jump-mode
  :hook ((prog-mode text-mode) . ace-jump-mode
             (latex-mode .  ace-jump-mode)))

or

(use-package ace-jump-mode
  :hook (((prog-mode text-mode) . ace-jump-mode)
             (latex-mode .  ace-jump-mode)))

[1] https://github.com/jwiegley/use-package#hooks

Regards
-- 
Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Vocational University of Technology and Engineering
No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province



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

* Re: The cons syntax format used by use-package.
  2021-09-18 13:15 The cons syntax format used by use-package Hongyi Zhao
@ 2021-09-18 13:21 ` Daniel Fleischer
  2021-09-18 13:33   ` Hongyi Zhao
  2021-09-19  4:14   ` Hongyi Zhao
  2021-09-21 11:58 ` Emanuel Berg via Users list for the GNU Emacs text editor
  1 sibling, 2 replies; 7+ messages in thread
From: Daniel Fleischer @ 2021-09-18 13:21 UTC (permalink / raw)
  To: Hongyi Zhao; +Cc: help-gnu-emacs

Hongyi Zhao [2021-09-18 Sat 21:15] wrote:

> (use-package ace-jump-mode
>   :hook ((prog-mode text-mode) . ace-jump-mode))
>
> If I wanted to extend the above example with more hooks, which of the
> following would be correct:

The 2nd one, but why not

(use-package ace-jump-mode
  :hook ((prog-mode text-mode latex-mode) . ace-jump-mode))


-- 

Daniel Fleischer



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

* Re: The cons syntax format used by use-package.
  2021-09-18 13:21 ` Daniel Fleischer
@ 2021-09-18 13:33   ` Hongyi Zhao
  2021-09-19  4:14   ` Hongyi Zhao
  1 sibling, 0 replies; 7+ messages in thread
From: Hongyi Zhao @ 2021-09-18 13:33 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: help-gnu-emacs

On Sat, Sep 18, 2021 at 9:21 PM Daniel Fleischer <danflscr@gmail.com> wrote:
>
> Hongyi Zhao [2021-09-18 Sat 21:15] wrote:
>
> > (use-package ace-jump-mode
> >   :hook ((prog-mode text-mode) . ace-jump-mode))
> >
> > If I wanted to extend the above example with more hooks, which of the
> > following would be correct:
>
> The 2nd one,

Thank you for pointing this out.

> but why not
>
> (use-package ace-jump-mode
>   :hook ((prog-mode text-mode latex-mode) . ace-jump-mode))

The trivial and redundant one can be easily extended to complex generic form:

(use-package foo
  :hook (((x-mode y-mode) . bar-mode)
             (z-mode .  baz-mode)))

Regards, HZ



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

* Re: The cons syntax format used by use-package.
  2021-09-18 13:21 ` Daniel Fleischer
  2021-09-18 13:33   ` Hongyi Zhao
@ 2021-09-19  4:14   ` Hongyi Zhao
  2021-09-19  7:04     ` Daniel Fleischer
  1 sibling, 1 reply; 7+ messages in thread
From: Hongyi Zhao @ 2021-09-19  4:14 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: help-gnu-emacs

On Sat, Sep 18, 2021 at 9:21 PM Daniel Fleischer <danflscr@gmail.com> wrote:
>
> Hongyi Zhao [2021-09-18 Sat 21:15] wrote:
>
> > (use-package ace-jump-mode
> >   :hook ((prog-mode text-mode) . ace-jump-mode))
> >
> > If I wanted to extend the above example with more hooks, which of the
> > following would be correct:
>
> The 2nd one, but why not
>
> (use-package ace-jump-mode
>   :hook ((prog-mode text-mode latex-mode) . ace-jump-mode))

This leads me to the following conclusion: Any number of pared nested
parentheses is equivalent in this case, i.e., all the following forms
are valid and equivalent:

:hook ((prog-mode text-mode latex-mode) . ace-jump-mode))
:hook (((prog-mode text-mode latex-mode) . ace-jump-mode)))
:hook ((((prog-mode text-mode latex-mode) . ace-jump-mode))))

But according to my tries, all the above three forms work, but the
following ones don't:

:hook (((((prog-mode text-mode latex-mode) . ace-jump-mode)))))
:hook ((((((prog-mode text-mode latex-mode) . ace-jump-mode))))))
[...]

Any hints for this phenomenon?

Regards, HZ



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

* Re: The cons syntax format used by use-package.
  2021-09-19  4:14   ` Hongyi Zhao
@ 2021-09-19  7:04     ` Daniel Fleischer
  2021-09-19  7:41       ` Hongyi Zhao
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Fleischer @ 2021-09-19  7:04 UTC (permalink / raw)
  To: Hongyi Zhao; +Cc: help-gnu-emacs

Hongyi Zhao <hongyi.zhao@gmail.com> writes:

> Any hints for this phenomenon?

I don't know, but you can run 'pp-macroexpand-last-sexp' and see how the
expanded code looks like and it might give you hints why some versions
run while the others don't.

-- 

Daniel Fleischer



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

* Re: The cons syntax format used by use-package.
  2021-09-19  7:04     ` Daniel Fleischer
@ 2021-09-19  7:41       ` Hongyi Zhao
  0 siblings, 0 replies; 7+ messages in thread
From: Hongyi Zhao @ 2021-09-19  7:41 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: help-gnu-emacs

On Sun, Sep 19, 2021 at 3:04 PM Daniel Fleischer <danflscr@gmail.com> wrote:
>
> Hongyi Zhao <hongyi.zhao@gmail.com> writes:
>
> > Any hints for this phenomenon?
>
> I don't know, but you can run 'pp-macroexpand-last-sexp' and see how the
> expanded code looks like and it might give you hints why some versions
> run while the others don't.

The added parentheses will also appear in the expansion result, so I
can't get any valuable clues.

Best, HZ



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

* Re: The cons syntax format used by use-package.
  2021-09-18 13:15 The cons syntax format used by use-package Hongyi Zhao
  2021-09-18 13:21 ` Daniel Fleischer
@ 2021-09-21 11:58 ` Emanuel Berg via Users list for the GNU Emacs text editor
  1 sibling, 0 replies; 7+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-09-21 11:58 UTC (permalink / raw)
  To: help-gnu-emacs

I was showed this method by a certain individual and have used
it since

;; (setq gnus-article-prepare-hook nil)
(defun gnus-article-prepare-hook-f ()
  (gnus-with-article-buffer
    (gnus-article-wash-more) ))
(add-hook 'gnus-article-prepare-hook #'gnus-article-prepare-hook-f)

And this I was showed by another individual

(defun add-one-shot-hook (hook fun)
  (let ((name (cl-gensym)))
    (setf (symbol-function name)
          (lambda (&rest _)
            (remove-hook hook name)
            (funcall fun) ))
    (add-hook hook name) ))

Urban legend: hooks slow down the interactive feel. (Real
mystery: what does?)

And what does "Never hook with a hooker" mean?

Actually it makes sense even tho (especially) because you DO
want to jab with a jabber ...

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




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

end of thread, other threads:[~2021-09-21 11:58 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-18 13:15 The cons syntax format used by use-package Hongyi Zhao
2021-09-18 13:21 ` Daniel Fleischer
2021-09-18 13:33   ` Hongyi Zhao
2021-09-19  4:14   ` Hongyi Zhao
2021-09-19  7:04     ` Daniel Fleischer
2021-09-19  7:41       ` Hongyi Zhao
2021-09-21 11:58 ` 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.