unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#59459: 29.0.50; Compilation warnings without tree-sitter
@ 2022-11-21 22:01 Yuan Fu
  2022-11-22 12:21 ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Yuan Fu @ 2022-11-21 22:01 UTC (permalink / raw)
  To: 59459

[Continuing from bug#59426]

Those warnings are due to no-tree-sitter build not having functions
defined in treesit.c. Eli fixed those warnings by adding
declare-function’s in every file using those functions. Can we make it a
bit nicer for lisp developers? Maybe defining those functions with
dummies with something like

(defun xxx
(error ’treesit "Tree-sitter not available"))

?

Yuan




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

* bug#59459: 29.0.50; Compilation warnings without tree-sitter
  2022-11-21 22:01 bug#59459: 29.0.50; Compilation warnings without tree-sitter Yuan Fu
@ 2022-11-22 12:21 ` Eli Zaretskii
  2022-11-22 23:22   ` Yuan Fu
  0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2022-11-22 12:21 UTC (permalink / raw)
  To: Yuan Fu; +Cc: 59459

> From: Yuan Fu <casouri@gmail.com>
> Date: Mon, 21 Nov 2022 14:01:14 -0800
> 
> [Continuing from bug#59426]
> 
> Those warnings are due to no-tree-sitter build not having functions
> defined in treesit.c. Eli fixed those warnings by adding
> declare-function’s in every file using those functions. Can we make it a
> bit nicer for lisp developers? Maybe defining those functions with
> dummies with something like
> 
> (defun xxx
> (error ’treesit "Tree-sitter not available"))
> 
> ?

I'm not sure this is justified.  The cases where a build lacks a very large
group of primitives references in *.el files are quite rare in our practice;
about the only two examples I know of are xwidgets.el and treesit.el (plus
modes which use tree-sitter).  It's easy enough (albeit annoying) to add a
few declare-function's, so unless we are going to have more and more of
these cases, adding a whole new infrastructure, let alone tricks like the
above, which will raise a lot of brows, sound excessive to me.





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

* bug#59459: 29.0.50; Compilation warnings without tree-sitter
  2022-11-22 12:21 ` Eli Zaretskii
@ 2022-11-22 23:22   ` Yuan Fu
  0 siblings, 0 replies; 3+ messages in thread
From: Yuan Fu @ 2022-11-22 23:22 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59459, 59459-done



> On Nov 22, 2022, at 4:21 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Mon, 21 Nov 2022 14:01:14 -0800
>> 
>> [Continuing from bug#59426]
>> 
>> Those warnings are due to no-tree-sitter build not having functions
>> defined in treesit.c. Eli fixed those warnings by adding
>> declare-function’s in every file using those functions. Can we make it a
>> bit nicer for lisp developers? Maybe defining those functions with
>> dummies with something like
>> 
>> (defun xxx
>> (error ’treesit "Tree-sitter not available"))
>> 
>> ?
> 
> I'm not sure this is justified.  The cases where a build lacks a very large
> group of primitives references in *.el files are quite rare in our practice;
> about the only two examples I know of are xwidgets.el and treesit.el (plus
> modes which use tree-sitter).  It's easy enough (albeit annoying) to add a
> few declare-function's, so unless we are going to have more and more of
> these cases, adding a whole new infrastructure, let alone tricks like the
> above, which will raise a lot of brows, sound excessive to me.

If it cannot be easily done with existing tools, then I agree declare-function is good enough.

Thanks,
Yuan




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

end of thread, other threads:[~2022-11-22 23:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-21 22:01 bug#59459: 29.0.50; Compilation warnings without tree-sitter Yuan Fu
2022-11-22 12:21 ` Eli Zaretskii
2022-11-22 23:22   ` Yuan Fu

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).