unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* declare function/macro private
@ 2021-06-06  4:27 Paul W. Rankin via Emacs development discussions.
  2021-06-06  7:09 ` Omar Polo
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Paul W. Rankin via Emacs development discussions. @ 2021-06-06  4:27 UTC (permalink / raw)
  To: emacs-devel

Given we have a function/macro declare interactive-only property, would it be worthwhile to consider a `private' property?

Of course there's already the convention of prefix--my-private-function, but my thinking here is that a program could declare a function/macro as private, then the compiler could signal a warning/error if that function appeared in a library outside the library it was defined and declared private.

e.g. in foo.el:

(defun foo-private ()
  (declare (private "use `foo-public' instead."))
  ...)

(provide 'foo)

..in bar.el:

(defun bar-function ()
  (foo-private))

Compiling bar.el would signal a warning/error with hint to use `foo-public' instead.

-- 
Paul W. Rankin
https://bydasein.com

The single best thing you can do for the world is to delete your social media accounts.





^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: declare function/macro private
@ 2021-06-07  3:35 Boruch Baum
  2021-06-07  4:49 ` Paul W. Rankin via Emacs development discussions.
  2021-06-07 12:39 ` Eli Zaretskii
  0 siblings, 2 replies; 26+ messages in thread
From: Boruch Baum @ 2021-06-07  3:35 UTC (permalink / raw)
  To: Emacs-Devel List; +Cc: Paul W. Rankin, Stefan Monnier

On Sun, 06 Jun 2021 22:54:41 -0400, Stefan Monnier wrote:

> My current guess is that you fear that "--" has currently been used
> carelessly

Using 'ivy/counsel' and performing M-x -- gives me 56 completion
candidates. 23 are from magit, Here are the rest:

    company--select-next-and-warn
    company--select-previous-and-warn
    company--warn-changed-binding
    counsel--info-lookup-symbol
    doc-view--text-view-mode
    elisp-flymake--batch-compile-for-flymake
    footnote--narrow-to-footnotes
    js--end-of-do-while-loop-p
    js--flush-caches
    js--show-cache-at-point
    ls-lisp--dired
    menu-bar--display-line-numbers-mode-absolute
    menu-bar--display-line-numbers-mode-none
    menu-bar--display-line-numbers-mode-relative
    menu-bar--display-line-numbers-mode-visual
    menu-bar--toggle-truncate-long-lines
    menu-bar--visual-line-mode-enable
    menu-bar--wrap-long-lines-window-edge
    org--backward-paragraph-once
    org--forward-paragraph-once
    python-skeleton--else
    python-skeleton--except
    python-skeleton--finally
    smie--next-indent-change
    term--xterm-paste
    vr--minibuffer-help
    vr--shortcut-toggle-limit
    vr--shortcut-toggle-preview
    w3m-page-nav--duckduckgo-style-next
    w3m-page-nav--duckduckgo-style-previous
    xref--mouse-2
    xref--transient-buffer-mode
    xref--xref-buffer-mode

--
hkp://keys.gnupg.net
CA45 09B5 5351 7C11 A9D1  7286 0036 9E45 1595 8BC0



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

end of thread, other threads:[~2021-06-08 17:26 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-06  4:27 declare function/macro private Paul W. Rankin via Emacs development discussions.
2021-06-06  7:09 ` Omar Polo
2021-06-06  7:18   ` Paul W. Rankin via Emacs development discussions.
2021-06-06  9:53 ` Lars Ingebrigtsen
2021-06-06 12:43   ` Paul W. Rankin via Emacs development discussions.
2021-06-08  9:43     ` Lars Ingebrigtsen
2021-06-08 17:26       ` Robin Tarsiger
2021-06-06 18:05 ` Stefan Monnier
2021-06-06 18:12   ` Tassilo Horn
2021-06-06 20:12     ` Stefan Monnier
2021-06-07  0:51       ` Paul W. Rankin via Emacs development discussions.
2021-06-07  1:37         ` Arthur Miller
2021-06-07  1:43           ` Paul W. Rankin via Emacs development discussions.
2021-06-07 13:38             ` Arthur Miller
2021-06-07  0:59   ` Paul W. Rankin via Emacs development discussions.
2021-06-07  2:54     ` Stefan Monnier
2021-06-07 18:24       ` Arthur Miller
  -- strict thread matches above, loose matches on Subject: below --
2021-06-07  3:35 Boruch Baum
2021-06-07  4:49 ` Paul W. Rankin via Emacs development discussions.
2021-06-07  5:59   ` Stefan Monnier
2021-06-07  6:45     ` Paul W. Rankin via Emacs development discussions.
2021-06-07 12:39 ` Eli Zaretskii
2021-06-08  1:14   ` Boruch Baum
2021-06-08  4:20     ` Arthur Miller
2021-06-08  5:49       ` tomas
2021-06-08 15:46     ` Stefan Monnier

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