* Re: Some developement questions [not found] <444779489.8504194.1534538988289.ref@mail.yahoo.com> @ 2018-08-17 20:49 ` Ergus 2018-08-18 6:21 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: Ergus @ 2018-08-17 20:49 UTC (permalink / raw) To: eliz; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 3649 bytes --] On Thu, Aug 16, 2018 at 05:15:49PM +0300, Eli Zaretskii wrote: > >It does, since Emacs 26.1. See the emacs-modules feature. This is an incredibly good new. The documentation maybe does not follow the common format, but it is perfectly fine for me. The sooner you include this in the tutorial the projects/collaborators will use it. Because I was looking around and I couldn't find anything. > >> - What's the actual status for the emacs-guile integration and why is it abandoned since 2015? > >AFAIK, no one is actively working on Guile Emacs. (And Guile itself >is developed much slower than Emacs is.) > Opposite to the previous one this is a terribly sad new. But at least the C API could work for what I wanted. > >We just got a JIT branch a few days ago, please take a look and help >work towards eventually landing it. > I will try it specially for benchmarking. I'm so tired of listening Vim users talking about how fast it is. Hope this could help to reduce the gap. I would prefer that packages could compile to native code with gcc or so, (not only because of the expected speedup, but also for debugging facilities already available); maybe giving to the user the option to choose between bytecode/JIT/gcc and they will give live to the most successful one, but I understand that this requires a manpower unavailable now. > >I'm not sure I understand what you suggest in practical terms here. > I just suggest a cleanup/deletion/ deprecation advice in Elpa/Melpa. It is not a programming suggestion, but almost a logistical one. Because for new users it is confusing which package to install and the suggestions in the Wiki are usually the older options. So basically I have the feeling we have a volume of packages unmaintainable for the number of active developers I see. For example most of the documentation suggests to use smex while it is abandoned and the "successor" is amx fully functional and maintained. New users will install smex facing the already solved bugs. But also some new packages will use the old one for new purposes. Younger people need to know emacs from scratch as they grow with other completely different tools. > >Emacs is much more flexible, and different people have different >needs. > Yes, but someone who opens emacs for the first time will open it to edit text and very probably to program, he should have color preferences and for sure he doesn't know how to add packages and the elpa repository (maybe don't even know about about something called elpa), so, the most basic customization options. If comes from vim/nano/gedit he will need some assistance that emacs can bring (not only the tutorial, but evile, bindkeys), but he don't know how get there. Maybe he prefers to use always the terminal version instead of the graphical one, or he will read the manual and something keybinds doesn't work, and blame emacs when tmux was the guilty. > >But that doesn't mean people cannot come up with such proposals. >Please do propose practical changes, and they will be reviewed. I really want to, sadly I am totally inexpert using elisp out of my personal configuration. I just started reading the elisp documentation like 2 months ago, and after this I will need to start with the coding styles and so on. So it will take a while before I could contribute in the adult league :( . BTW: Whats the best documentation (from scratch) to learn elisp and the emacs developement environment? Do you have anything like for example: "The Linux Programming Interface" from "Michael Kerrisk" but for Emacs? Very thanks for your previous reply. Ergus [-- Attachment #2: Type: text/html, Size: 4589 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-17 20:49 ` Some developement questions Ergus @ 2018-08-18 6:21 ` Eli Zaretskii 2018-08-22 12:34 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-18 6:21 UTC (permalink / raw) To: Ergus; +Cc: emacs-devel > Date: Fri, 17 Aug 2018 20:49:48 +0000 (UTC) > From: Ergus <spacibba@aol.com> > Cc: emacs-devel@gnu.org > > I just suggest a cleanup/deletion/ deprecation advice in Elpa/Melpa. It is not a programming suggestion, but > almost a logistical one. Because for new users it is confusing which package to install and the suggestions in > the Wiki are usually the older options. So basically I have the feeling we have a volume of packages > unmaintainable for the number of active developers I see. For example most of the documentation suggests > to use smex while it is abandoned and the "successor" is amx fully functional and maintained. New users will > install smex facing the already solved bugs. But also some new packages will use the old one for new > purposes. Younger people need to know emacs from scratch as they grow with other completely different > tools. This is a volunteer project. Someone with motivation and time on their hands should (and is welcome to) start a project of better and more up-to-date documentation of available packages. One possible place to let users access this is when they use package.el to browse the list of available packages and decide what they want to install. > >Emacs is much more flexible, and different people have different > >needs. > > > Yes, but someone who opens emacs for the first time will open it to edit text and very probably to program, he > should have color preferences and for sure he doesn't know how to add packages and the elpa repository > (maybe don't even know about about something called elpa), so, the most basic customization options. If > comes from vim/nano/gedit he will need some assistance that emacs can bring (not only the tutorial, but > evile, bindkeys), but he don't know how get there. Maybe he prefers to use always the terminal version instead > of the graphical one, or he will read the manual and something keybinds doesn't work, and blame emacs > when tmux was the guilty. Exactly my point: you have just enumerated at least 3 different classes of users, and the solution is different for every one of them. Finding a way of being friendly to each class is the problem to solve. One possible solution could be groups of Custom options that are likely to be relevant to each class of users, and writing customization commands that target each class. Patches are welcome. > BTW: Whats the best documentation (from > scratch) to learn elisp and the emacs developement environment? Do you have anything like for example: > "The Linux Programming Interface" from "Michael Kerrisk" but for Emacs? Take a look at Introduction to Programming in Emacs Lisp, it comes with Emacs. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-18 6:21 ` Eli Zaretskii @ 2018-08-22 12:34 ` hw 2018-08-22 14:45 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-08-22 12:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Ergus, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > [...] >> >Emacs is much more flexible, and different people have different >> >needs. >> > >> Yes, but someone who opens emacs for the first time will open it to edit text and very probably to program, he >> should have color preferences and for sure he doesn't know how to add packages and the elpa repository >> (maybe don't even know about about something called elpa), so, the most basic customization options. If >> comes from vim/nano/gedit he will need some assistance that emacs can bring (not only the tutorial, but >> evile, bindkeys), but he don't know how get there. Maybe he prefers to use always the terminal version instead >> of the graphical one, or he will read the manual and something keybinds doesn't work, and blame emacs >> when tmux was the guilty. > > Exactly my point: you have just enumerated at least 3 different > classes of users, and the solution is different for every one of them. > Finding a way of being friendly to each class is the problem to solve. > One possible solution could be groups of Custom options that are > likely to be relevant to each class of users, and writing > customization commands that target each class. Patches are welcome. How about including a number of ~/.emacs files, containing options supposed to make things easier for a class of users --- or include groups of ~/.emacs files so that for any given class, there can be many configurations to pick from within a group? Maybe that can (needs to) be done with existing package management, including the things users have written themselves and use with their configurations. It would also make a great resource for learning. >> BTW: Whats the best documentation (from >> scratch) to learn elisp and the emacs developement environment? Do you have anything like for example: >> "The Linux Programming Interface" from "Michael Kerrisk" but for Emacs? > > Take a look at Introduction to Programming in Emacs Lisp, it comes > with Emacs. That would be my recommendation, too, plus elisp written by others. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-22 12:34 ` hw @ 2018-08-22 14:45 ` Eli Zaretskii 2018-08-22 16:37 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-22 14:45 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel > From: hw <hw@adminart.net> > Cc: Ergus <spacibba@aol.com>, emacs-devel@gnu.org > Date: Wed, 22 Aug 2018 14:34:26 +0200 > > > Exactly my point: you have just enumerated at least 3 different > > classes of users, and the solution is different for every one of them. > > Finding a way of being friendly to each class is the problem to solve. > > One possible solution could be groups of Custom options that are > > likely to be relevant to each class of users, and writing > > customization commands that target each class. Patches are welcome. > > How about including a number of ~/.emacs files, containing options > supposed to make things easier for a class of users --- or include > groups of ~/.emacs files so that for any given class, there can be many > configurations to pick from within a group? IMO, that would be too radical, because in an init file each option already has a value. So we will have to decide for the users whether or not they want certain options to have certain values. That might work for boolean options, but many options in Emacs are non-boolean. As just one example, consider display-line-numbers-mode -- it has between 3 and 4 different styles, so which one would you put in the .emacs? By contrast, by creating a group of options, we don't need to decide for the users what values of which options they like; we just make the options we think are relevant for them more easily discoverable. I also think that browsing through a Custom buffer is more user-friendly than telling the users to find their way through several files. Thanks. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-22 14:45 ` Eli Zaretskii @ 2018-08-22 16:37 ` hw 2018-08-22 17:31 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-08-22 16:37 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: Ergus <spacibba@aol.com>, emacs-devel@gnu.org >> Date: Wed, 22 Aug 2018 14:34:26 +0200 >> >> > Exactly my point: you have just enumerated at least 3 different >> > classes of users, and the solution is different for every one of them. >> > Finding a way of being friendly to each class is the problem to solve. >> > One possible solution could be groups of Custom options that are >> > likely to be relevant to each class of users, and writing >> > customization commands that target each class. Patches are welcome. >> >> How about including a number of ~/.emacs files, containing options >> supposed to make things easier for a class of users --- or include >> groups of ~/.emacs files so that for any given class, there can be many >> configurations to pick from within a group? > > IMO, that would be too radical, because in an init file each option > already has a value. So we will have to decide for the users whether > or not they want certain options to have certain values. That might > work for boolean options, but many options in Emacs are non-boolean. > As just one example, consider display-line-numbers-mode -- it has > between 3 and 4 different styles, so which one would you put in the > .emacs? Use the values you would you put for the particular use case the file is designed for. I didn´t know that there´s a mode displaying line numbers that has styles; I´ve only used linum-mode so far. It would be interesting to learn about this from a file. > By contrast, by creating a group of options, we don't need to decide > for the users what values of which options they like; we just make the > options we think are relevant for them more easily discoverable. But then, the users can be overwhelmed by a multitude of options and may have trouble figuring out which ones to change and which values to set. When customize was introduced, I tried it out and got totally lost in it. I got taken from one buffer to another and figured this isn´t useful at all unless you already exactly know what you´re looking for. Even then, it´s difficult to find. The only thing I sometimes use customize for is setting the default font, and that is /very/ difficult to find because I never think of "face" when trying to pick a font. (Only yesterday I found out that setting the default font is now easy because there´s an entry in the menu which works great. A long time ago, I disabled the menu bar, and I usually don´t run 'emacs -q' ...) How do you customize key bindings and add your own elisp? > I also think that browsing through a Custom buffer is more > user-friendly than telling the users to find their way through several > files. They don´t need to do that. You offer them to use one of the configurations in the LaTeX group for working with LaTeX and to use one of the configurations in the C++ group when writing C++ source code, and so on. Users may be happy when they can try some different configurations, pick one they like and go from there --- rather than having to figure it out all at once all by themselves. Configuring Emacs is kinda like configuring fvwm, and it was fvwm-crystal that brought me back to fvwm after using enlightenment for a long time. Fvwm-crystal is like a pre-defined configuration for fvwm, with a few customization options to choose from. It didn´t take long before I wanted to create my own configuration, so I did, learning from the docs and other configurations. I ended up with a window manager that *finally* manages the windows for me rather than forcing me to manage the windows --- and any time I want to change something, I can just do that. Why would I put up with anything less? So what I suggest is more like giving users a choice between fvwms default configuration, fvwm-nightshade, fvwm-crystal and others for Emacs, rather than forcing users to try to find their way through configuration files or options. They may discover Emacs over time, starting from something useful they like, and it probably won´t take long before they aren´t willing to put up with anything less than Emacs (unless they like vi maybe). ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-22 16:37 ` hw @ 2018-08-22 17:31 ` Eli Zaretskii 2018-08-22 22:17 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-22 17:31 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org > Date: Wed, 22 Aug 2018 18:37:54 +0200 > > > IMO, that would be too radical, because in an init file each option > > already has a value. So we will have to decide for the users whether > > or not they want certain options to have certain values. That might > > work for boolean options, but many options in Emacs are non-boolean. > > As just one example, consider display-line-numbers-mode -- it has > > between 3 and 4 different styles, so which one would you put in the > > .emacs? > > Use the values you would you put for the particular use case the file is > designed for. They all are. The selection depends on user preferences and habits. > I didn´t know that there´s a mode displaying line numbers that has > styles; I´ve only used linum-mode so far. It would be interesting to > learn about this from a file. You can learn about it from the Emacs manual, of course. > > By contrast, by creating a group of options, we don't need to decide > > for the users what values of which options they like; we just make the > > options we think are relevant for them more easily discoverable. > > But then, the users can be overwhelmed by a multitude of options and > may have trouble figuring out which ones to change and which values to > set. They don't need to consider all of them. They can take them one at a time. The documentation should tell them enough to make the decision, perhaps after some experimenting. Then they can go to the next option. IOW, the collection is just a device to enhance discoverability, in presenting the options some class of users are likely to benefit from. > When customize was introduced, I tried it out and got totally lost in > it. I got taken from one buffer to another and figured this isn´t > useful at all unless you already exactly know what you´re looking for. > Even then, it´s difficult to find. That's the purpose of presenting a relatively small group of options, out of many hundreds we have. > How do you customize key bindings and add your own elisp? I write Lisp. But I'm not a user of the kind we are talking about, so what I do have little relevance here. > They don´t need to do that. You offer them to use one of the > configurations in the LaTeX group for working with LaTeX and to use one > of the configurations in the C++ group when writing C++ source code, and > so on. We already have that: each mode file includes options for that mode. What will we gain by having another file with those same options? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-22 17:31 ` Eli Zaretskii @ 2018-08-22 22:17 ` hw 2018-08-23 0:20 ` Ergus ` (2 more replies) 0 siblings, 3 replies; 216+ messages in thread From: hw @ 2018-08-22 22:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org >> Date: Wed, 22 Aug 2018 18:37:54 +0200 >> >> > IMO, that would be too radical, because in an init file each option >> > already has a value. So we will have to decide for the users whether >> > or not they want certain options to have certain values. That might >> > work for boolean options, but many options in Emacs are non-boolean. >> > As just one example, consider display-line-numbers-mode -- it has >> > between 3 and 4 different styles, so which one would you put in the >> > .emacs? >> >> Use the values you would you put for the particular use case the file is >> designed for. > > They all are. The selection depends on user preferences and habits. > > [...] > >> They don´t need to do that. You offer them to use one of the >> configurations in the LaTeX group for working with LaTeX and to use one >> of the configurations in the C++ group when writing C++ source code, and >> so on. > > We already have that: each mode file includes options for that mode. > What will we gain by having another file with those same options? The gain would be that the user can pick between *sets* of settings, guided by a description of what each set does. He doesn't need to concern himself with any particular setting to figure out if changing it brings him closer to what he wants, and then experiment with the next and the next and the next until he tried all the ones he could find. That kind of learning can come later. I think I see your point to assume that the defaults are good and to present the user with the individual settings and to let him learn and make his own decisions because everyone is too different to do anything else. That's great when the new user uses Emacs because he wants to learn how to use it, and it might not be so good when he wants to use Emacs to get some work done while the defaults happen not to be good for him: Even better when he can simply switch to a set of settings that helps him with his work without having to go through all the trial and error otherwise needed to get there. Does that make sense? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-22 22:17 ` hw @ 2018-08-23 0:20 ` Ergus 2018-08-23 10:50 ` hw 2018-08-23 14:20 ` Eli Zaretskii 2018-08-23 8:26 ` Pierre Neidhardt 2018-08-23 14:04 ` Eli Zaretskii 2 siblings, 2 replies; 216+ messages in thread From: Ergus @ 2018-08-23 0:20 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, emacs-devel Hi: When I asked about this I had in mind more or less what hd is proposing. A simple config helper specially for newer users. I see for example what Spacemacs does the first time I started it; and I thing it is a very good approach for the new user. But I don't like the excess of layers they added to the configurations after that; because it that the configuration experience feels too different and complicated. On the other hand, if emacs starts without a config .emacs or init.el it is a hint that probably is a new user or a new machine or a frequent user in a hurry, time to configure everything. In this situations emacs could ask if he wants some help to create a simple BUT personalized configuration. **if yes** just start a dialog or interactive functions calls that makes him some simple questions with comments about the different choices. And then generate a basic init.el. Nothing more complicated than that. This could be useful not only because it can attract new emacs users giving a better initial experience less intimidating (elisp seemed like Sanskrit the first time I saw it), but also because the first time a new user opens emacs he could get an idea about the potential without needing to read a full manual to have line numbers, tutorial, google, emacs wiki... Consider that many people come from limited editors, so they don't even know that they can make much more with emacs. Something like this could be useful because: 1) We could have some feedback about which options are most used and which packages are more suitable. 2) The default options and changes are not always properly documented or google gives older documentation for them. 3) Almost everybody changes some default options like C indentation, add packages, change colors or require some lisp lines which is just too much for a user that wants probably to make his first hello world. 4) Many configurations available online like the availables on github are very complicated with many dependencies, with too many irrelevant details in some aspects; and the risk to become or being already abandoned. If its creator is a C programmer maybe he don't need to improve the python mode. 5) Newer users will start looking for ways to improve they modes in google and they will end coping random code from random places to their config, ending with a broken/useless/inefficient or deprecated configuration; which means a bad user experience and a potential migration to vim or something worst. 6) There are multiple packages that do exactly the same thing and it is sometimes very confusing to pick one (or even to know if we need it) because the documentation is obsolete or incomplete. Imagine newer users installing flycheck+flymake+company+autocomplete because they just read all the recommendations and they copy from here and there. But without irony or gtags o ctags they don't really get the experience they are really looking for. Or maybe the user needs a python mode and he will install jedi, and copy the config from someone with company... Or installing ivy+helm and not using any of them because he didn't configure. Or downloading some packages and installing them manually because the don't know we have a package manager and the wiki says "download from bla bla bla". I thing we could even make like a survey or ask in the mailing list to the clients about what they include in their config usually. So we can know what to ask because is important, and what is not relevant in most of the cases. It is a good idea to ask what the actual users want to see in the next releases. This is just my opinion. Sorry for the extension and not knowing how to write code for doing such a thing myself. On Thu, Aug 23, 2018 at 12:17:11AM +0200, hw wrote: >Eli Zaretskii <eliz@gnu.org> writes: > >>> From: hw <hw@adminart.net> >>> Cc: spacibba@aol.com, emacs-devel@gnu.org >>> Date: Wed, 22 Aug 2018 18:37:54 +0200 >>> >>> > IMO, that would be too radical, because in an init file each option >>> > already has a value. So we will have to decide for the users whether >>> > or not they want certain options to have certain values. That might >>> > work for boolean options, but many options in Emacs are non-boolean. >>> > As just one example, consider display-line-numbers-mode -- it has >>> > between 3 and 4 different styles, so which one would you put in the >>> > .emacs? >>> >>> Use the values you would you put for the particular use case the file is >>> designed for. >> >> They all are. The selection depends on user preferences and habits. >> >> [...] >> >>> They don�t need to do that. You offer them to use one of the >>> configurations in the LaTeX group for working with LaTeX and to use one >>> of the configurations in the C++ group when writing C++ source code, and >>> so on. >> >> We already have that: each mode file includes options for that mode. >> What will we gain by having another file with those same options? > >The gain would be that the user can pick between *sets* of settings, >guided by a description of what each set does. He doesn't need to >concern himself with any particular setting to figure out if changing it >brings him closer to what he wants, and then experiment with the next >and the next and the next until he tried all the ones he could find. >That kind of learning can come later. > >I think I see your point to assume that the defaults are good and to >present the user with the individual settings and to let him learn and >make his own decisions because everyone is too different to do anything >else. That's great when the new user uses Emacs because he wants to >learn how to use it, and it might not be so good when he wants to use >Emacs to get some work done while the defaults happen not to be good for >him: Even better when he can simply switch to a set of settings that >helps him with his work without having to go through all the trial and >error otherwise needed to get there. > >Does that make sense? > ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-23 0:20 ` Ergus @ 2018-08-23 10:50 ` hw 2018-08-23 16:33 ` Ergus 2018-08-23 14:20 ` Eli Zaretskii 1 sibling, 1 reply; 216+ messages in thread From: hw @ 2018-08-23 10:50 UTC (permalink / raw) To: Ergus; +Cc: Eli Zaretskii, emacs-devel Ergus <spacibba@aol.com> writes: > 4) Many configurations available online like the availables on github > are very complicated with many dependencies, with too many irrelevant > details in some aspects; and the risk to become or being already > abandoned. If its creator is a C programmer maybe he don't need to > improve the python mode. Doesn't the package installer handle dependencies? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-23 10:50 ` hw @ 2018-08-23 16:33 ` Ergus 0 siblings, 0 replies; 216+ messages in thread From: Ergus @ 2018-08-23 16:33 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, emacs-devel On Thu, Aug 23, 2018 at 12:50:54PM +0200, hw wrote: >Ergus <spacibba@aol.com> writes: > >> 4) Many configurations available online like the availables on github >> are very complicated with many dependencies, with too many irrelevant >> details in some aspects; and the risk to become or being already >> abandoned. If its creator is a C programmer maybe he don't need to >> improve the python mode. > >Doesn't the package installer handle dependencies? > > It depends of who created the configuration and how he did it. With ""require" we get an error not an automatic install, use-package fixes this. But before that, the problem is to configure the package manager; add elpa and melpa, initialize... A new user doesn't know how to do that. Also consider the disadvantage that emacs is not default in any Linux distribution which represent a starting complexity level for new users and the wikipage is outdated specially about simpler basic aspects. That's the real reason why vim is winning young users and sadly emacs is not. The first impression. For some packages the package manager solves some dependencies but not always because they could use multiple alternatives or may be used as a backend for others (for example smex). So the default is not to provide anyone. Example: Jedi is a plugin for autocomplete, but company uses company-jedi and NOT jedi itself, company doesn't depend of it, but most company and python users may like to have jedi or anaconda, so the default alternative is not to provide anyone not elpy either; so a new python user will have the same experience like for example a notepad user until he learns elisp; in the packages manager jedi is not documented and it doesn't contain a link, in spite of it requires some not trivial configuration to set it up. So even if the new user had time, patience and abilities to configure and open the package manager, add melpa, install jedi, but not configure it or use autocomplete, nothing will work for him. This is very error prone. Assuming that the defaults are always right is an unrealistic assumption. Many default options and packages are rarely what most of long time emacs' users like or prefer, so, how to explain this to newbies: vile vs evil-mode, the default C indentation is the gnu while 99% of the users prefer K&R, linux kernel or google's. The excess of alternatives is also a source of confusion (gtags-ctags-rtags, company-autocomplete, flymake-flycheck, irony-rtags-ycmd, anaconda-jedi, Helm-ivy+counsel-ido_mode. smex-amx, package-paradox). Sometimes we need to think as new users not as developers or experiences users for the future of emacs. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-23 0:20 ` Ergus 2018-08-23 10:50 ` hw @ 2018-08-23 14:20 ` Eli Zaretskii 1 sibling, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-08-23 14:20 UTC (permalink / raw) To: Ergus; +Cc: hw, emacs-devel > Date: Thu, 23 Aug 2018 02:20:59 +0200 > From: Ergus <spacibba@aol.com> > Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org > > A simple config helper specially for newer users. I see for example what > Spacemacs does the first time I started it; and I thing it is a very > good approach for the new user. But I don't like the excess of > layers they added to the configurations after that; because it > that the configuration experience feels too different and > complicated. The fact that distributions like Spacemacs don't quite succeed to achieve the goals you have in mind might mean that achieving them is hard or even impossible in practice. Something to think about, I guess. > This could be useful not only because it can attract new emacs users > giving a better initial experience less intimidating (elisp seemed like > Sanskrit the first time I saw it), but also because the first time a new > user opens emacs he could get an idea about the potential without > needing to read a full manual to have line numbers, tutorial, google, > emacs wiki... Consider that many people come from limited editors, so > they don't even know that they can make much more with emacs. The motivation is clear and agreed to; it's the practical implementation of these ideas that isn't quite clear, to say the least. As written earlier in this thread, I envision practical difficulties on the way towards this goal. Whether it can be achieved can only be decided by trying to do it. > 1) We could have some feedback about which options are most used and which packages are more suitable. We encourage users to report this stuff to the Emacs issue tracker. > 2) The default options and changes are not always properly documented or google gives older documentation for them. They should be generally well documented in the manuals that come with Emacs and in the built-in doc string (barring bugs that should be reported as such). Searching for the documentation on the net will generally bring less accurate and sometimes misleading results. > 3) Almost everybody changes some default options like C indentation, add packages, change colors or require some lisp lines which is > just too much for a user that wants probably to make his first hello world. FWIW, I don't customize indentation, in any of the languages I edit in Emacs. YMMV. As for colors and fonts: sure, everybody customizes them to some extent. But how can you propose non-default customizations for these, when it's a matter of personal taste, the type and quality of your monitor, and the fonts installed on your system? The defaults in this area try to cater to the majority of users, and I really cannot see how it would be possible to do better with matters of appearance. And if it is possible, we should simply change the defaults. > This is just my opinion. Sorry for the extension and not knowing how to write code for doing such a thing myself. Thank you for speaking up, it's IMO important to maintain dialog on these topics. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-22 22:17 ` hw 2018-08-23 0:20 ` Ergus @ 2018-08-23 8:26 ` Pierre Neidhardt 2018-08-23 14:04 ` Eli Zaretskii 2 siblings, 0 replies; 216+ messages in thread From: Pierre Neidhardt @ 2018-08-23 8:26 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, spacibba, emacs-devel [-- Attachment #1: Type: text/plain, Size: 112 bytes --] May be related to this thread: http://emacs-bootstrap.com/ -- Pierre Neidhardt https://ambrevar.xyz/ [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-22 22:17 ` hw 2018-08-23 0:20 ` Ergus 2018-08-23 8:26 ` Pierre Neidhardt @ 2018-08-23 14:04 ` Eli Zaretskii 2018-08-24 1:00 ` hw 2 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-23 14:04 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org > Date: Thu, 23 Aug 2018 00:17:11 +0200 > > I think I see your point to assume that the defaults are good and to > present the user with the individual settings and to let him learn and > make his own decisions because everyone is too different to do anything > else. That's great when the new user uses Emacs because he wants to > learn how to use it, and it might not be so good when he wants to use > Emacs to get some work done while the defaults happen not to be good for > him: Even better when he can simply switch to a set of settings that > helps him with his work without having to go through all the trial and > error otherwise needed to get there. > > Does that make sense? It might. However, the proverbial proof of the pudding is in eating it: I look forward to seeing concrete proposals of sets of non-default settings that cater to certain users. Then we could perhaps discuss this further based on practical proposals, and see whether and how to incorporate that into Emacs. Thanks. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-23 14:04 ` Eli Zaretskii @ 2018-08-24 1:00 ` hw 2018-08-24 9:04 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-08-24 1:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org >> Date: Thu, 23 Aug 2018 00:17:11 +0200 >> >> [...] >> him: Even better when he can simply switch to a set of settings that >> helps him with his work without having to go through all the trial and >> error otherwise needed to get there. >> >> Does that make sense? > > It might. However, the proverbial proof of the pudding is in eating > it: I look forward to seeing concrete proposals of sets of non-default > settings that cater to certain users. Then we could perhaps discuss > this further based on practical proposals, and see whether and how to > incorporate that into Emacs. Thank you for listening! How do we make such proposals? Should we post some or all of our settings here, including self-written functions we call with non-default key bindings? What are the users we should have in mind? Here are a few of the settings I use: (setq inhibit-startup-message t default-major-mode 'text-mode mouse-yank-at-point t) (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) (add-hook 'mail-mode-hook 'turn-on-orgstruct++) (blink-cursor-mode 0) (setq scroll-margin 0) (set-cursor-color "#F00000") (setq Man-width 75) (setq Man-notify-method 'aggressive) (load "~/emacs/my-mark-line") (global-set-key "\C-xl" 'my-mark-this-line) (global-set-key "\C-xc" 'my-copy-this-line) (global-set-key "\C-xw" 'my-cut-this-line) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-24 1:00 ` hw @ 2018-08-24 9:04 ` Eli Zaretskii 2018-08-25 0:45 ` Ergus 2018-08-25 1:31 ` hw 0 siblings, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-08-24 9:04 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org > Date: Fri, 24 Aug 2018 03:00:32 +0200 > > How do we make such proposals? Should we post some or all of our > settings here, including self-written functions we call with non-default > key bindings? What are the users we should have in mind? My idea is to start with identifying particular classes of users, in terms of stuff they mostly do in Emacs, perhaps with a second gradation into 2 or 3 proficiency levels. Then making a list of settings each class/level generally wants to change from the built-in defaults. When we have that, we could step back and see what to do with the data we collected. For some, we might decide we want to change the defaults, end of story. For others, we should discuss in what form(s) to expose the relevant options to each such group of users. That is just one idea, of course; other ideas for making progress are welcome. > (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) This is already in the defaults. > (setq scroll-margin 0) This is the default. > (setq Man-width 75) Emacs nowadays calculates the width dynamically, depending on the dimensions of the window. > (load "~/emacs/my-mark-line") This is not really a setting ;-) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-24 9:04 ` Eli Zaretskii @ 2018-08-25 0:45 ` Ergus 2018-08-26 12:46 ` hw 2018-08-25 1:31 ` hw 1 sibling, 1 reply; 216+ messages in thread From: Ergus @ 2018-08-25 0:45 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, emacs-devel On Fri, Aug 24, 2018 at 12:04:44PM +0300, Eli Zaretskii wrote: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org >> Date: Fri, 24 Aug 2018 03:00:32 +0200 >> >> How do we make such proposals? Should we post some or all of our >> settings here, including self-written functions we call with non-default >> key bindings? What are the users we should have in mind? > For me this sounds perfect. What platform could we use for this? Does fsf or savannah have something like feathub? or your plan to start a survey? Because a mailing list I thing is not dynamic enough. In case of a survey it could be very useful with the right questions. >My idea is to start with identifying particular classes of users, in >terms of stuff they mostly do in Emacs, perhaps with a second >gradation into 2 or 3 proficiency levels. If we ask to the user the time he has been using emacs, the most frequent uses he does (including languages, extra packages). We can determine the levels. Statistics do the rest. To share the survey we can add it to it'sfoss and related publications. >Then making a list of >settings each class/level generally wants to change from the built-in >defaults. When we have that, we could step back and see what to do >with the data we collected. For some, we might decide we want to >change the defaults, end of story. For others, we should discuss in >what form(s) to expose the relevant options to each such group of >users. > 100% agree! >That is just one idea, of course; other ideas for making progress are >welcome. > I propose a simple online survey, but I don't know what platform will you approve for this: Some of my proposed questions are: (more or less) ====================================== Objective questions: ------------------- 1) Time of experience and using emacs. 1.1) Age range (10-20; 20-30 ...) 2) Main working/use field (programming, writing, etc) 2.1) Do you use the preferences dialog or manual init.el editing in elisp? 3) if programming: ( Most used language(s) / packages / tools) (probably give some lists here) 4) Operative system / platform? 5) Do you use terminal or gui emacs? 6) Do you use emacs server? 7) What documentation do you use the most? (self documented in emacs, emacs wiki, what ever gives the web search) 8) Have you contributed to the emacs development in the past? 9) Have you contributed or created any emacs package? Specific questions ------------------ 1) What keybindings do you use? (default emacs, vim like modes (evile, evil-mode..), ergoemacs, god-emacs, other?) 2) Do you access or read the emacs mailing list? (frequently, rarely, never, is there a mailing list?) ?) Maybe add some questions depending of the languages he added in previous section. Subjective questions -------------------- 1) Self qualification user level. 2) Self qualification e-lisp knowledge. 3) Why did you started using emacs (maybe give some possible options) 4) What you don't like of emacs. 5) What do you thing could be improved in emacs? 6) What new features should be included in emacs? =================================== Of course all this is just a pre-pre-alpha proposal that I put here for your consideration. I can help doing the survey once you tell me the platform you approve to use. Once we all agree in a list of questions we can start sharing it with a fix deadline. Does it looks right for you? >> (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) > >This is already in the defaults. > >> (setq scroll-margin 0) > >This is the default. > >> (setq Man-width 75) > >Emacs nowadays calculates the width dynamically, depending on the >dimensions of the window. > >> (load "~/emacs/my-mark-line") > >This is not really a setting ;-) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 0:45 ` Ergus @ 2018-08-26 12:46 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-08-26 12:46 UTC (permalink / raw) To: Ergus; +Cc: Eli Zaretskii, emacs-devel Ergus <spacibba@aol.com> writes: > [...] > I propose a simple online survey, but I don't know what platform will you approve for this: > > Some of my proposed questions are: (more or less) > [...] The assumption that there are qualified classes of users may be false or true. How could the answers to these questions show which is the case, and how do the answers allow to derive qualified classes of users from them? This survey could be extremely difficult to do because you need to make a very detailed anticipation of what you're asking about to ensure that you are asking the right questions without influencing the result through the way the questions are formed, and all that before you could verify whether what you are trying to find something out about does indeed exist or not. What is the usual way scientists have to research a recursive problem like this? Find out if there are qualified classes of users first, then what they might be and then what settings they are using? PS: I just noticed that the bug tracker must have a collection of settings because some are being reported when making a bug report. Is there a way to find out what most bug reporters use for some of the settings, using this information? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-24 9:04 ` Eli Zaretskii 2018-08-25 0:45 ` Ergus @ 2018-08-25 1:31 ` hw 2018-08-25 7:35 ` Alexis ` (2 more replies) 1 sibling, 3 replies; 216+ messages in thread From: hw @ 2018-08-25 1:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org >> Date: Fri, 24 Aug 2018 03:00:32 +0200 >> >> How do we make such proposals? Should we post some or all of our >> settings here, including self-written functions we call with non-default >> key bindings? What are the users we should have in mind? > > My idea is to start with identifying particular classes of users, in > terms of stuff they mostly do in Emacs, perhaps with a second > gradation into 2 or 3 proficiency levels. Then making a list of > settings each class/level generally wants to change from the built-in > defaults. When we have that, we could step back and see what to do > with the data we collected. For some, we might decide we want to > change the defaults, end of story. For others, we should discuss in > what form(s) to expose the relevant options to each such group of > users. > > That is just one idea, of course; other ideas for making progress are > welcome. It´s a good idea, though I think it shouldn't be limited to settings. >> (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) > > This is already in the defaults. I probably read it on the emacs wiki, 15 years ago maybe. Maybe Emacs should give us warnings when it discovers outdated, deprecated or useless settings in ~/.emacs. >> (setq scroll-margin 0) > > This is the default. I´ve had it at 2 for many years and only tried 0 the other day. If I remove it, I won't remember how it's called, so I'd have to comment it out. >> (setq Man-width 75) > > Emacs nowadays calculates the width dynamically, depending on the > dimensions of the window. Why not make Emacs dynamically size it's windows to the width of the display first? ;~O <Rant> Yes, Emacs can do that since a while, and has made it an extremely annoying default. Who wants to read manual pages or other text when it has been formatted to be about 140--300 characters per line wide (and way more than that if my eyes were what they used to be)? Lines that wide are great for programming and suck for manuals. Even the about 140 characters per line I have with defaulting to two windows side by side are a bit much for programming, and fortunately most lines are a lot shorter. If they are too long, I reformat them to a reasonable length. About 140 is a good compromise, yet still too wide for manuals. (For more than two windows side by side, I'd need a larger display (or glasses maybe).) And who wants to need to somehow re-format manual pages to a reasonable width when they make the window smaller? Re-formatting them isn't even possible --- at least it wasn't when I made this setting. If it now is, are the manual pages reformatted automatically when you change the size of the window? If they are, who would want to change the size of a window to be able to read a manual page? This is a good example for a default that really should be changed. Text is easiest to read at about 70--80 characters per line. Not having this setting at a reasonable default allows Emacs to show off with being able to reformat manual pages to ridiculous line lengths, thus making them unreadable, which is not useful for the users. How about changing the effect of Man-width, or an additional setting: Emacs could usefully format manual pages to fit the window when the window is narrower than the default width of manual pages (unless the window is ridiculously narrow, in which case it could fall back to the default width for manual pages) and format them no wider than the default width of manual pages for windows that are wider. It could also, depending on a(nother) setting(s), dynamically re-format the manual pages to min( (width_of_window <= ridiculously_narrow) ? max_width_of_manual_pages : width_of_window, max_width_of_manual_pages ) when the window is resized and had been less wide than the maximal width for manual pages before. I'd consider that as much more useful than ending up with ridiculously wide manual pages that are unreadable when they are as wide as the window and even more unreadable when you make the window less wide in an attempt to get the pages more readable: awww, too late .... This would be the solution for this particular setting: a good default. </Rant> > >> (load "~/emacs/my-mark-line") > > This is not really a setting ;-) That's why I think packaging configurations targeted at qualified classes of users shouldn't be limited to settings like Man-width. Think of what Ergus pointed out in his last post[1] about the difficulties users and Emacs are experiencing: + find out about Emacs + install Emacs + find out about package manager of Emacs + configure package manager, add repos + somehow get an idea of what packages to install + get into dependency hell and alternatives hell + get into documentation hell because it's hard to tell which documentation is up to date + get nothing to work <Ergus> > So even if the new user had time, patience and abilities to configure > and open the package manager, add melpa, install jedi, but not > configure it or use autocomplete, nothing will work for him. This is > very error prone. </Ergus> I had auto-complete working (until I disabled it because it got into my way by trying to automatically complete everything when I used Emacs for something I didn't install auto-complete for), installed from a git repo somewhere on github. I don't know about melpa and jedi, and I remember that there was something that required something that had to do with either auto-complete or snippets (I had yasnippets also working but then couldn't be bothered to create all the snippets I would have needed for it to make sense, but it's cool), and that there were several things that would either provide automatic completion or snippets, and it was not too clear which one I should use. My clone of the auto-complete repo is from 2014, so I don´t remember everything exactly. It wasn't too difficult, though, but I didn't do it for python. So I agree with Ergus here. This is why I was asking about the package manager handling dependencies (and alternatives). Users kinda need to be able to create a package from their running and working (and perhaps even non-working) configuration, including /everything/ that is needed for this configuration. Other users need to be able to back up their configuration --- hence be able to create configuration packages --- and to conveniently install packages created by other users, or by themselves. They do not need to have to try to figure out dependencies or alternatives when installing packages. Otherwise they would have some sort of Gentoo experience which can get so horrible it could make them switch to Windows, or even to a Mac.[2] Now when Ergus gets everything which is great for programming in python to work, he would create a configuration package, send it to me, and I could install it and start learning python. Emacs kinda needs to be able to be boring for users to become excited about it and wanting to learn. And that includes displaying manual pages by default in a boringly wonderful readable way. Often times, the greatest power arises from simplicity --- perhaps all the more so, the more complicated everything becomes. [1]: Message-ID: <20180823163325.cebnxjwu37efy45k@Ergus> [2]: For those who haven't tried: Gentoo is virtually great, i. e. great until the at-least-weekly update fails and forces you yet again to make wild guesses about how you could fix the dependencies because the package management doesn't do that because you're the one who is supposed to do it. If you can't fix them in time, or if you try to avoid the dreadful updates, or if you don't have several hours per machine each week for updates, the machine may quickly become impossible to update at all. Not only that, the machine may be useless because it can not provide the services it is supposed to provide before you fixed the dependencies, which may not be possible until some packages have been updated by the package managers. I can understand how I unexpectedly become the one to fix the dependencies, and I can not afford to depend on package managers who mess things up so badly that updates become impossible. This is one of the many paths leading to the appreciation of Centos and the realisation that sometimes there is nothing better than boring. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 1:31 ` hw @ 2018-08-25 7:35 ` Alexis 2018-08-25 10:34 ` Ergus 2018-08-26 13:06 ` hw 2018-08-25 8:19 ` Eli Zaretskii 2018-09-03 22:15 ` debounce (was: Some developement questions) Juri Linkov 2 siblings, 2 replies; 216+ messages in thread From: Alexis @ 2018-08-25 7:35 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, spacibba, emacs-devel hw <hw@adminart.net> writes: > Maybe Emacs should give us warnings when it discovers outdated, > deprecated or useless settings in ~/.emacs. i imagine many people might want this; but many people might /not/ want this if it has a noticeable impact on startup times. Startup times don't usually have an impact on me personally, since i run an Emacs server at machine startup and connect clients to that. From what i've read, however, a number of people find even an extra 0.5s-1.0s in startup to be significant when jumping in and out of a non-client Emacs instance. So if this feature did have an impact on startup times, people would want to be able to enable and disable it at will. > get into documentation hell because it's hard to tell which > documentation is up to date One of the pleasures i find in using Emacs is its extensive accompanying documentation, documentation which (in my experience) is typically far better maintained than that of many other projects[1]. As someone who has been using Emacs for around 20 years, i very much appreciate the comprehensive NEWS file with each release, which allows me to quite quickly ascertain what changes have been made that might affect my configuration and workflow (e.g. changed default values). i say this because i'm wondering which area(s) of documentation you're having these difficulties with? If you're talking about the Emacs Wiki at emacswiki.org, well, as far as i'm aware, that's not an official wiki, is it[2]? Nor is wikemacs.org. i personally much prefer the latter to the former. But i strongly feel that people's first destinations when searching for documentation should be the Emacs Manual and the Emacs Lisp Reference Manual - only after not being able to locate the information in those manuals, making sure to make use their excellent indexes, should one consider trying to find information on the two wikis. i regularly find myself responding to "How do I do X in Emacs?" questions with "Here's the relevant section of the relevant manual." At any rate, one should certainly consider submitting a bug report about inadequate or inaccurate documentation for functionality shipped with Emacs. Even if no volunteer can immediately address it, at least it's recorded as something for potential volunteers to work on. > I had auto-complete working (until I disabled it because it got > into my way by trying to automatically complete everything when > I used Emacs for something I didn't install auto-complete for), > installed from a git repo somewhere on github. Do you literally mean the `auto-complete.el' package and its associated `ac-*' packages? Is that still maintained? i'm using `company` as my autocompletion framework, myself. But neither is shipped with Emacs, and there's no index entry for `auto-complete' or `autocomplete' in the Emacs Manual, which probably comes as a surprise to the many people who have come to expect autocompletion as basic functionality in a programming environment .... i think this is indeed a problem, but unfortunately, i don't have any suggestions as to how it might be addressed. :-( Alexis. -- [1] OpenBSD is probably the other project i think of when thinking of excellence in documentation. Comparing `man 4 intro' for the Linux kernel vs. `man 4 intro' for the OpenBSD kernel is eye-opening. [2] i have the impression that many people assume it /is/ an official Emacs wiki, so if its not, this fact might need to be somehow emphasised or made more clear. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 7:35 ` Alexis @ 2018-08-25 10:34 ` Ergus 2018-08-25 16:11 ` Radon Rosborough 2018-08-27 17:11 ` Filipp Gunbin 2018-08-26 13:06 ` hw 1 sibling, 2 replies; 216+ messages in thread From: Ergus @ 2018-08-25 10:34 UTC (permalink / raw) To: Alexis; +Cc: hw, Eli Zaretskii, emacs-devel On Sat, Aug 25, 2018 at 05:35:33PM +1000, Alexis wrote: > >hw <hw@adminart.net> writes: > >>Maybe Emacs should give us warnings when it discovers outdated, >>deprecated or useless settings in ~/.emacs. > >i imagine many people might want this; but many people might /not/ >want this if it has a noticeable impact on startup times. Startup >times don't usually have an impact on me personally, since i run an >Emacs server at machine startup and connect clients to that. From what >i've read, however, a number of people find even an extra 0.5s-1.0s in >startup to be significant when jumping in and out of a non-client >Emacs instance. So if this feature did have an impact on startup >times, people would want to be able to enable and disable it at will. > If the messages are just printed in the message buffer it shouldn't impact too much the startup time I think. >>get into documentation hell because it's hard to tell which >>documentation is up to date > >One of the pleasures i find in using Emacs is its extensive >accompanying documentation, documentation which (in my experience) is >typically far better maintained than that of many other projects[1]. >As someone who has been using Emacs for around 20 years, i very much >appreciate the comprehensive NEWS file with each release, which allows >me to quite quickly ascertain what changes have been made that might >affect my configuration and workflow (e.g. changed default values). > >i say this because i'm wondering which area(s) of documentation you're >having these difficulties with? If you're talking about the Emacs Wiki >at emacswiki.org, well, as far as i'm aware, that's not an official >wiki, is it[2]? Nor is wikemacs.org. i personally much prefer the >latter to the former. But i strongly feel that people's first >destinations when searching for documentation should be the Emacs >Manual and the Emacs Lisp Reference Manual - only after not being able >to locate the information in those manuals, making sure to make use >their excellent indexes, should one consider trying to find >information on the two wikis. i regularly find myself responding to >"How do I do X in Emacs?" questions with "Here's the relevant section >of the relevant manual." At any rate, one should certainly consider >submitting a bug report about inadequate or inaccurate documentation >for functionality shipped with Emacs. Even if no volunteer can >immediately address it, at least it's recorded as something for >potential volunteers to work on. > You are right, emacs documentation is awesome... once you understand how to get there and how it is organized, the name of the package or the functionality you want to configure and how to use the indices. Newer users will go straight to google/duckduckgo to make the questions. Not only because they don't know exactly the name of what they are looking for, but also because that's the stackoverflow's culture. In the beginning they just want some code to copy and paste in the config. There are not emacs foros either, the closes we had were some reddit posts from more than 2 years ago. And the mailing list really feels so 1995. So when a user configures or find a solution, there is not a central place to share his tweaks/work/corrections/worksaround, and where the developers could get opinions about what to improve, or what "defaults" are changing most of the users. So basically the information is not flowing as it should in all the directions (developer/mainteiner - experiences user - new user - potential user). Another consequence of this is that newer users will report miss configured features or solved problems as bugs that are never solved, or they feel intimidated/disapointed to do it. Maybe it is already corrected, fixed or a work around exists, or another user knows how to fix quickly but the issues list grows infinitely and all the work goes to the developers. >>I had auto-complete working (until I disabled it because it got into >>my way by trying to automatically complete everything when I used >>Emacs for something I didn't install auto-complete for), installed >>from a git repo somewhere on github. > >Do you literally mean the `auto-complete.el' package and its >associated `ac-*' packages? Is that still maintained? i'm using >`company` as my autocompletion framework, myself. But neither is >shipped with Emacs, and there's no index entry for `auto-complete' or >`autocomplete' in the Emacs Manual, which probably comes as a surprise >to the many people who have come to expect autocompletion as basic >functionality in a programming environment .... i think this is indeed >a problem, but unfortunately, i don't have any suggestions as to how >it might be addressed. :-( > This is one of the reasons I made my first questions. Because I don't know what package to use in the list of options when multiple packages offer the same functionality. I just mention some of them in a previous message. But from the project point of view, sadly there are not as many developers as they used to be, so maintaining two or three similar packages for exactly the same is a waste of man power and a source of incompatibilities and conflicts with other packages (and so on recursively because fixing it requires then more man power). Example: When I started using emacs most of the recommendation were to use flycheck instead of flymake because it was supposed to be a replacement for the last one. 5 years later, in the latest release they have touched flymake and now I don't know if I should migrate back or not, or why there are people putting effort in flymake instead of flycheck. But the worst is that some plugins are available only in one of them (same in auto-complete vs company) since ever. This is the kind of problems that stagnates big projects and disappoint developers and users. > >Alexis. > >-- > >[1] OpenBSD is probably the other project i think of when thinking of >excellence in documentation. Comparing `man 4 intro' for the Linux >kernel vs. `man 4 intro' for the OpenBSD kernel is eye-opening. > >[2] i have the impression that many people assume it /is/ an official >Emacs wiki, so if its not, this fact might need to be somehow >emphasised or made more clear. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 10:34 ` Ergus @ 2018-08-25 16:11 ` Radon Rosborough 2018-08-25 16:20 ` Eli Zaretskii ` (3 more replies) 2018-08-27 17:11 ` Filipp Gunbin 1 sibling, 4 replies; 216+ messages in thread From: Radon Rosborough @ 2018-08-25 16:11 UTC (permalink / raw) To: spacibba; +Cc: hw, Eli Zaretskii, flexibeast, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1370 bytes --] > If the messages are just printed in the message buffer it shouldn't > impact too much the startup time I think. To do the kind of analysis you are talking about, one would have to hook into really basic subroutines like `setq`. I don't have any numbers to back this up, but that sounds like it would be a massive slowdown for all Elisp code. Alternatively, you'd have to do a lot of heavy static analysis because what defines a "outdated, deprecated, or useless" setting is actually quite nebulous and complicated. I do actually think this is an interesting idea, but it would definitely best be implemented as either a third-party package or some optional user library in core that either does static analysis or allows one to load the init-file with profiling enabled like ESUP [1] (or both). > a number of people find even an extra 0.5s-1.0s in startup to be > significant I am one of those people, and actually I find even an extra 50ms of startup time to be unacceptable unless there's a good reason for it. My ~5,000 line configuration [2] which pulls in ~130 packages takes only ~250ms to load, according to a startup profiler -- meaning 0.6s to go from nothing to a full graphical frame. Why bother with the Emacs server when you can just make Emacs start up as fast as Vim? ;) [1]: https://github.com/jschaf/esup [2]: https://github.com/raxod502/radian [-- Attachment #2: Type: text/html, Size: 1787 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 16:11 ` Radon Rosborough @ 2018-08-25 16:20 ` Eli Zaretskii 2018-08-25 20:34 ` Ergus 2018-08-26 1:24 ` Radon Rosborough 2018-08-25 20:50 ` Ergus ` (2 subsequent siblings) 3 siblings, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-08-25 16:20 UTC (permalink / raw) To: Radon Rosborough; +Cc: hw, spacibba, flexibeast, emacs-devel > From: Radon Rosborough <radon.neon@gmail.com> > Date: Sat, 25 Aug 2018 10:11:38 -0600 > Cc: flexibeast@gmail.com, hw@adminart.net, Eli Zaretskii <eliz@gnu.org>, > emacs-devel <emacs-devel@gnu.org> > > Why bother with the Emacs server when you can just make Emacs start up > as fast as Vim? ;) Not sure if this is a serious question. But if it is, then the answer is clear: because keeping Emacs running at all times means you keep all the stuff that isn't saved to files, like buffers that don't visit files (*scratch* being the most important one of them), various history variables, etc. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 16:20 ` Eli Zaretskii @ 2018-08-25 20:34 ` Ergus 2018-08-26 2:41 ` Eli Zaretskii 2018-08-26 1:24 ` Radon Rosborough 1 sibling, 1 reply; 216+ messages in thread From: Ergus @ 2018-08-25 20:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, Radon Rosborough, flexibeast, emacs-devel [-- Attachment #1: Type: text/plain, Size: 986 bytes --] Hi Eli. This is one of the reasons the proposed feedback is a good idea. To identify different kinds of users and their needs. One of my proposed questions is about the server. Some people just dont like to have the server. So they care about startup. Sent from BlueMail On 25 Aug 2018, 18:21, at 18:21, Eli Zaretskii <eliz@gnu.org> wrote: >> From: Radon Rosborough <radon.neon@gmail.com> >> Date: Sat, 25 Aug 2018 10:11:38 -0600 >> Cc: flexibeast@gmail.com, hw@adminart.net, Eli Zaretskii ><eliz@gnu.org>, >> emacs-devel <emacs-devel@gnu.org> >> >> Why bother with the Emacs server when you can just make Emacs start >up >> as fast as Vim? ;) > >Not sure if this is a serious question. But if it is, then the answer >is clear: because keeping Emacs running at all times means you keep >all the stuff that isn't saved to files, like buffers that don't visit >files (*scratch* being the most important one of them), various >history variables, etc. [-- Attachment #2: Type: text/html, Size: 1705 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 20:34 ` Ergus @ 2018-08-26 2:41 ` Eli Zaretskii 0 siblings, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-08-26 2:41 UTC (permalink / raw) To: Ergus; +Cc: hw, radon.neon, flexibeast, emacs-devel > From: Ergus <spacibba@aol.com> > Date: Sat, 25 Aug 2018 22:34:21 +0200 > CC: Radon Rosborough <radon.neon@gmail.com>,hw@adminart.net, > flexibeast@gmail.com,emacs-devel@gnu.org > > One of my proposed questions is about the server. Some people just dont like to have the server. So they > care about startup. You can still have a long running session, even without the server. Just visit files from the running Emacs instead of starting a new session each time you need to edit a file. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 16:20 ` Eli Zaretskii 2018-08-25 20:34 ` Ergus @ 2018-08-26 1:24 ` Radon Rosborough 1 sibling, 0 replies; 216+ messages in thread From: Radon Rosborough @ 2018-08-26 1:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, flexibeast, emacs-devel >> Why bother with the Emacs server when you can just make Emacs start >> up as fast as Vim? ;) > > Not sure if this is a serious question. But if it is, then the answer > is clear: because keeping Emacs running at all times means you keep > all the stuff that isn't saved to files, like buffers that don't visit > files (*scratch* being the most important one of them), various > history variables, etc. It was intended rhetorically, because in my experience the Emacs server is most frequently discussed when people are talking about how to avoid a slow startup. Of course you are right that there are other reasons one might want to use it. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 16:11 ` Radon Rosborough 2018-08-25 16:20 ` Eli Zaretskii @ 2018-08-25 20:50 ` Ergus 2018-08-26 1:33 ` hw 2018-08-26 20:41 ` Richard Stallman 3 siblings, 0 replies; 216+ messages in thread From: Ergus @ 2018-08-25 20:50 UTC (permalink / raw) To: Radon Rosborough; +Cc: hw, Eli Zaretskii, flexibeast, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1544 bytes --] Sent from BlueMail On 25 Aug 2018, 18:14, at 18:14, Radon Rosborough <radon.neon@gmail.com> wrote: >> If the messages are just printed in the message buffer it shouldn't >> impact too much the startup time I think. > >To do the kind of analysis you are talking about, one would have to >hook into really basic subroutines like `setq`. I don't have any >numbers to back this up, but that sounds like it would be a massive >slowdown for all Elisp code. Alternatively, you'd have to do a lot of >heavy static analysis because what defines a "outdated, deprecated, or >useless" setting is actually quite nebulous and complicated. > >I do actually think this is an interesting idea, but it would >definitely best be implemented as either a third-party package or some >optional user library in core that either does static analysis or >allows one to load the init-file with profiling enabled like ESUP [1] >(or both). > >> a number of people find even an extra 0.5s-1.0s in startup to be >> significant > >I am one of those people, and actually I find even an extra 50ms of >startup time to be unacceptable unless there's a good reason for it. >My ~5,000 line configuration [2] which pulls in ~130 packages takes >only ~250ms to load, according to a startup profiler -- meaning 0.6s >to go from nothing to a full graphical frame. > >Why bother with the Emacs server when you can just make Emacs start up >as fast as Vim? ;) > >[1]: https://github.com/jschaf/esup >[2]: https://github.com/raxod502/radian [-- Attachment #2: Type: text/html, Size: 3425 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 16:11 ` Radon Rosborough 2018-08-25 16:20 ` Eli Zaretskii 2018-08-25 20:50 ` Ergus @ 2018-08-26 1:33 ` hw 2018-08-26 14:37 ` Eli Zaretskii 2018-08-30 23:30 ` Radon Rosborough 2018-08-26 20:41 ` Richard Stallman 3 siblings, 2 replies; 216+ messages in thread From: hw @ 2018-08-26 1:33 UTC (permalink / raw) To: Radon Rosborough; +Cc: spacibba, flexibeast, Eli Zaretskii, emacs-devel Radon Rosborough <radon.neon@gmail.com> writes: >> If the messages are just printed in the message buffer it shouldn't >> impact too much the startup time I think. > > To do the kind of analysis you are talking about, one would have to > hook into really basic subroutines like `setq`. I don't have any > numbers to back this up, but that sounds like it would be a massive > slowdown for all Elisp code. Alternatively, you'd have to do a lot of > heavy static analysis because what defines a "outdated, deprecated, or > useless" setting is actually quite nebulous and complicated. In theory, Emacs could find out which variables are being defined in ~/.emacs and whether they are already known or not, like by checking if they can successfully be described. The unknown variables could then be brought to the attention of the user. Perhaps a few other things could be done, too. > I do actually think this is an interesting idea, but it would > definitely best be implemented as either a third-party package or some > optional user library in core that either does static analysis or > allows one to load the init-file with profiling enabled like ESUP [1] > (or both). How difficult would it be to do the above? >> a number of people find even an extra 0.5s-1.0s in startup to be >> significant > > I am one of those people, and actually I find even an extra 50ms of > startup time to be unacceptable unless there's a good reason for it. > My ~5,000 line configuration [2] which pulls in ~130 packages takes > only ~250ms to load, according to a startup profiler -- meaning 0.6s > to go from nothing to a full graphical frame. > > Why bother with the Emacs server when you can just make Emacs start up > as fast as Vim? ;) How is it relevant whether it takes 50ms more or less to start Emacs? Is that even within the error margin of the measurements, like changes in temperature might cause larger differences than that. I just keep Emacs running on my server in a tmux session. With a terminal that has good colours, it's quite ok. I could even use it without booting my workstation by just switching the monitor input: 50ms more or less are nothing compared to that, you can't keep up with me anyway ;P Unfortunately, the Emacs server can still not be used from remote machines --- or can it finally? Other than that, the Emacs server is useful to push a file into Emacs from the terminal and things like that. Why not just use it, it's probably faster than 0.6s before you can edit a file. > [1]: https://github.com/jschaf/esup > [2]: https://github.com/raxod502/radian ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 1:33 ` hw @ 2018-08-26 14:37 ` Eli Zaretskii 2018-08-26 22:51 ` hw 2018-08-30 23:30 ` Radon Rosborough 1 sibling, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-26 14:37 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, flexibeast, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, Eli Zaretskii <eliz@gnu.org>, flexibeast@gmail.com, emacs-devel <emacs-devel@gnu.org> > Date: Sun, 26 Aug 2018 03:33:08 +0200 > > In theory, Emacs could find out which variables are being defined in > ~/.emacs and whether they are already known or not, like by checking if > they can successfully be described. The unknown variables could then be > brought to the attention of the user. That would definitely annoy me, for example: I have a lot of settings of "unknown" variables, in preparation for when they will become known (when the corresponding package is loaded on demand). > Unfortunately, the Emacs server can still not be used from remote > machines --- or can it finally? Yes, it can. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 14:37 ` Eli Zaretskii @ 2018-08-26 22:51 ` hw 2018-08-27 14:45 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-08-26 22:51 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, radon.neon, flexibeast, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, Eli Zaretskii <eliz@gnu.org>, flexibeast@gmail.com, emacs-devel <emacs-devel@gnu.org> >> Date: Sun, 26 Aug 2018 03:33:08 +0200 >> >> In theory, Emacs could find out which variables are being defined in >> ~/.emacs and whether they are already known or not, like by checking if >> they can successfully be described. The unknown variables could then be >> brought to the attention of the user. > > That would definitely annoy me, for example: I have a lot of settings > of "unknown" variables, in preparation for when they will become known > (when the corresponding package is loaded on demand). Hmm, yes, there would have to be a way to tell the check which unknown variables it must not consider. Would it bother you when there was merely a function you needed to run to perform the check? I wouldn't consider it useful that the check would be done on every startup. >> Unfortunately, the Emacs server can still not be used from remote >> machines --- or can it finally? > > Yes, it can. Wow! Finally! Awesome! I have to see if I can get that to work right now! That would be incredibly helpful ... Hm, no, it doesn't work: It says it connects, but then it either says "*ERROR*: Display :0 can't be opened" or "*ERROR*: Could not open file: /dev/pts/35". I can understand that it might not be able to open the display on the client because I started the X session without it listening to the network. But if I do that and allow the server to access my X session, everything goes unencrypted over the network. I don't exactly understand how emacsclient fails because it can not open the terminal. 'emacsclient -f ~/.emacs.d/server/server -nw' would never work on a remote client. I can 'ssh -Y server' and then start an xterm which shows up on the client. With the current Emacs server setup, starting emacsclient fails because it insists on using display :0, ignoring that I'm telling it otherwise. I do not really want to use 'ssh -Y server', run Emacs on the server and then use frames that appear on the client unless the Emacs session on the server would survive the sudden disappearance of the frames. Last time I checked, Emacs did not survive this, even not Emacs-lucid. So how do I get this to work? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 22:51 ` hw @ 2018-08-27 14:45 ` Eli Zaretskii 2018-08-28 20:42 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-27 14:45 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, flexibeast, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org > Date: Mon, 27 Aug 2018 00:51:38 +0200 > > >> In theory, Emacs could find out which variables are being defined in > >> ~/.emacs and whether they are already known or not, like by checking if > >> they can successfully be described. The unknown variables could then be > >> brought to the attention of the user. > > > > That would definitely annoy me, for example: I have a lot of settings > > of "unknown" variables, in preparation for when they will become known > > (when the corresponding package is loaded on demand). > > Hmm, yes, there would have to be a way to tell the check which unknown > variables it must not consider. Would it bother you when there was > merely a function you needed to run to perform the check? I wouldn't > consider it useful that the check would be done on every startup. If there were a setting to disable the check, that'd be fine by me. Of course, then we'd have an argument about the default of that setting ;-) > >> Unfortunately, the Emacs server can still not be used from remote > >> machines --- or can it finally? > > > > Yes, it can. > > Wow! Finally! Awesome! I have to see if I can get that to work right > now! That would be incredibly helpful ... > > Hm, no, it doesn't work: It says it connects, but then it either says > "*ERROR*: Display :0 can't be opened" or "*ERROR*: Could not open file: > /dev/pts/35". > [...] > So how do I get this to work? Read about that in the manual, nodes "TCP Emacs server" and the description of the --tramp-prefix= option under "emacsclient Options". ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-27 14:45 ` Eli Zaretskii @ 2018-08-28 20:42 ` hw 2018-08-29 6:59 ` Michael Albinus 2018-08-29 15:11 ` Eli Zaretskii 0 siblings, 2 replies; 216+ messages in thread From: hw @ 2018-08-28 20:42 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, radon.neon, flexibeast, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org >> Date: Mon, 27 Aug 2018 00:51:38 +0200 >> >> >> In theory, Emacs could find out which variables are being defined in >> >> ~/.emacs and whether they are already known or not, like by checking if >> >> they can successfully be described. The unknown variables could then be >> >> brought to the attention of the user. >> > >> > That would definitely annoy me, for example: I have a lot of settings >> > of "unknown" variables, in preparation for when they will become known >> > (when the corresponding package is loaded on demand). >> >> Hmm, yes, there would have to be a way to tell the check which unknown >> variables it must not consider. Would it bother you when there was >> merely a function you needed to run to perform the check? I wouldn't >> consider it useful that the check would be done on every startup. > > If there were a setting to disable the check, that'd be fine by me. > Of course, then we'd have an argument about the default of that > setting ;-) Why, you want a check on every startup? ;) >> >> Unfortunately, the Emacs server can still not be used from remote >> >> machines --- or can it finally? >> > >> > Yes, it can. >> >> Wow! Finally! Awesome! I have to see if I can get that to work right >> now! That would be incredibly helpful ... >> >> Hm, no, it doesn't work: It says it connects, but then it either says >> "*ERROR*: Display :0 can't be opened" or "*ERROR*: Could not open file: >> /dev/pts/35". >> [...] >> So how do I get this to work? > > Read about that in the manual, nodes "TCP Emacs server" and the > description of the --tramp-prefix= option under "emacsclient Options". I don't understand this documentation. It's a good example for why people turn to a search engine. And I don't remember how to get back when following links in info documentation --- if I ever knew that and if there even is a way (I seem to vaguely remember that there is ...). This documentation is really difficult to read. Anyway, why would I need to forward the port via ssh? Emacs can use it just fine without, and it would be already in use. I would expect using a secure connection to be the default anyway. I'm guessing the documentation wants me to allow the emacs daemon to access /dev/pts/35 via tramp. To be able to do that, emacs would have to ask me for my password, which it can not do because it can not open the terminal. Tramp can be extremely finicky, and what are the difficulties SELinux might put into my way when doing this? And what file is there to access when I want an X frame? The example in the documentation is the wrong way round: The server is running on the remote machine. If I wanted to run emacs locally on my workstation, I could just do that, but I want it to run on the server because I don't shut the server down but my workstation. I'm running it now with Emacs as daemon on the server and 'ssh -Y server'. That allows me to get either X frames or to use the terminal. I needed to restart the tmux session because this does not work with a tmux session that was started without the -Y option of ssh. But I'd like to use the Emacs server without such detours. Can remote Emacs not simply be simple? Why doesn't the locally running emacsclient allow the remote Emacs server to access the terminal transparently? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-28 20:42 ` hw @ 2018-08-29 6:59 ` Michael Albinus 2018-08-29 20:10 ` hw 2018-08-29 15:11 ` Eli Zaretskii 1 sibling, 1 reply; 216+ messages in thread From: Michael Albinus @ 2018-08-29 6:59 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, emacs-devel hw <hw@adminart.net> writes: Hi, > Tramp can be extremely finicky, Whenever you have this feeling, pls report in detail. Sometimes, it might be a bug, sometimes, the doc needs an improvement. Best regards, Michael. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 6:59 ` Michael Albinus @ 2018-08-29 20:10 ` hw 2018-08-31 13:16 ` Michael Albinus 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-08-29 20:10 UTC (permalink / raw) To: Michael Albinus Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > hw <hw@adminart.net> writes: > > Hi, > >> Tramp can be extremely finicky, > > Whenever you have this feeling, pls report in detail. Sometimes, it > might be a bug, sometimes, the doc needs an improvement. Well, I don't really know the datails; only sometimes I need to run (tramp-cleanup-all-connections) when it somehow gets screwed up. Last time, it blocked me entirely when it tried to create a backup file and couldn't do that because file permissions did not allow it. I was forced to either kill Emacs or change permissions so it could create the file. After that, I changed the backup directory for tramp and found out that cleaning up all the connections is not enough to have this change applied; I had to kill the buffer and visit the file again for it to work. So at least for one case, here are the details, but I won't call it a bug, only something that could be improved upon, like check permissions before creating backups and prompt what to do when permissions do not allow to create one, and applying a change of the backup directory right away to all connections, or prompt the user if the change should be applied to all of them now. That was Emacs 24.x, on Centos, so perhaps this has already been changed. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 20:10 ` hw @ 2018-08-31 13:16 ` Michael Albinus 2018-09-01 17:53 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Michael Albinus @ 2018-08-31 13:16 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, emacs-devel hw <hw@adminart.net> writes: Hi, > Well, I don't really know the datails; only sometimes I need to run > (tramp-cleanup-all-connections) when it somehow gets screwed up. > > Last time, it blocked me entirely when it tried to create a backup file > and couldn't do that because file permissions did not allow it. I was > forced to either kill Emacs or change permissions so it could create the > file. After that, I changed the backup directory for tramp and found > out that cleaning up all the connections is not enough to have this > change applied; I had to kill the buffer and visit the file again for it > to work. If this happens again, you could call "M-x tramp-cleanup-all-buffers". It clears all connections *and* kills all buffers related to a remote file. For further analysis, I would need the Tramp debug buffer. If you set permanently tramp-verbose to 6, relevant information are traced. Well, at least as long Tramp is mulish ... > So at least for one case, here are the details, but I won't call it a > bug, only something that could be improved upon, like check permissions > before creating backups and prompt what to do when permissions do not > allow to create one, and applying a change of the backup directory right > away to all connections, or prompt the user if the change should be > applied to all of them now. Again, it is not clear what caused the problem. In order to get Tramp improved, I count on users sending the traces. > That was Emacs 24.x, on Centos, so perhaps this has already been > changed. Well, Emacs 26 is out, and the integrated Tramp shall behave better. Yes, this is my hope all the years ... Best regards, Michael. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-31 13:16 ` Michael Albinus @ 2018-09-01 17:53 ` hw 2018-09-03 13:35 ` Michael Albinus 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-01 17:53 UTC (permalink / raw) To: Michael Albinus Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > hw <hw@adminart.net> writes: > > Hi, > >> Well, I don't really know the datails; only sometimes I need to run >> (tramp-cleanup-all-connections) when it somehow gets screwed up. >> >> Last time, it blocked me entirely when it tried to create a backup file >> and couldn't do that because file permissions did not allow it. I was >> forced to either kill Emacs or change permissions so it could create the >> file. After that, I changed the backup directory for tramp and found >> out that cleaning up all the connections is not enough to have this >> change applied; I had to kill the buffer and visit the file again for it >> to work. > > If this happens again, you could call "M-x > tramp-cleanup-all-buffers". It clears all connections *and* kills all > buffers related to a remote file. Wouldn't that have killed a lot of buffers that do not require the change of the autosave directory? > For further analysis, I would need the Tramp debug buffer. If you set > permanently tramp-verbose to 6, relevant information are traced. Well, > at least as long Tramp is mulish ... You could reproduce it maybe: Edit a remote file in /usr/local/bin which belongs to micheal:root. Once Emacs tries to create an autosave, tramp freaks out because it does not have permission to create the autosave file in that place. >> So at least for one case, here are the details, but I won't call it a >> bug, only something that could be improved upon, like check permissions >> before creating backups and prompt what to do when permissions do not >> allow to create one, and applying a change of the backup directory right >> away to all connections, or prompt the user if the change should be >> applied to all of them now. > > Again, it is not clear what caused the problem. In order to get Tramp > improved, I count on users sending the traces. file permissions I had to change the ownership of the directory so Emacs was allowed to create the autosave file there to get around the problem. After changing the autosave location, I could give the directory back to root. >> That was Emacs 24.x, on Centos, so perhaps this has already been >> changed. > > Well, Emacs 26 is out, and the integrated Tramp shall behave > better. Yes, this is my hope all the years ... There's a way to find out :) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 17:53 ` hw @ 2018-09-03 13:35 ` Michael Albinus 2018-09-04 14:06 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Michael Albinus @ 2018-09-03 13:35 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, emacs-devel hw <hw@adminart.net> writes: Hi, > Wouldn't that have killed a lot of buffers that do not require the > change of the autosave directory? Maybe. It is the last resort; prior calling this you might call `tramp-cleanup-this-connection' and kill the buffer in question. >> For further analysis, I would need the Tramp debug buffer. If you set >> permanently tramp-verbose to 6, relevant information are traced. Well, >> at least as long Tramp is mulish ... > > You could reproduce it maybe: Edit a remote file in /usr/local/bin > which belongs to micheal:root. Once Emacs tries to create an autosave, > tramp freaks out because it does not have permission to create the > autosave file in that place. I've tried this, with Emacs 27.0.50, and starting Emacs with the "-Q" option. The file was autosaved in the "/tmp/" directory as it should (due to the default value of auto-save-file-name-transforms). Do you have some other settings? Does the problem happen for you, when you start "emacs -Q"? >>> So at least for one case, here are the details, but I won't call it a >>> bug, only something that could be improved upon, like check permissions >>> before creating backups and prompt what to do when permissions do not >>> allow to create one, and applying a change of the backup directory right >>> away to all connections, or prompt the user if the change should be >>> applied to all of them now. >> >> Again, it is not clear what caused the problem. In order to get Tramp >> improved, I count on users sending the traces. > > file permissions > > I had to change the ownership of the directory so Emacs was allowed to > create the autosave file there to get around the problem. After > changing the autosave location, I could give the directory back to root. Again, the default directory for remote auto-save files ist "/tmp". If it is different for you, you might have set your own values. >>> That was Emacs 24.x, on Centos, so perhaps this has already been >>> changed. >> >> Well, Emacs 26 is out, and the integrated Tramp shall behave >> better. Yes, this is my hope all the years ... > > There's a way to find out :) Yep. Best regards, Michael. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-03 13:35 ` Michael Albinus @ 2018-09-04 14:06 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-04 14:06 UTC (permalink / raw) To: Michael Albinus Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, emacs-devel Michael Albinus <michael.albinus@gmx.de> writes: > hw <hw@adminart.net> writes: > [...] >> You could reproduce it maybe: Edit a remote file in /usr/local/bin >> which belongs to micheal:root. Once Emacs tries to create an autosave, >> tramp freaks out because it does not have permission to create the >> autosave file in that place. > > I've tried this, with Emacs 27.0.50, and starting Emacs with the "-Q" > option. The file was autosaved in the "/tmp/" directory as it should > (due to the default value of auto-save-file-name-transforms). > > Do you have some other settings? Does the problem happen for you, when > you start "emacs -Q"? I tried it with see footer, and it is automatically using the /tmp directory. So I would consider this fixed since 24.x :) It's time to update emacs at work ... Thank you for looking into this! -- GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.22.30) of 2018-06-26 ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-28 20:42 ` hw 2018-08-29 6:59 ` Michael Albinus @ 2018-08-29 15:11 ` Eli Zaretskii 2018-08-29 20:52 ` hw 1 sibling, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-29 15:11 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, flexibeast, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org > Date: Tue, 28 Aug 2018 22:42:25 +0200 > > > Read about that in the manual, nodes "TCP Emacs server" and the > > description of the --tramp-prefix= option under "emacsclient Options". > > I don't understand this documentation. It's a good example for why > people turn to a search engine. Feel free to submit bug reports about any unclear documentation, explaining what part(s) confused you. > And I don't remember how to get back when following links in info > documentation You can type 'l' (for "last"), or use the left arrow button on the tool bar, or click on "Info" in the menu bar and select "Back in History", or click on Info->History and select any node you visited at random. > This documentation is really difficult to read. You mean in general, or this specific feature description? > Anyway, why would I need to forward the port via ssh? I don't really know what you are after, exactly: you never described that in enough detail. The features I pointed to allow one to use emacsclient to access remote machines in several different use cases, and I hoped one of them is yours. > And what file is there to access when I want an X frame? When you invoke emacsclient, you usually ask it to visit a file, right? > The example in the documentation is the wrong way round: The server is > running on the remote machine. If I wanted to run emacs locally on my > workstation, I could just do that, but I want it to run on the server > because I don't shut the server down but my workstation. It depends on the direction from which you look at the connection. Files local to the remote host are remote files for you when you sit at the other end. > But I'd like to use the Emacs server without such detours. Can remote > Emacs not simply be simple? Why doesn't the locally running emacsclient > allow the remote Emacs server to access the terminal transparently? Now I'm confused: which terminal would you like the remote Emacs to access, and how is that relevant to your original question? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 15:11 ` Eli Zaretskii @ 2018-08-29 20:52 ` hw 2018-08-29 22:12 ` Filipp Gunbin ` (2 more replies) 0 siblings, 3 replies; 216+ messages in thread From: hw @ 2018-08-29 20:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, radon.neon, flexibeast, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org >> Date: Tue, 28 Aug 2018 22:42:25 +0200 >> >> > Read about that in the manual, nodes "TCP Emacs server" and the >> > description of the --tramp-prefix= option under "emacsclient Options". >> >> I don't understand this documentation. It's a good example for why >> people turn to a search engine. > > Feel free to submit bug reports about any unclear documentation, > explaining what part(s) confused you. The whole section about the --tramp-prefix= option confused me. >> And I don't remember how to get back when following links in info >> documentation > > You can type 'l' (for "last"), or use the left arrow button on the > tool bar, or click on "Info" in the menu bar and select "Back in > History", or click on Info->History and select any node you visited at > random. Ah! I remembered something about arrows and tried to use the cursor keys --- how about making it so that you can go back and forth in info with Alt+<Cursor> like you can do in web browsers? I have menu and toolbar disabled ... >> This documentation is really difficult to read. > > You mean in general, or this specific feature description? It's the combination of both, i. e. the description didn't make sense to me and fighting with how to use the info browser because the description made me follow the reference about tramps prefixes, and I couldn't get back. I ended up getting stuck in the help documentation of info and actually had to kill the buffer to be able to start over because I couldn't get anywhere else from there. >> Anyway, why would I need to forward the port via ssh? > > I don't really know what you are after, exactly: you never described > that in enough detail. The features I pointed to allow one to use > emacsclient to access remote machines in several different use cases, > and I hoped one of them is yours. Well, that's what I'd like to do, and you've probably pointed me the right way. >> And what file is there to access when I want an X frame? > > When you invoke emacsclient, you usually ask it to visit a file, > right? Wrong; the files are usually already loaded, either because Emacs keeps running on the server, or because desktop-mode has already restored them. >> The example in the documentation is the wrong way round: The server is >> running on the remote machine. If I wanted to run emacs locally on my >> workstation, I could just do that, but I want it to run on the server >> because I don't shut the server down but my workstation. > > It depends on the direction from which you look at the connection. > Files local to the remote host are remote files for you when you sit > at the other end. That depends. Files local to the server are not really remote to the client because the client has them mounted via NFS. But the virtual terminal would be a file remote to the server. Hence I'm guessing that the Emacs server would somehow need to use tramp to access them, but in order to do so, the Emacs server would need to ask me for my password, and it can not do that because it can not open a terminal without that password. Even if it had the password, SELinux might prevent it from accessing a device file like that. >> But I'd like to use the Emacs server without such detours. Can remote >> Emacs not simply be simple? Why doesn't the locally running emacsclient >> allow the remote Emacs server to access the terminal transparently? > > Now I'm confused: which terminal would you like the remote Emacs to > access, and how is that relevant to your original question? So you see how this is confusing :) I'd like to use the Emacs server that runs remotely on the server from my workstation with an emacsclient running locally on the workstation directly without X11 forwarding via ssh for the frames, and I'd like to be able to also use 'emacsclient -nw' on the workstation, using the emacs server on the server. I am wondering if I need the X server running on the workstation to listen on a TCP port for that to work for the frames; I guess not because the emacsclient would run locally. Basically, I want to use the Emacs server the usual way how you use any server, like a web server or an ssh server or an XMPP server. I understand that the Emacs server can not open the virtual terminal when using 'emacsclient -nw' because from its perspective, that is a remote file. Apparently, it might able to use tramp to open it if I supply an appropriate --tramp-prefix= option, provided I could enter the password for the log in, and provided that SELinux doesn't get in the way. However, emacsclient is running locally, so it should be able to use the console. I am wondering what remote file the Emacs server would need to open to create a frame in the X session running on the workstation. And I am finding the idea of remotely opening files representing virtual consoles within a tmux session somewhat strange and not looking like a good idea. So, yes, I kinda understand the documentation, but it's confusing, and I couldn't get it to work yet and am not sure that I can. Even if I could, I can not enter the password. I've downloaded the 26.1 release sources and am using that version because the server runs Centos, which comes with Emacs 24.x which seems a bit old. So I have most of the cool new features now, and this should be a really easy thing to do :) I need to give it more time and experimentation, maybe this weekend. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 20:52 ` hw @ 2018-08-29 22:12 ` Filipp Gunbin 2018-08-30 23:49 ` hw 2018-08-30 2:12 ` Davis Herring 2018-08-30 13:44 ` Eli Zaretskii 2 siblings, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-08-29 22:12 UTC (permalink / raw) To: hw; +Cc: emacs-devel On 29/08/2018 22:52 +0200, hw wrote: > I ended up getting stuck in the help documentation of info and > actually had to kill the buffer to be able to start over because I > couldn't get anywhere else from there. You could use `C-h m' to find about Info-history-back which is bound to `l'. Or Info-history (`L') for the history. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 22:12 ` Filipp Gunbin @ 2018-08-30 23:49 ` hw 2018-09-03 18:56 ` Filipp Gunbin 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-08-30 23:49 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > On 29/08/2018 22:52 +0200, hw wrote: > >> I ended up getting stuck in the help documentation of info and >> actually had to kill the buffer to be able to start over because I >> couldn't get anywhere else from there. > > You could use `C-h m' to find about Info-history-back which is bound to > `l'. Or Info-history (`L') for the history. And how would I know this? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-30 23:49 ` hw @ 2018-09-03 18:56 ` Filipp Gunbin 2018-09-04 14:16 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-09-03 18:56 UTC (permalink / raw) To: hw; +Cc: emacs-devel On 31/08/2018 01:49 +0200, hw wrote: > Filipp Gunbin <fgunbin@fastmail.fm> writes: > >> On 29/08/2018 22:52 +0200, hw wrote: >> >>> I ended up getting stuck in the help documentation of info and >>> actually had to kill the buffer to be able to start over because I >>> couldn't get anywhere else from there. >> >> You could use `C-h m' to find about Info-history-back which is bound to >> `l'. Or Info-history (`L') for the history. > > And how would I know this? The same way as a user would know about `C-h k' or other basic help commands. If a user doesn't know them (from manuals or tutorials), then she probably should not switch off menu/tool bars. Just to not get lost. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-03 18:56 ` Filipp Gunbin @ 2018-09-04 14:16 ` hw 2018-09-04 19:47 ` Filipp Gunbin 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-04 14:16 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > On 31/08/2018 01:49 +0200, hw wrote: > >> Filipp Gunbin <fgunbin@fastmail.fm> writes: >> >>> On 29/08/2018 22:52 +0200, hw wrote: >>> >>>> I ended up getting stuck in the help documentation of info and >>>> actually had to kill the buffer to be able to start over because I >>>> couldn't get anywhere else from there. >>> >>> You could use `C-h m' to find about Info-history-back which is bound to >>> `l'. Or Info-history (`L') for the history. >> >> And how would I know this? > > The same way as a user would know about `C-h k' or other basic help > commands. If a user doesn't know them (from manuals or tutorials), then > she probably should not switch off menu/tool bars. Just to not get > lost. Ok, Emacs should be able to automatically switch on or off the menu (and perhaps the tool bar) depending on the mode of a buffer. Info mode should understand the contemporary key bindings M-left and M-right to go back and forth in the history. (Those are bound to movement by word, which is probably not extremely useful in info buffers.) Should I make a feature request? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 14:16 ` hw @ 2018-09-04 19:47 ` Filipp Gunbin 2018-09-05 20:36 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-09-04 19:47 UTC (permalink / raw) To: hw; +Cc: emacs-devel On 04/09/2018 16:16 +0200, hw wrote: > Filipp Gunbin <fgunbin@fastmail.fm> writes: > >> On 31/08/2018 01:49 +0200, hw wrote: >> >>> Filipp Gunbin <fgunbin@fastmail.fm> writes: >>> >>>> On 29/08/2018 22:52 +0200, hw wrote: >>>> >>>>> I ended up getting stuck in the help documentation of info and >>>>> actually had to kill the buffer to be able to start over because I >>>>> couldn't get anywhere else from there. >>>> >>>> You could use `C-h m' to find about Info-history-back which is bound to >>>> `l'. Or Info-history (`L') for the history. >>> >>> And how would I know this? >> >> The same way as a user would know about `C-h k' or other basic help >> commands. If a user doesn't know them (from manuals or tutorials), then >> she probably should not switch off menu/tool bars. Just to not get >> lost. > > Ok, Emacs should be able to automatically switch on or off the menu (and > perhaps the tool bar) depending on the mode of a buffer. Emacs cannot guess for the user when she needs or does not need a menu bar or a tool bar. You have to instruct it to, somehow. > Info mode should understand the contemporary key bindings M-left and > M-right to go back and forth in the history. (Those are bound to > movement by word, which is probably not extremely useful in info > buffers.) > > Should I make a feature request? It's very useful. At least for me - when I read info, I usually move the cursor by word or by sentence. Well, this thread looks like you're describing how you fight with Emacs defaults. You could make your own set of customizations and see what comes out of it. Maybe others will find them useful. Have you looked at Emacs derivatives, like Spacemacs? I think they should be closer to "modern" editors than vanilla Emacs. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 19:47 ` Filipp Gunbin @ 2018-09-05 20:36 ` hw 2018-09-06 1:33 ` Michael Heerdegen ` (2 more replies) 0 siblings, 3 replies; 216+ messages in thread From: hw @ 2018-09-05 20:36 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > On 04/09/2018 16:16 +0200, hw wrote: > >> Filipp Gunbin <fgunbin@fastmail.fm> writes: >> >>> On 31/08/2018 01:49 +0200, hw wrote: >>> >>>> Filipp Gunbin <fgunbin@fastmail.fm> writes: >>>> >>>>> On 29/08/2018 22:52 +0200, hw wrote: >>>>> >>>>>> I ended up getting stuck in the help documentation of info and >>>>>> actually had to kill the buffer to be able to start over because I >>>>>> couldn't get anywhere else from there. >>>>> >>>>> You could use `C-h m' to find about Info-history-back which is bound to >>>>> `l'. Or Info-history (`L') for the history. >>>> >>>> And how would I know this? >>> >>> The same way as a user would know about `C-h k' or other basic help >>> commands. If a user doesn't know them (from manuals or tutorials), then >>> she probably should not switch off menu/tool bars. Just to not get >>> lost. >> >> Ok, Emacs should be able to automatically switch on or off the menu (and >> perhaps the tool bar) depending on the mode of a buffer. > > Emacs cannot guess for the user when she needs or does not need a menu > bar or a tool bar. You have to instruct it to, somehow. Can I do that per mode? So I could have them automatically enabled when in info mode and automatically disabled when not? Emacs could automatically remember the last setting for each mode I used, so no additional instructing would be necessary. >> Info mode should understand the contemporary key bindings M-left and >> M-right to go back and forth in the history. (Those are bound to >> movement by word, which is probably not extremely useful in info >> buffers.) >> >> Should I make a feature request? > > It's very useful. At least for me - when I read info, I usually move > the cursor by word or by sentence. That probably means there would be a lot of resistance to get these useful key bindings to be the default :( Please try word-wise movement on a German keyboard with these keys. Do not use the Alt key for this because it has been almost 30 years that it was not possible to use that like ESC at all. Force yourself to do it for at least two hours; after that, you may use the Alt key and try for another two hours. Then tell me how useful these key bindindings really are :) > Well, this thread looks like you're describing how you fight with Emacs > defaults. You could make your own set of customizations and see what > comes out of it. Maybe others will find them useful. You could always change the default to your preference after it has changed to something people are more likely to know. You could propose that all web browsers start using 'l' to move backwards in history, too. > Have you looked at Emacs derivatives, like Spacemacs? I think they > should be closer to "modern" editors than vanilla Emacs. I looked at vim. Besides, "modern" doesn't mean "good". ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 20:36 ` hw @ 2018-09-06 1:33 ` Michael Heerdegen 2018-09-06 5:16 ` Drew Adams ` (3 more replies) 2018-09-06 13:48 ` Eli Zaretskii 2018-09-06 18:15 ` Filipp Gunbin 2 siblings, 4 replies; 216+ messages in thread From: Michael Heerdegen @ 2018-09-06 1:33 UTC (permalink / raw) To: hw; +Cc: Filipp Gunbin, emacs-devel hw <hw@adminart.net> writes: > > Emacs cannot guess for the user when she needs or does not need a menu > > bar or a tool bar. You have to instruct it to, somehow. > > Can I do that per mode? So I could have them automatically enabled when > in info mode and automatically disabled when not? Emacs could > automatically remember the last setting for each mode I used, so no > additional instructing would be necessary. Before considering that, note that you don't need to use the menu bar to access the menu bar menu. You can make the menu accessible as a pop up menu like in #+begin_src emacs-lisp (defun my-mouse-menu-bar-menu () (interactive) (popup-menu `("Do" ("Menu Bar" ,@(mouse-menu-bar-map))))) (global-set-key [(control down-mouse-3)] #'my-mouse-menu-bar-menu) #+end_src or use a text interface to access the menu - there is a builtin one called `tmm-menubar'. Some external packages provide different (maybe more convenient) interfaces, e.g. Helm or Icicles. Michael. ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-06 1:33 ` Michael Heerdegen @ 2018-09-06 5:16 ` Drew Adams 2018-09-06 5:29 ` Michael Heerdegen 2018-09-06 13:52 ` Eli Zaretskii ` (2 subsequent siblings) 3 siblings, 1 reply; 216+ messages in thread From: Drew Adams @ 2018-09-06 5:16 UTC (permalink / raw) To: Michael Heerdegen, hw; +Cc: Filipp Gunbin, emacs-devel > or use a text interface to access the menu - there is a builtin one > called `tmm-menubar'. Some external packages provide different (maybe > more convenient) interfaces, e.g. Helm or Icicles. Icicles doesn't provide an interface for menus. But it makes LaCarte's interface handier by providing better completion. https://www.emacswiki.org/emacs/LaCarte ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 5:16 ` Drew Adams @ 2018-09-06 5:29 ` Michael Heerdegen 0 siblings, 0 replies; 216+ messages in thread From: Michael Heerdegen @ 2018-09-06 5:29 UTC (permalink / raw) To: Drew Adams; +Cc: hw, Filipp Gunbin, emacs-devel Drew Adams <drew.adams@oracle.com> writes: > https://www.emacswiki.org/emacs/LaCarte Oh, yes, that was it, I forgot. AFAIR Helm also uses LaCarte for its access to the menu bar. Michael. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 1:33 ` Michael Heerdegen 2018-09-06 5:16 ` Drew Adams @ 2018-09-06 13:52 ` Eli Zaretskii [not found] ` <<831sa6ybqu.fsf@gnu.org> 2018-09-07 7:03 ` hw 3 siblings, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-06 13:52 UTC (permalink / raw) To: Michael Heerdegen; +Cc: hw, fgunbin, emacs-devel > From: Michael Heerdegen <michael_heerdegen@web.de> > Date: Thu, 06 Sep 2018 03:33:56 +0200 > Cc: Filipp Gunbin <fgunbin@fastmail.fm>, emacs-devel@gnu.org > > Before considering that, note that you don't need to use the menu bar to > access the menu bar menu. You can make the menu accessible as a pop up > menu like in > > #+begin_src emacs-lisp > (defun my-mouse-menu-bar-menu () > (interactive) > (popup-menu `("Do" ("Menu Bar" ,@(mouse-menu-bar-map))))) > > (global-set-key [(control down-mouse-3)] #'my-mouse-menu-bar-menu) > #+end_src When the menu-bar is disabled, C-mouse-3 pops up the same menu as a popup, so no Lisp is necessary to get to the global menus. > or use a text interface to access the menu - there is a builtin one > called `tmm-menubar'. Emacs nowadays supports menus even on TTY frames, so no need to use tmm-menubar (unless one wants to, of course). ^ permalink raw reply [flat|nested] 216+ messages in thread
[parent not found: <<831sa6ybqu.fsf@gnu.org>]
* RE: Some developement questions [not found] ` <<831sa6ybqu.fsf@gnu.org> @ 2018-09-06 14:30 ` Drew Adams 0 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-06 14:30 UTC (permalink / raw) To: Eli Zaretskii, Michael Heerdegen; +Cc: hw, fgunbin, emacs-devel > When the menu-bar is disabled, C-mouse-3 pops up the same menu as a > popup, so no Lisp is necessary to get to the global menus. Good point. And the major and minor mode menus are typically available from the mode-line (at least for a minor mode that has a mode-line lighter). ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 1:33 ` Michael Heerdegen ` (2 preceding siblings ...) [not found] ` <<831sa6ybqu.fsf@gnu.org> @ 2018-09-07 7:03 ` hw 3 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-07 7:03 UTC (permalink / raw) To: Michael Heerdegen; +Cc: Filipp Gunbin, emacs-devel Michael Heerdegen <michael_heerdegen@web.de> writes: > hw <hw@adminart.net> writes: > >> > Emacs cannot guess for the user when she needs or does not need a menu >> > bar or a tool bar. You have to instruct it to, somehow. >> >> Can I do that per mode? So I could have them automatically enabled when >> in info mode and automatically disabled when not? Emacs could >> automatically remember the last setting for each mode I used, so no >> additional instructing would be necessary. > > Before considering that, note that you don't need to use the menu bar to > access the menu bar menu. You can make the menu accessible as a pop up > menu like in The disadvantage with this is that I need to remember to enable and to use the menu. Enabling it manually isn't the problem. When it's enabled automatically, it tells me that for some reason I wanted that, and I'm more likely to use it. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 20:36 ` hw 2018-09-06 1:33 ` Michael Heerdegen @ 2018-09-06 13:48 ` Eli Zaretskii 2018-09-07 7:01 ` hw 2018-09-06 18:15 ` Filipp Gunbin 2 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-06 13:48 UTC (permalink / raw) To: hw; +Cc: fgunbin, emacs-devel > From: hw <hw@adminart.net> > Date: Wed, 05 Sep 2018 22:36:09 +0200 > Cc: emacs-devel@gnu.org > > > Emacs cannot guess for the user when she needs or does not need a menu > > bar or a tool bar. You have to instruct it to, somehow. > > Can I do that per mode? You can enable/disable menu-bar-mode in a mode hook. > So I could have them automatically enabled when in info mode and > automatically disabled when not? Emacs could automatically remember > the last setting for each mode I used, so no additional instructing > would be necessary. Save your mode hooks in your .emacs, and Bob's your uncle. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 13:48 ` Eli Zaretskii @ 2018-09-07 7:01 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-07 7:01 UTC (permalink / raw) To: Eli Zaretskii; +Cc: fgunbin, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Date: Wed, 05 Sep 2018 22:36:09 +0200 >> Cc: emacs-devel@gnu.org >> >> > Emacs cannot guess for the user when she needs or does not need a menu >> > bar or a tool bar. You have to instruct it to, somehow. >> >> Can I do that per mode? > > You can enable/disable menu-bar-mode in a mode hook. > >> So I could have them automatically enabled when in info mode and >> automatically disabled when not? Emacs could automatically remember >> the last setting for each mode I used, so no additional instructing >> would be necessary. > > Save your mode hooks in your .emacs, and Bob's your uncle. Thanks, I'll look into that :) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 20:36 ` hw 2018-09-06 1:33 ` Michael Heerdegen 2018-09-06 13:48 ` Eli Zaretskii @ 2018-09-06 18:15 ` Filipp Gunbin 2018-09-07 7:18 ` hw 2 siblings, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-09-06 18:15 UTC (permalink / raw) To: hw; +Cc: emacs-devel Hi, On 05/09/2018 22:36 +0200, hw wrote: > Filipp Gunbin <fgunbin@fastmail.fm> writes: > >> On 04/09/2018 16:16 +0200, hw wrote: >> [...] >>> Ok, Emacs should be able to automatically switch on or off the menu (and >>> perhaps the tool bar) depending on the mode of a buffer. >> >> Emacs cannot guess for the user when she needs or does not need a menu >> bar or a tool bar. You have to instruct it to, somehow. > > Can I do that per mode? So I could have them automatically enabled when > in info mode and automatically disabled when not? Emacs could > automatically remember the last setting for each mode I used, so no > additional instructing would be necessary. Yes, customize change-major-mode-hook or just Info-mode-hook. >>> Info mode should understand the contemporary key bindings M-left and >>> M-right to go back and forth in the history. (Those are bound to >>> movement by word, which is probably not extremely useful in info >>> buffers.) >>> >>> Should I make a feature request? >> >> It's very useful. At least for me - when I read info, I usually move >> the cursor by word or by sentence. > > That probably means there would be a lot of resistance to get these > useful key bindings to be the default :( > > Please try word-wise movement on a German keyboard with these keys. Do > not use the Alt key for this because it has been almost 30 years that it > was not possible to use that like ESC at all. Force yourself to do it > for at least two hours; after that, you may use the Alt key and try for > another two hours. Then tell me how useful these key bindindings really > are :) I've never worked on a German keyboard (but I've just read https://en.wikipedia.org/wiki/German_keyboard_layout). So what's your exact problem with Alt's? I do work with Russian keyboard, and I usually use US layout when working with Emacs, and have (setq default-input-method 'russian-computer) in .emacs, so C-\ switches to it. You should have 2 Ctrl's and 2 Alt's (one of which could be AltGr) on a German keyboard, so you should be in same situations as other users. >> Well, this thread looks like you're describing how you fight with Emacs >> defaults. You could make your own set of customizations and see what >> comes out of it. Maybe others will find them useful. > > You could always change the default to your preference after it has > changed to something people are more likely to know. You could propose > that all web browsers start using 'l' to move backwards in history, > too. It's really the first time I heard of Alt+arrow bindings. Maybe that's because I don't use keyboard for navigation in a web browser :-) Filipp ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 18:15 ` Filipp Gunbin @ 2018-09-07 7:18 ` hw 2018-09-07 14:10 ` Filipp Gunbin 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-07 7:18 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > [...] >> Please try word-wise movement on a German keyboard with these keys. Do >> not use the Alt key for this because it has been almost 30 years that it >> was not possible to use that like ESC at all. Force yourself to do it >> for at least two hours; after that, you may use the Alt key and try for >> another two hours. Then tell me how useful these key bindindings really >> are :) > > I've never worked on a German keyboard (but I've just read > https://en.wikipedia.org/wiki/German_keyboard_layout). So what's your > exact problem with Alt's? > > I do work with Russian keyboard, and I usually use US layout when > working with Emacs, and have (setq default-input-method > 'russian-computer) in .emacs, so C-\ switches to it. I've never used a Russian one. That might make a nice collectors item :) > You should have 2 Ctrl's and 2 Alt's (one of which could be AltGr) on a > German keyboard, so you should be in same situations as other users. AltGr is not an Alt key. There is only *one* Alt key on German keyboards, and it's on the left side. They also have AltGr, and that is an entirely different modifier: keycode 64 = Alt_L Meta_L Alt_L Meta_L keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift These two keys do entirely different things. A German keyboard is not usable for German when you turn AlGr into Alt. An US keyboard is not usable for German because it is missing some important keys. IIRC, Alt is Mod4 and AltGr is Mod5. Since they invented the additional useless keys, these keys have all become so small that the useless ones get in the way and it's difficult to hit what you want. That's the only disadvantage of my current keyboard, otherwise it's even better than a Model M. If it wasn't for that, I'd be using one of those. >>> Well, this thread looks like you're describing how you fight with Emacs >>> defaults. You could make your own set of customizations and see what >>> comes out of it. Maybe others will find them useful. >> >> You could always change the default to your preference after it has >> changed to something people are more likely to know. You could propose >> that all web browsers start using 'l' to move backwards in history, >> too. > > It's really the first time I heard of Alt+arrow bindings. Maybe that's > because I don't use keyboard for navigation in a web browser :-) It's much easier than finding the right icon, especially when they made the icon so small ... ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 7:18 ` hw @ 2018-09-07 14:10 ` Filipp Gunbin 2018-09-07 21:27 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-09-07 14:10 UTC (permalink / raw) To: hw; +Cc: emacs-devel On 07/09/2018 09:18 +0200, hw wrote: > Filipp Gunbin <fgunbin@fastmail.fm> writes: > > I've never used a Russian one. That might make a nice collectors item > :) Believe me, there's really nothing special about it. We usually switch between English and Cyrillic layout. All Cyrillic letters are put on the keyboard directly, with no AltGr or anything like that. If you enable "russian-computer" input method in Emacs, you'll get the same as we have on Russian keyboards. >> You should have 2 Ctrl's and 2 Alt's (one of which could be AltGr) on a >> German keyboard, so you should be in same situations as other users. > > AltGr is not an Alt key. There is only *one* Alt key on German > keyboards, and it's on the left side. > > They also have AltGr, and that is an entirely different modifier: > > > keycode 64 = Alt_L Meta_L Alt_L Meta_L > keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift > > > These two keys do entirely different things. A German keyboard is not > usable for German when you turn AlGr into Alt. An US keyboard is not > usable for German because it is missing some important keys. > > IIRC, Alt is Mod4 and AltGr is Mod5. Since they invented the additional > useless keys, these keys have all become so small that the useless ones > get in the way and it's difficult to hit what you want. That's the only > disadvantage of my current keyboard, otherwise it's even better than a > Model M. If it wasn't for that, I'd be using one of those. Yes, I see from the article that you have that additional (third) level of alteration, besides normal keys and shifted keys. I see three German input methods in Emacs (`C-h I g e r TAB TAB'): german, german-prefix, german-postfix. Are they not enought for a typical usage? If not, then what do other German users here use? As for Alt's, at least you have one normal Alt. I have a similar problem on Macbook, where we have two Command keys, and only one Ctrl. I swapped them on OS level. I also swapped resulting Ctrl with Alt, so I have this: COMMAND CTRL ALT SPACE ALT CTRL without any fancy Emacs settings. Not all users actually use right Alt and Ctrl, but I do, so it's important for me to have symmetric keys to the right of spacebar. Filipp ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 14:10 ` Filipp Gunbin @ 2018-09-07 21:27 ` hw 2018-09-10 12:29 ` Filipp Gunbin 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-07 21:27 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > On 07/09/2018 09:18 +0200, hw wrote: > >> Filipp Gunbin <fgunbin@fastmail.fm> writes: >> >> I've never used a Russian one. That might make a nice collectors item >> :) > > Believe me, there's really nothing special about it. We usually switch > between English and Cyrillic layout. All Cyrillic letters are put on > the keyboard directly, with no AltGr or anything like that. If you > enable "russian-computer" input method in Emacs, you'll get the same as > we have on Russian keyboards. Well, I don't know how to read these letters while you see them all around all the time, so it's not special for you. >>> You should have 2 Ctrl's and 2 Alt's (one of which could be AltGr) on a >>> German keyboard, so you should be in same situations as other users. >> >> AltGr is not an Alt key. There is only *one* Alt key on German >> keyboards, and it's on the left side. > [...] > > Yes, I see from the article that you have that additional (third) level > of alteration, besides normal keys and shifted keys. We have a few characters for which there are no keys available, so someone invented AltGr to make them available. The result is that symbols easy to reach on US keyboards are difficult to reach because the keys that are easy to reach carry the additional characters, and the symbols are only reachable with AltGr. That was really stupid; they should just have added a couple more keys instead. > I see three German input methods in Emacs (`C-h I g e r TAB TAB'): > german, german-prefix, german-postfix. Are they not enought for a > typical usage? If not, then what do other German users here use? I have no idea, I never picked an input method and never saw a need to do that, so I don't know about them. > As for Alt's, at least you have one normal Alt. I have a similar > problem on Macbook, where we have two Command keys, and only one Ctrl. > I swapped them on OS level. I also swapped resulting Ctrl with Alt, so > I have this: COMMAND CTRL ALT SPACE ALT CTRL without any fancy Emacs > settings. Not all users actually use right Alt and Ctrl, but I do, so > it's important for me to have symmetric keys to the right of spacebar. Macs are most awful, they didn't even get the keyboard right ... I usually make a few changes, like turning CapsLock into Ctrl, replacing the comma on the keypad with a dot, putting / on the tilde key where, on most keyboards, the * is, and a second Alt key on the useless key on the right side wich is usually between AltGr and Ctrl. So I have a map for every keyboard I have. I just wish I had a keyboard with real 122 keys all outemu switches. It doesn't get any better than those. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 21:27 ` hw @ 2018-09-10 12:29 ` Filipp Gunbin 2018-09-10 18:18 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-09-10 12:29 UTC (permalink / raw) To: hw; +Cc: emacs-devel On 07/09/2018 23:27 +0200, hw wrote: > Filipp Gunbin <fgunbin@fastmail.fm> writes: > >> On 07/09/2018 09:18 +0200, hw wrote: >> >>> Filipp Gunbin <fgunbin@fastmail.fm> writes: >>> >>> I've never used a Russian one. That might make a nice collectors item >>> :) >> >> Believe me, there's really nothing special about it. We usually switch >> between English and Cyrillic layout. All Cyrillic letters are put on >> the keyboard directly, with no AltGr or anything like that. If you >> enable "russian-computer" input method in Emacs, you'll get the same as >> we have on Russian keyboards. > > Well, I don't know how to read these letters while you see them all > around all the time, so it's not special for you. You may well not be able to read the letters, but the layout is structured like the US layout - lowercase and uppercase letters, digits and some punctuation. In that sense it is "simpler" than levels of alterations in German layout (at least to me :-) >>>> You should have 2 Ctrl's and 2 Alt's (one of which could be AltGr) >>>> on a German keyboard, so you should be in same situations as other >>>> users. >>> >>> AltGr is not an Alt key. There is only *one* Alt key on German >>> keyboards, and it's on the left side. >> [...] >> >> Yes, I see from the article that you have that additional (third) level >> of alteration, besides normal keys and shifted keys. > > We have a few characters for which there are no keys available, so > someone invented AltGr to make them available. The result is that > symbols easy to reach on US keyboards are difficult to reach because the > keys that are easy to reach carry the additional characters, and the > symbols are only reachable with AltGr. > > That was really stupid; they should just have added a couple more keys > instead. Have you tried Emacs input methods I wrote about? My impression is that for any non-US script it should be convenient to use input methods. It might be the case that I'm wrong and people in Germany don't switch between layouts, and do everything in default German layout. But, say, for Russian that is simply not possible, because the whole keyboard is taken by Cyrillic alphabet. Of course we have OS-level switch, but I don't use that in Emacs because other keys break (but they remain functional with input method turned on). I use OS-level layout switch only in other apps. Filipp ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 12:29 ` Filipp Gunbin @ 2018-09-10 18:18 ` hw 2018-09-11 9:51 ` Filipp Gunbin 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-10 18:18 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > On 07/09/2018 23:27 +0200, hw wrote: > >> Filipp Gunbin <fgunbin@fastmail.fm> writes: >> >>> On 07/09/2018 09:18 +0200, hw wrote: >>> >>>> Filipp Gunbin <fgunbin@fastmail.fm> writes: >>>> >>>> I've never used a Russian one. That might make a nice collectors item >>>> :) >>> >>> Believe me, there's really nothing special about it. We usually switch >>> between English and Cyrillic layout. All Cyrillic letters are put on >>> the keyboard directly, with no AltGr or anything like that. If you >>> enable "russian-computer" input method in Emacs, you'll get the same as >>> we have on Russian keyboards. >> >> Well, I don't know how to read these letters while you see them all >> around all the time, so it's not special for you. > > You may well not be able to read the letters, but the layout is > structured like the US layout - lowercase and uppercase letters, digits > and some punctuation. In that sense it is "simpler" than levels of > alterations in German layout (at least to me :-) That gives you the advantage of having such a layout :) >>>>> You should have 2 Ctrl's and 2 Alt's (one of which could be AltGr) >>>>> on a German keyboard, so you should be in same situations as other >>>>> users. >>>> >>>> AltGr is not an Alt key. There is only *one* Alt key on German >>>> keyboards, and it's on the left side. >>> [...] > Have you tried Emacs input methods I wrote about? My impression is that > for any non-US script it should be convenient to use input methods. It > might be the case that I'm wrong and people in Germany don't switch > between layouts, and do everything in default German layout. But, say, > for Russian that is simply not possible, because the whole keyboard is > taken by Cyrillic alphabet. > > Of course we have OS-level switch, but I don't use that in Emacs because > other keys break (but they remain functional with input method turned > on). I use OS-level layout switch only in other apps. I need to read about input methods first. All the keys and characters are there plus a few, so we don't switch between layouts. Some of the characters are more difficult to reach than on the US layout. It might be helpful to switch layouts for programming. That would involve to create two xmodmaps for each keyboard and finding a way to switch. Since the keys are physically not the same on all boards, that can get confusing. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 18:18 ` hw @ 2018-09-11 9:51 ` Filipp Gunbin 2018-09-11 20:14 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-09-11 9:51 UTC (permalink / raw) To: hw; +Cc: emacs-devel On 10/09/2018 20:18 +0200, hw wrote: >>>>>> You should have 2 Ctrl's and 2 Alt's (one of which could be AltGr) >>>>>> on a German keyboard, so you should be in same situations as other >>>>>> users. >>>>> >>>>> AltGr is not an Alt key. There is only *one* Alt key on German >>>>> keyboards, and it's on the left side. >>>> [...] >> Have you tried Emacs input methods I wrote about? My impression is that >> for any non-US script it should be convenient to use input methods. It >> might be the case that I'm wrong and people in Germany don't switch >> between layouts, and do everything in default German layout. But, say, >> for Russian that is simply not possible, because the whole keyboard is >> taken by Cyrillic alphabet. >> >> Of course we have OS-level switch, but I don't use that in Emacs because >> other keys break (but they remain functional with input method turned >> on). I use OS-level layout switch only in other apps. > > I need to read about input methods first. All the keys and characters > are there plus a few, so we don't switch between layouts. Some of the > characters are more difficult to reach than on the US layout. > > It might be helpful to switch layouts for programming. That would > involve to create two xmodmaps for each keyboard and finding a way to > switch. Since the keys are physically not the same on all boards, that > can get confusing. With input methods you don't have to create OS-level layouts. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-11 9:51 ` Filipp Gunbin @ 2018-09-11 20:14 ` hw 2018-09-12 1:18 ` Filipp Gunbin 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-11 20:14 UTC (permalink / raw) To: Filipp Gunbin; +Cc: emacs-devel Filipp Gunbin <fgunbin@fastmail.fm> writes: > On 10/09/2018 20:18 +0200, hw wrote: > [...] >> It might be helpful to switch layouts for programming. That would >> involve to create two xmodmaps for each keyboard and finding a way to >> switch. Since the keys are physically not the same on all boards, that >> can get confusing. > > With input methods you don't have to create OS-level layouts. I'd have to define input methods for the different keyboards and end up with keyboard bindings which would only be active in Emacs. How would that be an advantage? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-11 20:14 ` hw @ 2018-09-12 1:18 ` Filipp Gunbin 0 siblings, 0 replies; 216+ messages in thread From: Filipp Gunbin @ 2018-09-12 1:18 UTC (permalink / raw) To: hw; +Cc: emacs-devel On 11/09/2018 22:14 +0200, hw wrote: > Filipp Gunbin <fgunbin@fastmail.fm> writes: > >> On 10/09/2018 20:18 +0200, hw wrote: >> [...] >>> It might be helpful to switch layouts for programming. That would >>> involve to create two xmodmaps for each keyboard and finding a way to >>> switch. Since the keys are physically not the same on all boards, that >>> can get confusing. >> >> With input methods you don't have to create OS-level layouts. > > I'd have to define input methods for the different keyboards and end up > with keyboard bindings which would only be active in Emacs. How would > that be an advantage? I think you should read "(emacs) Input Methods" and "(emacs) Select Input Method", and see if that fits your needs. Personally I like the fact that Emacs enables me to use input methods for many scripts without depending on OS layout and (almost) on physical keyboard layout. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 20:52 ` hw 2018-08-29 22:12 ` Filipp Gunbin @ 2018-08-30 2:12 ` Davis Herring 2018-09-01 17:40 ` hw 2018-08-30 13:44 ` Eli Zaretskii 2 siblings, 1 reply; 216+ messages in thread From: Davis Herring @ 2018-08-30 2:12 UTC (permalink / raw) To: hw Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, Emacs development discussions >>> And I don't remember how to get back when following links in info >>> documentation >> >> You can type 'l' (for "last"), or use the left arrow button on the >> tool bar, or click on "Info" in the menu bar and select "Back in >> History", or click on Info->History and select any node you visited at >> random. > > Ah! I remembered something about arrows and tried to use the cursor > keys --- how about making it so that you can go back and forth in info > with Alt+<Cursor> like you can do in web browsers? There is the usual issue of Emacs' traditional keybindings clashing with those from other (usually newer) domains: Alt generally meaning Meta, M-left/M-right are already used for backward-/forward-word. Of course, we also have M-b/M-f for those, but the point is that such changes do not come without cost. You are free to argue something along the lines of "For the future userbase of Emacs, consistency with the rest of the world is important enough to change X.", but that's quite a bit different from "how about...?". > I have menu and toolbar disabled ... Complaining about navigability and discoverability of an interface while having disabled its most discoverable features meant to guide new users is a strange combination. > Basically, I want to use the Emacs server the usual way how you use any > server, like a web server or an ssh server or an XMPP server. Or an X server, which is attached to the hardware that faces the user? There's more than one way to think of the word. Davis -- This product is sold by volume, not by mass. If it appears too dense or too sparse, it is because mass-energy conversion has occurred during shipping. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-30 2:12 ` Davis Herring @ 2018-09-01 17:40 ` hw 2018-09-01 19:41 ` Joshua Branson ` (3 more replies) 0 siblings, 4 replies; 216+ messages in thread From: hw @ 2018-09-01 17:40 UTC (permalink / raw) To: Davis Herring Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, Emacs development discussions Davis Herring <herring@lanl.gov> writes: >>>> And I don't remember how to get back when following links in info >>>> documentation >>> >>> You can type 'l' (for "last"), or use the left arrow button on the >>> tool bar, or click on "Info" in the menu bar and select "Back in >>> History", or click on Info->History and select any node you visited at >>> random. >> >> Ah! I remembered something about arrows and tried to use the cursor >> keys --- how about making it so that you can go back and forth in info >> with Alt+<Cursor> like you can do in web browsers? > > There is the usual issue of Emacs' traditional keybindings clashing > with those from other (usually newer) domains: Alt generally meaning > Meta, M-left/M-right are already used for backward-/forward-word. Meta seems to be ESC. Alt doesn't do anything like what ESC does, and I inevitably have two entirely different Alt keys because I'm using a German keyboard. Some key combinations that require some combination of Meta and Control do not work at all. Who would ever press ESC-right or ESC-left to move a word? Hm, ok, I tried Alt, and it now does work, at least in an X frame. Only the Alt key is on the wrong side of the keyboard, as is ESC, to be useful for moving. Since when does Alt work the same as ESC? > Of course, we also have M-b/M-f for those, but the point is that such > changes do not come without cost. You are free to argue something > along the lines of "For the future userbase of Emacs, consistency with > the rest of the world is important enough to change X.", but that's > quite a bit different from "how about...?". The issue in this case is not traditional key bindings vs. more recently invented ones. The issue is that I very rarely use info and thus do not remember its key bindings. Does the help page I got stuck in say anywhere how to get back? Why shouldn't Emacs adjust to changes and adopt new key bindings so it becomes easier to use? >> I have menu and toolbar disabled ... > > Complaining about navigability and discoverability of an interface > while having disabled its most discoverable features meant to guide > new users is a strange combination. I'm pointing out a usability issue and you call it complaining. That must be the right attitude. Fine, I'll give vim a try. PS: I tried vim in the meantime, and I'll probably switch. >> Basically, I want to use the Emacs server the usual way how you use any >> server, like a web server or an ssh server or an XMPP server. > > Or an X server, which is attached to the hardware that faces the user? > There's more than one way to think of the word. I don't want it to use like an X server, and there are always many ways to think of all words. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 17:40 ` hw @ 2018-09-01 19:41 ` Joshua Branson 2018-09-02 15:07 ` hw 2018-09-01 22:13 ` Phil Sainty ` (2 subsequent siblings) 3 siblings, 1 reply; 216+ messages in thread From: Joshua Branson @ 2018-09-01 19:41 UTC (permalink / raw) To: emacs-devel hw <hw@adminart.net> writes: > Davis Herring <herring@lanl.gov> writes: > >>>>> And I don't remember how to get back when following links in info >>>>> documentation >>>> >>>> You can type 'l' (for "last"), or use the left arrow button on the >>>> tool bar, or click on "Info" in the menu bar and select "Back in >>>> History", or click on Info->History and select any node you visited at >>>> random. >>> >>> Ah! I remembered something about arrows and tried to use the cursor >>> keys --- how about making it so that you can go back and forth in info >>> with Alt+<Cursor> like you can do in web browsers? >> >> There is the usual issue of Emacs' traditional keybindings clashing >> with those from other (usually newer) domains: Alt generally meaning >> Meta, M-left/M-right are already used for backward-/forward-word. > > Meta seems to be ESC. Alt doesn't do anything like what ESC does, and I > inevitably have two entirely different Alt keys because I'm using a > German keyboard. > > Some key combinations that require some combination of Meta and Control > do not work at all. > > Who would ever press ESC-right or ESC-left to move a word? part of this reason is why I started to use evil-mode. :) > > Hm, ok, I tried Alt, and it now does work, at least in an X frame. Only > the Alt key is on the wrong side of the keyboard, as is ESC, to be > useful for moving. > > Since when does Alt work the same as ESC? > >> Of course, we also have M-b/M-f for those, but the point is that such >> changes do not come without cost. You are free to argue something >> along the lines of "For the future userbase of Emacs, consistency with >> the rest of the world is important enough to change X.", but that's >> quite a bit different from "how about...?". > > The issue in this case is not traditional key bindings vs. more recently > invented ones. The issue is that I very rarely use info and thus do not > remember its key bindings. Does the help page I got stuck in say > anywhere how to get back? > > Why shouldn't Emacs adjust to changes and adopt new key bindings so it > becomes easier to use? > >>> I have menu and toolbar disabled ... >> >> Complaining about navigability and discoverability of an interface >> while having disabled its most discoverable features meant to guide >> new users is a strange combination. > > I'm pointing out a usability issue and you call it complaining. That > must be the right attitude. > > Fine, I'll give vim a try. > > > PS: I tried vim in the meantime, and I'll probably switch. > >>> Basically, I want to use the Emacs server the usual way how you use any >>> server, like a web server or an ssh server or an XMPP server. >> >> Or an X server, which is attached to the hardware that faces the user? >> There's more than one way to think of the word. > > I don't want it to use like an X server, and there are always many ways > to think of all words. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 19:41 ` Joshua Branson @ 2018-09-02 15:07 ` hw 2018-09-02 18:23 ` Ergus 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-02 15:07 UTC (permalink / raw) To: Joshua Branson; +Cc: emacs-devel Joshua Branson <jbranso@fastmail.com> writes: >> Who would ever press ESC-right or ESC-left to move a word? > > part of this reason is why I started to use evil-mode. :) Right, I thought about doing that since starting to learn vim and understanding how it can be much more efficient than Emacs. Is it exactly the same as using vim? Why not use vim instead? Does Emacs have advantages over vim when using evil-mode? Vim even does syntax highlighting for fvwm out of the box. I managed to find an fvwm-mode for emacs (which needs some work) years ago, but why isn't that shipped with Emacs by default? (Uh, we probably shouldn't discuss this there --- feel free to send me an email directly :) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 15:07 ` hw @ 2018-09-02 18:23 ` Ergus 2018-09-04 15:21 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Ergus @ 2018-09-02 18:23 UTC (permalink / raw) To: hw; +Cc: Joshua Branson, emacs-devel On Sun, Sep 02, 2018 at 05:07:00PM +0200, hw wrote: >Joshua Branson <jbranso@fastmail.com> writes: > >>> Who would ever press ESC-right or ESC-left to move a word? >> >> part of this reason is why I started to use evil-mode. :) > >Right, I thought about doing that since starting to learn vim and >understanding how it can be much more efficient than Emacs. That's relative and very subjective. Modal editing makes not too much sense for me in 2018. It was a solution in a moment but and according to the vi creator "it was for a world that doesn't exist anymore". >Is it >exactly the same as using vim? > It depends of your use cases. But for just editing, yes, it is pretty much the same. Vim users use to complain that evil mode is slower but it is more a psychological thing; I have tried to measure what they complain about and if it is, should be in the order of micro seconds. >Why not use vim instead? Does Emacs have advantages over vim when using >evil-mode? Again. It depends of your use cases. To edit simple files there is not real difference, no advantage or disadvantage as editing is the basic functionality. But if you do serious programming in big projects, edit remote files in multiple servers cross coping between them, you want to use irony or rtagsor for C++, gtags for cross referencing, gdb inside the same editor, manage cmake projects in the projectile way or simply handle git with magit; or if you plan to customize details for your specific files or systems... it is very hard in vim some of these are impossible. >Vim even does syntax highlighting for fvwm out of the box. > have you tried config-mode, is a bit generic, but I use i3wm and it works for me? >I managed to find an fvwm-mode for emacs (which needs some work) years >ago, but why isn't that shipped with Emacs by default? > I thing because the intersection of the groups of people who use fvwm and emacs is close to zero and the package is kind of unmaintained. But you are very welcome to adopt and collaborate with that :) >(Uh, we probably shouldn't discuss this there --- feel free to send me >an email directly :) > Why not? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 18:23 ` Ergus @ 2018-09-04 15:21 ` hw 2018-09-04 20:57 ` Ergus 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-04 15:21 UTC (permalink / raw) To: Ergus; +Cc: Joshua Branson, emacs-devel Ergus <spacibba@aol.com> writes: > On Sun, Sep 02, 2018 at 05:07:00PM +0200, hw wrote: >>Joshua Branson <jbranso@fastmail.com> writes: >> >>>> Who would ever press ESC-right or ESC-left to move a word? >>> >>> part of this reason is why I started to use evil-mode. :) >> >>Right, I thought about doing that since starting to learn vim and >>understanding how it can be much more efficient than Emacs. > > That's relative and very subjective. Modal editing makes not too much > sense for me in 2018. Last night I tried to do some programming with vim, and it was an interesting experience. I'm not so sure anymore if it can be much more efficient than Emacs, provided that you use either 100% the way they're supposed to be used. They're probably bascially the same. But how else than modal would you edit? The difference between vim and Emacs is that Emacs` normal mode is vims insert mode, and Emacs can have a whole mode hiding behind every key you press rather than only one "command mode" which limits you to the keys you have available and to stringing them up. After all, I'll stick with Emacs. Vim doesn't seem to have any real advantages for me, and there are some things I'd be missing. > It was a solution in a moment but and according to the vi creator "it > was for a world that doesn't exist anymore". That something is for a world that doesn't exist anymore can be said for a lot of things. That doesn't mean that what replaces it is any better, and indeed the replacements are usually much worse. >>Is it >>exactly the same as using vim? >> > It depends of your use cases. But for just editing, yes, it is pretty much > the same. Vim users use to complain that evil mode is slower but it is > more a psychological thing; I have tried to measure what they complain > about and if it is, should be in the order of micro seconds. Someone must have put a lot of work into it. >>Why not use vim instead? Does Emacs have advantages over vim when using >>evil-mode? > > Again. It depends of your use cases. To edit simple files there is not > real difference, no advantage or disadvantage as editing is the basic > functionality. Well, that could be said for all editors. > But if you do serious programming in big projects, edit remote files > in multiple servers cross coping between them, you want to use irony > or rtagsor for C++, gtags for cross referencing, gdb inside the same > editor, manage cmake projects in the projectile way or simply handle > git with magit; or if you plan to customize details for your specific > files or systems... it is very hard in vim some of these are > impossible. That seems to go along with my impression that Emacs has some fundamental features that have allowed it to become far more sophisticated than vim. To begin with, vim is painfully lacking the concept of buffers Emacs has always had. >>Vim even does syntax highlighting for fvwm out of the box. >> > have you tried config-mode, is a bit generic, but I use i3wm and it works for me? Maybe that is what vim is using. >>I managed to find an fvwm-mode for emacs (which needs some work) years >>ago, but why isn't that shipped with Emacs by default? >> > I thing because the intersection of the groups of people who use fvwm > and emacs is close to zero Why wouldn't people using Emacs not also use fvwm? I'd say particularly those using fvwm would be using Emacs, and the other way round. Besides, why would anyone use anything else than fvwm? > and the package is kind of unmaintained. But you are very welcome to > adopt and collaborate with that :) Yeah I'm thinking about doing that. It must be rather old because it doesn't seem to recognize quite a few of the keywords. Hm, the version I have is 8 years old, and it says it's under GPL. Do you know anything about it? I only remember I found it somewhere, and it could be painfully slow sometimes. ,---- | ;; $Id: fvwm-mode.el 232 2010-10-29 16:48:05Z dragon $ | ;; | ;; Release 1.6.2 | ;; | ;; Copyright (C) 2005-2009 Bert Geens <bert@lair.be> `---- Well, i could ask him :) Or perhaps there is an entirely different mode? >>(Uh, we probably shouldn't discuss this there --- feel free to send me >>an email directly :) >> > Why not? This is a development mailing list, and I wouldn't want to start an editor war. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 15:21 ` hw @ 2018-09-04 20:57 ` Ergus 2018-09-05 21:48 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Ergus @ 2018-09-04 20:57 UTC (permalink / raw) To: hw; +Cc: Joshua Branson, emacs-devel On Tue, Sep 04, 2018 at 05:21:40PM +0200, hw wrote: >Ergus <spacibba@aol.com> writes: > >> On Sun, Sep 02, 2018 at 05:07:00PM +0200, hw wrote: >>>Joshua Branson <jbranso@fastmail.com> writes: >>> >>>>> Who would ever press ESC-right or ESC-left to move a word? >>>> >>>> part of this reason is why I started to use evil-mode. :) >>> >>>Right, I thought about doing that since starting to learn vim and >>>understanding how it can be much more efficient than Emacs. >> >> That's relative and very subjective. Modal editing makes not too much >> sense for me in 2018. > >Last night I tried to do some programming with vim, and it was an >interesting experience. I'm not so sure anymore if it can be much more >efficient than Emacs, provided that you use either 100% the way they're >supposed to be used. They're probably bascially the same. > Yes, more or less I agree. > >But how else than modal would you edit? The difference between vim and >Emacs is that Emacs` normal mode is vims insert mode, and Emacs can have >a whole mode hiding behind every key you press rather than only one >"command mode" which limits you to the keys you have available and to >stringing them up. > I my brain at least a text editor should edit and insert a letter if I press it, and extra things require extra commands. The real issue for me is that I can only use the terminal and many keybinds are not available (C-backspace or S-C-backspace for example). That's the reason I have considered to use evil mode sometimes. >After all, I'll stick with Emacs. Vim doesn't seem to have any real >advantages for me, and there are some things I'd be missing. > >> It was a solution in a moment but and according to the vi creator "it >> was for a world that doesn't exist anymore". > >That something is for a world that doesn't exist anymore can be said for >a lot of things. That doesn't mean that what replaces it is any better, >and indeed the replacements are usually much worse. > I agree, that's why we still use emacs :) (or vim). But I find the justification that vim users should move with hjkl (and so on) because it is faster and better because the fingers don't move... so senseless. Is just my feeling. But sometimes I understand them when I have to type C-a C-SPC C-e M-w to select a line because xterm doesn't send C-backspace to emacs. >>>Is it >>>exactly the same as using vim? >>> >> It depends of your use cases. But for just editing, yes, it is pretty much >> the same. Vim users use to complain that evil mode is slower but it is >> more a psychological thing; I have tried to measure what they complain >> about and if it is, should be in the order of micro seconds. > >Someone must have put a lot of work into it. > >>>Why not use vim instead? Does Emacs have advantages over vim when using >>>evil-mode? >> >> Again. It depends of your use cases. To edit simple files there is not >> real difference, no advantage or disadvantage as editing is the basic >> functionality. > >Well, that could be said for all editors. Exactly. Emacs is not just an editor, but as a simple editor even nano is good enough (except for the undo lacking but our redo is not as good as it can be without undo-tree, this is one of the default things I would really like to change, the default undo behavior). > >> But if you do serious programming in big projects, edit remote files >> in multiple servers cross coping between them, you want to use irony >> or rtagsor for C++, gtags for cross referencing, gdb inside the same >> editor, manage cmake projects in the projectile way or simply handle >> git with magit; or if you plan to customize details for your specific >> files or systems... it is very hard in vim some of these are >> impossible. > >That seems to go along with my impression that Emacs has some >fundamental features that have allowed it to become far more >sophisticated than vim. To begin with, vim is painfully lacking the >concept of buffers Emacs has always had. > >>>Vim even does syntax highlighting for fvwm out of the box. >>> >> have you tried config-mode, is a bit generic, but I use i3wm and it works for me? > >Maybe that is what vim is using. > >>>I managed to find an fvwm-mode for emacs (which needs some work) years >>>ago, but why isn't that shipped with Emacs by default? >>> >> I thing because the intersection of the groups of people who use fvwm >> and emacs is close to zero > >Why wouldn't people using Emacs not also use fvwm? I'd say particularly >those using fvwm would be using Emacs, and the other way round. > >Besides, why would anyone use anything else than fvwm? > JA JA, I didn't even know that fvwm existed, I will give a try :p but I prefer tilling wm. >> and the package is kind of unmaintained. But you are very welcome to >> adopt and collaborate with that :) > >Yeah I'm thinking about doing that. It must be rather old because it >doesn't seem to recognize quite a few of the keywords. > >Hm, the version I have is 8 years old, and it says it's under GPL. Do >you know anything about it? I only remember I found it somewhere, and >it could be painfully slow sometimes. > >,---- >| ;; $Id: fvwm-mode.el 232 2010-10-29 16:48:05Z dragon $ >| ;; >| ;; Release 1.6.2 >| ;; >| ;; Copyright (C) 2005-2009 Bert Geens <bert@lair.be> >`---- > >Well, i could ask him :) Or perhaps there is an entirely different >mode? > >>>(Uh, we probably shouldn't discuss this there --- feel free to send me >>>an email directly :) >>> >> Why not? > >This is a development mailing list, and I wouldn't want to start an >editor war. > The editor war finished a long time ago and in spite nobody won then, now Emacs is sadly loosing the postwar stage in my opinion. That's a long discussion to have. Best, Esgus ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 20:57 ` Ergus @ 2018-09-05 21:48 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-05 21:48 UTC (permalink / raw) To: Ergus; +Cc: Joshua Branson, emacs-devel Ergus <spacibba@aol.com> writes: > On Tue, Sep 04, 2018 at 05:21:40PM +0200, hw wrote: > [...] >> >>But how else than modal would you edit? The difference between vim and >>Emacs is that Emacs` normal mode is vims insert mode, and Emacs can have >>a whole mode hiding behind every key you press rather than only one >>"command mode" which limits you to the keys you have available and to >>stringing them up. >> > I my brain at least a text editor should edit and insert a letter if I > press it, and extra things require extra commands. Hm, it doesn't really matter to me if insert or command mode is the default. > The real issue for me is that I can only use the terminal and many > keybinds are not available (C-backspace or S-C-backspace for > example). That's the reason I have considered to use evil mode > sometimes. Yeah, that's annoying. Maybe I should find some key bindings for things like this that work in terminals, too. >>After all, I'll stick with Emacs. Vim doesn't seem to have any real >>advantages for me, and there are some things I'd be missing. >> >>> It was a solution in a moment but and according to the vi creator "it >>> was for a world that doesn't exist anymore". >> >>That something is for a world that doesn't exist anymore can be said for >>a lot of things. That doesn't mean that what replaces it is any better, >>and indeed the replacements are usually much worse. >> > I agree, that's why we still use emacs :) (or vim). I like using Emacs, and there simply is nothing better than Emacs and vim. There don't need to be any replacements for them. > But I find the justification that vim users should move with hjkl (and > so on) because it is faster and better because the fingers don't > move... so senseless. Is just my feeling. It's true; the problem is that this idea breaks because there are too many occassions when you have to move with the cursor keys instead. That makes it difficult because you always need to decide which keys you can currently use to move, or you don't decide and always use the cursor keys. I use the cursor keys and Cltr-a and Ctrl-e and Ctrl-l, and that's how vim already doesn't have any advantages for me but even disadvantages. > But sometimes I understand them when I have to type C-a C-SPC C-e M-w to > select a line because xterm doesn't send C-backspace to emacs. Right: ;; my-mark-line (defun my-mark-this-line () (interactive) (beginning-of-line) (set-mark-command nil) (end-of-line)) (defun my-copy-this-line () (interactive) (my-mark-this-line) (kill-ring-save (mark) (point)) (message "copied current line")) (defun my-cut-this-line () (interactive) (my-mark-this-line) (kill-region (mark) (point)) (message "cut current line")) ;; ~/.emacs (load "~/emacs/my-mark-line") (global-set-key "\C-xl" 'my-mark-this-line) (global-set-key "\C-xc" 'my-copy-this-line) (global-set-key "\C-xw" 'my-cut-this-line) If someone needs license info: GPL v. 2 Is something like this really not already built in? If C-k is intended for this, it doesn't work out quite like that. >>> Again. It depends of your use cases. To edit simple files there is not >>> real difference, no advantage or disadvantage as editing is the basic >>> functionality. >> >>Well, that could be said for all editors. > > Exactly. Emacs is not just an editor, but as a simple editor even nano > is good enough (except for the undo lacking but our redo is not as good > as it can be without undo-tree, this is one of the default things I > would really like to change, the default undo behavior). Nano sucks when you want to search for something and when you want to save something. I don't like it. > [...] >>Why wouldn't people using Emacs not also use fvwm? I'd say particularly >>those using fvwm would be using Emacs, and the other way round. >> >>Besides, why would anyone use anything else than fvwm? >> > JA JA, I didn't even know that fvwm existed, I will give a try :p but I prefer tilling wm. Fvwm can do that, here are some hints: DestroyMenu MenuArrangeWindows AddToMenu MenuArrangeWindows + "Arrange Windows" Title + "" Nop + "&V-Tile 2" FvwmRearrange -tile -a -mn 2 -noraise 0 0 100 100 + "V-Tile 3" FvwmRearrange -tile -a -mn 3 -noraise 0 0 100 100 + "V-Tile 4" FvwmRearrange -tile -a -mn 4 -noraise 0 0 100 100 + "" Nop + "H-Tile 2" FvwmRearrange -tile -h -a -mn 2 -noraise 0 0 100 100 + "H-Tile 3" FvwmRearrange -tile -h -a -mn 3 -noraise 0 0 100 100 + "H-Tile 4" FvwmRearrange -tile -h -a -mn 4 -noraise 0 0 100 100 + "" Nop + "This &Half" Function HalfReplace + "This &Maximize" Function MaxReplace + "This &Quarter" Function QuarterReplace DestroyFunc HalfReplace AddToFunc HalfReplace + I Resize frame 50 100 + I PlaceAgain + I WarpToWindow 50 50 DestroyFunc MaxReplace AddToFunc MaxReplace + I Resize frame 100 100 + I Move 0 0 + I WarpToWindow 50 50 DestroyFunc QuarterReplace AddToFunc QuarterReplace + I Resize frame 50 50 + I PlaceAgain + I WarpToWindow 50 50 Style * MinOverlapPercentPlacement Style * FixedPPosition Style * !UsePPosition Style * EWMHIgnoreStackingOrderHints Style * EWMHIgnoreStrutHints Style * EWMHPlacementIgnoreWorkingArea Style * EWMHIgnoreStateHints Style * DecorateTransient Style * !UseTransientPPosition Style * FocusFollowsMouse Style * SnapAttraction 16 All ScreenAll Style * StickyIcon Style * IgnoreRestack It's not strictly tiling like i3 does, but for all intents and purposes, the outcome is the same, while I can just do whatever I want. It gives you best of both floating and tiling with great elegance, simplicty and ease. Now fvwm manages the windows for me rather than that I have to manage them. Put the window menu or the functions on key bindings, and it takes only a key or two to get the windows arranged the way you want. It takes a while to get the hang of configuring fvwm, and it is extremely worthwhile to learn it. You only need to learn it so far as to be able to configure it the way you want it. >>>>(Uh, we probably shouldn't discuss this there --- feel free to send me >>>>an email directly :) >>>> >>> Why not? >> >>This is a development mailing list, and I wouldn't want to start an >>editor war. >> > The editor war finished a long time ago and in spite nobody won then, > now Emacs is sadly loosing the postwar stage in my opinion. That's a long discussion to have. That doesn't mean a new one couldn't begin, or that it couldn't be continued. I never took part in it. If Emacs is really loosing, it's probably because of little things, like the tutorial Emacs has needing to become much more inviting and user friendly. What it does best is probably driving potential users away. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 17:40 ` hw 2018-09-01 19:41 ` Joshua Branson @ 2018-09-01 22:13 ` Phil Sainty 2018-09-02 15:39 ` hw 2018-09-01 22:30 ` Drew Adams 2018-09-02 17:50 ` Ergus 3 siblings, 1 reply; 216+ messages in thread From: Phil Sainty @ 2018-09-01 22:13 UTC (permalink / raw) To: hw Cc: spacibba, radon.neon, Emacs development discussions, Eli Zaretskii, flexibeast On 02/09/18 05:40, hw wrote: > Since when does Alt work the same as ESC? I can't see a Meta key on a vt100 keyboard, so I suspect this has been the situation from the beginning (so 30+ years for GNU Emacs alone). > Why shouldn't Emacs adjust to changes and adopt new key bindings so > it becomes easier to use? It's important to understand that changes which would make life easier for you may well be making life harder for existing users. Changing established key bindings (which have been in muscle memory of many users for literal decades) is a big deal. Emacs provides tremendous flexibility when it comes to customising its key bindings to meet your personal preferences; but remember that they are your *personal* preferences, which may not match the preferences or expectations of other users. > The issue is that I very rarely use info and thus do not remember > its key bindings. Does the help page I got stuck in say anywhere > how to get back? Everything you need is in the Info menu. >>> I have menu and toolbar disabled ... >> >> Complaining about navigability and discoverability of an interface >> while having disabled its most discoverable features meant to guide >> new users is a strange combination. > > I'm pointing out a usability issue and you call it complaining. The menu bar directly addresses that usability issue. That's its purpose. It's a bit like removing the training wheels from a bicycle and then wondering why the bike allowed you to fall over when you lost your balance, no? I wouldn't recommend disabling the menus in *any* application without establishing how to access them again if you realised you needed to. With Emacs, even with the menu bar disabled, you still have access to them via F10 or M-` and in GUI frames the Info menu is also directly available via the mode line. -Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 22:13 ` Phil Sainty @ 2018-09-02 15:39 ` hw 2018-09-02 22:01 ` Juri Linkov 2018-09-03 7:29 ` martin rudalics 0 siblings, 2 replies; 216+ messages in thread From: hw @ 2018-09-02 15:39 UTC (permalink / raw) To: Phil Sainty Cc: spacibba, radon.neon, flexibeast, Eli Zaretskii, Emacs development discussions Phil Sainty <psainty@orcon.net.nz> writes: > On 02/09/18 05:40, hw wrote: >> Since when does Alt work the same as ESC? > > I can't see a Meta key on a vt100 keyboard, so I suspect this has > been the situation from the beginning (so 30+ years for GNU Emacs > alone). I tried it the other day, and I can say that is the first time in about 30 years that it worked. IIRC, the Atari ST didn't have an Alt key, either, and that is the first computer I used Emacs on. It doesn't really matter because the Alt key is on the same side of the keyboard as the ESC key, which is simply the wrong side for this application. Changing the key bindings would be difficult, and it tends to be inconvenient when using Emacs on other computers, so I prefer to keep them at their defaults. How many users are using Emacs with VT100 keyboards? >> Why shouldn't Emacs adjust to changes and adopt new key bindings so >> it becomes easier to use? > > It's important to understand that changes which would make life easier > for you may well be making life harder for existing users. Changing > established key bindings (which have been in muscle memory of many > users for literal decades) is a big deal. Yes, I'm not suggesting to remove existing key bindings for this, only to add Alt+left and Alt+right to go back and forth in info buffers. Here's another idea I had this morning while making coffee: Users may prefer reading documentation in a web browser for at least two reasons: Navigation is easier, and the browser can have Tabs. This is kinda only one reason, but can Emacs have Tabs? If Emacs can have Tabs and show its documentation with all the ease a web browser can, life would be much easier for many users. > Emacs provides tremendous flexibility when it comes to customising its > key bindings to meet your personal preferences; but remember that they > are your *personal* preferences, which may not match the preferences > or expectations of other users. I have different key bindings for Emacs at work than I have at home. It has taken years before I finally sent parts of my ~/.emacs over, and I only did that when I was at it anyway. Why? It takes time to do all that. I will continue to miss 'F8 d' which puts the current date at point into the current buffer because that requires more time to get working. There are reasons why I suggested it would be nice if we could package a configuration, including all dependencies, easily. I'm finding it very annoying that some keys, and thus some key bindings, do not work when using Emacs in a terminal, like Ctrl+Home and Ctrl+End only work in X frames. >> The issue is that I very rarely use info and thus do not remember >> its key bindings. Does the help page I got stuck in say anywhere >> how to get back? > > Everything you need is in the Info menu. That doesn't help when the menu is disabled. >>>> I have menu and toolbar disabled ... >>> >>> Complaining about navigability and discoverability of an interface >>> while having disabled its most discoverable features meant to guide >>> new users is a strange combination. >> >> I'm pointing out a usability issue and you call it complaining. > > The menu bar directly addresses that usability issue. That's its > purpose. The menu is disabled by default because it takes up screen space. I'm just not using it, so why leave it enabled? > It's a bit like removing the training wheels from a bicycle and then > wondering why the bike allowed you to fall over when you lost your > balance, no? I learned riding bicycles over 40 years ago and actually never used training wheels. The first ride ended in a pile of sand down the road; after that, it was ok. IIRC, Emacs didn't have a menu when I started to learn using it. > I wouldn't recommend disabling the menus in *any* application without > establishing how to access them again if you realised you needed to. > With Emacs, even with the menu bar disabled, you still have access to > them via F10 or M-` and in GUI frames the Info menu is also directly > available via the mode line. It didn't come to mind to use the menu. You do not deploy the training wheels of your bike every time you need to go around a corner, do you? Web browsers nowadays also come with the menu disabled. Strange world, huh? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 15:39 ` hw @ 2018-09-02 22:01 ` Juri Linkov 2018-09-03 7:30 ` martin rudalics 2018-09-04 15:35 ` hw 2018-09-03 7:29 ` martin rudalics 1 sibling, 2 replies; 216+ messages in thread From: Juri Linkov @ 2018-09-02 22:01 UTC (permalink / raw) To: hw Cc: spacibba, radon.neon, Phil Sainty, Emacs development discussions, Eli Zaretskii, flexibeast >> It's important to understand that changes which would make life easier >> for you may well be making life harder for existing users. Changing >> established key bindings (which have been in muscle memory of many >> users for literal decades) is a big deal. > > Yes, I'm not suggesting to remove existing key bindings for this, only > to add Alt+left and Alt+right to go back and forth in info buffers. It's so unfortunate that due to historical reasons we can't provide intuitive and convenient keys for Info navigation <M-left> and <M-right>. Long time ago I configured to use Mozilla-like navigation where <M-left> goes back in history, but <M-right> goes forward in history unless point is on a link in which case it visits the link. And like in Lynx-like navigation, <M-down> and <M-up> move point to the next/prev link, and when there are no visible links on the page, scroll to next/prev page. Maybe as some packages like windmove allow customization of modifiers for their keys, Info navigation keys could be provided with a different modifier like <S-left> and <S-right>? > Users may prefer reading documentation in a web browser for at least two > reasons: Navigation is easier, and the browser can have Tabs. This is > kinda only one reason, but can Emacs have Tabs? > > If Emacs can have Tabs and show its documentation with all the ease a > web browser can, life would be much easier for many users. Do you mean frame-local or window-local tabs? Frame-local tabs are now easier to implement since we have side windows, but I'm still not sure how a side window can be created above an individual window to contain its window-local tabbar? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 22:01 ` Juri Linkov @ 2018-09-03 7:30 ` martin rudalics 2018-09-04 15:35 ` hw 1 sibling, 0 replies; 216+ messages in thread From: martin rudalics @ 2018-09-03 7:30 UTC (permalink / raw) To: Juri Linkov, hw Cc: spacibba, radon.neon, Phil Sainty, Emacs development discussions, Eli Zaretskii, flexibeast > Do you mean frame-local or window-local tabs? Frame-local tabs are now > easier to implement since we have side windows, but I'm still not sure how > a side window can be created above an individual window to contain its > window-local tabbar? I'm using atomic windows for that purpose. I intend to upload a pakage win-tabs.el (as soon as I fixed some problems with it) to ELPA. martin ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 22:01 ` Juri Linkov 2018-09-03 7:30 ` martin rudalics @ 2018-09-04 15:35 ` hw 2018-09-04 16:44 ` Eli Zaretskii 1 sibling, 1 reply; 216+ messages in thread From: hw @ 2018-09-04 15:35 UTC (permalink / raw) To: Juri Linkov Cc: spacibba, radon.neon, Phil Sainty, Emacs development discussions, Eli Zaretskii, flexibeast Juri Linkov <juri@linkov.net> writes: >>> It's important to understand that changes which would make life easier >>> for you may well be making life harder for existing users. Changing >>> established key bindings (which have been in muscle memory of many >>> users for literal decades) is a big deal. >> >> Yes, I'm not suggesting to remove existing key bindings for this, only >> to add Alt+left and Alt+right to go back and forth in info buffers. > > It's so unfortunate that due to historical reasons we can't provide > intuitive and convenient keys for Info navigation <M-left> and <M-right>. Why can't that be done? Who would use word-wise movement while reading info documents? It's not like users of Emacs do not use web browsers. > Long time ago I configured to use Mozilla-like navigation where <M-left> > goes back in history, but <M-right> goes forward in history unless > point is on a link in which case it visits the link. And like in > Lynx-like navigation, <M-down> and <M-up> move point to the next/prev > link, and when there are no visible links on the page, scroll to next/prev > page. sounds good > Maybe as some packages like windmove allow customization of modifiers > for their keys, Info navigation keys could be provided with a > different modifier like <S-left> and <S-right>? What would be the point of adding another key binding nobody knows about? It could be used for word-wise movement perhaps. >> Users may prefer reading documentation in a web browser for at least two >> reasons: Navigation is easier, and the browser can have Tabs. This is >> kinda only one reason, but can Emacs have Tabs? >> >> If Emacs can have Tabs and show its documentation with all the ease a >> web browser can, life would be much easier for many users. > > Do you mean frame-local or window-local tabs? Frame-local tabs are now > easier to implement since we have side windows, but I'm still not sure how > a side window can be created above an individual window to contain its > window-local tabbar? I mean tabs like in a web browser :) Unfortunately, web browers do not have windows. That doesn't mean that Emacs could not have web-browser-like frames which do not allow windows --- and info documentation and manual pages could be displayed in them. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 15:35 ` hw @ 2018-09-04 16:44 ` Eli Zaretskii 2018-09-05 22:21 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-04 16:44 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, psainty, emacs-devel, juri, flexibeast > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, radon.neon@gmail.com, Phil Sainty <psainty@orcon.net.nz>, Emacs development discussions <emacs-devel@gnu.org>, Eli Zaretskii <eliz@gnu.org>, flexibeast@gmail.com > Date: Tue, 04 Sep 2018 17:35:12 +0200 > > Who would use word-wise movement while reading info documents? Everybody. For starters, suppose you want to copy/paste some text from the manual to somewhere else. And there are many more use cases that need fine-grained cursor motion in Info buffers. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 16:44 ` Eli Zaretskii @ 2018-09-05 22:21 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-05 22:21 UTC (permalink / raw) To: Eli Zaretskii Cc: spacibba, radon.neon, psainty, juri, emacs-devel, flexibeast Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, radon.neon@gmail.com, Phil Sainty >> <psainty@orcon.net.nz>, Emacs development discussions >> <emacs-devel@gnu.org>, Eli Zaretskii <eliz@gnu.org>, >> flexibeast@gmail.com >> Date: Tue, 04 Sep 2018 17:35:12 +0200 >> >> Who would use word-wise movement while reading info documents? > > Everybody. For starters, suppose you want to copy/paste some text > from the manual to somewhere else. And there are many more use cases > that need fine-grained cursor motion in Info buffers. Word-wise motion is anything but fine-grained, and you can still move word-wise with Ctrl-left and Ctrl-right. Did you set your key repeat to be utterly slow, or did you turn it off entirely? Other software also uses Ctrl-left and Ctrl-right, so why would anyone, especially new Emacs users, think of using something so unlikely as Alt-left or Alt-right for cursor movement? There are other reasons, too, like using Alt requires using two hands, which is ok for infrequent things like history movement, and silly for cursor movement. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 15:39 ` hw 2018-09-02 22:01 ` Juri Linkov @ 2018-09-03 7:29 ` martin rudalics 1 sibling, 0 replies; 216+ messages in thread From: martin rudalics @ 2018-09-03 7:29 UTC (permalink / raw) To: hw, Phil Sainty Cc: spacibba, radon.neon, flexibeast, Eli Zaretskii, Emacs development discussions > If Emacs can have Tabs and show its documentation with all the ease a > web browser can, life would be much easier for many users. Tabs are available via ELPA - see frame-tabs.el. martin ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-01 17:40 ` hw 2018-09-01 19:41 ` Joshua Branson 2018-09-01 22:13 ` Phil Sainty @ 2018-09-01 22:30 ` Drew Adams 2018-09-02 16:02 ` hw 2018-09-02 17:50 ` Ergus 3 siblings, 1 reply; 216+ messages in thread From: Drew Adams @ 2018-09-01 22:30 UTC (permalink / raw) To: hw, Davis Herring Cc: Eli Zaretskii, radon.neon, flexibeast, spacibba, Emacs development discussions > The issue in this case is not traditional key bindings vs. more recently > invented ones. The issue is that I very rarely use info and thus do not > remember its key bindings. Does the help page I got stuck in say > anywhere how to get back? The Info menu-bar menu has menu item `Back in history' (which, for consistency, should follow the convention and be `Back in History'). And next to that item you'll see its key: `l'. You'll also find item `Forward in history' and its key, `r' (think "left" and "right", if you like). And you'll find item `History' and its key, `L'. Try it, to see what it offers. In general, Emacs menus can be a good way to discover features (possible actions). > Why shouldn't Emacs adjust to changes and adopt new key bindings so it > becomes easier to use? Who says it hasn't changed key bindings and doesn't become easier to use? There are (often extended) discussions on this list pretty much every year about possible key binding changes. Good arguments are typically presented on multiple sides of the discussions. Keep in mind that people can have different ideas of what "easier to use" means, and people use different things in Emacs. Emacs is not a simple editor with only a few possible actions. > >> I have menu and toolbar disabled ... > > > > Complaining about navigability and discoverability of an interface > > while having disabled its most discoverable features meant to guide > > new users is a strange combination. > > I'm pointing out a usability issue and you call it complaining. If he had not used the word "complaining" would you perhaps get his point? Menus can help discovery. (Toolbar buttons not so much, IMO.) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 22:30 ` Drew Adams @ 2018-09-02 16:02 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-02 16:02 UTC (permalink / raw) To: Drew Adams Cc: spacibba, radon.neon, Emacs development discussions, Eli Zaretskii, flexibeast Drew Adams <drew.adams@oracle.com> writes: > [...] >> I'm pointing out a usability issue and you call it complaining. > > If he had not used the word "complaining" would you perhaps get his > point? Menus can help discovery. (Toolbar buttons not so much, IMO.) You could suggest making it impossible to disable the menu, at least for info buffers. Or what about including menu preferences into every mode, so that I can have the menu automatically enabled when it may be helpful and disabled when it is not? After all, it may be a bit unlikely that I disable the menu for modes I do not use often. That users can get easily stuck in the help page of the help system of a software when trying to read the documentation of this very software might indicate that it is not always a good idea for this software to stick to ideosyncratic key bindings just because the software is used by multiple persons and not easy to use for anyone. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 17:40 ` hw ` (2 preceding siblings ...) 2018-09-01 22:30 ` Drew Adams @ 2018-09-02 17:50 ` Ergus 3 siblings, 0 replies; 216+ messages in thread From: Ergus @ 2018-09-02 17:50 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, radon.neon, flexibeast, Emacs development discussions On Sat, Sep 01, 2018 at 07:40:48PM +0200, hw wrote: > Davis Herring <herring@lanl.gov> writes: > > > > > > And I don't remember how to get back when following links in > > > > > info documentation > > > > > > > > You can type 'l' (for "last"), or use the left arrow button on > > > > the tool bar, or click on "Info" in the menu bar and select > > > > "Back in History", or click on Info->History and select any node > > > > you visited at random. > > > > > > Ah! I remembered something about arrows and tried to use the > > > cursor keys --- how about making it so that you can go back and > > > forth in info with Alt+<Cursor> like you can do in web browsers? > > > > There is the usual issue of Emacs' traditional keybindings clashing > > with those from other (usually newer) domains: Alt generally meaning > > Meta, M-left/M-right are already used for backward-/forward-word. > > Meta seems to be ESC. Alt doesn't do anything like what ESC does, and > I inevitably have two entirely different Alt keys because I'm using a > German keyboard. > > Some key combinations that require some combination of Meta and > Control do not work at all. > > Who would ever press ESC-right or ESC-left to move a word? > > Hm, ok, I tried Alt, and it now does work, at least in an X frame. > Only the Alt key is on the wrong side of the keyboard, as is ESC, to > be useful for moving. > > Since when does Alt work the same as ESC? > Alt and ESC in fact doesn't work exactly the same way . Alt is Meta so it acts as a modifiers; so you need to press it simultaneously with some other (ex: M-x) to send anything. This is not emacs this is related with vt*** and traditiona ascii codes. ESC on the other hand is not a modifier; so it is not needed to press both keys at the time and you can press one after the other as a sequence (ex: ESC x) > > Of course, we also have M-b/M-f for those, but the point is that > > such changes do not come without cost. You are free to argue > > something along the lines of "For the future userbase of Emacs, > > consistency with the rest of the world is important enough to change > > X.", but that's quite a bit different from "how about...?". > > The issue in this case is not traditional key bindings vs. more > recently invented ones. The issue is that I very rarely use info and > thus do not remember its key bindings. Does the help page I got stuck > in say anywhere how to get back? > > Why shouldn't Emacs adjust to changes and adopt new key bindings so it > becomes easier to use? There have been many tries for this, so you have many options to test: - cua-mode: https://www.emacswiki.org/emacs/CuaMode - ergoemacs: http://ergoemacs.github.io/ - god-mode: https://github.com/chrisdone/god-mode - evil, vile and the rest of vim emulation packages. - And in spacemacs there is something new called hybrid mode. http://spacemacs.org/doc/DOCUMENTATION As you can see there are many different criteria about what is "better". On the other hand, I also agree that sometimes dealing with keybindings is a problem ( ex: C-i, C-?, C-: ) for that reason many new users use evil mode more and more (in spite of the modes changes designs are annoying and non intuitive). The extension of evil mode was, in fact, one of the reasons why I made some of the initial questions when started this thread. To ease the initial experience for new times, new users, new standards. Because it is possible in emacs... but after a lot of configuration. A good point in favor is that Emacs keybindings are the one by default in bash and many gui applications because the alternative is to make everything modal. > > > > I have menu and toolbar disabled ... The menu and tool bar are in fact examples of the emacs adaptations to changes. Hardcore users disable them because they want a clean screen... or a vim like experience. But it is there for a reason, specially when it is a new user. In a gui interaction problems with keybinds are avoided in part because no terminal filters the commands you sent to emacs and because the options are available with the mouse and the menus. I use emacs always in the terminal because of my work and the better or worse behavior strongly depends if I am using xterm, gnome-terminal or termite... but that's not an emacs issue. (For example binding C-i was a harder task to what I expected, and I only could do it with xterm). Make everything gui and terminal compatible with everything new and backward compatible is very difficult, specially after 30 years. > > > > Complaining about navigability and discoverability of an interface > > while having disabled its most discoverable features meant to guide > > new users is a strange combination. > > I'm pointing out a usability issue and you call it complaining. That > must be the right attitude. > > Fine, I'll give vim a try. > OK, if you just want an editor, you don't plan to extend it or personalize..., just follow the editor's rules, you can deal with the mode changes constantly... go for it, it is a good editor, but only that, an editor. Then try to change any default keybinding in vim design.... propose that... good look... I came from there a long time ago. They are still with hjkl as arrows. And using the real arrows is a kind of capital sin with no serious arguments... > > PS: I tried vim in the meantime, and I'll probably switch. > You are free :) > > > Basically, I want to use the Emacs server the usual way how you > > > use any server, like a web server or an ssh server or an XMPP > > > server. > > > > Or an X server, which is attached to the hardware that faces the > > user? There's more than one way to think of the word. > > I don't want it to use like an X server, and there are always many > ways to think of all words. > ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 20:52 ` hw 2018-08-29 22:12 ` Filipp Gunbin 2018-08-30 2:12 ` Davis Herring @ 2018-08-30 13:44 ` Eli Zaretskii 2018-08-31 0:40 ` hw 2 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-30 13:44 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, flexibeast, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org > Date: Wed, 29 Aug 2018 22:52:40 +0200 > > The whole section about the --tramp-prefix= option confused me. It has an example, which should have cleared up things. However, I'm not yet convinced that option is for your use case, because I don't yet understand your use case well enough. > I have menu and toolbar disabled ... Unless you loathe the mouse, C-mouse-3 will pop up the same menu as the one that would have been available from the menu bar. > I ended up getting stuck in the help documentation of info and > actually had to kill the buffer to be able to start over because I > couldn't get anywhere else from there. Typing 'q' (for "quit") would have been a better and easier way out. But there's nothing wrong with killing the Info buffer, either. > >> And what file is there to access when I want an X frame? > > > > When you invoke emacsclient, you usually ask it to visit a file, > > right? > > Wrong; the files are usually already loaded, either because Emacs keeps > running on the server, or because desktop-mode has already restored > them. That's irrelevant, because eventually you'd want to access files. That's what Emacs is for, right? > I'd like to use the Emacs server that runs remotely on the server from > my workstation with an emacsclient running locally on the workstation > directly without X11 forwarding via ssh for the frames, and I'd like to > be able to also use 'emacsclient -nw' on the workstation, using the > emacs server on the server. Is this a single use case or two separate ones? Assuming they are separate: for the first one, is using the -dDISPLAY option (without any client) what you want? And for the second, did you try using server-use-tcp? > I understand that the Emacs server can not open the virtual terminal > when using 'emacsclient -nw' because from its perspective, that is a > remote file. I'm afraid I don't understand why you need to run "emacsclient -nw" on another machine. Why not remotely login and run emacsclient there? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-30 13:44 ` Eli Zaretskii @ 2018-08-31 0:40 ` hw 2018-09-01 18:47 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-08-31 0:40 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, radon.neon, flexibeast, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org >> Date: Wed, 29 Aug 2018 22:52:40 +0200 >> >> The whole section about the --tramp-prefix= option confused me. > > It has an example, which should have cleared up things. However, I'm > not yet convinced that option is for your use case, because I don't > yet understand your use case well enough. I'm not sure, either. >> I have menu and toolbar disabled ... > > Unless you loathe the mouse, C-mouse-3 will pop up the same menu as > the one that would have been available from the menu bar. I usually use (toggle-menu-bar-mode-from-frame). In this case, I simply didn't think of turning on the menu, or of using it. >> I ended up getting stuck in the help documentation of info and >> actually had to kill the buffer to be able to start over because I >> couldn't get anywhere else from there. > > Typing 'q' (for "quit") would have been a better and easier way out. > But there's nothing wrong with killing the Info buffer, either. I tried that. When you run (info) again, you're back at the same help page. 'q' does not actually quit such buffers. >> >> And what file is there to access when I want an X frame? >> > >> > When you invoke emacsclient, you usually ask it to visit a file, >> > right? >> >> Wrong; the files are usually already loaded, either because Emacs keeps >> running on the server, or because desktop-mode has already restored >> them. > > That's irrelevant, because eventually you'd want to access files. > That's what Emacs is for, right? Sure, and it may not be irrelevant. Visiting a file is different from not visiting one. >> I'd like to use the Emacs server that runs remotely on the server from >> my workstation with an emacsclient running locally on the workstation >> directly without X11 forwarding via ssh for the frames, and I'd like to >> be able to also use 'emacsclient -nw' on the workstation, using the >> emacs server on the server. > > Is this a single use case or two separate ones? I guess it is two variants of the same case: using the terminal in one and an X frame in the other variant. It would be the same case because in any case, I'm trying to use emacsclient with a remote Emacs server. > Assuming they are separate: for the first one, is using the -dDISPLAY > option (without any client) what you want? And for the second, did > you try using server-use-tcp? I tried both. Without the -d option, emacs and emacsclient both seem to ignore the DISPLAY variable, and only with -d, they try to use the display they should use. >> I understand that the Emacs server can not open the virtual terminal >> when using 'emacsclient -nw' because from its perspective, that is a >> remote file. > > I'm afraid I don't understand why you need to run "emacsclient -nw" on > another machine. Why not remotely login and run emacsclient there? That's because I want to use emacsclient with a remote Emacs server and because I would have to log in to run emacsclient on the server. I wouldn't be able to use Emacs in an X frame, either, unless I'd switch the monitor over to the server and run an X server there. If I wanted to do that, I'd need to put a dedicated graphics card into the server to get a decent picture, and I don't want to do that because then the server would consume more electricity (about 1.5 times as much). I also would have to use a keyboard that is connected to the server and end up with two keyboards on my desk, which doesn't fit very well. Why would I want to run the emacsclient on the same machine as the Emacs server? I tried that, and the only advantage was that I could use it to visit files in an already running Emacs session from the command line. Other than that, there were no advantages but disadvantages. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-31 0:40 ` hw @ 2018-09-01 18:47 ` Eli Zaretskii 2018-09-02 16:27 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-01 18:47 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, flexibeast, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org > Date: Fri, 31 Aug 2018 02:40:30 +0200 > > > Assuming they are separate: for the first one, is using the -dDISPLAY > > option (without any client) what you want? And for the second, did > > you try using server-use-tcp? > > I tried both. Without the -d option, emacs and emacsclient both seem to > ignore the DISPLAY variable, and only with -d, they try to use the > display they should use. I think this is expected behavior. Does it solve your use case? If not, why not? > >> I understand that the Emacs server can not open the virtual terminal > >> when using 'emacsclient -nw' because from its perspective, that is a > >> remote file. > > > > I'm afraid I don't understand why you need to run "emacsclient -nw" on > > another machine. Why not remotely login and run emacsclient there? > > That's because I want to use emacsclient with a remote Emacs server and > because I would have to log in to run emacsclient on the server. I > wouldn't be able to use Emacs in an X frame, either, unless I'd switch > the monitor over to the server and run an X server there. You explicitly mentioned -nw, so how is X frame relevant here? > Why would I want to run the emacsclient on the same machine as the Emacs > server? Why do you want to run emacsclient at all? IOW, I still don't understand what is it that you are trying to accomplish. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 18:47 ` Eli Zaretskii @ 2018-09-02 16:27 ` hw 2018-09-02 17:12 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-02 16:27 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, radon.neon, flexibeast, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org >> Date: Fri, 31 Aug 2018 02:40:30 +0200 >> >> > Assuming they are separate: for the first one, is using the -dDISPLAY >> > option (without any client) what you want? And for the second, did >> > you try using server-use-tcp? >> >> I tried both. Without the -d option, emacs and emacsclient both seem to >> ignore the DISPLAY variable, and only with -d, they try to use the >> display they should use. > > I think this is expected behavior. Does it solve your use case? If > not, why not? I would call it an unusual way of specifying the display to use. Everything else seems to refer to the DISPLAY environment variable. I can't tell if it would solve the problem because I haven't tried all the options yet. I usually don't run the X server listening to the network, and I usually do not restart it. I also do not know if the X server needs to listen to the network to be able to use a remote Emacs server --- after all, the client runs locally and should be able to use the X server without it listening to the network. >> >> I understand that the Emacs server can not open the virtual terminal >> >> when using 'emacsclient -nw' because from its perspective, that is a >> >> remote file. >> > >> > I'm afraid I don't understand why you need to run "emacsclient -nw" on >> > another machine. Why not remotely login and run emacsclient there? >> >> That's because I want to use emacsclient with a remote Emacs server and >> because I would have to log in to run emacsclient on the server. I >> wouldn't be able to use Emacs in an X frame, either, unless I'd switch >> the monitor over to the server and run an X server there. > > You explicitly mentioned -nw, so how is X frame relevant here? It is relevent for 'emacsclient -nc'. >> Why would I want to run the emacsclient on the same machine as the Emacs >> server? > > Why do you want to run emacsclient at all? IOW, I still don't > understand what is it that you are trying to accomplish. I want to be able to use the same Emacs session with multiple different machines --- currently only two. Why does anyone run an ssh server? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 16:27 ` hw @ 2018-09-02 17:12 ` Eli Zaretskii 2018-09-04 15:43 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-02 17:12 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, flexibeast, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org > Date: Sun, 02 Sep 2018 18:27:27 +0200 > > > Why do you want to run emacsclient at all? IOW, I still don't > > understand what is it that you are trying to accomplish. > > I want to be able to use the same Emacs session with multiple different > machines --- currently only two. That's what -dDISPLAY option is about, AFAIK. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 17:12 ` Eli Zaretskii @ 2018-09-04 15:43 ` hw 2018-09-04 16:46 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-04 15:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, radon.neon, flexibeast, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org >> Date: Sun, 02 Sep 2018 18:27:27 +0200 >> >> > Why do you want to run emacsclient at all? IOW, I still don't >> > understand what is it that you are trying to accomplish. >> >> I want to be able to use the same Emacs session with multiple different >> machines --- currently only two. > > That's what -dDISPLAY option is about, AFAIK. But that would be unsave ... Using 'ssh -Y' didn't work too well, either. The Emacs daemon crashed when it wasn't able to draw the contents of the frames correctly and I had to close them because they were entirely unresponsive. So I'm back to running Emacs locally :/ ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 15:43 ` hw @ 2018-09-04 16:46 ` Eli Zaretskii 2018-09-05 22:40 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-04 16:46 UTC (permalink / raw) To: hw; +Cc: spacibba, radon.neon, flexibeast, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org > Date: Tue, 04 Sep 2018 17:43:32 +0200 > > >> I want to be able to use the same Emacs session with multiple different > >> machines --- currently only two. > > > > That's what -dDISPLAY option is about, AFAIK. > > But that would be unsave ... > > Using 'ssh -Y' didn't work too well, either. The Emacs daemon crashed > when it wasn't able to draw the contents of the frames correctly and I > had to close them because they were entirely unresponsive. What makes you think emacsclient will do any better in this scenario? After all, you still want the Emacs X frame be displayed on the same machine, and the data be moved over the same network. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 16:46 ` Eli Zaretskii @ 2018-09-05 22:40 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-05 22:40 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, radon.neon, flexibeast, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, radon.neon@gmail.com, flexibeast@gmail.com, emacs-devel@gnu.org >> Date: Tue, 04 Sep 2018 17:43:32 +0200 >> >> >> I want to be able to use the same Emacs session with multiple different >> >> machines --- currently only two. >> > >> > That's what -dDISPLAY option is about, AFAIK. >> >> But that would be unsave ... >> >> Using 'ssh -Y' didn't work too well, either. The Emacs daemon crashed >> when it wasn't able to draw the contents of the frames correctly and I >> had to close them because they were entirely unresponsive. > > What makes you think emacsclient will do any better in this scenario? That way, it worked a couple days until it crashed, which was better than using it directly, which didn't work at all and is unsafe. > After all, you still want the Emacs X frame be displayed on the same > machine, and the data be moved over the same network. X frames could be displayed on both machines (I'm usually not running an X session on the server, but I could) and would usually be displayed on the remote machine. That is what 'ssh -Y' provides; you can set DISPLAY to point to the remote machine, run the program locally and have everything displayed remotely --- without the remote X server listening to the network and the data transfer encrypted, all like magic. That means you log in to the remote machine with 'ssh -Y', set DISPLAY and start some program on the remote machine, and the program uses the local X session like programs running locally do. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 1:33 ` hw 2018-08-26 14:37 ` Eli Zaretskii @ 2018-08-30 23:30 ` Radon Rosborough 2018-09-01 18:25 ` hw 1 sibling, 1 reply; 216+ messages in thread From: Radon Rosborough @ 2018-08-30 23:30 UTC (permalink / raw) To: hw; +Cc: spacibba, flexibeast, Eli Zaretskii, emacs-devel [-- Attachment #1: Type: text/plain, Size: 2378 bytes --] > How is it relevant whether it takes 50ms more or less to start > Emacs? Because I can notice a difference of 50ms in a delay that happens very frequently. And yes, I restart Emacs very frequently. Easily a dozen times a day if I am doing active development on my Emacs configuration, which happens often. > Is that even within the error margin of the measurements? Sure, there's some variation (although usually less than 150ms). But the mean value going down by 50ms is equally valuable regardless of the variance. > I just keep Emacs running on my server in a tmux session. I know that works for you (and many others), but it doesn't work for me. The reason it doesn't work for me is that I develop very actively on my Emacs configuration. This means that Emacs needs to be restarted frequently to avoid outdated configuration from causing problems (which, yes, can be worked around easily by evaluating code in the current session -- but it's a lot easier to just restart and wait half a second, with no thought required). The Emacs server also has some big usability problems for me (not bugs, but just things that make me personally prefer not to use it). Firstly, the mode line highlighting is shared between all sessions, and doesn't behave in the way one might expect if one is used to launching Emacs sessions directly. Secondly, it's not easy to share an Emacs server between graphical and terminal sessions -- so I'd need to run two servers, and the problem of having Emacs servers with outdated configuration gets twice as bad. > you can't keep up with me anyway ;P Fair enough. My configuration loads and quits a tty frame in 500ms, whereas emacsclient does the same in only 100ms. For me, the usability problems of the server are worth 400ms to avoid, since I don't pop in and out of Emacs to edit different files, only to reload my configuration. There's not really any point in arguing about which way is "better". If you want your Emacs state to be clean in the face of a rapidly changing configuration, it's better to not use the server. If you don't care about that, nor are you bothered by any of the problems I mentioned above, then it's better to use the server. It just depends on your preferences -- but I want to make it clear that there *are* reasons that some people don't use the server, and actually do care about init time. Best, Radon [-- Attachment #2: Type: text/html, Size: 2936 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-30 23:30 ` Radon Rosborough @ 2018-09-01 18:25 ` hw 2018-09-02 19:05 ` Radon Rosborough 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-01 18:25 UTC (permalink / raw) To: Radon Rosborough; +Cc: spacibba, flexibeast, Eli Zaretskii, emacs-devel Radon Rosborough <radon.neon@gmail.com> writes: >> How is it relevant whether it takes 50ms more or less to start >> Emacs? > > Because I can notice a difference of 50ms in a delay that happens very > frequently. And yes, I restart Emacs very frequently. Easily a dozen > times a day if I am doing active development on my Emacs > configuration, which happens often. Are you sure you notice a difference of 0.05 seconds? Even if, this difference adds up to 0.6 seconds over a day, i. e. over 16 hours, when you start Emacs a dozen times. That means within a period of 57600 seconds, you notice a difference of 0.6 seconds, which is 0.001%. Seriously? >> Is that even within the error margin of the measurements? > > Sure, there's some variation (although usually less than 150ms). But > the mean value going down by 50ms is equally valuable regardless of > the variance. Are you sure you notice a difference of 0.05 seconds when the variance is around 0.15 seconds anyway? >> I just keep Emacs running on my server in a tmux session. > > I know that works for you (and many others), but it doesn't work for > me. The reason it doesn't work for me is that I develop very actively > on my Emacs configuration. This means that Emacs needs to be restarted > frequently to avoid outdated configuration from causing problems > (which, yes, can be worked around easily by evaluating code in the > current session -- but it's a lot easier to just restart and wait half > a second, with no thought required). Ok, keeping it running won't work for you. > The Emacs server also has some big usability problems for me (not > bugs, but just things that make me personally prefer not to use it). > Firstly, the mode line highlighting is shared between all sessions, > and doesn't behave in the way one might expect if one is used to > launching Emacs sessions directly. Oh, I didn't mean the Emacs server; I can just use Emacs in a tmux session and a terminal, connecting with ssh to the server. > Secondly, it's not easy to share an Emacs server between graphical and > terminal sessions -- so I'd need to run two servers, and the problem > of having Emacs servers with outdated configuration gets twice as bad. ssh -Y server emacsclient -nc emacsclient -nw How is this difficult? >> you can't keep up with me anyway ;P > > Fair enough. My configuration loads and quits a tty frame in 500ms, > whereas emacsclient does the same in only 100ms. For me, the usability > problems of the server are worth 400ms to avoid, since I don't pop in > and out of Emacs to edit different files, only to reload my > configuration. no fair comparison when you can't let it run How do you even measure such tiny amounts of time? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 18:25 ` hw @ 2018-09-02 19:05 ` Radon Rosborough 2018-09-02 20:42 ` Basil L. Contovounesios 2018-09-04 15:57 ` hw 0 siblings, 2 replies; 216+ messages in thread From: Radon Rosborough @ 2018-09-02 19:05 UTC (permalink / raw) To: hw; +Cc: spacibba, flexibeast, Eli Zaretskii, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1840 bytes --] > Are you sure you notice a difference of 0.05 seconds? Yes, actually. I wouldn't notice a difference of 0.05 seconds in something that takes 2 seconds to run, but I certainly will in something that takes 0.5 seconds to run. That's 10%, after all. There's also the fact that 0.5 seconds is such a short amount of time that I really can't go and do anything else with my brain while I'm waiting. So all of my attention remains focused on the task at hand, namely waiting for Emacs to start. This is another likely explanation for why I notice such a short time difference. > Are you sure you notice a difference of 0.05 seconds when the > variance is around 0.15 seconds anyway? Yes, in fact, I am. > I can just use Emacs in a tmux session and a terminal, connecting > with ssh to the server. If you are using emacsclient, then I am pretty sure you are using the Emacs server. The server does not have to be headless -- you can start it from an otherwise normal Emacs instance. The Emacs server does not work for my workflow even when I run it on the same machine that I'm connecting from. Introducing network latency into the mix would just make things even worse. > ssh -Y server > emacsclient -nc > emacsclient -nw > > How is this difficult? In my experience, my color theme is totally broken when I connect to a graphical Emacs server with a tty client, although it works fine in both graphical and tty Emacs instances individually. That is what I was referring to. I know of at least one other person who has extensive Emacs experience who does not know how to work around this problem, so it does not appear to be trivial. > no fair comparison when you can't let it run I am sorry but I do not understand this sentence. > How do you even measure such tiny amounts of time? With the time utility supported by most shells. [-- Attachment #2: Type: text/html, Size: 2333 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 19:05 ` Radon Rosborough @ 2018-09-02 20:42 ` Basil L. Contovounesios 2018-09-03 2:37 ` Radon Rosborough 2018-09-04 15:57 ` hw 1 sibling, 1 reply; 216+ messages in thread From: Basil L. Contovounesios @ 2018-09-02 20:42 UTC (permalink / raw) To: Radon Rosborough; +Cc: hw, spacibba, flexibeast, Eli Zaretskii, emacs-devel Radon Rosborough <radon.neon@gmail.com> writes: >> How do you even measure such tiny amounts of time? > > With the time utility supported by most shells. FWIW, there is the command emacs-init-time in lisp/time.el which reports to 1 d.p. the number of seconds it took load one's init files. For a different precision, you can perform time arithmetic on before-init-time and after-init-time yourself. -- Basil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 20:42 ` Basil L. Contovounesios @ 2018-09-03 2:37 ` Radon Rosborough 0 siblings, 0 replies; 216+ messages in thread From: Radon Rosborough @ 2018-09-03 2:37 UTC (permalink / raw) To: Basil L. Contovounesios Cc: hw, spacibba, flexibeast, Eli Zaretskii, emacs-devel [-- Attachment #1: Type: text/plain, Size: 379 bytes --] > FWIW, there is the command emacs-init-time in lisp/time.el which > reports to 1 d.p. the number of seconds it took load one's init > files. Of course. That is what I use to measure my init-file loading time, but it's also useful to know how long it really takes when you account for loading Emacs itself, and all that. For this, I use: $ time emacs -nw --eval "(kill-emacs)" [-- Attachment #2: Type: text/html, Size: 513 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 19:05 ` Radon Rosborough 2018-09-02 20:42 ` Basil L. Contovounesios @ 2018-09-04 15:57 ` hw 1 sibling, 0 replies; 216+ messages in thread From: hw @ 2018-09-04 15:57 UTC (permalink / raw) To: Radon Rosborough; +Cc: spacibba, flexibeast, Eli Zaretskii, emacs-devel Radon Rosborough <radon.neon@gmail.com> writes: >> Are you sure you notice a difference of 0.05 seconds? > > Yes, actually. I wouldn't notice a difference of 0.05 seconds in > something that takes 2 seconds to run, but I certainly will in > something that takes 0.5 seconds to run. That's 10%, after all. Still the 10% are a really short time. > There's also the fact that 0.5 seconds is such a short amount of time > that I really can't go and do anything else with my brain while I'm > waiting. Just think about something else while starting Emacs :) > [...] >> I can just use Emacs in a tmux session and a terminal, connecting >> with ssh to the server. > > If you are using emacsclient, then I am pretty sure you are using the > Emacs server. yes > The server does not have to be headless -- you can start it from an > otherwise normal Emacs instance. I know, yet I would like to use it remotely. > [...] >> ssh -Y server >> emacsclient -nc >> emacsclient -nw >> >> How is this difficult? > > In my experience, my color theme is totally broken when I connect to a > graphical Emacs server with a tty client, although it works fine in > both graphical and tty Emacs instances individually. That is what I > was referring to. Interesting, I was having the problem that the frames didn't get updated correctly when creating them, using a remote Emacs server. Yesterday, the frame remained unresponsive, so I created another one, but it was also unresponsive and I destroyed the windows. When I tried to create another frame, the Emacs daemon crashed. > I know of at least one other person who has extensive Emacs experience > who does not know how to work around this problem, so it does not > appear to be trivial. awww >> no fair comparison when you can't let it run > > I am sorry but I do not understand this sentence. If I could use an Emacs server remotely, the Emacs server would run on my server which runs all the time. You can't let Emacs run all the time because you change the configuration all the time. There is no fair comparison of startup times in such a case. >> How do you even measure such tiny amounts of time? > > With the time utility supported by most shells. Then you still need to exit Emacs to do that, which screws off the measurements. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 16:11 ` Radon Rosborough ` (2 preceding siblings ...) 2018-08-26 1:33 ` hw @ 2018-08-26 20:41 ` Richard Stallman 2018-08-27 2:33 ` Eli Zaretskii 3 siblings, 1 reply; 216+ messages in thread From: Richard Stallman @ 2018-08-26 20:41 UTC (permalink / raw) To: Radon Rosborough; +Cc: hw, spacibba, flexibeast, eliz, 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. ]]] > > If the messages are just printed in the message buffer it shouldn't > > impact too much the startup time I think. > To do the kind of analysis you are talking about, one would have to > hook into really basic subroutines like `setq`. If the goal is to give warnings when certain variables are set in .emacs, It might be possible to do an almost complete job of that by advising setq and a few friends around the loading of .emacs. People who want the highest startup speed could turn this off, and completely avoid the slowdown. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 20:41 ` Richard Stallman @ 2018-08-27 2:33 ` Eli Zaretskii 2018-08-27 22:51 ` Richard Stallman 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-27 2:33 UTC (permalink / raw) To: rms; +Cc: hw, spacibba, radon.neon, flexibeast, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: spacibba@aol.com, hw@adminart.net, eliz@gnu.org, > flexibeast@gmail.com, emacs-devel@gnu.org > Date: Sun, 26 Aug 2018 16:41:56 -0400 > > If the goal is to give warnings when certain variables are set in > .emacs, It might be possible to do an almost complete job of that by > advising setq and a few friends around the loading of .emacs. We have now Lisp watchpoints, which will do that much better and cleaner. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-27 2:33 ` Eli Zaretskii @ 2018-08-27 22:51 ` Richard Stallman 0 siblings, 0 replies; 216+ messages in thread From: Richard Stallman @ 2018-08-27 22:51 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, radon.neon, flexibeast, 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. ]]] > > If the goal is to give warnings when certain variables are set in > > .emacs, It might be possible to do an almost complete job of that by > > advising setq and a few friends around the loading of .emacs. > We have now Lisp watchpoints, which will do that much better and > cleaner. If that works well, it is fine with me. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 10:34 ` Ergus 2018-08-25 16:11 ` Radon Rosborough @ 2018-08-27 17:11 ` Filipp Gunbin 2018-08-28 3:41 ` Ergus 1 sibling, 1 reply; 216+ messages in thread From: Filipp Gunbin @ 2018-08-27 17:11 UTC (permalink / raw) To: Ergus; +Cc: hw, Eli Zaretskii, Alexis, emacs-devel On 25/08/2018 12:34 +0200, Ergus wrote: > Newer users will go straight to google/duckduckgo to make the > questions. Not only because they don't know exactly the name of what > they are looking for, but also because that's the stackoverflow's > culture. In the beginning they just want some code to copy and paste > in the config. What I read in this thread makes me think that all this applies more to Spacemacs and other derivatives. I doubt it makes sense to support in default Emacs some configuration(s) for ever-changing landscape of packages/plugins. Sounds like a job for a derivative's developers. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-27 17:11 ` Filipp Gunbin @ 2018-08-28 3:41 ` Ergus 0 siblings, 0 replies; 216+ messages in thread From: Ergus @ 2018-08-28 3:41 UTC (permalink / raw) To: Filipp Gunbin; +Cc: hw, Eli Zaretskii, Alexis, emacs-devel [-- Attachment #1: Type: text/plain, Size: 2033 bytes --] Emacs has survived because it has adapted to the times before. Sadly it is not getting enough new/younger users if we compare with vim. Why promote tje creation of more derivatives if we could have a bigger community and avoid effort duplication, keep control, some order and reduce entropy, keeping standar format for documentation and closer communication and interaction and developement? As well as more potential contributions/contributors/developers? Spacemacs is pretty good but it has changed the configuration experience too much removing flexibility and some control to the user; thats the only thing to complain about it. It automatizes many things and reqires too many packages and dependencies in the basic state and adding a new package requires to create a pluging with 3 files... That's not the idea and it is not a right way to introduce emacs to newer users(in my oppinion), in spite of the interaction experience is good enough. Why not just improve the emacs defaults and the first impression? It is basically some ergonomy and marketing. Emacs is and should stay being a software for final users, and not developed as a base for derivatives like a kernel or so. In spite of many derivatives have existed among the years. Adaptation is the key for surviving. Sent from BlueMail On 27 Aug 2018, 19:11, at 19:11, Filipp Gunbin <fgunbin@fastmail.fm> wrote: >On 25/08/2018 12:34 +0200, Ergus wrote: > >> Newer users will go straight to google/duckduckgo to make the >> questions. Not only because they don't know exactly the name of what >> they are looking for, but also because that's the stackoverflow's >> culture. In the beginning they just want some code to copy and paste >> in the config. > >What I read in this thread makes me think that all this applies more to >Spacemacs and other derivatives. I doubt it makes sense to support in >default Emacs some configuration(s) for ever-changing landscape of >packages/plugins. Sounds like a job for a derivative's developers. [-- Attachment #2: Type: text/html, Size: 2797 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 7:35 ` Alexis 2018-08-25 10:34 ` Ergus @ 2018-08-26 13:06 ` hw 2018-08-27 2:18 ` Ergus 1 sibling, 1 reply; 216+ messages in thread From: hw @ 2018-08-26 13:06 UTC (permalink / raw) To: Alexis; +Cc: Eli Zaretskii, spacibba, emacs-devel Alexis <flexibeast@gmail.com> writes: > hw <hw@adminart.net> writes: > >> Maybe Emacs should give us warnings when it discovers outdated, >> deprecated or useless settings in ~/.emacs. > > i imagine many people might want this; but many people might /not/ > want this if it has a noticeable impact on startup times. Startup > times don't usually have an impact on me personally, since i run an > Emacs server at machine startup and connect clients to that. From what > i've read, however, a number of people find even an extra 0.5s-1.0s in > startup to be significant when jumping in and out of a non-client > Emacs instance. So if this feature did have an impact on startup > times, people would want to be able to enable and disable it at will. Right, the check is more something that to enabled every know and then rather something that would need to be done on each start. How does 0.5--1 second more or less time needed for booting make a difference? >> get into documentation hell because it's hard to tell which >> documentation is up to date > > One of the pleasures i find in using Emacs is its extensive > accompanying documentation, documentation which (in my experience) is > typically far better maintained than that of many other > projects[1]. Yes :) And I learned from this thread that I need to pay more attention to the documentation. There is lots I haven't looked at yet, and it continues to evolve. I guess it just doesn't come to mind because I'm so much used to search the internet to find something. > As someone who has been using Emacs for around 20 years, > i very much appreciate the comprehensive NEWS file with each release, There is a NEWS file? > which allows me to quite quickly ascertain what changes have been made > that might affect my configuration and workflow (e.g. changed default > values). > > i say this because i'm wondering which area(s) of documentation you're > having these difficulties with? It was Ergus who finds this difficult. > If you're talking about the Emacs Wiki at emacswiki.org, well, as far > as i'm aware, that's not an official wiki, is it[2]? Nor is > wikemacs.org. i personally much prefer the latter to the former. Well, yes, it is what I find when I search, and it doesn't matter if something is official or not when I need to solve a particular problem because when the solution is good, what difference does it make? Documentation that can be found can always be old when the software it refers to is old. You always have to wonder if there is something more recent that makes the old documentation outdated or irrelevant. Emacs stands out in this because it has not only been around for a long time but continues to evolve at a relatively fast pace compared to other software that has also been around for ages. While old documentation for other software may still be relevant, old documentation for Emacs might not be because Emacs has moved on while the other software has not. > But i strongly feel that people's first destinations when searching > for documentation should be the Emacs Manual and the Emacs Lisp > Reference Manual - only after not being able to locate the information > in those manuals, making sure to make use their excellent indexes, > should one consider trying to find information on the two wikis. i > regularly find myself responding to "How do I do X in Emacs?" > questions with "Here's the relevant section of the relevant manual." Perhaps that's because it is so much easier and so much more a habit to enter some search term into a search engine and to browse the findings than it is to go through the documentation that comes with Emacs. > At any rate, one should certainly consider submitting a bug report > about inadequate or inaccurate documentation for functionality shipped > with Emacs. Even if no volunteer can immediately address it, at least > it's recorded as something for potential volunteers to work on. I continue to be amazed and delighted with how exceptionally responsive and interested the developers of Emacs are and how much help you can get when you only ask. This is just wonderful :) Making bug reports is worthwhile with Emacs because the developers take care of them and bugs do get fixed. All this is something other projects could learn a lot from. >> I had auto-complete working (until I disabled it because it got into >> my way by trying to automatically complete everything when I used >> Emacs for something I didn't install auto-complete for), installed >> from a git repo somewhere on github. > > Do you literally mean the `auto-complete.el' package and its > associated `ac-*' packages? Is that still maintained? cat ~/emacs/auto-complete/.git/config [...] [remote "origin"] url = https://github.com/auto-complete/auto-complete.git [...] It looks like the last commit was two years ago. I guess it was still maintained when I tried it four years ago :) > i'm using company` as my autocompletion framework, myself. But neither > is shipped with Emacs, and there's no index entry for `auto-complete' > or autocomplete' in the Emacs Manual, which probably comes as a > surprise to the many people who have come to expect autocompletion as > basic functionality in a programming environment .... Auto completion is worse than a phone ringing, a notification popping up on the screen, someone asking you a question and/or wanting you to do something or people talking in front of your office while you are trying to program. Auto completion is worse because these things are temporary and cause you to loose only anything between 10 minutes and 2 hours while auto completion interrupts you constantly and thus prevents you from getting anything programmed at all. So why would anyone want to torture themselves with auto completion? Gnus is shipped with Emacs. Have you ever tried to get it to work? > i think this is indeed a problem, but unfortunately, i don't have any > suggestions as to how it might be addressed. :-( I think if we could make configuration packages that handle all the dependencies and perhaps deal with alternatives, such packages could be made for particular use cases. > > [1] OpenBSD is probably the other project i think of when thinking of > excellence in documentation. Comparing `man 4 intro' for the Linux > kernel vs. `man 4 intro' for the OpenBSD kernel is eye-opening. I never looked at either ... "Section 4 of the manual describes special files (devices)." You must have different manpages. > [2] i have the impression that many people assume it /is/ an official > Emacs wiki, so if its not, this fact might need to be somehow > emphasised or made more clear. Is there another one? Maybe it also needs to point to the documentation that comes with Emacs and tell people to always lock there to verify the information in the wiki. But then, do I need to learn elisp before I could have a function like (goto-matching-fence) because I'm supposed to verify that it is not out of date? Perhaps nowadays, a wiki is the way to go because it suits the way how people find information. Long ago, we were reading the documentation that came packaged with the software because we didn't have the kind of internet access we now have. Nowadays, we wish that documentation came with the software like it used to. Would it be possible to convert the documentation that comes with Emacs into a wiki? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 13:06 ` hw @ 2018-08-27 2:18 ` Ergus 0 siblings, 0 replies; 216+ messages in thread From: Ergus @ 2018-08-27 2:18 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, Alexis, emacs-devel On Sun, Aug 26, 2018 at 03:06:35PM +0200, hw wrote: >Alexis <flexibeast@gmail.com> writes: > >> hw <hw@adminart.net> writes: >> >>> Maybe Emacs should give us warnings when it discovers outdated, >>> deprecated or useless settings in ~/.emacs. >> >> i imagine many people might want this; but many people might /not/ >> want this if it has a noticeable impact on startup times. Startup >> times don't usually have an impact on me personally, since i run an >> Emacs server at machine startup and connect clients to that. From what >> i've read, however, a number of people find even an extra 0.5s-1.0s in >> startup to be significant when jumping in and out of a non-client >> Emacs instance. So if this feature did have an impact on startup >> times, people would want to be able to enable and disable it at will. > >Right, the check is more something that to enabled every know and then >rather something that would need to be done on each start. > >How does 0.5--1 second more or less time needed for booting make a >difference? > >>> get into documentation hell because it's hard to tell which >>> documentation is up to date >> >> One of the pleasures i find in using Emacs is its extensive >> accompanying documentation, documentation which (in my experience) is >> typically far better maintained than that of many other >> projects[1]. > >Yes :) And I learned from this thread that I need to pay more attention >to the documentation. There is lots I haven't looked at yet, and it >continues to evolve. I guess it just doesn't come to mind because I'm >so much used to search the internet to find something. > >> As someone who has been using Emacs for around 20 years, >> i very much appreciate the comprehensive NEWS file with each release, > >There is a NEWS file? Yes, I usually look for it, but online :p > >> which allows me to quite quickly ascertain what changes have been made >> that might affect my configuration and workflow (e.g. changed default >> values). >> >> i say this because i'm wondering which area(s) of documentation you're >> having these difficulties with? > >It was Ergus who finds this difficult. When I started yes, it was difficult. Mainly because the names, the terms and all the environment were all new and very different of everything else I used before. Some keybindings in the documentations didn't work because they were conflicting with the gnome-terminal ones (as I was using ssh connections with no tramp). There was not redo in the usual way (still very confusing for me). And many configurations and help I found in the web was in Lisp which is also very different from python, C, Ruby, Fortran... > >> If you're talking about the Emacs Wiki at emacswiki.org, well, as far >> as i'm aware, that's not an official wiki, is it[2]? Nor is >> wikemacs.org. i personally much prefer the latter to the former. > >Well, yes, it is what I find when I search, and it doesn't matter if >something is official or not when I need to solve a particular problem >because when the solution is good, what difference does it make? > >Documentation that can be found can always be old when the software it >refers to is old. You always have to wonder if there is something more >recent that makes the old documentation outdated or irrelevant. > >Emacs stands out in this because it has not only been around for a long >time but continues to evolve at a relatively fast pace compared to other >software that has also been around for ages. While old documentation >for other software may still be relevant, old documentation for Emacs >might not be because Emacs has moved on while the other software has >not. > >> But i strongly feel that people's first destinations when searching >> for documentation should be the Emacs Manual and the Emacs Lisp >> Reference Manual - only after not being able to locate the information >> in those manuals, making sure to make use their excellent indexes, >> should one consider trying to find information on the two wikis. i >> regularly find myself responding to "How do I do X in Emacs?" >> questions with "Here's the relevant section of the relevant manual." > >Perhaps that's because it is so much easier and so much more a habit to >enter some search term into a search engine and to browse the findings >than it is to go through the documentation that comes with Emacs. > >> At any rate, one should certainly consider submitting a bug report >> about inadequate or inaccurate documentation for functionality shipped >> with Emacs. Even if no volunteer can immediately address it, at least >> it's recorded as something for potential volunteers to work on. > >I continue to be amazed and delighted with how exceptionally responsive >and interested the developers of Emacs are and how much help you can get >when you only ask. This is just wonderful :) > >Making bug reports is worthwhile with Emacs because the developers take >care of them and bugs do get fixed. All this is something other >projects could learn a lot from. > >>> I had auto-complete working (until I disabled it because it got into >>> my way by trying to automatically complete everything when I used >>> Emacs for something I didn't install auto-complete for), installed >>> from a git repo somewhere on github. >> >> Do you literally mean the `auto-complete.el' package and its >> associated `ac-*' packages? Is that still maintained? > > >cat ~/emacs/auto-complete/.git/config >[...] >[remote "origin"] > url = https://github.com/auto-complete/auto-complete.git >[...] > > >It looks like the last commit was two years ago. I guess it was still >maintained when I tried it four years ago :) > >> i'm using company` as my autocompletion framework, myself. But neither >> is shipped with Emacs, and there's no index entry for `auto-complete' >> or autocomplete' in the Emacs Manual, which probably comes as a >> surprise to the many people who have come to expect autocompletion as >> basic functionality in a programming environment .... > >Auto completion is worse than a phone ringing, a notification popping up >on the screen, someone asking you a question and/or wanting you to do >something or people talking in front of your office while you are trying >to program. Auto completion is worse because these things are temporary >and cause you to loose only anything between 10 minutes and 2 hours >while auto completion interrupts you constantly and thus prevents you >from getting anything programmed at all. > >So why would anyone want to torture themselves with auto completion? > Because they look for: "auto completion emacs" and that's the result they get. So the experience is bad and they move to sublime because emacs completion was bad. > >Gnus is shipped with Emacs. Have you ever tried to get it to work? > I tried but it didn't work for me, and in spite there are alternatives like mu4e the documentation directs you to gnus. >> i think this is indeed a problem, but unfortunately, i don't have any >> suggestions as to how it might be addressed. :-( > >I think if we could make configuration packages that handle all the >dependencies and perhaps deal with alternatives, such packages could be >made for particular use cases. > >> >> [1] OpenBSD is probably the other project i think of when thinking of >> excellence in documentation. Comparing `man 4 intro' for the Linux >> kernel vs. `man 4 intro' for the OpenBSD kernel is eye-opening. > >I never looked at either ... > >"Section 4 of the manual describes special files (devices)." > >You must have different manpages. > >> [2] i have the impression that many people assume it /is/ an official >> Emacs wiki, so if its not, this fact might need to be somehow >> emphasised or made more clear. > >Is there another one? Maybe it also needs to point to the documentation >that comes with Emacs and tell people to always lock there to verify the >information in the wiki. But then, do I need to learn elisp before I >could have a function like (goto-matching-fence) because I'm supposed to >verify that it is not out of date? > >Perhaps nowadays, a wiki is the way to go because it suits the way how >people find information. Long ago, we were reading the documentation >that came packaged with the software because we didn't have the kind of >internet access we now have. Nowadays, we wish that documentation came >with the software like it used to. > >Would it be possible to convert the documentation that comes with Emacs >into a wiki? > > +1 to this. And a foro where the users can interact dynamically, and give answers each other, so all the support does not fall on the emacs developers, but the users can help each other. I told before: a mailing list is so 1998. We need some feedback from the users if we want more/newer users. Vim made like a features claim page where the users report what they want to see in the next releases, and they vote for them. So the developers with a simple look knows what is coming next ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 1:31 ` hw 2018-08-25 7:35 ` Alexis @ 2018-08-25 8:19 ` Eli Zaretskii 2018-08-26 14:25 ` Noam Postavsky 2018-08-26 15:52 ` hw 2018-09-03 22:15 ` debounce (was: Some developement questions) Juri Linkov 2 siblings, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-08-25 8:19 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org > Date: Sat, 25 Aug 2018 03:31:18 +0200 > > >> (setq Man-width 75) > > > > Emacs nowadays calculates the width dynamically, depending on the > > dimensions of the window. > > Why not make Emacs dynamically size it's windows to the width of the > display first? ;~O > > <Rant> > > Yes, Emacs can do that since a while, and has made it an extremely > annoying default. Who wants to read manual pages or other text when it > has been formatted to be about 140--300 characters per line wide (and > way more than that if my eyes were what they used to be)? > [...] > This is a good example for a default that really should be changed. Feel free to file a bug report about it. > Think of what Ergus pointed out in his last post[1] about the > difficulties users and Emacs are experiencing: > > > + find out about Emacs > + install Emacs > + find out about package manager of Emacs > + configure package manager, add repos > + somehow get an idea of what packages to install > + get into dependency hell and alternatives hell > + get into documentation hell because it's hard to tell which > documentation is up to date > + get nothing to work I agree that practical steps towards helping new users is something that are very welcome. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 8:19 ` Eli Zaretskii @ 2018-08-26 14:25 ` Noam Postavsky 2018-08-26 15:52 ` hw 1 sibling, 0 replies; 216+ messages in thread From: Noam Postavsky @ 2018-08-26 14:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, Emacs developers On 25 August 2018 at 04:19, Eli Zaretskii <eliz@gnu.org> wrote: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org >> Date: Sat, 25 Aug 2018 03:31:18 +0200 >> >> >> (setq Man-width 75) >> > >> > Emacs nowadays calculates the width dynamically, depending on the >> > dimensions of the window. >> >> Why not make Emacs dynamically size it's windows to the width of the >> display first? ;~O >> >> <Rant> >> >> Yes, Emacs can do that since a while, and has made it an extremely >> annoying default. Who wants to read manual pages or other text when it >> has been formatted to be about 140--300 characters per line wide (and >> way more than that if my eyes were what they used to be)? >> [...] >> This is a good example for a default that really should be changed. > > Feel free to file a bug report about it. See also Bug#9385. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=9385 ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-25 8:19 ` Eli Zaretskii 2018-08-26 14:25 ` Noam Postavsky @ 2018-08-26 15:52 ` hw 2018-08-26 16:23 ` Stefan Monnier 2018-08-27 1:54 ` Ergus 1 sibling, 2 replies; 216+ messages in thread From: hw @ 2018-08-26 15:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org >> Date: Sat, 25 Aug 2018 03:31:18 +0200 >> >> >> (setq Man-width 75) >> > >> > Emacs nowadays calculates the width dynamically, depending on the >> > dimensions of the window. >> >> Why not make Emacs dynamically size it's windows to the width of the >> display first? ;~O >> >> <Rant> >> >> Yes, Emacs can do that since a while, and has made it an extremely >> annoying default. Who wants to read manual pages or other text when it >> has been formatted to be about 140--300 characters per line wide (and >> way more than that if my eyes were what they used to be)? >> [...] >> This is a good example for a default that really should be changed. > > Feel free to file a bug report about it. Hm, ok, I did that (no response yet). Let's see what happens. >> Think of what Ergus pointed out in his last post[1] about the >> difficulties users and Emacs are experiencing: > [...] >> + get nothing to work > > I agree that practical steps towards helping new users is something > that are very welcome. How about getting new users in the first place? Ergus is right that Emacs is not the default editor --- I always have to explicitly install it and it always annoys me that it isn't installed by default for any of Centos, Debian, Gentoo, Fedora. Ubuntu and arch probably don't have a good default, either. Instead, you always need to guess which editor might be installed unless you installed one, and that is usually at least vi, which I don't get along with. I wouldn't know how to sway who ever decides what is being installed by default in any of these distributions to make Emacs a default. One reason for it not to be the default may be that it makes for somewhat large packages maybe. It is questionable if that should still be a concern nowadays. Imagine that, it may even be the only reason. And it remains that way only because nobody thought about it yet. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 15:52 ` hw @ 2018-08-26 16:23 ` Stefan Monnier 2018-08-27 4:59 ` hw 2018-08-27 1:54 ` Ergus 1 sibling, 1 reply; 216+ messages in thread From: Stefan Monnier @ 2018-08-26 16:23 UTC (permalink / raw) To: emacs-devel > How about getting new users in the first place? Ergus is right that > Emacs is not the default editor --- I always have to explicitly install > it and it always annoys me that it isn't installed by default for any of > Centos, Debian, Gentoo, Fedora. Ubuntu and arch probably don't have a > good default, either. Instead, you always need to guess which editor > might be installed unless you installed one, and that is usually at > least vi, which I don't get along with. AFAIK even `vi` is not installed by default. IOW, by default, there is basically no text editor installed. And while I also find it annoying I think it makes a lot of sense: the majority of computer users don't even know what is a text editor, nor would they know what to do with one. Stefan ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 16:23 ` Stefan Monnier @ 2018-08-27 4:59 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-08-27 4:59 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >> How about getting new users in the first place? Ergus is right that >> Emacs is not the default editor --- I always have to explicitly install >> it and it always annoys me that it isn't installed by default for any of >> Centos, Debian, Gentoo, Fedora. Ubuntu and arch probably don't have a >> good default, either. Instead, you always need to guess which editor >> might be installed unless you installed one, and that is usually at >> least vi, which I don't get along with. > > AFAIK even `vi` is not installed by default. It seems to be in Fedora. Debian uses nano; I don't know if vi is still installed along with it. > IOW, by default, there is basically no text editor installed. And while > I also find it annoying I think it makes a lot of sense: the majority of > computer users don't even know what is a text editor, nor would they > know what to do with one. There isn't really much to do with a computer without an editor. That is how the majority of people doesn't know what they can do with a computer, and how they can not be called "users". So it doesn't make sense not to install an editor by default. Someone might find it and learn and eventually evolve into a user. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-26 15:52 ` hw 2018-08-26 16:23 ` Stefan Monnier @ 2018-08-27 1:54 ` Ergus 2018-08-27 14:46 ` Eli Zaretskii 1 sibling, 1 reply; 216+ messages in thread From: Ergus @ 2018-08-27 1:54 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, emacs-devel On Sun, Aug 26, 2018 at 05:52:14PM +0200, hw wrote: >Eli Zaretskii <eliz@gnu.org> writes: > >>> From: hw <hw@adminart.net> >>> Cc: spacibba@aol.com, emacs-devel@gnu.org >>> Date: Sat, 25 Aug 2018 03:31:18 +0200 >>> >>> >> (setq Man-width 75) >>> > >>> > Emacs nowadays calculates the width dynamically, depending on the >>> > dimensions of the window. >>> >>> Why not make Emacs dynamically size it's windows to the width of the >>> display first? ;~O >>> >>> <Rant> >>> >>> Yes, Emacs can do that since a while, and has made it an extremely >>> annoying default. Who wants to read manual pages or other text when it >>> has been formatted to be about 140--300 characters per line wide (and >>> way more than that if my eyes were what they used to be)? >>> [...] >>> This is a good example for a default that really should be changed. >> >> Feel free to file a bug report about it. > >Hm, ok, I did that (no response yet). Let's see what happens. > >>> Think of what Ergus pointed out in his last post[1] about the >>> difficulties users and Emacs are experiencing: >> [...] >>> + get nothing to work >> >> I agree that practical steps towards helping new users is something >> that are very welcome. > use-packages can make the life much more easier handling dependencies in a way that it is not so esoteric to understand the configuration. I can't understand why melpa/elpa configuration is not default in emacs. Same for use-package. So new users can find no so cumbersome adding a new package in the documentation, as well as migration between machines. I thing there should be also an emacs tutorial centered only in text editing, because the basic tutorial is too simple in that field. The vim's tutorial is all about editing (obviously), but it gives a lot of hints and keybinds to move/edit faster or associate keys with actions. There are some keybinds in emacs that I discovered almost by accident, same with some commands which names are a bit tricky. >How about getting new users in the first place? Ergus is right that >Emacs is not the default editor --- I always have to explicitly install >it and it always annoys me that it isn't installed by default for any of >Centos, Debian, Gentoo, Fedora. Ubuntu and arch probably don't have a >good default, either. Ubuntu has vim, nano, ed and all the others, but nor emacs. Arch on the other hand has nothing by default, but manjaro also has vim in all it's flavors. >Instead, you always need to guess which editor >might be installed unless you installed one, and that is usually at >least vi, which I don't get along with. > >I wouldn't know how to sway who ever decides what is being installed by >default in any of these distributions to make Emacs a default. One >reason for it not to be the default may be that it makes for somewhat >large packages maybe. It is questionable if that should still be a >concern nowadays. > I am relatively new in this, but in general if we ask to the people who maintains those distributions it will be not a big issue to include emacs in the defaults packages in the future, the restrictions came from the times when they where restricted to 700Mb for the distros. But I think that we must make some changes for the first impression first. Talking to gnome, kde or the other is something doable too. Vim for example provides a vimrc personalized per distributions to integrate itself better in the environment. >Imagine that, it may even be the only reason. And it remains that way >only because nobody thought about it yet. > Probably that's it. But we could change that with a couple of arguments and emails. This is also an indication that most of the maintainers in these projects are using vim (or something else) and not emacs. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-27 1:54 ` Ergus @ 2018-08-27 14:46 ` Eli Zaretskii 2018-08-28 21:26 ` Richard Stallman 2018-08-29 15:39 ` Phillip Lord 0 siblings, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-08-27 14:46 UTC (permalink / raw) To: Ergus; +Cc: hw, emacs-devel > Date: Mon, 27 Aug 2018 03:54:22 +0200 > From: Ergus <spacibba@aol.com> > Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org > > I thing there should be also an emacs tutorial centered only in text > editing, because the basic tutorial is too simple in that field. If someone would like to write such a tutorial, and does a good job, I'm sure it will be welcome. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-27 14:46 ` Eli Zaretskii @ 2018-08-28 21:26 ` Richard Stallman 2018-08-29 15:39 ` Phillip Lord 1 sibling, 0 replies; 216+ messages in thread From: Richard Stallman @ 2018-08-28 21:26 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, 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 thing there should be also an emacs tutorial centered only in text > > editing, because the basic tutorial is too simple in that field. > If someone would like to write such a tutorial, and does a good job, > I'm sure it will be welcome. My idea was that after you get through the tutorial, you can read the manual. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-27 14:46 ` Eli Zaretskii 2018-08-28 21:26 ` Richard Stallman @ 2018-08-29 15:39 ` Phillip Lord 2018-09-01 13:59 ` Eli Zaretskii 1 sibling, 1 reply; 216+ messages in thread From: Phillip Lord @ 2018-08-29 15:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, Ergus, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Date: Mon, 27 Aug 2018 03:54:22 +0200 >> From: Ergus <spacibba@aol.com> >> Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org >> >> I thing there should be also an emacs tutorial centered only in text >> editing, because the basic tutorial is too simple in that field. > > If someone would like to write such a tutorial, and does a good job, > I'm sure it will be welcome. I did write a new tutorial which was designed for to come from the perspective of a new user of today. My hope was to do something a bit more intelligent with it -- with some screen shots and rich text, as well as highlighting for menu items, so I wrote it in org-mode. Alas I haven't had the time to actually integrate it into Emacs. https://raw.githubusercontent.com/phillord/emacs-tutorial/master/tutorial.org If someone has the time to do the integration it's nearly ready to go. To my mind, updating the tutorial would be a good thing just because it would give the impression that it is updateable, rather than a thing set in stone. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-29 15:39 ` Phillip Lord @ 2018-09-01 13:59 ` Eli Zaretskii 2018-09-02 3:11 ` Richard Stallman 2018-09-04 12:58 ` Phillip Lord 0 siblings, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-01 13:59 UTC (permalink / raw) To: Phillip Lord; +Cc: hw, spacibba, emacs-devel > From: phillip.lord@russet.org.uk (Phillip Lord) > Cc: Ergus <spacibba@aol.com>, hw@adminart.net, emacs-devel@gnu.org > Date: Wed, 29 Aug 2018 16:39:49 +0100 > > >> I thing there should be also an emacs tutorial centered only in text > >> editing, because the basic tutorial is too simple in that field. > > > > If someone would like to write such a tutorial, and does a good job, > > I'm sure it will be welcome. > > I did write a new tutorial which was designed for to come from the > perspective of a new user of today. > > My hope was to do something a bit more intelligent with it -- with some > screen shots and rich text, as well as highlighting for menu items, so I > wrote it in org-mode. Alas I haven't had the time to actually integrate > it into Emacs. > > https://raw.githubusercontent.com/phillord/emacs-tutorial/master/tutorial.org > > If someone has the time to do the integration it's nearly ready to > go. To my mind, updating the tutorial would be a good thing just because > it would give the impression that it is updateable, rather than a thing > set in stone. Thanks. That tutorial looks like a somewhat expanded version of our TUTORIAL; e.g., it has almost the same scope in terms of Emacs features. I thought, perhaps mistakenly, that we were talking about a tutorial for the next step -- for those who have read the original TUTORIAL and want to learn about more advanced issues related to text editing. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 13:59 ` Eli Zaretskii @ 2018-09-02 3:11 ` Richard Stallman 2018-09-02 17:52 ` Ergus 2018-09-04 13:07 ` Phillip Lord 2018-09-04 12:58 ` Phillip Lord 1 sibling, 2 replies; 216+ messages in thread From: Richard Stallman @ 2018-09-02 3:11 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, emacs-devel, phillip.lord [[[ 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 existing TUTORIAL file is designed so that you try out the commands while editing TUTORIAL itself. I get the impression that the proposed new tutorial doesn't do that. What are the intended advantages of the new one? -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 3:11 ` Richard Stallman @ 2018-09-02 17:52 ` Ergus 2018-09-04 15:20 ` Phillip Lord 2018-09-04 13:07 ` Phillip Lord 1 sibling, 1 reply; 216+ messages in thread From: Ergus @ 2018-09-02 17:52 UTC (permalink / raw) To: Richard Stallman; +Cc: hw, Eli Zaretskii, phillip.lord, emacs-devel I find the new one a little bit more simple, very basic, but some details are updated in a less technical language. It assumes that for new users coming from windows, vim, sublime, Visual Studio...; Emacs will be a more different (hard maybe) experience than what they expect and are used to. (For example coping with C-c, C-v, and having an undo and a redo option is an absolute standard thing today and it is still different in emacs; also nobody uses the words yank, kill, reinsert anymore, the people looks for how to cut, copy and paste) The actual tutorial is fine, but in my modest opinion I would like to suggest some pedagogical changes like divide it by numbered lessons, put numbers to the tasks, add summaries per lesson, some aesthetic horizontal lines... Please, give a look for example to the vimtutor. It has a very good approach in this aspects. Respecting to content maybe some details about using overwrite-mode (using the Insert key of course), moving/copping/switching lines/words/letters, interactive replace (M-%) shell commands (M-| and M-! and in-place insertion), insert-buffer/file and equivalent commands. Practical examples about killing N words or N lines and paste them somewhere else. Goto line is also important on the beginning. In i think that the emacs tutorial should explain at least the same points than vimtutor respecting to text edition because that's the first thing the user expects to do in emacs. If some edition actions in the vimtutor are not possible or very complex to do in emacs maybe we need to consider how to add them in a simpler way because they are very basic (for example copy the current line requires C-a C-SPC C-e M-w). These details are more important and basic for a new user than recursive editing modes or talking about multiple frames/windows in the first day. We should also mention there helpful things like which-key, ido-mode, linum which makes our lives easier. Does it makes sense? On Sat, Sep 01, 2018 at 11:11:48PM -0400, Richard Stallman 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 existing TUTORIAL file is designed so that you try out the commands >while editing TUTORIAL itself. > >I get the impression that the proposed new tutorial doesn't do that. > >What are the intended advantages of the new one? >-- >Dr Richard Stallman >President, Free Software Foundation (https://gnu.org, https://fsf.org) >Internet Hall-of-Famer (https://internethalloffame.org) > > > ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 17:52 ` Ergus @ 2018-09-04 15:20 ` Phillip Lord 0 siblings, 0 replies; 216+ messages in thread From: Phillip Lord @ 2018-09-04 15:20 UTC (permalink / raw) To: Ergus; +Cc: hw, Eli Zaretskii, Richard Stallman, emacs-devel Ergus <spacibba@aol.com> writes: > I find the new one a little bit more simple, very basic, but some > details are updated in a less technical language. It assumes that for > new users coming from windows, vim, sublime, Visual Studio...; Emacs > will be a more different (hard maybe) experience than what they expect > and are used to. Yep, I started off my assuming modern terminology, then associated the Emacs terminology with it. I think that this is important. > The actual tutorial is fine, but in my modest opinion I would like to > suggest some pedagogical changes like divide it by numbered lessons, put > numbers to the tasks, add summaries per lesson, some aesthetic > horizontal lines... Please, give a look for example to the vimtutor. It > has a very good approach in this aspects. All of this would make sense. In the end, my thought was to write the tutorial in org, then generate it either to info or to HTML, maybe pimping up EWW a bit to handle things better. Numbering would become automatic then. > Respecting to content maybe some details about using overwrite-mode > (using the Insert key of course), This is the kind of thing that I would rather not do. Overwrite-mode is just the implementation detail of how Emacs achieves overwriting is a standard function of most applications. > moving/copping/switching lines/words/letters, interactive replace > (M-%) shell commands (M-| and M-! and in-place insertion), > insert-buffer/file and equivalent commands. Practical examples about > killing N words or N lines and paste them somewhere else. Goto line is > also important on the beginning. > > In i think that the emacs tutorial should explain at least the same > points than vimtutor respecting to text edition because that's the first > thing the user expects to do in emacs. If some edition actions in the > vimtutor are not possible or very complex to do in emacs maybe we need > to consider how to add them in a simpler way because they are very basic > (for example copy the current line requires C-a C-SPC C-e M-w). These > details are more important and basic for a new user than recursive > editing modes or talking about multiple frames/windows in the first day. > > We should also mention there helpful things like which-key, ido-mode, > linum which makes our lives easier. Yeah. The reason that I finish off with installing packages is that I think as branching tutorial would be the right thing to do, extending from ELPA. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-02 3:11 ` Richard Stallman 2018-09-02 17:52 ` Ergus @ 2018-09-04 13:07 ` Phillip Lord 2018-09-05 6:26 ` Richard Stallman 1 sibling, 1 reply; 216+ messages in thread From: Phillip Lord @ 2018-09-04 13:07 UTC (permalink / raw) To: Richard Stallman; +Cc: hw, Eli Zaretskii, spacibba, emacs-devel Richard Stallman <rms@gnu.org> writes: > The existing TUTORIAL file is designed so that you try out the commands > while editing TUTORIAL itself. > > I get the impression that the proposed new tutorial doesn't do that. > > What are the intended advantages of the new one? Yeah. Most of that stuff is "move cursor back and forward". It's too slow for most new users and freaks them out. While it was well intended at the time, I think, it is now a negative feature of the tutorial. I would like to add automation which would work better. So where it says "create a new frame", it would be nice to have a click button which actually does this for you. The advantage of dumping the "you can edit this file" stuff is that a) the code gets much simpler, because you don't have to store the users copy and b) we should be able to use some rich text visualisation to put images, screenshots as well as the clickable buttons described in the last paragraph. At the moment, I have done none of this more intelligent stuff however. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 13:07 ` Phillip Lord @ 2018-09-05 6:26 ` Richard Stallman 2018-09-06 0:29 ` hw 2018-09-06 13:59 ` Phillip Lord 0 siblings, 2 replies; 216+ messages in thread From: Richard Stallman @ 2018-09-05 6:26 UTC (permalink / raw) To: Phillip Lord; +Cc: hw, eliz, spacibba, 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. ]]] > Yeah. Most of that stuff is "move cursor back and forward". It's too > slow for most new users and freaks them out. While it was well intended > at the time, I think, it is now a negative feature of the tutorial. Users need to learn these commands in order to edit _efficiently_ with Emacs. But maybe most beginners will not aim to edit _efficiently_ and it is ok not to teach them this. > I would like to add automation which would work better. So where it says > "create a new frame", it would be nice to have a click button which > actually does this for you. I don't follow. Concretely, what do you propose, and what is good about it? -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 6:26 ` Richard Stallman @ 2018-09-06 0:29 ` hw 2018-09-07 6:39 ` Richard Stallman 2018-09-06 13:59 ` Phillip Lord 1 sibling, 1 reply; 216+ messages in thread From: hw @ 2018-09-06 0:29 UTC (permalink / raw) To: Richard Stallman; +Cc: eliz, emacs-devel, spacibba, Phillip Lord Richard Stallman <rms@gnu.org> writes: > [[[ 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. ]]] > > > Yeah. Most of that stuff is "move cursor back and forward". It's too > > slow for most new users and freaks them out. While it was well intended > > at the time, I think, it is now a negative feature of the tutorial. > > Users need to learn these commands in order to edit _efficiently_ with > Emacs. Why can they not edit efficiently with Emacs without learning the movement keys described in the tutorial? Keyboards have changed over the years, and using some of these movement keys would make editing very inefficient because they are rather difficult to press on nowadays` keyboards. The effect of having to re-learn, which may diminish the efficiency of editing, is also something to consider. There is much more to learn about Emacs than key bindings for cursor movement, and the movement keys in the tutorial may be amongst the least relevant things that help efficient editing. An email and a C source require different things to make their editing more efficient, hence Emacs has a C-mode and a Message-mode one might need to learn about, each with their own key bindings. > But maybe most beginners will not aim to edit _efficiently_ > and it is ok not to teach them this. With very few exceptions, people always do what they want without worrying about efficiency. A beginner learning about Emacs striving for the best efficiency of editing could easily be the most unlikely case --- and/or figure that using the cursor keys is more efficient than using key combinations that are difficult to press and hard to remember. > > I would like to add automation which would work better. So where it says > > "create a new frame", it would be nice to have a click button which > > actually does this for you. > > I don't follow. Concretely, what do you propose, and what is good about it? I haven't read it all yet. It starts with telling the reader what Emacs is and gives some history, and that seems to be a good starting point. It might make sense to have many tutorials for different topics, like "what are key bindings", "important key bindings", "movement keys specific to Emacs", "what are modes", "how to edit XXX efficiently" ... ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 0:29 ` hw @ 2018-09-07 6:39 ` Richard Stallman 2018-09-07 8:01 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Richard Stallman @ 2018-09-07 6:39 UTC (permalink / raw) To: hw; +Cc: eliz, phillip.lord, spacibba, 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. ]]] > Why can they not edit efficiently with Emacs without learning the > movement keys described in the tutorial? What alternative would be better? Arrow keys require moving your hands away from the center. Moving the graphical pointer, even more so. > There is much more to learn about Emacs than key bindings for cursor > movement, and the movement keys in the tutorial may be amongst the least > relevant things that help efficient editing. Please give more detail. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 6:39 ` Richard Stallman @ 2018-09-07 8:01 ` hw 2018-09-07 10:26 ` Phil Sainty 2018-09-08 5:13 ` Richard Stallman 0 siblings, 2 replies; 216+ messages in thread From: hw @ 2018-09-07 8:01 UTC (permalink / raw) To: Richard Stallman; +Cc: eliz, emacs-devel, spacibba, phillip.lord Richard Stallman <rms@gnu.org> writes: > [[[ 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. ]]] > > > Why can they not edit efficiently with Emacs without learning the > > movement keys described in the tutorial? > > What alternative would be better? Arrow keys require moving your hands > away from the center. Moving the graphical pointer, even more so. The arrow keys (that includes PgUp and PgDown and Home and End) in combination with C-a and C-e are better. That's all I use for moving around. For example, to press C-u, I have to move my left hand over to the left to press the left Ctrl key, and then my right hand moves one key over to the left to press U because I'm not on the rows anymore anyway. You might say it's not efficient. It is how nowadays keyboards are. C-u is difficult to press, and the chance of hitting an unwanted key when trying that is very high. It is like the most inefficient way to scroll up. Add to that that Emacs is the only program with such key bindings, and it is not efficient when I need to think differently with every program about how to move the cursor. When I move the cursor around, I'm thinking about what I've been writing. I do not need my fingers to be on the home rows then. > > There is much more to learn about Emacs than key bindings for cursor > > movement, and the movement keys in the tutorial may be amongst the least > > relevant things that help efficient editing. > > Please give more detail. Think of all the modes. They all come with their own key bidings. I'm using org for only two things: editing tables and hiding stuff with '*'. The only specific key binding I know is C-c SPc because it the only one I need, and it makes editing tables much more efficient. I've been using org-mode for years and found out about this key binding only a few weeks ago because I happened to frequently delete a cells content and thought there should be an easier way to do that. Emacs can work with CVS systems like git. I haven't found yet out how to make use of this feature, yet I'm sure there are lots of key bindings that make editing source code much more efficient when you are using CVS systems. Gnus comes with a lot of key bindings without which you can't edit your emails (unless you use the menu perhaps). Think of many functions you may more or less frequently use, like query-replace, indent-region, sort-lines .... Some of them may have key bindings, but I use ESC-x and call them name. There are only so many key bindings one can remember. Think of bookmarks and registers. They are essential for moving around. So I would consider key bindings to move the cursor around as a non-issue and put those into their own tutorial about "special key bindings". In an "important key bindings" tutorial, I would mention C-a and C-e and ESC-< and ESC-> because they are extremely useful not only for Emacs, and because when in a terminal, Cltr-End and Ctrl-Home don't work. And I would point to registers and bookmarks, and make a tutorial about them if tutorials were categorized like "move around", "do this", "do that". ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 8:01 ` hw @ 2018-09-07 10:26 ` Phil Sainty 2018-09-07 14:00 ` Stefan Monnier ` (2 more replies) 2018-09-08 5:13 ` Richard Stallman 1 sibling, 3 replies; 216+ messages in thread From: Phil Sainty @ 2018-09-07 10:26 UTC (permalink / raw) To: hw; +Cc: eliz, phillip.lord, spacibba, Richard Stallman, emacs-devel On 2018-09-07 20:01, hw wrote: > Think of all the modes. They all come with their own key bidings. > I'm using org for only two things: editing tables and hiding stuff with > '*'. The only specific key binding I know is C-c SPc > Emacs can work with CVS systems like git. I haven't found yet out how > to make use of this feature, yet I'm sure there are lots of key > bindings > that make editing source code much more efficient when you are using > CVS > systems. > Gnus comes with a lot of key bindings without which you can't edit your > emails (unless you use the menu perhaps). > There are only so many key bindings one can remember. I really *urge* you to turn `menu-bar-mode' back on, permanently. Whatever you feel you're gaining from hiding the menus surely can't be of greater benefit to you than all the knowledge and functionality that you're missing as a consequence? So many of the things that you don't know could be answered by perusing the menus -- which both provide direct access to commands, and also show the equivalent key bindings (no doubt including many of the ones you can't remember). I believe that re-enabling the menus would be a huge net win for you -- like any other user, you could learn and gain so much from keeping them available. You can almost guarantee that the most important features of a given mode will be accessible through its menus; so using the menus not only saves you from having to remember all of the key bindings, but it also provides an overview of some of the most useful abilities of the library in question. Tangentially, also make sure you've taken then time to learn how to use the Info manuals, which are absolutely invaluable. Use M-x Info-help (or type "h" inside any existing info buffer) to learn how to read and search the manuals, and to use the indexes. Once you've done that, you will know how to find the answers to so many questions. I feel that so many of your questions would be answered by Emacs, if you only asked it. -Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 10:26 ` Phil Sainty @ 2018-09-07 14:00 ` Stefan Monnier 2018-09-07 14:20 ` Eli Zaretskii ` (2 more replies) 2018-09-07 14:15 ` hw 2018-09-07 15:52 ` Drew Adams 2 siblings, 3 replies; 216+ messages in thread From: Stefan Monnier @ 2018-09-07 14:00 UTC (permalink / raw) To: emacs-devel > I really *urge* you to turn `menu-bar-mode' back on, permanently. I live pretty happily with a disabled menu-bar. Disabling it doesn't prevent me from using it (in those rare cases where I find it more convenient), since I can access it with C-mouse-3. [ I started disabling the menu-bar many many years ago when the few extra lines of screen real-estate it gave me seemed more worthwhile. This benefit has diminished over the years as my screens's vertical size has grown, but the day my 4:3 laptop dies the benefit will increase again. ] > I feel that so many of your questions would be answered by Emacs, if > you only asked it. Indeed, I think Emacs tries pretty hard to make it easy to find those answers, so while I don't urge anyone to enable the menu-bar, I strongly encourage people to *use* it for discovery purposes (including the discover the various additional items in the Help menu). Stefan ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 14:00 ` Stefan Monnier @ 2018-09-07 14:20 ` Eli Zaretskii 2018-09-07 16:00 ` Drew Adams [not found] ` <<83zhwttmm7.fsf@gnu.org> 2 siblings, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-07 14:20 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Date: Fri, 07 Sep 2018 10:00:58 -0400 > > > I really *urge* you to turn `menu-bar-mode' back on, permanently. > > I live pretty happily with a disabled menu-bar. And I never disable it. Not even on a laptop. ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-07 14:00 ` Stefan Monnier 2018-09-07 14:20 ` Eli Zaretskii @ 2018-09-07 16:00 ` Drew Adams [not found] ` <<83zhwttmm7.fsf@gnu.org> 2 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-07 16:00 UTC (permalink / raw) To: Stefan Monnier, emacs-devel > > I really *urge* you to turn `menu-bar-mode' back on, permanently. > > I live pretty happily with a disabled menu-bar. > Disabling it doesn't prevent me from using it (in those rare cases > where I find it more convenient), since I can access it with C-mouse-3. > > [ I started disabling the menu-bar many many years ago when the few extra > lines of screen real-estate it gave me seemed more worthwhile. > This benefit has diminished over the years as my screens's vertical size > has grown, but the day my 4:3 laptop dies the benefit will > increase again. ] > > > I feel that so many of your questions would be answered by Emacs, if > > you only asked it. > > Indeed, I think Emacs tries pretty hard to make it easy to find those > answers, so while I don't urge anyone to enable the menu-bar, I strongly > encourage people to *use* it for discovery purposes (including the > discover the various additional items in the Help menu). Yes. But if it is disabled you won't know when/whether a new mode has added a menu-bar menu (unless you happen to use C-mouse-3 in that mode sometime). That probably doesn't matter to you, but it might make a difference for a new user. I agree with Phil S that it makes sense for a new user, especially, to leave the menu-bar enabled. For someone a bit more experienced your suggestion can make sense. Choosing to discover things by exploring menus is in either case an active choice, but the visibility of a new main menu on the menu-bar can invite investigation. ^ permalink raw reply [flat|nested] 216+ messages in thread
[parent not found: <<83zhwttmm7.fsf@gnu.org>]
* RE: Some developement questions [not found] ` <<83zhwttmm7.fsf@gnu.org> @ 2018-09-07 16:03 ` Drew Adams 0 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-07 16:03 UTC (permalink / raw) To: Eli Zaretskii, Stefan Monnier; +Cc: emacs-devel > > > I really *urge* you to turn `menu-bar-mode' back on, permanently. > > > > I live pretty happily with a disabled menu-bar. > > And I never disable it. Not even on a laptop. I disable it on thumbnail frames (it does not resize along with the frame - I know of no easy way to resize its text). And I sometimes toggle it off for other reasons. But I too generally leave it on. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 10:26 ` Phil Sainty 2018-09-07 14:00 ` Stefan Monnier @ 2018-09-07 14:15 ` hw 2018-09-07 15:34 ` Phil Sainty 2018-09-07 15:52 ` Drew Adams 2 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-07 14:15 UTC (permalink / raw) To: Phil Sainty; +Cc: eliz, emacs-devel, spacibba, Richard Stallman, phillip.lord Phil Sainty <psainty@orcon.net.nz> writes: >> There are only so many key bindings one can remember. > > > I really *urge* you to turn `menu-bar-mode' back on, permanently. I'd rather have it turned on or off automatically depending on which mode is active. > Whatever you feel you're gaining from hiding the menus surely can't be > of greater benefit to you than all the knowledge and functionality that > you're missing as a consequence? Well, I'm not missing anything. What would I be searching for in the menues, and why would I bother to look? Do you have an example? I never looked at the menu of cperl-mode, so what am I missing there? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 14:15 ` hw @ 2018-09-07 15:34 ` Phil Sainty 2018-09-07 21:03 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Phil Sainty @ 2018-09-07 15:34 UTC (permalink / raw) To: hw; +Cc: eliz, emacs-devel, spacibba, Richard Stallman, phillip.lord On 08/09/18 02:15, hw wrote: > Phil Sainty <psainty@orcon.net.nz> writes: >> Whatever you feel you're gaining from hiding the menus surely >> can't be of greater benefit to you than all the knowledge and >> functionality that you're missing as a consequence? > > Well, I'm not missing anything. What would I be searching for in > the menues, and why would I bother to look? In the snippets I quoted before, as well as in other earlier emails, you have explained how there are numerous Emacs features and modes that you don't really know how to use because you don't know what the key bindings are; and also that you have hidden the feature which would most trivially let you find out what they did and how to use them. With the menus visible I am *imagining* that it would occur to you to look at them the next time you were wondering what sorts of commands a particular mode provided, and that in the process you may even discover some useful key bindings as well. > Do you have an example? Sure. You said just before: > Emacs can work with CVS systems like git. I haven't found yet out > how to make use of this feature, yet I'm sure there are lots of key > bindings that make editing source code much more efficient when you > are using CVS systems. Sitting there waiting in the Tools -> Version Control menu we find all of the following: VC Dir C-x v d Ignore File... C-x v G Register C-x v i Check In/Out C-x v v Update to Latest Version C-x v + Push Changes C-x v P Revert to Base Version C-x v u Insert Header Show Top of the Tree History C-x v L Show History C-x v l Show Incoming Log C-x v I Show Outgoing Log C-x v O Update ChangeLog C-x v a Compare Tree with Base Version C-x v D Compare with Base Version C-x v = Show Other Version C-x v ~ Rename File Annotate C-x v g Create Tag C-x v s Retrieve Tag C-x v r Which tells you a whole bunch of useful commands for working with a VCS system, and means you never need to worry about forgetting any of the bindings (but it still tells you what they are, so that you could use them instead if you chose to). And of course checking the manual (maybe via the Help menu) would quickly take you to the Info node "(emacs)Version Control" where you could learn all about this feature in detail. I have to admit that I'm genuinely perplexed. On the one hand you profess to having some difficulty finding out how to do things -- or even what things there might be available to do -- all of which sounds to me a lot like "I'm missing things"; and on the other hand you say "I'm not missing anything" and that you see no reasons to look in the menus, despite those menus existing for the purposes of showing people the things they can do, and making it easy to do them even when they don't know the key bindings. If the menus are not one of the *best* answers to your issue, then I've completely and utterly misunderstood. In any case, I shall stop harping on about it. -Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 15:34 ` Phil Sainty @ 2018-09-07 21:03 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-07 21:03 UTC (permalink / raw) To: Phil Sainty; +Cc: eliz, phillip.lord, spacibba, Richard Stallman, emacs-devel Phil Sainty <psainty@orcon.net.nz> writes: > On 08/09/18 02:15, hw wrote: >> Phil Sainty <psainty@orcon.net.nz> writes: >>> Whatever you feel you're gaining from hiding the menus surely >>> can't be of greater benefit to you than all the knowledge and >>> functionality that you're missing as a consequence? >> >> Well, I'm not missing anything. What would I be searching for in >> the menues, and why would I bother to look? > > In the snippets I quoted before, as well as in other earlier emails, > you have explained how there are numerous Emacs features and modes > that you don't really know how to use because you don't know what the > key bindings are; That must have been a misunderstanding. Of course there are many features and key bindings I don't how to use or I don't know about at all. I will probably never know all there is to know. And that's fine because I do not need all the available features and key bindings. I only need to know those I use, and there is a difference between things I use frequently and things I rarely use. Info is one of the things I rarely use. The last time I used info was probably 4 or 5 years ago. I simply didn't need to use it in between because I was using Emacs just fine all the time. That is why I'm saying that it would be nice if the menu was automatically enabled with modes I rarely use and disabled with those I frequently use. It might have occured to me to look into the menu to find out how to go back if the menu had been enabled --- that the menu would have enabled itself automatically for the info buffer would have told me that I'll probably need it. Is that so difficult to understand? > and also that you have hidden the feature which would most trivially > let you find out what they did and how to use them. With the menus > visible I am *imagining* that it would occur to you to look at them > the next time you were wondering what sorts of commands a particular > mode provided, and that in the process you may even discover some > useful key bindings as well. I would try to ignore it if it was permanently enabled. It wastes screen space, it is inefficient and I rather learn the key bindings than having to use a menu. I wouldn't use it *because* it's permanently enabled and thus permanently annoys me. >> Do you have an example? > > Sure. You said just before: > >> Emacs can work with CVS systems like git. I haven't found yet out >> how to make use of this feature, yet I'm sure there are lots of key >> bindings that make editing source code much more efficient when you >> are using CVS systems. > > Sitting there waiting in the Tools -> Version Control menu we find > all of the following: I wouldn't enable the menu if I wanted to use this mode. I would read the documentation and learn how to use it. > [...] > > I have to admit that I'm genuinely perplexed. On the one hand you > profess to having some difficulty finding out how to do things -- or > even what things there might be available to do -- all of which sounds > to me a lot like "I'm missing things"; and on the other hand you say > "I'm not missing anything" and that you see no reasons to look in the > menus, despite those menus existing for the purposes of showing people > the things they can do, and making it easy to do them even when they > don't know the key bindings. I think that's probably because you misunderstood. When I was stuck in the info help, I wanted to read documentation about tramp, not about anything else. I followed a reference and didn't know how to get back, so I looked into the help. Then I just wanted to get out of the stupid help page because even that page didn't tell me how I could get back. Quitting the info buffer doesn't help for some reason because when you call info again, you get to the same place where you left --- that is a very annoying feature not only with info buffers. So finally I killed the buffer and started over. It didn't occur to me to turn on the menu. Why would it? It had nothing to do with I wanted. So guess what keys especially a new user might try to go back. Chances are pretty good he would try Alt-left rather than an ideosyncratic key only Emacs knows about. But that doesn't work, and the user remains stuck. The user quits the info buffer and calls info again to start over --- just to find out that he is still stuck at the same place. The new user may not be familiar with this weird behaviour and not know that he needs to kill the buffer. Seriously? Do you call that good design? Do you call that helpfull? I'm merely saying this is something to improve upon. You're pushing it back by saying I should have the menu enabled. The new user might still have it enabled, but he might also have found out that it can be disabled. He might have disabled it because he wants to learn the key bindings, and disabling the menu supports that because when something is harder to look up, there is more incentive to remember it. It might not occur to him to enable it when he's stuck in the help of info, or somewhere else, while trying to read documentation about something. That someone has trouble finding out something can happen to everyone. So why not make it easier for everyone? > If the menus are not one of the *best* answers to your issue, then > I've completely and utterly misunderstood. Apparently it happens to me all the time that people don't understand what I'm saying :/ I think I've found a better answer to the problem with the idea of the menues enabling and disabling themselves automatically. The answer to that was that I can have that by using mode hooks. That probably means it will never be considered to perhaps become a default behaviour. I think it would be an improvement, especially for new users who do not know about mode hooks. I don't know how to do it, either, but I'm sure I can find out when I want to. ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-07 10:26 ` Phil Sainty 2018-09-07 14:00 ` Stefan Monnier 2018-09-07 14:15 ` hw @ 2018-09-07 15:52 ` Drew Adams 2 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-07 15:52 UTC (permalink / raw) To: Phil Sainty, hw Cc: eliz, emacs-devel, spacibba, Richard Stallman, phillip.lord > > There are only so many key bindings one can remember. > > I really *urge* you to turn `menu-bar-mode' back on, permanently. > > Whatever you feel you're gaining from hiding the menus surely can't be > of greater benefit to you than all the knowledge and functionality that > you're missing as a consequence? > > So many of the things that you don't know could be answered by perusing > the menus -- which both provide direct access to commands, and also show > the equivalent key bindings (no doubt including many of the ones you > can't remember). > > I believe that re-enabling the menus would be a huge net win for you > -- like any other user, you could learn and gain so much from keeping > them available. You can almost guarantee that the most important > features of a given mode will be accessible through its menus; so > using the menus not only saves you from having to remember all of the > key bindings, but it also provides an overview of some of the most > useful abilities of the library in question. > > Tangentially, also make sure you've taken then time to learn how to > use the Info manuals, which are absolutely invaluable. Use M-x > Info-help (or type "h" inside any existing info buffer) to learn how > to read and search the manuals, and to use the indexes. Once you've > done that, you will know how to find the answers to so many questions. > > I feel that so many of your questions would be answered by Emacs, if > you only asked it. What Phil said. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 8:01 ` hw 2018-09-07 10:26 ` Phil Sainty @ 2018-09-08 5:13 ` Richard Stallman 2018-09-08 13:02 ` hw 1 sibling, 1 reply; 216+ messages in thread From: Richard Stallman @ 2018-09-08 5:13 UTC (permalink / raw) To: hw; +Cc: eliz, phillip.lord, spacibba, 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 arrow keys (that includes PgUp and PgDown and Home and End) in > combination with C-a and C-e are better. That's all I use for moving > around. I use sequences of cursor motion commands all the time. I don't really move my hand away when I hold the left control key. Often I hold it down for several characters in a row. I never type PgUp and PgDown and Home and End, because they are so far away they would never occur to me. This is the normal way to do cursor motion in Emacs. You can do it any way you like, but we should encourage people to learn this way. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 5:13 ` Richard Stallman @ 2018-09-08 13:02 ` hw 2018-09-08 16:19 ` Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 216+ messages in thread From: hw @ 2018-09-08 13:02 UTC (permalink / raw) To: Richard Stallman; +Cc: eliz, emacs-devel, spacibba, phillip.lord Richard Stallman <rms@gnu.org> writes: > [...] > > The arrow keys (that includes PgUp and PgDown and Home and End) in > > combination with C-a and C-e are better. That's all I use for moving > > around. > > I use sequences of cursor motion commands all the time. > [...] > This is the normal way to do cursor motion in Emacs. You can do it > any way you like, but we should encourage people to learn this way. I'm fine with encouraging people to learn these movement keys, but how do the available movement keys give beginners good reasons to use Emacs, and how do they make using it better for them? Beginners will probably consider "the normal way to do cursor motion in Emacs" as the most complicated and awkward way to do cursor motion anywhere. Since motion is important when using an editor, building such a wall against it seems particularly well suited to scare them off to other editors which appear to be easier to use. Tutorials which take this into account more strongly might be more encouraging to use Emacs in the first place, and then beginners might want to learn the special movement keys. The current tutorial is doing it the other way round, and aside from external sources, it is quite likely the first thing beginners will read about Emacs: The first thing they read is the thing that will scare them off the most. How are they going to understand that Emacs is not difficult to use at all? BTW, I still don't see how anyone could move around efficiently when it requires to press ESC. Does it require a special keyboard? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 13:02 ` hw @ 2018-09-08 16:19 ` Eli Zaretskii 2018-09-08 23:23 ` hw 2018-09-09 6:07 ` Richard Stallman 2018-09-09 6:07 ` Richard Stallman 2 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-08 16:19 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel, rms, phillip.lord > From: hw <hw@adminart.net> > Cc: eliz@gnu.org, phillip.lord@russet.org.uk, spacibba@aol.com, emacs-devel@gnu.org > Date: Sat, 08 Sep 2018 15:02:51 +0200 > > > This is the normal way to do cursor motion in Emacs. You can do it > > any way you like, but we should encourage people to learn this way. > > I'm fine with encouraging people to learn these movement keys, but how > do the available movement keys give beginners good reasons to use Emacs, > and how do they make using it better for them? > > Beginners will probably consider "the normal way to do cursor motion in > Emacs" as the most complicated and awkward way to do cursor motion > anywhere. Since motion is important when using an editor, building such > a wall against it seems particularly well suited to scare them off to > other editors which appear to be easier to use. > > Tutorials which take this into account more strongly might be more > encouraging to use Emacs in the first place, and then beginners might > want to learn the special movement keys. The Emacs tutorial already mentions the arrow keys, before it teaches the more ergonomic cursor motion keys. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 16:19 ` Eli Zaretskii @ 2018-09-08 23:23 ` hw 2018-09-09 5:29 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-08 23:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, phillip.lord, rms, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: eliz@gnu.org, phillip.lord@russet.org.uk, spacibba@aol.com, emacs-devel@gnu.org >> Date: Sat, 08 Sep 2018 15:02:51 +0200 > [...] >> >> Beginners will probably consider "the normal way to do cursor motion in >> Emacs" as the most complicated and awkward way to do cursor motion >> anywhere. > [...] >> Tutorials which take this into account more strongly might be more >> encouraging to use Emacs in the first place, and then beginners might >> want to learn the special movement keys. > > The Emacs tutorial already mentions the arrow keys, before it teaches > the more ergonomic cursor motion keys. My point is not which particular keys to use but that the tutorial doesn't fly because it makes false assumptions --- in this case about the efficiency with which certain keys can be pressed which largely depends on + the users and their skill-level in 10-finger typing, + the equipment in use and + the difficulty of un-learning the usage of arrow keys which might have already been practised to a rather high and extremely efficient skill-level over decades and is still needed everywhere else --- which lead the tutorial to lengthly go into explanations about irrelevant key bindings rather than about relevant ones which prevents it from picking up beginners where they think they are so that confidence can be instilled in them that they can learn Emacs, and trust that Emacs isn't difficult to use at all. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 23:23 ` hw @ 2018-09-09 5:29 ` Eli Zaretskii 2018-09-10 9:35 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-09 5:29 UTC (permalink / raw) To: hw; +Cc: spacibba, phillip.lord, rms, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org, rms@gnu.org, phillip.lord@russet.org.uk > Date: Sun, 09 Sep 2018 01:23:53 +0200 > > > The Emacs tutorial already mentions the arrow keys, before it teaches > > the more ergonomic cursor motion keys. > > My point is not which particular keys to use but that the tutorial > doesn't fly because it makes false assumptions --- > > in this case about the efficiency with which certain keys can be pressed > which largely depends on > > + the users and their skill-level in 10-finger typing, > > + the equipment in use and > > + the difficulty of un-learning the usage of arrow keys which might have > already been practised to a rather high and extremely efficient > skill-level over decades and is still needed everywhere else Yes, the tutorial makes a point of catering also for people who want or can overcome these obstacles. I see nothing wrong with that: if you are one of those who can't, just ignore the part about ergonomic cursor motion keys. > --- which lead the tutorial to lengthly go into explanations about > irrelevant key bindings rather than about relevant ones which prevents > it from picking up beginners where they think they are so that > confidence can be instilled in them that they can learn Emacs, and trust > that Emacs isn't difficult to use at all. Are we talking about the same tutorial? Here's the actual text: * BASIC CURSOR CONTROL ---------------------- Moving from screenful to screenful is useful, but how do you move to a specific place within the text on the screen? There are several ways you can do this. You can use the arrow keys, but it's more efficient to keep your hands in the standard position and use the commands C-p, C-b, C-f, and C-n. [...] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-09 5:29 ` Eli Zaretskii @ 2018-09-10 9:35 ` hw 2018-09-10 12:37 ` Eli Zaretskii 2018-09-10 13:52 ` Phillip Lord 0 siblings, 2 replies; 216+ messages in thread From: hw @ 2018-09-10 9:35 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel, rms, phillip.lord Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org, rms@gnu.org, phillip.lord@russet.org.uk >> Date: Sun, 09 Sep 2018 01:23:53 +0200 >> >> > The Emacs tutorial already mentions the arrow keys, before it teaches >> > the more ergonomic cursor motion keys. >> >> My point is not which particular keys to use but that the tutorial >> doesn't fly because it makes false assumptions --- >> >> in this case about the efficiency with which certain keys can be pressed >> which largely depends on >> >> + the users and their skill-level in 10-finger typing, >> >> + the equipment in use and >> >> + the difficulty of un-learning the usage of arrow keys which might have >> already been practised to a rather high and extremely efficient >> skill-level over decades and is still needed everywhere else > > Yes, the tutorial makes a point of catering also for people who want > or can overcome these obstacles. I'm not sure what you're referring to. I'm seeing the tutorial repeating that you can use the cursor keys but should learn others because they are supposedly more efficient. > I see nothing wrong with that: if you are one of those who can't, just > ignore the part about ergonomic cursor motion keys. Does the tutorial say that when you use cursor keys, you can skip forward to line 322 and start reading there? >> --- which lead the tutorial to lengthly go into explanations about >> irrelevant key bindings rather than about relevant ones which prevents >> it from picking up beginners where they think they are so that >> confidence can be instilled in them that they can learn Emacs, and trust >> that Emacs isn't difficult to use at all. > > Are we talking about the same tutorial? Here's the actual text: > > * BASIC CURSOR CONTROL > ---------------------- > > Moving from screenful to screenful is useful, but how do you > move to a specific place within the text on the screen? > > There are several ways you can do this. You can use the arrow keys, > but it's more efficient to keep your hands in the standard position > and use the commands C-p, C-b, C-f, and C-n. [...] Yes, we are talking about the same tutorial. The tutorial uses the first 322 lines (26%) to go on and on about these movement keys. It is supposed to be *the* Emacs tutorial, not a keyboard tutorial. Do you really think that *the* Emacs tutorial should use its first 300+ lines to cover a non-issue? Isn't there anything much more interesting and far more important to learn about Emacs? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 9:35 ` hw @ 2018-09-10 12:37 ` Eli Zaretskii 2018-09-10 19:27 ` hw 2018-09-10 13:52 ` Phillip Lord 1 sibling, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-10 12:37 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel, rms, phillip.lord > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, phillip.lord@russet.org.uk, rms@gnu.org, emacs-devel@gnu.org > Date: Mon, 10 Sep 2018 11:35:58 +0200 > > > I see nothing wrong with that: if you are one of those who can't, just > > ignore the part about ergonomic cursor motion keys. > > Does the tutorial say that when you use cursor keys, you can skip > forward to line 322 and start reading there? It says "you can use the arrow keys". Skipping is not a problem, as the tutorial has small and clearly marked sections. But I'm not opposed to adding an explicit sentence like that. > The tutorial uses the first 322 lines (26%) to go on and on about these > movement keys. It is supposed to be *the* Emacs tutorial, not a > keyboard tutorial. They are not general keyboard features, they are _Emacs_ keyboard input features. > Do you really think that *the* Emacs tutorial should use its first 300+ > lines to cover a non-issue? Isn't there anything much more interesting > and far more important to learn about Emacs? We don't think this is a non-issue. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 12:37 ` Eli Zaretskii @ 2018-09-10 19:27 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-10 19:27 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, phillip.lord, rms, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, phillip.lord@russet.org.uk, rms@gnu.org, emacs-devel@gnu.org >> Date: Mon, 10 Sep 2018 11:35:58 +0200 >> >> > I see nothing wrong with that: if you are one of those who can't, just >> > ignore the part about ergonomic cursor motion keys. >> >> Does the tutorial say that when you use cursor keys, you can skip >> forward to line 322 and start reading there? > > It says "you can use the arrow keys". Skipping is not a problem, as > the tutorial has small and clearly marked sections. I'd break it down into multiple smaller tutorials, even if it is only so that users can say "Yay, I already finished three of the tutorials!" rather than "Yeah, I got only to line 234 and it's gona take ages to learn this.". Readers should not need to skip. Imagine you were watching a movie that said at the beginning "please skip the first 26% percent". Wouldn't you ask yourself why the makers of the movie have put these 26% at its beginning so that everyone needs to skip it? What's the point of doing that? It's like everyone on TV and the on the radio saying "you can look it up on the internet": Why do they bother to make a TV or radio show when I'm not supposed to watch or listen but to look it up on the internet? If I wanted that, I'd be doing it. > But I'm not opposed to adding an explicit sentence like that. That would allow them to feel save about skipping. Instead of making everyone skip, there could be information at the beginning people don't want to skip. >> The tutorial uses the first 322 lines (26%) to go on and on about these >> movement keys. It is supposed to be *the* Emacs tutorial, not a >> keyboard tutorial. > > They are not general keyboard features, they are _Emacs_ keyboard > input features. Moving (the cursor) around is a general feature of every software that involves cursor movement or even just scrolling. People can use Emacs just fine without ever knowing that it provides them with a whole set of key bindings for cursor movement. How are these special key bindings so important that they must take up the first 26% of the Emacs tutorial? If the most important feature of Emacs were its key bindings for cursor movement, then I might still be using joe. Joe doesn't work at all without key bindings, but you can easily move around without any special ones, and it's a pretty good editor. >> Do you really think that *the* Emacs tutorial should use its first 300+ >> lines to cover a non-issue? Isn't there anything much more interesting >> and far more important to learn about Emacs? > > We don't think this is a non-issue. It probably is for beginners. They can already move around, and they are eager to do that so they can learn about Emacs by doing something with it, like editing their files. Please disable your Alt key(s) and try the Emacs way of cursor movement, key bindings starting with M-C and everything you usually do with Emacs like that. Half a day might be enough to show you how efficiently the movement keys work :) Even with Alt working, I suggest that there are far more relevant things beginners need to learn than something they can already do. For those who really do not know how to move around at all, there could be a tutorial about just that which also explains cursor keys. I would think that those users are the most likely ones to pick up the Emacs way of movement; everyone else will probably continue with cursor keys. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 9:35 ` hw 2018-09-10 12:37 ` Eli Zaretskii @ 2018-09-10 13:52 ` Phillip Lord 1 sibling, 0 replies; 216+ messages in thread From: Phillip Lord @ 2018-09-10 13:52 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, emacs-devel, spacibba, rms hw <hw@adminart.net> writes: >> Are we talking about the same tutorial? Here's the actual text: >> >> * BASIC CURSOR CONTROL >> ---------------------- >> >> Moving from screenful to screenful is useful, but how do you >> move to a specific place within the text on the screen? >> >> There are several ways you can do this. You can use the arrow keys, >> but it's more efficient to keep your hands in the standard position >> and use the commands C-p, C-b, C-f, and C-n. [...] > > Yes, we are talking about the same tutorial. > > The tutorial uses the first 322 lines (26%) to go on and on about these > movement keys. It is supposed to be *the* Emacs tutorial, not a > keyboard tutorial. > > Do you really think that *the* Emacs tutorial should use its first 300+ > lines to cover a non-issue? Isn't there anything much more interesting > and far more important to learn about Emacs? I have watched people new to Emacs reading the tutorial. "Do I really need to learn all these keypresses to use Emacs" is what they say. The answer is no, they don't. It has no place in the tutorial, no. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 13:02 ` hw 2018-09-08 16:19 ` Eli Zaretskii @ 2018-09-09 6:07 ` Richard Stallman 2018-09-09 6:07 ` Richard Stallman 2 siblings, 0 replies; 216+ messages in thread From: Richard Stallman @ 2018-09-09 6:07 UTC (permalink / raw) To: hw; +Cc: eliz, phillip.lord, spacibba, 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'm fine with encouraging people to learn these movement keys, but how > do the available movement keys give beginners good reasons to use Emacs, > and how do they make using it better for them? For the second question, they make cursor motion faster. The fact that it can be faster is a reason to use Emacs, but I won't claim that reason is visible to people thinking about using Emacs. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 13:02 ` hw 2018-09-08 16:19 ` Eli Zaretskii 2018-09-09 6:07 ` Richard Stallman @ 2018-09-09 6:07 ` Richard Stallman 2018-09-09 6:23 ` Eli Zaretskii ` (2 more replies) 2 siblings, 3 replies; 216+ messages in thread From: Richard Stallman @ 2018-09-09 6:07 UTC (permalink / raw) To: hw; +Cc: eliz, phillip.lord, spacibba, 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'm fine with encouraging people to learn these movement keys, but how > do the available movement keys give beginners good reasons to use Emacs, > and how do they make using it better for them? For the second question, they make cursor motion faster. The fact that it can be faster is a reason to use Emacs but I won't claim that reason is visible to people thinking about using Emacs. > Tutorials which take this into account more strongly might be more > encouraging to use Emacs in the first place, and then beginners might > want to learn the special movement keys. That approach might be good, but what can we do to encourage them to learn the cursor-motion commands later on? > BTW, I still don't see how anyone could move around efficiently when it > requires to press ESC. Does it require a special keyboard? Nowadays, essentially all keyboards have an Alt key, so one never needs to use ESC for cursor motion. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-09 6:07 ` Richard Stallman @ 2018-09-09 6:23 ` Eli Zaretskii 2018-09-09 17:18 ` Ergus 2018-09-10 11:59 ` hw 2 siblings, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-09 6:23 UTC (permalink / raw) To: rms; +Cc: hw, spacibba, phillip.lord, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: eliz@gnu.org, emacs-devel@gnu.org, spacibba@aol.com, > phillip.lord@russet.org.uk > Date: Sun, 09 Sep 2018 02:07:02 -0400 > > > BTW, I still don't see how anyone could move around efficiently when it > > requires to press ESC. Does it require a special keyboard? > > Nowadays, essentially all keyboards have an Alt key, so one never needs > to use ESC for cursor motion. For cursor motion, yes. There are still other keys where using ESC might prove necessary, e.g. if your window manager "eats up" some Alt-character sequences, and you cannot or won't disable that. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-09 6:07 ` Richard Stallman 2018-09-09 6:23 ` Eli Zaretskii @ 2018-09-09 17:18 ` Ergus 2018-09-10 11:59 ` hw 2 siblings, 0 replies; 216+ messages in thread From: Ergus @ 2018-09-09 17:18 UTC (permalink / raw) To: Richard Stallman; +Cc: hw, eliz, phillip.lord, emacs-devel On Sun, Sep 09, 2018 at 02:07:02AM -0400, Richard Stallman 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. ]]] > > > I'm fine with encouraging people to learn these movement keys, but how > > do the available movement keys give beginners good reasons to use Emacs, > > and how do they make using it better for them? > >For the second question, they make cursor motion faster. >The fact that it can be faster is a reason to use Emacs >but I won't claim that reason is visible to people thinking >about using Emacs. > > > Tutorials which take this into account more strongly might be more > > encouraging to use Emacs in the first place, and then beginners might > > want to learn the special movement keys. > >That approach might be good, but what can we do to encourage them to >learn the cursor-motion commands later on? > I just started using the traditional keybindings like 3 months ago and I have been with emacs like 4 years now; so I agree that traditional keybindings are not transcendental to enjoy emacs (or edit efficiently because I made 2 thesis without that). On the other hand I only see some advantage in few of them (C-a, C-e, C-d), but not all. The C-n/p/b/f are closer, that's true, but requires 2 hands constantly in action and p-n-b-f are not close each other (b and f are supposed to be typed with different hands in fact). The arrows, in my keyboard for example, are not far enough from the rest of the keys so using them is just easier (see the hp elitebook keyboards). But also C-b/C-f are not very comfortable to be using them constantly with one hand. I understand that the keys are designed to be easier to remember, but not to type in a qwerty keyboard without extensive training. But the related M-{ M-} are harder remember and to type than C-up C-down because they require 3 (Alt-Shift+) fingers vs 2 (Control+) and are not related with C-p C-n, so also are difficult to remember. So the efficiency advantage of C-* displacement is very subjective in this cases. Comparing for example with vim; the commands are easier to type because with the modes it doesn't need modifiers with the other hand, but also hjkl are close each other. But even with all that, new vim's users prefer the arrows just because "up" is over "down". So I feel like the real issue here is the "backward compatibility" with experienced users. But if that's the only priority, it will be very difficult to attract new users with new ideas and new points of view to emacs. That's why the spacemacs community is growing, because it offers a more familiar behavior (even without evil mode). > > BTW, I still don't see how anyone could move around efficiently when it > > requires to press ESC. Does it require a special keyboard? > >Nowadays, essentially all keyboards have an Alt key, so one never needs >to use ESC for cursor motion. > > >-- >Dr Richard Stallman >President, Free Software Foundation (https://gnu.org, https://fsf.org) >Internet Hall-of-Famer (https://internethalloffame.org) > > ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-09 6:07 ` Richard Stallman 2018-09-09 6:23 ` Eli Zaretskii 2018-09-09 17:18 ` Ergus @ 2018-09-10 11:59 ` hw 2018-09-10 12:40 ` Eli Zaretskii 2 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-10 11:59 UTC (permalink / raw) To: Richard Stallman; +Cc: eliz, emacs-devel, spacibba, phillip.lord Richard Stallman <rms@gnu.org> writes: > [[[ 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'm fine with encouraging people to learn these movement keys, but how > > do the available movement keys give beginners good reasons to use Emacs, > > and how do they make using it better for them? > > For the second question, they make cursor motion faster. They don't do that. Besides, it has finally occurred to me that I /like/ moving my hands. My thinking and my typing would freeze up as well if I had to have them like frozen to the home row all the time. > The fact that it can be faster is a reason to use Emacs > but I won't claim that reason is visible to people thinking > about using Emacs. Using Emacs can be faster and more efficient than using other editors for many reasons. It's movement keys can help some users and get into the way of others, and they are by far not the most important feature and not the only one giving reason to use Emacs. Making visible to potential users how using Emacs can be advantageous to them should not be blocked by over 300 lines of tutorial that go on about the movement keys in the wrong place. These 300 lines might be better used to point out what Emacs can do, and to lead users to specific documentation about the particular features. Not every user is interested in the same things. > > Tutorials which take this into account more strongly might be more > > encouraging to use Emacs in the first place, and then beginners might > > want to learn the special movement keys. > > That approach might be good, but what can we do to encourage them to > learn the cursor-motion commands later on? Let users experience that Emacs is the best editor ever, and they aren't going to need much encouragement to learn more about it all the time because they will want to do that anyway. For those who still would not want to learn the key bindings for cursor motion, encouragement would need to be turned into enforcement, and that's not exactly feasible. So if you can dedicate a whole tutorial to learning the movement keys and offer users to do it when ever they feel ready, you have vastly better chances of success and of another happy user than you have when you push and shove all these movement keys right into the face of a user who is already struggling hands up with navigating a way through an entirely new, heavy piece of software which can be very difficult to learn when you take the wrong way. > > BTW, I still don't see how anyone could move around efficiently when it > > requires to press ESC. Does it require a special keyboard? > > Nowadays, essentially all keyboards have an Alt key, so one never needs > to use ESC for cursor motion. Well, yes, only the Alt key never worked. It didn't work on the Atari ST (where Emacs crashed an awful lot), didn't work later with Linux, not with different keyboards, not for the last 25 years or so. I can't tell exactly when it started working because some time I gave up trying. It works for me since less than a week. Key bindings with M-C? Emacs always says 'C-<escape> is undefined'. So how are Emacs` key bindings for cursor movement more efficient than the cursor keys, given that the Alt key does not work? I've read the tutorial on my Atari ST and decided against using these key bindings back then. I thought they might be for computers that have severe limitations and/or keyboards without cursor keys, as a workaround to get the cursor moving at all. Eli pointed out that window managers like to use the Alt key for themselves so that it never arrives at Emacs. That is something I would definitely put into the (keyboard) tutorial where it explains the Meta key. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 11:59 ` hw @ 2018-09-10 12:40 ` Eli Zaretskii 2018-09-10 19:48 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-10 12:40 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel, rms, phillip.lord > From: hw <hw@adminart.net> > Cc: eliz@gnu.org, phillip.lord@russet.org.uk, spacibba@aol.com, emacs-devel@gnu.org > Date: Mon, 10 Sep 2018 13:59:48 +0200 > > Richard Stallman <rms@gnu.org> writes: > > So how are Emacs` key bindings for cursor movement more efficient than > the cursor keys, given that the Alt key does not work? The Alt key does work, you probably have your keyboard misconfigured. > Eli pointed out that window managers like to use the Alt key for > themselves so that it never arrives at Emacs. Not Alt itself, some combinations that begin with Alt. Like Alt-TAB, for example. There are very few such combinations, and Emacs avoids binding important functions to them. So I think explaining that in the tutorial would not be TRT, as the issue is quite obscure. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 12:40 ` Eli Zaretskii @ 2018-09-10 19:48 ` hw 2018-09-11 7:07 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-10 19:48 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, phillip.lord, rms, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: eliz@gnu.org, phillip.lord@russet.org.uk, spacibba@aol.com, emacs-devel@gnu.org >> Date: Mon, 10 Sep 2018 13:59:48 +0200 >> >> Richard Stallman <rms@gnu.org> writes: >> >> So how are Emacs` key bindings for cursor movement more efficient than >> the cursor keys, given that the Alt key does not work? > > The Alt key does work, you probably have your keyboard misconfigured. I found out less than a week ago that it now finally works. It did not work for the first 25 years or so, beginning on an Atari ST. Technically, it may have started working earlier and I didn't know because hadn't tried it for a long time because it hasn't been working for decades. I don't know why it works now; chances to find out are low. My keyboard is probably not misconfigured. Everything works as intended. I've had keyboards misconfigured, it usually shows when you can not switch from X to a console, and I fixed that when it happend. I have a couple keyboards here, and each requires its own specific configuration. I think someone fixed a bug some time, somewhere, and it works since then. >> Eli pointed out that window managers like to use the Alt key for >> themselves so that it never arrives at Emacs. > > Not Alt itself, some combinations that begin with Alt. Like Alt-TAB, > for example. There are very few such combinations, and Emacs avoids > binding important functions to them. So I think explaining that in > the tutorial would not be TRT, as the issue is quite obscure. I don't know, isn't that hard to say? If a WM (or something else) were to use Alt+v for something, it might not work, or work intermittently, in Emacs. If this possibility was mentioned in the tutorial, users could at least check. A small paragraph about it in the tutorial hurts less than having the Alt key not working for 25 years. In the case I've had a problem with it, it would still sometimes work and sometimes not, apparently depending on whether the WM or the program came first in reading input. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 19:48 ` hw @ 2018-09-11 7:07 ` Eli Zaretskii 2018-09-11 20:31 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-11 7:07 UTC (permalink / raw) To: hw; +Cc: spacibba, phillip.lord, rms, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org, rms@gnu.org, phillip.lord@russet.org.uk > Date: Mon, 10 Sep 2018 21:48:06 +0200 > > > The Alt key does work, you probably have your keyboard misconfigured. > > I found out less than a week ago that it now finally works. It did not > work for the first 25 years or so, beginning on an Atari ST. > > Technically, it may have started working earlier and I didn't know > because hadn't tried it for a long time because it hasn't been working > for decades. It worked for me for the last 30 years. > >> Eli pointed out that window managers like to use the Alt key for > >> themselves so that it never arrives at Emacs. > > > > Not Alt itself, some combinations that begin with Alt. Like Alt-TAB, > > for example. There are very few such combinations, and Emacs avoids > > binding important functions to them. So I think explaining that in > > the tutorial would not be TRT, as the issue is quite obscure. > > I don't know, isn't that hard to say? If a WM (or something else) were > to use Alt+v for something, it might not work, or work intermittently, > in Emacs. We don't need to solve hypothetical problems, only those that happen in practice. In practice, only a small number of ALT combinations are usurped by window managers, and they tend to be the same combinations in all WMs, for good practical reasons. We shouldn't expect that set to grow or to usurp frequently used combinations, because that would cause user outcry. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-11 7:07 ` Eli Zaretskii @ 2018-09-11 20:31 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-11 20:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel, rms, phillip.lord Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org, rms@gnu.org, phillip.lord@russet.org.uk >> Date: Mon, 10 Sep 2018 21:48:06 +0200 >> >> > The Alt key does work, you probably have your keyboard misconfigured. >> >> I found out less than a week ago that it now finally works. It did not >> work for the first 25 years or so, beginning on an Atari ST. >> >> Technically, it may have started working earlier and I didn't know >> because hadn't tried it for a long time because it hasn't been working >> for decades. > > It worked for me for the last 30 years. It didn't do that for me. > [...] >> > Not Alt itself, some combinations that begin with Alt. Like Alt-TAB, >> > for example. There are very few such combinations, and Emacs avoids >> > binding important functions to them. So I think explaining that in >> > the tutorial would not be TRT, as the issue is quite obscure. >> >> I don't know, isn't that hard to say? If a WM (or something else) were >> to use Alt+v for something, it might not work, or work intermittently, >> in Emacs. > > We don't need to solve hypothetical problems, only those that happen > in practice. In practice, only a small number of ALT combinations are > usurped by window managers, and they tend to be the same combinations > in all WMs, for good practical reasons. We shouldn't expect that set > to grow or to usurp frequently used combinations, because that would > cause user outcry. You have no way of knowing what key combinations a user may have defined with the WM or with other software that uses or provides binding things to keys. You do know that there can be race conditions between Emacs and other software in the usage of key bindings. What is the advantage of waiting until a user has problem, like the Alt key not working in Emacs, and reports it --- or assumes that's just the way it is and that the ESC key should be used instead --- compared to put a small paragraph into the tutorial so users can be aware of possible race conditions right away and may be able to fix them without asking for help? Emacs is exceptional in how much the developers care about what the users say. With other projects, even if there might still be user outcries, nobody cares. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 6:26 ` Richard Stallman 2018-09-06 0:29 ` hw @ 2018-09-06 13:59 ` Phillip Lord 1 sibling, 0 replies; 216+ messages in thread From: Phillip Lord @ 2018-09-06 13:59 UTC (permalink / raw) To: Richard Stallman; +Cc: hw, eliz, spacibba, emacs-devel Richard Stallman <rms@gnu.org> writes: > [[[ 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 would like to add automation which would work better. So where it says > > "create a new frame", it would be nice to have a click button which > > actually does this for you. > > I don't follow. Concretely, what do you propose, and what is good about it? The tutorial might look like this: Now you can create a new frame. Try File->New Frame [Show Me] Clicking on show me would just do this. Given Emacs' architecture, this should be straightforward to implement. In the idea world, you'd see the menus opening and things being selected. This might be a little harder, but still plausible. I lack the time to implement this but it becomes possible, once we get away from the idea of a tutorial as a text file you can edit. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-01 13:59 ` Eli Zaretskii 2018-09-02 3:11 ` Richard Stallman @ 2018-09-04 12:58 ` Phillip Lord 2018-09-04 16:30 ` hw 2018-09-04 20:38 ` Ergus 1 sibling, 2 replies; 216+ messages in thread From: Phillip Lord @ 2018-09-04 12:58 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> My hope was to do something a bit more intelligent with it -- with some >> screen shots and rich text, as well as highlighting for menu items, so I >> wrote it in org-mode. Alas I haven't had the time to actually integrate >> it into Emacs. >> >> https://raw.githubusercontent.com/phillord/emacs-tutorial/master/tutorial.org >> >> If someone has the time to do the integration it's nearly ready to >> go. To my mind, updating the tutorial would be a good thing just because >> it would give the impression that it is updateable, rather than a thing >> set in stone. > > Thanks. That tutorial looks like a somewhat expanded version of our > TUTORIAL; e.g., it has almost the same scope in terms of Emacs > features. I thought, perhaps mistakenly, that we were talking about a > tutorial for the next step -- for those who have read the original > TUTORIAL and want to learn about more advanced issues related to text > editing. It covers some never stuff, but yes, it is fairly similar. Personally, I would like to ditch all the "how to move around" with keys stuff -- this scares most people to hell, because they think that they need to learn this to do something that they already know how to do these things. In terms of advanced issues, my thought was to enable tutorial extensions to go into ELPA and then have a navigational structure. The current tutorial for the even trivial reason that it's flat. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 12:58 ` Phillip Lord @ 2018-09-04 16:30 ` hw 2018-09-04 19:13 ` Paul Eggert 2018-09-06 12:29 ` Phillip Lord 2018-09-04 20:38 ` Ergus 1 sibling, 2 replies; 216+ messages in thread From: hw @ 2018-09-04 16:30 UTC (permalink / raw) To: Phillip Lord; +Cc: Eli Zaretskii, spacibba, emacs-devel phillip.lord@russet.org.uk (Phillip Lord) writes: > Personally, I would like to ditch all the "how to move around" with > keys stuff -- this scares most people to hell, because they think that > they need to learn this to do something that they already know how to > do these things. right The current tutorial is more suited to drive people away than anything else. Who knows what a META or an EDIT key is? And who cares? Even after almost 30 years of getting used to them, I'm finding notations like 'C-x ret f' or 'M-w' very confusing. How does that belong into a tutorial? People might use C-v to copy something rather than to scroll. They will use the cursor keys and PgUp and PgDown to move around. What are the didactic purposes of having added so many blank lines? Then when you do go ahead and hold down C-v as instructed, you suddenly find yourself somewhere close to the end of the tutorial. It only takes a second for that with 'emacs -q' (and my default of 'xset r rate 250 60'). What is the user supposed to do then? It's good to explain key bindings, but not like that at the beginning of a tutorial when 99.9999% of the users do not still use keyboards that don't have cursor keys. The ones who do probably have found their ways of dealing with it. Your tutorial even explains what Emacs is and gives some history. That is a much more welcoming start. > In terms of advanced issues, my thought was to enable tutorial > extensions to go into ELPA and then have a navigational structure. Maybe several tutorials would be better, like one covering what Emacs is (nowadays that may be a good idea), one covering the first steps and others covering the installation of packages after users have aquired some understanding of what packages are. My first step with 'emacs -q' would be to make the menu fonts larger. As much as I like monospace fonts, the typewriter font used for the text was *really ugly* even 30 years ago. One look at Emacs with this font might turn most people away before they start reading anything. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 16:30 ` hw @ 2018-09-04 19:13 ` Paul Eggert 2018-09-04 20:11 ` Drew Adams ` (3 more replies) 2018-09-06 12:29 ` Phillip Lord 1 sibling, 4 replies; 216+ messages in thread From: Paul Eggert @ 2018-09-04 19:13 UTC (permalink / raw) To: hw, Phillip Lord; +Cc: Eli Zaretskii, spacibba, emacs-devel hw wrote: > My first step with 'emacs -q' would be to make the menu fonts larger. > As much as I like monospace fonts, the typewriter font used for the text > was *really ugly* even 30 years ago. One look at Emacs with this font > might turn most people away before they start reading anything. This matches my perception too, when I show Emacs to students. Emacs starts up in monospace font and that looks sooooo 1980s. It's like showing them a medieval manuscript: cool in some sense, but they won't want to spend much of their working lives using it. A little bit of marketing would help here. The initial contents of *scratch*, the mode line, and the minibuffer need not be monospaced, and would all benefit from a better font. ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-04 19:13 ` Paul Eggert @ 2018-09-04 20:11 ` Drew Adams 2018-09-04 20:31 ` Paul Eggert 2018-09-04 21:14 ` Ergus ` (2 subsequent siblings) 3 siblings, 1 reply; 216+ messages in thread From: Drew Adams @ 2018-09-04 20:11 UTC (permalink / raw) To: Paul Eggert, hw, Phillip Lord; +Cc: Eli Zaretskii, spacibba, emacs-devel > A little bit of marketing would help here. The initial contents of *scratch*, > the mode line, and the minibuffer need not be monospaced, and would all > benefit from a better font. Just one opinion: No thanks to such marketing. 99.999% of my use of *scratch* and the minibuffer is code or data that should be (i.e., that I want to be) monospace. And probably 90% of my mode-line too. (And I could change other parts of the mode-line to use a different font, if I wanted to.) IMHO, you could hardly have picked worse examples. Info would have been a somewhat reasonable example. But even there I'd rather have the code parts shown using monospace, and code is a non-negligible part of many Info nodes. There's a reason that technical doc typically uses variable-width for ordinary text and fixed-width for code. But it's true that you said only "the initial contents of..." (why?). It's hard to argue that the initial contents of *scratch* call for a monospace font. But are you proposing that Emacs automatically change *scratch* to a monospace font when most of its contents become code or such? Do you perhaps propose that Emacs monitor such buffers to detect text that should reasonably be monospace, and automatically use a monospace font for those parts (only)? What's so hard about using a variable-width font for your Emacs classes/demos, at least for those buffers where you think it makes sense? You could even show them how easy it is for them to leave the dark-age 80s behind and become super cool on their own. (FWIW, on MS Windows it looks like menus use a variable-width font.) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 20:11 ` Drew Adams @ 2018-09-04 20:31 ` Paul Eggert 2018-09-06 12:32 ` Phillip Lord 0 siblings, 1 reply; 216+ messages in thread From: Paul Eggert @ 2018-09-04 20:31 UTC (permalink / raw) To: Drew Adams, hw, Phillip Lord; +Cc: Eli Zaretskii, spacibba, emacs-devel Drew Adams wrote: >> A little bit of marketing would help here. The initial contents of *scratch*, >> the mode line, and the minibuffer need not be monospaced, and would all >> benefit from a better font. > > 99.999% of my use of*scratch* and the minibuffer is code or data > that should be (i.e., that I want to be) monospace. That's fine, and I wasn't suggesting changing that. > are you proposing that Emacs automatically > change *scratch* to a monospace font when most of its contents > become code No, just that the initial contents shouldn't be monospace. > What's so hard about using a variable-width font for your Emacs > classes/demos I generally don't do demos. My students use Emacs directly, and it's better for them (as for any other new user) if the defaults work nicely for them. > (FWIW, on MS Windows it looks like menus use a variable-width > font.) Same is true for GNU/Linux, by default. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 20:31 ` Paul Eggert @ 2018-09-06 12:32 ` Phillip Lord 2018-09-06 14:25 ` Drew Adams 0 siblings, 1 reply; 216+ messages in thread From: Phillip Lord @ 2018-09-06 12:32 UTC (permalink / raw) To: Paul Eggert; +Cc: hw, Eli Zaretskii, spacibba, Drew Adams, emacs-devel Paul Eggert <eggert@cs.ucla.edu> writes: > Drew Adams wrote: >> are you proposing that Emacs automatically >> change *scratch* to a monospace font when most of its contents >> become code > > No, just that the initial contents shouldn't be monospace. The simple solution here is to switch *scratch* out of lisp-interaction mode. Emacs should include a lisp development environment, but it isn't one. Mostly I use *scratch* for dumping any old stuff that I want to use later. Often just text. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-06 12:32 ` Phillip Lord @ 2018-09-06 14:25 ` Drew Adams 0 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-06 14:25 UTC (permalink / raw) To: phillip.lord, Paul Eggert; +Cc: hw, Eli Zaretskii, spacibba, emacs-devel > The simple solution here is to switch *scratch* out of lisp-interaction > mode. Emacs should include a lisp development environment, but it isn't > one. Agreed. I use `emacs-lisp-mode' for *scratch*, personally. > Mostly I use *scratch* for dumping any old stuff that I want to use > later. Often just text. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 19:13 ` Paul Eggert 2018-09-04 20:11 ` Drew Adams @ 2018-09-04 21:14 ` Ergus 2018-09-05 2:40 ` Eli Zaretskii 2018-09-06 1:11 ` hw 3 siblings, 0 replies; 216+ messages in thread From: Ergus @ 2018-09-04 21:14 UTC (permalink / raw) To: Paul Eggert; +Cc: hw, Eli Zaretskii, emacs-devel, Phillip Lord On Tue, Sep 04, 2018 at 12:13:36PM -0700, Paul Eggert wrote: >hw wrote: >>My first step with 'emacs -q' would be to make the menu fonts larger. >>As much as I like monospace fonts, the typewriter font used for the text >>was *really ugly* even 30 years ago. One look at Emacs with this font >>might turn most people away before they start reading anything. > >This matches my perception too, when I show Emacs to students. Emacs >starts up in monospace font and that looks sooooo 1980s. It's like >showing them a medieval manuscript: cool in some sense, but they won't >want to spend much of their working lives using it. > >A little bit of marketing would help here. The initial contents of >*scratch*, the mode line, and the minibuffer need not be monospaced, >and would all benefit from a better font. > Yes that was somehow my intention in the beginning. Give to the initial user a better first impression. That includes a better interaction in the beginning, access to customization, but also a better look counts (the default color theme could be very improved). Most new users coming from vim will like to use emacs in the terminal only, but it looks like the latest efforts are now in the gui. I think that new gui or windows users prefer sublime or other editors that behave as they expect (C-c, C-v, click here and there and most things working with no configuration needed) Emacs could provide that experience if that's what the user likes. But developing all this requires many developers, but you only get new developers if you have more users (young students), but to have new users you need a better initial experience... is a vicious circle. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 19:13 ` Paul Eggert 2018-09-04 20:11 ` Drew Adams 2018-09-04 21:14 ` Ergus @ 2018-09-05 2:40 ` Eli Zaretskii 2018-09-05 6:29 ` Paul Eggert 2018-09-06 1:11 ` hw 3 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-05 2:40 UTC (permalink / raw) To: Paul Eggert; +Cc: hw, spacibba, emacs-devel, phillip.lord > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Tue, 4 Sep 2018 12:13:36 -0700 > Cc: Eli Zaretskii <eliz@gnu.org>, spacibba@aol.com, emacs-devel@gnu.org > > A little bit of marketing would help here. The initial contents of *scratch*, > the mode line, and the minibuffer need not be monospaced, and would all benefit > from a better font. What newbies see when they start Emacs is not *scratch*, it's the splash image and the welcome buffer. And that one doesn't use monospaced font. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 2:40 ` Eli Zaretskii @ 2018-09-05 6:29 ` Paul Eggert 2018-09-05 7:59 ` Joost Kremers 0 siblings, 1 reply; 216+ messages in thread From: Paul Eggert @ 2018-09-05 6:29 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, phillip.lord, emacs-devel Eli Zaretskii wrote: > What newbies see when they start Emacs is not*scratch*, it's the > splash image and the welcome buffer. True; I'd forgotten. But we could still spruce up those bottom two lines, no? They're still using monospaced fonts and look like refugees from the 1980s. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 6:29 ` Paul Eggert @ 2018-09-05 7:59 ` Joost Kremers 2018-09-05 15:27 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: Joost Kremers @ 2018-09-05 7:59 UTC (permalink / raw) To: Paul Eggert; +Cc: hw, Eli Zaretskii, emacs-devel, spacibba, phillip.lord On Wed, Sep 05 2018, Paul Eggert wrote: > Eli Zaretskii wrote: >> What newbies see when they start Emacs is not*scratch*, it's >> the >> splash image and the welcome buffer. > > True; I'd forgotten. But we could still spruce up those bottom > two lines, no? > They're still using monospaced fonts and look like refugees from > the 1980s. IMHO the monospace font is not the problem. The font I get when I do `emacs -Q` looks quite good (it's DejaVu Sans Mono, BTW). But some way to visualise different types of information (similar to what most mode-line packages do), perhaps a few unicode symbols and a default way to put things at the right side of the mode line would, I think, go a long way to make the mode line look more modern. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 7:59 ` Joost Kremers @ 2018-09-05 15:27 ` Eli Zaretskii 2018-09-09 20:07 ` Joost Kremers 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-05 15:27 UTC (permalink / raw) To: Joost Kremers; +Cc: hw, spacibba, eggert, emacs-devel, phillip.lord > From: Joost Kremers <joost.kremers@phil.uni-goettingen.de> > Cc: Eli Zaretskii <eliz@gnu.org>, hw@adminart.net, spacibba@aol.com, phillip.lord@russet.org.uk, emacs-devel@gnu.org > Date: Wed, 05 Sep 2018 09:59:51 +0200 > > IMHO the monospace font is not the problem. The font I get when I > do `emacs -Q` looks quite good (it's DejaVu Sans Mono, BTW). But > some way to visualise different types of information (similar to > what most mode-line packages do), perhaps a few unicode symbols > and a default way to put things at the right side of the mode line > would, I think, go a long way to make the mode line look more > modern. Wrt "a few Unicode symbols", do you have concrete proposals? Thanks. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-05 15:27 ` Eli Zaretskii @ 2018-09-09 20:07 ` Joost Kremers 2018-09-09 20:10 ` Eli Zaretskii 2018-09-10 5:16 ` Yuri Khan 0 siblings, 2 replies; 216+ messages in thread From: Joost Kremers @ 2018-09-09 20:07 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Wed, Sep 05 2018, Eli Zaretskii wrote: >> From: Joost Kremers <joost.kremers@phil.uni-goettingen.de> >> IMHO the monospace font is not the problem. The font I get when >> I >> do `emacs -Q` looks quite good (it's DejaVu Sans Mono, BTW). >> But >> some way to visualise different types of information (similar >> to >> what most mode-line packages do), perhaps a few unicode symbols >> and a default way to put things at the right side of the mode >> line >> would, I think, go a long way to make the mode line look more >> modern. > > Wrt "a few Unicode symbols", do you have concrete proposals? Not really, to be honest. What would be nice I think would be to have less 1980's-looking characters for the initial "U:---" appearing in the mode line. Two things that immediately come to mind (but that I personally don't like and wouldn't endorse) are of course a pad lock for read-only files and a floppy disk for an unmodified buffer. A floppy disk with the `error` face could then be used to indicate a modified buffer. Personally, what I'd prefer are symbols that are abstract but don't really convey this 1980's feeling. For example, I kinda like the modified/unmodified indicators used in the screen shots at <https://github.com/dustinlacewell/eyeliner> (specifically, a neutral-coloured circle 🞅 for an unmodified buffer and a red circle with dot 🞊 for a modified buffer). I Haven't given any thought to any of the other indicators, though. BTW, as a side note: I wouldn't mind if all the other indicators of the "U:---" part of the mode line would be zero for their default values; i.e,. don't display ":" unless the line endings are not unix-style LF, don't display the first "-", just display something for read-only buffers, etc. Anyway, it was just a quick remark, I didn't give it much thought. If there's some interest, I wouldn't mind putting some ideas together, though. -- Joost Kremers, PhD Wuppertal University Germanic Linguistics Gaußstraße 20 42119 Wuppertal, Germany +49 (0)202-439 3036 ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-09 20:07 ` Joost Kremers @ 2018-09-09 20:10 ` Eli Zaretskii 2018-09-10 5:16 ` Yuri Khan 1 sibling, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-09 20:10 UTC (permalink / raw) To: Joost Kremers; +Cc: emacs-devel > From: Joost Kremers <joostkremers@fastmail.fm> > Cc: emacs-devel@gnu.org > Date: Sun, 09 Sep 2018 22:07:08 +0200 > > Anyway, it was just a quick remark, I didn't give it much thought. > If there's some interest, I wouldn't mind putting some ideas > together, though. I think we should consider such a feature, at least as an option if not the default. So if you have time to come up with some ideas, please do, and thanks. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-09 20:07 ` Joost Kremers 2018-09-09 20:10 ` Eli Zaretskii @ 2018-09-10 5:16 ` Yuri Khan 2018-09-10 7:30 ` Eli Zaretskii 1 sibling, 1 reply; 216+ messages in thread From: Yuri Khan @ 2018-09-10 5:16 UTC (permalink / raw) To: Joost Kremers; +Cc: Eli Zaretskii, Emacs developers On Mon, Sep 10, 2018 at 3:15 AM Joost Kremers <joostkremers@fastmail.fm> wrote: > > Wrt "a few Unicode symbols", do you have concrete proposals? > > Not really, to be honest. What would be nice I think would be to > have less 1980's-looking characters for the initial "U:---" > appearing in the mode line. > > BTW, as a side note: I wouldn't mind if all the other indicators > of the "U:---" part of the mode line would be zero for their > default values; i.e,. don't display ":" unless the line endings > are not unix-style LF, don't display the first "-", just display > something for read-only buffers, etc. This is pretty much what I did to my mode line. I use: * a U+2022 BULLET • if the buffer is visiting a file and modified, and nothing otherwise; * a U+1F512 LOCK 🔒 if it is visiting a file and read-only, and nothing otherwise; * a U+1F5AC SOFT SHELL FLOPPY DISK 🖬 if using DOS end-of-lines, or U+2318 PLACE OF INTEREST SIGN ⌘ if using Mac end-of-lines, nothing if using Unix end-of-lines, and a question mark ? otherwise. I customize Ibuffer to show these same icons for modified and read-only buffers, too. I do not see value in seeing that e.g. a Dired, Help or Info buffer is read-only; that is its natural state and so uninteresting. (Rather, I should make them display a U+1F589 LOWER LEFT PENCIL 🖉 when *not* read-only, e.g. in wdired-mode.) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 5:16 ` Yuri Khan @ 2018-09-10 7:30 ` Eli Zaretskii 2018-09-10 8:26 ` Yuri Khan 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-10 7:30 UTC (permalink / raw) To: Yuri Khan; +Cc: joostkremers, emacs-devel > From: Yuri Khan <yurivkhan@gmail.com> > Date: Mon, 10 Sep 2018 12:16:34 +0700 > Cc: Eli Zaretskii <eliz@gnu.org>, Emacs developers <emacs-devel@gnu.org> > > On Mon, Sep 10, 2018 at 3:15 AM Joost Kremers <joostkremers@fastmail.fm> wrote: > > * a U+2022 BULLET • if the buffer is visiting a file and modified, and > nothing otherwise; > * a U+1F512 LOCK 🔒 if it is visiting a file and read-only, and > nothing otherwise; > * a U+1F5AC SOFT SHELL FLOPPY DISK 🖬 if using DOS end-of-lines, or > U+2318 PLACE OF INTEREST SIGN ⌘ if using Mac end-of-lines, nothing if > using Unix end-of-lines, and a question mark ? otherwise. An image of a floppy disk is generally used for saving something to disk, so I think it would be better to use it for the "modified" marker, perhaps even with mouse click on it invoking save-buffer. As for using these images for EOL format, I guess their mnemonic significance is something to your personal experience, because I would not have guessed why a floppy means DOS/Windows, what with GNU/Linux nowadays being ubiquitous on small devices and PCs. I don't see any emoticons that strike me as appropriate, but perhaps we could design small icons of our own instead. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 7:30 ` Eli Zaretskii @ 2018-09-10 8:26 ` Yuri Khan 2018-09-10 12:06 ` hw 2018-09-10 12:52 ` Eli Zaretskii 0 siblings, 2 replies; 216+ messages in thread From: Yuri Khan @ 2018-09-10 8:26 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Joost Kremers, Emacs developers On Mon, Sep 10, 2018 at 2:30 PM Eli Zaretskii <eliz@gnu.org> wrote: > > > * a U+2022 BULLET • if the buffer is visiting a file and modified, and > > nothing otherwise; > > * a U+1F512 LOCK if it is visiting a file and read-only, and > > nothing otherwise; > > * a U+1F5AC SOFT SHELL FLOPPY DISK 🖬 if using DOS end-of-lines, or > > U+2318 PLACE OF INTEREST SIGN ⌘ if using Mac end-of-lines, nothing if > > using Unix end-of-lines, and a question mark ? otherwise. > > An image of a floppy disk is generally used for saving something to > disk I thought about it when choosing the character. The save icon uses the 3.5″ floppy disk (when it depicts a floppy disk at all), so I took the 5.25″ one to avoid ambiguity. > so I think it would be better to use it for the "modified" > marker, perhaps even with mouse click on it invoking save-buffer. Well, most other editors use either an asterisk or a bullet. I didn’t feel like inventing a new symbol usage for its own sake. What does clicking the * do now? Just drop the “buffer modified” flag? That feels dangerous. > As for using these images for EOL format, I guess their mnemonic > significance is something to your personal experience, because I would > not have guessed why a floppy means DOS/Windows, what with GNU/Linux > nowadays being ubiquitous on small devices and PCs. I don't see any > emoticons that strike me as appropriate, but perhaps we could design > small icons of our own instead. Well, DOS stands for Disk Operating System, so the DOS line end convention gets a disk icon. Windows does not enter the picture because it just inherited the DOS convention. Nowadays, I think, floppy disks are not used, like, at all (except possibly to file tax reports to the tax office, and even they now provide a tax form web application), so the image of a floppy evokes the thought of something ancient. Point is, U:--- is a cryptic indicator that basically says “everything is as you expect”, and 1\%*@ is a cryptic indicator that says “there are so many things wrong, unusual or unsafe about this buffer”. These are all important status items that could be made more informative when in their abnormal, unsafe or attention-required state; or, conversely, quieted down to silence when in the usual, safe and expected state. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 8:26 ` Yuri Khan @ 2018-09-10 12:06 ` hw 2018-09-10 12:44 ` Michael Albinus 2018-09-10 14:57 ` Yuri Khan 2018-09-10 12:52 ` Eli Zaretskii 1 sibling, 2 replies; 216+ messages in thread From: hw @ 2018-09-10 12:06 UTC (permalink / raw) To: Yuri Khan; +Cc: Joost Kremers, Eli Zaretskii, Emacs developers Yuri Khan <yurivkhan@gmail.com> writes: > On Mon, Sep 10, 2018 at 2:30 PM Eli Zaretskii <eliz@gnu.org> wrote: > [...] >> An image of a floppy disk is generally used for saving something to >> disk > > I thought about it when choosing the character. The save icon uses the > 3.5″ floppy disk (when it depicts a floppy disk at all), so I took the > 5.25″ one to avoid ambiguity. Beginners may never have seen a floppy and only remote files. A 3.5 vs. a 5.25" disk might mean nothing to them even when the disks are clearly depicted. What do you use for remote files? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 12:06 ` hw @ 2018-09-10 12:44 ` Michael Albinus 2018-09-10 14:57 ` Yuri Khan 1 sibling, 0 replies; 216+ messages in thread From: Michael Albinus @ 2018-09-10 12:44 UTC (permalink / raw) To: hw; +Cc: Joost Kremers, Yuri Khan, Eli Zaretskii, Emacs developers hw <hw@adminart.net> writes: > Beginners may never have seen a floppy and only remote files. A 3.5 > vs. a 5.25" disk might mean nothing to them even when the disks are > clearly depicted. > > What do you use for remote files? A tramp? SCNR, Michael. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 12:06 ` hw 2018-09-10 12:44 ` Michael Albinus @ 2018-09-10 14:57 ` Yuri Khan 2018-09-10 19:58 ` hw 1 sibling, 1 reply; 216+ messages in thread From: Yuri Khan @ 2018-09-10 14:57 UTC (permalink / raw) To: hw; +Cc: Joost Kremers, Eli Zaretskii, Emacs developers On Mon, Sep 10, 2018 at 7:08 PM hw <hw@adminart.net> wrote: > Beginners may never have seen a floppy and only remote files. A 3.5 > vs. a 5.25" disk might mean nothing to them even when the disks are > clearly depicted. Yes. This is why some GTK icon themes no longer use the floppy disk for the Save icon. I don’t have a generic solution for character encodings and end-of-line conventions. Might just keep displaying them as text, but possibly spelled out in full (cp437, windows-1252, utf-8, instead of D, *, U) and moved to a less prominent position. > What do you use for remote files? Nothing yet, as remote editing is not a thing I do in Emacs often. U+1F5A7 THREE NETWORKED COMPUTERS 🖧 seems fitting, though. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 14:57 ` Yuri Khan @ 2018-09-10 19:58 ` hw 2018-09-11 6:31 ` Yuri Khan 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-10 19:58 UTC (permalink / raw) To: Yuri Khan; +Cc: Joost Kremers, Eli Zaretskii, Emacs developers Yuri Khan <yurivkhan@gmail.com> writes: > On Mon, Sep 10, 2018 at 7:08 PM hw <hw@adminart.net> wrote: > >> Beginners may never have seen a floppy and only remote files. A 3.5 >> vs. a 5.25" disk might mean nothing to them even when the disks are >> clearly depicted. > > Yes. This is why some GTK icon themes no longer use the floppy disk > for the Save icon. Maybe some icons from those could be used for the toolbar to make it look more modern? > I don’t have a generic solution for character encodings and > end-of-line conventions. Might just keep displaying them as text, but > possibly spelled out in full (cp437, windows-1252, utf-8, instead of > D, *, U) and moved to a less prominent position. > >> What do you use for remote files? > > Nothing yet, as remote editing is not a thing I do in Emacs often. > U+1F5A7 THREE NETWORKED COMPUTERS 🖧 seems fitting, though. I'd like that. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 19:58 ` hw @ 2018-09-11 6:31 ` Yuri Khan 2018-09-11 20:37 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Yuri Khan @ 2018-09-11 6:31 UTC (permalink / raw) To: hw; +Cc: Joost Kremers, Eli Zaretskii, Emacs developers On Tue, Sep 11, 2018 at 3:54 AM hw <hw@adminart.net> wrote: > > Yes. This is why some GTK icon themes no longer use the floppy disk > > for the Save icon. > > Maybe some icons from those could be used for the toolbar to make it > look more modern? They already are. If I turn tool-bar-mode on, the fifth button on the toolbar displays a sheet of paper with a thick blue downward arrow. (Of course, the point is not what exactly is depicted but the fact that it uses the same icons as all the other GTK applications on the same desktop.) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-11 6:31 ` Yuri Khan @ 2018-09-11 20:37 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-11 20:37 UTC (permalink / raw) To: Yuri Khan; +Cc: Joost Kremers, Eli Zaretskii, Emacs developers Yuri Khan <yurivkhan@gmail.com> writes: > On Tue, Sep 11, 2018 at 3:54 AM hw <hw@adminart.net> wrote: > >> > Yes. This is why some GTK icon themes no longer use the floppy disk >> > for the Save icon. >> >> Maybe some icons from those could be used for the toolbar to make it >> look more modern? > > They already are. If I turn tool-bar-mode on, the fifth button on the > toolbar displays a sheet of paper with a thick blue downward arrow. On my screen, Emacs 27.0.50 displays what resembles a 3.5" floppy which is grayed out when I use 'emacs -q'. > (Of course, the point is not what exactly is depicted but the fact > that it uses the same icons as all the other GTK applications on the > same desktop.) I tried to verify this in gimp, but gimp doesn't show such a toolbar. Hm, maybe it's because I compiled Emacs with Xaw rather than gtk? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 8:26 ` Yuri Khan 2018-09-10 12:06 ` hw @ 2018-09-10 12:52 ` Eli Zaretskii 1 sibling, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-10 12:52 UTC (permalink / raw) To: Yuri Khan; +Cc: joostkremers, emacs-devel > From: Yuri Khan <yurivkhan@gmail.com> > Date: Mon, 10 Sep 2018 15:26:25 +0700 > Cc: Joost Kremers <joostkremers@fastmail.fm>, Emacs developers <emacs-devel@gnu.org> > > > An image of a floppy disk is generally used for saving something to > > disk > > I thought about it when choosing the character. The save icon uses the > 3.5″ floppy disk (when it depicts a floppy disk at all), so I took the > 5.25″ one to avoid ambiguity. I doubt if this subtlety will help, but that's me. > > so I think it would be better to use it for the "modified" > > marker, perhaps even with mouse click on it invoking save-buffer. > > Well, most other editors use either an asterisk or a bullet. I didn’t > feel like inventing a new symbol usage for its own sake. So what is wrong with the asterisk we already have? > What does clicking the * do now? Just drop the “buffer modified” flag? Yes. > > As for using these images for EOL format, I guess their mnemonic > > significance is something to your personal experience, because I would > > not have guessed why a floppy means DOS/Windows, what with GNU/Linux > > nowadays being ubiquitous on small devices and PCs. I don't see any > > emoticons that strike me as appropriate, but perhaps we could design > > small icons of our own instead. > > Well, DOS stands for Disk Operating System, so the DOS line end > convention gets a disk icon. IME, rationalizations don't usually help with mnemonics. If you need to explain the mnemonic, you already lost. The only non-trivial mnemonics that are OK are those which are widely used by other apps. > Point is, U:--- is a cryptic indicator that basically says “everything > is as you expect”, and 1\%*@ is a cryptic indicator that says “there > are so many things wrong, unusual or unsafe about this buffer”. These > are all important status items that could be made more informative > when in their abnormal, unsafe or attention-required state; or, > conversely, quieted down to silence when in the usual, safe and > expected state. Personally, I disagree that they are "important". I think they are of secondary importance, as long as Emacs does what the users expect with the respective features. It is only when Emacs misbehaves that these become more important, but I think problems with these particular ones are well in the past. So I think we shouldn't over-engineer this. Using icons or emoji for some of them is OK if it makes the indicators speak for themselves, but we shouldn't IMO get out of our way to provide icons at any cost. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 19:13 ` Paul Eggert ` (2 preceding siblings ...) 2018-09-05 2:40 ` Eli Zaretskii @ 2018-09-06 1:11 ` hw 2018-09-06 1:41 ` Ergus 3 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-06 1:11 UTC (permalink / raw) To: Paul Eggert; +Cc: Eli Zaretskii, emacs-devel, spacibba, Phillip Lord Paul Eggert <eggert@cs.ucla.edu> writes: > hw wrote: >> My first step with 'emacs -q' would be to make the menu fonts larger. >> As much as I like monospace fonts, the typewriter font used for the text >> was *really ugly* even 30 years ago. One look at Emacs with this font >> might turn most people away before they start reading anything. > > This matches my perception too, when I show Emacs to students. Emacs > starts up in monospace font and that looks sooooo 1980s. not really I don't mean to say that there's something wrong with monospace fonts. I prefer them for most things because they're monospace. We should ask a designer for some ideas about how to make Emacs look better. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 1:11 ` hw @ 2018-09-06 1:41 ` Ergus 2018-09-07 8:11 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Ergus @ 2018-09-06 1:41 UTC (permalink / raw) To: hw, Paul Eggert; +Cc: Eli Zaretskii, emacs-devel, Phillip Lord On 6 September 2018 03:11:08 CEST, hw <hw@adminart.net> wrote: >Paul Eggert <eggert@cs.ucla.edu> writes: > >> hw wrote: >>> My first step with 'emacs -q' would be to make the menu fonts >larger. >>> As much as I like monospace fonts, the typewriter font used for the >text >>> was *really ugly* even 30 years ago. One look at Emacs with this >font >>> might turn most people away before they start reading anything. >> >> This matches my perception too, when I show Emacs to students. Emacs >> starts up in monospace font and that looks sooooo 1980s. > >not really > >I don't mean to say that there's something wrong with monospace fonts. >I prefer them for most things because they're monospace. > >We should ask a designer for some ideas about how to make Emacs look >better. We can also see what have succeded before, for example packages like powerline or fonts like Hacks or Cantarell. They have succeded independently of operative systems, editors or tools. The default color scheme, graphical or tui. These are the kind of initial things I wanted to ask to the new user if there is not config file. If he dont want any help can get the defaults, else he could choose and the first impresion could be much much better. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 1:41 ` Ergus @ 2018-09-07 8:11 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-07 8:11 UTC (permalink / raw) To: Ergus; +Cc: Eli Zaretskii, Paul Eggert, Phillip Lord, emacs-devel Ergus <spacibba@aol.com> writes: > On 6 September 2018 03:11:08 CEST, hw <hw@adminart.net> wrote: >>Paul Eggert <eggert@cs.ucla.edu> writes: >> >>> hw wrote: >>>> My first step with 'emacs -q' would be to make the menu fonts >>larger. >>>> As much as I like monospace fonts, the typewriter font used for the >>text >>>> was *really ugly* even 30 years ago. One look at Emacs with this >>font >>>> might turn most people away before they start reading anything. >>> >>> This matches my perception too, when I show Emacs to students. Emacs >>> starts up in monospace font and that looks sooooo 1980s. >> >>not really >> >>I don't mean to say that there's something wrong with monospace fonts. >>I prefer them for most things because they're monospace. >> >>We should ask a designer for some ideas about how to make Emacs look >>better. > > We can also see what have succeded before, for example packages like > powerline or fonts like Hacks or Cantarell. I never used these fonts, and what is powerline? > They have succeded independently of operative systems, editors or > tools. The default color scheme, graphical or tui. These are the kind > of initial things I wanted to ask to the new user if there is not > config file. If he dont want any help can get the defaults, else he > could choose and the first impresion could be much much better. That's one of the things I've been thinking about when trying to figure out why 'emacs -q', creating an X frame, is so ugly. I thought it might look much better with different colours, but that's just me as I don't like black on white much on monitors. What also makes it look ugly is the toolbar and the menu. Turning those off by default might not be the best idea, though. Having the user pick colors initially is probably difficult: I need to see how it looks when I pick colors, so I try them out. Asking someone what colours they would like and then using them probably won't work. Preparing preset colour themes (skins) might work. You can show a preview image and let the user pick one. That could include font selections. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 16:30 ` hw 2018-09-04 19:13 ` Paul Eggert @ 2018-09-06 12:29 ` Phillip Lord 2018-09-06 14:24 ` Drew Adams 2018-09-07 8:16 ` hw 1 sibling, 2 replies; 216+ messages in thread From: Phillip Lord @ 2018-09-06 12:29 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, spacibba, emacs-devel hw <hw@adminart.net> writes: > phillip.lord@russet.org.uk (Phillip Lord) writes: > >> Personally, I would like to ditch all the "how to move around" with >> keys stuff -- this scares most people to hell, because they think that >> they need to learn this to do something that they already know how to >> do these things. > > right > > The current tutorial is more suited to drive people away than anything > else. > > Who knows what a META or an EDIT key is? And who cares? Even after > almost 30 years of getting used to them, I'm finding notations like 'C-x > ret f' or 'M-w' very confusing. How does that belong into a tutorial? I think we need to introduce this notation, because people will see it everywhere; but we should not depend on it. > People might use C-v to copy something rather than to scroll. They will > use the cursor keys and PgUp and PgDown to move around. There is a separate question here about making Emacs better out-of-the-box. One of the things that might improve things is to turn CUA mode on by default for instance. > Your tutorial even explains what Emacs is and gives some history. That > is a much more welcoming start. Thank you! >> In terms of advanced issues, my thought was to enable tutorial >> extensions to go into ELPA and then have a navigational structure. > > Maybe several tutorials would be better, like one covering what Emacs is > (nowadays that may be a good idea), one covering the first steps and > others covering the installation of packages after users have aquired > some understanding of what packages are. There is also the practical reality that the Emacs update cycle is relatively slow. A tutorial on ELPA could be updated out of that cycle. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-06 12:29 ` Phillip Lord @ 2018-09-06 14:24 ` Drew Adams 2018-09-06 14:36 ` Eli Zaretskii [not found] ` <<83r2i6wv4v.fsf@gnu.org> 2018-09-07 8:16 ` hw 1 sibling, 2 replies; 216+ messages in thread From: Drew Adams @ 2018-09-06 14:24 UTC (permalink / raw) To: phillip.lord, hw; +Cc: Eli Zaretskii, spacibba, emacs-devel > One of the things that might improve things is to turn > CUA mode on by default for instance. Please, no. But we should turn on `delete-selection-mode' by default. (Any yes, each of these has been discussed multiple times over the years. It took decades to finally get `transient-mark-mode' turned on by default. I'm still hoping for `delete-selection-mode' before the Rapture arrives. ;-) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 14:24 ` Drew Adams @ 2018-09-06 14:36 ` Eli Zaretskii 2018-09-07 6:39 ` Richard Stallman 2018-09-07 8:25 ` hw [not found] ` <<83r2i6wv4v.fsf@gnu.org> 1 sibling, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-06 14:36 UTC (permalink / raw) To: Drew Adams; +Cc: hw, spacibba, emacs-devel, phillip.lord > Date: Thu, 6 Sep 2018 07:24:27 -0700 (PDT) > From: Drew Adams <drew.adams@oracle.com> > Cc: Eli Zaretskii <eliz@gnu.org>, spacibba@aol.com, emacs-devel@gnu.org > > we should turn on `delete-selection-mode' by default. I don't think we can, because it gets in the way when editing code. We could turn it on in text modes, perhaps. But anyway, we already have non-annoying portions of delete-selection-mode turned on by default (shift-selection etc.). ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 14:36 ` Eli Zaretskii @ 2018-09-07 6:39 ` Richard Stallman 2018-09-07 8:25 ` hw 1 sibling, 0 replies; 216+ messages in thread From: Richard Stallman @ 2018-09-07 6:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: hw, spacibba, phillip.lord, drew.adams, 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. ]]] Please don't turn on delete-selection-mode. -- Dr Richard Stallman President, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 14:36 ` Eli Zaretskii 2018-09-07 6:39 ` Richard Stallman @ 2018-09-07 8:25 ` hw 2018-09-07 9:34 ` Eli Zaretskii 2018-09-07 15:26 ` Drew Adams 1 sibling, 2 replies; 216+ messages in thread From: hw @ 2018-09-07 8:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, phillip.lord, Drew Adams, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Date: Thu, 6 Sep 2018 07:24:27 -0700 (PDT) >> From: Drew Adams <drew.adams@oracle.com> >> Cc: Eli Zaretskii <eliz@gnu.org>, spacibba@aol.com, emacs-devel@gnu.org >> >> we should turn on `delete-selection-mode' by default. > > I don't think we can, because it gets in the way when editing code. > We could turn it on in text modes, perhaps. > > But anyway, we already have non-annoying portions of > delete-selection-mode turned on by default (shift-selection etc.). I'm finding that weird and annoying, can it be turned off? It sometimes happens by accident. If it was on by default, I'd probably disable `delete-selection-mode'. I rather have something typed than a selection replaced by accident, and accident would be the only case in which the selection would be replaced. How does it get in the way when editing code? Just don't replace the selection, or disable the mode? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 8:25 ` hw @ 2018-09-07 9:34 ` Eli Zaretskii 2018-09-07 13:22 ` hw 2018-09-07 15:26 ` Drew Adams 1 sibling, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-07 9:34 UTC (permalink / raw) To: hw; +Cc: spacibba, phillip.lord, drew.adams, emacs-devel > From: hw <hw@adminart.net> > Cc: Drew Adams <drew.adams@oracle.com>, spacibba@aol.com, emacs-devel@gnu.org, phillip.lord@russet.org.uk > Date: Fri, 07 Sep 2018 10:25:36 +0200 > > > But anyway, we already have non-annoying portions of > > delete-selection-mode turned on by default (shift-selection etc.). > > I'm finding that weird and annoying, can it be turned off? It sometimes > happens by accident. I think we can, but if you don't tell what exactly is annoying, I don't see how can we advise you about turning that off. > How does it get in the way when editing code? Just don't replace the > selection, or disable the mode? I explained that in followup messages. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 9:34 ` Eli Zaretskii @ 2018-09-07 13:22 ` hw 2018-09-07 14:48 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-07 13:22 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel, drew.adams, phillip.lord Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: Drew Adams <drew.adams@oracle.com>, spacibba@aol.com, emacs-devel@gnu.org, phillip.lord@russet.org.uk >> Date: Fri, 07 Sep 2018 10:25:36 +0200 >> >> > But anyway, we already have non-annoying portions of >> > delete-selection-mode turned on by default (shift-selection etc.). >> >> I'm finding that weird and annoying, can it be turned off? It sometimes >> happens by accident. > > I think we can, but if you don't tell what exactly is annoying, I > don't see how can we advise you about turning that off. I was referring to making a selection with shift. I'm not sure what the etc. is. >> How does it get in the way when editing code? Just don't replace the >> selection, or disable the mode? > > I explained that in followup messages. Yes, I saw that only later, sorry. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 13:22 ` hw @ 2018-09-07 14:48 ` Eli Zaretskii 2018-09-07 16:34 ` Drew Adams 2018-09-07 21:29 ` hw 0 siblings, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-07 14:48 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel, drew.adams, phillip.lord > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, phillip.lord@russet.org.uk, drew.adams@oracle.com, emacs-devel@gnu.org > Date: Fri, 07 Sep 2018 15:22:06 +0200 > > >> I'm finding that weird and annoying, can it be turned off? It sometimes > >> happens by accident. > > > > I think we can, but if you don't tell what exactly is annoying, I > > don't see how can we advise you about turning that off. > > I was referring to making a selection with shift. I'm not sure what the > etc. is. From the Emacs manual: To turn off shift-selection, set ‘shift-select-mode’ to ‘nil’. Doing so does not disable setting the mark via mouse commands. ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-07 14:48 ` Eli Zaretskii @ 2018-09-07 16:34 ` Drew Adams 2018-09-07 21:29 ` hw 1 sibling, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-07 16:34 UTC (permalink / raw) To: Eli Zaretskii, hw; +Cc: spacibba, emacs-devel, phillip.lord > > I was referring to making a selection with shift. > > From the Emacs manual: > To turn off shift-selection, set ‘shift-select-mode’ to ‘nil’. Doing > so does not disable setting the mark via mouse commands. And besides the manual (recommended) you can discover this (if you know that it is called "shift selection") using the menu: 1. Options > Customize Emacs > Specific Option... 2. Type `shift TAB' (or `shi TAB') to complete to `shift-selection-mode'. 3. Hit `RET'. Or more directly, `M-x customize-option shi TAB RET'. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 14:48 ` Eli Zaretskii 2018-09-07 16:34 ` Drew Adams @ 2018-09-07 21:29 ` hw 2018-09-08 6:21 ` Eli Zaretskii 1 sibling, 1 reply; 216+ messages in thread From: hw @ 2018-09-07 21:29 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, phillip.lord, drew.adams, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, phillip.lord@russet.org.uk, drew.adams@oracle.com, emacs-devel@gnu.org >> Date: Fri, 07 Sep 2018 15:22:06 +0200 >> >> >> I'm finding that weird and annoying, can it be turned off? It sometimes >> >> happens by accident. >> > >> > I think we can, but if you don't tell what exactly is annoying, I >> > don't see how can we advise you about turning that off. >> >> I was referring to making a selection with shift. I'm not sure what the >> etc. is. > >>From the Emacs manual: > > To turn off shift-selection, set ‘shift-select-mode’ to ‘nil’. Doing > so does not disable setting the mark via mouse commands. Thanks! I really need to read the manual again ... ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 21:29 ` hw @ 2018-09-08 6:21 ` Eli Zaretskii 2018-09-08 13:12 ` hw [not found] ` <<87mussp1zu.fsf@toy.adminart.net> 0 siblings, 2 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-08 6:21 UTC (permalink / raw) To: hw; +Cc: spacibba, phillip.lord, drew.adams, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org, drew.adams@oracle.com, phillip.lord@russet.org.uk > Date: Fri, 07 Sep 2018 23:29:19 +0200 > > >>From the Emacs manual: > > > > To turn off shift-selection, set ‘shift-select-mode’ to ‘nil’. Doing > > so does not disable setting the mark via mouse commands. > > Thanks! I really need to read the manual again ... While re-reading the manual from time to time is a good idea (and we present an opportunity to do that whenever a new Emacs version is about to be released, at which point we ask volunteers to proof-read the manual), you don't really need to read it to find stuff relevant to some subject. Instead, use the 'i' command (with completion) to quickly find the places discussing that subject. In this case, I typed "i shift-sel TAB" and was presented with a single completion; typing RET then landed me in a short section which had the above text in it. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 6:21 ` Eli Zaretskii @ 2018-09-08 13:12 ` hw 2018-09-08 16:17 ` Eli Zaretskii ` (2 more replies) [not found] ` <<87mussp1zu.fsf@toy.adminart.net> 1 sibling, 3 replies; 216+ messages in thread From: hw @ 2018-09-08 13:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel, drew.adams, phillip.lord Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org, drew.adams@oracle.com, phillip.lord@russet.org.uk >> Date: Fri, 07 Sep 2018 23:29:19 +0200 >> >> >>From the Emacs manual: >> > >> > To turn off shift-selection, set ‘shift-select-mode’ to ‘nil’. Doing >> > so does not disable setting the mark via mouse commands. >> >> Thanks! I really need to read the manual again ... > > While re-reading the manual from time to time is a good idea (and we > present an opportunity to do that whenever a new Emacs version is > about to be released, at which point we ask volunteers to proof-read > the manual), Hm. I've started reading it again and was thinking about the changes between versions. I could as well proof read it, but wich version should I read? > you don't really need to read it to find stuff relevant > to some subject. Instead, use the 'i' command (with completion) to > quickly find the places discussing that subject. In this case, I > typed "i shift-sel TAB" and was presented with a single completion; > typing RET then landed me in a short section which had the above text > in it. That's cool. It's been so long that I read it that I want to read it again. BTW, when I was reading it, I was wishing I could open links in other buffers or windows like I would open another tab in a web brower. Is there some way to do something like that? It can make it easier to keep track of the history as you can break up a history tree into something far more navigable by using tabs as anchors of branches (that have branches, etc.). ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 13:12 ` hw @ 2018-09-08 16:17 ` Eli Zaretskii 2018-09-10 11:52 ` hw 2018-09-08 17:00 ` Charles A. Roelli 2018-09-08 23:02 ` Juri Linkov 2 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-08 16:17 UTC (permalink / raw) To: hw; +Cc: spacibba, emacs-devel, drew.adams, phillip.lord > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, phillip.lord@russet.org.uk, drew.adams@oracle.com, emacs-devel@gnu.org > Date: Sat, 08 Sep 2018 15:12:05 +0200 > > Hm. I've started reading it again and was thinking about the changes > between versions. I could as well proof read it, but wich version > should I read? The latest one, which you get if you build the master branch of the Emacs repository. > BTW, when I was reading it, I was wishing I could open links in other > buffers or windows like I would open another tab in a web brower. Is > there some way to do something like that? Not that I know of. Perhaps you'd like to write a patch to that effect? ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 16:17 ` Eli Zaretskii @ 2018-09-10 11:52 ` hw 2018-09-10 12:35 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-10 11:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, phillip.lord, drew.adams, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, phillip.lord@russet.org.uk, drew.adams@oracle.com, emacs-devel@gnu.org >> Date: Sat, 08 Sep 2018 15:12:05 +0200 >> >> Hm. I've started reading it again and was thinking about the changes >> between versions. I could as well proof read it, but wich version >> should I read? > > The latest one, which you get if you build the master branch of the > Emacs repository. Thanks, I cloned it tonight and have it running. Can I use that version pretty much normally, including gnus, or are there currently known bugs which make that a bad idea? >> BTW, when I was reading it, I was wishing I could open links in other >> buffers or windows like I would open another tab in a web brower. Is >> there some way to do something like that? > > Not that I know of. Perhaps you'd like to write a patch to that > effect? Let me start small by reading the manual again and working my way up from there ... ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 11:52 ` hw @ 2018-09-10 12:35 ` Eli Zaretskii 2018-09-10 20:04 ` hw 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-10 12:35 UTC (permalink / raw) To: hw; +Cc: spacibba, phillip.lord, drew.adams, emacs-devel > From: hw <hw@adminart.net> > Cc: spacibba@aol.com, emacs-devel@gnu.org, drew.adams@oracle.com, phillip.lord@russet.org.uk > Date: Mon, 10 Sep 2018 13:52:58 +0200 > > > The latest one, which you get if you build the master branch of the > > Emacs repository. > > Thanks, I cloned it tonight and have it running. Can I use that version > pretty much normally, including gnus, or are there currently known bugs > which make that a bad idea? There are no known serious bugs, but if your usage patterns are unusual, you may bump into problems no one reported yet. The master branch might become broken by some commit, but that is usually gets fixed within several hours. So if you incidentally update your repository before a bug is fixed, just back up to a previous commit and wait for the problem to be fixed. > >> BTW, when I was reading it, I was wishing I could open links in other > >> buffers or windows like I would open another tab in a web brower. Is > >> there some way to do something like that? > > > > Not that I know of. Perhaps you'd like to write a patch to that > > effect? > > Let me start small by reading the manual again and working my way up > from there ... In the meantime, it turned out I was mistaken, and we already have such a feature ;-) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-10 12:35 ` Eli Zaretskii @ 2018-09-10 20:04 ` hw 0 siblings, 0 replies; 216+ messages in thread From: hw @ 2018-09-10 20:04 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, emacs-devel, drew.adams, phillip.lord Eli Zaretskii <eliz@gnu.org> writes: >> From: hw <hw@adminart.net> >> Cc: spacibba@aol.com, emacs-devel@gnu.org, drew.adams@oracle.com, phillip.lord@russet.org.uk >> Date: Mon, 10 Sep 2018 13:52:58 +0200 >> >> > The latest one, which you get if you build the master branch of the >> > Emacs repository. >> >> Thanks, I cloned it tonight and have it running. Can I use that version >> pretty much normally, including gnus, or are there currently known bugs >> which make that a bad idea? > > There are no known serious bugs, but if your usage patterns are > unusual, you may bump into problems no one reported yet. Cool, I'll try it out for regular usage. I don't think I'm doing anything particularly unusual. > The master branch might become broken by some commit, but that is > usually gets fixed within several hours. So if you incidentally > update your repository before a bug is fixed, just back up to a > previous commit and wait for the problem to be fixed. I could just leave it as it is now unless there were many changes to the documentation being made. >> >> BTW, when I was reading it, I was wishing I could open links in other >> >> buffers or windows like I would open another tab in a web brower. Is >> >> there some way to do something like that? >> > >> > Not that I know of. Perhaps you'd like to write a patch to that >> > effect? >> >> Let me start small by reading the manual again and working my way up >> from there ... > > In the meantime, it turned out I was mistaken, and we already have > such a feature ;-) Info-follow-nearest-node? It comes pretty close :) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 13:12 ` hw 2018-09-08 16:17 ` Eli Zaretskii @ 2018-09-08 17:00 ` Charles A. Roelli 2018-09-08 23:02 ` Juri Linkov 2 siblings, 0 replies; 216+ messages in thread From: Charles A. Roelli @ 2018-09-08 17:00 UTC (permalink / raw) To: hw; +Cc: eliz, emacs-devel, spacibba, drew.adams, phillip.lord > BTW, when I was reading it, I was wishing I could open links in other > buffers or windows like I would open another tab in a web brower. Is > there some way to do something like that? It can make it easier to keep > track of the history as you can break up a history tree into something > far more navigable by using tabs as anchors of branches (that have > branches, etc.). With point over a link, try "M-n RET". That will clone the info buffer, then follow the link in the clone. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 13:12 ` hw 2018-09-08 16:17 ` Eli Zaretskii 2018-09-08 17:00 ` Charles A. Roelli @ 2018-09-08 23:02 ` Juri Linkov 2018-09-10 6:47 ` hw 2 siblings, 1 reply; 216+ messages in thread From: Juri Linkov @ 2018-09-08 23:02 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, phillip.lord, spacibba, drew.adams, emacs-devel > BTW, when I was reading it, I was wishing I could open links in other > buffers or windows like I would open another tab in a web brower. Is > there some way to do something like that? It can make it easier to keep > track of the history as you can break up a history tree into something > far more navigable by using tabs as anchors of branches (that have > branches, etc.). Here is what could help you to emulate web browser tabs: (define-key Info-mode-map [C-down-mouse-1] (lambda (click) (interactive "e") (mouse-set-point click) (Info-follow-nearest-node 'fork))) ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-08 23:02 ` Juri Linkov @ 2018-09-10 6:47 ` hw 2018-09-10 14:13 ` Drew Adams 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-10 6:47 UTC (permalink / raw) To: Juri Linkov Cc: Eli Zaretskii, emacs-devel, spacibba, drew.adams, phillip.lord Juri Linkov <juri@linkov.net> writes: >> BTW, when I was reading it, I was wishing I could open links in other >> buffers or windows like I would open another tab in a web brower. Is >> there some way to do something like that? It can make it easier to keep >> track of the history as you can break up a history tree into something >> far more navigable by using tabs as anchors of branches (that have >> branches, etc.). > > Here is what could help you to emulate web browser tabs: > > (define-key Info-mode-map [C-down-mouse-1] > (lambda (click) > (interactive "e") > (mouse-set-point click) > (Info-follow-nearest-node 'fork))) Thanks to everyone for their suggestions! I've written a function to use X frames when I follow another branch: (defun my-new-info-tab () (interactive) (with-current-buffer (clone-buffer) (Info-follow-nearest-node) (display-buffer-pop-up-frame (current-buffer) nil))) Is there a way to make it so that the frame used to display a branch deletes itself when the cloned buffer it has been created for is killed? ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-10 6:47 ` hw @ 2018-09-10 14:13 ` Drew Adams 0 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-10 14:13 UTC (permalink / raw) To: hw, Juri Linkov; +Cc: Eli Zaretskii, emacs-devel, spacibba, phillip.lord > Is there a way to make it so that the frame used to display a branch > deletes itself when the cloned buffer it has been created for is killed? (This thread is all over the place now...) I use ` kill-buffer-and-its-windows', defined in `misc-cmds.el': https://www.emacswiki.org/emacs/download/misc-cmds.el I do this: (remap-command 'kill-buffer 'kill-buffer-and-its-windows global-map) And I use this, from `frame-cmds.el': ;; If WINDOW is the only one in its frame, `delete-frame'. (defadvice delete-window (around delete-frame-if-one-win activate) "If WINDOW is the only one in its frame, then `delete-frame' too." (if (fboundp 'with-selected-window) ; Emacs 22+ (with-selected-window (or (ad-get-arg 0) (selected-window)) (if (one-window-p t) (delete-frame) ad-do-it)) (save-current-buffer (select-window (or (ad-get-arg 0) (selected-window))) (if (one-window-p t) (delete-frame) ad-do-it)))) https://www.emacswiki.org/emacs/download/frame-cmds.el (Be aware too that `q' in Info does not kill the buffer. Use `C-x k' or similar if you really want to kill the buffer.) ^ permalink raw reply [flat|nested] 216+ messages in thread
[parent not found: <<87mussp1zu.fsf@toy.adminart.net>]
[parent not found: <<m2a7or53gj.fsf@aurox.ch>]
* RE: Some developement questions [not found] ` <<m2a7or53gj.fsf@aurox.ch> @ 2018-09-09 2:09 ` Drew Adams 2018-09-09 23:05 ` Drew Adams 0 siblings, 1 reply; 216+ messages in thread From: Drew Adams @ 2018-09-09 2:09 UTC (permalink / raw) To: Charles A. Roelli, hw Cc: eliz, emacs-devel, spacibba, drew.adams, phillip.lord > > BTW, when I was reading it, I was wishing I could open links in other > > buffers or windows like I would open another tab in a web brower. Is > > there some way to do something like that? It can make it easier to keep > > track of the history as you can break up a history tree into something > > far more navigable by using tabs as anchors of branches (that have > > branches, etc.). > > With point over a link, try "M-n RET". That will clone the info > buffer, then follow the link in the clone. Yes, good one. `M-n' clones the buffer, showing the same node, with point in the same position (so still on top of the link). Then `RET' follows the link in that cloned buffer. You can also (instead) use `C-u RET'. `RET' is bound to `Info-follow-nearest-node', and with a prefix arg it follows the link in a new (cloned) Info buffer named for that node. The difference is that with `M-n RET' the cloned buffer will have the same name as the original, but with `<N>' appended (e.g. `*info*<2>'), whereas with `C-u RET' the cloned buffer will have the name of the link you followed, prefixed by `info-' (e.g. `*info-Screen*' if the node you followed is `Screen'). The prefix-arg thing works with some other Info navigation commands too. E.g. `C-u g Screen' goes to node `Screen' in a new, cloned buffer, `C-u f Emacs Lisp' follows an xref to the Emacs Lisp manual in a cloned buffer. (It doesn't work with `l', `r', `n', `p', `u', however. (Maybe it should.) ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-09 2:09 ` Drew Adams @ 2018-09-09 23:05 ` Drew Adams 0 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-09 23:05 UTC (permalink / raw) To: Charles A. Roelli, hw; +Cc: eliz, emacs-devel, spacibba, phillip.lord > The prefix-arg thing works with some other Info navigation > commands too. E.g. `C-u g Screen' goes to node `Screen' in a > new, cloned buffer, `C-u f Emacs Lisp' follows an xref to the > Emacs Lisp manual in a cloned buffer. (It doesn't work with > `l', `r', `n', `p', `u', however. (Maybe it should.) FWIW, in my own code I've added this to `n', `p', `u', `l', `r', `d', `]', and `['. So it's now available with those keys, plus `g', `f', and `m'. https://www.emacswiki.org/emacs/download/info%2b.el This could be added to Emacs, if someone is interested. The change is trivial. One thing I changed, which is peripherally related: Vanilla Emacs wraps the body of this and similar functions with `save-window-excursion'. I think that's wrong. It's problematic, for example, if you use a dedicated window for the new, cloned buffer or when it is otherwise shown in a separate frame. (defun Info-next (&optional fork) "Go to the next node of this node. If FORK is non-nil (interactively with a prefix arg), show the node in a new Info buffer. If FORK is a string, it is the name to use for the new buffer." (interactive "P") (unless (derived-mode-p 'Info-mode) (switch-to-buffer "*info*")) (Info-goto-node (Info-extract-pointer "next") fork)) But maybe someone can set me straight about this: let me know why the `save-window-excursion' was there and what a better fix would be than just removing it. I haven't yet noticed any problem from removing it. I see that in Emacs 23 the code used `pop-to-buffer' here, and that was changed to `switch-to-buffer'. It's also not clear to me why that change was made. (I left `switch-to-buffer' in my version, but it's not clear that "the selected window" would always be used to display the new buffer.) ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-07 8:25 ` hw 2018-09-07 9:34 ` Eli Zaretskii @ 2018-09-07 15:26 ` Drew Adams 2018-09-07 21:53 ` hw 1 sibling, 1 reply; 216+ messages in thread From: Drew Adams @ 2018-09-07 15:26 UTC (permalink / raw) To: hw, Eli Zaretskii; +Cc: spacibba, phillip.lord, emacs-devel > accident would be the only case in which the selection would be > replaced. C-y to yank a replacement, possibly followed by M-y to get different replacements. And if, like me, you have a key that yanks the secondary selection, yank it to replace the region. It's no different from what you do now, except that you precede such operations by explicit C-w to first delete the region. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-07 15:26 ` Drew Adams @ 2018-09-07 21:53 ` hw 2018-09-07 22:52 ` Drew Adams 0 siblings, 1 reply; 216+ messages in thread From: hw @ 2018-09-07 21:53 UTC (permalink / raw) To: Drew Adams; +Cc: Eli Zaretskii, emacs-devel, spacibba, phillip.lord Drew Adams <drew.adams@oracle.com> writes: >> accident would be the only case in which the selection would be >> replaced. > > C-y to yank a replacement, possibly followed by M-y to get different > replacements. That doesn't replace the selection but disables it and yanks --- and it would only happen by accident because I don't do such weird things. You're probably using a different setting. > And if, like me, you have a key that yanks the secondary selection, > yank it to replace the region. > > It's no different from what you do now, except that you precede > such operations by explicit C-w to first delete the region. It is different because the way you do something makes a difference. The result may be identical until you hit the wrong key and something gets replaced or de-selected by mistake. It's ok if you want that; I'd rather have strict-mode. I don't want anything to happen to a selection just because I pressed the wrong key. I also place brackets where they aren't strictly needed when programming and do other stuff like that because it explicitly says what I wanted and prevents misunderstandings. Having selections randomly replaced or disabled is like omitting the brackets and stuff: it makes things difficult, confusing and errorenous. ^ permalink raw reply [flat|nested] 216+ messages in thread
* RE: Some developement questions 2018-09-07 21:53 ` hw @ 2018-09-07 22:52 ` Drew Adams 0 siblings, 0 replies; 216+ messages in thread From: Drew Adams @ 2018-09-07 22:52 UTC (permalink / raw) To: hw; +Cc: Eli Zaretskii, emacs-devel, spacibba, phillip.lord >>>> accident would be the only case in which the selection would be replaced. >> > >> > C-y to yank a replacement, possibly followed by M-y to get different > > replacements. > > That doesn't replace the selection but disables it and yanks --- and it > would only happen by accident because I don't do such weird things. > You're probably using a different setting. Works for me, including from `emacs -Q'. Perhaps you are using a different setting. 1. emacs -Q 2. M-x delete-selection-mode ; Turn it on 3. Select a word in the first line of buffer *scratch*, say `The', and then `M-w' to copy it to the kill-ring. Do that a few times, with different words, say `buffer', `is', and `for'. So the kill-ring is populated with a few kills. 4. Select some text in the second line. 5. `C-y' replaces that selected text with `for'. `M-y' replaces `for' with `is'. `M-y' replaces `is' with `buffer'. > > And if, like me, you have a key that yanks the secondary selection, > > yank it to replace the region. FWIW, that's is a frequent use case for me. Select some text, then `C-M-y' to replace it with the secondary selection. Do that wherever, whenever. Replace anything with the same bit of text. (Or you can do the same kind of thing using a register instead of the secondary selection.) > > It's no different from what you do now, except that you precede > > such operations by explicit C-w to first delete the region. > > It is different because the way you do something makes a difference. The result is the same; that was the point: With `delete-selection-mode' you can easily replace selected text with other text. The way you do that without `d-s-mode' is the same, except you explicitly use `C-w' to kill the text before yanking. That's the only difference, except that `d-s-mode' doesn't always kill (`C-w'). What it does depends on the command used when the region is active, and that behavior is configurable. > The result may be identical until you hit the wrong key and something > gets replaced or de-selected by mistake. It's ok if you want that; I'd > rather have strict-mode. > > I don't want anything to happen to a selection just because I pressed > the wrong key. Nor do I. Who does? Have you never hit `C-w' by mistake, i.e., as "the wrong key"? Did you get excited about that, or did you just undo the mistake? > Having selections randomly replaced or disabled ... makes things difficult, confusing and errorenous. Hyperbole. `delete-selection-mode' does not randomly replace or disable selections. You're not used to it perhaps. And you don't like it. Leave it at that. People are different. It's no harder for you to turn `d-s-mode' off in your init file than it is for me to turn it on. This discussion is about what the default behavior should be. ^ permalink raw reply [flat|nested] 216+ messages in thread
[parent not found: <<83r2i6wv4v.fsf@gnu.org>]
* RE: Some developement questions [not found] ` <<83r2i6wv4v.fsf@gnu.org> @ 2018-09-06 14:56 ` Drew Adams 2018-09-06 18:38 ` Eli Zaretskii [not found] ` <<83k1nywjwv.fsf@gnu.org> 0 siblings, 2 replies; 216+ messages in thread From: Drew Adams @ 2018-09-06 14:56 UTC (permalink / raw) To: Eli Zaretskii, Drew Adams; +Cc: hw, spacibba, phillip.lord, emacs-devel > > we should turn on `delete-selection-mode' by default. > > I don't think we can, because it gets in the way when editing code. How so? It doesn't get in my way. Quite the contrary - I appreciate it for editing code. Please give a recipe, if you're really interested in discussing this again. And in that case, please start a new thread for it. > We could turn it on in text modes, perhaps. > > But anyway, we already have non-annoying portions of > delete-selection-mode turned on by default (shift-selection etc.). Not the same thing at all. In the wider world, behaviors of/like both `delete-selection-mode' and shift-selection are on by default (and they are typically all that is available). ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 14:56 ` Drew Adams @ 2018-09-06 18:38 ` Eli Zaretskii 2018-09-06 19:27 ` Clément Pit-Claudel [not found] ` <<83k1nywjwv.fsf@gnu.org> 1 sibling, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-09-06 18:38 UTC (permalink / raw) To: Drew Adams; +Cc: hw, spacibba, phillip.lord, drew.adams, emacs-devel > Date: Thu, 6 Sep 2018 07:56:13 -0700 (PDT) > From: Drew Adams <drew.adams@oracle.com> > Cc: hw@adminart.net, spacibba@aol.com, emacs-devel@gnu.org, > phillip.lord@russet.org.uk > > > > we should turn on `delete-selection-mode' by default. > > > > I don't think we can, because it gets in the way when editing code. > > How so? It doesn't get in my way. Quite the contrary - I appreciate > it for editing code. > > Please give a recipe Type "C-x C-x", then some letter: puff! the whole region is gone. This could be okay in text modes, but in code buffers users generally don't replace regions with single letters. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 18:38 ` Eli Zaretskii @ 2018-09-06 19:27 ` Clément Pit-Claudel 2018-09-06 19:49 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: Clément Pit-Claudel @ 2018-09-06 19:27 UTC (permalink / raw) To: emacs-devel On 2018-09-06 14:38, Eli Zaretskii wrote: >> Date: Thu, 6 Sep 2018 07:56:13 -0700 (PDT) >> From: Drew Adams <drew.adams@oracle.com> >> Cc: hw@adminart.net, spacibba@aol.com, emacs-devel@gnu.org, >> phillip.lord@russet.org.uk >> >>>> we should turn on `delete-selection-mode' by default. >>> >>> I don't think we can, because it gets in the way when editing code. >> >> How so? It doesn't get in my way. Quite the contrary - I appreciate >> it for editing code. >> >> Please give a recipe > > Type "C-x C-x", then some letter: puff! the whole region is gone. > This could be okay in text modes, but in code buffers users generally > don't replace regions with single letters. Funny, I have code in my config for exactly this case. I use delete-selection-mode, and I invert the meaning of C-u for C-x C-x (a plain C-x C-x doesn't make the region active, and pressing C-u C-x C-x does. Clément. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 19:27 ` Clément Pit-Claudel @ 2018-09-06 19:49 ` Eli Zaretskii 0 siblings, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-06 19:49 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Thu, 6 Sep 2018 15:27:30 -0400 > > > Type "C-x C-x", then some letter: puff! the whole region is gone. > > This could be okay in text modes, but in code buffers users generally > > don't replace regions with single letters. > > Funny, I have code in my config for exactly this case. I use delete-selection-mode, and I invert the meaning of C-u for C-x C-x (a plain C-x C-x doesn't make the region active, and pressing C-u C-x C-x does. That's fine, but I don't think we can make this the default behavior. ^ permalink raw reply [flat|nested] 216+ messages in thread
[parent not found: <<83k1nywjwv.fsf@gnu.org>]
* RE: Some developement questions [not found] ` <<83k1nywjwv.fsf@gnu.org> @ 2018-09-06 23:47 ` Drew Adams 2018-09-07 6:36 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: Drew Adams @ 2018-09-06 23:47 UTC (permalink / raw) To: Eli Zaretskii, Drew Adams Cc: hw, spacibba, emacs-devel, drew.adams, phillip.lord > > > > we should turn on `delete-selection-mode' by default. > > > > > > I don't think we can, because it gets in the way when editing code. > > > > How so? It doesn't get in my way. Quite the contrary - I appreciate > > it for editing code. Please give a recipe > > Type "C-x C-x", then some letter: puff! the whole region is gone. > This could be okay in text modes, but in code buffers users generally > don't replace regions with single letters. Just don't do that. Not a problem at all. Never been a problem for me. And if I somehow did that by mistake I'd just undo it. It's equivalent to your doing this without `delete-selection-mode': C-x C-x M-w, then some letter I see zero difference between editing code and editing plain prose, in this regard. In both cases the selection can be replaced by typing, and that's a plus, not a minus. Nothing obliges you to replace the region. If you want just to swap point and mark, without acting on the region, then just C-g. That C-x C-x activates the region is what's behind this. If you don't want the region to be active then C-g after C-x C-x. Typing a letter is no different from using M-w: you're acting on the active region. C-x C-x is no longer just swapping point and mark. That ship sailed long ago, when we turned on `transient-mark-mode' by default. Now it also activates the region, and anyone who doesn't want it activated can just use C-g to deactivate it. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 23:47 ` Drew Adams @ 2018-09-07 6:36 ` Eli Zaretskii 0 siblings, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-09-07 6:36 UTC (permalink / raw) To: Drew Adams; +Cc: hw, spacibba, emacs-devel, drew.adams, phillip.lord > Date: Thu, 6 Sep 2018 16:47:07 -0700 (PDT) > From: Drew Adams <drew.adams@oracle.com> > Cc: hw@adminart.net, spacibba@aol.com, phillip.lord@russet.org.uk, > drew.adams@oracle.com, emacs-devel@gnu.org > > > Type "C-x C-x", then some letter: puff! the whole region is gone. > > This could be okay in text modes, but in code buffers users generally > > don't replace regions with single letters. > > Just don't do that. It's a way too important a paradigm not to use it. > Not a problem at all. Never been a problem for me. > And if I somehow did that by mistake I'd just undo it. I didn't say it's a catastrophe, I said it gets in the way. IOW, it's a nuisance (IME). > It's equivalent to your doing this without `delete-selection-mode': > C-x C-x M-w, then some letter No, that doesn't delete the region. Perhaps you meant C-w. And in any case, the fact that I typed C-w already says that I didn't just want to return to the marked place. So I don't think this analogy is valid. > C-x C-x is no longer just swapping point and mark. That ship sailed > long ago, when we turned on `transient-mark-mode' by default. > Now it also activates the region, and anyone who doesn't want it > activated can just use C-g to deactivate it. Like I said: it gets in the way. You disagree, which is fine, so you can enable delete-selection-mode in your configuration. I tried that once, and quickly disabled it back, due to the above (and similar issues). ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-06 12:29 ` Phillip Lord 2018-09-06 14:24 ` Drew Adams @ 2018-09-07 8:16 ` hw 1 sibling, 0 replies; 216+ messages in thread From: hw @ 2018-09-07 8:16 UTC (permalink / raw) To: Phillip Lord; +Cc: Eli Zaretskii, spacibba, emacs-devel phillip.lord@russet.org.uk (Phillip Lord) writes: > hw <hw@adminart.net> writes: > >> phillip.lord@russet.org.uk (Phillip Lord) writes: >> >>> Personally, I would like to ditch all the "how to move around" with >>> keys stuff -- this scares most people to hell, because they think that >>> they need to learn this to do something that they already know how to >>> do these things. >> >> right >> >> The current tutorial is more suited to drive people away than anything >> else. >> >> Who knows what a META or an EDIT key is? And who cares? Even after >> almost 30 years of getting used to them, I'm finding notations like 'C-x >> ret f' or 'M-w' very confusing. How does that belong into a tutorial? > > > I think we need to introduce this notation, because people will see it > everywhere; but we should not depend on it. How would you not depend on it? What confuses me is that C is so easy to confuse with c or C, etc. I'd find 'Control-x ret f' or 'ESC-w' much easier to read. >> People might use C-v to copy something rather than to scroll. They will >> use the cursor keys and PgUp and PgDown to move around. > > There is a separate question here about making Emacs better > out-of-the-box. One of the things that might improve things is to turn > CUA mode on by default for instance. What does that do? >> Your tutorial even explains what Emacs is and gives some history. That >> is a much more welcoming start. > > Thank you! > >>> In terms of advanced issues, my thought was to enable tutorial >>> extensions to go into ELPA and then have a navigational structure. >> >> Maybe several tutorials would be better, like one covering what Emacs is >> (nowadays that may be a good idea), one covering the first steps and >> others covering the installation of packages after users have aquired >> some understanding of what packages are. > > > There is also the practical reality that the Emacs update cycle is > relatively slow. A tutorial on ELPA could be updated out of that cycle. Such tutorials should be shipped with Emacs when they are available. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 12:58 ` Phillip Lord 2018-09-04 16:30 ` hw @ 2018-09-04 20:38 ` Ergus 2018-09-06 12:58 ` Phillip Lord 2018-09-07 8:45 ` hw 1 sibling, 2 replies; 216+ messages in thread From: Ergus @ 2018-09-04 20:38 UTC (permalink / raw) To: Phillip Lord; +Cc: emacs-devel On Tue, Sep 04, 2018 at 02:58:53PM +0200, Phillip Lord wrote: >Eli Zaretskii <eliz@gnu.org> writes: > >>> My hope was to do something a bit more intelligent with it -- with some >>> screen shots and rich text, as well as highlighting for menu items, so I >>> wrote it in org-mode. Alas I haven't had the time to actually integrate >>> it into Emacs. >>> >>> https://raw.githubusercontent.com/phillord/emacs-tutorial/master/tutorial.org >>> >>> If someone has the time to do the integration it's nearly ready to >>> go. To my mind, updating the tutorial would be a good thing just because >>> it would give the impression that it is updateable, rather than a thing >>> set in stone. >> >> Thanks. That tutorial looks like a somewhat expanded version of our >> TUTORIAL; e.g., it has almost the same scope in terms of Emacs >> features. I thought, perhaps mistakenly, that we were talking about a >> tutorial for the next step -- for those who have read the original >> TUTORIAL and want to learn about more advanced issues related to text >> editing. > >It covers some never stuff, but yes, it is fairly similar. Personally, I >would like to ditch all the "how to move around" with keys stuff -- this >scares most people to hell, because they think that they need to learn >this to do something that they already know how to do these things. > I thing mentioning that move with arrows + keybindings is possible and would be a more elegant approach. Because some users know how to move in bash or will find it interesting/useful to know that C-a, C-e, C-d, C-j, C-i and so on are useful also in bash. (Also to tribute the history a little bit). For example, vim has its terrible bindings, they mention in the tutorial and some people like them because they feel more geek using them. Some of them are easier to access in some keyboards (C-d in my case for example). So maybe a table could have two columns with the traditional and the "modern" alternative. And let the user choose (or mix). >In terms of advanced issues, my thought was to enable tutorial >extensions to go into ELPA and then have a navigational structure. The >current tutorial for the even trivial reason that it's flat. > The tutorial should mention how to add packages or at least introduce the concepts (package, repository, extension, elpa, melpa), and a bit less of history. But just at the very end in order to create some expectations in the new user. Even if it is only to mention as an approximation, and let the practical things in the manual. Personally I don't like the navigational structure because the simpler structure is better for the tutorial until the user can do the basics. A tutorial should feel like being inside emacs already as everyday. >Phil > ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 20:38 ` Ergus @ 2018-09-06 12:58 ` Phillip Lord 2018-09-07 8:45 ` hw 1 sibling, 0 replies; 216+ messages in thread From: Phillip Lord @ 2018-09-06 12:58 UTC (permalink / raw) To: Ergus; +Cc: emacs-devel Ergus <spacibba@aol.com> writes: > On Tue, Sep 04, 2018 at 02:58:53PM +0200, Phillip Lord wrote: >>> Thanks. That tutorial looks like a somewhat expanded version of our >>> TUTORIAL; e.g., it has almost the same scope in terms of Emacs >>> features. I thought, perhaps mistakenly, that we were talking about a >>> tutorial for the next step -- for those who have read the original >>> TUTORIAL and want to learn about more advanced issues related to text >>> editing. >> >>It covers some never stuff, but yes, it is fairly similar. Personally, I >>would like to ditch all the "how to move around" with keys stuff -- this >>scares most people to hell, because they think that they need to learn >>this to do something that they already know how to do these things. >> > I thing mentioning that move with arrows + keybindings is possible and > would be a more elegant approach. Because some users know how to move in > bash or will find it interesting/useful to know that C-a, C-e, C-d, C-j, > C-i and so on are useful also in bash. This is backwards, I think. It's an Emacs tutorial not a bash one. > Some of them are easier to access in some keyboards (C-d in my case for > example). So maybe a table could have two columns with the > traditional and the "modern" alternative. And let the user choose (or mix). No. By definition, a tutorial is about teaching people things. People who need a tutorial are not in a place to make a sensible decision; we need to offer one solution, not a choice. People can choose later. Phil ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-09-04 20:38 ` Ergus 2018-09-06 12:58 ` Phillip Lord @ 2018-09-07 8:45 ` hw 1 sibling, 0 replies; 216+ messages in thread From: hw @ 2018-09-07 8:45 UTC (permalink / raw) To: Ergus; +Cc: emacs-devel, Phillip Lord Ergus <spacibba@aol.com> writes: > The tutorial should mention how to add packages or at least introduce > the concepts (package, repository, extension, elpa, melpa), and a bit > less of history. But just at the very end in order to create some > expectations in the new user. "A tutorial is a method of transferring knowledge and may be used as a part of a learning process. More interactive and specific than a book or a lecture, a tutorial seeks to teach by example and supply the information to complete a certain task."[1] Introducing concepts (and their history) seems more suited for a manual. Tutorials would accompany the manual and explain in detail how to do something introdcued in the manual. [1]: https://en.wikipedia.org/wiki/Tutorial > Even if it is only to mention as an approximation, and let the > practical things in the manual. Wouldn't the practical things belong into the tutorial? > Personally I don't like the navigational structure because the simpler > structure is better for the tutorial until the user can do the basics. A > tutorial should feel like being inside emacs already as everyday. I might go ahead and write a story, "Inside Emacs". It would have a little boy called Richard who falls alseep on a couch while his mother is working on a LaTeX document in Emacs. With his head resting on a big heavy book about Emacs, in his dream he ends up in the pale light under the key caps on the ground between the buffers, inside Emacs, where all kinds of key bindings are scattered all over the place. Grown-up Richard comes along, searching for a key binding he's working on, so they start talking, and Richard explains key bindings to Richard. Each time Richard hits a key binding, Richard is being moved around or jumps up or down. They're having a lot of fun with it, until Richard finally finds the key binding he's looking for, and Richard wonders what it would be like to be inside a buffer when his mother wakes him up to eat potatoe pancakes for dinner ... That may help people to remember all the difficult key bindings by having a cute story to relate to. ^ permalink raw reply [flat|nested] 216+ messages in thread
* debounce (was: Some developement questions) 2018-08-25 1:31 ` hw 2018-08-25 7:35 ` Alexis 2018-08-25 8:19 ` Eli Zaretskii @ 2018-09-03 22:15 ` Juri Linkov 2 siblings, 0 replies; 216+ messages in thread From: Juri Linkov @ 2018-09-03 22:15 UTC (permalink / raw) To: hw; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1045 bytes --] >>> (setq Man-width 75) >> >> Emacs nowadays calculates the width dynamically, depending on the >> dimensions of the window. > > Why not make Emacs dynamically size it's windows to the width of the > display first? ;~O Implementing this in bug#32536 revealed that mouse drag events become too laggy when calling Man-update-manpage after every drag event on the window separator. JavaScript libraries provide a good solution that makes web UI more responsible, see https://duckduckgo.com/?q=javascript+debounce It could be good to have analogous in Emacs to e.g. make window resizing more responsible. So instead of (add-hook 'window-size-change-functions 'Man-window-size-change) in Man-mode this patch will allow (add-hook 'window-size-change-functions (debounce 'Man-window-size-change 2)) where the last arg means 2 seconds sliding window to wait, and make the final call once there are no more resizing events during that time period. Since its args are similar to the args of run-with-timer, it makes sense to add it to timer.el: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: debounce.1.patch --] [-- Type: text/x-diff, Size: 920 bytes --] diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el index 795554fec5..26c8426d3e 100644 --- a/lisp/emacs-lisp/timer.el +++ b/lisp/emacs-lisp/timer.el @@ -545,6 +545,22 @@ internal-timer-start-idle (dolist (timer timer-idle-list) (if (timerp timer) ;; FIXME: Why test? (setf (timer--triggered timer) nil)))) + +\f +(defmacro debounce (function secs) + "Postpone FUNCTION call until after SECS seconds have elapsed. +Return a debounced function that will postpone FUNCTION call +until after SECS seconds have elapsed since the last time +it was invoked." + (declare (indent 0) (debug t)) + (let ((timer-sym (make-symbol "timer"))) + `(let (,timer-sym) + (lambda (&rest args) + (when (timerp ,timer-sym) + (cancel-timer ,timer-sym)) + (setq ,timer-sym + (run-with-timer ,secs nil (lambda () (apply ,function args)))))))) + \f (provide 'timer) ^ permalink raw reply related [flat|nested] 216+ messages in thread
[parent not found: <196033312.7709403.1534426446299.ref@mail.yahoo.com>]
* Some developement questions [not found] <196033312.7709403.1534426446299.ref@mail.yahoo.com> @ 2018-08-16 13:34 ` Ergus 2018-08-16 14:15 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: Ergus @ 2018-08-16 13:34 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 3966 bytes --] Hi: This is my first mail in this list and maybe this is not the right place to ask, but I don't know where to (I don't use twitter or any other social network) I have been using emacs for around 4 years now, and after all this time me and the the other 3 emacs user in my work have accumulated many question that will be very nice if any experimented user/developer could reply (even if you delete this mail from the list). - Why does emacs doesn't have a C api to create extensions as almost everything else in the Linux environment? I know Elisp is very powerful, but many functionalities actually requires to start external processes or call shell commands intensively to work (magit, irony) and then parse the oulput when they could use the libraries and the APIs directly with dlopen or maybe with a more simplified/efficient approach. C is also the connection with everything (Python, Ruby, or FORTRAN) and nowadays there are more C/Python developers than Lisp developers, so many extensions could be created or ported. As is happening with vim actually. - What's the actual status for the emacs-guile integration and why is it abandoned since 2015? This has to do with the previous and the next question because Guile already has a powerful C API, multithreading and many other functionalities that are been duplicated now in emacs. Maybe the future for guile is inside emacs. - Native compiler? We have seen in the list some people talking about JIT compilation. Isn't it easier and more efficient to create a native code compiler like the one in Guile or maybe something that takes advantage of GCC, or a source to source compiler. Most of the extensions are just functions calls and loops and in this way Emacs could take advantage of the other's project progress and the emacs developers could put their effort in the most emacs's specific tasks? 95% of Emacs users are programmers, so a C compiler dependency shouldn't be an issue ans for sure there will be some performance improvement. - As there are less developers now, why not to consider to make a cleanup and melt/join/merge projects/modes, for example (vile, evil and equivalent all do the same). This could be very helpful not only for the projects but also for the documentation that is becoming obsolete in emacswiki we suppose because of manpower. The same could apply to melpa projects that are unmaintained for a very long time. Some of them just don't work and have not received any commit in 6 or 8 years, so they probably break newest emacs Releases and nobody knows. You could also get tracks of the downloads. - I have asked in my work and we are 4 emacs users only (in spite of we are more than 400 programmers) while most of the 3/4 of them are using vim. The main justifications are: "it is there" and "it doesn't require to configure anything". I have seen projects like spacemacs that solves somehow the configuration with a first start menu. Why don't you add a first time startup menu for the basic initial configuration in the default emacs, just to create a readable basic init.el? With use-packages it will be not that hard!!. Times have changed and young users need some hep to discover emacs, they will want to learn configuration details, elisp and the rest with the time. And nobody used the actual default emacs configuration. Spacemacs solves it partially but it makes absurdly complex to add manual configuration latter. And we don't need more abstractions layers. Simple questions like: add melpa? use vi like binds, or ergoemacs or ...? or use emacsserver? and some variable details that can be set very easily to have a functional user-friendly, minimal personalized environment like the the theme, linum, terminal or graphical interface by default). The idea is not only to make it easier, but also to show the power of emacs. Sorry for the extension, but we prefer one long mail instead of 4 shorter mails.Very thanks in advance Ergus [-- Attachment #2: Type: text/html, Size: 4666 bytes --] ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-16 13:34 ` Some developement questions Ergus @ 2018-08-16 14:15 ` Eli Zaretskii 2018-08-16 14:38 ` Aurélien Aptel 0 siblings, 1 reply; 216+ messages in thread From: Eli Zaretskii @ 2018-08-16 14:15 UTC (permalink / raw) To: Ergus; +Cc: emacs-devel > Date: Thu, 16 Aug 2018 13:34:06 +0000 (UTC) > From: Ergus <spacibba@aol.com> > > - Why does emacs doesn't have a C api to create extensions as almost everything else in the Linux > environment? It does, since Emacs 26.1. See the emacs-modules feature. > - What's the actual status for the emacs-guile integration and why is it abandoned since 2015? AFAIK, no one is actively working on Guile Emacs. (And Guile itself is developed much slower than Emacs is.) > - Native compiler? We have seen in the list some people talking about JIT compilation. We just got a JIT branch a few days ago, please take a look and help work towards eventually landing it. > - As there are less developers now, why not to consider to make a cleanup and melt/join/merge > projects/modes, for example (vile, evil and equivalent all do the same). This could be very helpful not only for > the projects but also for the documentation that is becoming obsolete in emacswiki we suppose because of > manpower. The same could apply to melpa projects that are unmaintained for a very long time. Some of them > just don't work and have not received any commit in 6 or 8 years, so they probably break newest emacs > Releases and nobody knows. You could also get tracks of the downloads. I'm not sure I understand what you suggest in practical terms here. > - I have asked in my work and we are 4 emacs users only (in spite of we are more than 400 programmers) > while most of the 3/4 of them are using vim. The main justifications are: "it is there" and "it doesn't require to > configure anything". I have seen projects like spacemacs that solves somehow the configuration with a first > start menu. Why don't you add a first time startup menu for the basic initial configuration in the default emacs, > just to create a readable basic init.el? With use-packages it will be not that hard!!. Emacs is much more flexible, and different people have different needs. But that doesn't mean people cannot come up with such proposals. Please do propose practical changes, and they will be reviewed. ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-16 14:15 ` Eli Zaretskii @ 2018-08-16 14:38 ` Aurélien Aptel 2018-08-16 15:28 ` Andy Moreton 0 siblings, 1 reply; 216+ messages in thread From: Aurélien Aptel @ 2018-08-16 14:38 UTC (permalink / raw) To: Eli Zaretskii; +Cc: spacibba, Emacs development discussions On Thu, Aug 16, 2018 at 4:27 PM Eli Zaretskii <eliz@gnu.org> wrote: > It does, since Emacs 26.1. See the emacs-modules feature. And here is the documentation https://phst.github.io/emacs-modules ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-16 14:38 ` Aurélien Aptel @ 2018-08-16 15:28 ` Andy Moreton 2018-08-16 17:25 ` Eli Zaretskii 0 siblings, 1 reply; 216+ messages in thread From: Andy Moreton @ 2018-08-16 15:28 UTC (permalink / raw) To: emacs-devel On Thu 16 Aug 2018, Aurélien Aptel wrote: > On Thu, Aug 16, 2018 at 4:27 PM Eli Zaretskii <eliz@gnu.org> wrote: >> It does, since Emacs 26.1. See the emacs-modules feature. > > And here is the documentation > https://phst.github.io/emacs-modules Why has this not been added to the emacs manuals ? AndyM ^ permalink raw reply [flat|nested] 216+ messages in thread
* Re: Some developement questions 2018-08-16 15:28 ` Andy Moreton @ 2018-08-16 17:25 ` Eli Zaretskii 0 siblings, 0 replies; 216+ messages in thread From: Eli Zaretskii @ 2018-08-16 17:25 UTC (permalink / raw) To: Andy Moreton; +Cc: emacs-devel > From: Andy Moreton <andrewjmoreton@gmail.com> > Date: Thu, 16 Aug 2018 16:28:20 +0100 > > > https://phst.github.io/emacs-modules > > Why has this not been added to the emacs manuals ? Because it needs to be reworked to be in line with how we document things in our manuals. See http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00969.html Unfortunately, I didn't have time to work on that, and no one else have beaten me to it. ^ permalink raw reply [flat|nested] 216+ messages in thread
[parent not found: <<8336v6cvem.fsf@gnu.org>]
[parent not found: <<87sh36inql.fsf@himinbjorg.adminart.net>]
end of thread, other threads:[~2018-09-12 1:18 UTC | newest] Thread overview: 216+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <444779489.8504194.1534538988289.ref@mail.yahoo.com> 2018-08-17 20:49 ` Some developement questions Ergus 2018-08-18 6:21 ` Eli Zaretskii 2018-08-22 12:34 ` hw 2018-08-22 14:45 ` Eli Zaretskii 2018-08-22 16:37 ` hw 2018-08-22 17:31 ` Eli Zaretskii 2018-08-22 22:17 ` hw 2018-08-23 0:20 ` Ergus 2018-08-23 10:50 ` hw 2018-08-23 16:33 ` Ergus 2018-08-23 14:20 ` Eli Zaretskii 2018-08-23 8:26 ` Pierre Neidhardt 2018-08-23 14:04 ` Eli Zaretskii 2018-08-24 1:00 ` hw 2018-08-24 9:04 ` Eli Zaretskii 2018-08-25 0:45 ` Ergus 2018-08-26 12:46 ` hw 2018-08-25 1:31 ` hw 2018-08-25 7:35 ` Alexis 2018-08-25 10:34 ` Ergus 2018-08-25 16:11 ` Radon Rosborough 2018-08-25 16:20 ` Eli Zaretskii 2018-08-25 20:34 ` Ergus 2018-08-26 2:41 ` Eli Zaretskii 2018-08-26 1:24 ` Radon Rosborough 2018-08-25 20:50 ` Ergus 2018-08-26 1:33 ` hw 2018-08-26 14:37 ` Eli Zaretskii 2018-08-26 22:51 ` hw 2018-08-27 14:45 ` Eli Zaretskii 2018-08-28 20:42 ` hw 2018-08-29 6:59 ` Michael Albinus 2018-08-29 20:10 ` hw 2018-08-31 13:16 ` Michael Albinus 2018-09-01 17:53 ` hw 2018-09-03 13:35 ` Michael Albinus 2018-09-04 14:06 ` hw 2018-08-29 15:11 ` Eli Zaretskii 2018-08-29 20:52 ` hw 2018-08-29 22:12 ` Filipp Gunbin 2018-08-30 23:49 ` hw 2018-09-03 18:56 ` Filipp Gunbin 2018-09-04 14:16 ` hw 2018-09-04 19:47 ` Filipp Gunbin 2018-09-05 20:36 ` hw 2018-09-06 1:33 ` Michael Heerdegen 2018-09-06 5:16 ` Drew Adams 2018-09-06 5:29 ` Michael Heerdegen 2018-09-06 13:52 ` Eli Zaretskii [not found] ` <<831sa6ybqu.fsf@gnu.org> 2018-09-06 14:30 ` Drew Adams 2018-09-07 7:03 ` hw 2018-09-06 13:48 ` Eli Zaretskii 2018-09-07 7:01 ` hw 2018-09-06 18:15 ` Filipp Gunbin 2018-09-07 7:18 ` hw 2018-09-07 14:10 ` Filipp Gunbin 2018-09-07 21:27 ` hw 2018-09-10 12:29 ` Filipp Gunbin 2018-09-10 18:18 ` hw 2018-09-11 9:51 ` Filipp Gunbin 2018-09-11 20:14 ` hw 2018-09-12 1:18 ` Filipp Gunbin 2018-08-30 2:12 ` Davis Herring 2018-09-01 17:40 ` hw 2018-09-01 19:41 ` Joshua Branson 2018-09-02 15:07 ` hw 2018-09-02 18:23 ` Ergus 2018-09-04 15:21 ` hw 2018-09-04 20:57 ` Ergus 2018-09-05 21:48 ` hw 2018-09-01 22:13 ` Phil Sainty 2018-09-02 15:39 ` hw 2018-09-02 22:01 ` Juri Linkov 2018-09-03 7:30 ` martin rudalics 2018-09-04 15:35 ` hw 2018-09-04 16:44 ` Eli Zaretskii 2018-09-05 22:21 ` hw 2018-09-03 7:29 ` martin rudalics 2018-09-01 22:30 ` Drew Adams 2018-09-02 16:02 ` hw 2018-09-02 17:50 ` Ergus 2018-08-30 13:44 ` Eli Zaretskii 2018-08-31 0:40 ` hw 2018-09-01 18:47 ` Eli Zaretskii 2018-09-02 16:27 ` hw 2018-09-02 17:12 ` Eli Zaretskii 2018-09-04 15:43 ` hw 2018-09-04 16:46 ` Eli Zaretskii 2018-09-05 22:40 ` hw 2018-08-30 23:30 ` Radon Rosborough 2018-09-01 18:25 ` hw 2018-09-02 19:05 ` Radon Rosborough 2018-09-02 20:42 ` Basil L. Contovounesios 2018-09-03 2:37 ` Radon Rosborough 2018-09-04 15:57 ` hw 2018-08-26 20:41 ` Richard Stallman 2018-08-27 2:33 ` Eli Zaretskii 2018-08-27 22:51 ` Richard Stallman 2018-08-27 17:11 ` Filipp Gunbin 2018-08-28 3:41 ` Ergus 2018-08-26 13:06 ` hw 2018-08-27 2:18 ` Ergus 2018-08-25 8:19 ` Eli Zaretskii 2018-08-26 14:25 ` Noam Postavsky 2018-08-26 15:52 ` hw 2018-08-26 16:23 ` Stefan Monnier 2018-08-27 4:59 ` hw 2018-08-27 1:54 ` Ergus 2018-08-27 14:46 ` Eli Zaretskii 2018-08-28 21:26 ` Richard Stallman 2018-08-29 15:39 ` Phillip Lord 2018-09-01 13:59 ` Eli Zaretskii 2018-09-02 3:11 ` Richard Stallman 2018-09-02 17:52 ` Ergus 2018-09-04 15:20 ` Phillip Lord 2018-09-04 13:07 ` Phillip Lord 2018-09-05 6:26 ` Richard Stallman 2018-09-06 0:29 ` hw 2018-09-07 6:39 ` Richard Stallman 2018-09-07 8:01 ` hw 2018-09-07 10:26 ` Phil Sainty 2018-09-07 14:00 ` Stefan Monnier 2018-09-07 14:20 ` Eli Zaretskii 2018-09-07 16:00 ` Drew Adams [not found] ` <<83zhwttmm7.fsf@gnu.org> 2018-09-07 16:03 ` Drew Adams 2018-09-07 14:15 ` hw 2018-09-07 15:34 ` Phil Sainty 2018-09-07 21:03 ` hw 2018-09-07 15:52 ` Drew Adams 2018-09-08 5:13 ` Richard Stallman 2018-09-08 13:02 ` hw 2018-09-08 16:19 ` Eli Zaretskii 2018-09-08 23:23 ` hw 2018-09-09 5:29 ` Eli Zaretskii 2018-09-10 9:35 ` hw 2018-09-10 12:37 ` Eli Zaretskii 2018-09-10 19:27 ` hw 2018-09-10 13:52 ` Phillip Lord 2018-09-09 6:07 ` Richard Stallman 2018-09-09 6:07 ` Richard Stallman 2018-09-09 6:23 ` Eli Zaretskii 2018-09-09 17:18 ` Ergus 2018-09-10 11:59 ` hw 2018-09-10 12:40 ` Eli Zaretskii 2018-09-10 19:48 ` hw 2018-09-11 7:07 ` Eli Zaretskii 2018-09-11 20:31 ` hw 2018-09-06 13:59 ` Phillip Lord 2018-09-04 12:58 ` Phillip Lord 2018-09-04 16:30 ` hw 2018-09-04 19:13 ` Paul Eggert 2018-09-04 20:11 ` Drew Adams 2018-09-04 20:31 ` Paul Eggert 2018-09-06 12:32 ` Phillip Lord 2018-09-06 14:25 ` Drew Adams 2018-09-04 21:14 ` Ergus 2018-09-05 2:40 ` Eli Zaretskii 2018-09-05 6:29 ` Paul Eggert 2018-09-05 7:59 ` Joost Kremers 2018-09-05 15:27 ` Eli Zaretskii 2018-09-09 20:07 ` Joost Kremers 2018-09-09 20:10 ` Eli Zaretskii 2018-09-10 5:16 ` Yuri Khan 2018-09-10 7:30 ` Eli Zaretskii 2018-09-10 8:26 ` Yuri Khan 2018-09-10 12:06 ` hw 2018-09-10 12:44 ` Michael Albinus 2018-09-10 14:57 ` Yuri Khan 2018-09-10 19:58 ` hw 2018-09-11 6:31 ` Yuri Khan 2018-09-11 20:37 ` hw 2018-09-10 12:52 ` Eli Zaretskii 2018-09-06 1:11 ` hw 2018-09-06 1:41 ` Ergus 2018-09-07 8:11 ` hw 2018-09-06 12:29 ` Phillip Lord 2018-09-06 14:24 ` Drew Adams 2018-09-06 14:36 ` Eli Zaretskii 2018-09-07 6:39 ` Richard Stallman 2018-09-07 8:25 ` hw 2018-09-07 9:34 ` Eli Zaretskii 2018-09-07 13:22 ` hw 2018-09-07 14:48 ` Eli Zaretskii 2018-09-07 16:34 ` Drew Adams 2018-09-07 21:29 ` hw 2018-09-08 6:21 ` Eli Zaretskii 2018-09-08 13:12 ` hw 2018-09-08 16:17 ` Eli Zaretskii 2018-09-10 11:52 ` hw 2018-09-10 12:35 ` Eli Zaretskii 2018-09-10 20:04 ` hw 2018-09-08 17:00 ` Charles A. Roelli 2018-09-08 23:02 ` Juri Linkov 2018-09-10 6:47 ` hw 2018-09-10 14:13 ` Drew Adams [not found] ` <<87mussp1zu.fsf@toy.adminart.net> [not found] ` <<m2a7or53gj.fsf@aurox.ch> 2018-09-09 2:09 ` Drew Adams 2018-09-09 23:05 ` Drew Adams 2018-09-07 15:26 ` Drew Adams 2018-09-07 21:53 ` hw 2018-09-07 22:52 ` Drew Adams [not found] ` <<83r2i6wv4v.fsf@gnu.org> 2018-09-06 14:56 ` Drew Adams 2018-09-06 18:38 ` Eli Zaretskii 2018-09-06 19:27 ` Clément Pit-Claudel 2018-09-06 19:49 ` Eli Zaretskii [not found] ` <<83k1nywjwv.fsf@gnu.org> 2018-09-06 23:47 ` Drew Adams 2018-09-07 6:36 ` Eli Zaretskii 2018-09-07 8:16 ` hw 2018-09-04 20:38 ` Ergus 2018-09-06 12:58 ` Phillip Lord 2018-09-07 8:45 ` hw 2018-09-03 22:15 ` debounce (was: Some developement questions) Juri Linkov [not found] <196033312.7709403.1534426446299.ref@mail.yahoo.com> 2018-08-16 13:34 ` Some developement questions Ergus 2018-08-16 14:15 ` Eli Zaretskii 2018-08-16 14:38 ` Aurélien Aptel 2018-08-16 15:28 ` Andy Moreton 2018-08-16 17:25 ` Eli Zaretskii [not found] <<8336v6cvem.fsf@gnu.org> [not found] <<87sh36inql.fsf@himinbjorg.adminart.net>
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.