* Re: Gather a list of confusions beginner tend to have
@ 2020-09-08 20:10 Göktuğ Kayaalp
0 siblings, 0 replies; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-08 20:10 UTC (permalink / raw)
To: emacs-devel
On Tue, 8 Sep 2020 15:30:56 -0400, Yuan Fu wrote:
> I generally agree with your point. However, what I have in mind is not
> changing defaults, but rather a configuration wizard, that can prompt
> user and let him select from Emacs binding vs CUA binding, Emacs undo
> vs simple undo/redo, themes, etc. I’ve seen such wizard in Intellj
> Idea, Spacemacs, etc. Something like (just an example):
That looks pretty reasonable to me. Maybe it’d pop up if user does not
have a ‘user-init-file’, maybe with a prelude that asks "Hey, you don’t
have an init file, do you want to run the initial configuration wizard"?
Also, at the end, maybe redirect the user to a revised version of C-h t
that accomodates the preferences in the wizard.
IDK how relevant, but my observation is that most inexperienced users
are coming to Emacs for Org mode. So maybe making https://orgmode.org
more informative for Emacs newbies could help too. Maybe create a
couple ‘official’ video walkthroughs comparing these customisations
versus traditional Emacs way, pros and cons to each.
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
* Gather a list of confusions beginner tend to have
@ 2020-09-08 18:48 Göktuğ Kayaalp
2020-09-08 19:30 ` Yuan Fu
` (2 more replies)
0 siblings, 3 replies; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-08 18:48 UTC (permalink / raw)
To: emacs-devel
> I think everybody would agree on attracting more people to use
> Emacs—that means more blogs and help, more contributor, etc. And
> people agree that Emacs isn’t as beginner-friendly as it could be. The
> problem is what to improve, and how.
Not necessarily. Personally, I don’t see much benefit in trying to
appeal users that have no background in coding whatsoever, and users who
wouldn’t really benefit from what Emacs has to offer.
> As the first step, we should collect real experiences from real
> beginners: someone starts to use Emacs just recently (e.g., less than
> one year).
The major problem is that someone who fiddled with Emacs now and
couldn’t make use of it may think differently when a couple years later
they have some knowledge of programming (not necessarily professionally)
and some experience with other tools.
Anecdotally, I’ve picked up and quit Emacs multiple times before I
decided to stay with it. And it’s been more than 6 years now that I’m
using it for the good part of my computing. What was puzzling and weird
to me back then is useful and essential to me now.
What I mean is, what is good for newcomers, who are not guaranteed to
stay, can be irrelevant, not so good, or even off-putting to actual
users of this package of software. Emacs is a power tool, and like all
power tools, requires two preconditions to be useful: 1) the user should
*need* the tool, and 2) the user should be willing to put in the time to
learn the tool. And a good power tool is designed with user who need
and use them the most in mind.
IDK. IMHO, we shouldn’t break stuff in Emacs itself, and maybe promote
distros for people that want a more "modern" experience instead. They
don’t have the backwards compatibility baggage of Emacs so they will do
it better than Emacs core nevertheless.
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 18:48 Göktuğ Kayaalp
@ 2020-09-08 19:30 ` Yuan Fu
2020-09-08 21:30 ` Praharsh Suryadevara
2020-09-09 14:01 ` Eli Zaretskii
2020-09-09 2:01 ` Nick Savage
2020-09-10 2:36 ` Richard Stallman
2 siblings, 2 replies; 51+ messages in thread
From: Yuan Fu @ 2020-09-08 19:30 UTC (permalink / raw)
To: Göktuğ Kayaalp; +Cc: emacs-devel
> On Sep 8, 2020, at 2:48 PM, Göktuğ Kayaalp <self@gkayaalp.com> wrote:
>
>
>> I think everybody would agree on attracting more people to use
>> Emacs—that means more blogs and help, more contributor, etc. And
>> people agree that Emacs isn’t as beginner-friendly as it could be. The
>> problem is what to improve, and how.
>
> Not necessarily. Personally, I don’t see much benefit in trying to
> appeal users that have no background in coding whatsoever, and users who
> wouldn’t really benefit from what Emacs has to offer.
>
>> As the first step, we should collect real experiences from real
>> beginners: someone starts to use Emacs just recently (e.g., less than
>> one year).
>
> The major problem is that someone who fiddled with Emacs now and
> couldn’t make use of it may think differently when a couple years later
> they have some knowledge of programming (not necessarily professionally)
> and some experience with other tools.
>
> Anecdotally, I’ve picked up and quit Emacs multiple times before I
> decided to stay with it. And it’s been more than 6 years now that I’m
> using it for the good part of my computing. What was puzzling and weird
> to me back then is useful and essential to me now.
>
> What I mean is, what is good for newcomers, who are not guaranteed to
> stay, can be irrelevant, not so good, or even off-putting to actual
> users of this package of software. Emacs is a power tool, and like all
> power tools, requires two preconditions to be useful: 1) the user should
> *need* the tool, and 2) the user should be willing to put in the time to
> learn the tool. And a good power tool is designed with user who need
> and use them the most in mind.
>
> IDK. IMHO, we shouldn’t break stuff in Emacs itself, and maybe promote
> distros for people that want a more "modern" experience instead. They
> don’t have the backwards compatibility baggage of Emacs so they will do
> it better than Emacs core nevertheless.
>
> --
> İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
>
I generally agree with your point. However, what I have in mind is not changing defaults, but rather a configuration wizard, that can prompt user and let him select from Emacs binding vs CUA binding, Emacs undo vs simple undo/redo, themes, etc. I’ve seen such wizard in Intellj Idea, Spacemacs, etc. Something like (just an example):
----------------------------------------------------------------------
Set UI themes:
<some C code>
- [ ] default
- [ ] dark
- [ ] ...
----------------------------------------------------------------------
Keybinding notation:
C (control) Ctrl
M (meta) Alt/Option
s (super) Windows/Command
S (shift) Shift
Set keybinding style for copy/paste:
[ ] default
M-w Copy
C-y Paste
C-w Cut
[ ] alternative
C-c Copy
C-v Paste
C-x Cut
[Next] [Skip]
----------------------------------------------------------------------
[ ] Enable line numbers
[ ] Use thin cursor
[ ] Disable tool bar
[ ] Disable scroll bar
[Next] [Skip]
----------------------------------------------------------------------
Emacs has a powerful (but possibly unintuitive) undo system, where
undo operations themselves are recorded in the undo history, and redo
is done by undoing an previous undo operation.
Set undo style:
[ ] default
C-/ Undo
[ ] linear
C-/ Undo
C-? Redo
[ ] alternative
C-z Undo
C-S-z Redo
[Next] [Skip]
----------------------------------------------------------------------
Additional packages:
[ ] Company
Popup completion.
<gif>
[ ] Ivy
Completion for opening files, executing commands, etc.
<gif>
[ ] Expand-region
Incrementally expand selection.
<gif>
[ ] Which-key
Shows possible keybindings.
<gif>
[Finish] You can re-run this guide by M-x beginner-guide RET
Yuan
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 19:30 ` Yuan Fu
@ 2020-09-08 21:30 ` Praharsh Suryadevara
2020-09-09 3:51 ` Richard Stallman
2020-09-09 7:57 ` tomas
2020-09-09 14:01 ` Eli Zaretskii
1 sibling, 2 replies; 51+ messages in thread
From: Praharsh Suryadevara @ 2020-09-08 21:30 UTC (permalink / raw)
To: Yuan Fu; +Cc: Göktuğ Kayaalp, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 5913 bytes --]
Hello,
I've been an emacs user for ~3 years. While I'm now used to the defaults, I
do remember in some detail, the pain it took me to get used to the
keybindings in vanilla emacs .
I think the sore points other than the undo/redo, were C-f not being bound
to find, (though that would need remapping forward-char), C-o not being
bound open file. I do think it might make sense to poll on reddit. and
again to clarify _(I don't think any of these ideas would break backward
compatibility, but instead only add options to increase familiarity with
vanilla emacs for new users)_
@yuan I was following the threads earlier and I checked the idea of a
profile was suggested
https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02032.html, I
think a starter wizard could go well with this as a base for keymaps at
least if you're thinking about implementing it (?). The other thing I was
thinking was maybe you could write directly to init.el with use-package
with comments in an understandable manner following the discussion
about custom here
https://lists.gnu.org/archive/html/emacs-devel/2020-09/msg00306.html. I
think this would teach and encourage users to tweak their configurations
which I think would be a win-win.
I would be willing to contribute some time to this.
Thanks,
Praharsh
On Tue, Sep 8, 2020 at 2:31 PM Yuan Fu <casouri@gmail.com> wrote:
>
>
> > On Sep 8, 2020, at 2:48 PM, Göktuğ Kayaalp <self@gkayaalp.com> wrote:
> >
> >
> >> I think everybody would agree on attracting more people to use
> >> Emacs—that means more blogs and help, more contributor, etc. And
> >> people agree that Emacs isn’t as beginner-friendly as it could be. The
> >> problem is what to improve, and how.
> >
> > Not necessarily. Personally, I don’t see much benefit in trying to
> > appeal users that have no background in coding whatsoever, and users who
> > wouldn’t really benefit from what Emacs has to offer.
> >
> >> As the first step, we should collect real experiences from real
> >> beginners: someone starts to use Emacs just recently (e.g., less than
> >> one year).
> >
> > The major problem is that someone who fiddled with Emacs now and
> > couldn’t make use of it may think differently when a couple years later
> > they have some knowledge of programming (not necessarily professionally)
> > and some experience with other tools.
> >
> > Anecdotally, I’ve picked up and quit Emacs multiple times before I
> > decided to stay with it. And it’s been more than 6 years now that I’m
> > using it for the good part of my computing. What was puzzling and weird
> > to me back then is useful and essential to me now.
> >
> > What I mean is, what is good for newcomers, who are not guaranteed to
> > stay, can be irrelevant, not so good, or even off-putting to actual
> > users of this package of software. Emacs is a power tool, and like all
> > power tools, requires two preconditions to be useful: 1) the user should
> > *need* the tool, and 2) the user should be willing to put in the time to
> > learn the tool. And a good power tool is designed with user who need
> > and use them the most in mind.
> >
> > IDK. IMHO, we shouldn’t break stuff in Emacs itself, and maybe promote
> > distros for people that want a more "modern" experience instead. They
> > don’t have the backwards compatibility baggage of Emacs so they will do
> > it better than Emacs core nevertheless.
> >
> > --
> > İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
> > pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
> >
>
> I generally agree with your point. However, what I have in mind is not
> changing defaults, but rather a configuration wizard, that can prompt user
> and let him select from Emacs binding vs CUA binding, Emacs undo vs simple
> undo/redo, themes, etc. I’ve seen such wizard in Intellj Idea, Spacemacs,
> etc. Something like (just an example):
>
>
> ----------------------------------------------------------------------
>
> Set UI themes:
>
> <some C code>
>
> - [ ] default
> - [ ] dark
> - [ ] ...
>
> ----------------------------------------------------------------------
>
> Keybinding notation:
>
> C (control) Ctrl
> M (meta) Alt/Option
> s (super) Windows/Command
> S (shift) Shift
>
> Set keybinding style for copy/paste:
>
> [ ] default
>
> M-w Copy
> C-y Paste
> C-w Cut
>
> [ ] alternative
>
> C-c Copy
> C-v Paste
> C-x Cut
>
>
> [Next] [Skip]
>
> ----------------------------------------------------------------------
>
> [ ] Enable line numbers
>
> [ ] Use thin cursor
>
> [ ] Disable tool bar
>
> [ ] Disable scroll bar
>
>
> [Next] [Skip]
>
> ----------------------------------------------------------------------
>
> Emacs has a powerful (but possibly unintuitive) undo system, where
> undo operations themselves are recorded in the undo history, and redo
> is done by undoing an previous undo operation.
>
> Set undo style:
>
> [ ] default
>
> C-/ Undo
>
> [ ] linear
>
> C-/ Undo
> C-? Redo
>
> [ ] alternative
>
> C-z Undo
> C-S-z Redo
>
>
> [Next] [Skip]
>
> ----------------------------------------------------------------------
>
> Additional packages:
>
> [ ] Company
>
> Popup completion.
> <gif>
>
>
> [ ] Ivy
>
> Completion for opening files, executing commands, etc.
> <gif>
>
>
> [ ] Expand-region
>
> Incrementally expand selection.
> <gif>
>
>
> [ ] Which-key
>
> Shows possible keybindings.
> <gif>
>
>
> [Finish] You can re-run this guide by M-x beginner-guide RET
>
>
> Yuan
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 7417 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 21:30 ` Praharsh Suryadevara
@ 2020-09-09 3:51 ` Richard Stallman
2020-09-09 14:18 ` Eli Zaretskii
2020-09-09 7:57 ` tomas
1 sibling, 1 reply; 51+ messages in thread
From: Richard Stallman @ 2020-09-09 3:51 UTC (permalink / raw)
To: Praharsh Suryadevara; +Cc: self, casouri, 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 think the sore points other than the undo/redo, were C-f not being bound
> to find, (though that would need remapping forward-char), C-o not being
> bound open file.
Thanks for telling us; that information may be useful.
Your experience was what it was, and cannot be denied.
It is not an option to change these basic key bindings to imitate
other, newer editors. It would create a different editor that we
Emacs users would never switch to. It is unfortunate that the people
who implemented the newer editors chose incompatibility with Emacs.
But I have an idea for how to teach beginners those keys.
Suppose that C-f ran a command that displayed this:
Want to move forward? Type C-f again. Search is C-s.
After that, successive C-f's would move forward as usual.
The idea is you'd be given that binding by default as a beginner,
and you'd turn it off once you had learned C-f and C-s.
C-o could do something similar, saying
Want to open a line? Type C-o again. Find File is C-x C-f.
Would you have found that helpful?
> @yuan I was following the threads earlier and I checked the idea of a
> profile was suggested
> https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02032.html, I
> think a starter wizard could go well with this as a base for keymaps at
> least if you're thinking about implementing it (?).
I know in general what the word "profile" means, but what is your
concrete suggestion? Also, what concretely would a "starter wizard"
do?
--
Dr Richard Stallman
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] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 3:51 ` Richard Stallman
@ 2020-09-09 14:18 ` Eli Zaretskii
2020-09-09 14:24 ` Göktuğ Kayaalp
2020-09-11 4:13 ` Richard Stallman
0 siblings, 2 replies; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-09 14:18 UTC (permalink / raw)
To: rms; +Cc: self, casouri, praharsharmm, emacs-devel
> From: Richard Stallman <rms@gnu.org>
> Date: Tue, 08 Sep 2020 23:51:30 -0400
> Cc: self@gkayaalp.com, casouri@gmail.com, emacs-devel@gnu.org
>
> But I have an idea for how to teach beginners those keys.
>
> Suppose that C-f ran a command that displayed this:
>
> Want to move forward? Type C-f again. Search is C-s.
>
> After that, successive C-f's would move forward as usual.
>
> The idea is you'd be given that binding by default as a beginner,
> and you'd turn it off once you had learned C-f and C-s.
>
> C-o could do something similar, saying
>
> Want to open a line? Type C-o again. Find File is C-x C-f.
>
> Would you have found that helpful?
The reason we didn't put these on the splash screen is because we have
a menu bar, where everyone can find these popular commands without the
need to read any instructions. Who will not know nowadays that to
open a file, one need to click on "File" and look in the menu that
drops down from that?
What we put on the splash screen is stuff that is harder to come by,
and/or that is more important to have in the user's face.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 14:18 ` Eli Zaretskii
@ 2020-09-09 14:24 ` Göktuğ Kayaalp
2020-09-09 15:07 ` Stefan Kangas
2020-09-09 16:06 ` Praharsh Suryadevara
2020-09-11 4:13 ` Richard Stallman
1 sibling, 2 replies; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-09 14:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: self, casouri, praharsharmm, rms, emacs-devel
On 2020-09-09 17:18 +03, Eli Zaretskii <eliz@gnu.org> wrote:
> The reason we didn't put these on the splash screen is because we have
> a menu bar, where everyone can find these popular commands without the
> need to read any instructions. Who will not know nowadays that to
> open a file, one need to click on "File" and look in the menu that
> drops down from that?
It looks like some of the starter kits / distributions are disabling
menu and toolbars.
We might ask them that they at least don’t disable menu-bar-mode by
default if that’s the case.
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 14:24 ` Göktuğ Kayaalp
@ 2020-09-09 15:07 ` Stefan Kangas
2020-09-09 16:09 ` Göktuğ Kayaalp
2020-09-09 16:06 ` Praharsh Suryadevara
1 sibling, 1 reply; 51+ messages in thread
From: Stefan Kangas @ 2020-09-09 15:07 UTC (permalink / raw)
To: Göktuğ Kayaalp, Eli Zaretskii
Cc: casouri, praharsharmm, rms, emacs-devel
Göktuğ Kayaalp <self@gkayaalp.com> writes:
> It looks like some of the starter kits / distributions are disabling
> menu and toolbars.
>
> We might ask them that they at least don’t disable menu-bar-mode by
> default if that’s the case.
Yes, this is a good idea.
It would be very useful if someone could report this as a bug to the top
five or ten most used distributions/starter kits that do this.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 15:07 ` Stefan Kangas
@ 2020-09-09 16:09 ` Göktuğ Kayaalp
2020-09-09 16:23 ` Praharsh Suryadevara
0 siblings, 1 reply; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-09 16:09 UTC (permalink / raw)
To: emacs-devel
Cc: Göktuğ Kayaalp, Eli Zaretskii, praharsharmm, casouri,
rms
On 2020-09-09 18:07 +03, Stefan Kangas <stefankangas@gmail.com> wrote:
> Yes, this is a good idea.
>
> It would be very useful if someone could report this as a bug to the top
> five or ten most used distributions/starter kits that do this.
If there’s consensus that this is something we should do I’d volunteer
for identifying the projects and opening the issues.
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 16:09 ` Göktuğ Kayaalp
@ 2020-09-09 16:23 ` Praharsh Suryadevara
0 siblings, 0 replies; 51+ messages in thread
From: Praharsh Suryadevara @ 2020-09-09 16:23 UTC (permalink / raw)
To: Göktuğ Kayaalp; +Cc: Eli Zaretskii, Yuan Fu, rms, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 619 bytes --]
I agree
On Wed, Sep 9, 2020 at 11:09 AM Göktuğ Kayaalp <self@gkayaalp.com> wrote:
> On 2020-09-09 18:07 +03, Stefan Kangas <stefankangas@gmail.com> wrote:
> > Yes, this is a good idea.
> >
> > It would be very useful if someone could report this as a bug to the top
> > five or ten most used distributions/starter kits that do this.
>
> If there’s consensus that this is something we should do I’d volunteer
> for identifying the projects and opening the issues.
>
> --
> İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
>
[-- Attachment #2: Type: text/html, Size: 1090 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 14:24 ` Göktuğ Kayaalp
2020-09-09 15:07 ` Stefan Kangas
@ 2020-09-09 16:06 ` Praharsh Suryadevara
2020-09-11 4:13 ` Richard Stallman
1 sibling, 1 reply; 51+ messages in thread
From: Praharsh Suryadevara @ 2020-09-09 16:06 UTC (permalink / raw)
To: Göktuğ Kayaalp; +Cc: Eli Zaretskii, Yuan Fu, rms, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 2818 bytes --]
I think that could be one reason why. A friend set me up with a starter kit
later. Before that, I made a few attempts at vanilla emacs and gave up and
I did not realize CUA mode existed until yesterday.
I understand it'd be much more helpful if I remembered the details, but
it's been a while and I'm used to and very happy with the emacs defaults
now. A more useful method would be to put a friend/colleague who's never
used emacs in front of vanilla emacs and observe them figure it out (I'm
sure some of us may have put them in front of it already).
The point I believe in is, *It possible to make emacs easier for new users
to be able to start working in emacs from the beginning without sacrificing
any functionality for old users*
This need not come from changing the defaults, but rather from a startup
wizard or a profile which *sets the bindings/preferences according to what
the user wants.*
This is useful *because a new user won't know enough e-lisp to make the
editor do what he/she/they can work with.*
As for startup wizards, I was talking about what Yuan was proposing (
https://en.wikipedia.org/wiki/Wizard_(software)), a series of dialog boxes
that would introduce new users to emacs and give them a setup that they
could work with.
@tomas While I understand your point, I think there's a difference between
switching from emacs to vim/ vice versa (I don't complain about vim
keybindings after using emacs and I wouldn't expect people to complain vice
versa) and a new user who's only used C-x and C-c for cut and paste for all
their life being exposed to emacs (or vim).
@Eli As for options for the configuration wizard, If I were to assume I was
the audience being targeted when I started (an early 20s physics undergrad
who wrote basic python and wanted a good LaTeX editor), I think I would be
minimally happy with CUA mode with some basic AUCTeX setup. Maybe, some of
the minimal options would be easy to flesh out?
Thanks,
Praharsh
On Wed, Sep 9, 2020 at 9:24 AM Göktuğ Kayaalp <self@gkayaalp.com> wrote:
> On 2020-09-09 17:18 +03, Eli Zaretskii <eliz@gnu.org> wrote:
> > The reason we didn't put these on the splash screen is because we have
> > a menu bar, where everyone can find these popular commands without the
> > need to read any instructions. Who will not know nowadays that to
> > open a file, one need to click on "File" and look in the menu that
> > drops down from that?
>
> It looks like some of the starter kits / distributions are disabling
> menu and toolbars.
>
> We might ask them that they at least don’t disable menu-bar-mode by
> default if that’s the case.
>
>
> --
> İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
> pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
>
[-- Attachment #2: Type: text/html, Size: 3704 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 16:06 ` Praharsh Suryadevara
@ 2020-09-11 4:13 ` Richard Stallman
0 siblings, 0 replies; 51+ messages in thread
From: Richard Stallman @ 2020-09-11 4:13 UTC (permalink / raw)
To: Praharsh Suryadevara; +Cc: self, eliz, casouri, 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. ]]]
> The point I believe in is, *It possible to make emacs easier for new users
> to be able to start working in emacs from the beginning without sacrificing
> any functionality for old users*
> This need not come from changing the defaults, but rather from a startup
> wizard or a profile which *sets the bindings/preferences according to what
> the user wants.*
It sounds nice in principle. However, rebinding keys in Emacs is hard
because the space of bindings is so populated. You have to delete the
binding for some command. As a beginner you might think that is easy
since there are so many keys you will never use -- but the commands
you guessed you don't want might be keys you will later want to learn.
--
Dr Richard Stallman
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] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 14:18 ` Eli Zaretskii
2020-09-09 14:24 ` Göktuğ Kayaalp
@ 2020-09-11 4:13 ` Richard Stallman
2020-09-11 4:41 ` Praharsh Suryadevara
1 sibling, 1 reply; 51+ messages in thread
From: Richard Stallman @ 2020-09-11 4:13 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: self, casouri, praharsharmm, 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. ]]]
> The reason we didn't put these on the splash screen is because we have
> a menu bar, where everyone can find these popular commands without the
> need to read any instructions. Who will not know nowadays that to
> open a file, one need to click on "File" and look in the menu that
> drops down from that?
That argument seems quite persuasive, but it doesn't seem to apply
to everyone.
Someone (was it self@gkayaalp.com?) wrote about expecting O to visit a
file; that is what I responded to. Whoever I responded to, if you are
reading this,, could you tell us why the existence of the menu did not
make it obvious how to visit a file?
--
Dr Richard Stallman
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] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 4:13 ` Richard Stallman
@ 2020-09-11 4:41 ` Praharsh Suryadevara
0 siblings, 0 replies; 51+ messages in thread
From: Praharsh Suryadevara @ 2020-09-11 4:41 UTC (permalink / raw)
To: rms; +Cc: Göktuğ Kayaalp, Eli Zaretskii, Yuan Fu, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1316 bytes --]
Because the starter kit a friend set me up with (graphene) after I couldn't
use vanilla emacs removed it. self@gkayaalp.com addressed the issue.
On Thu, Sep 10, 2020 at 11:13 PM Richard Stallman <rms@gnu.org> wrote:
> [[[ 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. ]]]
>
> > The reason we didn't put these on the splash screen is because we have
> > a menu bar, where everyone can find these popular commands without the
> > need to read any instructions. Who will not know nowadays that to
> > open a file, one need to click on "File" and look in the menu that
> > drops down from that?
>
> That argument seems quite persuasive, but it doesn't seem to apply
> to everyone.
>
> Someone (was it self@gkayaalp.com?) wrote about expecting O to visit a
> file; that is what I responded to. Whoever I responded to, if you are
> reading this,, could you tell us why the existence of the menu did not
> make it obvious how to visit a file?
>
> --
> Dr Richard Stallman
> Chief GNUisance of the GNU Project (https://gnu.org)
> Founder, Free Software Foundation (https://fsf.org)
> Internet Hall-of-Famer (https://internethalloffame.org)
>
>
>
[-- Attachment #2: Type: text/html, Size: 2040 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 21:30 ` Praharsh Suryadevara
2020-09-09 3:51 ` Richard Stallman
@ 2020-09-09 7:57 ` tomas
2020-09-10 2:40 ` Richard Stallman
1 sibling, 1 reply; 51+ messages in thread
From: tomas @ 2020-09-09 7:57 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1811 bytes --]
On Tue, Sep 08, 2020 at 04:30:57PM -0500, Praharsh Suryadevara wrote:
> Hello,
> I've been an emacs user for ~3 years. While I'm now used to the defaults, I
> do remember in some detail, the pain it took me to get used to the
> keybindings in vanilla emacs .
>
> I think the sore points other than the undo/redo, were C-f not being bound
> to find [...]
But that's it, exactly. I moved to Emacs from vi (later elvis, vim).
I /knew/ it was going to be painful, but I never complained `find'
wasn't bound to '/'.
It's difficult to draw the line between "make more user-friendly"
and "do as I am accustomed to". The latter will end up following
some trend which, compared to Emacs's longevity, will always be a
fad.
Witness: CUA. Most people think these days "CUA" means: "Copy" [1]
is bound to "C-c", "Cut" [2] is bound to "C-x" and "Paste" [3] to
"C-v".
But according to IBM's "Common User Architecture" (aka "CUA" [4]),
it's "C-Insert", "S-Del", and "S-Ins" respectively. But Apple's [5]
infantilised version ("C-x" is the "scissors", etc.) somehow snuck
in.
Don't get me wrong -- I do recognise value in trying to harmonise
user interfaces across applications. But consistency whithin one
application and stability over time are also values to be taken
into account. In the end, it will be a balance act, with one (or
several, that's what distributions are for!) equilibrium points,
which themselves vary over time.
What Emacs can do is to provide a solid base and all the freedom
of configurability. And Emacs does deliver on that.
Cheers
[1] called in Emacs "kill-ring-save"
[2] called in Emacs "kill"
[3] "yank", in Emacs
[4] https://en.wikipedia.org/wiki/Common_User_Access
[5] I guess they stole it from Smalltalk, as everything
else, too.
- t
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 7:57 ` tomas
@ 2020-09-10 2:40 ` Richard Stallman
2020-09-10 3:32 ` Eli Zaretskii
2020-09-10 8:28 ` tomas
0 siblings, 2 replies; 51+ messages in thread
From: Richard Stallman @ 2020-09-10 2:40 UTC (permalink / raw)
To: tomas; +Cc: 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. ]]]
> But according to IBM's "Common User Architecture" (aka "CUA" [4]),
> it's "C-Insert", "S-Del", and "S-Ins" respectively.
We might want to implement these bindings. Then we can say ttat Emacs
supports the CUA spec, with a reference to it.
It may not please the real users ;-{, but it would refute the claims
that we don't support CUA. We could explain that CUA stands for
Cover Ur Ass.
;-!
--
Dr Richard Stallman
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] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 2:40 ` Richard Stallman
@ 2020-09-10 3:32 ` Eli Zaretskii
2020-09-10 8:29 ` tomas
2020-09-11 4:18 ` Richard Stallman
2020-09-10 8:28 ` tomas
1 sibling, 2 replies; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-10 3:32 UTC (permalink / raw)
To: rms; +Cc: tomas, emacs-devel
> From: Richard Stallman <rms@gnu.org>
> Date: Wed, 09 Sep 2020 22:40:39 -0400
> Cc: emacs-devel@gnu.org
>
> > But according to IBM's "Common User Architecture" (aka "CUA" [4]),
> > it's "C-Insert", "S-Del", and "S-Ins" respectively.
>
> We might want to implement these bindings.
Actually, we already have these bindings by default.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 3:32 ` Eli Zaretskii
@ 2020-09-10 8:29 ` tomas
2020-09-10 9:08 ` Gregory Heytings via Emacs development discussions.
2020-09-10 9:30 ` Eli Zaretskii
2020-09-11 4:18 ` Richard Stallman
1 sibling, 2 replies; 51+ messages in thread
From: tomas @ 2020-09-10 8:29 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: rms, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 503 bytes --]
On Thu, Sep 10, 2020 at 06:32:59AM +0300, Eli Zaretskii wrote:
> > From: Richard Stallman <rms@gnu.org>
> > Date: Wed, 09 Sep 2020 22:40:39 -0400
> > Cc: emacs-devel@gnu.org
> >
> > > But according to IBM's "Common User Architecture" (aka "CUA" [4]),
> > > it's "C-Insert", "S-Del", and "S-Ins" respectively.
> >
> > We might want to implement these bindings.
>
> Actually, we already have these bindings by default.
Hm. The manual didn't tell me... should have it?
Cheers
- t
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 8:29 ` tomas
@ 2020-09-10 9:08 ` Gregory Heytings via Emacs development discussions.
2020-09-10 9:34 ` Eli Zaretskii
2020-09-10 9:30 ` Eli Zaretskii
1 sibling, 1 reply; 51+ messages in thread
From: Gregory Heytings via Emacs development discussions. @ 2020-09-10 9:08 UTC (permalink / raw)
To: emacs-devel
>>>> But according to IBM's "Common User Architecture" (aka "CUA" [4]),
>>>> it's "C-Insert", "S-Del", and "S-Ins" respectively.
>>>
>>> We might want to implement these bindings.
>>
>> Actually, we already have these bindings by default.
>
> Hm. The manual didn't tell me... should have it?
>
With vanilla Emacs you have indeed (see C-h w):
kill-ring-save is on <C-insertchar>, <C-insert>, M-w, <menu-bar> <edit> <copy>
yank is on C-y, <S-insertchar>, <S-insert>, <menu-bar> <edit> <paste>
kill-region is on C-w, <S-delete>, <menu-bar> <edit> <cut>
So the CUA bindings are there.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 9:08 ` Gregory Heytings via Emacs development discussions.
@ 2020-09-10 9:34 ` Eli Zaretskii
2020-09-10 10:08 ` tomas
0 siblings, 1 reply; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-10 9:34 UTC (permalink / raw)
To: Gregory Heytings; +Cc: emacs-devel
> Date: Thu, 10 Sep 2020 09:08:09 +0000
> From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
>
> With vanilla Emacs you have indeed (see C-h w):
>
> kill-ring-save is on <C-insertchar>, <C-insert>, M-w, <menu-bar> <edit> <copy>
> yank is on C-y, <S-insertchar>, <S-insert>, <menu-bar> <edit> <paste>
> kill-region is on C-w, <S-delete>, <menu-bar> <edit> <cut>
>
> So the CUA bindings are there.
But not the "CUA bindings" that users out there expect, which is what
we call "CUA mode".
IOW, historical precedents and naming mistakes aside, many newcomers
expect the likes of C-c, C-v, C-a, C-z, C-x to do what they do in
other applications, and we only provide those when CUA Mode is turned
on, we cannot possibly provide them by default.
So the fact that IBM calls "CUA" something else is a tangent, not
really relevant or important in this context.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 9:34 ` Eli Zaretskii
@ 2020-09-10 10:08 ` tomas
0 siblings, 0 replies; 51+ messages in thread
From: tomas @ 2020-09-10 10:08 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1345 bytes --]
On Thu, Sep 10, 2020 at 12:34:14PM +0300, Eli Zaretskii wrote:
> > Date: Thu, 10 Sep 2020 09:08:09 +0000
> > From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
> >
> > With vanilla Emacs you have indeed (see C-h w):
> >
> > kill-ring-save is on <C-insertchar>, <C-insert>, M-w, <menu-bar> <edit> <copy>
> > yank is on C-y, <S-insertchar>, <S-insert>, <menu-bar> <edit> <paste>
> > kill-region is on C-w, <S-delete>, <menu-bar> <edit> <cut>
> >
> > So the CUA bindings are there.
>
> But not the "CUA bindings" that users out there expect, which is what
> we call "CUA mode".
Definitely. I didn't intend to imply otherwise. Rather I wanted to
remind people that "there is not a Right GUI", and that it changes
over time depending on whoever dominates whatever market out there.
The quintessence of my message is that there's a price to pay when
following those changing conventions (after all, there are lots of
Emacs users who use, e.g. C-c for something else!), and thus changing
a default always will take discussion, patience, and perhaps accepting
that the outcome isn't always what one wants.
[...]
> So the fact that IBM calls "CUA" something else is a tangent, not
> really relevant or important in this context.
I don't even think they care about it anymore ;-)
>
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 8:29 ` tomas
2020-09-10 9:08 ` Gregory Heytings via Emacs development discussions.
@ 2020-09-10 9:30 ` Eli Zaretskii
2020-09-10 10:11 ` tomas
1 sibling, 1 reply; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-10 9:30 UTC (permalink / raw)
To: tomas; +Cc: rms, emacs-devel
> Date: Thu, 10 Sep 2020 10:29:28 +0200
> From: tomas@tuxteam.de
> Cc: rms@gnu.org, emacs-devel@gnu.org
>
> > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]),
> > > > it's "C-Insert", "S-Del", and "S-Ins" respectively.
> > >
> > > We might want to implement these bindings.
> >
> > Actually, we already have these bindings by default.
>
> Hm. The manual didn't tell me... should have it?
Which manual, and in what place in that manual?
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 9:30 ` Eli Zaretskii
@ 2020-09-10 10:11 ` tomas
0 siblings, 0 replies; 51+ messages in thread
From: tomas @ 2020-09-10 10:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: rms, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 948 bytes --]
On Thu, Sep 10, 2020 at 12:30:51PM +0300, Eli Zaretskii wrote:
> > Date: Thu, 10 Sep 2020 10:29:28 +0200
> > From: tomas@tuxteam.de
> > Cc: rms@gnu.org, emacs-devel@gnu.org
> >
> > > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]),
> > > > > it's "C-Insert", "S-Del", and "S-Ins" respectively.
> > > >
> > > > We might want to implement these bindings.
> > >
> > > Actually, we already have these bindings by default.
> >
> > Hm. The manual didn't tell me... should have it?
>
> Which manual, and in what place in that manual?
The Emacs Manual, 12.6 "CUA Bindings", fairly recent:
This is the ‘GNU Emacs Manual’, updated for Emacs version 28.0.50.
Copyright © 1985–1987, 1993–2020 Free Software Foundation, Inc.
But as stated elsewhere in the thread, it's perhaps not that
important. Shift-INS and friends have at most historical value
these days, I guess.
Cheers
- t
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 3:32 ` Eli Zaretskii
2020-09-10 8:29 ` tomas
@ 2020-09-11 4:18 ` Richard Stallman
2020-09-11 7:06 ` Eli Zaretskii
1 sibling, 1 reply; 51+ messages in thread
From: Richard Stallman @ 2020-09-11 4:18 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: tomas, 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. ]]]
> > > But according to IBM's "Common User Architecture" (aka "CUA" [4]),
> > > it's "C-Insert", "S-Del", and "S-Ins" respectively.
> >
> > We might want to implement these bindings.
> Actually, we already have these bindings by default.
I tested them with C-h k, on a tty using its function keys, and they
did not have those bindings. I am using master from June.
--
Dr Richard Stallman
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] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 4:18 ` Richard Stallman
@ 2020-09-11 7:06 ` Eli Zaretskii
2020-09-11 13:47 ` Stefan Monnier
2020-09-12 3:22 ` Richard Stallman
0 siblings, 2 replies; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-11 7:06 UTC (permalink / raw)
To: rms; +Cc: tomas, emacs-devel
> From: Richard Stallman <rms@gnu.org>
> Cc: tomas@tuxteam.de, emacs-devel@gnu.org
> Date: Fri, 11 Sep 2020 00:18:52 -0400
>
> > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]),
> > > > it's "C-Insert", "S-Del", and "S-Ins" respectively.
> > >
> > > We might want to implement these bindings.
>
> > Actually, we already have these bindings by default.
>
> I tested them with C-h k, on a tty using its function keys, and they
> did not have those bindings. I am using master from June.
We have them on GUI frames.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 7:06 ` Eli Zaretskii
@ 2020-09-11 13:47 ` Stefan Monnier
2020-09-12 3:22 ` Richard Stallman
1 sibling, 0 replies; 51+ messages in thread
From: Stefan Monnier @ 2020-09-11 13:47 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: tomas, rms, emacs-devel
>> > > > But according to IBM's "Common User Architecture" (aka "CUA" [4]),
>> > > > it's "C-Insert", "S-Del", and "S-Ins" respectively.
>> > > We might want to implement these bindings.
>> > Actually, we already have these bindings by default.
>> I tested them with C-h k, on a tty using its function keys, and they
>> did not have those bindings. I am using master from June.
> We have them on GUI frames.
I think we also have them in tty frames, but many/most terminals are not
able to transmit those keys properly.
Stefan
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 7:06 ` Eli Zaretskii
2020-09-11 13:47 ` Stefan Monnier
@ 2020-09-12 3:22 ` Richard Stallman
2020-09-12 3:46 ` Emanuel Berg via Emacs development discussions.
1 sibling, 1 reply; 51+ messages in thread
From: Richard Stallman @ 2020-09-12 3:22 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: tomas, 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 tested them with C-h k, on a tty using its function keys, and they
> > did not have those bindings. I am using master from June.
> We have them on GUI frames.
Shouldn't those bindings be the same on tty frames?
There seem to have no meaningful binding on tty frames now.
--
Dr Richard Stallman
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] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 2:40 ` Richard Stallman
2020-09-10 3:32 ` Eli Zaretskii
@ 2020-09-10 8:28 ` tomas
1 sibling, 0 replies; 51+ messages in thread
From: tomas @ 2020-09-10 8:28 UTC (permalink / raw)
To: Richard Stallman; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 294 bytes --]
On Wed, Sep 09, 2020 at 10:40:39PM -0400, Richard Stallman wrote:
[...]
> It may not please the real users ;-{, but it would refute the claims
> that we don't support CUA. We could explain that CUA stands for
> Cover Ur Ass.
> ;-!
:-)
OTOH... who wants to do /that/ with IBM?
Cheers
- t
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 19:30 ` Yuan Fu
2020-09-08 21:30 ` Praharsh Suryadevara
@ 2020-09-09 14:01 ` Eli Zaretskii
2020-09-10 23:20 ` Yuan Fu
1 sibling, 1 reply; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-09 14:01 UTC (permalink / raw)
To: Yuan Fu; +Cc: self, emacs-devel
> From: Yuan Fu <casouri@gmail.com>
> Date: Tue, 8 Sep 2020 15:30:56 -0400
> Cc: emacs-devel@gnu.org
>
> I generally agree with your point. However, what I have in mind is not changing defaults, but rather a configuration wizard, that can prompt user and let him select from Emacs binding vs CUA binding, Emacs undo vs simple undo/redo, themes, etc. I’ve seen such wizard in Intellj Idea, Spacemacs, etc. Something like (just an example):
>
>
> ----------------------------------------------------------------------
>
> Set UI themes:
>
> <some C code>
>
> - [ ] default
> - [ ] dark
> - [ ] ...
>
> ----------------------------------------------------------------------
>
> Keybinding notation:
>
> C (control) Ctrl
> M (meta) Alt/Option
> s (super) Windows/Command
> S (shift) Shift
I don't think this scales. Emacs has thousands of options, I'm
guessing hundreds of them are important for the audience you have in
mind. You will get a huge set of many options that people with
"TL;DR" state of mind will never be able to review, let alone decide
what is for them.
The grouping of the options must be based on some "themes" or similar,
to be useful. The challenge is, of course, to come up with a useful
list of such "themes", and then decide which options should each theme
enable.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 14:01 ` Eli Zaretskii
@ 2020-09-10 23:20 ` Yuan Fu
2020-09-11 6:45 ` Eli Zaretskii
0 siblings, 1 reply; 51+ messages in thread
From: Yuan Fu @ 2020-09-10 23:20 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Göktuğ Kayaalp, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1308 bytes --]
>
> I don't think this scales. Emacs has thousands of options, I'm
> guessing hundreds of them are important for the audience you have in
> mind. You will get a huge set of many options that people with
> "TL;DR" state of mind will never be able to review, let alone decide
> what is for them.
I think there are a few configurations that a beginner would want to change right after he starts Emacs, usually very basic settings. If you think it’s a good idea, I can go to reddit and ask what people missed when then started using Emacs for the first few minutes.
FWIW, here is a demo of the guide: https://youtu.be/0qMskTAR2aw
The demo inserts some configurations into ~/.emacs.d/init.el after completion.
>
> The grouping of the options must be based on some "themes" or similar,
> to be useful. The challenge is, of course, to come up with a useful
> list of such "themes", and then decide which options should each theme
> enable.
Others has described the out-of-the-box experience of doom Emacs, it seems to me that such job is better done by a “distribution” of Emacs than by vanilla Emacs. OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet.
Yuan
[-- Attachment #2: beginner-guide.el --]
[-- Type: application/octet-stream, Size: 11363 bytes --]
;;; beginner-guide.el --- Beginner guide for Emacs -*- lexical-binding: t; -*-
;; Author: Yuan Fu <casouri@gmail.com>
;;; This file is NOT part of GNU Emacs
;;; Commentary:
;;
;;; Code:
;;
(require 'widget)
(eval-when-compile
(require 'wid-edit))
(defvar beginner-guide--config-intro
";; Below is the configuration generated by the beginner guide:\n"
"First line of the beginner guide configuration in init.el.")
(defvar beginner-guide--config-outro
";; The configuration generated by the beginner guide ends here.\n"
"Last line of the beginner guide configuration in init.el.")
(defun beginner-guide--write-config (form-list)
"Create ~/.emacs.d/init.el and write FORM-LIST into it."
(mkdir "~/.emacs.d" 'no-error)
(let ((init-file (expand-file-name "init.el" user-emacs-directory)))
(with-current-buffer (find-file-noselect init-file t)
(goto-char (point-min))
(when (search-forward beginner-guide--config-intro nil t)
(let ((beg (match-beginning 0)))
(when (search-forward beginner-guide--config-outro nil t)
(delete-region beg (point))
(save-buffer))))
(goto-char (point-max))
(insert "\n" beginner-guide--config-intro)
(dolist (form form-list)
(prin1 form (current-buffer))
(insert "\n"))
(insert beginner-guide--config-outro)
(save-buffer))))
(defvar beginner-guide--config nil
"An alist of configurations that the user set in each page.")
(defsubst beginner-guide--save-option (option value)
"Save OPTION’s VALUE in ‘beginner-guide--config’."
(setf (alist-get option beginner-guide--config) value))
;;; Pages
;;;; Theme
(defvar beginner-guide--c-demo
"int add (int x, int y)
{
return x + y;
}
int main(int arg, int* argv)
{
int x = 1;
int y = 2;
return add(x, y) - 3;
}
"
"Demo C code.")
(defun beginner-guide--theme-page ()
"Theme configuration page."
(let ((inhibit-read-only t))
(erase-buffer))
(remove-overlays)
(widget-insert "Set UI theme:\n\n")
;; Insert a C demo.
(widget-insert
(with-temp-buffer
(insert beginner-guide--c-demo)
(c-mode)
(font-lock-fontify-region (point-min) (point-max))
(buffer-string)))
(widget-insert "\n")
;; Insert theme selection menu.
(apply #'widget-create 'radio-button-choice
:follow-link t
:value "default"
;; Enable the theme when the user selects it.
:notify (lambda (widget &rest _)
(mapc #'disable-theme custom-enabled-themes)
(let ((theme (intern (widget-value widget))))
;; Load theme.
(unless (eq theme 'default)
(load-theme theme))
;; Set config.
(beginner-guide--save-option 'theme theme)))
(cons '(item "default")
(cl-loop for theme in (custom-available-themes)
collect `(item ,(symbol-name theme)))))
(use-local-map widget-keymap)
(widget-setup))
;;;; Keybinding
(defun beginner-guide--keybinding-page ()
"Keybinding page."
(widget-insert "Keybinding notation:
C (control) Ctrl
M (meta) Alt/Option
s (super) Windows/Command
S (shift) Shift
Set keybinding style for copy/paste:
We encourage you to learn the default binding, because the alternative
binding conflicts with many parts of Emacs and make the experience
worse in the long run.\n\n")
(widget-create 'radio-button-choice
:follow-link t
:value "default"
:notify (lambda (widget &rest _)
(beginner-guide--save-option
'keybinding (widget-value widget)))
'(item :value "default"
:format "%v\n\n%d\n"
:doc " M-w Copy
C-y Paste
C-w Cut
C-s Search
C-x C-s Save")
'(item :value "alternative"
:format "%v\n\n%d\n"
:doc " C-c Copy
C-v Paste
C-x Cut
C-f Search
C-s Save")))
;;;; UI features
(defun beginner-guide--ui-features-page ()
"UI features page."
(widget-insert "Set some UI options:\n\n")
(widget-create 'checkbox
:notify (lambda (widget &rest _)
(let ((val (widget-value widget)))
(global-display-line-numbers-mode
(if val 1 -1))
(beginner-guide--save-option
'line-number val)))
:value nil)
(widget-insert " Enable line numbers.\n")
(widget-create 'checkbox
:notify (lambda (widget &rest _)
(let ((val (widget-value widget)))
(setq-default cursor-type
(if val 'bar t))
(beginner-guide--save-option
'thin-cursor val)))
:value nil)
(widget-insert " Use thin cursor bar.\n")
(widget-create 'checkbox
:notify (lambda (widget &rest _)
(let ((val (widget-value widget)))
(tool-bar-mode (if val -1 1))
(beginner-guide--save-option
'disable-tool-bar val)))
:value nil)
(widget-insert " Disable tool bar.\n")
(widget-create 'checkbox
:notify (lambda (widget &rest _)
(let ((val (widget-value widget)))
(scroll-bar-mode (if val -1 1))
(beginner-guide--save-option
'disable-scroll-bar val)))
:value nil)
(widget-insert " Disable scroll bar.\n"))
;;;; Undo
(defun beginner-guide--undo-page ()
"Undo page."
(widget-insert
"Emacs has a powerful (but possibly unintuitive) undo system, where
undo operations themselves are recorded in the undo history, and redo
is done by undoing an previous undo operation.
Set undo style:\n\n")
(widget-create 'radio-button-choice
:value "default"
:follow-lint t
:notify (lambda (widget &rest _)
(beginner-guide--save-option
'undo-style (widget-value widget)))
'(item :value "default"
:format "%v\n\n%d\n"
:doc " C-/ Undo")
'(item :value "linear"
:format "%v\n\n%d\n"
:doc " C-/ Undo
C-? Redo")
'(item :value "alternative"
:format "linear with alternative binding\n\n%d"
:doc " C-z Undo
C-S-z Redo")))
;;;; Guide
(defun beginner-guide--with-boilerplate
(setup-fn &optional page-list finish-fn)
"Call page setup function, SETUP-FN, with Customize boilerplate.
PAGE-LIST is a list of setup function for pages to show in a series.
FINISH-FN is called when user clicks the finish button."
(let ((inhibit-read-only t))
(erase-buffer))
(remove-overlays)
(funcall setup-fn)
(widget-insert "\n\n")
(beginner-guide--insert-step-buttons setup-fn page-list finish-fn)
(use-local-map widget-keymap)
(widget-setup)
(goto-char (point-min)))
(defun beginner-guide--insert-step-buttons (page page-list finish-fn)
"Insert buttons that go to previous and next page of PAGE.
PAGE-LIST is a list of setup function for pages to show in a series.
Insert a Button that calls FINISH-FN at the last page."
(let* ((idx (seq-position page-list page))
(previous-page (if (eq idx 0) nil
(nth (1- idx) page-list)))
(next-page (nth (1+ idx) page-list)))
(widget-insert (format "%s/%s " (1+ idx) (length page-list)))
(when previous-page
(widget-create
'push-button
:notify (lambda (&rest _)
(beginner-guide--with-boilerplate
previous-page page-list finish-fn))
:value "Back"))
(widget-insert " ")
(if next-page
(widget-create
'push-button
:notify (lambda (&rest _)
(beginner-guide--with-boilerplate
next-page page-list finish-fn))
:value "Next")
(widget-create
'push-button
:notify (lambda (&rest _) (funcall finish-fn))
:value "Finish"))
(widget-insert "\n")))
(defun beginner-guide--generate-config (config-alist)
"Generate configuration code from CONFIG-ALIST."
(cl-loop for option in '(theme keybinding line-number thin-cursor
disable-tool-bar scroll-bar
undo-style)
append
(let ((value (alist-get option config-alist)))
(pcase (list option value)
(`(theme ,theme) (unless (eq theme 'default))
`((load-theme ',theme)))
('(keybinding "alternative")
'((global-set-key (kbd "C-c") #'kill-ring-save)
(global-set-key (kbd "C-v") #'yank)
(global-set-key (kbd "C-x") #'kill-region)
(global-set-key (kbd "C-f") #'isearch-forward)
(global-set-key (kbd "C-s") #'save-buffer)))
('(line-number t)
'((global-display-line-numbers-mode)))
('(thin-cursor t)
'((setq-default cursor-type 'bar)))
('(disable-tool-bar t)
'((tool-bar-mode -1)))
('(disable-scroll-bar t)
'((scroll-bar-mode -1)))
('(undo-style "linear")
'((global-set-key (kbd "C-/") #'undo-only)
(global-set-key (kbd "C-?") #'undo-redo)))
('(undo-style "alternative")
'((global-set-key (kbd "C-z") #'undo-only)
(global-set-key (kbd "C-S-z") #'undo-redo)))
))))
(defun beginner-guide ()
"Run the beginner guide."
(interactive)
(switch-to-buffer (get-buffer-create "*beginner guide*"))
(setq beginner-guide--config nil)
(let ((page-list '(beginner-guide--theme-page
beginner-guide--keybinding-page
beginner-guide--ui-features-page
beginner-guide--undo-page)))
(beginner-guide--with-boilerplate
(car page-list) page-list
(lambda ()
(kill-buffer)
(with-temp-file "~/tmp/init.el"
(let ((form-list (beginner-guide--generate-config
beginner-guide--config)))
(mapc #'eval form-list)
(beginner-guide--write-config form-list)))))))
(provide 'beginner-guide)
;;; beginner-guide.el ends here
[-- Attachment #3: Type: text/plain, Size: 2 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 23:20 ` Yuan Fu
@ 2020-09-11 6:45 ` Eli Zaretskii
2020-09-11 8:51 ` Dmitry Gutov
2020-09-11 13:52 ` Yuan Fu
0 siblings, 2 replies; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-11 6:45 UTC (permalink / raw)
To: Yuan Fu; +Cc: self, emacs-devel
> From: Yuan Fu <casouri@gmail.com>
> Date: Thu, 10 Sep 2020 19:20:34 -0400
> Cc: Göktuğ Kayaalp <self@gkayaalp.com>,
> emacs-devel <emacs-devel@gnu.org>
>
> > I don't think this scales. Emacs has thousands of options, I'm
> > guessing hundreds of them are important for the audience you have in
> > mind. You will get a huge set of many options that people with
> > "TL;DR" state of mind will never be able to review, let alone decide
> > what is for them.
>
> I think there are a few configurations that a beginner would want to change right after he starts Emacs, usually very basic settings. If you think it’s a good idea, I can go to reddit and ask what people missed when then started using Emacs for the first few minutes.
I think it could be a good idea to ask users, yes. However, "for the
first few minutes" is not a good criterion, IMO: we want to provide a
facility for easily finding important options for users who already
use Emacs for weeks, maybe months. The options "for the first few
minutes" are supposed to be on the Options menu already.
> > The grouping of the options must be based on some "themes" or similar,
> > to be useful. The challenge is, of course, to come up with a useful
> > list of such "themes", and then decide which options should each theme
> > enable.
>
> Others has described the out-of-the-box experience of doom Emacs, it seems to me that such job is better done by a “distribution” of Emacs than by vanilla Emacs.
"Better" in what sense? What do the people who maintain Spacemacs or
DOOM know about Emacs that we don't?
> OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet.
Sorry to be negative, but based on experience I have hard time
believing in such guides: people who are involved in Emacs development
are much better coding than writing good documentation, let alone
tutorial documentation for newbies. Let's do what we do best: produce
features that make it easier to discover and turn on popular features.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 6:45 ` Eli Zaretskii
@ 2020-09-11 8:51 ` Dmitry Gutov
2020-09-11 8:59 ` Emanuel Berg via Emacs development discussions.
2020-09-11 13:52 ` Yuan Fu
1 sibling, 1 reply; 51+ messages in thread
From: Dmitry Gutov @ 2020-09-11 8:51 UTC (permalink / raw)
To: Eli Zaretskii, Yuan Fu; +Cc: self, emacs-devel
On 11.09.2020 09:45, Eli Zaretskii wrote:
>> OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet.
> Sorry to be negative, but based on experience I have hard time
> believing in such guides: people who are involved in Emacs development
> are much better coding than writing good documentation, let alone
> tutorial documentation for newbies. Let's do what we do best: produce
> features that make it easier to discover and turn on popular features.
Perhaps we can nevertheless encourage "others" to contribute such guide(s)?
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 6:45 ` Eli Zaretskii
2020-09-11 8:51 ` Dmitry Gutov
@ 2020-09-11 13:52 ` Yuan Fu
2020-09-11 14:01 ` Eli Zaretskii
2020-09-11 14:27 ` Stefan Monnier
1 sibling, 2 replies; 51+ messages in thread
From: Yuan Fu @ 2020-09-11 13:52 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: self, emacs-devel
[-- Attachment #1: Type: text/plain, Size: 2268 bytes --]
>
> I think it could be a good idea to ask users, yes. However, "for the
> first few minutes" is not a good criterion, IMO: we want to provide a
> facility for easily finding important options for users who already
> use Emacs for weeks, maybe months. The options "for the first few
> minutes" are supposed to be on the Options menu already.
>
I felt that people are most confused on the first few minutes of using Emacs, but I won’t argue this before asked for real experience on reddit.
>>> The grouping of the options must be based on some "themes" or similar,
>>> to be useful. The challenge is, of course, to come up with a useful
>>> list of such "themes", and then decide which options should each theme
>>> enable.
>>
>> Others has described the out-of-the-box experience of doom Emacs, it seems to me that such job is better done by a “distribution” of Emacs than by vanilla Emacs.
>
> "Better" in what sense? What do the people who maintain Spacemacs or
> DOOM know about Emacs that we don't?
They can do things we can’t. They can bundle MELPA packages, they can set various defaults, they can promote one package over another, they can bundle a bunch of helper commands and configurations.
>
>> OTHO, vanilla Emacs could add a tiny guide like I proposed to more or less improve the life for those who started Emacs without reading any tutorial on the internet.
>
> Sorry to be negative, but based on experience I have hard time
> believing in such guides: people who are involved in Emacs development
> are much better coding than writing good documentation, let alone
> tutorial documentation for newbies. Let's do what we do best: produce
> features that make it easier to discover and turn on popular features.
I welcome such profile functionality, that will be very nice. In the mean time, a guide still has its place: how would a new user know he can choose a profile otherwise? You can add a menu button or a link on the slash screen, but I doubt if anything can beat a guide on discoverability.
Not being good at writing tutorial for newbie is one thing, not doing it is another thing. If we want Emacs to be more newbie-friendly, we should have a friendly introduction built-in.
Yuan
[-- Attachment #2: Type: text/html, Size: 14091 bytes --]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 13:52 ` Yuan Fu
@ 2020-09-11 14:01 ` Eli Zaretskii
2020-09-11 14:27 ` Stefan Monnier
1 sibling, 0 replies; 51+ messages in thread
From: Eli Zaretskii @ 2020-09-11 14:01 UTC (permalink / raw)
To: Yuan Fu; +Cc: self, emacs-devel
> From: Yuan Fu <casouri@gmail.com>
> Date: Fri, 11 Sep 2020 09:52:34 -0400
> Cc: self@gkayaalp.com,
> emacs-devel@gnu.org
>
> Others has described the out-of-the-box experience of doom Emacs, it seems to me that such
> job is better done by a “distribution” of Emacs than by vanilla Emacs.
>
> "Better" in what sense? What do the people who maintain Spacemacs or
> DOOM know about Emacs that we don't?
>
> They can do things we can’t. They can bundle MELPA packages, they can set various defaults, they can
> promote one package over another, they can bundle a bunch of helper commands and configurations.
These are not obstacles we cannot negotiate if needed. If we decide
some feature is important, we can talk to the respective developers
and ask them to clean them up for Emacs or for GNU ELPA. Or we can
write our own implementations of those or similar features.
Maybe, even probably, we will never provide the full suite of what
Spacemacs or DOOM do, but even a small number of easily turned on
features could be a significant improvement.
> Not being good at writing tutorial for newbie is one thing, not doing it is another thing. If we want Emacs to be
> more newbie-friendly, we should have a friendly introduction built-in.
I didn't want to say I'm against writing guides. If someone wants to
write such guides, by all means go ahead, and TIA.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-11 13:52 ` Yuan Fu
2020-09-11 14:01 ` Eli Zaretskii
@ 2020-09-11 14:27 ` Stefan Monnier
1 sibling, 0 replies; 51+ messages in thread
From: Stefan Monnier @ 2020-09-11 14:27 UTC (permalink / raw)
To: Yuan Fu; +Cc: self, Eli Zaretskii, emacs-devel
>> "Better" in what sense? What do the people who maintain Spacemacs or
>> DOOM know about Emacs that we don't?
> They can do things we can’t. They can bundle MELPA packages, they can set
> various defaults, they can promote one package over another, they can bundle
> a bunch of helper commands and configurations.
Indeed, there are fundamentally two things they do that we don't:
- they bundle extra packages
- they don't have to accommodate all Emacs users (tho over time, they
discover that they have to accommodate their own users when
introducing changes ;-)
We could also bundle extra packages, actually.
We just currently decide not to.
Stefan
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 18:48 Göktuğ Kayaalp
2020-09-08 19:30 ` Yuan Fu
@ 2020-09-09 2:01 ` Nick Savage
2020-09-09 14:48 ` Göktuğ Kayaalp
2020-09-10 2:36 ` Richard Stallman
2 siblings, 1 reply; 51+ messages in thread
From: Nick Savage @ 2020-09-09 2:01 UTC (permalink / raw)
To: emacs-devel
Göktuğ Kayaalp <self@gkayaalp.com> writes:
>> I think everybody would agree on attracting more people to use
>> Emacs—that means more blogs and help, more contributor, etc. And
>> people agree that Emacs isn’t as beginner-friendly as it could be. The
>> problem is what to improve, and how.
>
> Not necessarily. Personally, I don’t see much benefit in trying to
> appeal users that have no background in coding whatsoever, and users who
> wouldn’t really benefit from what Emacs has to offer.
>
As someone who comes to the community with minimal background to coding,
I'd like to add a little bit of my experience and what attracted me to
Emacs in the first place:
I've probably been using Emacs for around ten years, but not very
seriously until very recently. I originally dabbled in coding a tiny bit
in high school and experimented with Emacs because it seemed cool. I
studied in the humanities in university, and I made more use of it as an editor and for LaTeX. LaTeX is not an uncommon thing for people in
academia to be using - I actually met someone in accounting who said he
uses it!
I'll admit I'm atypical and I wouldn't expect the average humanities
student or professor to be using Emacs, no matter what, but I think
Emacs has a lot of value for people outside programming, especially with org-mode.
The big hurdle I think for a lot of users is that Emacs is basically a
black box. I had no idea until very recently that CUA mode exist, which
could add value to users. I actually really like the idea of a
configuration wizard, as others have suggested, with some common options like that. It's probably
the least destructive in terms of environment since it doesn't actually
change any defaults and can provide new users with a "modern" experience
out of the box.
> The major problem is that someone who fiddled with Emacs now and
> couldn’t make use of it may think differently when a couple years later
> they have some knowledge of programming (not necessarily professionally)
> and some experience with other tools.
>
> Anecdotally, I’ve picked up and quit Emacs multiple times before I
> decided to stay with it. And it’s been more than 6 years now that I’m
> using it for the good part of my computing. What was puzzling and weird
> to me back then is useful and essential to me now.
>
This is probably a good point though too, on the other hand. Locking in
CUA mode early with a configuration might lead users to stick with it
long-term instead of maybe seeing the value the rest of the program has,
for better or for worse.
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-09 2:01 ` Nick Savage
@ 2020-09-09 14:48 ` Göktuğ Kayaalp
0 siblings, 0 replies; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-09 14:48 UTC (permalink / raw)
To: emacs-devel
On 2020-09-09 05:01 +03, Nick Savage <nick@nicksavage.ca> wrote:
> Göktuğ Kayaalp <self@gkayaalp.com> writes:
> I'll admit I'm atypical and I wouldn't expect the average humanities
> student or professor to be using Emacs, no matter what, but I think
> Emacs has a lot of value for people outside programming, especially with org-mode.
I’ve (almost) never programmed professionally either. Currently doing an
MA in linguistics.
Emacs indeed has much value outside programming; potentially much more
value for me and probably you too.
But using Emacs without _any_ programming knowledge, or at any interest
in learning even the tiniest bit to manage an init.el is, IMHO, kind of
a dead end. Because sooner or later you’ll need it. And it’s very
easy, but sadly there’s a shortage of resources that make programming
what it is---a rudimentary task, yet another UI to your computer---and
teach it as such.
I’m kinda getting lost in my sentences. What I want to say is, Emacs is
not all that useful if you don’t want to do _any_ programming, including
your init.el, which when you use, is programming. There are quite solid
alternatives to Org mode that require no programming knowledge. There’s
Notion, there’s Roam Research (albeit I’d rather not touch it), but also
a couple very capable open source outliners. Chances are, a user that’s
completely disinterested in programming may make more use of these
software. Similarly for LaTeX.
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 18:48 Göktuğ Kayaalp
2020-09-08 19:30 ` Yuan Fu
2020-09-09 2:01 ` Nick Savage
@ 2020-09-10 2:36 ` Richard Stallman
2020-09-10 10:07 ` Göktuğ Kayaalp
2 siblings, 1 reply; 51+ messages in thread
From: Richard Stallman @ 2020-09-10 2:36 UTC (permalink / raw)
To: GöktuÄ Kayaalp; +Cc: 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. ]]]
> Anecdotally, I’ve picked up and quit Emacs multiple times before I
> decided to stay with it. And it’s been more than 6 years now that I’m
> using it for the good part of my computing. What was puzzling and weird
> to me back then is useful and essential to me now.
I think this demonstrates that someone for whom Emacs can ondeed be useful
may be unable recognize its usefulness when trying it out.
I know it was long ago, but can you remember anything importantly
useful about Emacs that you didn't recognize in those first attempts?
Does anyone else have an idea what things those might be?
We might be able to figure out better ways of demonstrating them to
potential satisfied Emacsers.
--
Dr Richard Stallman
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] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 2:36 ` Richard Stallman
@ 2020-09-10 10:07 ` Göktuğ Kayaalp
2020-09-10 17:28 ` Drew Adams
0 siblings, 1 reply; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-10 10:07 UTC (permalink / raw)
To: rms; +Cc: GöktuÄ Kayaalp, emacs-devel
On 2020-09-10 05:36 +03, Richard Stallman <rms@gnu.org> wrote:
> I know it was long ago, but can you remember anything importantly
> useful about Emacs that you didn't recognize in those first attempts?
Indeed, tho let me try. I don’t really recall exact things but I’ll
write out my pathway in a couple of paragraphs; maybe it’s a pattern
some people will recognise.
So I came to it as someone teaching himself programming, probably
sometime in 2012 or 2013. But I must have been aware of it before,
given I’ve been using GNU/Linux since I was a kid.
I was basically editor hopping as I was trying to figure out programming
by myself, and in that timeframe used everything under the sun,
basically. Emacs was particularly interesting as it was what ‘cool Lisp
hackers’ used. But IIRC the first few times I was trying to use it more
like Vim, i.e. editor with extensions and an rc file. For some reason,
probably because that cool kids factor, I stuck with Emacs for a while.
Then I worked a job as a Python dev for a month or so, around the end of
2013. The colleagues made me switch to Vim because they had a pretty
decent Python setup, whereas my Emacs Python setup was nonexistent. And
that stuck for a long while. I built a 1.5kLoC vimrc (which I’ve
probably lost since...), and even wrote a couple plugins (one of which a
colourscheme which seems to still see some little use in the community).
When it clicked for me, what Emacs could indeed allow me to do, was
probably around some time in 2015. By then I had moved on to pursue my
education in humanities, and needed to organise my notes, manage my
todos and agenda. That’s when I came back to Emacs, IIRC. Typed in a
ton of notes into Org mode format. And I stuck with it from then on.
At some point between some time after my switching to Vim and and later
finally swithing to Emacs I must’ve read a lot, possibly through Hacker
News, about Emacs and Org mode, and gathered a more refined view of
what’s possible with these tools. And I recall being very frustrated
with the ‘unix way’ because it was never as neat as people made it seem
to be: I was having a difficult time fitting things together, especially
for non-programming toils the switch to humanities brought about. I
also should’ve first watched ‘A Tour of Acme’ by Russ Cox [1], and it’s
not an exaggeration to say it’s one of the most influential moments in
my life with computers. It must have clicked for me soon after that
that I could make out of Emacs what I wanted: an ‘integrated computing
environment’ where I can make things work for me, and fine tune
everything at almost any depth, and do all that interactively.
That seems obvious to me today, but back in those few years it must’ve
been a puzzle for me how actually this kind of stuff happens, how people
could make more use of Emacs than just as a text editor or IDE.
Hopefully that’s not one long wall of text with a completely irrelevant
personal story.
[1] https://www.youtube.com/watch?v=dP1xVpMPn8M
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
* RE: Gather a list of confusions beginner tend to have
2020-09-10 10:07 ` Göktuğ Kayaalp
@ 2020-09-10 17:28 ` Drew Adams
2020-09-10 21:17 ` Göktuğ Kayaalp
0 siblings, 1 reply; 51+ messages in thread
From: Drew Adams @ 2020-09-10 17:28 UTC (permalink / raw)
To: Göktuğ Kayaalp, rms; +Cc: emacs-devel
> > I know it was long ago, but can you remember anything importantly
> > useful about Emacs that you didn't recognize in those first attempts?
>
> Indeed, tho let me try. I don’t really recall exact things but I’ll
> write out my pathway in a couple of paragraphs; maybe it’s a pattern
> some people will recognise. ...
What you wrote is, IMO, quite helpful (and interesting). Thx.
[You might consider a fun "humanities" project of
working on (yet another) Emacs tour/tutorial/video.
Sounds like you'd have something to offer in this
regard. By "working" on, I mean anything from
coming up with something new to critiquing/improving
something that already exists.]
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-10 17:28 ` Drew Adams
@ 2020-09-10 21:17 ` Göktuğ Kayaalp
0 siblings, 0 replies; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-10 21:17 UTC (permalink / raw)
To: Drew Adams; +Cc: Göktuğ Kayaalp, rms, emacs-devel
On 2020-09-10 20:28 +03, Drew Adams <drew.adams@oracle.com> wrote:
> What you wrote is, IMO, quite helpful (and interesting). Thx.
Thanks for your nice words! I’m glad it was of any use!
> [You might consider a fun "humanities" project of
> working on (yet another) Emacs tour/tutorial/video.
> Sounds like you'd have something to offer in this
> regard. By "working" on, I mean anything from
> coming up with something new to critiquing/improving
> something that already exists.]
That’s actually part of a long term project of mine: a Computing for
Social Sciences course because we increasingly rely on more than just
statistics within these fields, yet very little can operate a computer
properly for the life of theirs. But I will try to come up with an
intro or overview of Emacs in the shorter term, maybe I do manage to
make some things clearer and more approachable for some folk, given
there might be some ‘aligned needs’.
W.r.t. critique of Emacs, I doubt my critique would be of any use,
because I’m fine with the status quo. I’m learning the ways of ‘kids
these days’ along with you folks, really.
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
* Gather a list of confusions beginner tend to have
@ 2020-09-08 17:28 Yuan Fu
2020-09-10 11:51 ` Jean Louis
2020-09-15 7:11 ` Andreas Röhler
0 siblings, 2 replies; 51+ messages in thread
From: Yuan Fu @ 2020-09-08 17:28 UTC (permalink / raw)
To: emacs-devel
I think everybody would agree on attracting more people to use Emacs—that means more blogs and help, more contributor, etc. And people agree that Emacs isn’t as beginner-friendly as it could be. The problem is what to improve, and how.
As the first step, we should collect real experiences from real beginners: someone starts to use Emacs just recently (e.g., less than one year). Ask people around, ask people on the internet. I’ll post on reddit for some input. Can I use a title like “Emacs developers wants to know what confuses beginners in vanilla Emacs?”
Once we have an idea on what real beginners are complaining about, we can then try to improve them.
Yuan
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 17:28 Yuan Fu
@ 2020-09-10 11:51 ` Jean Louis
2020-09-10 12:51 ` tomas
2020-09-15 7:11 ` Andreas Röhler
1 sibling, 1 reply; 51+ messages in thread
From: Jean Louis @ 2020-09-10 11:51 UTC (permalink / raw)
To: Yuan Fu; +Cc: emacs-devel
* Yuan Fu <casouri@gmail.com> [2020-09-08 13:28]:
> I think everybody would agree on attracting more people to use
> Emacs—that means more blogs and help, more contributor, etc. And
> people agree that Emacs isn’t as beginner-friendly as it could
> be. The problem is what to improve, and how.
I have office in Tanzania, in Geita town, and several staff members
came to our office and one task among others was preparation for
administrative works. People who got prepared in such are those who do
not have much experiences with computers in general and do not posses
computer themselves.
They have been given a task to go through Emacs Tutorial as to become
able to use Emacs to write text and respond to emails and to write
reports.
Each of them could complete the task with success, I speak of number
of people as around ten of them.
Several of them have been writing reports and one of them was
translating Swahili to English and vice versa by using Emacs.
Thus my very specific experience with these staff members as beginners
tells me that Emacs was very beginner friendly, especially due to fact
that the Tutorial and Help was there, and I never had a case that I
needed to explain directly something to those staff members, they have
provided reports and still do, and can use Emacs as text editor.
Jean
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-08 17:28 Yuan Fu
2020-09-10 11:51 ` Jean Louis
@ 2020-09-15 7:11 ` Andreas Röhler
2020-09-15 8:21 ` Robert Pluim
1 sibling, 1 reply; 51+ messages in thread
From: Andreas Röhler @ 2020-09-15 7:11 UTC (permalink / raw)
To: emacs-devel
On 08.09.20 19:28, Yuan Fu wrote:
Hi,
thanks bringing up that matter.
When deciding to start with Emacs the faculty to extend was key.
A difficulty I'm still facing from time to time is the missing type-info
in function documentation strings. Need to know the type of arguments
and also the return-type.
Cheers,
Andreas
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-15 7:11 ` Andreas Röhler
@ 2020-09-15 8:21 ` Robert Pluim
2020-09-15 10:13 ` Andreas Röhler
2020-09-15 11:22 ` Göktuğ Kayaalp
0 siblings, 2 replies; 51+ messages in thread
From: Robert Pluim @ 2020-09-15 8:21 UTC (permalink / raw)
To: Andreas Röhler; +Cc: emacs-devel
>>>>> On Tue, 15 Sep 2020 09:11:34 +0200, Andreas Röhler <andreas.roehler@online.de> said:
Andreas> On 08.09.20 19:28, Yuan Fu wrote:
Andreas> Hi,
Andreas> thanks bringing up that matter.
Andreas> When deciding to start with Emacs the faculty to extend was key.
Andreas> A difficulty I'm still facing from time to time is the missing
Andreas> type-info in function documentation strings. Need to know the type of
Andreas> arguments and also the return-type.
Is this something missing in Emacs, or is it that some documentation
strings donʼt tell you this? If the latter, point them out and we'll
try to fix them.
Robert
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-15 8:21 ` Robert Pluim
@ 2020-09-15 10:13 ` Andreas Röhler
2020-09-15 10:34 ` Robert Pluim
2020-09-15 11:22 ` Göktuğ Kayaalp
1 sibling, 1 reply; 51+ messages in thread
From: Andreas Röhler @ 2020-09-15 10:13 UTC (permalink / raw)
To: Robert Pluim; +Cc: emacs-devel
On 15.09.20 10:21, Robert Pluim wrote:
>>>>>> On Tue, 15 Sep 2020 09:11:34 +0200, Andreas Röhler <andreas.roehler@online.de> said:
> Andreas> On 08.09.20 19:28, Yuan Fu wrote:
>
>
> Andreas> Hi,
>
> Andreas> thanks bringing up that matter.
>
> Andreas> When deciding to start with Emacs the faculty to extend was key.
>
> Andreas> A difficulty I'm still facing from time to time is the missing
> Andreas> type-info in function documentation strings. Need to know the type of
> Andreas> arguments and also the return-type.
>
> Is this something missing in Emacs, or is it that some documentation
> strings donʼt tell you this? If the latter, point them out and we'll
> try to fix them.
>
> Robert
Well, it happens from time to time... Let's search for some example though:
in ange-ftp.el
defun ange-ftp-dired-compress-file (name)
it's not told if "name" should be delivered as string are just a
(quoted?) symbol.
defun ange-ftp-load (file &optional noerror nomessage nosuffix)
Assume the optional args must be boolean, but not hint so far.
If you grep for "&rest args", should appear some stuff where it's not
told what kind of args are expected.
For example in widget.el
(defun define-widget (name class doc &rest args)
Thanks developing Emacs,
Andreas
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-15 10:13 ` Andreas Röhler
@ 2020-09-15 10:34 ` Robert Pluim
0 siblings, 0 replies; 51+ messages in thread
From: Robert Pluim @ 2020-09-15 10:34 UTC (permalink / raw)
To: Andreas Röhler; +Cc: emacs-devel
>>>>> On Tue, 15 Sep 2020 12:13:27 +0200, Andreas Röhler <andreas.roehler@online.de> said:
>> Is this something missing in Emacs, or is it that some documentation
>> strings donʼt tell you this? If the latter, point them out and we'll
>> try to fix them.
>>
>> Robert
Andreas> Well, it happens from time to time... Let's search for some example though:
Andreas> in ange-ftp.el
Andreas> defun ange-ftp-dired-compress-file (name)
Andreas> it's not told if "name" should be delivered as string are just a
Andreas> (quoted?) symbol.
I think emacs always uses strings when naming files.
Andreas> defun ange-ftp-load (file &optional noerror nomessage nosuffix)
Andreas> Assume the optional args must be boolean, but not hint so far.
Hmm yes, but I think thatʼs an internal function, so not too
surprising.
Andreas> If you grep for "&rest args", should appear some stuff where it's not
Andreas> told what kind of args are expected.
Andreas> For example in widget.el
Andreas> (defun define-widget (name class doc &rest args)
Are here it depends very much on which widget youʼre using, so itʼs
hard to specify in the docstring.
Robert
^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: Gather a list of confusions beginner tend to have
2020-09-15 8:21 ` Robert Pluim
2020-09-15 10:13 ` Andreas Röhler
@ 2020-09-15 11:22 ` Göktuğ Kayaalp
1 sibling, 0 replies; 51+ messages in thread
From: Göktuğ Kayaalp @ 2020-09-15 11:22 UTC (permalink / raw)
To: emacs-devel; +Cc: Andreas Röhler
On 2020-09-15 11:21 +03, Robert Pluim <rpluim@gmail.com> wrote:
> Is this something missing in Emacs, or is it that some documentation
> strings donʼt tell you this? If the latter, point them out and we'll
> try to fix them.
Don’t have examples handy but I do find myself perplexed as to pass in a
symbol or a string at times. Even if both is okay, IMHO it’s nice
practice to express that precisely.
But also it’d be real cool if we had gradual typing in Emacs, e.g. some
‘declare-type’ function that can assign type info to symbols which can
they be used for static checks and docstrings.
We already do something similar in spirit with defcustoms, don’t we?
--
İ. Göktuğ Kayaalp / @cadadr / <https://www.gkayaalp.com/>
pgp: 024C 30DD 597D 142B 49AC 40EB 465C D949 B101 2427
^ permalink raw reply [flat|nested] 51+ messages in thread
end of thread, other threads:[~2020-09-15 11:22 UTC | newest]
Thread overview: 51+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-08 20:10 Gather a list of confusions beginner tend to have Göktuğ Kayaalp
-- strict thread matches above, loose matches on Subject: below --
2020-09-08 18:48 Göktuğ Kayaalp
2020-09-08 19:30 ` Yuan Fu
2020-09-08 21:30 ` Praharsh Suryadevara
2020-09-09 3:51 ` Richard Stallman
2020-09-09 14:18 ` Eli Zaretskii
2020-09-09 14:24 ` Göktuğ Kayaalp
2020-09-09 15:07 ` Stefan Kangas
2020-09-09 16:09 ` Göktuğ Kayaalp
2020-09-09 16:23 ` Praharsh Suryadevara
2020-09-09 16:06 ` Praharsh Suryadevara
2020-09-11 4:13 ` Richard Stallman
2020-09-11 4:13 ` Richard Stallman
2020-09-11 4:41 ` Praharsh Suryadevara
2020-09-09 7:57 ` tomas
2020-09-10 2:40 ` Richard Stallman
2020-09-10 3:32 ` Eli Zaretskii
2020-09-10 8:29 ` tomas
2020-09-10 9:08 ` Gregory Heytings via Emacs development discussions.
2020-09-10 9:34 ` Eli Zaretskii
2020-09-10 10:08 ` tomas
2020-09-10 9:30 ` Eli Zaretskii
2020-09-10 10:11 ` tomas
2020-09-11 4:18 ` Richard Stallman
2020-09-11 7:06 ` Eli Zaretskii
2020-09-11 13:47 ` Stefan Monnier
2020-09-12 3:22 ` Richard Stallman
2020-09-12 3:46 ` Emanuel Berg via Emacs development discussions.
2020-09-10 8:28 ` tomas
2020-09-09 14:01 ` Eli Zaretskii
2020-09-10 23:20 ` Yuan Fu
2020-09-11 6:45 ` Eli Zaretskii
2020-09-11 8:51 ` Dmitry Gutov
2020-09-11 8:59 ` Emanuel Berg via Emacs development discussions.
2020-09-11 13:52 ` Yuan Fu
2020-09-11 14:01 ` Eli Zaretskii
2020-09-11 14:27 ` Stefan Monnier
2020-09-09 2:01 ` Nick Savage
2020-09-09 14:48 ` Göktuğ Kayaalp
2020-09-10 2:36 ` Richard Stallman
2020-09-10 10:07 ` Göktuğ Kayaalp
2020-09-10 17:28 ` Drew Adams
2020-09-10 21:17 ` Göktuğ Kayaalp
2020-09-08 17:28 Yuan Fu
2020-09-10 11:51 ` Jean Louis
2020-09-10 12:51 ` tomas
2020-09-15 7:11 ` Andreas Röhler
2020-09-15 8:21 ` Robert Pluim
2020-09-15 10:13 ` Andreas Röhler
2020-09-15 10:34 ` Robert Pluim
2020-09-15 11:22 ` Göktuğ Kayaalp
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.