unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Package Installation in Tutorial
@ 2021-12-01 17:30 Daniel Fleischer
  2021-12-01 18:06 ` Daniel Martín
  2021-12-01 19:25 ` Stefan Kangas
  0 siblings, 2 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-01 17:30 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 433 bytes --]


Hi, due to a question in #IRC I realized that some people are not aware
of the package management features of Emacs. Of course it's covered in
the manual but I think we can mention it in the tutorial. Elpa and
NonGnu are pre-configured so a beginner user should feel comfortable
installing packages from there. 

Attaches is a patch with a short section about package installation and
deletion. Modified the English version.

Best,

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch --]
[-- Type: text/x-patch, Size: 1314 bytes --]

From c62a0140c2f3732164d395c34ba6fc9088ac851c Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] * etc/tutorials/TUTORIAL: section about package installation

---
 etc/tutorials/TUTORIAL | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..70cdd29b85 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -988,6 +988,25 @@ because C-g is used for canceling commands and arguments WITHIN the
 recursive editing level.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins to integrate with external
+applications and much much more.
+
+To install a package type M-x package-install <Return> and choose a
+package. To uninstall, type M-x package-delete <Return> and choose a
+package to remove.
+
+>> Type M-x package-install <Return> which-key <Return> to install
+   the 'which-key' package, for example.
+
+>> Type M-x package-delete <Return> which-key <Return> to delete
+   the package you just installed.
+
+
 * GETTING MORE HELP
 -------------------
 
-- 
2.33.1


[-- Attachment #3: Type: text/plain, Size: 23 bytes --]


-- 

Daniel Fleischer

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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-01 17:30 [PATCH] Package Installation in Tutorial Daniel Fleischer
@ 2021-12-01 18:06 ` Daniel Martín
  2021-12-01 19:25   ` Stefan Kangas
  2021-12-01 19:25 ` Stefan Kangas
  1 sibling, 1 reply; 42+ messages in thread
From: Daniel Martín @ 2021-12-01 18:06 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-devel

Daniel Fleischer <danflscr@gmail.com> writes:

> Hi, due to a question in #IRC I realized that some people are not aware
> of the package management features of Emacs. Of course it's covered in
> the manual but I think we can mention it in the tutorial. Elpa and
> NonGnu are pre-configured so a beginner user should feel comfortable
> installing packages from there.

Thanks for the patch.  I see the tutorial more focused on teaching Emacs
keystroke commands.  If we want to advertise the package manager more, I
think that the splash screen might be a more appropriate place.



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-01 17:30 [PATCH] Package Installation in Tutorial Daniel Fleischer
  2021-12-01 18:06 ` Daniel Martín
@ 2021-12-01 19:25 ` Stefan Kangas
  2021-12-02  6:42   ` Daniel Fleischer
  2021-12-02  9:09   ` Juri Linkov
  1 sibling, 2 replies; 42+ messages in thread
From: Stefan Kangas @ 2021-12-01 19:25 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel

Daniel Fleischer <danflscr@gmail.com> writes:

> +* INSTALLING PACKAGES
> +---------------------
> +
> +Emacs has a rich set of packages written by the community, which
> +extends Emacs' capabilities.  These features include support for new
> +languages, additional themes, plugins to integrate with external
> +applications and much much more.
> +
> +To install a package type M-x package-install <Return> and choose a
> +package. To uninstall, type M-x package-delete <Return> and choose a
> +package to remove.
> +
> +>> Type M-x package-install <Return> which-key <Return> to install
> +   the 'which-key' package, for example.
> +
> +>> Type M-x package-delete <Return> which-key <Return> to delete
> +   the package you just installed.
> +
> +
>  * GETTING MORE HELP
>  -------------------

LGTM, but I would prefer to put this after the section "Getting more
help".



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-01 18:06 ` Daniel Martín
@ 2021-12-01 19:25   ` Stefan Kangas
  0 siblings, 0 replies; 42+ messages in thread
From: Stefan Kangas @ 2021-12-01 19:25 UTC (permalink / raw)
  To: Daniel Martín, Daniel Fleischer; +Cc: emacs-devel

Daniel Martín <mardani29@yahoo.es> writes:

> Thanks for the patch.  I see the tutorial more focused on teaching Emacs
> keystroke commands.  If we want to advertise the package manager more, I
> think that the splash screen might be a more appropriate place.

There is no contradiction.  FWIW, I think we should do both.



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-01 19:25 ` Stefan Kangas
@ 2021-12-02  6:42   ` Daniel Fleischer
  2021-12-02  9:09   ` Juri Linkov
  1 sibling, 0 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-02  6:42 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 325 bytes --]

Stefan Kangas [2021-12-01 Wed 11:25] wrote:

> LGTM, but I would prefer to put this after the section "Getting more
> help".

Hi, I moved it to be after the getting help section. I also added a
button in the splash screen called "Exploring Packages". There are now 4
buttons so I arrange them in 2x2 format.

Attached patch.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch --]
[-- Type: text/x-patch, Size: 2553 bytes --]

From bbdd615f55398877f7c0162df7a12e5e12cc20f4 Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] Exposing package management to users

* etc/tutorials/TUTORIAL: section about package installation

* lisp/startup.el: package list button
---
 etc/tutorials/TUTORIAL | 19 +++++++++++++++++++
 lisp/startup.el        |  8 ++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..6de81ca08b 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -1076,6 +1076,25 @@ corresponding command names (such as C-x C-f beside find-file).
 		consult the Emacs Info manual as your primary documentation.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins to integrate with external
+applications and much much more.
+
+To install a package type M-x package-install <Return> and choose a
+package. To uninstall, type M-x package-delete <Return> and choose a
+package to remove.
+
+>> Type M-x package-install <Return> which-key <Return> to install
+   the 'which-key' package, for example.
+
+>> Type M-x package-delete <Return> which-key <Return> to delete
+   the package you just installed.
+
+
 * MORE FEATURES
 ---------------
 
diff --git a/lisp/startup.el b/lisp/startup.el
index d4bb338fc0..d78cc6d35d 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1835,7 +1835,7 @@ fancy-startup-tail
   (unless concise
     (fancy-splash-insert
      :face 'variable-pitch
-     "\nTo start...     "
+     "\nTo start...      "
      :link `("Open a File"
 	     ,(lambda (_button) (call-interactively 'find-file))
 	     "Specify a new file's name, to edit the file")
@@ -1843,10 +1843,14 @@ fancy-startup-tail
      :link `("Open Home Directory"
 	     ,(lambda (_button) (dired "~"))
 	     "Open your home directory, to operate on its files")
-     "     "
+     "\n\t"
      :link `("Customize Startup"
 	     ,(lambda (_button) (customize-group 'initialization))
 	     "Change initialization settings including this screen")
+     "     "
+     :link `("Explore Packages"
+	     ,(lambda (_button) (call-interactively 'package-list-packages))
+	     "Explore, install and remove Emacs packages")
      "\n"))
   (fancy-splash-insert
    :face 'variable-pitch "To quit a partially entered command, type "
-- 
2.33.1


[-- Attachment #3: Type: text/plain, Size: 23 bytes --]


-- 

Daniel Fleischer

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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-01 19:25 ` Stefan Kangas
  2021-12-02  6:42   ` Daniel Fleischer
@ 2021-12-02  9:09   ` Juri Linkov
  2021-12-02 11:17     ` Stefan Kangas
  1 sibling, 1 reply; 42+ messages in thread
From: Juri Linkov @ 2021-12-02  9:09 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Daniel Fleischer, emacs-devel

>> +* INSTALLING PACKAGES
>> +---------------------
>> +
>> +Emacs has a rich set of packages written by the community, which
>> +extends Emacs' capabilities.  These features include support for new
>> +languages, additional themes, plugins to integrate with external
>> +applications and much much more.
>> ...
>>  * GETTING MORE HELP
>>  -------------------
>
> LGTM, but I would prefer to put this after the section "Getting more
> help".

Or better more further down after "MORE FEATURES" since such order
makes more sense: 1. learn more about Emacs features; 2. learn
about packages that extend Emacs features.



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-02  9:09   ` Juri Linkov
@ 2021-12-02 11:17     ` Stefan Kangas
  2021-12-03  6:57       ` Daniel Fleischer
  0 siblings, 1 reply; 42+ messages in thread
From: Stefan Kangas @ 2021-12-02 11:17 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Daniel Fleischer, emacs-devel

Juri Linkov <juri@linkov.net> writes:

> Or better more further down after "MORE FEATURES" since such order
> makes more sense: 1. learn more about Emacs features; 2. learn
> about packages that extend Emacs features.

Yes, that also works.



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-02 11:17     ` Stefan Kangas
@ 2021-12-03  6:57       ` Daniel Fleischer
  2021-12-03 16:29         ` [External] : " Drew Adams
  2021-12-03 17:00         ` Lars Ingebrigtsen
  0 siblings, 2 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-03  6:57 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 377 bytes --]

Stefan Kangas [2021-12-02 Thu 03:17] wrote:

> Yes, that also works.

I've put the section further down, right before the "conclusion"
section, even though I think being able to install packages and extend
Emacs is a main feature and should be introduced to new users early on.
Attached is the patch. It includes the tutorial section and the new
button in the startup screen.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch --]
[-- Type: text/x-patch, Size: 2529 bytes --]

From e523a05ee935e5ef65990dcba1c642a931fd1edc Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] Exposing package management to users

* etc/tutorials/TUTORIAL: section about package installation

* lisp/startup.el (fancy-startup-tail): package-list button
---
 etc/tutorials/TUTORIAL | 19 +++++++++++++++++++
 lisp/startup.el        |  8 ++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..2cc9c49c42 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -1099,6 +1099,25 @@ manual in the node called "Dired".
 The manual also describes many other Emacs features.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins to integrate with external
+applications and much much more.
+
+To install a package type M-x package-install <Return> and choose a
+package. To uninstall, type M-x package-delete <Return> and choose a
+package to remove.
+
+>> Type M-x package-install <Return> which-key <Return> to install
+   the 'which-key' package, for example.
+
+>> Type M-x package-delete <Return> which-key <Return> to delete
+   the package you just installed.
+
+
 * CONCLUSION
 ------------
 
diff --git a/lisp/startup.el b/lisp/startup.el
index d4bb338fc0..d78cc6d35d 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1835,7 +1835,7 @@ fancy-startup-tail
   (unless concise
     (fancy-splash-insert
      :face 'variable-pitch
-     "\nTo start...     "
+     "\nTo start...      "
      :link `("Open a File"
 	     ,(lambda (_button) (call-interactively 'find-file))
 	     "Specify a new file's name, to edit the file")
@@ -1843,10 +1843,14 @@ fancy-startup-tail
      :link `("Open Home Directory"
 	     ,(lambda (_button) (dired "~"))
 	     "Open your home directory, to operate on its files")
-     "     "
+     "\n\t"
      :link `("Customize Startup"
 	     ,(lambda (_button) (customize-group 'initialization))
 	     "Change initialization settings including this screen")
+     "     "
+     :link `("Explore Packages"
+	     ,(lambda (_button) (call-interactively 'package-list-packages))
+	     "Explore, install and remove Emacs packages")
      "\n"))
   (fancy-splash-insert
    :face 'variable-pitch "To quit a partially entered command, type "
-- 
2.33.1


[-- Attachment #3: Type: text/plain, Size: 23 bytes --]


-- 

Daniel Fleischer

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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03  6:57       ` Daniel Fleischer
@ 2021-12-03 16:29         ` Drew Adams
  2021-12-03 17:48           ` Daniel Fleischer
  2021-12-03 17:00         ` Lars Ingebrigtsen
  1 sibling, 1 reply; 42+ messages in thread
From: Drew Adams @ 2021-12-03 16:29 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel@gnu.org

> being able to install packages and extend
> Emacs is a main feature and should be
> introduced to new users early on.

Is using the Customize UI in the tutorial?
Is making simple customizations with Lisp
in the tutorial?  Is use of `custom-file'
in the tutorial?  Is use of the `Options'
menu in the tutorial?

Such simple customization is something to
introduce at least as early as installing
and deleting additional packages, no? 

Is `load-path', `require', or `load-library'
introduced in the tutorial?

The stated raison d'etre for this change was
merely that "_some people are not aware_ of
the package management features of Emacs".

How many nowadays _are_ aware of that "main
feature" but are unaware of how to find and
change a face or option value?  How many are
unaware of how to _ask Emacs_, to find out
for themselves about such things?

The whole discussion (by 3 people) of this
change  has been only about _where_ to add
this topic - nothing about why to do so,
or what other changes might be just as
important or more so.

Has it been shown that new users _are_ in
general unaware of packages or unable to
install them?  Aside from questions about
an early init file or `use-package' syntax
etc., how many new users just ask "How do
I install a package?"  I don't see that
come up, myself, on Reddit, StackExchange,
help-gnu-emacs, etc., and I come across
dozens (hundreds?), of new-user questions
every day.

A good indication of such a need might be
the number of existing blogs, videos, etc.
telling users how to install and delete a
package - and how much they're used.  Do
we have an impression (or tally) of this?
Is there a crying lack of such help?

I don't say we shouldn't document this
"main feature".  But there might be other
things that are at least as useful to
introduce in the basic tutorial.

(A tutorial can also just make users aware
of feature XYZ and point to its doc, if
step-by-step "learning by doing" isn't so
urgent or important for that feature.)



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-03  6:57       ` Daniel Fleischer
  2021-12-03 16:29         ` [External] : " Drew Adams
@ 2021-12-03 17:00         ` Lars Ingebrigtsen
  2021-12-04 13:08           ` Stefan Kangas
  1 sibling, 1 reply; 42+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-03 17:00 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-devel

Daniel Fleischer <danflscr@gmail.com> writes:

> * etc/tutorials/TUTORIAL: section about package installation

[...]

> +Emacs has a rich set of packages written by the community, which
> +extends Emacs' capabilities.  These features include support for new
> +languages, additional themes, plugins to integrate with external
> +applications and much much more.
> +
> +To install a package type M-x package-install <Return> and choose a
> +package. To uninstall, type M-x package-delete <Return> and choose a
> +package to remove.
> +
> +>> Type M-x package-install <Return> which-key <Return> to install
> +   the 'which-key' package, for example.
> +
> +>> Type M-x package-delete <Return> which-key <Return> to delete
> +   the package you just installed.

It makes sense to add something about packages in the tutorial, but
perhaps it should just mention `M-x list-packages' instead?  I think
that's the most convenient way to get an overview of the available
packages.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 16:29         ` [External] : " Drew Adams
@ 2021-12-03 17:48           ` Daniel Fleischer
  2021-12-03 18:53             ` Stefan Kangas
  2021-12-03 18:53             ` Drew Adams
  0 siblings, 2 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-03 17:48 UTC (permalink / raw)
  To: emacs-devel

Hi Drew, interesting points. 

> Is using the Customize UI in the tutorial?
> Is making simple customizations with Lisp
> in the tutorial?  Is use of `custom-file'
> in the tutorial?  Is use of the `Options'
> menu in the tutorial?

It's sounds like whataboutism. If you think there are glaring omissions
in topics to be introduced to new users, let's add them.

> Is `load-path', `require', or `load-library'
> introduced in the tutorial?

Based on my experience with competing editors (sorry for reducing Emacs
to being an editor) when first starting up the topics of selecting a
theme and installing packages are presented first. After that, some
customization is offered. 

> How many nowadays _are_ aware of that "main
> feature" but are unaware of how to find and
> change a face or option value?  How many are
> unaware of how to _ask Emacs_, to find out
> for themselves about such things?

That's a trick question due to selection bias. Emacs is not easy to
learn; if you poll existing users, they probably figured out how to
install packages. We're talking about first timers, people that make
their first steps in Emacs. When these people get stuck, the no. 1
comment they receive is "do the tutorial". That's where we need to
present the Emacs ontology: windows, frames, undo/redo, modeline,
help-searching and also package management which is the least alien part
in Emacs.

> The whole discussion (by 3 people) of this
> change  has been only about _where_ to add
> this topic - nothing about why to do so,
> or what other changes might be just as
> important or more so.

Do you want to open up a discussion about how the tutorial is build, or
how to make Emacs easier for new users? great, but let's start with
something.

> Has it been shown that new users _are_ in
> general unaware of packages or unable to
> install them?  Aside from questions about
> an early init file or `use-package' syntax
> etc., how many new users just ask "How do
> I install a package?"  I don't see that
> come up, myself, on Reddit, StackExchange,
> help-gnu-emacs, etc., and I come across
> dozens (hundreds?), of new-user questions
> every day.

Fair point. Does it mean we shouldn't try to anticipate pain points for,
say, new users, and introduce features we think may help them, unless
new users explicitly complain of lack of such features?

> A good indication of such a need might be
> the number of existing blogs, videos, etc.
> telling users how to install and delete a
> package - and how much they're used.  Do
> we have an impression (or tally) of this?
> Is there a crying lack of such help?

When did any change been introduced to Emacs due to some contributor
seeing blog posts mentioning such and such aspects of Emacs being
problematic/hard to configure/missing a feature?

-- 

Daniel Fleischer




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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 17:48           ` Daniel Fleischer
@ 2021-12-03 18:53             ` Stefan Kangas
  2021-12-03 18:56               ` Drew Adams
  2021-12-03 18:53             ` Drew Adams
  1 sibling, 1 reply; 42+ messages in thread
From: Stefan Kangas @ 2021-12-03 18:53 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel

Daniel Fleischer <danflscr@gmail.com> writes:

> It's sounds like whataboutism. If you think there are glaring omissions
> in topics to be introduced to new users, let's add them.

Indeed.  If anyone wants to make further additions to the tutorial, we
can discuss that.  The way to begin is to do what Daniel did and write a
patch.  Otherwise, there is unfortunately not much to discuss.



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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 17:48           ` Daniel Fleischer
  2021-12-03 18:53             ` Stefan Kangas
@ 2021-12-03 18:53             ` Drew Adams
  2021-12-03 19:24               ` Stefan Kangas
                                 ` (2 more replies)
  1 sibling, 3 replies; 42+ messages in thread
From: Drew Adams @ 2021-12-03 18:53 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel@gnu.org

> > Is using the Customize UI in the tutorial?
> > Is making simple customizations with Lisp
> > in the tutorial?  Is use of `custom-file'
> > in the tutorial?  Is use of the `Options'
> > menu in the tutorial?
> 
> It's sounds like whataboutism. If you think there
> are glaring omissions in topics to be introduced
> to new users, let's add them.

It's about the relative use/importance.  It's
not just about whether XYZ might be useful, in
the absolute, to add to the basic tutorial.

I'd suggest that teaching basic customization
should be more useful/important than teaching
how to install an external package.  But I
don't claim to be right about that suggestion.

> > Is `load-path', `require', or `load-library'
> > introduced in the tutorial?
> 
> Based on my experience with competing editors
> (sorry for reducing Emacs to being an editor)
> when first starting up the topics of selecting a
> theme and installing packages are presented first.
> After that, some customization is offered.

Some basic customization by users is pretty
central to what Emacs is about.  "Extensible"
etc. in the Emacs description isn't (IMO)
primarily about theming or installing packages,
let alone deleting installed packages.

I haven't checked your changes to the tutorial
(mea culpa) - but did you also cover theming?

> > How many nowadays _are_ aware of that "main
> > feature" but are unaware of how to find and
> > change a face or option value?  How many are
> > unaware of how to _ask Emacs_, to find out
> > for themselves about such things?
> 
> That's a trick question due to selection bias.

I don't think it is.

> Emacs is not easy to learn; if you poll existing
> users, they probably figured out how to install
> packages. We're talking about first timers, people
> that make their first steps in Emacs.

Fine.  So your argument is that _first timers_
don't know how to install packages and they're
dying to know that.  They need that, from the
get-go.

> When these people get stuck,

Stuck how?  Stuck with how to install a package?
That's the question: what's the evidence for this
crying need.

I see _many_ questions from "first timers" about
how to find what face (color, font) is used
somewhere, and how to change it.  And how to
change some variable (e.g. option).  I haven't
seen a lot of questions about how to install a
package.  Not at all.

Maybe we frequent different Q&A/help venues, or
maybe we study/peruse them differently.  I don't
claim my perception is more accurate or important
than yours.  But it's you who are proposing the
change.

> the no. 1 comment they receive is "do the tutorial".

I'd agree that such a comment isn't an answer to
all first-timer questions or problems.

The tutorial should be (or become, if it's not
already) a good place to _start_.  (Whether it
is that, or whether it's the _best_ place to
start, could be debated.)

Is the need to install packages part of what you
need to _start_ using Emacs?  Or does that maybe
belong in some other tutorial (video, blog...)?

> That's where we need to present the Emacs
> ontology: windows, frames, undo/redo, modeline,
> help-searching

Yes, and?

> and also package management which is the least
> alien part in Emacs.

Why also package management?  That's my question.
Why is that something needed for _starting_ to
use Emacs?  By "package management" I guess you
mean installing and deleting packages?  Why is
that something you need to learn at the outset?

> > The whole discussion (by 3 people) of this
> > change  has been only about _where_ to add
> > this topic - nothing about why to do so,
> > or what other changes might be just as
> > important or more so.
> 
> Do you want to open up a discussion about how
> the tutorial is build, or how to make Emacs
> easier for new users? great, but let's start
> with something.

I posed a question about the need for the
particular change to the tutorial that you've
proposed - the "why".

And yes, "need" as defined relatively -
relative to who'll follow the tutorial, and
relative to other topics that it could cover.

> > Has it been shown that new users _are_ in
> > general unaware of packages or unable to
> > install them?  Aside from questions about
> > an early init file or `use-package' syntax
> > etc., how many new users just ask "How do
> > I install a package?"  I don't see that
> > come up, myself, on Reddit, StackExchange,
> > help-gnu-emacs, etc., and I come across
> > dozens (hundreds?), of new-user questions
> > every day.
> 
> Fair point. Does it mean we shouldn't try to
> anticipate pain points for, say, new users,
> and introduce features we think may help them,
> unless new users explicitly complain of lack
> of such features?

How do you propose to know what is most useful
to them?

We've both referred to questions they and others
actually pose.  Our perceptions of the relative
number that ask about installing & deleting
packages differ.

But you seem to have even gone beyond that, by
saying that real first-timers are unlikely to
pose questions about installing & deleting, so
relative lack of such questions by them can't
be used as a yardstick.

In that case, what yardstick do you propose,
to support your judgment of this need?

> > A good indication of such a need might be
> > the number of existing blogs, videos, etc.
> > telling users how to install and delete a
> > package - and how much they're used.  Do
> > we have an impression (or tally) of this?
> > Is there a crying lack of such help?
> 
> When did any change been introduced to Emacs
> due to some contributor seeing blog posts
> mentioning such and such aspects of Emacs being
> problematic/hard to configure/missing a feature?

Sorry, but I don't understand your point or
question there.

I'm again asking what _you_ look to, as evidence
that installing & deleting packages is something
that first-timers really need, as part of our
learn-by-doing tutorial.

You seem to have removed questions by users in
various places, as well as blogs, videos, etc.,
as possible evidence.  What's left?  From what
have you concluded that this is needed in the
basic tutorial?  Where's the beef?



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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 18:53             ` Stefan Kangas
@ 2021-12-03 18:56               ` Drew Adams
  0 siblings, 0 replies; 42+ messages in thread
From: Drew Adams @ 2021-12-03 18:56 UTC (permalink / raw)
  To: Stefan Kangas, Daniel Fleischer, emacs-devel@gnu.org

> If anyone wants to make further additions to the tutorial, we
> can discuss that.  The way to begin is to do what Daniel did and write a
> patch.  Otherwise, there is unfortunately not much to discuss.

The discussion is about Daniel's proposed addition.
Evidence that it's needed in the basic tutorial?


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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 18:53             ` Drew Adams
@ 2021-12-03 19:24               ` Stefan Kangas
  2021-12-03 20:24                 ` Drew Adams
  2021-12-03 21:19               ` Daniel Fleischer
  2021-12-04  5:44               ` Richard Stallman
  2 siblings, 1 reply; 42+ messages in thread
From: Stefan Kangas @ 2021-12-03 19:24 UTC (permalink / raw)
  To: Drew Adams, Daniel Fleischer, emacs-devel@gnu.org

Drew Adams <drew.adams@oracle.com> writes:

> I'd suggest that teaching basic customization
> should be more useful/important than teaching
> how to install an external package.

That sounds like another fine addition to make.  Maybe someone could
write up 15-20 lines or so about how to use `M-x customize'?

> Fine.  So your argument is that _first timers_
> don't know how to install packages and they're
> dying to know that.  They need that, from the
> get-go.

Correct.



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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 19:24               ` Stefan Kangas
@ 2021-12-03 20:24                 ` Drew Adams
  2021-12-03 22:54                   ` Stefan Kangas
  0 siblings, 1 reply; 42+ messages in thread
From: Drew Adams @ 2021-12-03 20:24 UTC (permalink / raw)
  To: Stefan Kangas, Daniel Fleischer, emacs-devel@gnu.org

> > I'd suggest that teaching basic customization
> > should be more useful/important than teaching
> > how to install an external package.
> 
> That sounds like another fine addition to make.  Maybe someone could
> write up 15-20 lines or so about how to use `M-x customize'?

+1.

Assuming that such additions are needed.  That's
the question.

One could argue, without reasons given, for almost
any Emacs this-or-that to be gone over in the basic
tutorial.  It's good to be able to _reason_ about a
change proposal, however.

Any number of "fine additions" are conceivable.
That doesn't make any or all of them desirable.

A proposal to change the status quo is usually
accompanied by some reasons for the change.

> > Fine.  So your argument is that _first timers_
> > don't know how to install packages and they're
> > dying to know that.  They need that, from the
> > get-go.
> 
> Correct.

So I understood correctly from the beginning.

And the evidence for that claim is?

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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 18:53             ` Drew Adams
  2021-12-03 19:24               ` Stefan Kangas
@ 2021-12-03 21:19               ` Daniel Fleischer
  2021-12-03 23:01                 ` Drew Adams
  2021-12-04  8:06                 ` Eli Zaretskii
  2021-12-04  5:44               ` Richard Stallman
  2 siblings, 2 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-03 21:19 UTC (permalink / raw)
  To: emacs-devel

Great points, let me comment on a few of them.

> How do you propose to know what is most useful
> to them?

That's easy: because I was a beginner and I struggled with some of these
things and because I use other editors as well and try to see what is
offered elsewhere to try and understand what people tend to expect
nowadays, as part of my drive to try and increase the Emacs community by
having more people try it and having it easier for beginners.

> Why also package management?  That's my question.
> Why is that something needed for _starting_ to
> use Emacs?  By "package management" I guess you
> mean installing and deleting packages?  Why is
> that something you need to learn at the outset?

That's the crux: in my experience, installing a package is the FIRST
thing I do. I used to work with Sublime text, Atom, VS Code. The first thing I
did was to install a package for the type of file I worked on, whether
it was JSON, Latex, Python. VSCode even has a popup when you open a file
asking you to download the appropriate package. I gave JSON as an
example because there is no built-in "support" but it can be easily
downloaded.

People expect the editor to be lean and to install packages for the type
of files they work on - it's part of what they call to setup the
environment. Emacs is different, it's opposite of lean. But even then,
there are many things Emacs doesn't have built-in. People will open
Clojure, Rust, GO files or what have you and stare and ask what do I do
now. Downloading "clojure-mode" or "rust-mode" or "go-mode" is one
command away, and that's what I want to people to see in the tutorial.

To reiterate, I believe the first thing a user does with a new editor is
have it ready to work with some file-type of interest which the editor
might not support built-in, and this is even before configuring anything
general in the editor. Starting to configure the editor requires some
commitment, which was not earned yet.

> I'm again asking what _you_ look to, as evidence
> that installing & deleting packages is something
> that first-timers really need, as part of our
> learn-by-doing tutorial.

I feel like that's not fair. In the short time I've been here I was able
to see features being implemented which were NOT backed up by any
external data or polls (discussions here are not included). Moreover,
some updates were motivated by individual bug reports which is a sample
of one. Also what's the downside here? having the tutorial too long?

If you're asking if it's a low hanging fruit, compared to teaching users
about customization, then it is. I don't see anything wrong with it. 

-- 

Daniel Fleischer




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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 20:24                 ` Drew Adams
@ 2021-12-03 22:54                   ` Stefan Kangas
  0 siblings, 0 replies; 42+ messages in thread
From: Stefan Kangas @ 2021-12-03 22:54 UTC (permalink / raw)
  To: Drew Adams, Daniel Fleischer, emacs-devel@gnu.org

Drew Adams <drew.adams@oracle.com> writes:

> And the evidence for that claim is?

For example, we don't have support OOTB for several of the most popular
programming languages.  If you are looking to use them, you will first
need to install the corresponding language modes.

(Personally, I would recommend any beginner to install also `which-key'
as the first order of business, so the example in the added tutorial
section is excellently chosen at that.)



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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 21:19               ` Daniel Fleischer
@ 2021-12-03 23:01                 ` Drew Adams
  2021-12-04  8:06                 ` Eli Zaretskii
  1 sibling, 0 replies; 42+ messages in thread
From: Drew Adams @ 2021-12-03 23:01 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel@gnu.org

> > How do you propose to know what is most useful
> > to them?
> 
> That's easy: because I was a beginner and I struggled with some of these
> things and because I use other editors as well and try to see what is
> offered elsewhere to try and understand what people tend to expect
> nowadays

Do you see first-time users asking about this often?
If so, where do you see that?

> > Why also package management?  That's my question.
> > Why is that something needed for _starting_ to
> > use Emacs?  By "package management" I guess you
> > mean installing and deleting packages?  Why is
> > that something you need to learn at the outset?
> 
> That's the crux: in my experience, installing a package 
> is the FIRST thing I do.

If that is the crux then I'd expect "How do I install
a package?" to be a FAQ, especially for first-timers.
I don't see that, and I go through user questions daily.

Again, where do you see that "crux" question posed
often by first-timers?

_That's_ the crux: how important is this for first use
of Emacs?  Beyond your saying that it's important, and
that you struggled with this yourself, I don't see
where you've pointed to others struggling with it.

> I used to work with Sublime text, Atom, VS Code. The first thing I
> did was to install a package for the type of file I worked on, whether
> it was JSON, Latex, Python. VSCode even has a popup when you open a file
> asking you to download the appropriate package. I gave JSON as an
> example because there is no built-in "support" but it can be easily
> downloaded.

I think you're saying that for practical use of Emacs
with a given type of file, one needs a 3rd-party pkg.

OK, if true, I can see that a tutorial for how to find
and install relevant packages can be useful.  I still
don't see why it would be the "FIRST" thing someone
trying Emacs would need to learn, but OK.

(Is it really a "struggle" to find this how-to?  Maybe
this belongs in its own tutorial?)

> People expect the editor to be lean and to install packages for the type
> of files they work on - it's part of what they call to setup the
> environment. Emacs is different, it's opposite of lean. But even then,
> there are many things Emacs doesn't have built-in. People will open
> Clojure, Rust, GO files or what have you and stare and ask what do I do
> now. Downloading "clojure-mode" or "rust-mode" or "go-mode" is one
> command away, and that's what I want to people to see in the tutorial.

I understand.  But would it be enough to just say that:
With Emacs, you might want to install a 3rd-party
package for some mode.  And point to the manual for
how-to.  The how-to for "installing" is pretty simple,
no?  It seems pretty clear from (emacs) `Package
Installation'.

The how-to for finding the most relevant package for a
given mode might be more involved, but does that belong
in the tutorial?

> To reiterate, I believe the first thing a user does with a new editor is
> have it ready to work with some file-type of interest which the editor
> might not support built-in, and this is even before configuring anything
> general in the editor. Starting to configure the editor requires some
> commitment, which was not earned yet.

That might be true of some users.  Odd, in that case,
that we don't see much in the way of questions "How
do I install a package?"

> > I'm again asking what _you_ look to, as evidence
> > that installing & deleting packages is something
> > that first-timers really need, as part of our
> > learn-by-doing tutorial.
> 
> I feel like that's not fair. In the short time I've been here I was able
> to see features being implemented which were NOT backed up by any
> external data or polls (discussions here are not included).

Indeed.  IMO there's too often stuff done with little
or no discussion, and often even no proposal.  Don't
take my wish to see proposal, reasons, and discussion
personally.

> Moreover, some updates were motivated by individual bug reports which is a sample
> of one.

+1 again.  Full agreement.  This is too bad.

> Also what's the downside here? having the tutorial too long?

The question should always be, IMO, why make a given
change?  The question isn't "Why not?"  And that's
also the professed policy of the maintainers, AFAIK.

(I can't vouch for whether that rule applies to them
as well.  I'd hope and expect that it does.)

> If you're asking if it's a low hanging fruit, compared to teaching users
> about customization, then it is. I don't see anything wrong with it.

I'm not saying there's anything wrong with it.  My
request was for reasons supporting it.



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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 18:53             ` Drew Adams
  2021-12-03 19:24               ` Stefan Kangas
  2021-12-03 21:19               ` Daniel Fleischer
@ 2021-12-04  5:44               ` Richard Stallman
  2021-12-04  8:04                 ` Eli Zaretskii
  2021-12-04 17:18                 ` Drew Adams
  2 siblings, 2 replies; 42+ messages in thread
From: Richard Stallman @ 2021-12-04  5:44 UTC (permalink / raw)
  To: Drew Adams; +Cc: danflscr, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > I'd suggest that teaching basic customization
  > should be more useful/important than teaching
  > how to install an external package.  But I
  > don't claim to be right about that suggestion.

I tend to think that neither one is important enough to
include in the tutorial.  I think that neither operation
is part of what people need to know, when they are at
the very basic level that the tutorial aims to teach.

But I'm not going to argue about it.

  > That sounds like another fine addition to make.  Maybe someone could
  > write up 15-20 lines or so about how to use `M-x customize'?

To teach this to the sort of people that need the tutorial
calls for walking the reader through an example.  That would require
a hundred lines, or maybe 200.


-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-04  5:44               ` Richard Stallman
@ 2021-12-04  8:04                 ` Eli Zaretskii
  2021-12-04 17:20                   ` Drew Adams
  2021-12-04 17:18                 ` Drew Adams
  1 sibling, 1 reply; 42+ messages in thread
From: Eli Zaretskii @ 2021-12-04  8:04 UTC (permalink / raw)
  To: rms; +Cc: danflscr, drew.adams, emacs-devel

> From: Richard Stallman <rms@gnu.org>
> Date: Sat, 04 Dec 2021 00:44:17 -0500
> Cc: danflscr@gmail.com, emacs-devel@gnu.org
> 
>   > I'd suggest that teaching basic customization
>   > should be more useful/important than teaching
>   > how to install an external package.  But I
>   > don't claim to be right about that suggestion.
> 
> I tend to think that neither one is important enough to
> include in the tutorial.  I think that neither operation
> is part of what people need to know, when they are at
> the very basic level that the tutorial aims to teach.
> 
> But I'm not going to argue about it.
> 
>   > That sounds like another fine addition to make.  Maybe someone could
>   > write up 15-20 lines or so about how to use `M-x customize'?
> 
> To teach this to the sort of people that need the tutorial
> calls for walking the reader through an example.  That would require
> a hundred lines, or maybe 200.

We don't have to provide enough details in the tutorial, we could just
mention that these things exist, and refer to the manual.  Discovery
is not an insignificant problem in Emacs.



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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-03 21:19               ` Daniel Fleischer
  2021-12-03 23:01                 ` Drew Adams
@ 2021-12-04  8:06                 ` Eli Zaretskii
  2021-12-04 11:04                   ` Daniel Fleischer
  2021-12-04 17:38                   ` Drew Adams
  1 sibling, 2 replies; 42+ messages in thread
From: Eli Zaretskii @ 2021-12-04  8:06 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-devel

> From: Daniel Fleischer <danflscr@gmail.com>
> Date: Fri, 03 Dec 2021 23:19:07 +0200
> 
> > I'm again asking what _you_ look to, as evidence
> > that installing & deleting packages is something
> > that first-timers really need, as part of our
> > learn-by-doing tutorial.
> 
> I feel like that's not fair. In the short time I've been here I was able
> to see features being implemented which were NOT backed up by any
> external data or polls (discussions here are not included). Moreover,
> some updates were motivated by individual bug reports which is a sample
> of one.

Drew doesn't speak for the Emacs project, so don't be surprised when
his views contradict the project's practices and decision-making
process.  He (consistently) opposes those as well.



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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-04  8:06                 ` Eli Zaretskii
@ 2021-12-04 11:04                   ` Daniel Fleischer
  2021-12-04 18:16                     ` Drew Adams
  2021-12-04 17:38                   ` Drew Adams
  1 sibling, 1 reply; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-04 11:04 UTC (permalink / raw)
  To: emacs-devel

Eli Zaretskii [2021-12-04 Sat 10:06] wrote:

> Drew doesn't speak for the Emacs project, so don't be surprised when
> his views contradict the project's practices and decision-making
> process.  He (consistently) opposes those as well.

No need to differentiate and point out different opinions in the
community, it's a good thing. I wouldn't want to stifle opinions,
especially from people like Drew, whose work and commitment speaks for
themselves.

It's just I never thought about data-driven development around here.
Everyone has an agenda, working on features they care about; at least
discussions are conducted where people convince the maintainers in the
necessity of the change, but almost never by using data/polls. I
remember the Emacs survey of 2020; it was a private initiative (not FSF)
with almost no impact on discussions here; at least that was my
impression.

I see the value of conservatism in the survival of Emacs up to this
point. Obviously Emacs can grow in a proactive manner as well, in
addition to a reactive manner of fixing things enough people complained
about, per the criteria mentioned previously.

-- 

Daniel Fleischer




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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-03 17:00         ` Lars Ingebrigtsen
@ 2021-12-04 13:08           ` Stefan Kangas
  2021-12-04 14:15             ` Daniel Fleischer
  0 siblings, 1 reply; 42+ messages in thread
From: Stefan Kangas @ 2021-12-04 13:08 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Daniel Fleischer; +Cc: emacs-devel

Lars Ingebrigtsen <larsi@gnus.org> writes:

> It makes sense to add something about packages in the tutorial, but
> perhaps it should just mention `M-x list-packages' instead?  I think
> that's the most convenient way to get an overview of the available
> packages.

That's a good point, and I concur.

It seems like we would like to install this change, but I think we
should make the above change first.  Daniel, what do you think?  Could
you look into it and update your patch?  Thanks in advance.



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-04 13:08           ` Stefan Kangas
@ 2021-12-04 14:15             ` Daniel Fleischer
  2021-12-04 16:29               ` Eli Zaretskii
  0 siblings, 1 reply; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-04 14:15 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 554 bytes --]

Stefan Kangas [2021-12-04 Sat 14:08] wrote:

> It seems like we would like to install this change, but I think we
> should make the above change first.  Daniel, what do you think?  Could
> you look into it and update your patch?  Thanks in advance.

I want to keep the simple example of installing and deleting a single
package because it's empowering and thanks to completion, this could be
enough for someone to learn how to install, say, clojure-mode.

I have added the `list-packages' command as a reference, to get more
information about packages.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch --]
[-- Type: text/x-patch, Size: 2707 bytes --]

From 0939b8e7524eb93efd19dcd38dbf3a3631a03aa7 Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] Exposing package management to users

* etc/tutorials/TUTORIAL: section about package installation

* lisp/startup.el (fancy-startup-tail): package-list button
---
 etc/tutorials/TUTORIAL | 26 ++++++++++++++++++++++++++
 lisp/startup.el        |  8 ++++++--
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..448d77736f 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -1099,6 +1099,32 @@ manual in the node called "Dired".
 The manual also describes many other Emacs features.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins to integrate with external
+applications and much much more.
+
+To install a package type M-x package-install <Return> and choose a
+package. To uninstall, type M-x package-delete <Return> and choose a
+package to remove.
+
+>> Type M-x package-install <Return> which-key <Return> to install
+   the 'which-key' package, for example.
+
+>> Type M-x package-delete <Return> which-key <Return> to delete
+   the package you just installed.
+
+To see a list of all available packages, type
+
+	M-x list-packages
+
+In this mode, you can install and uninstall any package as well as
+read packages' descriptions.
+
+
 * CONCLUSION
 ------------
 
diff --git a/lisp/startup.el b/lisp/startup.el
index d4bb338fc0..d78cc6d35d 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1835,7 +1835,7 @@ fancy-startup-tail
   (unless concise
     (fancy-splash-insert
      :face 'variable-pitch
-     "\nTo start...     "
+     "\nTo start...      "
      :link `("Open a File"
 	     ,(lambda (_button) (call-interactively 'find-file))
 	     "Specify a new file's name, to edit the file")
@@ -1843,10 +1843,14 @@ fancy-startup-tail
      :link `("Open Home Directory"
 	     ,(lambda (_button) (dired "~"))
 	     "Open your home directory, to operate on its files")
-     "     "
+     "\n\t"
      :link `("Customize Startup"
 	     ,(lambda (_button) (customize-group 'initialization))
 	     "Change initialization settings including this screen")
+     "     "
+     :link `("Explore Packages"
+	     ,(lambda (_button) (call-interactively 'package-list-packages))
+	     "Explore, install and remove Emacs packages")
      "\n"))
   (fancy-splash-insert
    :face 'variable-pitch "To quit a partially entered command, type "
-- 
2.33.1


[-- Attachment #3: Type: text/plain, Size: 23 bytes --]


-- 

Daniel Fleischer

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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-04 14:15             ` Daniel Fleischer
@ 2021-12-04 16:29               ` Eli Zaretskii
  2021-12-04 20:38                 ` Daniel Fleischer
  0 siblings, 1 reply; 42+ messages in thread
From: Eli Zaretskii @ 2021-12-04 16:29 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-devel

> From: Daniel Fleischer <danflscr@gmail.com>
> Date: Sat, 04 Dec 2021 16:15:14 +0200
> 
> I want to keep the simple example of installing and deleting a single
> package because it's empowering and thanks to completion, this could be
> enough for someone to learn how to install, say, clojure-mode.
> 
> I have added the `list-packages' command as a reference, to get more
> information about packages.

Thanks, but I feel this is too much for a tutorial.  Just mentioning
list-packages, and having a reference to the manual that describes the
rest, should be enough.

The tutorial is about the basics, the terminology, and little else.
For all the other important topics, it should just help discovering
them, not provide detailed instructions.  Otherwise it will become
unbearably large.  In this case, the section "Package Installation" in
the Emacs manual presents a much better description of what's
involved, and a terse summary in the tutorial can never match it.
Package installation is a delicate matter, since it involves
installing software that didn't come with the distribution, so
omitting details is not a good idea here.



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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-04  5:44               ` Richard Stallman
  2021-12-04  8:04                 ` Eli Zaretskii
@ 2021-12-04 17:18                 ` Drew Adams
  1 sibling, 0 replies; 42+ messages in thread
From: Drew Adams @ 2021-12-04 17:18 UTC (permalink / raw)
  To: rms@gnu.org; +Cc: danflscr@gmail.com, emacs-devel@gnu.org

>da> I'd suggest that teaching basic customization
>da> should be more useful/important than teaching
>da> how to install an external package.  But I
>da> don't claim to be right about that suggestion.
> 
> I tend to think that neither one is important enough to
> include in the tutorial.  I think that neither operation
> is part of what people need to know, when they are at
> the very basic level that the tutorial aims to teach.

FWIW, I agree.  Nothing prevents Emacs (or third
parties) from providing additional tutorials (or
blogs or videos...) that cover such things.

>sk> That sounds like another fine addition to make.  Maybe someone could
>sk> write up 15-20 lines or so about how to use `M-x customize'?
> 
> To teach this to the sort of people that need the tutorial
> calls for walking the reader through an example.  That would require
> a hundred lines, or maybe 200.

+1.

A separate tutorial or whatever might make sense.
Step-by-step how-to for particular tasks/features
can sometimes help.

Or perhaps just mention in passing that you can
do this, plus add a link to its doc in the manual.

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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-04  8:04                 ` Eli Zaretskii
@ 2021-12-04 17:20                   ` Drew Adams
  0 siblings, 0 replies; 42+ messages in thread
From: Drew Adams @ 2021-12-04 17:20 UTC (permalink / raw)
  To: Eli Zaretskii, rms@gnu.org; +Cc: danflscr@gmail.com, emacs-devel@gnu.org

> We don't have to provide enough details in the tutorial, we could just
> mention that these things exist, and refer to the manual.  Discovery
> is not an insignificant problem in Emacs.

+1.

(I said the same thing: Let users know about
it, and point to the fine manual's coverage.)



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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-04  8:06                 ` Eli Zaretskii
  2021-12-04 11:04                   ` Daniel Fleischer
@ 2021-12-04 17:38                   ` Drew Adams
  1 sibling, 0 replies; 42+ messages in thread
From: Drew Adams @ 2021-12-04 17:38 UTC (permalink / raw)
  To: Eli Zaretskii, Daniel Fleischer; +Cc: emacs-devel@gnu.org

> > > I'm again asking what _you_ look to, as evidence
> > > that installing & deleting packages is something
> > > that first-timers really need, as part of our
> > > learn-by-doing tutorial.
> >
> > I feel like that's not fair. In the short time I've been here I was able
> > to see features being implemented which were NOT backed up by any
> > external data or polls (discussions here are not included). Moreover,
> > some updates were motivated by individual bug reports which is a sample
> > of one.
> 
> Drew doesn't speak for the Emacs project, so don't be surprised when
> his views contradict the project's practices and decision-making
> process.  He (consistently) opposes those as well.

Here we go again, with another of Eli's knee-jerk
ad hominem attacks.

Asking for reasons for making a proposed change
is not a contradiction of the Emacs project's
practices or decision-making process.  And no,
Drew does not oppose those, consistently or
otherwise.

Progress is not incompatible with disagreeing
about a given decision or proposal.

And discussing reasons & counter-reasons that
back up arguments and proposals, is no threat
to progress.  Quite the opposite.

Appeal to authority as an argument is weak,
even if sometimes legitimate.  When it's the
only reason given, that's sad.



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

* RE: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-04 11:04                   ` Daniel Fleischer
@ 2021-12-04 18:16                     ` Drew Adams
  2021-12-04 21:06                       ` Daniel Fleischer
  0 siblings, 1 reply; 42+ messages in thread
From: Drew Adams @ 2021-12-04 18:16 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel@gnu.org

> No need to differentiate and point out different opinions in the
> community, it's a good thing. I wouldn't want to stifle opinions,
> especially from people like Drew, whose work and commitment speaks for
> themselves.
> 
> It's just I never thought about data-driven development around here.
> Everyone has an agenda, working on features they care about; at least
> discussions are conducted where people convince the maintainers in the
> necessity of the change, but almost never by using data/polls. I
> remember the Emacs survey of 2020; it was a private initiative (not FSF)
> with almost no impact on discussions here; at least that was my
> impression.
> 
> I see the value of conservatism in the survival of Emacs up to this
> point. Obviously Emacs can grow in a proactive manner as well, in
> addition to a reactive manner of fixing things enough people complained
> about, per the criteria mentioned previously.

FWIW, I agree with pretty much everything Daniel
has said, both here and in previous messages in
this thread, and with the way he's presented and
argued for his proposal.

He's not only tried to offer reasons, but he's
also appreciated questions and doubts about it,
instead of being defensive.  He's clearly open
and positive.

Very glad he's helping with Emacs.  And I hope
he doesn't get burned out by perceived hostility
or negativity.

Whether this particular thing gets added to the
basic tutorial or not, there's little doubt that
such help, in one form or another, could benefit
some new users (and some old users, including me,
FWIW).
___

The number of people who've provided extremely
valuable help, including outstanding features,
to the Emacs community, and who've given up
trying (or never bothered to try) to participate
in direct development of vanilla Emacs, is not
insignificant.

That is what it is.  Those folks haven't stopped
contributing to Emacs, in their own ways, and
they clearly love it.
___

[And no, I'm not talking about myself there.  I
do still participate directly (emacs-devel, bug
reports, help-gnu-emacs). I guess I can stand the
heat, or maybe I'm a glutton for punishment ;-).]



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-04 16:29               ` Eli Zaretskii
@ 2021-12-04 20:38                 ` Daniel Fleischer
  2021-12-04 21:58                   ` Lars Ingebrigtsen
  2021-12-05 10:21                   ` Eli Zaretskii
  0 siblings, 2 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-04 20:38 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 452 bytes --]

Eli Zaretskii [2021-12-04 Sat 18:29] wrote:

> Thanks, but I feel this is too much for a tutorial.  Just mentioning
> list-packages, and having a reference to the manual that describes the
> rest, should be enough.

OK, listing the packages and referring the manual is good enough for
raising awareness to this topic at this point. Please notice the new
button in the startup screen as well, as it wasn't discussed and is also
included in the patch. 


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch final? --]
[-- Type: text/x-patch, Size: 2383 bytes --]

From 987fd91c4eebca66f81eef9040a6f4d23e0d7170 Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] Exposing package management to users

* etc/tutorials/TUTORIAL: section about package installation

* lisp/startup.el (fancy-startup-tail): package-list button
---
 etc/tutorials/TUTORIAL | 14 ++++++++++++++
 lisp/startup.el        |  8 ++++++--
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..a1b03a711b 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -1099,6 +1099,20 @@ manual in the node called "Dired".
 The manual also describes many other Emacs features.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins for integrating with external
+applications and much much more.
+
+To see a list of all available packages, type M-x list-packages.  In
+this mode, you can install or uninstall packages, as well as read
+packages' descriptions.  For more information about package
+management, consult the maunal.
+
+
 * CONCLUSION
 ------------
 
diff --git a/lisp/startup.el b/lisp/startup.el
index d4bb338fc0..d78cc6d35d 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1835,7 +1835,7 @@ fancy-startup-tail
   (unless concise
     (fancy-splash-insert
      :face 'variable-pitch
-     "\nTo start...     "
+     "\nTo start...      "
      :link `("Open a File"
 	     ,(lambda (_button) (call-interactively 'find-file))
 	     "Specify a new file's name, to edit the file")
@@ -1843,10 +1843,14 @@ fancy-startup-tail
      :link `("Open Home Directory"
 	     ,(lambda (_button) (dired "~"))
 	     "Open your home directory, to operate on its files")
-     "     "
+     "\n\t"
      :link `("Customize Startup"
 	     ,(lambda (_button) (customize-group 'initialization))
 	     "Change initialization settings including this screen")
+     "     "
+     :link `("Explore Packages"
+	     ,(lambda (_button) (call-interactively 'package-list-packages))
+	     "Explore, install and remove Emacs packages")
      "\n"))
   (fancy-splash-insert
    :face 'variable-pitch "To quit a partially entered command, type "
-- 
2.33.1


[-- Attachment #3: Type: text/plain, Size: 24 bytes --]



-- 

Daniel Fleischer

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

* Re: [External] : Re: [PATCH] Package Installation in Tutorial
  2021-12-04 18:16                     ` Drew Adams
@ 2021-12-04 21:06                       ` Daniel Fleischer
  0 siblings, 0 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-04 21:06 UTC (permalink / raw)
  To: emacs-devel

Drew Adams [2021-12-04 Sat 18:16] wrote:

> FWIW, I agree with pretty much everything Daniel
> has said, both here and in previous messages in
> this thread, and with the way he's presented and
> argued for his proposal.

Thanks for the kind words.

> The number of people who've provided extremely
> valuable help, including outstanding features,
> to the Emacs community, and who've given up
> trying (or never bothered to try) to participate
> in direct development of vanilla Emacs, is not
> insignificant.

It's dynamic. With the introduction of nonGNU we saw packages "coming
home" and being available out of the box without the legal hurdle. One
such example is magit. It's nice; you can think of melpa, nongnu, elpa
and core as tiers for contributors' involvement. People do what they
feel comfortable with in terms of time, patient and effort and EVERY
contribution is appreciated, and made with love, as you said.

-- 

Daniel Fleischer




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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-04 20:38                 ` Daniel Fleischer
@ 2021-12-04 21:58                   ` Lars Ingebrigtsen
  2021-12-05  9:37                     ` Daniel Fleischer
  2021-12-05 10:21                   ` Eli Zaretskii
  1 sibling, 1 reply; 42+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-04 21:58 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 344 bytes --]

Daniel Fleischer <danflscr@gmail.com> writes:

> OK, listing the packages and referring the manual is good enough for
> raising awareness to this topic at this point. Please notice the new
> button in the startup screen as well, as it wasn't discussed and is also
> included in the patch. 

Makes sense to me, but it leads to odd indentation:


[-- Attachment #2: Type: image/png, Size: 18295 bytes --]

[-- Attachment #3: Type: text/plain, Size: 105 bytes --]



-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no

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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-04 21:58                   ` Lars Ingebrigtsen
@ 2021-12-05  9:37                     ` Daniel Fleischer
  2021-12-05 20:52                       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-05  9:37 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 326 bytes --]

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Makes sense to me, but it leads to odd indentation:

I verified it with several fonts, including monospace and it looked
fine. Anyways, I replaced the spaces with tabs in the attached patch;
have a look. If it's still not properly aligned we can do it in a single
line as well. 


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch tab align --]
[-- Type: text/x-patch, Size: 2364 bytes --]

From 9cc3dbdeb91ac85664147081d6d65304519581ee Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] Exposing package management to users

* etc/tutorials/TUTORIAL: section about package installation

* lisp/startup.el (fancy-startup-tail): package-list button
---
 etc/tutorials/TUTORIAL | 14 ++++++++++++++
 lisp/startup.el        | 10 +++++++---
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..a1b03a711b 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -1099,6 +1099,20 @@ manual in the node called "Dired".
 The manual also describes many other Emacs features.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins for integrating with external
+applications and much much more.
+
+To see a list of all available packages, type M-x list-packages.  In
+this mode, you can install or uninstall packages, as well as read
+packages' descriptions.  For more information about package
+management, consult the maunal.
+
+
 * CONCLUSION
 ------------
 
diff --git a/lisp/startup.el b/lisp/startup.el
index d4bb338fc0..c0feb007e1 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1835,18 +1835,22 @@ fancy-startup-tail
   (unless concise
     (fancy-splash-insert
      :face 'variable-pitch
-     "\nTo start...     "
+     "\nTo start...\t"
      :link `("Open a File"
 	     ,(lambda (_button) (call-interactively 'find-file))
 	     "Specify a new file's name, to edit the file")
-     "     "
+     "\t\t"
      :link `("Open Home Directory"
 	     ,(lambda (_button) (dired "~"))
 	     "Open your home directory, to operate on its files")
-     "     "
+     "\n\t"
      :link `("Customize Startup"
 	     ,(lambda (_button) (customize-group 'initialization))
 	     "Change initialization settings including this screen")
+     "\t"
+     :link `("Explore Packages"
+	     ,(lambda (_button) (call-interactively 'package-list-packages))
+	     "Explore, install and remove Emacs packages")
      "\n"))
   (fancy-splash-insert
    :face 'variable-pitch "To quit a partially entered command, type "
-- 
2.33.1


[-- Attachment #3: Type: text/plain, Size: 22 bytes --]

-- 

Daniel Fleischer

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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-04 20:38                 ` Daniel Fleischer
  2021-12-04 21:58                   ` Lars Ingebrigtsen
@ 2021-12-05 10:21                   ` Eli Zaretskii
  2021-12-05 10:54                     ` Daniel Fleischer
  2021-12-05 11:29                     ` Stefan Kangas
  1 sibling, 2 replies; 42+ messages in thread
From: Eli Zaretskii @ 2021-12-05 10:21 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-devel

> From: Daniel Fleischer <danflscr@gmail.com>
> Date: Sat, 04 Dec 2021 22:38:58 +0200
> 
> > Thanks, but I feel this is too much for a tutorial.  Just mentioning
> > list-packages, and having a reference to the manual that describes the
> > rest, should be enough.
> 
> OK, listing the packages and referring the manual is good enough for
> raising awareness to this topic at this point.

LGTM, thanks.

> Please notice the new button in the startup screen as well, as it
> wasn't discussed and is also included in the patch.

Does this enlarge the size of the window required to show the splash
screen?  Did you try that when there are auto-save files?  Emacs
displays 2 more lines in that case, and it's important to keep them
visible on the screen.

Also, should we tell users that pressing that button accesses the
Internet?



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-05 10:21                   ` Eli Zaretskii
@ 2021-12-05 10:54                     ` Daniel Fleischer
  2021-12-05 11:44                       ` Stefan Kangas
  2021-12-05 11:29                     ` Stefan Kangas
  1 sibling, 1 reply; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-05 10:54 UTC (permalink / raw)
  To: emacs-devel; +Cc: Lars Ingebrigtsen

[-- Attachment #1: Type: text/plain, Size: 417 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

> Does this enlarge the size of the window required to show the splash
> screen?  Did you try that when there are auto-save files?  Emacs
> displays 2 more lines in that case, and it's important to keep them
> visible on the screen.
>
> Also, should we tell users that pressing that button accesses the
> Internet?

Added a comment about Internet connection; it looks like this:

[-- Attachment #2: Splash screen --]
[-- Type: image/png, Size: 457445 bytes --]

[-- Attachment #3: Type: text/plain, Size: 17 bytes --]


Attached patch:

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: Patch w/ internet --]
[-- Type: text/x-patch, Size: 2395 bytes --]

From 83e1712d81b00859c063809afc56c9d2c855a1a1 Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] Exposing package management to users

* etc/tutorials/TUTORIAL: section about package installation

* lisp/startup.el (fancy-startup-tail): package-list button
---
 etc/tutorials/TUTORIAL | 14 ++++++++++++++
 lisp/startup.el        | 10 +++++++---
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..a1b03a711b 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -1099,6 +1099,20 @@ manual in the node called "Dired".
 The manual also describes many other Emacs features.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins for integrating with external
+applications and much much more.
+
+To see a list of all available packages, type M-x list-packages.  In
+this mode, you can install or uninstall packages, as well as read
+packages' descriptions.  For more information about package
+management, consult the maunal.
+
+
 * CONCLUSION
 ------------
 
diff --git a/lisp/startup.el b/lisp/startup.el
index d4bb338fc0..a3010e7a62 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1835,18 +1835,22 @@ fancy-startup-tail
   (unless concise
     (fancy-splash-insert
      :face 'variable-pitch
-     "\nTo start...     "
+     "\nTo start...\t"
      :link `("Open a File"
 	     ,(lambda (_button) (call-interactively 'find-file))
 	     "Specify a new file's name, to edit the file")
-     "     "
+     "\t\t"
      :link `("Open Home Directory"
 	     ,(lambda (_button) (dired "~"))
 	     "Open your home directory, to operate on its files")
-     "     "
+     "\n\t"
      :link `("Customize Startup"
 	     ,(lambda (_button) (customize-group 'initialization))
 	     "Change initialization settings including this screen")
+     "\t"
+     :link `("Explore Packages"
+	     ,(lambda (_button) (call-interactively 'package-list-packages))
+	     "Explore, install and remove Emacs packages. Requires Internet connection.")
      "\n"))
   (fancy-splash-insert
    :face 'variable-pitch "To quit a partially entered command, type "
-- 
2.33.1


[-- Attachment #5: Type: text/plain, Size: 22 bytes --]

-- 

Daniel Fleischer

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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-05 10:21                   ` Eli Zaretskii
  2021-12-05 10:54                     ` Daniel Fleischer
@ 2021-12-05 11:29                     ` Stefan Kangas
  1 sibling, 0 replies; 42+ messages in thread
From: Stefan Kangas @ 2021-12-05 11:29 UTC (permalink / raw)
  To: Eli Zaretskii, Daniel Fleischer; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> Also, should we tell users that pressing that button accesses the
> Internet?

We have other buttons on there that also do that, like the "GNU and
Freedom" one, so maybe it's fine not to.



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-05 10:54                     ` Daniel Fleischer
@ 2021-12-05 11:44                       ` Stefan Kangas
  2021-12-05 15:33                         ` Daniel Fleischer
  0 siblings, 1 reply; 42+ messages in thread
From: Stefan Kangas @ 2021-12-05 11:44 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel; +Cc: Lars Ingebrigtsen

Daniel Fleischer <danflscr@gmail.com> writes:

> +     :link `("Explore Packages"
> +	     ,(lambda (_button) (call-interactively 'package-list-packages))
> +	     "Explore, install and remove Emacs packages. Requires Internet connection.")

How about just

    "Explore, install and remove Emacs packages (requires Internet connection)"

?



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-05 11:44                       ` Stefan Kangas
@ 2021-12-05 15:33                         ` Daniel Fleischer
  2021-12-06 10:36                           ` Daniel Fleischer
  2021-12-06 14:10                           ` Stefan Kangas
  0 siblings, 2 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-05 15:33 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 167 bytes --]

Stefan Kangas [2021-12-05 Sun 12:44] wrote:

> How about just
>
>     "Explore, install and remove Emacs packages (requires Internet connection)"

Sure, see attached.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch parenthesis --]
[-- Type: text/x-patch, Size: 2395 bytes --]

From 7c3167ebf2cabfd7423e97427c8c80c54169e422 Mon Sep 17 00:00:00 2001
From: Daniel Fleischer <danflscr@gmail.com>
Date: Wed, 1 Dec 2021 19:15:27 +0200
Subject: [PATCH] Exposing package management to users

* etc/tutorials/TUTORIAL: section about package installation

* lisp/startup.el (fancy-startup-tail): package-list button
---
 etc/tutorials/TUTORIAL | 14 ++++++++++++++
 lisp/startup.el        | 10 +++++++---
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL
index dcdb61f23e..a1b03a711b 100644
--- a/etc/tutorials/TUTORIAL
+++ b/etc/tutorials/TUTORIAL
@@ -1099,6 +1099,20 @@ manual in the node called "Dired".
 The manual also describes many other Emacs features.
 
 
+* INSTALLING PACKAGES
+---------------------
+
+Emacs has a rich set of packages written by the community, which
+extends Emacs' capabilities.  These features include support for new
+languages, additional themes, plugins for integrating with external
+applications and much much more.
+
+To see a list of all available packages, type M-x list-packages.  In
+this mode, you can install or uninstall packages, as well as read
+packages' descriptions.  For more information about package
+management, consult the maunal.
+
+
 * CONCLUSION
 ------------
 
diff --git a/lisp/startup.el b/lisp/startup.el
index d4bb338fc0..6ed5d5b0f4 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1835,18 +1835,22 @@ fancy-startup-tail
   (unless concise
     (fancy-splash-insert
      :face 'variable-pitch
-     "\nTo start...     "
+     "\nTo start...\t"
      :link `("Open a File"
 	     ,(lambda (_button) (call-interactively 'find-file))
 	     "Specify a new file's name, to edit the file")
-     "     "
+     "\t\t"
      :link `("Open Home Directory"
 	     ,(lambda (_button) (dired "~"))
 	     "Open your home directory, to operate on its files")
-     "     "
+     "\n\t"
      :link `("Customize Startup"
 	     ,(lambda (_button) (customize-group 'initialization))
 	     "Change initialization settings including this screen")
+     "\t"
+     :link `("Explore Packages"
+	     ,(lambda (_button) (call-interactively 'package-list-packages))
+	     "Explore, install and remove Emacs packages (requires Internet connection)")
      "\n"))
   (fancy-splash-insert
    :face 'variable-pitch "To quit a partially entered command, type "
-- 
2.33.1


[-- Attachment #3: Type: text/plain, Size: 22 bytes --]

-- 

Daniel Fleischer

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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-05  9:37                     ` Daniel Fleischer
@ 2021-12-05 20:52                       ` Lars Ingebrigtsen
  0 siblings, 0 replies; 42+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-05 20:52 UTC (permalink / raw)
  To: Daniel Fleischer; +Cc: emacs-devel

Daniel Fleischer <danflscr@gmail.com> writes:

> I verified it with several fonts, including monospace and it looked
> fine. Anyways, I replaced the spaces with tabs in the attached patch;
> have a look. If it's still not properly aligned we can do it in a single
> line as well. 

Yes, that aligns well for me.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no



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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-05 15:33                         ` Daniel Fleischer
@ 2021-12-06 10:36                           ` Daniel Fleischer
  2021-12-06 14:10                           ` Stefan Kangas
  1 sibling, 0 replies; 42+ messages in thread
From: Daniel Fleischer @ 2021-12-06 10:36 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eli Zaretskii, Lars Ingebrigtsen, Stefan Kangas

It seems we converged to a good patch, as sent in the message I replied
to. Can someone apply the patch, as I don't have permissions. 


-- 

Daniel Fleischer




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

* Re: [PATCH] Package Installation in Tutorial
  2021-12-05 15:33                         ` Daniel Fleischer
  2021-12-06 10:36                           ` Daniel Fleischer
@ 2021-12-06 14:10                           ` Stefan Kangas
  1 sibling, 0 replies; 42+ messages in thread
From: Stefan Kangas @ 2021-12-06 14:10 UTC (permalink / raw)
  To: Daniel Fleischer, emacs-devel

Daniel Fleischer <danflscr@gmail.com> writes:

> Sure, see attached.

Thanks for the patch; pushed to master as commit 63c8a6066a.

I fixed a typo ("maunal" -> "manual") and changed the commit message to:

    Add package management to tutorial and startup screen

    * etc/tutorials/TUTORIAL: Add section about package installation.
    * lisp/startup.el (fancy-startup-tail): Add button for
    package-list-packages.

    This was discussed in:
    https://lists.gnu.org/r/emacs-devel/2021-12/msg00079.html



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

end of thread, other threads:[~2021-12-06 14:10 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-01 17:30 [PATCH] Package Installation in Tutorial Daniel Fleischer
2021-12-01 18:06 ` Daniel Martín
2021-12-01 19:25   ` Stefan Kangas
2021-12-01 19:25 ` Stefan Kangas
2021-12-02  6:42   ` Daniel Fleischer
2021-12-02  9:09   ` Juri Linkov
2021-12-02 11:17     ` Stefan Kangas
2021-12-03  6:57       ` Daniel Fleischer
2021-12-03 16:29         ` [External] : " Drew Adams
2021-12-03 17:48           ` Daniel Fleischer
2021-12-03 18:53             ` Stefan Kangas
2021-12-03 18:56               ` Drew Adams
2021-12-03 18:53             ` Drew Adams
2021-12-03 19:24               ` Stefan Kangas
2021-12-03 20:24                 ` Drew Adams
2021-12-03 22:54                   ` Stefan Kangas
2021-12-03 21:19               ` Daniel Fleischer
2021-12-03 23:01                 ` Drew Adams
2021-12-04  8:06                 ` Eli Zaretskii
2021-12-04 11:04                   ` Daniel Fleischer
2021-12-04 18:16                     ` Drew Adams
2021-12-04 21:06                       ` Daniel Fleischer
2021-12-04 17:38                   ` Drew Adams
2021-12-04  5:44               ` Richard Stallman
2021-12-04  8:04                 ` Eli Zaretskii
2021-12-04 17:20                   ` Drew Adams
2021-12-04 17:18                 ` Drew Adams
2021-12-03 17:00         ` Lars Ingebrigtsen
2021-12-04 13:08           ` Stefan Kangas
2021-12-04 14:15             ` Daniel Fleischer
2021-12-04 16:29               ` Eli Zaretskii
2021-12-04 20:38                 ` Daniel Fleischer
2021-12-04 21:58                   ` Lars Ingebrigtsen
2021-12-05  9:37                     ` Daniel Fleischer
2021-12-05 20:52                       ` Lars Ingebrigtsen
2021-12-05 10:21                   ` Eli Zaretskii
2021-12-05 10:54                     ` Daniel Fleischer
2021-12-05 11:44                       ` Stefan Kangas
2021-12-05 15:33                         ` Daniel Fleischer
2021-12-06 10:36                           ` Daniel Fleischer
2021-12-06 14:10                           ` Stefan Kangas
2021-12-05 11:29                     ` Stefan Kangas

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