* RE: "Why is emacs so square?" [not found] ` <<83y2qwdmnd.fsf@gnu.org> @ 2020-04-16 14:58 ` Drew Adams 2020-04-16 15:34 ` Joseph Garvin 2020-04-16 15:42 ` Jean-Christophe Helary 0 siblings, 2 replies; 605+ messages in thread From: Drew Adams @ 2020-04-16 14:58 UTC (permalink / raw) To: Eli Zaretskii, rms; +Cc: emacs-devel, stefan, ndame > I'd like to remind all of us that > there's a lot of "propaganda" out there telling everyone to turn off > GUI features such as the menu bar and the tool bar. The network is > full of personal init files that "proudly" do that, and forums like > Reddit are full of such advice to every newbie who asks about > configuring their Emacs. It is hard to be enthusiastic about making > these features more modern when the community seems to be divided on > whether they should at all be present. IMO, we should first get our > act together and decide whether these features are important, and then > speak up according to those decisions when we see advice to the > contrary. +1 And count me as one vote for the menu-bar being important, especially for discoverability. The tool-bar is less important, IMO, but I'd still vote to keep it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 14:58 ` "Why is emacs so square?" Drew Adams @ 2020-04-16 15:34 ` Joseph Garvin 2020-04-16 15:42 ` Eli Zaretskii ` (3 more replies) 2020-04-16 15:42 ` Jean-Christophe Helary 1 sibling, 4 replies; 605+ messages in thread From: Joseph Garvin @ 2020-04-16 15:34 UTC (permalink / raw) To: Drew Adams; +Cc: Eli Zaretskii, ndame, stefan, rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 2228 bytes --] I think part of the problem with things like the menu bar is that if you're using emacs at all you are demonstrating a willingness to tolerate: * A UI that doesn't look or behave like any other application * Keyboard shortcuts inconsistent with every other application * A bizarre ancient vocabulary inconsistent with every other application. e.g. no Microsoft word user has ever considered themselves to have opened a "buffer". They open "files". They move "windows" around, not "frames." They cut and paste not kill and yank, etc. You are basically making a commitment to being or becoming a power user. I certainly would not have put up with it if I didn't think it was going to save me a lot of time as a software developer (and it does, everyday). I doubt anyone invests the mental effort to deal with learning emacs nowadays unless this is their goal. If you just want to do "casual" text editing emacs is a very weird choice in 2020. If you're a new user the idea that seeing kill and yank in the menu bar as options helps discoverablity doesn't really hold when already nothing is named the way you expect or acts the way you expect. If you're an experienced user, then I would guess that like me C-h f,v,k and blog posts are 99% of your discoverablity experience. On Thu, Apr 16, 2020, 9:58 AM Drew Adams <drew.adams@oracle.com> wrote: > > I'd like to remind all of us that > > there's a lot of "propaganda" out there telling everyone to turn off > > GUI features such as the menu bar and the tool bar. The network is > > full of personal init files that "proudly" do that, and forums like > > Reddit are full of such advice to every newbie who asks about > > configuring their Emacs. It is hard to be enthusiastic about making > > these features more modern when the community seems to be divided on > > whether they should at all be present. IMO, we should first get our > > act together and decide whether these features are important, and then > > speak up according to those decisions when we see advice to the > > contrary. > > +1 > > And count me as one vote for the menu-bar being > important, especially for discoverability. The > tool-bar is less important, IMO, but I'd still > vote to keep it. > > [-- Attachment #2: Type: text/html, Size: 2872 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 15:34 ` Joseph Garvin @ 2020-04-16 15:42 ` Eli Zaretskii 2020-04-16 18:29 ` Marcin Borkowski ` (2 subsequent siblings) 3 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 15:42 UTC (permalink / raw) To: Joseph Garvin; +Cc: ndame, stefan, rms, drew.adams, emacs-devel > From: Joseph Garvin <joseph.h.garvin@gmail.com> > Date: Thu, 16 Apr 2020 10:34:24 -0500 > Cc: Eli Zaretskii <eliz@gnu.org>, rms@gnu.org, emacs-devel@gnu.org, stefan@marxist.se, > ndame@protonmail.com > > I think part of the problem with things like the menu bar is that if you're using emacs at all you are > demonstrating a willingness to tolerate: > > * A UI that doesn't look or behave like any other application > * Keyboard shortcuts inconsistent with every other application > * A bizarre ancient vocabulary inconsistent with every other application. e.g. no Microsoft word user has ever > considered themselves to have opened a "buffer". They open "files". They move "windows" around, not > "frames." They cut and paste not kill and yank, etc. > > You are basically making a commitment to being or becoming a power user. I certainly would not have put > up with it if I didn't think it was going to save me a lot of time as a software developer (and it does, everyday). > I doubt anyone invests the mental effort to deal with learning emacs nowadays unless this is their goal. If you > just want to do "casual" text editing emacs is a very weird choice in 2020. That's definitely something we should keep in mind, but what on earth does it have to do with turning off the GUI elements of the Emacs UI? Or with the advice to newbies to turn them off? > If you're a new user the idea that seeing kill and yank in the menu bar as options helps discoverablity doesn't > really hold when already nothing is named the way you expect or acts the way you expect. If you're an > experienced user, then I would guess that like me C-h f,v,k and blog posts are 99% of your discoverablity > experience. I suggest to take a good look at the menu bar, since we don't have Kill and Yank there for a long time. We have Cut and Copy and Paste instead. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 15:34 ` Joseph Garvin 2020-04-16 15:42 ` Eli Zaretskii @ 2020-04-16 18:29 ` Marcin Borkowski 2020-04-17 22:05 ` Ahmed Khanzada 2020-04-19 2:19 ` Richard Stallman 3 siblings, 0 replies; 605+ messages in thread From: Marcin Borkowski @ 2020-04-16 18:29 UTC (permalink / raw) To: Joseph Garvin; +Cc: rms, stefan, emacs-devel, Eli Zaretskii, Drew Adams, ndame On 2020-04-16, at 17:34, Joseph Garvin <joseph.h.garvin@gmail.com> wrote: > [...] If you just want to do "casual" text editing > emacs is a very weird choice in 2020. Unless you came for Org-mode (though this might not be exactly "casual" - but necessarily "power-user-ish" either). Just my 2 cents, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 15:34 ` Joseph Garvin 2020-04-16 15:42 ` Eli Zaretskii 2020-04-16 18:29 ` Marcin Borkowski @ 2020-04-17 22:05 ` Ahmed Khanzada 2020-04-18 6:47 ` martin rudalics ` (2 more replies) 2020-04-19 2:19 ` Richard Stallman 3 siblings, 3 replies; 605+ messages in thread From: Ahmed Khanzada @ 2020-04-17 22:05 UTC (permalink / raw) To: Joseph Garvin; +Cc: rms, stefan, emacs-devel, Eli Zaretskii, Drew Adams, ndame Joseph, a few things come to mind from reading your email: 1. Terminal-based Vim is not like a modern application, yet is more popular than Emacs. 2. The audience for Emacs are people interested in using free software and Lisp to extend their text editing experience. Very few of these will be "casual editors", and in fact the FSF provides libre casual editing software through the GNOME project. 3. If Emacs was to become a "modern" app tomorrow, an editor extended in Lisp still only has appeal for a minority of programmers, much like the Lisp language itself. Most programmers looking for easy and modern experiences will likely stick with Atom and Sublime. 4. Most of the push for a "modern look" comes from the desire for Emacs to play more nicely with proprietary platforms. Rather, the goal of Emacs is to support platforms like GNU/Linux. Platforms that respect your freedom, and also do not push a corporate UI/UX vision of "modernity". (Perhaps if we do move forward with modernization, we should think of modernization in the context of something like GNOME rather than MacOS or Windows. Surely Emacs could be a better citizen of GNOME.) 5. Given that many of the people complaining about how Emacs looks are not submitting patches to fix the problem themselves, resources would be diverted from actual functionality to "modernity". 6. By the time we do major code refactoring "modernizing" Emacs on the major proprietary platforms, what is "modern" has now once again changed, and our resources were put towards a project with a poor return on investment. Basically, I don't see a "modernizing" project playing out well. We will spend extensive time and energy on a moving target, and even if we succeed, our Lisp-based vision still has limited appeal. Additionally, I don't think "modernizing" Emacs advances the cause of free software, given that there are other more popular casual libre tools for text editing that individuals can use. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 22:05 ` Ahmed Khanzada @ 2020-04-18 6:47 ` martin rudalics 2020-04-18 7:07 ` ndame 2020-04-18 23:02 ` Stefan Kangas 2020-04-19 2:18 ` Richard Stallman 2 siblings, 1 reply; 605+ messages in thread From: martin rudalics @ 2020-04-18 6:47 UTC (permalink / raw) To: Ahmed Khanzada, Joseph Garvin Cc: rms, stefan, emacs-devel, Eli Zaretskii, Drew Adams, ndame > (Perhaps if we do move forward with modernization, we should think of > modernization in the context of something like GNOME rather than MacOS > or Windows. Surely Emacs could be a better citizen of GNOME.) Citizenship goes both ways. The absence of responses for https://gitlab.gnome.org/GNOME/mutter/-/issues/840 sadly indicates that GNOME doesn't care much about us. martin ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 6:47 ` martin rudalics @ 2020-04-18 7:07 ` ndame 0 siblings, 0 replies; 605+ messages in thread From: ndame @ 2020-04-18 7:07 UTC (permalink / raw) To: martin rudalics Cc: Ahmed Khanzada, Joseph Garvin, rms@gnu.org, stefan@marxist.se, emacs-devel@gnu.org, Eli Zaretskii, Drew Adams > > Citizenship goes both ways. The absence of responses for > > https://gitlab.gnome.org/GNOME/mutter/-/issues/840 > > sadly indicates that GNOME doesn't care much about us. > Gnome shell also has a development list. A way forward can be to post to that list politely asking for a workaround until the issue is solved: https://mail.gnome.org/mailman/listinfo/gnome-shell-list The developers may be more likely to respond if the asking for help is sent to a discussion list. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 22:05 ` Ahmed Khanzada 2020-04-18 6:47 ` martin rudalics @ 2020-04-18 23:02 ` Stefan Kangas 2020-04-18 23:13 ` Ahmed Khanzada 2020-04-19 2:18 ` Richard Stallman 2 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-18 23:02 UTC (permalink / raw) To: Ahmed Khanzada Cc: Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams, ndame Ahmed Khanzada <me@enzu.ru> writes: > 1. Terminal-based Vim is not like a modern application, yet is more > popular than Emacs. How do you know that Vim is more popular than Emacs? > 3. If Emacs was to become a "modern" app tomorrow, an editor extended > in Lisp still only has appeal for a minority of programmers I think features matters more than extension language to most users. For example, the popularity of Vim is unlikely to be based on the appeal of an editor extended in Vimscript. > 4. Most of the push for a "modern look" comes from the desire for Emacs > to play more nicely with proprietary platforms. Why do you believe that to be the case? Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 23:02 ` Stefan Kangas @ 2020-04-18 23:13 ` Ahmed Khanzada 2020-04-19 0:42 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Ahmed Khanzada @ 2020-04-18 23:13 UTC (permalink / raw) To: Stefan Kangas Cc: Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams, ndame On Sat, 18 Apr 2020 16:02:35 -0700, Stefan Kangas wrote: > > Ahmed Khanzada <me@enzu.ru> writes: > > > 1. Terminal-based Vim is not like a modern application, yet is more > > popular than Emacs. > > How do you know that Vim is more popular than Emacs? > https://insights.stackoverflow.com/survey/2019#development-environments-and-tools Nearly 20% of programmers use vim, and around 3% use Emacs. Visual Studio Code has 54%. > > 3. If Emacs was to become a "modern" app tomorrow, an editor extended > > in Lisp still only has appeal for a minority of programmers > > I think features matters more than extension language to most users. > For example, the popularity of Vim is unlikely to be based on the > appeal of an editor extended in Vimscript. That is fair enough. But for extensible editors, features are built by a small group of folks interested in that sort of thing. A more "mainstream" language usually means more extensions which means more features. > > > 4. Most of the push for a "modern look" comes from the desire for Emacs > > to play more nicely with proprietary platforms. > > Why do you believe that to be the case? I suppose this is a pure assumption on my part based on my anecdotal experience. I hear more comments about Emacs not being a nice MacOS or Windows application than a nice GNOME application, but that is just anecdotal evidence, and is certainly skewed by the popularity of those platforms. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 23:13 ` Ahmed Khanzada @ 2020-04-19 0:42 ` Po Lu 2020-04-19 2:10 ` Ahmed Khanzada 2020-04-19 4:48 ` ndame 0 siblings, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 0:42 UTC (permalink / raw) To: Ahmed Khanzada Cc: Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams, ndame Ahmed Khanzada <me@enzu.ru> writes: > That is fair enough. But for extensible editors, features are built by a > small group of folks interested in that sort of thing. A more > "mainstream" language usually means more extensions which means more features. I disagree. The amount of extensions to an editor reflect the popularity of the editor, not whether or not the editor's extension language is "mainstream" or not. Plus, Emacs Lisp has a bunch of nice goodies for Emacs, since the language itself is seamlessly integrated with the editor it extends (such as text properties in strings, buffer-local variables, et cetera). I would also go as far as to say that writing Emacs programs is far easier, and involves far less boilerplate, than writing extensions for, say, VS Code: ------------------------------------------------------------------------------- var setting: vscode.Uri = vscode.Uri.parse("untitled:" + "C:\summary.txt"); vscode.workspace.openTextDocument(setting).then((a: vscode.TextDocument) => { vscode.window.showTextDocument(a, 1, false).then(e => { e.edit(edit => { edit.insert(new vscode.Position(0, 0), "Your advertisement here"); }); }); }, (error: any) => { console.error(error); debugger; }); ------------------------------------versus------------------------------------ (with-current-buffer (find-file "~/summary.txt") (set-window-point (selected-window) (point-min)) (insert "Your advertisement here")) ------------------------------------------------------------------------------ A better language wins extensions, not a "popular" language, and Emacs Lisp is definitely more suited to extending editors than TypeScript. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 0:42 ` Po Lu @ 2020-04-19 2:10 ` Ahmed Khanzada 2020-04-19 2:28 ` Po Lu 2020-04-19 4:48 ` ndame 1 sibling, 1 reply; 605+ messages in thread From: Ahmed Khanzada @ 2020-04-19 2:10 UTC (permalink / raw) To: Po Lu Cc: Joseph Garvin, Richard Stallman, Stefan Kangas, Emacs developers, Eli Zaretskii, Drew Adams, ndame On Sat, 18 Apr 2020 17:42:07 -0700, > A better language wins extensions, not a "popular" language, and Emacs > Lisp is definitely more suited to extending editors than TypeScript. I certainly agree with everyone that Lisp is fantastic, and that extending Emacs with Emacs Lisp is a great pleasure. And that Emacs Lisp is certainly superior to any other alternative that I know of. So please don't think I would want Emacs to use anything other than Lisp. However, despite Lisp being extraordinarily powerful (truly a "better language"), no dialect of Lisp is a top 10 language. It seems unlikely to me that there is no correlation between that fact and the popularity and accessibility of Emacs. However, even if there is a correlation, determining the exact nature and extent of correlation is difficult. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 2:10 ` Ahmed Khanzada @ 2020-04-19 2:28 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 2:28 UTC (permalink / raw) To: Ahmed Khanzada Cc: Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams, ndame Ahmed Khanzada <me@enzu.ru> writes: > However, despite Lisp being extraordinarily powerful (truly a "better > language"), no dialect of Lisp is a top 10 language. It seems unlikely > to me that there is no correlation between that fact and the popularity > and accessibility of Emacs. Paul Graham has an insightful article here: http://www.paulgraham.com/avg.html; IMO, it's worth reading. Plus, if you look inside the domain of "text editor extension languages", Emacs Lisp is definitely one of the top-10 (assuming there are 10 at all), and is also probably the most integrated one. You can also extend Emacs in languages other than Emacs Lisp (the native module support comes to mind), but at that point you're giving up exactly what makes Emacs great. > However, even if there is a correlation, determining the exact nature > and extent of correlation is difficult. Agreed. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 0:42 ` Po Lu 2020-04-19 2:10 ` Ahmed Khanzada @ 2020-04-19 4:48 ` ndame 2020-04-19 5:37 ` Po Lu 1 sibling, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 4:48 UTC (permalink / raw) To: Po Lu Cc: Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams > > A better language wins extensions, not a "popular" language, and Emacs > Lisp is definitely more suited to extending editors than TypeScript. I agree that Emacs is easier to program once you learned it, but other editors, like VSCode, has the advantage that you don't have to learn a quirky and unfamiliar language first. Many developers know Javascript and even if one doesn't it's more similar to mainstream languages than lisp, so extension writers mostly has to learn the VSCode API only. VScode has a very nice out of the box experience. If you want support for a language then it's one click to install it and it installs the necessary scaffolding too, like a language server for the language. And it has Electron for display support which has a mature browser engine behind it, so it can support advanced graphics features out of the box on all the supported platforms. Out of the box experience matters. Familiarity matters (e.g supporting standard keys on the platfrom for cut and paste). Nice appearance matters. No wonder lot of developers choose VScode: https://trends.google.com/trends/explore?geo=US&q=emacs%20editor,visual%20studio%20code ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 4:48 ` ndame @ 2020-04-19 5:37 ` Po Lu 2020-04-19 5:43 ` Po Lu ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 5:37 UTC (permalink / raw) To: ndame Cc: Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams ndame <ndame@protonmail.com> writes: > I agree that Emacs is easier to program once you learned it, but > other editors, like VSCode, has the advantage that you don't have to > learn a quirky and unfamiliar language first. > Many developers know Javascript and even if one doesn't it's more similar > to mainstream languages than lisp, so extension writers mostly has to > learn the VSCode API only. Here's the problem: You have to learn the VS Code API. I'd say learning that, and becoming reasonably proficient at it takes longer than skimming through the Emacs Lisp intro. > VScode has a very nice out of the box experience. If you want support > for a language then it's one click to install it and it installs the > necessary scaffolding too, like a language server for the language. We have several starter packs, with similarly nice OOTB experiences. > And it has Electron for display support which has a mature browser > engine behind it, so it can support advanced graphics features out > of the box on all the supported platforms. Electron is not free software (https://labs.parabola.nu/issues/1167), and is definitely not as well suited to providing an integrated experience like Emacs. For instance, even if you render raw HTML inside VS Code, you would not be able to grab the region using VSC APIs. I'm not sure if the VSC API allows interacting with the DOM, but from what I can tell, it can't. There are also various other issues, with relying on a lower-level abstraction for "nice graphics features" (the DOM) that is outside the editors control. > Out of the box experience matters. Familiarity matters (e.g supporting > standard keys on the platfrom for cut and paste). Nice appearance matters. We have Cua mode. No, you don't need to have it enabled by default, since it would result in unnecessary breakage for old users. It would be nice if the startup screen informed users of features such as the (hypothetical) GTK theme previously mentioned, and Cua. I personally think that the Emacs bindings are better, and in the end work better with Emacs itself, but I do agree that newcomers should be allowed to familiarize themselves with Emacs before moving their workflow (and habits) to it entirely. > No wonder lot of developers choose VScode: > https://trends.google.com/trends/explore?geo=US&q=emacs%20editor,visual%20studio%20code We're here to change that :) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 5:37 ` Po Lu @ 2020-04-19 5:43 ` Po Lu 2020-04-19 12:59 ` Dmitry Gutov 2020-04-19 6:32 ` 조성빈 2020-04-19 6:52 ` ndame 2 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-19 5:43 UTC (permalink / raw) To: ndame Cc: Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams > And it has Electron for display support which has a mature browser > engine behind it, so it can support advanced graphics features out > of the box on all the supported platforms. I'd like to add that even though Electron might have some fancier features, I don't consider it more "mature" than the Emacs display engine, which has had a 25+ year head start to "mature". IIRC, some important concepts in the display engine have existed since the era of AI Lab Emacs, which gives the display engine a nearly 40 year head-start. Perhaps we could focus on adding missing features to Emacs' display engine (such as the aformentioned fancy graphics, and also some other important features that RMS has mentioned, such as variable-pitch indentation). Plus, if we implement those features manually, we can make sure that they work consistently well throughout all the supported platforms. (Which is also what you get with Electron, etc). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 5:43 ` Po Lu @ 2020-04-19 12:59 ` Dmitry Gutov 2020-04-19 22:53 ` Po Lu 2020-04-20 2:19 ` "Why is emacs so square?" Richard Stallman 0 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-19 12:59 UTC (permalink / raw) To: Po Lu, ndame Cc: Ahmed Khanzada, Joseph Garvin, Richard Stallman, Stefan Kangas, Emacs developers, Eli Zaretskii, Drew Adams On 19.04.2020 08:43, Po Lu wrote: > Perhaps we could focus on adding missing features to Emacs' display > engine (such as the aformentioned fancy graphics, and also some other > important features that RMS has mentioned, such as variable-pitch > indentation). I'm pretty sure neither "fancy graphics" inside file buffers, nor variable-pitch indentation are the reason for VS Code's popularity. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 12:59 ` Dmitry Gutov @ 2020-04-19 22:53 ` Po Lu 2020-04-19 23:34 ` Bob Newell 2020-04-19 23:39 ` Jean-Christophe Helary 2020-04-20 2:19 ` "Why is emacs so square?" Richard Stallman 1 sibling, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 22:53 UTC (permalink / raw) To: Dmitry Gutov Cc: ndame, Ahmed Khanzada, Joseph Garvin, Richard Stallman, Stefan Kangas, Emacs developers, Eli Zaretskii, Drew Adams Dmitry Gutov <dgutov@yandex.ru> writes: > I'm pretty sure neither "fancy graphics" inside file buffers, nor > variable-pitch indentation are the reason for VS Code's popularity. You have a point. We need to figure out why VSC is so popular, and then fill in the areas that Emacs is missing. A mostly out-of-the-box setup probably counts in that area. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 22:53 ` Po Lu @ 2020-04-19 23:34 ` Bob Newell 2020-04-20 4:34 ` Po Lu 2020-04-21 1:47 ` Richard Stallman 2020-04-19 23:39 ` Jean-Christophe Helary 1 sibling, 2 replies; 605+ messages in thread From: Bob Newell @ 2020-04-19 23:34 UTC (permalink / raw) To: Emacs developers > You have a point. We need to figure out why VSC is so popular, and then > fill in the areas that Emacs is missing. A mostly out-of-the-box setup > probably counts in that area. In both this and other messages, I get what you're saying and the goal of making Emacs more accessible and more appealing is laudable and ambitious, but definitely in the realm of possibility. (I think /maybe/ some of the discussion is focused toward coding/software development, and Emacs is much more than that, but I'll accept that developers make up a big part of the actual and intended audience.) But keep in mind that I'm old and grumpy and have used Emacs for literally decades. When I started on Emacs back in the 80s, I knew nothing. All I had used up to that point was a series of line-oriented editors similar to 'ed'. Now (the question of graphics put aside in that pre-graphics era), how did I learn Emacs? I went through the tutorial carefully and fully. By the end of that I was a fledgling Emacs user. It was enough for me to be able to do actual work. Then, as I needed new things, I learned them. There was no internet so I relied upon the Emacs manuals, which were and are very good references. I picked up elisp as necessary. And it all worked out. Did I jump right in and use Emacs out of the box? No. I knew I was making a long-term investment in doing the tutorial, etc. So here's the grumpy old man part: I sometimes think that today, software is expected to fall into the instant gratification category. A lot of users don't want to have to learn anything, they just want a perfect out of the box experience. But I think those are conflicting expectations. Yes, make Emacs appealing and user friendly. But don't forget that a masterful tool in the end requires mastery, which can't come for free. I certainly draw the line at saying Emacs is for everyone. I'm not saying it's only for some sort of snooty "elite" but I am saying that it's for those who are willing to learn, seeing some extra work as the aforementioned long-term investment, and who have the patience reach a worthy goal a little later rather than right this very minute. -- Bob Newell Honolulu, Hawai`i Via Linux/Emacs/Gnus/BBDB. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 23:34 ` Bob Newell @ 2020-04-20 4:34 ` Po Lu 2020-04-20 5:12 ` Jean-Christophe Helary 2020-04-21 1:47 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-20 4:34 UTC (permalink / raw) To: Bob Newell; +Cc: Emacs developers Bob Newell <bobnewell@bobnewell.net> writes: > But keep in mind that I'm old and grumpy and have used Emacs for > literally decades. When I started on Emacs back in the 80s, I knew > nothing. All I had used up to that point was a series of line-oriented > editors similar to 'ed'. Now (the question of graphics put aside in > that pre-graphics era), how did I learn Emacs? I went through the > tutorial carefully and fully. By the end of that I was a fledgling > Emacs user. It was enough for me to be able to do actual work. I'm also old and grumpy, and I pretty much learned Emacs the same way (and only about a decade after you did). It would still be nice if we had a way for making Emacs easier for today's lazy people to learn though. > Then, as I needed new things, I learned them. There was no internet so > I relied upon the Emacs manuals, which were and are very good > references. I picked up elisp as necessary. And it all worked out. Did > I jump right in and use Emacs out of the box? No. I knew I was making > a long-term investment in doing the tutorial, etc. I mostly agree, but the problem is a lot of people aren't willing to make said investment due to prior prejudice, and you need a way to clear that prejudice up. > So here's the grumpy old man part: I sometimes think that today, > software is expected to fall into the instant gratification category. > A lot of users don't want to have to learn anything, they just want a > perfect out of the box experience. But I think those are conflicting > expectations. Yes. > Yes, make Emacs appealing and user friendly. But don't forget that a > masterful tool in the end requires mastery, which can't come for free. > I certainly draw the line at saying Emacs is for everyone. I'm not > saying it's only for some sort of snooty "elite" but I am saying that > it's for those who are willing to learn, seeing some extra work as the > aforementioned long-term investment, and who have the patience reach a > worthy goal a little later rather than right this very minute. I'll keep that in mind. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 4:34 ` Po Lu @ 2020-04-20 5:12 ` Jean-Christophe Helary 0 siblings, 0 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-20 5:12 UTC (permalink / raw) To: Emacs developers > On Apr 20, 2020, at 13:34, Po Lu <luangruo@yahoo.com> wrote: > > It would still be nice if we had a way for making Emacs easier for > today's lazy people to learn though. It is not that they are lazy, just like people who use a machine to do their laundry instead of doing it by hand, they use tools that have been developed without the historical constraints of Emacs. Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 23:34 ` Bob Newell 2020-04-20 4:34 ` Po Lu @ 2020-04-21 1:47 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-21 1:47 UTC (permalink / raw) To: Bob Newell; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Yes, make Emacs appealing and user friendly. But don't forget that a > masterful tool in the end requires mastery, which can't come for free. > I certainly draw the line at saying Emacs is for everyone. I'm not > saying it's only for some sort of snooty "elite" but I am saying that > it's for those who are willing to learn, seeing some extra work as the > aforementioned long-term investment, and who have the patience reach a > worthy goal a little later rather than right this very minute. +1. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 22:53 ` Po Lu 2020-04-19 23:34 ` Bob Newell @ 2020-04-19 23:39 ` Jean-Christophe Helary 2020-04-20 0:12 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-19 23:39 UTC (permalink / raw) To: Emacs developers > On Apr 20, 2020, at 7:53, Po Lu <luangruo@yahoo.com> wrote: > > Dmitry Gutov <dgutov@yandex.ru> writes: > >> I'm pretty sure neither "fancy graphics" inside file buffers, nor >> variable-pitch indentation are the reason for VS Code's popularity. > > You have a point. We need to figure out why VSC is so popular, and then > fill in the areas that Emacs is missing. A mostly out-of-the-box setup > probably counts in that area. LSP support out of the box Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 23:39 ` Jean-Christophe Helary @ 2020-04-20 0:12 ` Dmitry Gutov 2020-04-20 4:35 ` Po Lu 2020-04-24 9:10 ` Stefan Kangas 0 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-20 0:12 UTC (permalink / raw) To: Jean-Christophe Helary, Emacs developers On 20.04.2020 02:39, Jean-Christophe Helary wrote: >> You have a point. We need to figure out why VSC is so popular, and then >> fill in the areas that Emacs is missing. A mostly out-of-the-box setup >> probably counts in that area. Probably. As well as better onboarding. Some better defaults as well. > LSP support out of the box We're basically already there: - M-x package-install eglot - C-x C-f ... - M-x eglot ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 0:12 ` Dmitry Gutov @ 2020-04-20 4:35 ` Po Lu 2020-04-20 13:27 ` Dmitry Gutov 2020-04-24 9:10 ` Stefan Kangas 1 sibling, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-20 4:35 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > We're basically already there: > > - M-x package-install eglot > - C-x C-f ... > - M-x eglot Does Eglot have support for automatically downloading and installing popular language servers (like lsp-mode does)? If it does, that would be nice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 4:35 ` Po Lu @ 2020-04-20 13:27 ` Dmitry Gutov 2020-04-21 8:48 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-20 13:27 UTC (permalink / raw) To: Po Lu; +Cc: Jean-Christophe Helary, Emacs developers On 20.04.2020 07:35, Po Lu wrote: > Dmitry Gutov<dgutov@yandex.ru> writes: > >> We're basically already there: >> >> - M-x package-install eglot >> - C-x C-f ... >> - M-x eglot > Does Eglot have support for automatically downloading and installing > popular language servers (like lsp-mode does)? If it does, that would be nice. Not thus far. Does VS Code do that? Sounds like a good cause for a feature request. And if such an install script database is added, people should chip in and help maintaining that. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 13:27 ` Dmitry Gutov @ 2020-04-21 8:48 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-21 8:48 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > Not thus far. Does VS Code do that? Yes. AFAICT their primary method for language support is the LSP protocol (and LSP was also originally created for VS Code), and they have an extension "marketplace" (closest anology here would be ELPA) that has a nice way to install various language servers. `lsp-mode' also has similar functionality. It would be nice to have it in eglot. > Sounds like a good cause for a feature request. And if such an install > script database is added, people should chip in and help maintaining > that. Agreed. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 0:12 ` Dmitry Gutov 2020-04-20 4:35 ` Po Lu @ 2020-04-24 9:10 ` Stefan Kangas 2020-04-24 15:48 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-24 9:10 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > >> You have a point. We need to figure out why VSC is so popular, and then > >> fill in the areas that Emacs is missing. A mostly out-of-the-box setup > >> probably counts in that area. > > Probably. As well as better onboarding. Some better defaults as well. What does onboarding mean in this context? Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 9:10 ` Stefan Kangas @ 2020-04-24 15:48 ` Dmitry Gutov 2020-04-24 16:31 ` Dmitry Gutov 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas 0 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-24 15:48 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers On 24.04.2020 12:10, Stefan Kangas wrote: >>>> You have a point. We need to figure out why VSC is so popular, and then >>>> fill in the areas that Emacs is missing. A mostly out-of-the-box setup >>>> probably counts in that area. >> Probably. As well as better onboarding. Some better defaults as well. > What does onboarding mean in this context? Maybe some improvements to the welcome screen. A better tutorial (which showcases advanced features, not just the "alien" part of Emacs) and/or some guides. https://en.wikipedia.org/wiki/User_onboarding ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 15:48 ` Dmitry Gutov @ 2020-04-24 16:31 ` Dmitry Gutov 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-24 16:31 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers On 24.04.2020 18:48, Dmitry Gutov wrote: > A better tutorial (which showcases advanced features, not just the > "alien" part of Emacs) VS Code's tutorial to compare: https://code.visualstudio.com/docs/introvideos/basics (Yes, most of it is in a video; ours doesn't have to be but it's a decent approach; and we could do both a video and a text version). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Improved welcome screen 2020-04-24 15:48 ` Dmitry Gutov 2020-04-24 16:31 ` Dmitry Gutov @ 2020-04-27 12:30 ` Stefan Kangas 2020-04-27 17:58 ` Dmitry Gutov ` (4 more replies) 1 sibling, 5 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-27 12:30 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Emacs developers [-- Attachment #1: Type: text/plain, Size: 529 bytes --] Dmitry Gutov <dgutov@yandex.ru> writes: > Maybe some improvements to the welcome screen. OK, so here's a proposal for a better welcome screen. The idea was to get rid of the impenetrable wall of text we have now by simplifying it. The attached patch is a quickly hacked together proof of concept, but could be cleaned up and finalized if it's a direction we want to take. I've attached a screenshot of the result. You can test the patch using: ./src/emacs -Q --eval '(display-about-screen)' Best regards, Stefan Kangas [-- Attachment #2: new-splash.png --] [-- Type: image/png, Size: 98530 bytes --] [-- Attachment #3: splash.diff --] [-- Type: text/x-patch, Size: 5328 bytes --] diff --git a/lisp/startup.el b/lisp/startup.el index bff10003f8..8cea923581 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -1615,6 +1615,15 @@ fancy-startup-text Each element in the list should be a list of strings or pairs `:face FACE', like `fancy-splash-insert' accepts them.") +(defface splash-screen + '((((type tty pc) (class color) (background light)) + :foreground "green" :weight bold) + (((type tty pc) (class color) (background dark)) + :foreground "yellow" :weight bold) + (t :height 1.2 :inherit info-title-2)) + "Face for info titles at level 1." + :group 'info) + (defconst fancy-about-text `((:face (variable-pitch font-lock-comment-face) "This is " @@ -1632,69 +1641,75 @@ fancy-about-text `("GNU" ,(lambda (_button) (describe-gnu-project)) "Display info on the GNU project."))) " operating system.\n" - :face (variable-pitch font-lock-builtin-face) + :face variable-pitch + "\n\n" + + :face splash-screen + " Getting Help\t Free Software\t Get Involved!\n" "\n" - ,(lambda () (emacs-version)) + ;; >>> Line 1 + " • " + :link ("Tutorial" ,(lambda (_button) (help-with-tutorial))) + " " ;;; fixme: ugly hack for alignment + "\t• " + :link ("GNU and Freedom" ,(lambda (_button) (describe-gnu-project))) + "\t• " + :link ("Contributing & Bugs" + ,(lambda (_button) (info "(emacs)Contributing"))) "\n" - :face (variable-pitch (:height 0.8)) - ,(lambda () emacs-copyright) - "\n\n" - :face variable-pitch + + ;; >>> Line 2 + " • " + :link ("Guided Tour" + ,(lambda (_button) + (browse-url "https://www.gnu.org/software/emacs/tour/")) + "Browse https://www.gnu.org/software/emacs/tour/") + "\t• " + :link ("Copying Conditions" ,(lambda (_button) (describe-copying))) + "\t• " + :link ("Getting New Versions" ,(lambda (_button) (describe-distribution))) + "\n" + + ;; >>> Line 3 + " • " + :link ("Emacs Manual" ,(lambda (_button) (info-emacs-manual))) + "\t• " + :link ("Ordering Manuals" ,(lambda (_button) (view-order-manuals))) + "\t• " :link ("Authors" ,(lambda (_button) (view-file (expand-file-name "AUTHORS" data-directory)) (goto-char (point-min)))) - "\tMany people have contributed code included in GNU Emacs\n" - :link ("Contributing" - ,(lambda (_button) (info "(emacs)Contributing"))) - "\tHow to report bugs and contribute improvements to Emacs\n" - "\n" - :link ("GNU and Freedom" ,(lambda (_button) (describe-gnu-project))) - "\tWhy we developed GNU Emacs, and the GNU operating system\n" - :link ("Absence of Warranty" ,(lambda (_button) (describe-no-warranty))) - "\tGNU Emacs comes with " - :face (variable-pitch (:slant oblique)) - "ABSOLUTELY NO WARRANTY\n" + "\n\n\n" + :face variable-pitch - :link ("Copying Conditions" ,(lambda (_button) (describe-copying))) - "\tConditions for redistributing and changing Emacs\n" - :link ("Getting New Versions" ,(lambda (_button) (describe-distribution))) - "\tHow to obtain the latest version of Emacs\n" - :link ("Ordering Manuals" ,(lambda (_button) (view-order-manuals))) - "\tBuying printed manuals from the FSF\n" + + ;; Horizontal Line + "---------------------------------------------------------------------------\n" "\n" - :link ("Emacs Tutorial" ,(lambda (_button) (help-with-tutorial))) - "\tLearn basic Emacs keystroke commands" - ,(lambda () - (let* ((en "TUTORIAL") - (tut (or (get-language-info current-language-environment - 'tutorial) - en)) - (title (with-temp-buffer - (insert-file-contents - (expand-file-name tut tutorial-directory) - ;; Read the entire file, to make sure any - ;; coding cookies and other local variables - ;; get acted upon. - nil) - (search-forward ".") - (buffer-substring (point-min) (1- (point)))))) - ;; If there is a specific tutorial for the current language - ;; environment and it is not English, append its title. - (if (string= en tut) - "" - (concat " (" title ")")))) + + ;; Absence of Warranty Section + "GNU Emacs comes with " + :link ("ABSOLUTELY NO WARRANTY" ,(lambda (_button) (describe-no-warranty))) + "\n\n" + + ;; Version Information + :face (variable-pitch font-lock-builtin-face) + ,(lambda () (emacs-version)) "\n" - :link ("Emacs Guided Tour" - ,(lambda (_button) - (browse-url "https://www.gnu.org/software/emacs/tour/")) - "Browse https://www.gnu.org/software/emacs/tour/") - "\tSee an overview of Emacs features at gnu.org\n" - :link ("Emacs Manual" ,(lambda (_button) (info-emacs-manual))) - "\tDisplay the Emacs manual in Info mode")) + "\n" + + ;; Copyright + :face (variable-pitch (:height 0.8)) + ,(lambda () emacs-copyright) + "\n" + + )) + "A list of texts to show in the middle part of the About screen. Each element in the list should be a list of strings or pairs -`:face FACE', like `fancy-splash-insert' accepts them.") +`:face FACE', like `fancy-splash-insert' accepts them." + ) (defgroup fancy-splash-screen () ^ permalink raw reply related [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas @ 2020-04-27 17:58 ` Dmitry Gutov 2020-04-27 19:07 ` Stefan Kangas 2020-04-27 18:39 ` Eli Zaretskii ` (3 subsequent siblings) 4 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-27 17:58 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers Hi Stefan, On 27.04.2020 15:30, Stefan Kangas wrote: > OK, so here's a proposal for a better welcome screen. The idea was to > get rid of the impenetrable wall of text we have now by simplifying > it. I like this direction quite a bit. Not crazy about the part after the dashed line, though, but it's less clear what we can replace it with. The "NO WARRANTY" can probably just live in the Help menu. Or move to the middle. Maybe by replacing the "Ordering Manuals" item which could obtain more prominence in "(emacs) Top". Or by having a fourth item there. Maybe we can have 4 items in each column. Speaking of the Guided Tour, EWW is nifty and all, but it renders that page worse than any normal browser. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 17:58 ` Dmitry Gutov @ 2020-04-27 19:07 ` Stefan Kangas 2020-04-27 19:13 ` Yuan Fu 2020-04-28 2:49 ` Dmitry Gutov 0 siblings, 2 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-27 19:07 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > I like this direction quite a bit. Not crazy about the part after the > dashed line, though, but it's less clear what we can replace it with. Thank you, this is good feedback. For this first draft, I tried to include all information that was there before. But I'm personally happy to incorporate further changes along the lines you suggest. As for the version information, we could just mention the major and minor version in the first sentence: "This is GNU Emacs version 28.0.50, [...]" Or we could decide that the version information is not really needed at all for the purposes of this screen. I don't have a very strong opinion here except that I don't think it's ideal to advertise details like the cairo version at the very top of the screen (as before). > The "NO WARRANTY" can probably just live in the Help menu. Or move to > the middle. Maybe by replacing the "Ordering Manuals" item which could > obtain more prominence in "(emacs) Top". Or by having a fourth item > there. Maybe we can have 4 items in each column. I thought there was some kind of legal reason that "NO WARRANTY" is on that screen? If it's not, we might as well move it out of the way, I agree. The "Ordering Manuals" could indeed get more prominence in "(emacs) Top" instead. We could have four items in each column, if necessary. Somehow humans like it when there are only three things though - it's a general principle in graphical design. It "feels" better to most people for some unknown reason. Content obviously trumps that, but I propose we also keep that (secondary) aspect in mind. > Speaking of the Guided Tour, EWW is nifty and all, but it renders that > page worse than any normal browser. Indeed. I filed a feature request for a new max width option: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40909 The images are also rendered to be very small, so maybe it would be good to file a feature request for that. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 19:07 ` Stefan Kangas @ 2020-04-27 19:13 ` Yuan Fu 2020-04-27 19:32 ` Stefan Kangas 2020-04-28 2:49 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: Yuan Fu @ 2020-04-27 19:13 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers, Dmitry Gutov Maybe you can use variable font, and use tab to align the text? Generally, variable font looks better and more modern. Yuan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 19:13 ` Yuan Fu @ 2020-04-27 19:32 ` Stefan Kangas 0 siblings, 0 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-27 19:32 UTC (permalink / raw) To: Yuan Fu; +Cc: Jean-Christophe Helary, Dmitry Gutov, Emacs developers Yuan Fu <casouri@gmail.com>: > Maybe you can use variable font, and use tab to align the text? Generally, variable font looks better and more modern. Yes, I thought that's what I did but I must have messed something up somewhere. The about screen uses variable font already now, and I think we should keep that. Thanks for catching that mistake. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 19:07 ` Stefan Kangas 2020-04-27 19:13 ` Yuan Fu @ 2020-04-28 2:49 ` Dmitry Gutov 2020-04-28 7:19 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-28 2:49 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers On 27.04.2020 22:07, Stefan Kangas wrote: > Dmitry Gutov <dgutov@yandex.ru> writes: > >> I like this direction quite a bit. Not crazy about the part after the >> dashed line, though, but it's less clear what we can replace it with. > > Thank you, this is good feedback. For this first draft, I tried to > include all information that was there before. But I'm personally > happy to incorporate further changes along the lines you suggest. > > As for the version information, we could just mention the major and > minor version in the first sentence: "This is GNU Emacs version > 28.0.50, [...]" I don't have a particular preference. This string could be useful (I don't know). But the way it's displayed, and its length, leave something to be desired. > Or we could decide that the version information is not really needed > at all for the purposes of this screen. I don't have a very strong > opinion here except that I don't think it's ideal to advertise details > like the cairo version at the very top of the screen (as before). Indeed, maybe not. >> The "NO WARRANTY" can probably just live in the Help menu. Or move to >> the middle. Maybe by replacing the "Ordering Manuals" item which could >> obtain more prominence in "(emacs) Top". Or by having a fourth item >> there. Maybe we can have 4 items in each column. > > I thought there was some kind of legal reason that "NO WARRANTY" is on > that screen? If it's not, we might as well move it out of the way, I > agree. Maybe Richard has an opinion on this, but (though IANAL) I don't think so, considering most software (libre or not) don't make this much of an effort to tell the user about the lack of warranty. > The "Ordering Manuals" could indeed get more prominence in "(emacs) > Top" instead. > > We could have four items in each column, if necessary. Somehow humans > like it when there are only three things though - it's a general > principle in graphical design. It "feels" better to most people for > some unknown reason. Content obviously trumps that, but I propose we > also keep that (secondary) aspect in mind. If the "no warranty" thing is required there after all, we could do the four-row thing as the first improved version, get it installed, and then discuss further tweaks. Because I'm guessing hiding the "Ordering Manuals" farther from sight can be seen as unfortunate (however much income it results in, IDK). >> Speaking of the Guided Tour, EWW is nifty and all, but it renders that >> page worse than any normal browser. > > Indeed. I filed a feature request for a new max width option: > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40909 Thanks. > The images are also rendered to be very small, so maybe it would be > good to file a feature request for that. Personally, I'd prefer if it just used the web browser installed in the system. But I'll take any improvement over the current state. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 2:49 ` Dmitry Gutov @ 2020-04-28 7:19 ` Eli Zaretskii 2020-04-28 9:49 ` Michael Albinus 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-28 7:19 UTC (permalink / raw) To: Dmitry Gutov; +Cc: jean.christophe.helary, stefan, emacs-devel > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Tue, 28 Apr 2020 05:49:33 +0300 > Cc: Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org>, > Emacs developers <emacs-devel@gnu.org> > > > Or we could decide that the version information is not really needed > > at all for the purposes of this screen. I don't have a very strong > > opinion here except that I don't think it's ideal to advertise details > > like the cairo version at the very top of the screen (as before). > > Indeed, maybe not. If we are talking about the "About" screen (not the startup screen, as I initially assumed), then I think the version should be there: I'm yet to see a program which did NOT show its version in the About menu item. That's where people will look for it. It might even be the main reason people even look at the About screen. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 7:19 ` Eli Zaretskii @ 2020-04-28 9:49 ` Michael Albinus 2020-04-28 12:32 ` Stefan Kangas 0 siblings, 1 reply; 605+ messages in thread From: Michael Albinus @ 2020-04-28 9:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: jean.christophe.helary, emacs-devel, stefan, Dmitry Gutov Eli Zaretskii <eliz@gnu.org> writes: > If we are talking about the "About" screen (not the startup screen, as > I initially assumed), then I think the version should be there: I'm > yet to see a program which did NOT show its version in the About menu > item. That's where people will look for it. It might even be the > main reason people even look at the About screen. Same here. For testing purposes, I often run several Emacs versions in parallel. "C-h a" is indispensable then. Best regards, Michael. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 9:49 ` Michael Albinus @ 2020-04-28 12:32 ` Stefan Kangas 2020-04-28 13:08 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-28 12:32 UTC (permalink / raw) To: Michael Albinus Cc: Jean-Christophe Helary, Eli Zaretskii, Emacs developers, Dmitry Gutov Michael Albinus <michael.albinus@gmx.de> writes: > Same here. For testing purposes, I often run several Emacs versions in > parallel. "C-h a" is indispensable then. OK, so let's keep the detailed version information on the about screen. It clearly makes sense to have it there. I have not yet seen anyone express the opinion that it's important to keep the detailed version information on the welcome screen. Maybe it's enough to show the major and minor version there. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 12:32 ` Stefan Kangas @ 2020-04-28 13:08 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-28 13:08 UTC (permalink / raw) To: Stefan Kangas, Michael Albinus Cc: Jean-Christophe Helary, Eli Zaretskii, Emacs developers On 28.04.2020 15:32, Stefan Kangas wrote: > I have not yet seen anyone express the opinion that it's important to > keep the detailed version information on the welcome screen. Maybe > it's enough to show the major and minor version there. I agree. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas 2020-04-27 17:58 ` Dmitry Gutov @ 2020-04-27 18:39 ` Eli Zaretskii 2020-04-27 18:48 ` Dmitry Gutov 2020-04-27 18:49 ` Stefan Kangas 2020-04-27 20:02 ` Stefan Monnier ` (2 subsequent siblings) 4 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-27 18:39 UTC (permalink / raw) To: Stefan Kangas; +Cc: jean.christophe.helary, emacs-devel, dgutov > From: Stefan Kangas <stefan@marxist.se> > Date: Mon, 27 Apr 2020 14:30:18 +0200 > Cc: Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org>, > Emacs developers <emacs-devel@gnu.org> > > The attached patch is a quickly hacked together proof of concept, but > could be cleaned up and finalized if it's a direction we want to take. > I've attached a screenshot of the result. Any rationale for losing the links that you excluded? Or how about keeping them, since there seems to be free space left? Thanks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 18:39 ` Eli Zaretskii @ 2020-04-27 18:48 ` Dmitry Gutov 2020-04-27 19:32 ` Eli Zaretskii 2020-04-27 18:49 ` Stefan Kangas 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-27 18:48 UTC (permalink / raw) To: Eli Zaretskii, Stefan Kangas; +Cc: jean.christophe.helary, emacs-devel On 27.04.2020 21:39, Eli Zaretskii wrote: > Any rationale for losing the links that you excluded? Or how about > keeping them, since there seems to be free space left? Could you give an example of an excluded link? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 18:48 ` Dmitry Gutov @ 2020-04-27 19:32 ` Eli Zaretskii 2020-04-27 21:29 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-27 19:32 UTC (permalink / raw) To: Dmitry Gutov; +Cc: jean.christophe.helary, stefan, emacs-devel > Cc: jean.christophe.helary@traduction-libre.org, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Mon, 27 Apr 2020 21:48:37 +0300 > > On 27.04.2020 21:39, Eli Zaretskii wrote: > > Any rationale for losing the links that you excluded? Or how about > > keeping them, since there seems to be free space left? > > Could you give an example of an excluded link? "Open a File", "Open Home Directory", "Customize Startup". And if there are auto-save files, we currently show a hint to type "M-x recover-session RET". Is that also gone? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 19:32 ` Eli Zaretskii @ 2020-04-27 21:29 ` Dmitry Gutov 2020-04-28 6:36 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-27 21:29 UTC (permalink / raw) To: Eli Zaretskii; +Cc: jean.christophe.helary, stefan, emacs-devel On 27.04.2020 22:32, Eli Zaretskii wrote: >> Could you give an example of an excluded link? > > "Open a File", "Open Home Directory", "Customize Startup". Two things. First: the first two items duplicate the toolbar items, so they're pretty unnecessary. "Customize Startup" could move somewhere else, but honestly, it also looks out of place, since the only apparent purpose it has is tell the user how to hide the start screen. I think we better make the start screen better (like other editors do), so the users won't hurry to hide it right away. But keep the user option, of course. > And if there are auto-save files, we currently show a hint to type > "M-x recover-session RET". Is that also gone? I don't know, but we could keep it. Second thing: I think Stefan's work is a modification of the "About" buffer. Whereas you are talking about the startup screen. They are close enough to mistake one for another, but still different. For some reason. To Stefan: to display the latter, I run 'HOME=/tmp src/emacs'. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 21:29 ` Dmitry Gutov @ 2020-04-28 6:36 ` Eli Zaretskii 2020-04-28 7:59 ` Stefan Kangas 2020-04-28 13:20 ` Dmitry Gutov 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-28 6:36 UTC (permalink / raw) To: Dmitry Gutov; +Cc: jean.christophe.helary, stefan, emacs-devel > Cc: stefan@marxist.se, jean.christophe.helary@traduction-libre.org, > emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Tue, 28 Apr 2020 00:29:17 +0300 > > > "Open a File", "Open Home Directory", "Customize Startup". > > Two things. > > First: the first two items duplicate the toolbar items, so they're > pretty unnecessary. Some of the links Stefan did keep are also such duplicates. Any reason for treating them differently? > I think we better make the start screen better (like other editors do), > so the users won't hurry to hide it right away. But keep the user > option, of course. > > > And if there are auto-save files, we currently show a hint to type > > "M-x recover-session RET". Is that also gone? > > I don't know, but we could keep it. > > Second thing: I think Stefan's work is a modification of the "About" > buffer. Whereas you are talking about the startup screen. They are close > enough to mistake one for another, but still different. For some reason. The Subject says "welcome screen", and you yourself use "startup screen". So I thought this is what we were talking about. If you ask me, the About display is much less important than the startup/welcome/splash screen. I very much doubt newbies look at the About display; they almost always look at the startup screen at least once. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 6:36 ` Eli Zaretskii @ 2020-04-28 7:59 ` Stefan Kangas 2020-04-28 13:20 ` Dmitry Gutov 1 sibling, 0 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-28 7:59 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Jean-Christophe Helary, Emacs developers, Dmitry Gutov Eli Zaretskii <eliz@gnu.org> writes: > > Second thing: I think Stefan's work is a modification of the "About" > > buffer. Whereas you are talking about the startup screen. They are close > > enough to mistake one for another, but still different. For some reason. > > The Subject says "welcome screen", and you yourself use "startup > screen". So I thought this is what we were talking about. My intention was to modify the welcome screen, yes. I ended up modifying the about screen (display-about-screen) only because I mistakenly believed they were the same. (They are very similar, to be sure. But there are some differences.) Please consider my draft as a suggestion for a new welcome screen (display-startup-screen). Once we have a better understanding of what should be done there, I'll be happy to suggest similar improvements to the about screen. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 6:36 ` Eli Zaretskii 2020-04-28 7:59 ` Stefan Kangas @ 2020-04-28 13:20 ` Dmitry Gutov 2020-04-28 18:28 ` chad 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-28 13:20 UTC (permalink / raw) To: Eli Zaretskii; +Cc: jean.christophe.helary, stefan, emacs-devel On 28.04.2020 09:36, Eli Zaretskii wrote: >> Cc: stefan@marxist.se, jean.christophe.helary@traduction-libre.org, >> emacs-devel@gnu.org >> From: Dmitry Gutov <dgutov@yandex.ru> >> Date: Tue, 28 Apr 2020 00:29:17 +0300 >> >>> "Open a File", "Open Home Directory", "Customize Startup". >> >> Two things. >> >> First: the first two items duplicate the toolbar items, so they're >> pretty unnecessary. > > Some of the links Stefan did keep are also such duplicates. Any > reason for treating them differently? I'm not sure which ones you mean. The rest are _also_ duplicated in the menu bar, but only the two of the removed ones are present on the toolbar. In any case, the justification is that the result looks better. And we can get away with that because these buttons are not essential. > The Subject says "welcome screen", and you yourself use "startup > screen". So I thought this is what we were talking about. That's what we should be talking about, yes. > If you ask me, the About display is much less important than the > startup/welcome/splash screen. I very much doubt newbies look at the > About display; they almost always look at the startup screen at least > once. Agreed. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 13:20 ` Dmitry Gutov @ 2020-04-28 18:28 ` chad 2020-04-28 23:14 ` Dmitry Gutov 2020-04-29 3:28 ` Richard Stallman 0 siblings, 2 replies; 605+ messages in thread From: chad @ 2020-04-28 18:28 UTC (permalink / raw) To: Dmitry Gutov Cc: Jean-Christophe Helary, Eli Zaretskii, stefan, EMACS development team [-- Attachment #1: Type: text/plain, Size: 1987 bytes --] I would suggest interested parties take a look at the "dashboard" package for emacs; it seems to be quite popular amongst those "starter kits" that were discussed earlier, and has iterated around the sort of features we're talking about here. To be clear, I'm not suggesting that we just integrate it wholesale, although if people are interested, I'd be willing to try to ask the author(s) about doing so. More details can be found here: https://github.com/emacs-dashboard/emacs-dashboard If anyone would like, I would be willing to send them a copy of the information from that page, so they can avoid the github burden; just let me know. ~Chad On Tue, Apr 28, 2020 at 6:22 AM Dmitry Gutov <dgutov@yandex.ru> wrote: > On 28.04.2020 09:36, Eli Zaretskii wrote: > >> Cc: stefan@marxist.se, jean.christophe.helary@traduction-libre.org, > >> emacs-devel@gnu.org > >> From: Dmitry Gutov <dgutov@yandex.ru> > >> Date: Tue, 28 Apr 2020 00:29:17 +0300 > >> > >>> "Open a File", "Open Home Directory", "Customize Startup". > >> > >> Two things. > >> > >> First: the first two items duplicate the toolbar items, so they're > >> pretty unnecessary. > > > > Some of the links Stefan did keep are also such duplicates. Any > > reason for treating them differently? > > I'm not sure which ones you mean. The rest are _also_ duplicated in the > menu bar, but only the two of the removed ones are present on the toolbar. > > In any case, the justification is that the result looks better. And we > can get away with that because these buttons are not essential. > > > The Subject says "welcome screen", and you yourself use "startup > > screen". So I thought this is what we were talking about. > > That's what we should be talking about, yes. > > > If you ask me, the About display is much less important than the > > startup/welcome/splash screen. I very much doubt newbies look at the > > About display; they almost always look at the startup screen at least > > once. > > Agreed. > > [-- Attachment #2: Type: text/html, Size: 3009 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 18:28 ` chad @ 2020-04-28 23:14 ` Dmitry Gutov 2020-04-29 3:28 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-28 23:14 UTC (permalink / raw) To: chad; +Cc: Jean-Christophe Helary, Eli Zaretskii, stefan, EMACS development team On 28.04.2020 21:28, chad wrote: > I would suggest interested parties take a look at the "dashboard" > package for emacs; it seems to be quite popular amongst those "starter > kits" that were discussed earlier, and has iterated around the sort of > features we're talking about here. To be clear, I'm not suggesting that > we just integrate it wholesale, although if people are interested, I'd > be willing to try to ask the author(s) about doing so. More details can > be found here: > > https://github.com/emacs-dashboard/emacs-dashboard Looks good, but it's a dashboard for day-to-day use (showing recent files, projects, maybe bookmarks, org agenda...), and we're currently discussing the start screen for the first time user. After we're happy with it, we can talk about whether to modify it to show extra items, or to show an altogether different dashboard later (probably inspired by the above project). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 18:28 ` chad 2020-04-28 23:14 ` Dmitry Gutov @ 2020-04-29 3:28 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-29 3:28 UTC (permalink / raw) To: chad; +Cc: jean.christophe.helary, eliz, emacs-devel, stefan, dgutov [[[ 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 suggest interested parties take a look at the "dashboard" package > for emacs; Would someone who studies it please give me a summary after? I don't need to know all the details. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 18:39 ` Eli Zaretskii 2020-04-27 18:48 ` Dmitry Gutov @ 2020-04-27 18:49 ` Stefan Kangas 1 sibling, 0 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-27 18:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Jean-Christophe Helary, Dmitry Gutov, Emacs developers Eli Zaretskii <eliz@gnu.org> writes: > Any rationale for losing the links that you excluded? Or how about > keeping them, since there seems to be free space left? Unless I made a mistake somewhere, the links have just been re-arranged: - "Emacs Tutorial" and "Emacs Guided Tour" was renamed to "Tutorial" and "Guided Tour". - "Absence of Warranty" is moved below the dashed line, linked from the text "ABSOLUTELY NO WARRANTY". - "Contributing" was renamed to "Contributing & Bugs". Other than that, I think all links should still be there. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas 2020-04-27 17:58 ` Dmitry Gutov 2020-04-27 18:39 ` Eli Zaretskii @ 2020-04-27 20:02 ` Stefan Monnier 2020-04-27 20:35 ` Juri Linkov 2020-04-28 12:12 ` Nicolas Petton 2020-05-10 19:22 ` Dmitry Gutov 4 siblings, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-04-27 20:02 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers, Dmitry Gutov > + :link ("Contributing & Bugs" I can't remember the official name for such a thing (it's related to "zeugma" which I learned about in the incomparable "dictionnaire superflu à l'usage de l'élite et des nantis", which is strongly recommended reading), but you could call it a "type error": you join with `&` two things from different categories. Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 20:02 ` Stefan Monnier @ 2020-04-27 20:35 ` Juri Linkov 0 siblings, 0 replies; 605+ messages in thread From: Juri Linkov @ 2020-04-27 20:35 UTC (permalink / raw) To: Stefan Monnier Cc: Jean-Christophe Helary, Dmitry Gutov, Stefan Kangas, Emacs developers >> + :link ("Contributing & Bugs" > > I can't remember the official name for such a thing (it's related to > "zeugma" which I learned about in the incomparable "dictionnaire superflu > à l'usage de l'élite et des nantis", which is strongly recommended > reading), but you could call it a "type error": you join with `&` > two things from different categories. According to rules of the Writers Guild of America West the word “and” located between writers' names in a writing credit designates that the writers wrote separately and an ampersand (“&”) denotes a writing team: https://www.wga.org/the-guild/about-us/faq#credits4 ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas ` (2 preceding siblings ...) 2020-04-27 20:02 ` Stefan Monnier @ 2020-04-28 12:12 ` Nicolas Petton 2020-04-28 12:34 ` Stefan Kangas 2020-05-10 19:22 ` Dmitry Gutov 4 siblings, 1 reply; 605+ messages in thread From: Nicolas Petton @ 2020-04-28 12:12 UTC (permalink / raw) To: Stefan Kangas, Dmitry Gutov; +Cc: Jean-Christophe Helary, Emacs developers [-- Attachment #1: Type: text/plain, Size: 323 bytes --] Stefan Kangas <stefan@marxist.se> writes: > OK, so here's a proposal for a better welcome screen. The idea was to > get rid of the impenetrable wall of text we have now by simplifying > it. Would it make sense to use the new Emacs logo? You can find it at etc/images/icons/hicolor/scalable/apps/emacs.svg Cheers, Nico [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-28 12:12 ` Nicolas Petton @ 2020-04-28 12:34 ` Stefan Kangas 0 siblings, 0 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-28 12:34 UTC (permalink / raw) To: Nicolas Petton; +Cc: Jean-Christophe Helary, Emacs developers, Dmitry Gutov Nicolas Petton <nico@petton.fr> writes: > Would it make sense to use the new Emacs logo? > You can find it at etc/images/icons/hicolor/scalable/apps/emacs.svg Sure, why not? We could try it to see if it looks better. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas ` (3 preceding siblings ...) 2020-04-28 12:12 ` Nicolas Petton @ 2020-05-10 19:22 ` Dmitry Gutov 2020-05-10 21:26 ` Yuan Fu ` (3 more replies) 4 siblings, 4 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-05-10 19:22 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers Hi Stefan, On 27.04.2020 15:30, Stefan Kangas wrote: > Dmitry Gutov <dgutov@yandex.ru> writes: > >> Maybe some improvements to the welcome screen. > > OK, so here's a proposal for a better welcome screen. The idea was to > get rid of the impenetrable wall of text we have now by simplifying > it. Yesterday, this was posted on Reddit as a concept: https://camo.githubusercontent.com/7f0804a2670362a0623a0ede5338e5bd8655078c/68747470733a2f2f692e726564642e69742f366870626f66343078737834312e706e67 https://www.reddit.com/r/emacs/comments/ggnekq/a_very_minimal_but_elegant_emacs_i_think/ What do you think of the style? It seems that the author has assigned copyright for some art to FSF in the past, so we could ask for an assignment for Emacs. And then base our screen on this, adjusting the actual information shown to best suit our requirements. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-05-10 19:22 ` Dmitry Gutov @ 2020-05-10 21:26 ` Yuan Fu 2020-05-11 13:24 ` Arthur Miller ` (2 subsequent siblings) 3 siblings, 0 replies; 605+ messages in thread From: Yuan Fu @ 2020-05-10 21:26 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Stefan Kangas, Emacs developers > On May 10, 2020, at 3:22 PM, Dmitry Gutov <dgutov@yandex.ru> wrote: > > Hi Stefan, > > On 27.04.2020 15:30, Stefan Kangas wrote: >> Dmitry Gutov <dgutov@yandex.ru> writes: >>> Maybe some improvements to the welcome screen. >> OK, so here's a proposal for a better welcome screen. The idea was to >> get rid of the impenetrable wall of text we have now by simplifying >> it. > > Yesterday, this was posted on Reddit as a concept: https://camo.githubusercontent.com/7f0804a2670362a0623a0ede5338e5bd8655078c/68747470733a2f2f692e726564642e69742f366870626f66343078737834312e706e67 > > https://www.reddit.com/r/emacs/comments/ggnekq/a_very_minimal_but_elegant_emacs_i_think/ > > What do you think of the style? > > It seems that the author has assigned copyright for some art to FSF in the past, so we could ask for an assignment for Emacs. And then base our screen on this, adjusting the actual information shown to best suit our requirements. > Actual content aside, the style is nice, indeed. Yuan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-05-10 19:22 ` Dmitry Gutov 2020-05-10 21:26 ` Yuan Fu @ 2020-05-11 13:24 ` Arthur Miller 2020-05-11 22:59 ` Stefan Kangas 2020-05-14 5:04 ` Richard Stallman 3 siblings, 0 replies; 605+ messages in thread From: Arthur Miller @ 2020-05-11 13:24 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Stefan Kangas, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > Hi Stefan, > > On 27.04.2020 15:30, Stefan Kangas wrote: >> Dmitry Gutov <dgutov@yandex.ru> writes: >> >>> Maybe some improvements to the welcome screen. >> OK, so here's a proposal for a better welcome screen. The idea was to >> get rid of the impenetrable wall of text we have now by simplifying >> it. > > Yesterday, this was posted on Reddit as a concept: > https://camo.githubusercontent.com/7f0804a2670362a0623a0ede5338e5bd8655078c/68747470733a2f2f692e726564642e69742f366870626f66343078737834312e706e67 > > https://www.reddit.com/r/emacs/comments/ggnekq/a_very_minimal_but_elegant_emacs_i_think/ > > What do you think of the style? > > It seems that the author has assigned copyright for some art to FSF in the past, > so we could ask for an assignment for Emacs. And then base our screen on this, > adjusting the actual information shown to best suit our requirements. It looks nice, but he could have add a link to reference card too (under Quick help maybe). Maybe less text, skipp the info about Lisp for example. But as idea looks nice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-05-10 19:22 ` Dmitry Gutov 2020-05-10 21:26 ` Yuan Fu 2020-05-11 13:24 ` Arthur Miller @ 2020-05-11 22:59 ` Stefan Kangas 2020-05-12 0:03 ` Dmitry Gutov 2020-05-14 5:04 ` Richard Stallman 3 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-05-11 22:59 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > Yesterday, this was posted on Reddit as a concept: > https://camo.githubusercontent.com/7f0804a2670362a0623a0ede5338e5bd8655078c/68747470733a2f2f692e726564642e69742f366870626f66343078737834312e706e67 > > https://www.reddit.com/r/emacs/comments/ggnekq/a_very_minimal_but_elegant_emacs_i_think/ > > What do you think of the style? Thanks for pointing this out. This is very nice indeed. It's a bit of a different direction, but I like some of the main ideas a lot. > It seems that the author has assigned copyright for some art to FSF in > the past, so we could ask for an assignment for Emacs. And then base our > screen on this, adjusting the actual information shown to best suit our > requirements. That's a very good idea. I will contact him in private to see if he wants to sign the papers, or better yet collaborate with us. Best regards, Stefan Kangas PS. He is also using the very nice font "Roboto Mono". Maybe we could consider adding a stronger default font selection, dependent upon `system-type'? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-05-11 22:59 ` Stefan Kangas @ 2020-05-12 0:03 ` Dmitry Gutov 2020-05-12 6:55 ` Colin Baxter 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-05-12 0:03 UTC (permalink / raw) To: Stefan Kangas; +Cc: Jean-Christophe Helary, Emacs developers On 12.05.2020 01:59, Stefan Kangas wrote: > Dmitry Gutov <dgutov@yandex.ru> writes: > >> Yesterday, this was posted on Reddit as a concept: >> https://camo.githubusercontent.com/7f0804a2670362a0623a0ede5338e5bd8655078c/68747470733a2f2f692e726564642e69742f366870626f66343078737834312e706e67 >> >> https://www.reddit.com/r/emacs/comments/ggnekq/a_very_minimal_but_elegant_emacs_i_think/ >> >> What do you think of the style? > > Thanks for pointing this out. > > This is very nice indeed. It's a bit of a different direction, but I > like some of the main ideas a lot. It's a lot different indeed, but maybe a combination could work. Your version improved usability while keeping (or even improving) information density. This new one is pretty, but with lower density, and much too long for the startup screen. >> It seems that the author has assigned copyright for some art to FSF in >> the past, so we could ask for an assignment for Emacs. And then base our >> screen on this, adjusting the actual information shown to best suit our >> requirements. > > That's a very good idea. I will contact him in private to see if he > wants to sign the papers, or better yet collaborate with us. Thank you. > Best regards, > Stefan Kangas > > PS. He is also using the very nice font "Roboto Mono". Maybe we could > consider adding a stronger default font selection, dependent upon > `system-type'? Why not. I don't have that font installed, though, and it's still a beauty with "Ubuntu Mono". Just some positioning is a little bit off (the first page ends a tiny bit earlier than expected). Either way, we should try to make the startup screen work okay with the default system monospace fonts too. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-05-12 0:03 ` Dmitry Gutov @ 2020-05-12 6:55 ` Colin Baxter 0 siblings, 0 replies; 605+ messages in thread From: Colin Baxter @ 2020-05-12 6:55 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Jean-Christophe Helary, Stefan Kangas, Emacs developers Sorry to be a party pooper, but the build information is missing. For me, that's a defect. Best wishes, Colin. -- Colin Baxter URL: http://www.Colin-Baxter.com ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improved welcome screen 2020-05-10 19:22 ` Dmitry Gutov ` (2 preceding siblings ...) 2020-05-11 22:59 ` Stefan Kangas @ 2020-05-14 5:04 ` Richard Stallman 3 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-05-14 5:04 UTC (permalink / raw) To: Dmitry Gutov; +Cc: jean.christophe.helary, stefan, 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. ]]] > Yesterday, this was posted on Reddit as a concept: > https://camo.githubusercontent.com/7f0804a2670362a0623a0ede5338e5bd8655078c/68747470733a2f2f692e726564642e69742f366870626f66343078737834312e706e67 It looks basically good to me, but there are a few important detail issues. It needsto link to the non-warranty statement and the copying conditions. We want everyone to see that they are there. It must not link to Stack Exchange, because we know it will give advice to use nonfree software. Also, Stack Exchange pages contain nonfree Javascript. I don't know what they use it for -- I was able to browse questions and answers with LibreJS -- but they must use it for something. Perhaps it is necessary to ask a question, or to enter an answer. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 12:59 ` Dmitry Gutov 2020-04-19 22:53 ` Po Lu @ 2020-04-20 2:19 ` Richard Stallman 2020-04-20 3:07 ` Dmitry Gutov 2020-04-20 4:48 ` Po Lu 1 sibling, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-20 2:19 UTC (permalink / raw) To: Dmitry Gutov Cc: me, joseph.h.garvin, stefan, emacs-devel, luangruo, eliz, drew.adams, ndame [[[ 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. ]]] > > Perhaps we could focus on adding missing features to Emacs' display > > engine (such as the aformentioned fancy graphics, and also some other > > important features that RMS has mentioned, such as variable-pitch > > indentation). > I'm pretty sure neither "fancy graphics" inside file buffers, nor > variable-pitch indentation are the reason for VS Code's popularity. That statement may be correct, but you've changed the topic. You're talking specifically about VS Code, which is a "source code editor". What I had in mind, regarding variable-pitch text, was word processing. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 2:19 ` "Why is emacs so square?" Richard Stallman @ 2020-04-20 3:07 ` Dmitry Gutov 2020-04-20 5:07 ` Bob Newell 2020-04-21 1:51 ` Richard Stallman 2020-04-20 4:48 ` Po Lu 1 sibling, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-20 3:07 UTC (permalink / raw) To: rms Cc: me, joseph.h.garvin, stefan, emacs-devel, luangruo, eliz, drew.adams, ndame On 20.04.2020 05:19, 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. ]]] > > > > Perhaps we could focus on adding missing features to Emacs' display > > > engine (such as the aformentioned fancy graphics, and also some other > > > important features that RMS has mentioned, such as variable-pitch > > > indentation). > > > I'm pretty sure neither "fancy graphics" inside file buffers, nor > > variable-pitch indentation are the reason for VS Code's popularity. > > That statement may be correct, but you've changed the topic. Did I? > You're talking specifically about VS Code, which is a "source code > editor". What I had in mind, regarding variable-pitch text, was word > processing. The topic was Emacs's popularity, AFAICT. It's already a good source code editor, and yet its share among programmers is < 5%. As a word processor, it's a lot less capable, and adding the two features you mentioned above won't bring us much closer to that goal, compared to established options. And there are existing Free programs that do this better already (like LibreOffice Writer). We certainly should enable all kinds of uses, but given the limited resources, I think we should play to our strengths first. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 3:07 ` Dmitry Gutov @ 2020-04-20 5:07 ` Bob Newell 2020-04-20 13:49 ` Dmitry Gutov 2020-05-15 19:27 ` Steinar Bang 2020-04-21 1:51 ` Richard Stallman 1 sibling, 2 replies; 605+ messages in thread From: Bob Newell @ 2020-04-20 5:07 UTC (permalink / raw) To: Emacs developers > It's already a good source code editor, and yet its share among > programmers is < 5%. Interesting fact, I didn't know this and had assumed it was quite a bit higher. > As a word processor, it's a lot less capable ... And there are existing Free programs > that do this better already (like LibreOffice Writer). You are right, there is LibreOffice, and I don't need Emacs to be another WYSIWYG word processor. But that said, it's already a terrific text processor, especially with org-mode. I've written 8 novels in English, 1 in French, and countless short stories with Emacs. I couldn't conceive of a more productive writing tool, and in the writing community I know of many others who feel the same way. The AucTeX interface to LaTeX makes publishing feasible, too, although I admit that's yet another learning curve to traverse. -- Bob Newell Honolulu, Hawai`i Via Linux/Emacs/Gnus/BBDB. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 5:07 ` Bob Newell @ 2020-04-20 13:49 ` Dmitry Gutov 2020-05-15 19:27 ` Steinar Bang 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-20 13:49 UTC (permalink / raw) To: Bob Newell, Emacs developers On 20.04.2020 08:07, Bob Newell wrote: >> As a word processor, it's a lot less capable ... And there are existing Free programs >> that do this better already (like LibreOffice Writer). > > You are right, there is LibreOffice, and I don't need Emacs to be > another WYSIWYG word processor. I mean, new, optional, WYSIWYG modes wouldn't hurt, but they're unlikely to move the needle either. > But that said, it's already a terrific text processor, especially with > org-mode. I've written 8 novels in English, 1 in French, and countless > short stories with Emacs. I couldn't conceive of a more productive > writing tool, and in the writing community I know of many others who > feel the same way. Sure. And I've heard similar reports myself. But that's a more "specialized" kind of word processor. I don't know of better words to distinguish between the two. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 5:07 ` Bob Newell 2020-04-20 13:49 ` Dmitry Gutov @ 2020-05-15 19:27 ` Steinar Bang 2020-06-04 3:26 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Steinar Bang @ 2020-05-15 19:27 UTC (permalink / raw) To: emacs-devel >>>>> Bob Newell <bobnewell@bobnewell.net>: > But that said, it's already a terrific text processor, especially with > org-mode. I've written 8 novels in English, 1 in French, and countless > short stories with Emacs. I couldn't conceive of a more productive > writing tool, and in the writing community I know of many others who > feel the same way. I haven't written any novels in it, but yeah, org-mode fills my text processing needs as well (as well as being my notebook, time keeper and more). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-05-15 19:27 ` Steinar Bang @ 2020-06-04 3:26 ` Richard Stallman 2020-06-04 9:16 ` Arthur Miller 2020-06-05 21:54 ` Tomas Hlavaty 0 siblings, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-06-04 3:26 UTC (permalink / raw) To: Steinar Bang; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I haven't written any novels in it, but yeah, org-mode fills my text > processing needs as well (as well as being my notebook, time keeper and > more). When I write a pamphlet using Libre Office, I need to see how it will appear on the page. I need to see where line breaks and paragraph breaks appear. I want Emacs to be able to do tect processing that way. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-04 3:26 ` Richard Stallman @ 2020-06-04 9:16 ` Arthur Miller 2020-06-04 21:50 ` Juri Linkov 2020-06-05 3:12 ` "Why is emacs so square?" Richard Stallman 2020-06-05 21:54 ` Tomas Hlavaty 1 sibling, 2 replies; 605+ messages in thread From: Arthur Miller @ 2020-06-04 9:16 UTC (permalink / raw) To: Richard Stallman; +Cc: Steinar Bang, 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 haven't written any novels in it, but yeah, org-mode fills my text > > processing needs as well (as well as being my notebook, time keeper and > > more). > > When I write a pamphlet using Libre Office, I need to see how it > will appear on the page. I need to see where line breaks and paragraph > breaks appear. > > I want Emacs to be able to do tect processing that way. When you say page, you mean a printed page on paper? Can't that be helped with some of live preview options for a pdf or ps or latex format? Auctex maybe? Or maybe some of org -> pdf/ps + DocView? Or couldn't it be possible to define some html+css to model A4 paper size, for example: https://codepen.io/rafaelcastrocouto/pen/LFAes and use some of live preview options for html (eww or browseurl or something else)? Not a wysiwyg directly, but kind-of middle ground? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-04 9:16 ` Arthur Miller @ 2020-06-04 21:50 ` Juri Linkov 2020-06-05 16:37 ` Tomas Hlavaty 2020-06-05 3:12 ` "Why is emacs so square?" Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Juri Linkov @ 2020-06-04 21:50 UTC (permalink / raw) To: Arthur Miller; +Cc: Steinar Bang, Richard Stallman, emacs-devel > Or couldn't it be possible to define some html+css to model A4 paper > size, for example: > > https://codepen.io/rafaelcastrocouto/pen/LFAes > > and use some of live preview options for html (eww or browseurl or > something else)? Not a wysiwyg directly, but kind-of middle ground? Maybe chromium-browser --print-to-pdf=doc.pdf --headless --disable-gpu --run-all-compositor-stages-before-draw --no-margins doc.html or using its wrapper chromehtml2pdf. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-04 21:50 ` Juri Linkov @ 2020-06-05 16:37 ` Tomas Hlavaty 2020-06-06 23:30 ` Juri Linkov 0 siblings, 1 reply; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-05 16:37 UTC (permalink / raw) To: Juri Linkov, Arthur Miller; +Cc: Steinar Bang, Richard Stallman, emacs-devel Juri Linkov <juri@linkov.net> writes: > Maybe chromium-browser --print-to-pdf=doc.pdf --headless --disable-gpu > --run-all-compositor-stages-before-draw --no-margins doc.html > or using its wrapper chromehtml2pdf. there are alternatives which don't require malware: abiword --to=PDF -o a.pdf a.html soffice --headless --convert-to pdf a.html wkhtmltopdf -B 24 -L 24 -R 24 -T 24 a.html a.pdf But none of those produce good documents. As an experiment, I tried to produce the ebooks.pdf document from org-mode, exported to html, opened in firefox, printed to pdf. It gave the best result. It looked almost like the original and was easy to tune in org-mode. I only had to iterate a few times. But still, all these solutions require huge dependencies. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 16:37 ` Tomas Hlavaty @ 2020-06-06 23:30 ` Juri Linkov 2020-06-07 0:33 ` Jean-Christophe Helary ` (5 more replies) 0 siblings, 6 replies; 605+ messages in thread From: Juri Linkov @ 2020-06-06 23:30 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: Steinar Bang, Richard Stallman, Arthur Miller, emacs-devel >> Maybe chromium-browser --print-to-pdf=doc.pdf --headless --disable-gpu >> --run-all-compositor-stages-before-draw --no-margins doc.html >> or using its wrapper chromehtml2pdf. > > there are alternatives which don't require malware: BTW, why browse-url.el still doesn't support the Brave web browser? Brave solved the problem of malware. It's one of the most secure and privacy-respecting web browsers. Unless someone presents a reason not to do this, I'm going to add Brave support to browse-url.el. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 23:30 ` Juri Linkov @ 2020-06-07 0:33 ` Jean-Christophe Helary 2020-06-07 10:16 ` Tomas Hlavaty 2020-06-07 3:53 ` Drew Adams ` (4 subsequent siblings) 5 siblings, 1 reply; 605+ messages in thread From: Jean-Christophe Helary @ 2020-06-07 0:33 UTC (permalink / raw) To: Juri Linkov Cc: Arthur Miller, Steinar Bang, Richard Stallman, Tomas Hlavaty, emacs-devel > On Jun 7, 2020, at 8:30, Juri Linkov <juri@linkov.net> wrote: > >>> Maybe chromium-browser --print-to-pdf=doc.pdf --headless --disable-gpu >>> --run-all-compositor-stages-before-draw --no-margins doc.html >>> or using its wrapper chromehtml2pdf. >> >> there are alternatives which don't require malware: > > BTW, why browse-url.el still doesn't support the Brave web browser? > Brave solved the problem of malware. It's one of the most secure > and privacy-respecting web browsers. Unless someone presents a reason > not to do this, I'm going to add Brave support to browse-url.el. A piece of software that actively promotes cryptocurrency use is a scam. But maybe that's not a valid reason. -- Jean-Christophe Helary @brandelune http://mac4translators.blogspot.com ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 0:33 ` Jean-Christophe Helary @ 2020-06-07 10:16 ` Tomas Hlavaty 0 siblings, 0 replies; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-07 10:16 UTC (permalink / raw) To: Jean-Christophe Helary, Juri Linkov Cc: Steinar Bang, Richard Stallman, Arthur Miller, emacs-devel Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> writes: >> On Jun 7, 2020, at 8:30, Juri Linkov <juri@linkov.net> wrote: >> >>>> Maybe chromium-browser --print-to-pdf=doc.pdf --headless --disable-gpu >>>> --run-all-compositor-stages-before-draw --no-margins doc.html >>>> or using its wrapper chromehtml2pdf. >>> >>> there are alternatives which don't require malware: >> >> BTW, why browse-url.el still doesn't support the Brave web browser? >> Brave solved the problem of malware. It's one of the most secure >> and privacy-respecting web browsers. Unless someone presents a reason >> not to do this, I'm going to add Brave support to browse-url.el. > > A piece of software that actively promotes cryptocurrency use is a > scam. agree - cryptocurency burns the world - investors behind the brave browser seem questionable for example, today surfaced how the brave browser is hijacking links it seems to be malware with good marketing to fool people ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Why is emacs so square?" 2020-06-06 23:30 ` Juri Linkov 2020-06-07 0:33 ` Jean-Christophe Helary @ 2020-06-07 3:53 ` Drew Adams 2020-06-07 7:51 ` Yuri Khan ` (3 subsequent siblings) 5 siblings, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-06-07 3:53 UTC (permalink / raw) To: Juri Linkov, Tomas Hlavaty Cc: Steinar Bang, Richard Stallman, Arthur Miller, emacs-devel > BTW, why browse-url.el still doesn't support the Brave web browser? > Brave solved the problem of malware. It's one of the most secure > and privacy-respecting web browsers. Unless someone presents a reason > not to do this, I'm going to add Brave support to browse-url.el. +1 for Brave browser. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 23:30 ` Juri Linkov 2020-06-07 0:33 ` Jean-Christophe Helary 2020-06-07 3:53 ` Drew Adams @ 2020-06-07 7:51 ` Yuri Khan 2020-06-07 9:10 ` Yuri Khan 2020-06-08 3:31 ` Richard Stallman 2020-06-07 11:59 ` Dmitry Gutov ` (2 subsequent siblings) 5 siblings, 2 replies; 605+ messages in thread From: Yuri Khan @ 2020-06-07 7:51 UTC (permalink / raw) To: Juri Linkov Cc: Arthur Miller, Steinar Bang, Richard Stallman, Tomas Hlavaty, Emacs developers On Sun, 7 Jun 2020 at 06:55, Juri Linkov <juri@linkov.net> wrote: > BTW, why browse-url.el still doesn't support the Brave web browser? > Brave solved the problem of malware. It's one of the most secure > and privacy-respecting web browsers. Unless someone presents a reason > not to do this, I'm going to add Brave support to browse-url.el. But it’s not free software. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 7:51 ` Yuri Khan @ 2020-06-07 9:10 ` Yuri Khan 2020-06-08 3:31 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Yuri Khan @ 2020-06-07 9:10 UTC (permalink / raw) To: Juri Linkov Cc: Arthur Miller, Steinar Bang, Richard Stallman, Tomas Hlavaty, Emacs developers On Sun, 7 Jun 2020 at 14:51, Yuri Khan <yuri.v.khan@gmail.com> wrote: > > On Sun, 7 Jun 2020 at 06:55, Juri Linkov <juri@linkov.net> wrote: > > > BTW, why browse-url.el still doesn't support the Brave web browser? > > Brave solved the problem of malware. It's one of the most secure > > and privacy-respecting web browsers. Unless someone presents a reason > > not to do this, I'm going to add Brave support to browse-url.el. > > But it’s not free software. Or is it, huh.[^1] For some reason, the FAQ on the main site[^2] has the question “Is Brave free?”, and the answer only talks about free-as-in-beer. To find out about the free-as-in-freedom aspect, you have to notice the Github link in the footer. [^1]: https://github.com/brave/brave-browser/blob/master/LICENSE [^2]: https://brave.com/ ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 7:51 ` Yuri Khan 2020-06-07 9:10 ` Yuri Khan @ 2020-06-08 3:31 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-06-08 3:31 UTC (permalink / raw) To: Yuri Khan; +Cc: emacs-devel, sb, arthur.miller, tom, juri [[[ 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. ]]] ISTR that Brave _is_ free software, but has a malfeature. So we would not want to propose its use. I've been misinformed about this before -- we would want someone to check carefully. Someone could make a modified version without that. Does this exist? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 23:30 ` Juri Linkov ` (2 preceding siblings ...) 2020-06-07 7:51 ` Yuri Khan @ 2020-06-07 11:59 ` Dmitry Gutov 2020-06-07 15:32 ` Drew Adams 2020-06-07 22:31 ` Juri Linkov 2020-06-07 18:19 ` Stefan Monnier 2020-06-10 12:43 ` Tab-bar autoclose question Ergus 5 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-06-07 11:59 UTC (permalink / raw) To: Juri Linkov, Tomas Hlavaty Cc: Steinar Bang, Richard Stallman, Arthur Miller, emacs-devel On 07.06.2020 02:30, Juri Linkov wrote: > BTW, why browse-url.el still doesn't support the Brave web browser? > Brave solved the problem of malware. It's one of the most secure > and privacy-respecting web browsers. Not so sure about that: https://news.ycombinator.com/item?id=23442027 ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Why is emacs so square?" 2020-06-07 11:59 ` Dmitry Gutov @ 2020-06-07 15:32 ` Drew Adams 2020-06-07 22:31 ` Juri Linkov 1 sibling, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-06-07 15:32 UTC (permalink / raw) To: Dmitry Gutov, Juri Linkov, Tomas Hlavaty Cc: Steinar Bang, Richard Stallman, Arthur Miller, emacs-devel > > BTW, why browse-url.el still doesn't support the Brave web browser? > > Brave solved the problem of malware. It's one of the most secure > > and privacy-respecting web browsers. > > Not so sure about that: > > https://urldefense.com/v3/__https://news.ycombinator.com/item?id=23442027__;! > !GqivPVa7Brio!PGyydJ9-LLd8XIznjSJYn6c7uA9nqpwscDwdwqEeZPfto_aWii9FMcJ- > c7L01E0p$ Thanks for that link. Interesting discussion. I'm no expert on these things, but this remark there seems relevant: "Brave ads are opt-in, for people who would like to earn "shitty" cryptocurrency by clicking on them." I opted out, at the outset. Perhaps I'm not aware of some other behind-the-scenes behavior that's problematic. I didn't read all of the page you link to in detail, but my (maybe naive) impression is that if you opt out of ads that pretty much takes care of things. The only technical problem I've encountered with Brave, compared to Google Chrome, is that some dropdown/pulldown lists on some sites don't work. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 11:59 ` Dmitry Gutov 2020-06-07 15:32 ` Drew Adams @ 2020-06-07 22:31 ` Juri Linkov 1 sibling, 0 replies; 605+ messages in thread From: Juri Linkov @ 2020-06-07 22:31 UTC (permalink / raw) To: Dmitry Gutov Cc: Arthur Miller, Steinar Bang, Richard Stallman, Tomas Hlavaty, emacs-devel >> BTW, why browse-url.el still doesn't support the Brave web browser? >> Brave solved the problem of malware. It's one of the most secure >> and privacy-respecting web browsers. > > Not so sure about that: > > https://news.ycombinator.com/item?id=23442027 Oh, I thought it would be a good option. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 23:30 ` Juri Linkov ` (3 preceding siblings ...) 2020-06-07 11:59 ` Dmitry Gutov @ 2020-06-07 18:19 ` Stefan Monnier 2020-06-07 18:26 ` Basil L. Contovounesios 2020-06-07 22:31 ` Juri Linkov 2020-06-10 12:43 ` Tab-bar autoclose question Ergus 5 siblings, 2 replies; 605+ messages in thread From: Stefan Monnier @ 2020-06-07 18:19 UTC (permalink / raw) To: Juri Linkov Cc: Arthur Miller, Steinar Bang, Richard Stallman, Tomas Hlavaty, emacs-devel > BTW, why browse-url.el still doesn't support the Brave web browser? I know nothing about Brave, but I'm wondering instead why it is that browse-url.el would need special support for specific browsers. Can't it just run "the" browser, whichever it is? Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 18:19 ` Stefan Monnier @ 2020-06-07 18:26 ` Basil L. Contovounesios 2020-06-07 22:31 ` Juri Linkov 1 sibling, 0 replies; 605+ messages in thread From: Basil L. Contovounesios @ 2020-06-07 18:26 UTC (permalink / raw) To: Stefan Monnier Cc: Richard Stallman, Steinar Bang, Tomas Hlavaty, emacs-devel, Arthur Miller, Juri Linkov Stefan Monnier <monnier@iro.umontreal.ca> writes: >> BTW, why browse-url.el still doesn't support the Brave web browser? > > I know nothing about Brave, but I'm wondering instead why it is that > browse-url.el would need special support for specific browsers. > Can't it just run "the" browser, whichever it is? Doesn't browse-url-default-browser try to DTRT already? -- Basil ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 18:19 ` Stefan Monnier 2020-06-07 18:26 ` Basil L. Contovounesios @ 2020-06-07 22:31 ` Juri Linkov 2020-06-07 23:24 ` andres.ramirez 2020-06-07 23:24 ` Jean-Christophe Helary 1 sibling, 2 replies; 605+ messages in thread From: Juri Linkov @ 2020-06-07 22:31 UTC (permalink / raw) To: Stefan Monnier Cc: Arthur Miller, Steinar Bang, Richard Stallman, Tomas Hlavaty, emacs-devel >> BTW, why browse-url.el still doesn't support the Brave web browser? > > I know nothing about Brave, but I'm wondering instead why it is that > browse-url.el would need special support for specific browsers. > Can't it just run "the" browser, whichever it is? There is a lot of cruft accumulated in browse-url.el mostly for old browsers with different handling of command line arguments for "new-window-is-tab" logic. But it seems nowadays only three options should be sufficient: - use the default browser found by browse-url-default-browser; - or use Emacs browser eww; - or allow to specify a browser program name with additional arguments. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 22:31 ` Juri Linkov @ 2020-06-07 23:24 ` andres.ramirez 2020-06-07 23:24 ` Jean-Christophe Helary 1 sibling, 0 replies; 605+ messages in thread From: andres.ramirez @ 2020-06-07 23:24 UTC (permalink / raw) To: Juri Linkov Cc: Richard Stallman, Steinar Bang, Tomas Hlavaty, emacs-devel, Stefan Monnier, Arthur Miller Hi Juri. >>>>> "Juri" == Juri Linkov <juri@linkov.net> writes: Juri> nowadays only three options should be sufficient: Juri> - use the default browser found by browse-url-default-browser; Juri> - or use Emacs browser eww; Or use emacs not default browser (w3m). Not default browser. But arguably has more features. Juri> - or allow to specify a browser program name with additional arguments. Best Regards ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 22:31 ` Juri Linkov 2020-06-07 23:24 ` andres.ramirez @ 2020-06-07 23:24 ` Jean-Christophe Helary 1 sibling, 0 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-06-07 23:24 UTC (permalink / raw) To: Juri Linkov Cc: Richard Stallman, Steinar Bang, Tomas Hlavaty, emacs-devel, Stefan Monnier, Arthur Miller > On Jun 8, 2020, at 7:31, Juri Linkov <juri@linkov.net> wrote: > >>> BTW, why browse-url.el still doesn't support the Brave web browser? >> >> I know nothing about Brave, but I'm wondering instead why it is that >> browse-url.el would need special support for specific browsers. >> Can't it just run "the" browser, whichever it is? > > There is a lot of cruft accumulated in browse-url.el mostly for old browsers > with different handling of command line arguments for "new-window-is-tab" logic. > But it seems nowadays only three options should be sufficient: > > - use the default browser found by browse-url-default-browser; > - or use Emacs browser eww; > - or allow to specify a browser program name with additional arguments. That makes sense. -- Jean-Christophe Helary @brandelune http://mac4translators.blogspot.com ^ permalink raw reply [flat|nested] 605+ messages in thread
* Tab-bar autoclose question 2020-06-06 23:30 ` Juri Linkov ` (4 preceding siblings ...) 2020-06-07 18:19 ` Stefan Monnier @ 2020-06-10 12:43 ` Ergus 2020-06-10 21:55 ` Juri Linkov 5 siblings, 1 reply; 605+ messages in thread From: Ergus @ 2020-06-10 12:43 UTC (permalink / raw) To: juri@linkov.net; +Cc: emacs-devel@gnu.org [-- Attachment #1: Type: text/plain, Size: 260 bytes --] Hi Juri: I am wondering if maybe there is a simple method to autohide/autoclose the tabbar in some condition. For example, when I close all the other tabs and there is only one. Is it a straightforward/out_of_the_box method to customize that? Best,Ergus [-- Attachment #2: Type: text/html, Size: 923 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Tab-bar autoclose question 2020-06-10 12:43 ` Tab-bar autoclose question Ergus @ 2020-06-10 21:55 ` Juri Linkov 2020-07-11 9:50 ` Ergus 0 siblings, 1 reply; 605+ messages in thread From: Juri Linkov @ 2020-06-10 21:55 UTC (permalink / raw) To: Ergus; +Cc: emacs-devel@gnu.org > I am wondering if maybe there is a simple method to autohide/autoclose the > tabbar in some condition. For example, when I close all the other tabs and > there is only one. > > Is it a straightforward/out_of_the_box method to customize that? Please try to customize ‘tab-bar-show’ to the value ‘1’ that means to hide the tab-bar when it has only one tab. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Tab-bar autoclose question 2020-06-10 21:55 ` Juri Linkov @ 2020-07-11 9:50 ` Ergus 2020-07-12 0:08 ` Juri Linkov 0 siblings, 1 reply; 605+ messages in thread From: Ergus @ 2020-07-11 9:50 UTC (permalink / raw) To: Juri Linkov; +Cc: emacs-devel@gnu.org On Thu, Jun 11, 2020 at 12:55:13AM +0300, Juri Linkov wrote: >> I am wondering if maybe there is a simple method to autohide/autoclose the >> tabbar in some condition. For example, when I close all the other tabs and >> there is only one. >> >> Is it a straightforward/out_of_the_box method to customize that? > >Please try to customize ‘tab-bar-show’ to the value ‘1’ >that means to hide the tab-bar when it has only one tab. > Hi Juri: I tried this and it works pretty fine auto hiding the tab-bar. But I have an issue. when I add this to my init file: (setq-default tab-bar-show 1) then, if I open a tab with `C-x t 2` it shows the tab-bar and the new tab, but I don't get bindings like `C-TAB`; but I get the `C-x t o` After some checks I see that the problem is that in spite of I see the tabs, the variable tab-bar-mode is still nil. Any help? Thanks in advance, Ergus. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Tab-bar autoclose question 2020-07-11 9:50 ` Ergus @ 2020-07-12 0:08 ` Juri Linkov 0 siblings, 0 replies; 605+ messages in thread From: Juri Linkov @ 2020-07-12 0:08 UTC (permalink / raw) To: Ergus; +Cc: emacs-devel@gnu.org >>> I am wondering if maybe there is a simple method to autohide/autoclose the >>> tabbar in some condition. For example, when I close all the other tabs and >>> there is only one. >>> >>> Is it a straightforward/out_of_the_box method to customize that? >> >> Please try to customize ‘tab-bar-show’ to the value ‘1’ >> that means to hide the tab-bar when it has only one tab. > > I tried this and it works pretty fine auto hiding the tab-bar. But I > have an issue. > > when I add this to my init file: > > (setq-default tab-bar-show 1) > > then, if I open a tab with `C-x t 2` it shows the tab-bar and the new > tab, but I don't get bindings like `C-TAB`; but I get the `C-x t o` > > After some checks I see that the problem is that in spite of I see the > tabs, the variable tab-bar-mode is still nil. > > Any help? This feature is currently under active development in https://debbugs.gnu.org/42052 Please help to work out the details. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-04 9:16 ` Arthur Miller 2020-06-04 21:50 ` Juri Linkov @ 2020-06-05 3:12 ` Richard Stallman 2020-06-05 10:48 ` Marcin Borkowski ` (2 more replies) 1 sibling, 3 replies; 605+ messages in thread From: Richard Stallman @ 2020-06-05 3:12 UTC (permalink / raw) To: Arthur Miller; +Cc: sb, 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. ]]] > > When I write a pamphlet using Libre Office, I need to see how it > > will appear on the page. I need to see where line breaks and paragraph > > breaks appear. > > > > I want Emacs to be able to do tect processing that way. > When you say page, you mean a printed page on paper? Of course. A pamphlet is for handing out. > Can't that be helped with some of live preview options for a pdf or ps > or latex format? Auctex maybe? Or maybe some of org -> pdf/ps + DocView? It would probably take half a minute each time. I am sure you understand the advantage of WYSIWYG. Especially when the text needs to fit in a limited space. This is not an issue for longer documents, since it doesn't crucially matter where the page breaks are in those. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 3:12 ` "Why is emacs so square?" Richard Stallman @ 2020-06-05 10:48 ` Marcin Borkowski 2020-06-06 3:57 ` Richard Stallman 2020-06-05 13:01 ` Arthur Miller 2020-06-05 15:27 ` Bob Newell 2 siblings, 1 reply; 605+ messages in thread From: Marcin Borkowski @ 2020-06-05 10:48 UTC (permalink / raw) To: rms; +Cc: sb, Arthur Miller, emacs-devel On 2020-06-05, at 05:12, Richard Stallman <rms@gnu.org> wrote: > > Can't that be helped with some of live preview options for a pdf or ps > > or latex format? Auctex maybe? Or maybe some of org -> pdf/ps + DocView? > > It would probably take half a minute each time. I am sure you > understand the advantage of WYSIWYG. Especially when the text needs > to fit in a limited space. I think you made a typo here, it should have been "half a second" probably. Best, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 10:48 ` Marcin Borkowski @ 2020-06-06 3:57 ` Richard Stallman 2020-06-06 13:44 ` Arthur Miller 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-06-06 3:57 UTC (permalink / raw) To: Marcin Borkowski; +Cc: sb, arthur.miller, 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. ]]] > > > Can't that be helped with some of live preview options for a pdf or ps > > > or latex format? Auctex maybe? Or maybe some of org -> pdf/ps + DocView? > > > > It would probably take half a minute each time. > I think you made a typo here, it should have been "half a second" > probably. That would be an amazing typo. I expect starting these various programs to take a long time. But if it doesn't, they might be adequate. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 3:57 ` Richard Stallman @ 2020-06-06 13:44 ` Arthur Miller 2020-06-07 3:37 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-06-06 13:44 UTC (permalink / raw) To: Richard Stallman; +Cc: sb, 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. ]]] > > > > > Can't that be helped with some of live preview options for a pdf or ps > > > > or latex format? Auctex maybe? Or maybe some of org -> pdf/ps + DocView? > > > > > > It would probably take half a minute each time. > > > I think you made a typo here, it should have been "half a second" > > probably. > > That would be an amazing typo. I expect starting these various > programs to take a long time. But if it doesn't, they might > be adequate. I don't know what kind of computer you use, of course, but if you ment the startup time for a browser, then maybe it is a half second or so, but does it matter? It happends once, when one start to work on a pamflet. LibreOffice takes also a half a second if not more to startup every time and I have quite decent machine. If you start a Chromium process, and then connect from within Emacs with impatient-mode, I don't think you would suffer from lack of real time performance; not for something like a pamflet. Another option is to use some webkit wrap + xwidgets, but I haven't tryed it myself. No idea how easy to use or good it is, but for preview it should probably be good enough. I have seen some Reddit threads and YT videos where people demonstrated it, but I didn't care to try myself. Here is some 4 year old video where a guy is demonstrating xwidgets and webkit to render html in gnus: https://www.youtube.com/watch?v=J2YdjpWJJHs (download with youtube-dl to skip proprietary js) Very nice presentation by the way. With HTML+CSS as intermediate file format, one can have some predefined templates with a pamflet size, layout, typografi etc, and then just edit content of few html tags. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 13:44 ` Arthur Miller @ 2020-06-07 3:37 ` Richard Stallman 2020-06-07 14:52 ` Arthur Miller 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-06-07 3:37 UTC (permalink / raw) To: Arthur Miller; +Cc: sb, 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 process that was suggested for viewing the page image involved running several programs each time. A few seconds to start each and it could take half a minute. I use a machine that was made in 2008 or so. I use it because we can boot it with libreboot. I cannot predict when there might be a faster machine I could use. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 3:37 ` Richard Stallman @ 2020-06-07 14:52 ` Arthur Miller 0 siblings, 0 replies; 605+ messages in thread From: Arthur Miller @ 2020-06-07 14:52 UTC (permalink / raw) To: Richard Stallman; +Cc: sb, 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. ]]] > > The process that was suggested for viewing the page image > involved running several programs each time. A few seconds to start each > and it could take half a minute. > > I use a machine that was made in 2008 or so. I use it because we can > boot it with libreboot. I cannot predict when there might be a faster > machine I could use. I understand. Have you heard about company called Purism and librem project? https://puri.sm/why-purism/ I am not sure if it is suitable enough, but they do run only free software, from boot (coreboot) to highest level; at least as I understand them. Also I believe they went to the length of ordering Intel cpus with intel's "management" backdoor disabled. Just as a tip. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 3:12 ` "Why is emacs so square?" Richard Stallman 2020-06-05 10:48 ` Marcin Borkowski @ 2020-06-05 13:01 ` Arthur Miller 2020-06-05 14:00 ` Eli Zaretskii 2020-06-06 3:56 ` Richard Stallman 2020-06-05 15:27 ` Bob Newell 2 siblings, 2 replies; 605+ messages in thread From: Arthur Miller @ 2020-06-05 13:01 UTC (permalink / raw) To: Richard Stallman; +Cc: sb, 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. ]]] > > > > When I write a pamphlet using Libre Office, I need to see how it > > > will appear on the page. I need to see where line breaks and paragraph > > > breaks appear. > > > > > > I want Emacs to be able to do tect processing that way. > > When you say page, you mean a printed page on paper? > > Of course. A pamphlet is for handing out. > > > Can't that be helped with some of live preview options for a pdf or ps > > or latex format? Auctex maybe? Or maybe some of org -> pdf/ps + DocView? > > It would probably take half a minute each time. I am sure you > understand the advantage of WYSIWYG. Especially when the text needs > to fit in a limited space. I understand that wysiwyg is easier and I understand your concern for delays. I believe those delays would not be noticable for a pamphlet (A4/A5 size?) if you used html as intermediate format. Anyway what about if emacs had a print-page-mode as a minor mode for displaying some printing hints in text modes? I am not sure if I can write such, but here is idea: * provide a database of predefined paper sizes as specified on: https://www.papersizes.org/a-sizes-in-pixels.htm to be used as templates for width and height (in pixels) * advice insert funcion(s) to check for current line pixel-width and pixel-height. If width or height exceed template width and height then insert ^L to denote page break and move point to next line and insert text in next line. If width is exceeded maybe it is just enough to move point to next line, but when height for a page is exceeded one would need a special char to visualize page break. As I understand Emacs already has some support for page breaks (^L) as I learned myself very recently :-). There is extended page handling in Emacs and also a mode called PageMode: https://www.emacswiki.org/emacs/PageMode I am not sure, but what I think is missing is just to tie those things to paper sizes and automize page creation based on some paper template which is nothing but a pixel-width and pixel-height. I am not sure, I haven't used PageMode myself, I just learned about it. I am not sure how efficient it would be to check for pixel-width and height on every char insertion, maybe there is some better way? It would be nice if Emacs could draw a thin line to denote edges, or a rectangle of page size below the text as word processors do, but that would ask for some c and exposing of some graphics (XDrawRect & co) to elisp? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 13:01 ` Arthur Miller @ 2020-06-05 14:00 ` Eli Zaretskii 2020-06-05 14:57 ` Arthur Miller 2020-06-06 3:56 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-05 14:00 UTC (permalink / raw) To: Arthur Miller; +Cc: sb, rms, emacs-devel > From: Arthur Miller <arthur.miller@live.com> > Date: Fri, 05 Jun 2020 15:01:13 +0200 > Cc: sb@dod.no, emacs-devel@gnu.org > > Anyway what about if emacs had a print-page-mode as a minor mode for > displaying some printing hints in text modes? I am not sure if I can > write such, but here is idea: > > * provide a database of predefined paper sizes as specified on: > https://www.papersizes.org/a-sizes-in-pixels.htm > to be used as templates for width and height (in pixels) > > * advice insert funcion(s) to check for current line pixel-width and > pixel-height. If width or height exceed template width and height then > insert ^L to denote page break and move point to next line and insert > text in next line. If width is exceeded maybe it is just enough to > move point to next line, but when height for a page is exceeded one > would need a special char to visualize page break. > > As I understand Emacs already has some support for page breaks (^L) as I > learned myself very recently :-). There is extended page handling in > Emacs and also a mode called PageMode: > > https://www.emacswiki.org/emacs/PageMode > > I am not sure, but what I think is missing is just to tie those things > to paper sizes and automize page creation based on some paper template > which is nothing but a pixel-width and pixel-height. I am not sure, I > haven't used PageMode myself, I just learned about it. > > I am not sure how efficient it would be to check for pixel-width and height > on every char insertion, maybe there is some better way? All of this is already available, although not all of it is exposed to Lisp. Taking advantage of existing pixel-level capabilities is part of the job of providing the features that Richard has in mind. > It would be nice if Emacs could draw a thin line to denote edges, or a > rectangle of page size below the text as word processors do We already can display such thin lines, see, for example, help-fns.el (search for ":height"). No X-level graphics is needed. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 14:00 ` Eli Zaretskii @ 2020-06-05 14:57 ` Arthur Miller 2020-06-05 15:10 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-06-05 14:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: sb, rms, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Arthur Miller <arthur.miller@live.com> >> Date: Fri, 05 Jun 2020 15:01:13 +0200 >> Cc: sb@dod.no, emacs-devel@gnu.org >> >> Anyway what about if emacs had a print-page-mode as a minor mode for >> displaying some printing hints in text modes? I am not sure if I can >> write such, but here is idea: >> >> * provide a database of predefined paper sizes as specified on: >> https://www.papersizes.org/a-sizes-in-pixels.htm >> to be used as templates for width and height (in pixels) >> >> * advice insert funcion(s) to check for current line pixel-width and >> pixel-height. If width or height exceed template width and height then >> insert ^L to denote page break and move point to next line and insert >> text in next line. If width is exceeded maybe it is just enough to >> move point to next line, but when height for a page is exceeded one >> would need a special char to visualize page break. >> >> As I understand Emacs already has some support for page breaks (^L) as I >> learned myself very recently :-). There is extended page handling in >> Emacs and also a mode called PageMode: >> >> https://www.emacswiki.org/emacs/PageMode >> >> I am not sure, but what I think is missing is just to tie those things >> to paper sizes and automize page creation based on some paper template >> which is nothing but a pixel-width and pixel-height. I am not sure, I >> haven't used PageMode myself, I just learned about it. >> >> I am not sure how efficient it would be to check for pixel-width and height >> on every char insertion, maybe there is some better way? > > All of this is already available, although not all of it is exposed to > Lisp. Taking advantage of existing pixel-level capabilities is part > of the job of providing the features that Richard has in mind. When you say all of this, and not exposed to lisp, what exactly do you mean? :-) Is it possible to get a pixel offset from a point with elisp? Height, width, or whatever that could be used to calculate if current buffer region fits iin a page or not? (defvar ppi-72 '((4A0 . (4768 . 6741)) (2A0 . (3370 . 4768)) (A0 . (2384 . 3370)) (A1 . (1684 . 2384)) (A2 . (1191 . 1684)) (A3 . (842 . 1191)) (A4 . (595 . 842 )) (A5 . (420 . 595 )) (A6 . (298 . 420 )) (A7 . (210 . 298 )) (A8 . (147 . 210 )) (A9 . (105 . 147 )) (A10 . (74 . 105 )))) If I have a database of sizes like this, I would need to know a size in pixel of a buffer region between some min and max points. That could be used to either defadvice insert or to calculate and restructure text afterwards. Maybe it is to naive, no idea, just thinking. Also I am not sure how resolution/ppi relate to emacs buffers to be honest. >> It would be nice if Emacs could draw a thin line to denote edges, or a >> rectangle of page size below the text as word processors do > > We already can display such thin lines, see, for example, help-fns.el > (search for ":height"). No X-level graphics is needed. As composed of characters or as overlays with underline/overstruck or similar? What about a rectangle in some color as a background to symbolize a page. I understand it is not needed, but it would be nice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 14:57 ` Arthur Miller @ 2020-06-05 15:10 ` Eli Zaretskii 2020-06-05 16:15 ` Tomas Hlavaty 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-05 15:10 UTC (permalink / raw) To: Arthur Miller; +Cc: sb, rms, emacs-devel > From: Arthur Miller <arthur.miller@live.com> > Cc: rms@gnu.org, sb@dod.no, emacs-devel@gnu.org > Date: Fri, 05 Jun 2020 16:57:32 +0200 > > > All of this is already available, although not all of it is exposed to > > Lisp. Taking advantage of existing pixel-level capabilities is part > > of the job of providing the features that Richard has in mind. > When you say all of this, and not exposed to lisp, what exactly do you > mean? :-) Is it possible to get a pixel offset from a point with elisp? > Height, width, or whatever that could be used to calculate if current > buffer region fits iin a page or not? See window-text-pixel-size as one example of what we have. The underlying functionality is even more powerful. > >> It would be nice if Emacs could draw a thin line to denote edges, or a > >> rectangle of page size below the text as word processors do > > > > We already can display such thin lines, see, for example, help-fns.el > > (search for ":height"). No X-level graphics is needed. > As composed of characters or as overlays with underline/overstruck or > similar? Just look at the code, it is self-explanatory, IMO. > What about a rectangle in some color as a background to symbolize a > page. You will see in the code I pointed to that we actually already produce a rectangle, just a very thin one. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 15:10 ` Eli Zaretskii @ 2020-06-05 16:15 ` Tomas Hlavaty 2020-06-05 17:32 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-05 16:15 UTC (permalink / raw) To: Eli Zaretskii, Arthur Miller; +Cc: sb, rms, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > See window-text-pixel-size as one example of what we have. The > underlying functionality is even more powerful. (window-text-pixel-size) returns nonsense in console. >> > We already can display such thin lines, see, for example, help-fns.el >> > (search for ":height"). No X-level graphics is needed. X graphics is seems to be needed. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 16:15 ` Tomas Hlavaty @ 2020-06-05 17:32 ` Eli Zaretskii 2020-06-06 12:49 ` Tomas Hlavaty 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-05 17:32 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: sb, rms, arthur.miller, emacs-devel > From: Tomas Hlavaty <tom@logand.com> > Cc: sb@dod.no, rms@gnu.org, emacs-devel@gnu.org > Date: Fri, 05 Jun 2020 18:15:50 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > See window-text-pixel-size as one example of what we have. The > > underlying functionality is even more powerful. > > (window-text-pixel-size) returns nonsense in console. It does? Can you show an example? Or, better yet, make a bug report about the problematic case(s)? > >> > We already can display such thin lines, see, for example, help-fns.el > >> > (search for ":height"). No X-level graphics is needed. > > X graphics is seems to be needed. You need a GUI frame (not necessarily on X), but that's all. There's no need to expose Xlib calls to Lisp, which was what the original question was about. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 17:32 ` Eli Zaretskii @ 2020-06-06 12:49 ` Tomas Hlavaty 0 siblings, 0 replies; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-06 12:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Eli Zaretskii <eliz@gnu.org> writes: >> > See window-text-pixel-size as one example of what we have. The >> > underlying functionality is even more powerful. >> >> (window-text-pixel-size) returns nonsense in console. > > It does? Can you show an example? Or, better yet, make a bug report > about the problematic case(s)? bug report sent >> >> > We already can display such thin lines, see, for example, help-fns.el >> >> > (search for ":height"). No X-level graphics is needed. >> >> X graphics is seems to be needed. > > You need a GUI frame (not necessarily on X), but that's all. There's > no need to expose Xlib calls to Lisp, which was what the original > question was about. ok, thanks for clarification ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 13:01 ` Arthur Miller 2020-06-05 14:00 ` Eli Zaretskii @ 2020-06-06 3:56 ` Richard Stallman 2020-06-06 6:55 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-06-06 3:56 UTC (permalink / raw) To: Arthur Miller; +Cc: sb, 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 understand that wysiwyg is easier and I understand your concern > for delays. I believe those delays would not be noticable for a pamphlet > (A4/A5 size?) if you used html as intermediate format. Could you state your proposed solution more concretely? How would it work, which programs would it use? > * provide a database of predefined paper sizes as specified on: > https://www.papersizes.org/a-sizes-in-pixels.htm > to be used as templates for width and height (in pixels) > * advice insert funcion(s) to check for current line pixel-width and > pixel-height. If width or height exceed template width and height then > insert ^L to denote page break and move point to next line and insert > text in next line. If width is exceeded maybe it is just enough to > move point to next line, but when height for a page is exceeded one > would need a special char to visualize page break. If this works reliably, and isn't very slow, it could be good enough. For this to work reliably requires understanding the width of text as it will eventually be rendered, including different sizes and variants (italic, bold, etc). > I am not sure how efficient it would be to check for pixel-width and height > on every char insertion, maybe there is some better way? We can arrange to take note of how wide the line is, update that incrementally in a quick way, then do more processing when that seems necessary. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 3:56 ` Richard Stallman @ 2020-06-06 6:55 ` Eli Zaretskii 0 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-06 6:55 UTC (permalink / raw) To: rms; +Cc: sb, arthur.miller, emacs-devel > From: Richard Stallman <rms@gnu.org> > Date: Fri, 05 Jun 2020 23:56:16 -0400 > Cc: sb@dod.no, emacs-devel@gnu.org > > > * advice insert funcion(s) to check for current line pixel-width and > > pixel-height. If width or height exceed template width and height then > > insert ^L to denote page break and move point to next line and insert > > text in next line. If width is exceeded maybe it is just enough to > > move point to next line, but when height for a page is exceeded one > > would need a special char to visualize page break. > > If this works reliably, and isn't very slow, it could be good enough. > For this to work reliably requires understanding the width of text > as it will eventually be rendered, including different sizes and > variants (italic, bold, etc). FWIW, I don't think this is possible from Lisp, not with the currently available facilities. shr.el does something like that, and it does a decent job with the tools it has, but IMO it is nowhere near what is needed, and cannot handle complex situations with various complex scripts. It is also quite slow: I sometimes need to wait for several seconds for it to display an email message of a couple of hundreds lines. Layout in Emacs has to be done in C to be both efficient and fully capable. Some small and simple jobs, like pixel-level alignment, can be done in Lisp, but not the entire job as a whole. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 3:12 ` "Why is emacs so square?" Richard Stallman 2020-06-05 10:48 ` Marcin Borkowski 2020-06-05 13:01 ` Arthur Miller @ 2020-06-05 15:27 ` Bob Newell 2 siblings, 0 replies; 605+ messages in thread From: Bob Newell @ 2020-06-05 15:27 UTC (permalink / raw) To: emacs-devel Richard Stallman <rms@gnu.org> writes: > This is not an issue for longer documents, since it doesn't crucially > matter > where the page breaks are in those. Just as a point of interest: page breaks definitely can matter in longer documents. I've done quite a number of books with Emacs/LaTeX, and in doing text layout I have to take into account widows and orphans--- for instance, having a single line of a paragraph at the bottom of a page is a no-no, and page breaks have to be manipulated to avoid bad typography. That said, I've found that even for longish books with many diagrams (my most extreme example was nearly 800 pages), the compile and view process was fast enough not to get in the way, and corrections and changes go very fast if using something like synctex (I believe that's the correct name). This is not to say that I don't see the need for WYSIWYG on graphics-intense publications; for instance I couldn't see doing a comic book in emacs. -- Bob Newell Honolulu, Hawai`i - Via GNU/Linux/Emacs/Gnus/BBDB ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-04 3:26 ` Richard Stallman 2020-06-04 9:16 ` Arthur Miller @ 2020-06-05 21:54 ` Tomas Hlavaty 2020-06-06 4:07 ` Richard Stallman 2020-06-06 6:35 ` Eli Zaretskii 1 sibling, 2 replies; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-05 21:54 UTC (permalink / raw) To: rms, Steinar Bang; +Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > When I write a pamphlet using Libre Office, I need to see how it > will appear on the page. I need to see where line breaks and paragraph > breaks appear. > > I want Emacs to be able to do tect processing that way. What are the missing pieces? I think there are many and they would be useful for other use-cases. Some of the use-cases I am interested in: 1) Sometimes, I need to write a letter which does not need to be an art work. I wrote emacs-pdf (see <https://logand.com/sw/emacs-pdf/file/emacs-pdf.el.html>) to address that. It creates a PDF document from an Emacs buffer. Only plain, monospace ASCII text works so far, but it can already break and count pages and insert headers and footers. It is very short (about 400 lines of elisp including comments) and requires no dependencies and no graphics. a) The next step will be unicode. It seems that there is some code in Emacs dealing with unicode fonts in order to generate postscript files. Any pointers where to start with this? b) After that, emacs-pdf will understand font metrics so it will be possible to do layout. It should be possible to render HTML for example, and create graphical web browser as an alternative to eww. It should also be possible to render other formats like abw, odt, etc. At least roughly, depending on how much detail in the corresponding spec people want to address. I have explored simple conversion to text in pure elisp in emacs-unoffice <https://logand.com/sw/emacs-unoffice/file/emacs-unoffice.el.html>. It should be possible to write a direct PDF backend for org-mode and maybe enriched-mode. Internally, probably some kind of html like sexp based format should be used. I used a sexp based format in emacs-pdf (transient cons tree representation) but for document processing, the format should not be so low level (e.g. no PDF drawing primitives but something like HTML primitives; or maybe mixed). c) It should not be difficult to add raster images and vector graphics to the PDF drawing code. d) It should be possible to add for example SVG backend. Non-console Emacs can already draw SVG. At least at the beginning, this would also avoid the need for image rasterisation if vector format like PDF or SVG is used. Maybe this could be used for real-time preview, before we get WYSIWYG. Or maybe use pdf-tools to view the generated PDF. 2) Printing is an issue in Emacs. I will try to implement an alternative which will use IPP and PDF. No PostScript, no CUPS, if possible no complex configuration. 3) I use Emacs on the console a lot. All the above should work there too. In order to view images in console Emacs, I wrote <https://logand.com/sw/emacs-framebuffer/file/emacs-framebuffer.el.html>. So far there are a few functions that draw images using w3mimgdisplay from the w3m console web browser. It fits images on the screen, unlike graphical Emacs where image display is unuseable. a) I would like image-mode just work with this emacs-framebuffer image drawing. Any ideas, how to plug emacs-framebuffer into image-mode? b) It is a shame, that I need to reimplement such basic functions like image-size: (image-size (create-image "/tmp/a.jpg")) => (error "Window system frame should be used") framebuffer-image-size at https://logand.com/sw/emacs-framebuffer/file/emacs-framebuffer.el.html#l95 does not require any dependencies and computes image size for png, jpeg, bmp, gif, tiff and pnm in elisp. It would be nice to eliminate or at least reduce the need for such dependencies so that many Emacs features are useable in different environments, like for example console. c) There are functions frame-width and frame-height. Are there also functions something like buffer-width and buffer-height and or a way to compute x and y position relative to frame origin, which would allow me to position images exactly in the buffer similar to what w3m browser does? 4) Emacs is missing some kind of canvas, where things could be drawn and which would handle pixel precise input. For example, I would like to browse OpenStreetMap in Emacs. I wrote a console based OSM browser osmq <https://logand.com/sw/osmq/log.html> and web-based OSM browser at <https://osmq.eu/>. I would prefer an Emacs based map browser. However, I have not figured out how to lay out images in Emacs in a grid and how to detect which image was clicked. A bonus would be, where exactly was clicked. Any ideas what should I look into? Emacs canvas should probably work like HTML canvas, which is rather similar to PDF or PostScript in terms of drawing interface. I have explored this space in the PostScript interpreter in JavaScript <https://logand.com/sw/wps/index.html>. Not sure how difficult it would be to plug some kind of portable canvas into Emacs. This seems rather low level C work. It seems to me that these points are precondition for a WYSIWYG document editor feature in Emacs. Do these points resonate here? Is somebody already implementing anything mentioned? Or what is already implemented? Would there be an interest in incorporating emacs-pdf, emacs-unoffice and emacs-framebuffer (the framebuffer-image-size function?) into Emacs? Regards, Tomas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 21:54 ` Tomas Hlavaty @ 2020-06-06 4:07 ` Richard Stallman 2020-06-06 6:35 ` Eli Zaretskii 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-06-06 4:07 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: sb, 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. ]]] Better exporting of Emacs buffers to PDF is certainly a desirable feature. Any system for editing formatted text in Emacs will need that feature. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-05 21:54 ` Tomas Hlavaty 2020-06-06 4:07 ` Richard Stallman @ 2020-06-06 6:35 ` Eli Zaretskii 2020-06-07 8:03 ` Tomas Hlavaty 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-06 6:35 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: sb, rms, emacs-devel > From: Tomas Hlavaty <tom@logand.com> > Date: Fri, 05 Jun 2020 23:54:08 +0200 > Cc: emacs-devel@gnu.org > > It seems that there is some code in Emacs dealing with unicode > fonts in order to generate postscript files. Any pointers where > to start with this? I think you should provide more details about the particular problem you are trying to solve here, because I don't think I understand it. Emacs generally knows only about fonts it uses for its own display, and it needs to load the font before it can provide information about it. Whereas you seem to be talking about fonts to be used in the PDF file, not in Emacs display. > b) After that, emacs-pdf will understand font metrics so it will be > possible to do layout. I very much doubt you can do sensible layout in Lisp. shr.el tries, but the result is slow and incomplete -- and it does that with text displayed by Emacs itself, whereas you are talking about something more ambitious. If you want to do layout for PDF, I think one way forward would be to implement a pdfterm.c "terminal" for Emacs, which produces PDF like the existing *term.c backends do for supported display types. > c) There are functions frame-width and frame-height. Are there also > functions something like buffer-width and buffer-height and or a > way to compute x and y position relative to frame origin, which > would allow me to position images exactly in the buffer similar to > what w3m browser does? Yes, there are, but they need a window to compute these metrics. Without a live window, "buffer width" is meaningless, because buffer text doesn't define the fonts (more generally, the typefaces) used for displaying the text. Only a window in which a buffer is displayed provides enough typeface information to do these calculations. > 4) Emacs is missing some kind of canvas, where things could be drawn and > which would handle pixel precise input. > > For example, I would like to browse OpenStreetMap in Emacs. I wrote > a console based OSM browser osmq > <https://logand.com/sw/osmq/log.html> and web-based OSM browser at > <https://osmq.eu/>. I would prefer an Emacs based map browser. > However, I have not figured out how to lay out images in Emacs in a > grid and how to detect which image was clicked. A bonus would be, > where exactly was clicked. Any ideas what should I look into? Emacs supports "hot spots" on images for this: a click on an image returns information about pixel-resolution offset of the click from the image origin. I think that's what you want, although I'm not 100% sure. We also support displaying slices of images, in case that helps to produce a smarter layout of images. > It seems to me that these points are precondition for a WYSIWYG document > editor feature in Emacs. FWIW, I don't think these points are necessarily preconditions for WYSIWYG features. They are important and useful features, but a WYSIWYG document editor should IMO start with something whose beginning we have in enriched-mode. That mode currently lacks the ability of laying out text in variable-pitch typefaces, which I think is the first extension of enriched-mode that should be worked on. Followed by page layout and page breaks, intelligent sectioning commands, etc. etc. And yes, printing is also important, whether it is done by producing PDF or PostScript or any other intermediate format. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-06 6:35 ` Eli Zaretskii @ 2020-06-07 8:03 ` Tomas Hlavaty 2020-06-07 14:21 ` Eli Zaretskii 2020-06-08 3:31 ` Richard Stallman 0 siblings, 2 replies; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-07 8:03 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Tomas Hlavaty <tom@logand.com> >> Date: Fri, 05 Jun 2020 23:54:08 +0200 >> Cc: emacs-devel@gnu.org >> >> It seems that there is some code in Emacs dealing with unicode >> fonts in order to generate postscript files. Any pointers where >> to start with this? > > I think you should provide more details about the particular problem > you are trying to solve here, because I don't think I understand it. > Emacs generally knows only about fonts it uses for its own display, > and it needs to load the font before it can provide information about > it. Whereas you seem to be talking about fonts to be used in the PDF > file, not in Emacs display. I poked around a bit and it seems that what I did in emacs-pdf (pdf-buffer function) is similar to what ps-print-buffer function does in ps-print and ps-mule with ps-multibyte-buffer set to nil. Now I want something like ps-multibyte-buffer, e.g. pdf-multibyte-buffer so that I can use non-ASCII characters in the generated PDF. So I probably want to implement something similar to ps-multibyte-buffer cases of non-latin-printer, bdf-font and/or bdf-font-except-latin. There seem to be ps-bdf so maybe I have to look, if I can reuse something when generating PDF. >> b) After that, emacs-pdf will understand font metrics so it will be >> possible to do layout. > > I very much doubt you can do sensible layout in Lisp. shr.el tries, > but the result is slow and incomplete -- and it does that with text > displayed by Emacs itself, whereas you are talking about something > more ambitious. For printing, this might not be an issue. > If you want to do layout for PDF, I think one way forward would be to > implement a pdfterm.c "terminal" for Emacs, which produces PDF like > the existing *term.c backends do for supported display types. I'll have a look, thanks. >> c) There are functions frame-width and frame-height. Are there also >> functions something like buffer-width and buffer-height and or a >> way to compute x and y position relative to frame origin, which >> would allow me to position images exactly in the buffer similar to >> what w3m browser does? > > Yes, there are, but they need a window to compute these metrics. > Without a live window, "buffer width" is meaningless, because buffer > text doesn't define the fonts (more generally, the typefaces) used for > displaying the text. Only a window in which a buffer is displayed > provides enough typeface information to do these calculations. I see. There is frame-position but no window-position. Is there a way to get window position in a frame? >> 4) Emacs is missing some kind of canvas, where things could be drawn and >> which would handle pixel precise input. >> >> For example, I would like to browse OpenStreetMap in Emacs. I wrote >> a console based OSM browser osmq >> <https://logand.com/sw/osmq/log.html> and web-based OSM browser at >> <https://osmq.eu/>. I would prefer an Emacs based map browser. >> However, I have not figured out how to lay out images in Emacs in a >> grid and how to detect which image was clicked. A bonus would be, >> where exactly was clicked. Any ideas what should I look into? > > Emacs supports "hot spots" on images for this: a click on an image > returns information about pixel-resolution offset of the click from > the image origin. I think that's what you want, although I'm not 100% > sure. Yes. Is there an example how to start with this? > We also support displaying slices of images, in case that helps to > produce a smarter layout of images. Great. Is there an example? >> It seems to me that these points are precondition for a WYSIWYG document >> editor feature in Emacs. > > FWIW, I don't think these points are necessarily preconditions for > WYSIWYG features. They are important and useful features, but a > WYSIWYG document editor should IMO start with something whose > beginning we have in enriched-mode. That mode currently lacks the > ability of laying out text in variable-pitch typefaces, which I think > is the first extension of enriched-mode that should be worked on. > Followed by page layout and page breaks, intelligent sectioning > commands, etc. etc. And yes, printing is also important, whether it > is done by producing PDF or PostScript or any other intermediate > format. Interesting. Maybe the pdfterm.c you suggested is kind of canvas I wrote about. When there is all that complexity with pixel perfect drawing and layout, it would be shame to limit it to enriched mode. But it is still too early to make decisions in this direction. Thank you for your help and quick and helpful answers! ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 8:03 ` Tomas Hlavaty @ 2020-06-07 14:21 ` Eli Zaretskii 2020-06-07 21:57 ` Tomas Hlavaty 2020-06-08 3:31 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-07 14:21 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: emacs-devel > From: Tomas Hlavaty <tom@logand.com> > Cc: emacs-devel@gnu.org > Date: Sun, 07 Jun 2020 10:03:35 +0200 > > I poked around a bit and it seems that what I did in emacs-pdf > (pdf-buffer function) is similar to what ps-print-buffer function does > in ps-print and ps-mule with ps-multibyte-buffer set to nil. BDF fonts were OK when ps-mule.el and ps-bdf.el were developed, but nowadays I think you will find that many users will object to using bitmapped fonts in printed matter. (There were plans to develop ps-type1.el, but I don't think they materialized.) Caveat emptor. > There is frame-position but no window-position. Is there a way to get > window position in a frame? Is window-edges what you want? > >> For example, I would like to browse OpenStreetMap in Emacs. I wrote > >> a console based OSM browser osmq > >> <https://logand.com/sw/osmq/log.html> and web-based OSM browser at > >> <https://osmq.eu/>. I would prefer an Emacs based map browser. > >> However, I have not figured out how to lay out images in Emacs in a > >> grid and how to detect which image was clicked. A bonus would be, > >> where exactly was clicked. Any ideas what should I look into? > > > > Emacs supports "hot spots" on images for this: a click on an image > > returns information about pixel-resolution offset of the click from > > the image origin. I think that's what you want, although I'm not 100% > > sure. > > Yes. Is there an example how to start with this? I suggest to read "Click Events" and "Accessing Mouse" in the ELisp manual, I think the description there is clear enough to let you write code even without examples. > > We also support displaying slices of images, in case that helps to > > produce a smarter layout of images. > > Great. Is there an example? Likewise here: I suggest to read "Showing Images", where this is described. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 14:21 ` Eli Zaretskii @ 2020-06-07 21:57 ` Tomas Hlavaty 2020-06-07 22:03 ` Drew Adams 0 siblings, 1 reply; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-07 21:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> There is frame-position but no window-position. Is there a way to get >> window position in a frame? > > Is window-edges what you want? Yes, window-edges is what I was looking for, thanks. Now I can draw images in console exactly where they should be. However, there seem to be problem with get-buffer-window function: get-buffer-window returns one buffer or nil. This seems wrong because a buffer can be visible on many windows. Is there a function (or trick) which returns all windows, where a specified buffer is visible? ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Why is emacs so square?" 2020-06-07 21:57 ` Tomas Hlavaty @ 2020-06-07 22:03 ` Drew Adams 2020-06-08 5:41 ` Tomas Hlavaty 0 siblings, 1 reply; 605+ messages in thread From: Drew Adams @ 2020-06-07 22:03 UTC (permalink / raw) To: Tomas Hlavaty, Eli Zaretskii; +Cc: emacs-devel > get-buffer-window returns one buffer or nil. This seems wrong because a > buffer can be visible on many windows. (Typo - it returns one window, not one buffer.) > Is there a function (or trick) which returns all windows, where a > specified buffer is visible? `C-h f get-buffer-window-list' (get-buffer-window-list nil nil 'visible) ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Why is emacs so square?" 2020-06-07 22:03 ` Drew Adams @ 2020-06-08 5:41 ` Tomas Hlavaty 0 siblings, 0 replies; 605+ messages in thread From: Tomas Hlavaty @ 2020-06-08 5:41 UTC (permalink / raw) To: Drew Adams, Eli Zaretskii; +Cc: emacs-devel Drew Adams <drew.adams@oracle.com> writes: >> get-buffer-window returns one buffer or nil. This seems wrong because a >> buffer can be visible on many windows. > > (Typo - it returns one window, not one buffer.) yes, sorry about that >> Is there a function (or trick) which returns all windows, where a >> specified buffer is visible? > > `C-h f get-buffer-window-list' > > (get-buffer-window-list nil nil 'visible) great, thank you! ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-07 8:03 ` Tomas Hlavaty 2020-06-07 14:21 ` Eli Zaretskii @ 2020-06-08 3:31 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-06-08 3:31 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: 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. ]]] We certainly should have a pdf-print-buffer. One way would be to call ps-print-buffer and then run ps2pdf. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 3:07 ` Dmitry Gutov 2020-04-20 5:07 ` Bob Newell @ 2020-04-21 1:51 ` Richard Stallman 2020-04-21 7:01 ` Joost Kremers 1 sibling, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-21 1:51 UTC (permalink / raw) To: Dmitry Gutov Cc: me, joseph.h.garvin, stefan, emacs-devel, luangruo, eliz, drew.adams, ndame [[[ 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. ]]] > > That statement may be correct, but you've changed the topic. > Did I? > The topic was Emacs's popularity, AFAICT. Yes. I want Emacs to become once again popular for editing text for publication, as it was before. More than that, I want to use it myself that way. > As a word processor, it's a lot less capable, and adding the two > features you mentioned above won't bring us much closer to that goal, A long journey has to be achieved step by step. Since 1990 I have planned to extend Emacs to do word processing. If that doesn't interest you, you don't have to help, but please don't get in the way. > And there are existing Free programs > that do this better already (like LibreOffice Writer). I use LibreOffice. It works, but I very much miss the fundamental capabilities of Emacs. I want to do word processing in Emacs and program commands in Emacs Lisp. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 1:51 ` Richard Stallman @ 2020-04-21 7:01 ` Joost Kremers 2020-04-22 3:17 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Joost Kremers @ 2020-04-21 7:01 UTC (permalink / raw) To: emacs-devel On Tue, Apr 21 2020, Richard Stallman wrote: > I use LibreOffice. It works, but I very much miss the > fundamental capabilities of Emacs. > > I want to do word processing in Emacs and program commands in > Emacs Lisp. Lots of people are writing books and articles in Emacs using Org mode, which is as close to a full-blown office suite (word processor, PIM, spread sheet, presentation editor) as any text editor will get. If you want to do word processing in Emacs, you should check it out and see where it can be improved/extended to get to where you want Emacs to go. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 7:01 ` Joost Kremers @ 2020-04-22 3:17 ` Richard Stallman 2020-04-22 9:12 ` Nicolas Goaziou 2020-04-23 2:32 ` Richard Stallman 0 siblings, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:17 UTC (permalink / raw) To: Joost Kremers; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] I found it impossible to learn what Org mode does. Its introduction taught how to do outline editing. It made sense, but outline editing useful for me, so I stopped reading. I did not want to study use of a mode for outline editing. When you tell me that Emacs has important facilities -- doing jobs very different from outline editing -- that I don't know about because they have been integrated as "part of Org mode", my conclusion is that we should have integrated them differently. Those other facilities should not be treated as "part of Org mode". They should be separate facilities, each one documented separately, and usable by itself. I would like to see those facilities separated from Org mode and made into separate first-class subsystems. Then they can be documented in the Emacs manual. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 3:17 ` Richard Stallman @ 2020-04-22 9:12 ` Nicolas Goaziou 2020-04-22 14:25 ` Eli Zaretskii 2020-04-23 2:32 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Nicolas Goaziou @ 2020-04-22 9:12 UTC (permalink / raw) To: Richard Stallman; +Cc: Joost Kremers, emacs-devel Hello, Richard Stallman <rms@gnu.org> writes: > When you tell me that Emacs has important facilities -- doing jobs > very different from outline editing -- that I don't know about because > they have been integrated as "part of Org mode", my conclusion is that > we should have integrated them differently. Those other facilities > should not be treated as "part of Org mode". They should be separate > facilities, each one documented separately, and usable by itself. > > I would like to see those facilities separated from Org mode and made > into separate first-class subsystems. Then they can be documented in > the Emacs manual. There may be a misconception about what Org really is. It is unfortunate if its documentation lets one think the mode is about outline editing. Org is both a lightweight markup language, and a major mode to edit it. Versatile, it is useful for keeping notes, maintaining TODO lists, and project planning. Powerful, it may be used as a complete authoring system, with support for literate programming and reproducible research. Outline editing is but the design choice that was made for the major mode to edit documents with Org syntax. To put it differently, the common factor between the "other facilities" you mention, whatever they are, is not the outliner part, but the markup language behind it. As a consequence, it probably makes little sense to separate such "facilities"---the term would need to be properly defined in the current context, tho---, because each of them implies full support for the whole Org syntax. As a side node, there are attempts to proceed the other way. For example OrgTbl minor mode, included in Org for historical reasons, edits---a subset of---Org tables in other major modes. Likewise, Orgalist, found in GNU ELPA, ports---a subset of---Org lists to other major modes. None of them equates its native counterpart for the reasons explained above. Conversely, I'm thinking out loud here, there is one external facility that I would like to see integrated into Emacs proper, so major modes, such as Org, could use it. It is Citeproc.el, a library for rendering citations and bibliographies in styles described in the Citation Style Language (CSL). Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 9:12 ` Nicolas Goaziou @ 2020-04-22 14:25 ` Eli Zaretskii 2020-04-23 2:36 ` Richard Stallman 2020-04-23 12:33 ` Po Lu 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 14:25 UTC (permalink / raw) To: Nicolas Goaziou; +Cc: joostkremers, rms, emacs-devel > From: Nicolas Goaziou <mail@nicolasgoaziou.fr> > Date: Wed, 22 Apr 2020 11:12:59 +0200 > Cc: Joost Kremers <joostkremers@fastmail.fm>, emacs-devel@gnu.org > > > When you tell me that Emacs has important facilities -- doing jobs > > very different from outline editing -- that I don't know about because > > they have been integrated as "part of Org mode", my conclusion is that > > we should have integrated them differently. Those other facilities > > should not be treated as "part of Org mode". They should be separate > > facilities, each one documented separately, and usable by itself. > > > > I would like to see those facilities separated from Org mode and made > > into separate first-class subsystems. Then they can be documented in > > the Emacs manual. > > There may be a misconception about what Org really is. It is unfortunate > if its documentation lets one think the mode is about outline editing. > > Org is both a lightweight markup language, and a major mode to edit > it. Versatile, it is useful for keeping notes, maintaining TODO lists, > and project planning. Powerful, it may be used as a complete authoring > system, with support for literate programming and reproducible > research. > > Outline editing is but the design choice that was made for the major > mode to edit documents with Org syntax. To put it differently, the > common factor between the "other facilities" you mention, whatever they > are, is not the outliner part, but the markup language behind it. IMNSHO, the Org manual "needs work"™. Its current form shows the long history of the package, more than it shows what it is nowadays. I mean, consider this opening phrases in Introduction: Org is a mode for keeping notes, maintaining TODO lists, and project planning with a fast and effective plain-text markup language. It also is an authoring system with unique support for literate programming and reproducible research. Org is implemented on top of Outline mode, which makes it possible to keep the content of large files well structured. Visibility cycling and structure editing help to work with the tree. Tables are easily created with a built-in table editor. Plain text URL-like links connect to websites, emails, Usenet messages, BBDB entries, and any files related to the projects. Org develops organizational tasks around notes files that contain lists or information about projects as plain text. Project planning and task management make use of metadata which is part of an outline node. Based on this data, specific entries can be extracted in queries and create dynamic _agenda views_ that also integrate the Emacs calendar and diary. Org can be used to implement many different project planning schemes, such as David Allen’s GTD system. Etc., etc. I invite you to put yourself in the shows of a newcomer to Org, and try to imagine how such a newcomer will be able to realize that Org can be used as a word-processor... So please don't be surprised that Richard thinks about this what he thinks. Now, suppose someone tells me that Org includes word-processing capabilities, and I'm excited about that and want to learn how to do that. Here's the menu I'm presented with in the Top node: * Introduction:: Getting started. * Document Structure:: A tree works like your brain. * Tables:: Pure magic for quick formatting. * Hyperlinks:: Notes in context. * TODO Items:: Every tree branch can be a TODO item. * Tags:: Tagging headlines and matching sets of tags. * Properties and Columns:: Storing information about an entry. * Dates and Times:: Making items useful for planning. * Refiling and Archiving:: Moving and copying information with ease. * Capture and Attachments:: Dealing with external data. * Agenda Views:: Collecting information into views. * Markup for Rich Contents:: Compose beautiful documents. * Exporting:: Sharing and publishing notes. * Publishing:: Create a web site of linked Org files. * Working with Source Code:: Export, evaluate, and tangle code blocks. * Miscellaneous:: All the rest which did not fit elsewhere. * Hacking:: How to hack your way around. * History and Acknowledgments:: How Org came into being. * GNU Free Documentation License:: The license for this documentation. * Main Index:: An index of Org’s concepts and features. * Key Index:: Key bindings and where they are described. * Command and Function Index:: Command names and some internal functions. * Variable Index:: Variables mentioned in the manual. Hmm... which one of the chapters should I read? I tried "Publishing" first, but quickly realized that's not it. Next, I tried "Exporting" ("Sharing and publishing notes.", right?) -- another false hit. Finally, I thought maybe it's in "Markup for Rich Contents". This time I think I found what I was looking for, but look at that chapter's menu: * Paragraphs:: The basic unit of text. * Emphasis and Monospace:: Bold, italic, etc. * Subscripts and Superscripts:: Simple syntax for raising/lowering text. * Special Symbols:: Greek letters and other symbols. * Embedded LaTeX:: LaTeX can be freely used inside Org documents. * Literal Examples:: Source code examples with special formatting. * Images:: Display an image. * Captions:: Describe tables, images... * Horizontal Rules:: Make a line. * Creating Footnotes:: Edit and read footnotes. This sounds like a more-or-less random collection of related tidbits, not an explanation of how to use Org as a word-processor. And as soon as I go to the first section, "Paragraphs", I'm almost immediately lost: Paragraphs are separated by at least one empty line. If you need to enforce a line break within a paragraph, use ‘\\’ at the end of a line. To preserve the line breaks, indentation and blank lines in a region, but otherwise use normal formatting, you can use this construct, which can also be used to format poetry. #+BEGIN_VERSE Great clouds overhead Tiny black birds rise and fall Snow covers Emacs ---AlexSchroeder #+END_VERSE What are those "#+BEGIN_VERSE" and "#+END_VERSE" markers? Do I type them verbatim in the text of a document? There's no answer. (Of course, yours truly is somewhat familiar with Org, so _I_ know the answer. But a newbie won't.) This is not what a chapter about using a word processor should look like. It should begin with an introduction to word-processing with Org, an overview of what's possible and what isn't; it should go on to explaining how to start a document, how to write a heading and a sub-heading, how to insert references, links, footnotes, and other objects; it should then explain how to produce a TOC and an index, and finally point me to another chapter that explains how to export my document in a variety of formats. A good example of how such documentation should be structured is at the beginning of the Texinfo manual, which also describes a system for writing documents. Look at the first dozen of chapters there for inspiration. > As a consequence, it probably makes little sense to separate such > "facilities"---the term would need to be properly defined in the current > context, tho---, because each of them implies full support for the whole > Org syntax. Maybe you took the "separate" part to mean that the _code_ should be separated or subdivided. I'm not sure Richard meant that, but even if he did, what I would like to see is a "separation" on the documentation level. Let a user who only wants to write documents with Org be able to learn that without reading 50% of the Org manual, in order to understand "the whole Org syntax". Allow a user who is only interested in GTD to be able to do just that by learning the necessary Org commands and procedures, and little else. Etc. etc. -- try to "separate" what Org is capable of into several large classes of jobs, and make sure each of these classes is documented clearly and logically, as if it were a separate manual (and maybe it really should be a separate manual, I don't know). I hope I explained at least what is my view of how Org should evolve (in addition to the routine development that adds new features) -- it should try to present a less monolith-like appearance towards new users, and allow them to master just a part of its capabilities, the part that they are interested in. HTH and TIA ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 14:25 ` Eli Zaretskii @ 2020-04-23 2:36 ` Richard Stallman 2020-04-23 8:41 ` Joost Kremers 2020-04-23 14:43 ` Eli Zaretskii 2020-04-23 12:33 ` Po Lu 1 sibling, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-23 2:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: joostkremers, mail, 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 have learned a lot more about Org mode from your message than I was able ever to learn before. Thank you. > This is not what a chapter about using a word processor should look > like. It should begin with an introduction to word-processing with > Org, an overview of what's possible and what isn't; it should go on to > explaining how to start a document, how to write a heading and a > sub-heading, how to insert references, links, footnotes, and other > objects; it should then explain how to produce a TOC and an index, and > finally point me to another chapter that explains how to export my > document in a variety of formats. That plan for a manual for the word-processing feature makes sense. It appears that what people call "Org mode" is a collection of diverse features, and what they have in common is use of a certain format of the text. Is that right? I have to question the practice of treating these diverse features conceptually as a single mode. Although I still don't know what those features are, if one of them is a word processor and the others are not, they are too different to make sense conceptually that way. It would make more sense to call them various different modes. That they all use a certain way of formatting the text may not be important to mention. If it is useful to have a name for that, I suggest the name "Org format". Each of these modes could say it uses "Org format", or perhaps a variation of that. > > As a consequence, it probably makes little sense to separate such > > "facilities"---the term would need to be properly defined in the current > > context, tho---, because each of them implies full support for the whole > > Org syntax. Maybe that is how things are now, but is there a reason why things SHOULD be done this way? Does each of these features need to support "the whole Org syntax"? It could be that the simple way of implementing them is by sharing code that implements "the whole Org syntax". If so, I won't argue against sharing that code. But it may not be useful to TALK about the fact that each one implements "the whole Org syntax". And it is possilble that it is better to share only part of that code, not all. In other words, if we don't let the concept of "Org mode" shape our thinking, we might thing of these features differently. > I hope I explained at least what is my view of how Org should evolve > (in addition to the routine development that adds new features) -- it > should try to present a less monolith-like appearance towards new > users, and allow them to master just a part of its capabilities, the > part that they are interested in. Hear, hear! > HTH and TIA Hold Turnip Head and Turn It Around? ;-} -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 2:36 ` Richard Stallman @ 2020-04-23 8:41 ` Joost Kremers 2020-04-23 15:02 ` Eli Zaretskii 2020-04-24 2:37 ` Richard Stallman 2020-04-23 14:43 ` Eli Zaretskii 1 sibling, 2 replies; 605+ messages in thread From: Joost Kremers @ 2020-04-23 8:41 UTC (permalink / raw) To: emacs-devel On Thu, Apr 23 2020, Richard Stallman wrote: > It appears that what people call "Org mode" is a collection of > diverse > features, and what they have in common is use of a certain > format of > the text. Is that right? That sounds just about right, yes. > I have to question the practice of treating these diverse > features > conceptually as a single mode. Although I still don't know what > those > features are, if one of them is a word processor and the others > are not, > they are too different to make sense conceptually that way. The practice has probably arisen historically, but IMHO it still makes sense to do so now, because probably Org's biggest strength is that the various features are tightly integrated. That doesn't mean you couldn't use Org for just one of its features, you definitely could, but the beauty of the system is that the different features aren't strictly separated. For example, Org can be used as an agenda, to keep track of your appointments, daily schedule, etc., much like Google Calendar and other such offerings. At the same time, you can use Org to write your papers. Now, you would normally keep your appointments in one file, say =agenda.org=, and the paper you're working on in another file, say =paper.org=. So far, so uninteresting. But with Org you can put TODO notes in =paper.org=, add deadlines, date and time stamps, etc., anything Org supports. Then, when you display your agenda (i.e., run a function that takes the contents of, in this example, =agenda.org=, and creates a nice overview of it in an agenda-like fashion), you can have the TODO items, deadlines etc. from =paper.org= included in this overview automatically. Try that with Google Calendar. This is just one example, but it illustrates the whole point of Org: the system has many different features, and they all work together. > It would make more sense to call them various different modes. > That > they all use a certain way of formatting the text may not be > important > to mention. Actually, it's crucial to mention that. You might say it's Org's raison d'être. It's what makes integrating all of Org's functions so tightly possible. > In other words, if we don't let the concept of "Org mode" shape > our thinking, > we might thing of these features differently. I think it would certainly help newbies getting started with Org to document its features separately. Eli's suggestions for restructuring the Org manual sound very good. I had a difficult time getting started with Org myself, and I can relate very well to the impressions that you and Eli describe. But at the same time it should be made clear from the outset that Org's strength lies in its integration. I mean, I could use Markdown with Pandoc to write my papers, *cough* Google Calendar *cough* to keep track of my appointments, Jupyter for keeping programming notebooks and *cough* Evernote *cough* to keep notes, but there would be no way to link all of that. With Org, there is. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 8:41 ` Joost Kremers @ 2020-04-23 15:02 ` Eli Zaretskii 2020-04-24 6:36 ` Joost Kremers 2020-04-24 2:37 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-23 15:02 UTC (permalink / raw) To: Joost Kremers; +Cc: emacs-devel > From: Joost Kremers <joostkremers@fastmail.fm> > Date: Thu, 23 Apr 2020 10:41:05 +0200 > > > It would make more sense to call them various different modes. > > That they all use a certain way of formatting the text may not be > > important to mention. > > Actually, it's crucial to mention that. You might say it's Org's > raison d'être. It's what makes integrating all of Org's functions > so tightly possible. If features are well integrated and work together well, how is it important to know that they do it because of a certain way of formatting text? > But at the same time it should be made clear from the outset that > Org's strength lies in its integration. I mean, I could use > Markdown with Pandoc to write my papers, *cough* Google Calendar > *cough* to keep track of my appointments, Jupyter for keeping > programming notebooks and *cough* Evernote *cough* to keep notes, > but there would be no way to link all of that. With Org, there is. You are actually describe the strength of Emacs as an integrated package whose parts work well with one another. And yet we have separate manuals for major parts: Gnus, Org, Eshell, etc. -- just look inside doc/misc/. IOW, I don't see a contradiction here. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 15:02 ` Eli Zaretskii @ 2020-04-24 6:36 ` Joost Kremers 2020-04-24 10:14 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Joost Kremers @ 2020-04-24 6:36 UTC (permalink / raw) To: emacs-devel On Thu, Apr 23 2020, Eli Zaretskii wrote: >> Actually, it's crucial to mention that. You might say it's >> Org's >> raison d'être. It's what makes integrating all of Org's >> functions >> so tightly possible. > > If features are well integrated and work together well, how is > it > important to know that they do it because of a certain way of > formatting text? Because the user has to format that text. :-) Sure, there are helper functions for a lot of things, but as a user you do need to know the Org format. >> But at the same time it should be made clear from the outset >> that >> Org's strength lies in its integration. I mean, I could use >> Markdown with Pandoc to write my papers, *cough* Google >> Calendar >> *cough* to keep track of my appointments, Jupyter for keeping >> programming notebooks and *cough* Evernote *cough* to keep >> notes, >> but there would be no way to link all of that. With Org, there >> is. > > You are actually describe the strength of Emacs as an integrated > package whose parts work well with one another. And yet we have > separate manuals for major parts: Gnus, Org, Eshell, etc. -- > just look > inside doc/misc/. Yes, but it's a different level of integration. I need a decent working knowledge of Elisp to be able to integrate Gnus and Eshell. But I only need to know Org syntax in order to integrate my TODO list, task management and writing with my calendar. The point is, I need to know Org syntax anyway to do each single thing separately. Integrating them doesn't require a deeper level of knowledge than I already have. > IOW, I don't see a contradiction here. I'm not saying there's a contradiction. If that's how I came across, then I didn't make my point very well. Like I said, I think the Org documentation would benefit greatly if your suggestions were implemented. It's just that the fact that Org's different parts are tightly integrated should not be tucked away in some "Advanced Use" section of the manual. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 6:36 ` Joost Kremers @ 2020-04-24 10:14 ` Eli Zaretskii 2020-04-24 10:28 ` Stefan Kangas ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 10:14 UTC (permalink / raw) To: Joost Kremers; +Cc: emacs-devel > From: Joost Kremers <joostkremers@fastmail.fm> > Date: Fri, 24 Apr 2020 08:36:49 +0200 > > > You are actually describe the strength of Emacs as an integrated > > package whose parts work well with one another. And yet we have > > separate manuals for major parts: Gnus, Org, Eshell, etc. -- > > just look > > inside doc/misc/. > > Yes, but it's a different level of integration. I need a decent > working knowledge of Elisp to be able to integrate Gnus and > Eshell. But I only need to know Org syntax in order to integrate > my TODO list, task management and writing with my calendar. The > point is, I need to know Org syntax anyway to do each single thing > separately. Integrating them doesn't require a deeper level of > knowledge than I already have. Unless I misunderstand what you mean by "Org syntax", I don't think users who want to create documents with Org should be required to know that syntax. Instead, there should be commands to help them produce correctly formatted snippets. Compare that with Texinfo commands which produce the various syntactic elements of the language. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 10:14 ` Eli Zaretskii @ 2020-04-24 10:28 ` Stefan Kangas 2020-04-24 11:14 ` Eli Zaretskii 2020-04-24 10:36 ` Joost Kremers 2020-06-17 3:36 ` Ricardo Wurmus 2 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-24 10:28 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Joost Kremers, Emacs developers Eli Zaretskii <eliz@gnu.org> writes: > Unless I misunderstand what you mean by "Org syntax", I don't think > users who want to create documents with Org should be required to know > that syntax. Instead, there should be commands to help them produce > correctly formatted snippets. I'm not sure what you mean here. AFAICT, there are already several such commands. - To insert a new headline, type 'M-RET'. - To insert a source block, type '< s TAB'. - To insert org export headers, type ''C-c C-e #'. - To schedule a headline for later, type 'C-c C-s'. - To insert a link, type 'C-c C-l'. - etc. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 10:28 ` Stefan Kangas @ 2020-04-24 11:14 ` Eli Zaretskii 2020-05-15 19:41 ` Steinar Bang 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 11:14 UTC (permalink / raw) To: Stefan Kangas; +Cc: joostkremers, emacs-devel > From: Stefan Kangas <stefan@marxist.se> > Date: Fri, 24 Apr 2020 12:28:01 +0200 > Cc: Joost Kremers <joostkremers@fastmail.fm>, Emacs developers <emacs-devel@gnu.org> > > Eli Zaretskii <eliz@gnu.org> writes: > > > Unless I misunderstand what you mean by "Org syntax", I don't think > > users who want to create documents with Org should be required to know > > that syntax. Instead, there should be commands to help them produce > > correctly formatted snippets. > > I'm not sure what you mean here. AFAICT, there are already several > such commands. > > - To insert a new headline, type 'M-RET'. > - To insert a source block, type '< s TAB'. > - To insert org export headers, type ''C-c C-e #'. > - To schedule a headline for later, type 'C-c C-s'. > - To insert a link, type 'C-c C-l'. > - etc. Then it seems like I was right: there's no need for users who want to produce documents with Org to be proficient in the Org syntax. Right? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 11:14 ` Eli Zaretskii @ 2020-05-15 19:41 ` Steinar Bang 0 siblings, 0 replies; 605+ messages in thread From: Steinar Bang @ 2020-05-15 19:41 UTC (permalink / raw) To: emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org>: > Then it seems like I was right: there's no need for users who want to > produce documents with Org to be proficient in the Org syntax. Right? Yes it's probably sufficient to know the commands and let the text flow the way it likes. (I.e. pretty much the way AUCTeX works. I know people back in the 80-ies and 90-ies who needed to write LaTeX and became emacs users solely becaause of AUCTeX) (in both cases, understanding the syntax helps both in understanding what goes on, and in navigating) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 10:14 ` Eli Zaretskii 2020-04-24 10:28 ` Stefan Kangas @ 2020-04-24 10:36 ` Joost Kremers 2020-04-24 11:17 ` Eli Zaretskii 2020-06-17 3:36 ` Ricardo Wurmus 2 siblings, 1 reply; 605+ messages in thread From: Joost Kremers @ 2020-04-24 10:36 UTC (permalink / raw) To: emacs-devel On Fri, Apr 24 2020, Eli Zaretskii wrote: > Unless I misunderstand what you mean by "Org syntax", I don't > think > users who want to create documents with Org should be required > to know > that syntax. Instead, there should be commands to help them > produce > correctly formatted snippets. Compare that with Texinfo > commands > which produce the various syntactic elements of the language. Yes, there are usually helper functions to do just that, though for some things, it's easier to just type the markup directly. (`*bold*` is IMHO quicker than `C-c C-x C-f * bold C-f`.) But once I know how to create a heading in a text document I can use the same command to create a heading in a notes file or an agenda file. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 10:36 ` Joost Kremers @ 2020-04-24 11:17 ` Eli Zaretskii 0 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 11:17 UTC (permalink / raw) To: Joost Kremers; +Cc: emacs-devel > From: Joost Kremers <joostkremers@fastmail.fm> > Date: Fri, 24 Apr 2020 12:36:43 +0200 > > > On Fri, Apr 24 2020, Eli Zaretskii wrote: > > Unless I misunderstand what you mean by "Org syntax", I don't > > think > > users who want to create documents with Org should be required > > to know > > that syntax. Instead, there should be commands to help them > > produce > > correctly formatted snippets. Compare that with Texinfo > > commands > > which produce the various syntactic elements of the language. > > Yes, there are usually helper functions to do just that, though for > some things, it's easier to just type the markup directly. > (`*bold*` is IMHO quicker than `C-c C-x C-f * bold C-f`.) But once I > know how to create a heading in a text document I can use the same > command to create a heading in a notes file or an agenda file. Command efficiency aside, if such commands exists, then why would the user need to know the Org syntax which they produce? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 10:14 ` Eli Zaretskii 2020-04-24 10:28 ` Stefan Kangas 2020-04-24 10:36 ` Joost Kremers @ 2020-06-17 3:36 ` Ricardo Wurmus 2020-06-17 3:46 ` Arthur Miller 2 siblings, 1 reply; 605+ messages in thread From: Ricardo Wurmus @ 2020-06-17 3:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Joost Kremers, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: Joost Kremers <joostkremers@fastmail.fm> >> Date: Fri, 24 Apr 2020 08:36:49 +0200 […] >> The >> point is, I need to know Org syntax anyway to do each single thing >> separately. Integrating them doesn't require a deeper level of >> knowledge than I already have. > > Unless I misunderstand what you mean by "Org syntax", I don't think > users who want to create documents with Org should be required to know > that syntax. Instead, there should be commands to help them produce > correctly formatted snippets. Compare that with Texinfo commands > which produce the various syntactic elements of the language. I would like to not have to bother with Org syntax at all, but after using the commands that produce it I see that syntax. It can be very confusing to see an unfamiliar syntax after issuing a command — what parts of it may I edit? When I accidentally remove parts of it, how can I restore the full syntax? Two things would help here, in my opinion: * hide the textual representation. My Org mode configuration replaces “*”, “**”, “***”, “****” with “bullets” like "◉", "○", "◇", and "◇". I can produce them either by tying “*” (if I know that syntax) or by using M-RET and S-right. Org mode hides the syntax for URLs when [[…][…]] is used and displays just an underlined and clickable URL. For source code blocks I replace “#+begin_src” and “#+end_src” with markers like ✎ and □ and set the block visually apart by customizing the faces. (See https://pank.eu/blog/pretty-babel-src-blocks.html) * delete the whole construct instead of deleting characters. Currently, it is easy to end up with invalid syntax by deleting parts of the markup text. Deleting the trailing “c” of “#+end_src” at the end of a source code block, for example, breaks that code block but leaves the “#+begin_src” and now incomplete “#+end_sr” where they are. I need to know that I have to append a “c” at the end to restore the code block. There is no command I can run to “repair” this code block. Maybe it would be good to remove the whole textual markup at once, leaving only the user-provided text that was marked up. By making it impossible or very unlikely to produce incorrect markup and by hiding the markup syntax itself the user wouldn’t have to learn it and also wouldn’t be exposed to it accidentally. At that point the syntax itself becomes secondary; this would then be similar to how enriched-mode works. -- Ricardo ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-06-17 3:36 ` Ricardo Wurmus @ 2020-06-17 3:46 ` Arthur Miller 0 siblings, 0 replies; 605+ messages in thread From: Arthur Miller @ 2020-06-17 3:46 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: Joost Kremers, Eli Zaretskii, emacs-devel Ricardo Wurmus <rekado@elephly.net> writes: > Eli Zaretskii <eliz@gnu.org> writes: > >>> From: Joost Kremers <joostkremers@fastmail.fm> >>> Date: Fri, 24 Apr 2020 08:36:49 +0200 > […] >>> The >>> point is, I need to know Org syntax anyway to do each single thing >>> separately. Integrating them doesn't require a deeper level of >>> knowledge than I already have. >> >> Unless I misunderstand what you mean by "Org syntax", I don't think >> users who want to create documents with Org should be required to know >> that syntax. Instead, there should be commands to help them produce >> correctly formatted snippets. Compare that with Texinfo commands >> which produce the various syntactic elements of the language. > > I would like to not have to bother with Org syntax at all, but after > using the commands that produce it I see that syntax. It can be very > confusing to see an unfamiliar syntax after issuing a command — what > parts of it may I edit? When I accidentally remove parts of it, how can > I restore the full syntax? > > Two things would help here, in my opinion: > > * hide the textual representation. > > My Org mode configuration replaces “*”, “**”, “***”, “****” with > “bullets” like "◉", "○", "◇", and "◇". I can produce them either by > tying “*” (if I know that syntax) or by using M-RET and S-right. Org > mode hides the syntax for URLs when [[…][…]] is used and displays just > an underlined and clickable URL. > > For source code blocks I replace “#+begin_src” and “#+end_src” with > markers like ✎ and □ and set the block visually apart by customizing > the faces. (See https://pank.eu/blog/pretty-babel-src-blocks.html) > > * delete the whole construct instead of deleting characters. Currently, > it is easy to end up with invalid syntax by deleting parts of the > markup text. Deleting the trailing “c” of “#+end_src” at the end of a > source code block, for example, breaks that code block but leaves the > “#+begin_src” and now incomplete “#+end_sr” where they are. I need to > know that I have to append a “c” at the end to restore the code > block. There is no command I can run to “repair” this code block. > Maybe it would be good to remove the whole textual markup at once, > leaving only the user-provided text that was marked up. > > By making it impossible or very unlikely to produce incorrect markup and > by hiding the markup syntax itself the user wouldn’t have to learn it > and also wouldn’t be exposed to it accidentally. > > At that point the syntax itself becomes secondary; this would then be > similar to how enriched-mode works. When I accidentally delete a part of markup, usually '[' or ']' in a link, it is immidiately reflected visually in the buffer so I just undo to "restore". For me it is just C-S--. But I do agree it would be usefull to make some markup "atomic", like for example "#+BEGIN_SRC", "#+END_SRC". But for some other markup it might be difficult. For example leading '*': sometimes it might be a misstake, but sometimes it might be intentionally, for example to change hte heading from say *** to **. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 8:41 ` Joost Kremers 2020-04-23 15:02 ` Eli Zaretskii @ 2020-04-24 2:37 ` Richard Stallman 2020-04-24 8:47 ` Joost Kremers 2020-04-24 9:59 ` Eli Zaretskii 1 sibling, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-24 2:37 UTC (permalink / raw) To: Joost Kremers; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Org's biggest strength > is that the various features are tightly integrated. You may see that as an advantage, but I consider it a drawback. The "tight integration" of these different features is an obstacle to learning to use one of them, or even finding out about one of them. *We need to make them separate.* Separate and integrated are not opposites. It is possible for several features to be integrated, in the sense that they work together _when you want that_, and also separate, in the sense that we describe each one separately and you can learn about one without paying the slightest attention to the others. That doesn't > mean you couldn't use Org for just one of its features, you > definitely could, but the beauty of the system is that the > different features aren't strictly separated. I would say that is the complexity and obscurity of the system. I think we can make them clearly separate, for purposes of documenting them, without reducing the ability to integrate them for users who use more than one. > =paper.org=. So far, so uninteresting. But with Org you can put > TODO notes in =paper.org=, add deadlines, date and time stamps, > etc., anything Org supports. Then, when you display your agenda > (i.e., run a function that takes the contents of, in this example, > =agenda.org=, and creates a nice overview of it in an agenda-like > fashion), you can have the TODO items, deadlines etc. from I can see that that integration is useful -- but _the fact that it applies only to "parts of Org mode"_ makes it also a a limitation. It is a drawback that _only_ the modes that are "part of Org mode" can integrate with these features -- and the rest of Emacs cannot do so. Instead of dividing Emacs facilities and modes into the "Org first-class modes" and the "Org second-class modes", we should make all modes equally able to integrate in these ways. > > It would make more sense to call them various different modes. > > That > > they all use a certain way of formatting the text may not be > > important > > to mention. > Actually, it's crucial to mention that. People who want to use a specific one of these facilities don't need to know that. It is useful for those users who want to use more than one of these facilities together -- but that should be an advanced topic. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 2:37 ` Richard Stallman @ 2020-04-24 8:47 ` Joost Kremers 2020-04-24 9:59 ` Eli Zaretskii 1 sibling, 0 replies; 605+ messages in thread From: Joost Kremers @ 2020-04-24 8:47 UTC (permalink / raw) To: emacs-devel On Fri, Apr 24 2020, 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. ]]] > > > Org's biggest strength > > is that the various features are tightly integrated. > > You may see that as an advantage, but I consider it a drawback. > The > "tight integration" of these different features is an obstacle > to > learning to use one of them, or even finding out about one of > them. No, it really isn't. It's just the way the current documentation is set up that makes this difficult. (I know, I agree, I've been there.) > Separate and integrated are not opposites. > It is possible for several features to be integrated, > in the sense that they work together _when you want that_, > and also separate, in the sense that we describe each one > separately > and you can learn about one without paying the slightest > attention > to the others. Again, that's all about documentation. > I can see that that integration is useful -- but _the fact that > it > applies only to "parts of Org mode"_ makes it also a a > limitation. > It is a drawback that _only_ the modes that are "part of Org > mode" can > integrate with these features -- and the rest of Emacs cannot do > so. > > Instead of dividing Emacs facilities and modes into the "Org > first-class modes" and the "Org second-class modes", we should > make > all modes equally able to integrate in these ways. That sounds good in theory, but I'm really not sure what that would mean in practice. (I'm not entirely sure that you do either. ;-) The reason Org's facilities can be so tightly integrated is because they all use the same Org syntax. Org files are just plain text files with a well-defined markup, after all. As for integrating with the rest of Emacs, any part of Emacs is free to make use of this syntax as well, Org in fact provides libraries to make this easier. For example, I maintain a package for managing .bib files. It integrates with Org in that the user can add notes to bib entries, which are kept in Org files, and the user can maintain a reading list, also as an Org file, which then integrates with the user's TODO list and calendar, if s/he so wishes. I started this package long before I ever heard of Org mode, but it was easy to add this functionality once I realised it would be useful to do so. So I believe the kind of integration you talk about is already possible, you just need to write the Elisp code to do it. In that way it doesn't differ from all the other facilities that Emacs provides: if I want to integrate Gnus and Eshell (whatever that would mean), I need to write Elisp code. This of course contrasts with the integration of the various facilities that Org provides, because that only requires knowledge of Org's syntax. But I believe that's OK and fully expected: the things Org can do are closely related and many people *need* them to integrate well with each other. So integrating them should be easy. On the other hand, what Gnus does has little to do with what Eshell does and scenarios where it would be useful to integrate them are probably rare. So it's OK that that's not so easy to do, as long as it's not impossible. > > > It would make more sense to call them various different > > > modes. That they all use a certain way of formatting the > > > text may not be important to mention. > > > Actually, it's crucial to mention that. > > People who want to use a specific one of these facilities don't > need > to know that. Sure, but I don't think it's a big cognitive burden for them to know that. Pointing out this fact in a couple of crucial places wouldn't take more than a sentence or two, with a reference to a section where it's all explained in more detail. > It is useful for those users who want to use more > than one of these facilities together -- but that should be > an advanced topic. No, it shouldn't be billed as an advanced topic, for two reasons. First, it really isn't advanced at all: like I said, you really only need to know Org syntax in order to integrate these facilities, and you need to know Org syntax anyway to be able to use just one facility. Second, the tight integration is one of the reasons people are attracted to Org mode in the first place, so it's likely something people will look for in a manual early on. Anyway, I think this subthread is slowly getting out of hand. :-) I don't believe our positions are as far apart as the discussion might suggest. I do agree with you and Eli that it would be very helpful if the Org manual were structured along the lines Eli suggested. I envisage an introductory section that clearly states the different use cases of Org and directs the reader to separate sections for each of them, which should all be written from the point of view of a new user, i.e., they shouldn't assume familiarity with any of the other use cases. At the same time, the introduction should mention Org's integrative nature and point the reader to relevant section(s), without labelling these as "advanced". Whether and to what extent the Org code base should be modified, I'm not qualified to say, but given the limited resources, it isn't likely to happen anyway. Improving the documentation would be a much better investment of time. -- Joost Kremers Life has its moments ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 2:37 ` Richard Stallman 2020-04-24 8:47 ` Joost Kremers @ 2020-04-24 9:59 ` Eli Zaretskii 2020-04-24 11:25 ` Robert Pluim 2020-04-25 3:35 ` Richard Stallman 1 sibling, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 9:59 UTC (permalink / raw) To: rms; +Cc: joostkremers, emacs-devel > From: Richard Stallman <rms@gnu.org> > Date: Thu, 23 Apr 2020 22:37:48 -0400 > Cc: emacs-devel@gnu.org > > Separate and integrated are not opposites. > It is possible for several features to be integrated, > in the sense that they work together _when you want that_, > and also separate, in the sense that we describe each one separately > and you can learn about one without paying the slightest attention > to the others. I think it's more correct to say that Org features are well integrated, not that they are tightly-coupled in the sense that they cannot work separately. I did (and do) successfully use a couple of Org features although I know and need very little of the rest. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 9:59 ` Eli Zaretskii @ 2020-04-24 11:25 ` Robert Pluim 2020-04-25 3:35 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Robert Pluim @ 2020-04-24 11:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: joostkremers, rms, emacs-devel >>>>> On Fri, 24 Apr 2020 12:59:06 +0300, Eli Zaretskii <eliz@gnu.org> said: >> From: Richard Stallman <rms@gnu.org> >> Date: Thu, 23 Apr 2020 22:37:48 -0400 >> Cc: emacs-devel@gnu.org >> >> Separate and integrated are not opposites. >> It is possible for several features to be integrated, >> in the sense that they work together _when you want that_, >> and also separate, in the sense that we describe each one separately >> and you can learn about one without paying the slightest attention >> to the others. Eli> I think it's more correct to say that Org features are well Eli> integrated, not that they are tightly-coupled in the sense that they Eli> cannot work separately. I did (and do) successfully use a couple of Eli> Org features although I know and need very little of the rest. And that 'little' extends to the Org syntax: there is no need to know all of it, or even a large part of it, since basic use just requires something like: * Heading level one Text ** Heading level two Text * Another heading level one ** TODO do some stuff Itʼs only when you start wanting to change org's default behaviour, or generate a custom agenda, or schedule TODO items, or track task time usage etc, that you need to learn more. Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 9:59 ` Eli Zaretskii 2020-04-24 11:25 ` Robert Pluim @ 2020-04-25 3:35 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-25 3:35 UTC (permalink / raw) To: Eli Zaretskii; +Cc: joostkremers, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I think it's more correct to say that Org features are well > integrated, not that they are tightly-coupled in the sense that they > cannot work separately. I did (and do) successfully use a couple of > Org features although I know and need very little of the rest. That is good news. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 2:36 ` Richard Stallman 2020-04-23 8:41 ` Joost Kremers @ 2020-04-23 14:43 ` Eli Zaretskii 2020-04-24 2:43 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-23 14:43 UTC (permalink / raw) To: rms; +Cc: joostkremers, mail, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: mail@nicolasgoaziou.fr, joostkremers@fastmail.fm, > emacs-devel@gnu.org > Date: Wed, 22 Apr 2020 22:36:55 -0400 > > It appears that what people call "Org mode" is a collection of diverse > features, and what they have in common is use of a certain format of > the text. Is that right? More or less, AFAIK. The common features are more than just the format, but the format is AFAIU the most important one. > > > As a consequence, it probably makes little sense to separate such > > > "facilities"---the term would need to be properly defined in the current > > > context, tho---, because each of them implies full support for the whole > > > Org syntax. > > Maybe that is how things are now, but is there a reason why things > SHOULD be done this way? Does each of these features need to support > "the whole Org syntax"? > > It could be that the simple way of implementing them is by sharing code > that implements "the whole Org syntax". If so, I won't argue against > sharing that code. But it may not be useful to TALK about the fact > that each one implements "the whole Org syntax". And it is possilble > that it is better to share only part of that code, not all. > > In other words, if we don't let the concept of "Org mode" shape our thinking, > we might thing of these features differently. It may be too late to actually separate the various features, especially since there doesn't seem to be anyone who'd want to do this (very complex) job. I think it would be a very useful step if the documentations and the general classes of the Org features would present to the users several disparate sets of capabilities, and would allow users to learn and use only the set(s) they need. > > HTH and TIA > > Hold Turnip Head and Turn It Around? ;-} Of course, what else? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 14:43 ` Eli Zaretskii @ 2020-04-24 2:43 ` Richard Stallman 2020-04-24 10:03 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-24 2:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: joostkremers, mail, 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. ]]] > It may be too late to actually separate the various features, Are you assuming that this means a lot of change in the code? I have no idea whether it does. Maybe most of the change needed is in documentation, and a few little details to go with the change in documentation. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 2:43 ` Richard Stallman @ 2020-04-24 10:03 ` Eli Zaretskii 2020-04-24 11:34 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 10:03 UTC (permalink / raw) To: rms; +Cc: joostkremers, mail, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: joostkremers@fastmail.fm, mail@nicolasgoaziou.fr, > emacs-devel@gnu.org > Date: Thu, 23 Apr 2020 22:43:05 -0400 > > > It may be too late to actually separate the various features, > > Are you assuming that this means a lot of change in the code? Yes, I think so. > I have no idea whether it does. Maybe most of the change needed > is in documentation, and a few little details to go with > the change in documentation. I think we should try changing the documentation first, as that is a Good Thing anyway. When that is done, we could consider whether any code changes are needed. (I actually expect that to become evident while the documentation is re-written in the directions I proposed: whoever will do that job will discover that, for example, to be able to produce a stand-alone document with Org, one would need features that currently belong to some unrelated Org part -- which would mean some code needs to be added or modified to make that feature seamlessly available to document-writers.) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 10:03 ` Eli Zaretskii @ 2020-04-24 11:34 ` Robert Pluim 2020-04-24 12:09 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Robert Pluim @ 2020-04-24 11:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: joostkremers, rms, mail, emacs-devel >>>>> On Fri, 24 Apr 2020 13:03:52 +0300, Eli Zaretskii <eliz@gnu.org> said: >> I have no idea whether it does. Maybe most of the change needed >> is in documentation, and a few little details to go with >> the change in documentation. Eli> I think we should try changing the documentation first, as that is a Eli> Good Thing anyway. When that is done, we could consider whether any Eli> code changes are needed. (I actually expect that to become evident Eli> while the documentation is re-written in the directions I proposed: Eli> whoever will do that job will discover that, for example, to be able Eli> to produce a stand-alone document with Org, one would need features Eli> that currently belong to some unrelated Org part -- which would mean Eli> some code needs to be added or modified to make that feature Eli> seamlessly available to document-writers.) That depends on what you mean by 'stand-alone'. The built-in Org mode from 'emacs -Q' can export to at least html, latex, pdf and odt by default, of which only latex and pdf require the installation of extra external tools. Thereʼs a texinfo backend as well that youʼd need to enable, which may well require external tool support (Iʼve never used it). Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 11:34 ` Robert Pluim @ 2020-04-24 12:09 ` Eli Zaretskii 2020-04-24 12:23 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 12:09 UTC (permalink / raw) To: Robert Pluim; +Cc: joostkremers, rms, mail, emacs-devel > From: Robert Pluim <rpluim@gmail.com> > Cc: rms@gnu.org, joostkremers@fastmail.fm, mail@nicolasgoaziou.fr, > emacs-devel@gnu.org > Date: Fri, 24 Apr 2020 13:34:13 +0200 > > Eli> I think we should try changing the documentation first, as that is a > Eli> Good Thing anyway. When that is done, we could consider whether any > Eli> code changes are needed. (I actually expect that to become evident > Eli> while the documentation is re-written in the directions I proposed: > Eli> whoever will do that job will discover that, for example, to be able > Eli> to produce a stand-alone document with Org, one would need features > Eli> that currently belong to some unrelated Org part -- which would mean > Eli> some code needs to be added or modified to make that feature > Eli> seamlessly available to document-writers.) > > That depends on what you mean by 'stand-alone'. The built-in Org mode > from 'emacs -Q' can export to at least html, latex, pdf and odt by > default, of which only latex and pdf require the installation of extra > external tools. That's orthogonal. By "stand-alone" I meant a document that doesn't require support from any additional Org features, like TODO notes, calendar appointments, etc. Just a document that includes structured text. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 12:09 ` Eli Zaretskii @ 2020-04-24 12:23 ` Robert Pluim 2020-04-24 12:32 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Robert Pluim @ 2020-04-24 12:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: joostkremers, rms, mail, emacs-devel >>>>> On Fri, 24 Apr 2020 15:09:26 +0300, Eli Zaretskii <eliz@gnu.org> said: >> From: Robert Pluim <rpluim@gmail.com> >> Cc: rms@gnu.org, joostkremers@fastmail.fm, mail@nicolasgoaziou.fr, >> emacs-devel@gnu.org >> Date: Fri, 24 Apr 2020 13:34:13 +0200 >> Eli> I think we should try changing the documentation first, as that is a Eli> Good Thing anyway. When that is done, we could consider whether any Eli> code changes are needed. (I actually expect that to become evident Eli> while the documentation is re-written in the directions I proposed: Eli> whoever will do that job will discover that, for example, to be able Eli> to produce a stand-alone document with Org, one would need features Eli> that currently belong to some unrelated Org part -- which would mean Eli> some code needs to be added or modified to make that feature Eli> seamlessly available to document-writers.) >> >> That depends on what you mean by 'stand-alone'. The built-in Org mode >> from 'emacs -Q' can export to at least html, latex, pdf and odt by >> default, of which only latex and pdf require the installation of extra >> external tools. Eli> That's orthogonal. By "stand-alone" I meant a document that doesn't Eli> require support from any additional Org features, like TODO notes, Eli> calendar appointments, etc. Just a document that includes structured Eli> text. None of those additional features are *required* for a document. All you need to produce a document is org-markup, like This is some *bold* text, this is some /italic/ text, and this should be =monospace= You donʼt even have to use headings if you donʼt want to. Or footnotes. Or links. Or inline latex. But you *can* if you want to. Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 12:23 ` Robert Pluim @ 2020-04-24 12:32 ` Eli Zaretskii 2020-04-24 12:39 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 12:32 UTC (permalink / raw) To: Robert Pluim; +Cc: joostkremers, rms, mail, emacs-devel > From: Robert Pluim <rpluim@gmail.com> > Date: Fri, 24 Apr 2020 14:23:16 +0200 > Cc: joostkremers@fastmail.fm, rms@gnu.org, mail@nicolasgoaziou.fr, > emacs-devel@gnu.org > > Eli> That's orthogonal. By "stand-alone" I meant a document that doesn't > Eli> require support from any additional Org features, like TODO notes, > Eli> calendar appointments, etc. Just a document that includes structured > Eli> text. > > None of those additional features are *required* for a document. I'm not surprised. But it could be that some minor feature will still need something. Like adding footnotes and links, perhaps? It's all should become clear once composing documents with Org is documented. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 12:32 ` Eli Zaretskii @ 2020-04-24 12:39 ` Robert Pluim 0 siblings, 0 replies; 605+ messages in thread From: Robert Pluim @ 2020-04-24 12:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: joostkremers, rms, mail, emacs-devel >>>>> On Fri, 24 Apr 2020 15:32:26 +0300, Eli Zaretskii <eliz@gnu.org> said: >> From: Robert Pluim <rpluim@gmail.com> >> Date: Fri, 24 Apr 2020 14:23:16 +0200 >> Cc: joostkremers@fastmail.fm, rms@gnu.org, mail@nicolasgoaziou.fr, >> emacs-devel@gnu.org >> Eli> That's orthogonal. By "stand-alone" I meant a document that doesn't Eli> require support from any additional Org features, like TODO notes, Eli> calendar appointments, etc. Just a document that includes structured Eli> text. >> >> None of those additional features are *required* for a document. Eli> I'm not surprised. But it could be that some minor feature will still Eli> need something. Like adding footnotes and links, perhaps? It's all Eli> should become clear once composing documents with Org is documented. Itʼs all text, so you can add those manually if desired. But org by default has keybindings for both of them :-) Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 14:25 ` Eli Zaretskii 2020-04-23 2:36 ` Richard Stallman @ 2020-04-23 12:33 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-23 12:33 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Nicolas Goaziou, joostkremers, rms, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > Etc., etc. I invite you to put yourself in the shows of a newcomer to > Org, and try to imagine how such a newcomer will be able to realize > that Org can be used as a word-processor... > > So please don't be surprised that Richard thinks about this what he > thinks. +1. I used Emacs for a long time, but I didn't adopt Org until a long time after its release (2013, 14 or so) or so, and even then the manual was showing its age. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 3:17 ` Richard Stallman 2020-04-22 9:12 ` Nicolas Goaziou @ 2020-04-23 2:32 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-23 2:32 UTC (permalink / raw) To: rms; +Cc: joostkremers, 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. ]]] Editing error: I sent > I found it impossible to learn what Org mode does. Its introduction > taught how to do outline editing. It made sense, but outline editing > useful for me, so I stopped reading. I did not want to study use of a > mode for outline editing. but I meant to send: > I found it impossible to learn what Org mode does. Its introduction > taught how to do outline editing. It made sense, but outline editing - > is not useful for me, so I stopped reading. I did not want to study use of a > mode for outline editing. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 2:19 ` "Why is emacs so square?" Richard Stallman 2020-04-20 3:07 ` Dmitry Gutov @ 2020-04-20 4:48 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-20 4:48 UTC (permalink / raw) To: Richard Stallman Cc: Dmitry Gutov, me, joseph.h.garvin, stefan, emacs-devel, eliz, drew.adams, ndame Richard Stallman <rms@gnu.org> writes: > What I had in mind, regarding variable-pitch text, was word processing. I was referring to how such features would allow people to potentially create nicer (well, mostly) graphical interfaces inside Emacs, which would in turn make Emacs appeal more in the minds of those who judge a book by its cover. Word processing in Emacs would also be nice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 5:37 ` Po Lu 2020-04-19 5:43 ` Po Lu @ 2020-04-19 6:32 ` 조성빈 2020-04-19 6:39 ` Po Lu 2020-04-19 6:52 ` ndame 2 siblings, 1 reply; 605+ messages in thread From: 조성빈 @ 2020-04-19 6:32 UTC (permalink / raw) To: Po Lu Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams Po Lu <luangruo@yahoo.com> 작성: > ndame <ndame@protonmail.com> writes: > >> I agree that Emacs is easier to program once you learned it, but >> other editors, like VSCode, has the advantage that you don't have to >> learn a quirky and unfamiliar language first. > >> Many developers know Javascript and even if one doesn't it's more similar >> to mainstream languages than lisp, so extension writers mostly has to >> learn the VSCode API only. > > Here's the problem: You have to learn the VS Code API. I'd say learning > that, and becoming reasonably proficient at it takes longer than > skimming through the Emacs Lisp intro. Skimming the Emacs Lisp intro doesn’t make one reasonably proficient in programming Emacs packages though. For one to understand how Emacs works (with it’s obscure naming scheme like windows), one has to jump a lot of hoops, and I can guarantee that one who is familiar with Algol-family languages can pick up the VSCode API much faster than picking up Lisp, Emacs, and the Emacs API. >> VScode has a very nice out of the box experience. If you want support >> for a language then it's one click to install it and it installs the >> necessary scaffolding too, like a language server for the language. > > We have several starter packs, with similarly nice OOTB experiences. But the default Emacs doesn’t have that, and that’s the problem. Which means that, for one to have nice OOTB experiences, one has to have a really good reason to use Emacs (like learning Common Lisp), then google how to configure Emacs, then encounter Spacemacs without knowing anything about evil or helm or ivy. And proficient Emacs users usually recommend not using a starter kit in the internet. (That’s my experience on trying to use Emacs.) >> And it has Electron for display support which has a mature browser >> engine behind it, so it can support advanced graphics features out >> of the box on all the supported platforms. > > Electron is not free software (https://labs.parabola.nu/issues/1167), > and is definitely not as well suited to providing an integrated > experience like Emacs. I don’t think OP was saying that we should use Electron for Emacs, but more that due to using Electron, it gives the stability that Emacs doesn’t give. Maybe you’ve only used Emacs on Linux, but at least on macOS, Emacs glitches, locks, and crashes very frequently, and that’s a non-starter for a lot of people. > For instance, even if you render raw HTML inside VS Code, you would not > be able to grab the region using VSC APIs. I'm not sure if the VSC API > allows interacting with the DOM, but from what I can tell, it can't. > > There are also various other issues, with relying on a lower-level > abstraction for "nice graphics features" (the DOM) that is outside the > editors control. > >> Out of the box experience matters. Familiarity matters (e.g supporting >> standard keys on the platfrom for cut and paste). Nice appearance matters. > > We have Cua mode. No, you don't need to have it enabled by default, > since it would result in unnecessary breakage for old users. It would > be nice if the startup screen informed users of features such as the > (hypothetical) GTK theme previously mentioned, and Cua. > > I personally think that the Emacs bindings are better, and in the end > work better with Emacs itself, but I do agree that newcomers should be > allowed to familiarize themselves with Emacs before moving their > workflow (and habits) to it entirely. > >> No wonder lot of developers choose VScode: >> https://trends.google.com/trends/explore?geo=US&q=emacs%20editor,visual%20studio%20code > > We're here to change that :) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 6:32 ` 조성빈 @ 2020-04-19 6:39 ` Po Lu 2020-04-19 6:41 ` Po Lu 2020-04-19 7:04 ` 조성빈 0 siblings, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 6:39 UTC (permalink / raw) To: 조성빈 Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams 조성빈 <pcr910303@icloud.com> writes: > Skimming the Emacs Lisp intro doesn’t make one reasonably proficient in > programming Emacs packages though. For one to understand how Emacs works > (with it’s obscure naming scheme like windows), one has to jump a lot of > hoops, and I can guarantee that one who is familiar with Algol-family > languages can pick up the VSCode API much faster than picking up Lisp, > Emacs, and the Emacs API. This is what gets interesting: Emacs Lisp is a language in it's own right, and the "Emacs API" is the Emacs Lisp language. Emacs Lisp is also a rather small and simple language. You don't have to pick up "Lisp", or the Emacs "API", you only pick up Emacs Lisp. > But the default Emacs doesn’t have that, and that’s the problem. > Which means that, for one to have nice OOTB experiences, one has to have > a really good reason to use Emacs (like learning Common Lisp), then google > how to configure Emacs, then encounter Spacemacs without knowing anything > about evil or helm or ivy. And proficient Emacs users usually recommend > not using a starter kit in the internet. (That’s my experience on trying > to use Emacs.) We could put a link to them somewhere, but that's something for RMS to decide. > I don’t think OP was saying that we should use Electron for Emacs, but more > that due to using Electron, it gives the stability that Emacs doesn’t give. > Maybe you’ve only used Emacs on Linux, but at least on macOS, Emacs glitches, > locks, and crashes very frequently, and that’s a non-starter for a lot > of people. If it "glitches, crashes, locks", that's a bug, and instead of treating it as a fact, report it. Plus, I know a lot of people who use Emacs on macOS, and I even had to use Emacs on Windows a long time back, and Emacs has always been rather solid. The starter packs are also supposed to work well, and it might also be a problem with your own config. OTOH, Lisp code shouldn't be able to make Emacs crash (unless you're doing stuff like running invalid bytecode, or overflowing the GC stack), and if it does, it's also a bug that should be fixed. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 6:39 ` Po Lu @ 2020-04-19 6:41 ` Po Lu 2020-04-19 7:04 ` 조성빈 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 6:41 UTC (permalink / raw) To: 조성빈 Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams Po Lu <luangruo@yahoo.com> writes: When I said > We could put a link to them somewhere, but that's something for RMS to > decide I meant > We could put a link to them somewhere, but that's probably something > for RMS to decide ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 6:39 ` Po Lu 2020-04-19 6:41 ` Po Lu @ 2020-04-19 7:04 ` 조성빈 2020-04-19 7:13 ` Po Lu 1 sibling, 1 reply; 605+ messages in thread From: 조성빈 @ 2020-04-19 7:04 UTC (permalink / raw) To: Po Lu Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams Po Lu <luangruo@yahoo.com> 작성: > 조성빈 <pcr910303@icloud.com> writes: > >> Skimming the Emacs Lisp intro doesn’t make one reasonably proficient in >> programming Emacs packages though. For one to understand how Emacs works >> (with it’s obscure naming scheme like windows), one has to jump a lot of >> hoops, and I can guarantee that one who is familiar with Algol-family >> languages can pick up the VSCode API much faster than picking up Lisp, >> Emacs, and the Emacs API. > > This is what gets interesting: Emacs Lisp is a language in it's own > right, and the "Emacs API" is the Emacs Lisp language. Emacs Lisp is > also a rather small and simple language. Emacs Lisp as a language and the standard library (the Emacs API) is different. For example, the fact that functions and variables have their own namespaces is a part of the language, and the functions self-insert-command or bury-buffer are parts of the API. You can call them as a whole Emacs Lisp, but that doesn’t mean that it’s more easier/simple than VSCode. Yes, Emacs Lisp isn’t a complex language like C++, but for outsiders that have never used Lisp, it’s hard to approach. Regardless, Emacs can’t stop using Emacs Lisp, so Emacs needs to be the reason for users to use Emacs Lisp, not backwards. And that means that Emacs should have a great onboarding experience (which is currently not true) with various packages for so many languages and productivity tools (which is IMHO true considering all of the packages in GitHub). > You don't have to pick up "Lisp", or the Emacs "API", you only > pick up Emacs Lisp. > >> But the default Emacs doesn’t have that, and that’s the problem. >> Which means that, for one to have nice OOTB experiences, one has to have >> a really good reason to use Emacs (like learning Common Lisp), then google >> how to configure Emacs, then encounter Spacemacs without knowing anything >> about evil or helm or ivy. And proficient Emacs users usually recommend >> not using a starter kit in the internet. (That’s my experience on trying >> to use Emacs.) > > We could put a link to them somewhere, but that's probably something for > RMS to decide. Yes, it would be very useful if we can include some links to the starter kits. Also, it would be great if Emacs can have a default init.el that gets generated when there is no one, so that first time users don’t get a bad impression. >> I don’t think OP was saying that we should use Electron for Emacs, but >> more >> that due to using Electron, it gives the stability that Emacs doesn’t >> give. >> Maybe you’ve only used Emacs on Linux, but at least on macOS, Emacs >> glitches, >> locks, and crashes very frequently, and that’s a non-starter for a lot >> of people. > > If it "glitches, crashes, locks", that's a bug, and instead of treating > it as a fact, report it. I know, I should report it, but I find that macOS/Windows is considered a second-platform here, and I didn't want to take my time writing reports just to get no feedback. I’ll try to report some today. (TBF, I remember trying to report them, searching for duplicates, and I saw some bug report on the exact same issue I was experiencing. I didn’t know how to subscribe, so I just thought that it might get fixed.) > Plus, I know a lot of people who use Emacs on > macOS, and I even had to use Emacs on Windows a long time back, and > Emacs has always been rather solid. The starter packs are also supposed > to work well, and it might also be a problem with your own config. > > OTOH, Lisp code shouldn't be able to make Emacs crash (unless you're > doing stuff like running invalid bytecode, or overflowing the GC stack), > and if it does, it's also a bug that should be fixed. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 7:04 ` 조성빈 @ 2020-04-19 7:13 ` Po Lu 2020-04-19 7:45 ` 조성빈 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-19 7:13 UTC (permalink / raw) To: 조성빈 Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams 조성빈 <pcr910303@icloud.com> writes: > Emacs Lisp as a language and the standard library (the Emacs API) is > different. For example, the fact that functions and variables have their > own namespaces is a part of the language, and the functions > self-insert-command or bury-buffer are parts of the API. Do buffer-local variables count as part of the language, or part of the API? What about text properties in strings? File-local variables? Primitives like `record_unwind_protect_excursion`? Or how the bytecode interpreter has a plethora of primitives that only make sense within Emacs. And I would consider `self-insert-command' part of Emacs Lisp the language, since it is implemented as a subr in C code. > You can call them as a whole Emacs Lisp, but that doesn’t mean that > it’s more easier/simple than VSCode. Yes, Emacs Lisp isn’t a complex > language like C++, but for outsiders that have never used Lisp, it’s > hard to approach. It's not hard to approach at all. The easy trick is to treat it as an editor macro language, instead of a Lisp dialect. > Regardless, Emacs can’t stop using Emacs Lisp, so Emacs needs to be the > reason for users to use Emacs Lisp, not backwards. And that means that > Emacs should have a great onboarding experience (which is currently not true) > with various packages for so many languages and productivity tools (which is > IMHO true considering all of the packages in GitHub). Emacs Lisp (more precisely, the first-class extensiblity) is one of the main reasons to choose Emacs, and the onboarding experience is exactly what we're talking about. > I know, I should report it, but I find that macOS/Windows is considered a > second-platform here, and I didn't want to take my time writing reports just > to get no feedback. I’ll try to report some today. macOS/Windows are considered second-class platforms, when it comes to features: features not available on free operating systems will not be available on non-free systems. macOS/Windows are not second-class platforms, when it comes to fixing bugs not present on free operating systems. > (TBF, I remember trying to report them, searching for duplicates, and > I saw some > bug report on the exact same issue I was experiencing. I didn’t know how to > subscribe, so I just thought that it might get fixed.) Hm, you can always M-x report-emacs-bug ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 7:13 ` Po Lu @ 2020-04-19 7:45 ` 조성빈 2020-04-19 7:55 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: 조성빈 @ 2020-04-19 7:45 UTC (permalink / raw) To: Po Lu Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams Po Lu <luangruo@yahoo.com> 작성: > 조성빈 <pcr910303@icloud.com> writes: > > >> Emacs Lisp as a language and the standard library (the Emacs API) is >> different. For example, the fact that functions and variables have their >> own namespaces is a part of the language, and the functions >> self-insert-command or bury-buffer are parts of the API. > > Do buffer-local variables count as part of the language, or part of the > API? What about text properties in strings? File-local variables? > Primitives like `record_unwind_protect_excursion`? Or how the bytecode > interpreter has a plethora of primitives that only make sense within > Emacs. > > And I would consider `self-insert-command' part of Emacs Lisp the > language, since it is implemented as a subr in C code. I was arguing that the surface area of Emacs is not smaller than VSCode, which makes the exact classification unnecessary. (FYI, I count buffer-local vars as a property of the runtime, text properties are definitely an Emacs API, and `record_unwind_protect_excursion` or other primitives, subrs like `self-insert-command` written in C are all Emacs APIs. The language are things like if-expressions, macros, symbols, etc…) >> You can call them as a whole Emacs Lisp, but that doesn’t mean that >> it’s more easier/simple than VSCode. Yes, Emacs Lisp isn’t a complex >> language like C++, but for outsiders that have never used Lisp, it’s >> hard to approach. > > It's not hard to approach at all. The easy trick is to treat it as an > editor macro language, instead of a Lisp dialect. I spread Emacs to my friends. Unless ones who already know Common Lisp, almost everyone feels that Emacs Lisp is a big hoop. >> Regardless, Emacs can’t stop using Emacs Lisp, so Emacs needs to be the >> reason for users to use Emacs Lisp, not backwards. And that means that >> Emacs should have a great onboarding experience (which is currently not >> true) >> with various packages for so many languages and productivity tools >> (which is >> IMHO true considering all of the packages in GitHub). > > Emacs Lisp (more precisely, the first-class extensiblity) is one of the > main reasons to choose Emacs, and the onboarding experience is exactly > what we're talking about. First class extensibility is probably one of the big reason to use Emacs, but that’s orthogonal to Emacs Lisp. And I can’t say that the onboarding experience is really about Emacs Lisp - users don’t try to add keybindings or custom functions on the first day of use. >> I know, I should report it, but I find that macOS/Windows is considered a >> second-platform here, and I didn't want to take my time writing reports >> just >> to get no feedback. I’ll try to report some today. > > macOS/Windows are considered second-class platforms, when it comes to > features: features not available on free operating systems will not be > available on non-free systems. macOS/Windows are not second-class > platforms, when it comes to fixing bugs not present on free operating > systems. > >> (TBF, I remember trying to report them, searching for duplicates, and >> I saw some >> bug report on the exact same issue I was experiencing. I didn’t know how >> to >> subscribe, so I just thought that it might get fixed.) > > Hm, you can always M-x report-emacs-bug ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 7:45 ` 조성빈 @ 2020-04-19 7:55 ` Po Lu 2020-04-19 7:59 ` ndame 2020-04-19 12:07 ` 조성빈 0 siblings, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 7:55 UTC (permalink / raw) To: 조성빈 Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams 조성빈 <pcr910303@icloud.com> writes: > (FYI, I count buffer-local vars as a property of the runtime, text > properties are definitely an Emacs API, and `record_unwind_protect_excursion` > or other primitives, subrs like `self-insert-command` written in C are all > Emacs APIs. The language are things like if-expressions, macros, > symbols, etc…) Here's the problem: primitives like buffer-local variables, text properties, and record_unwind_protect_excursion, and self-insert-command all depend on Emacs concepts such as "buffers", "windows", "frames" and on and on. All of these are implemented as language primitives (and in many cases, 'properties of the runtime', et cetera). The Lisp interpreter itself intermingles with "editor" code in a highly haphazard and ad-hoc way, with many "APIs" being implemented as core language constructs. My view is: if the language still makes sense when X construct is removed, X construct is considered outside the language. If it doesn't, X is part of the language. > I spread Emacs to my friends. Unless ones who already know Common Lisp, > almost everyone feels that Emacs Lisp is a big hoop. You're not spreading it right, then :) The Eintr teaches Emacs Lisp to non-programmers very well. It also teaches them how to extend the editor, in a straight-forward and easy-to-understand way. > First class extensibility is probably one of the big reason to use Emacs, but > that’s orthogonal to Emacs Lisp. And I can’t say that the onboarding > experience > is really about Emacs Lisp - users don’t try to add keybindings or custom > functions on the first day of use. The reason Emacs extensiblity is so first-class is because functionality for extending Emacs are implemented as primitives in the editor, and are not "APIs" grafted on top of other languages, such as VS Code or whatever. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 7:55 ` Po Lu @ 2020-04-19 7:59 ` ndame 2020-04-19 8:14 ` Po Lu 2020-04-19 12:07 ` 조성빈 1 sibling, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 7:59 UTC (permalink / raw) To: Po Lu Cc: 조성빈, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams > > You're not spreading it right, then :) > The Eintr teaches Emacs Lisp to non-programmers very well. It also > teaches them how to extend the editor, in a straight-forward and > easy-to-understand way. Are these materials available somewhere? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 7:59 ` ndame @ 2020-04-19 8:14 ` Po Lu 2020-04-19 8:16 ` ndame 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-19 8:14 UTC (permalink / raw) To: ndame Cc: 조성빈, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams ndame <ndame@protonmail.com> writes: >> >> You're not spreading it right, then :) >> The Eintr teaches Emacs Lisp to non-programmers very well. It also >> teaches them how to extend the editor, in a straight-forward and >> easy-to-understand way. > > Are these materials available somewhere? C-h i m Emacs Lisp Intro RET ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 8:14 ` Po Lu @ 2020-04-19 8:16 ` ndame 0 siblings, 0 replies; 605+ messages in thread From: ndame @ 2020-04-19 8:16 UTC (permalink / raw) To: Po Lu Cc: 조성빈, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams > > > > Are these materials available somewhere? > > C-h i m Emacs Lisp Intro RET Ah, I didn't get what Eintr refers to. I thought there were some new course for laypeople to learn emacs. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 7:55 ` Po Lu 2020-04-19 7:59 ` ndame @ 2020-04-19 12:07 ` 조성빈 2020-04-19 12:16 ` Po Lu 1 sibling, 1 reply; 605+ messages in thread From: 조성빈 @ 2020-04-19 12:07 UTC (permalink / raw) To: Po Lu Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams Po Lu <luangruo@yahoo.com> 작성: > 조성빈 <pcr910303@icloud.com> writes: > >> (FYI, I count buffer-local vars as a property of the runtime, text >> properties are definitely an Emacs API, and >> `record_unwind_protect_excursion` >> or other primitives, subrs like `self-insert-command` written in C are all >> Emacs APIs. The language are things like if-expressions, macros, >> symbols, etc…) > > Here's the problem: primitives like buffer-local variables, text > properties, and record_unwind_protect_excursion, and self-insert-command > all depend on Emacs concepts such as "buffers", "windows", "frames" and > on and on. All of these are implemented as language primitives (and in > many cases, 'properties of the runtime', et cetera). The Lisp > interpreter itself intermingles with "editor" code in a highly haphazard > and ad-hoc way, with many "APIs" being implemented as core language > constructs. > > My view is: if the language still makes sense when X construct is > removed, X construct is considered outside the language. If it doesn't, > X is part of the language. I personally think that various Emacs APIs regarding buffers, etc… is not part of the language, but that’s just my opinion. >> I spread Emacs to my friends. Unless ones who already know Common Lisp, >> almost everyone feels that Emacs Lisp is a big hoop. > > You're not spreading it right, then :) > The Eintr teaches Emacs Lisp to non-programmers very well. It also > teaches them how to extend the editor, in a straight-forward and > easy-to-understand way. No, people shouldn't need to learn a new language to use an editor. In the ideal world, normal people should be able to use package.el and custom.el to use Emacs without much fuss, and some people that is interested in can develop packages. It’s just that Emacs practically needs configuration to be usable - which means that one must learn Emacs lisp. Yes, Eintr teaches Emacs Lisp well, but that step should be optional. >> First class extensibility is probably one of the big reason to use >> Emacs, but >> that’s orthogonal to Emacs Lisp. And I can’t say that the onboarding >> experience >> is really about Emacs Lisp - users don’t try to add keybindings or custom >> functions on the first day of use. > > The reason Emacs extensiblity is so first-class is because functionality > for extending Emacs are implemented as primitives in the editor, and are > not "APIs" grafted on top of other languages, such as VS Code or > whatever. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 12:07 ` 조성빈 @ 2020-04-19 12:16 ` Po Lu 2020-04-20 2:19 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-19 12:16 UTC (permalink / raw) To: 조성빈 Cc: ndame, Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams 조성빈 <pcr910303@icloud.com> writes: > I personally think that various Emacs APIs regarding buffers, etc… is not > part of the language, but that’s just my opinion. They're implemented inside the language runtime, have relavant primitives inside the bytecode engine, et cetera. They're also the primary (I wouldn't go as far as to say only, but it's close) IO mechanism available in Emacs Lisp. > No, people shouldn't need to learn a new language to use an editor. > In the ideal world, normal people should be able to use package.el and > custom.el to use Emacs without much fuss, and some people that is > interested in can develop packages. Indeed, normal people can do exactly that even today. The point I'm making here is that learning Emacs Lisp itself will let you extend Emacs, and that there's no extra "Emacs API" to learn. > It’s just that Emacs practically needs configuration to be usable - which > means that one must learn Emacs lisp. > > Yes, Eintr teaches Emacs Lisp well, but that step should be optional. And it is optional; You can go by with package+custom fairly well. I know people who do that. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 12:16 ` Po Lu @ 2020-04-20 2:19 ` Richard Stallman 2020-04-20 4:30 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-20 2:19 UTC (permalink / raw) To: Po Lu Cc: me, joseph.h.garvin, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame [[[ 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 personally think that various Emacs APIs regarding buffers, etc… is not > > part of the language, but that’s just my opinion. > They're implemented inside the language runtime, have relavant > primitives inside the bytecode engine, et cetera. They're also the > primary (I wouldn't go as far as to say only, but it's close) IO > mechanism available in Emacs Lisp. Those are not part of the Lisp language, so they are not really part of the mission of the Lisp Reference Manual. It does document some internal C conventions because they are useful for people who want to customize at the C level, but we do that only to the extent that seems worth doing. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 2:19 ` Richard Stallman @ 2020-04-20 4:30 ` Po Lu 2020-04-21 1:50 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-20 4:30 UTC (permalink / raw) To: Richard Stallman Cc: me, joseph.h.garvin, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame Richard Stallman <rms@gnu.org> writes: > Those are not part of the Lisp language, so they are not really > part of the mission of the Lisp Reference Manual. > It does document some internal C conventions because they are useful > for people who want to customize at the C level, but we do that > only to the extent that seems worth doing. I'm just saying that I would consider buffers part of Emacs Lisp, and not a separate "Emacs Lisp standard library". ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 4:30 ` Po Lu @ 2020-04-21 1:50 ` Richard Stallman 2020-04-21 2:11 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-21 1:50 UTC (permalink / raw) To: Po Lu Cc: me, joseph.h.garvin, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame [[[ 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 just saying that I would consider buffers part of Emacs Lisp, and > not a separate "Emacs Lisp standard library". The Emacs Lisp Reference Manual documents the use of buffers from Emacs Lisp. Operating on them with C code is a different matter. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 1:50 ` Richard Stallman @ 2020-04-21 2:11 ` Po Lu 2020-04-22 3:19 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-21 2:11 UTC (permalink / raw) To: Richard Stallman Cc: me, joseph.h.garvin, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame Richard Stallman <rms@gnu.org> writes: > The Emacs Lisp Reference Manual documents the use of buffers > from Emacs Lisp. Operating on them with C code is a different matter. I wasn't referring to how buffers can be operated from C code. I was referring to how buffers are an integral part of the Emacs Lisp *language*, and not some hypothetical "standard library". I was also referring to how the Eintr explains how buffers can be manipulated from Lisp code quite well. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 2:11 ` Po Lu @ 2020-04-22 3:19 ` Richard Stallman 2020-04-22 4:36 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:19 UTC (permalink / raw) To: Po Lu Cc: me, joseph.h.garvin, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame [[[ 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 wasn't referring to how buffers can be operated from C code. I was > referring to how buffers are an integral part of the Emacs Lisp > *language*, and not some hypothetical "standard library". I don't think the concept of "standard library" makes sense for Emacs Lisp. However, I conceptually divide the programming facilities of Emacs into * The Emacs Lisp language and * the editing facilities. I see buffers as part of the editing facilities, not part of the Emacs Lisp language itself. > I was also referring to how the Eintr explains how buffers can be > manipulated from Lisp code quite well. What do you mean by the term "Eintr"? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 3:19 ` Richard Stallman @ 2020-04-22 4:36 ` Po Lu 2020-04-22 17:00 ` Stefan Monnier 2020-04-24 2:34 ` Richard Stallman 0 siblings, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-22 4:36 UTC (permalink / raw) To: Richard Stallman Cc: me, joseph.h.garvin, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame Richard Stallman <rms@gnu.org> writes: > I don't think the concept of "standard library" makes sense for Emacs > Lisp. However, I conceptually divide the programming facilities > of Emacs into > > * The Emacs Lisp language > > and > > * the editing facilities. > I see buffers as part of the editing facilities, not part of the Emacs > Lisp language itself. I'm not sure I see that distinction, since Emacs Lisp as a language doesn't really make sense without the editing facilities. It would make sense to classify Emacs Lisp as a whole as a highly domain-centric Lisp dialect. > What do you mean by the term "Eintr"? The book "An Introduction to Programming in Emacs Lisp" ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 4:36 ` Po Lu @ 2020-04-22 17:00 ` Stefan Monnier 2020-04-23 12:27 ` Po Lu 2020-04-24 2:34 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-04-22 17:00 UTC (permalink / raw) To: Po Lu Cc: me, joseph.h.garvin, Richard Stallman, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame >> I don't think the concept of "standard library" makes sense for Emacs >> Lisp. However, I conceptually divide the programming facilities >> of Emacs into >> >> * The Emacs Lisp language >> >> and >> >> * the editing facilities. Because of how it evolved, there is clear separation. And it's hard to retro-fit a distinction after-the-fact. But I personally do think of the Elisp world as split into various "layers": A- The core language itself. B- The core standard library. C- Extra libraries bundled with Emacs. D- Extra libraries distributed in GNU ELPA. E- Extra libraries distributed elsewhere. Yet, I would be hard pressed to draw the separation between some of those layers (and more so to "define" that separation). >> I see buffers as part of the editing facilities, not part of the Emacs >> Lisp language itself. Great example: putting it in (B) makes sense, yet at the same time I'd put buffer-local variables in (A), thus breaking the layering. > I'm not sure I see that distinction, since Emacs Lisp as a language > doesn't really make sense without the editing facilities. There are other implementations of Elisp, some of which are not tied to an editor, so it can make sense (see the paper Mike Sperber and I wrote for HOPL-2020 for an example). Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 17:00 ` Stefan Monnier @ 2020-04-23 12:27 ` Po Lu 2020-04-23 15:23 ` Stefan Monnier 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-23 12:27 UTC (permalink / raw) To: Stefan Monnier Cc: me, joseph.h.garvin, Richard Stallman, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame Stefan Monnier <monnier@iro.umontreal.ca> writes: > Because of how it evolved, there is clear separation. > And it's hard to retro-fit a distinction after-the-fact. > But I personally do think of the Elisp world as split into various "layers": > > A- The core language itself. > B- The core standard library. Are you referring to `subr.el' and friends, or built-in primitives, or subrs in *fns.c, or both, or all three? > Great example: putting it in (B) makes sense, yet at the same time I'd > put buffer-local variables in (A), thus breaking the layering. Precisely. > There are other implementations of Elisp, some of which are not tied to > an editor, so it can make sense (see the paper Mike Sperber and I wrote > for HOPL-2020 for an example). Of the many implementations that I see listed there, most are from the "let's rewrite Emacs (in our favorite language / better)" camp, and do include some (or most of) the editing primitives. Of the others, I don't really see Emacs Lisp, but a glorified MacLISP with optional lexical binding and some Emacs Lisp-ish features. I suppose we're operating on different definitions of what constitutes "Emacs Lisp". ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 12:27 ` Po Lu @ 2020-04-23 15:23 ` Stefan Monnier 2020-04-26 4:13 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-04-23 15:23 UTC (permalink / raw) To: Po Lu Cc: me, joseph.h.garvin, Richard Stallman, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame > Of the many implementations that I see listed there, most are from the > "let's rewrite Emacs (in our favorite language / better)" camp, and do > include some (or most of) the editing primitives. Of the others, I > don't really see Emacs Lisp, but a glorified MacLISP with optional > lexical binding and some Emacs Lisp-ish features. I was thinking mostly of the "elisp.lisp" package by Sam Steingold (and to a lesser extent librep). > I suppose we're operating on different definitions of what constitutes > "Emacs Lisp". I know for a fact that I operate on several different definitions of what constitutes "Elisp", yes ;-) Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 15:23 ` Stefan Monnier @ 2020-04-26 4:13 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-26 4:13 UTC (permalink / raw) To: Stefan Monnier Cc: me, joseph.h.garvin, Richard Stallman, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame Stefan Monnier <monnier@iro.umontreal.ca> writes: > I know for a fact that I operate on several different definitions of > what constitutes "Elisp", yes ;-) Fair enough, then. Thanks for clearing it up. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 4:36 ` Po Lu 2020-04-22 17:00 ` Stefan Monnier @ 2020-04-24 2:34 ` Richard Stallman 2020-04-24 2:50 ` Eduardo Ochs ` (2 more replies) 1 sibling, 3 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-24 2:34 UTC (permalink / raw) To: Po Lu Cc: me, joseph.h.garvin, stefan, emacs-devel, pcr910303, eliz, drew.adams, ndame [[[ 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. ]]] > > What do you mean by the term "Eintr"? > The book "An Introduction to Programming in Emacs Lisp" I was surprised to see that term used in connection with Emacs. Is that name for the manual used in any part of Emacs? I recognize EINTR only as an error code for system calls. ;-{. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 2:34 ` Richard Stallman @ 2020-04-24 2:50 ` Eduardo Ochs 2020-04-24 9:13 ` Kévin Le Gouguec 2020-04-24 9:55 ` Eli Zaretskii 2 siblings, 0 replies; 605+ messages in thread From: Eduardo Ochs @ 2020-04-24 2:50 UTC (permalink / raw) To: Emacs developers Hi Richard, this sexp (info "(eintr)Top") opens the manual "An Introduction to Programming in Emacs Lisp". On Fri, 24 Apr 2020 at 03:35, Richard Stallman <rms@gnu.org> wrote: > I was surprised to see that term used in connection with Emacs. > Is that name for the manual used in any part of Emacs? > > I recognize EINTR only as an error code for system calls. ;-{. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 2:34 ` Richard Stallman 2020-04-24 2:50 ` Eduardo Ochs @ 2020-04-24 9:13 ` Kévin Le Gouguec 2020-04-25 3:36 ` Richard Stallman 2020-04-24 9:55 ` Eli Zaretskii 2 siblings, 1 reply; 605+ messages in thread From: Kévin Le Gouguec @ 2020-04-24 9:13 UTC (permalink / raw) To: Richard Stallman Cc: me, joseph.h.garvin, stefan, emacs-devel, Po Lu, pcr910303, eliz, drew.adams, ndame Richard Stallman <rms@gnu.org> writes: > > > What do you mean by the term "Eintr"? > > > The book "An Introduction to Programming in Emacs Lisp" > > I was surprised to see that term used in connection with Emacs. > Is that name for the manual used in any part of Emacs? This comment in doc/lispintro/Makefile seem to point to hysterical raisins: #+begin_src makefile srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \ ${emacsdir}/docstyle.texi ${emacsdir}/emacsver.texi # … # The file name eintr must fit within 5 characters, to allow for # -NN extensions to fit into DOS 8+3 limits without clashing. ${buildinfodir}/eintr.info: ${srcs} | ${buildinfodir} $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $< #+end_src ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 9:13 ` Kévin Le Gouguec @ 2020-04-25 3:36 ` Richard Stallman 2020-04-25 6:46 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-25 3:36 UTC (permalink / raw) To: Kévin Le Gouguec Cc: me, joseph.h.garvin, stefan, emacs-devel, luangruo, pcr910303, eliz, drew.adams, ndame [[[ 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 file name eintr must fit within 5 characters, to allow for > # -NN extensions to fit into DOS 8+3 limits without clashing. Thanks for finding the reason. Eli, does this name length matter any more? Is the Emacs Lisp Intro long enough that it needs to generate subfiles named with two digits? Could we make it generate suffixes -N instead? Then we could call it ELINTR. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-25 3:36 ` Richard Stallman @ 2020-04-25 6:46 ` Eli Zaretskii 2020-04-26 3:24 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-25 6:46 UTC (permalink / raw) To: rms Cc: me, joseph.h.garvin, stefan, emacs-devel, luangruo, pcr910303, kevin.legouguec, drew.adams, ndame > From: Richard Stallman <rms@gnu.org> > Cc: me@enzu.ru, joseph.h.garvin@gmail.com, stefan@marxist.se, > emacs-devel@gnu.org, luangruo@yahoo.com, pcr910303@icloud.com, > eliz@gnu.org, drew.adams@oracle.com, ndame@protonmail.com > Date: Fri, 24 Apr 2020 23:36:03 -0400 > > > # The file name eintr must fit within 5 characters, to allow for > > # -NN extensions to fit into DOS 8+3 limits without clashing. > > Thanks for finding the reason. > > Eli, does this name length matter any more? No. Especially since we stopped splitting our manuals into foo-N parts long ago. The only issue today is that renaming the Info file will make the successful update of the system-wide DIR file by install-info at "make install" time more important, otherwise people might have an old manual presented to them. Not sure what this means for the various binary distros. Also, we need to rework all the references we have to that manual in Lisp files (I found only one such reference, FWIW). > Is the Emacs Lisp Intro long enough that it needs to generate subfiles > named with two digits? Could we make it generate suffixes -N instead? Not an issue anymore, see above. > Then we could call it ELINTR. I'd suggest ELINTRO or even LISPINTRO (similar to LISPREF for the ELisp reference manual). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-25 6:46 ` Eli Zaretskii @ 2020-04-26 3:24 ` Richard Stallman 0 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-26 3:24 UTC (permalink / raw) To: Eli Zaretskii Cc: me, joseph.h.garvin, stefan, emacs-devel, luangruo, pcr910303, kevin.legouguec, drew.adams, ndame [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I'd suggest ELINTRO or even LISPINTRO (similar to LISPREF for the > ELisp reference manual). Given we can use such a long name, I think LISPINTRO is good. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-24 2:34 ` Richard Stallman 2020-04-24 2:50 ` Eduardo Ochs 2020-04-24 9:13 ` Kévin Le Gouguec @ 2020-04-24 9:55 ` Eli Zaretskii 2 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 9:55 UTC (permalink / raw) To: rms Cc: me, joseph.h.garvin, stefan, emacs-devel, luangruo, pcr910303, drew.adams, ndame > From: Richard Stallman <rms@gnu.org> > Cc: me@enzu.ru, joseph.h.garvin@gmail.com, stefan@marxist.se, > emacs-devel@gnu.org, pcr910303@icloud.com, eliz@gnu.org, > drew.adams@oracle.com, ndame@protonmail.com > Date: Thu, 23 Apr 2020 22:34:27 -0400 > > > > What do you mean by the term "Eintr"? > > > The book "An Introduction to Programming in Emacs Lisp" > > I was surprised to see that term used in connection with Emacs. > Is that name for the manual used in any part of Emacs? It's the name of the Info file we produce from that manual: eintr.info. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 5:37 ` Po Lu 2020-04-19 5:43 ` Po Lu 2020-04-19 6:32 ` 조성빈 @ 2020-04-19 6:52 ` ndame 2020-04-19 13:29 ` Eli Zaretskii 2 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 6:52 UTC (permalink / raw) To: Po Lu Cc: Ahmed Khanzada, Stefan Kangas, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams > > Here's the problem: You have to learn the VS Code API. I'd say learning > that, and becoming reasonably proficient at it takes longer than > skimming through the Emacs Lisp intro. Learning lisp needs a new mindset while the VS Code API is just a bunch of method calls. And you don't need to learn the whole API. When I wrote an extension for a test, to see how hard it is then I just googled things and used those parts which I needed. I certanly didn't learn the whole vscode API, because it wasn't necessary. > > VScode has a very nice out of the box experience. If you want support > > for a language then it's one click to install it and it installs the > > necessary scaffolding too, like a language server for the language. > > We have several starter packs, with similarly nice OOTB experiences. But they are not advertised on the emacs homepage, so a new user who just googles emacs doesn't necessarily know about them. > > Electron is not free software (https://labs.parabola.nu/issues/1167), > and is definitely not as well suited to providing an integrated > experience like Emacs. I know it's not free software. I just meant it provided many features out of the box which has to be implemented separately for emacs. > For instance, even if you render raw HTML inside VS Code, you would not > be able to grab the region using VSC APIs. I'm not sure if the VSC API > allows interacting with the DOM, but from what I can tell, it can't. Certainly, it's more limited some ways, you don't have the freedom to access everything like in Emacs. > > We have Cua mode. No, you don't need to have it enabled by default, > since it would result in unnecessary breakage for old users. Well, I think old users could adapt for the sake of new users. New users shouldn't encounter lots of strange concepts from the start. For example, the current tutorial may not be the best approach. Explaining about cursor movement with C-f and C-b? Windows and frames? Why a new user who casually wants to try emacs has to start with this? A new user can use the cursor keys and the mouse to operate the menus. Rather than focusing on strange keys for cursor movement a better approach could be explaining what emacs does better than other tools and how to use those features. And users could be informed on the startup screen that they can learn traditional emacs keys in a separate tutorial if they are interested. > > I personally think that the Emacs bindings are better, and in the end > work better with Emacs itself, but I do agree that newcomers should be > allowed to familiarize themselves with Emacs before moving their > workflow (and habits) to it entirely. Exactly. Users should encounter a familiar environment first, using the keys they are used to. They can always move on if they decide to stay with emacs. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 6:52 ` ndame @ 2020-04-19 13:29 ` Eli Zaretskii 0 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-19 13:29 UTC (permalink / raw) To: ndame; +Cc: me, joseph.h.garvin, rms, stefan, emacs-devel, luangruo, drew.adams > Date: Sun, 19 Apr 2020 06:52:03 +0000 > From: ndame <ndame@protonmail.com> > Cc: Ahmed Khanzada <me@enzu.ru>, Stefan Kangas <stefan@marxist.se>, > Joseph Garvin <joseph.h.garvin@gmail.com>, Richard Stallman <rms@gnu.org>, > Emacs developers <emacs-devel@gnu.org>, Eli Zaretskii <eliz@gnu.org>, > Drew Adams <drew.adams@oracle.com> > > For example, the current tutorial may not be the best > approach. Explaining about cursor movement with C-f and C-b? Windows > and frames? > > Why a new user who casually wants to try emacs has to start with this? > > A new user can use the cursor keys and the mouse to operate the > menus. Rather than focusing on strange keys for cursor movement a > better approach could be explaining what emacs does better than other > tools and how to use those features. When did you last look at the tutorial that comes with Emacs? We mention the cursor keys there since Emacs 22.1. We mention PageUp/PageDown since Emacs 23.1. > And users could be informed on the startup screen that they can learn > traditional emacs keys in a separate tutorial if they are interested. We think using C-f/C-b etc. keys will help users type more efficiently, and we say so in the tutorial, _after_ saying that the "normal" cursor motion keys also work. I see nothing wrong with that. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 22:05 ` Ahmed Khanzada 2020-04-18 6:47 ` martin rudalics 2020-04-18 23:02 ` Stefan Kangas @ 2020-04-19 2:18 ` Richard Stallman 2020-04-19 2:33 ` Po Lu 2 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-19 2:18 UTC (permalink / raw) To: Ahmed Khanzada Cc: joseph.h.garvin, stefan, emacs-devel, eliz, drew.adams, ndame [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] I think you've stated the arguments very well. There are a couple of points where I would say something less strong. > 3. If Emacs was to become a "modern" app tomorrow, an editor extended > in Lisp still only has appeal for a minority of programmers, much like > the Lisp language itself. Most programmers looking for easy and modern > experiences will likely stick with Atom and Sublime. If Emacs were 100% as convenient and attractive as other editors, it is possible that a lot of users would use it. 30 years ago, the user profile of Emacs was much broader than it is today. It would be good to make this happen again. But that would require a number of changes, and I don't think that round corners would get us close to there. Thus, I think your point 3 is not valid in the universal sense that it is presented in, but it is valid for the this particular issue. If there are people who want to work on rounded corners, and assuming they do a good job, I won't argue against it. But if you want to attract more users to Emacs, I think there are more important areas for improvement. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 2:18 ` Richard Stallman @ 2020-04-19 2:33 ` Po Lu 2020-04-19 3:05 ` Jean-Christophe Helary ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 2:33 UTC (permalink / raw) To: Richard Stallman Cc: Ahmed Khanzada, joseph.h.garvin, stefan, emacs-devel, eliz, drew.adams, ndame [-- Attachment #1: Type: text/plain, Size: 1185 bytes --] Richard Stallman <rms@gnu.org> writes: > If Emacs were 100% as convenient and attractive as other editors, > it is possible that a lot of users would use it. 30 years ago, > the user profile of Emacs was much broader than it is today. > It would be good to make this happen again. I would personally say that several of the starter packs (Spacemacs and Doom immediately come to mind) are "attractive" and "modern", and don't really sacrifice any functionality to achieve that. Spacemacs is also very easy to set-up and use. (Doom's also getting there). > But that would require a number of changes, and I don't think that > round corners would get us close to there. Agreed. > If there are people who want to work on rounded corners, and assuming > they do a good job, I won't argue against it. But if you want > to attract more users to Emacs, I think there are more important > areas for improvement. I'm working on something that uses GTK foreign rendering to draw button and input field backgrounds as face boxes; I should be able to get it in a usable state soon (right now it only works on top of another set of patches I'm working on that make Emacs a pure GTK app). [-- Attachment #2: Screenshot --] [-- Type: image/png, Size: 131103 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 2:33 ` Po Lu @ 2020-04-19 3:05 ` Jean-Christophe Helary 2020-04-19 3:38 ` Po Lu 2020-04-19 4:55 ` ndame 2020-04-19 23:50 ` "Why is emacs so square?" Stefan Kangas 2 siblings, 1 reply; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-19 3:05 UTC (permalink / raw) To: emacs-devel > On Apr 19, 2020, at 11:33, Po Lu <luangruo@yahoo.com> wrote: > >> If there are people who want to work on rounded corners, and assuming >> they do a good job, I won't argue against it. But if you want >> to attract more users to Emacs, I think there are more important >> areas for improvement. > > I'm working on something that uses GTK foreign rendering to draw button > and input field backgrounds as face boxes; I should be able to get it > in a usable state soon (right now it only works on top of another set of > patches I'm working on that make Emacs a pure GTK app). Maybe it would be nice to have era-based user experiences. Like a 70's UI package, a 80's UI package, etc. That way it is just a matter of selecting a package and every generation will feel that emacs is just what works for them. Just half (maybe quarter) tongue in cheek. Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 3:05 ` Jean-Christophe Helary @ 2020-04-19 3:38 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 3:38 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: emacs-devel Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> writes: > Maybe it would be nice to have era-based user experiences. Like a 70's > UI package, a 80's UI package, etc. That way it is just a matter of > selecting a package and every generation will feel that emacs is just > what works for them. Just half (maybe quarter) tongue in cheek. I'm not sure that's necessary. It makes sense to have a set of well thought-out defaults that work for everyone, or perhaps a few extra custom themes (ie `gtk') that enable these options and are bundled with Emacs by default. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 2:33 ` Po Lu 2020-04-19 3:05 ` Jean-Christophe Helary @ 2020-04-19 4:55 ` ndame 2020-04-19 6:14 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") Po Lu 2020-04-19 23:50 ` "Why is emacs so square?" Stefan Kangas 2 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 4:55 UTC (permalink / raw) To: Po Lu Cc: Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com > > I'm working on something that uses GTK foreign rendering to draw button > and input field backgrounds as face boxes; I should be able to get it > in a usable state soon (right now it only works on top of another set of > patches I'm working on that make Emacs a pure GTK app). Looks good. These are the changes Emacs needs, so it has a nicer first impression for users who come from mainstream tools to give it a try. Emacs shouldn't look old fashioned out of the box. It would be great if it could use GTK widgets on all major GUI platforms, instead of text buttons and stuff. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 2020-04-19 4:55 ` ndame @ 2020-04-19 6:14 ` Po Lu 2020-04-19 6:54 ` Eduardo Ochs 2020-04-19 8:05 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 조성빈 0 siblings, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 6:14 UTC (permalink / raw) To: ndame Cc: Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com ndame <ndame@protonmail.com> writes: > Looks good. These are the changes Emacs needs, so it has a nicer first > impression for users who come from mainstream tools to give it a try. I don't think the general goal is for Emacs to imitate popular tools, but instead to make it a mainstream tool. To achieve this, we do need to make Emacs more friendly for newcomers, but we shouldn't erase the traits that make Emacs unique (such as extreme extensibility and customizability). IOW, everything added to make Emacs more friendly should be optional (but easily discoverable), and should not break backwards-compatiblity with existing configurations. Emacs has endured for 40+ years. I doubt that without the Emacsen I remember using with squeals of delight (Epoch, XEmacs, Emacs 19), and the various improvements they curtailed that Emacs would still be where it is now. Let's help Emacs endure another 40 years. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 2020-04-19 6:14 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") Po Lu @ 2020-04-19 6:54 ` Eduardo Ochs 2020-04-19 7:22 ` Making Emacs more friendly to newcomers Po Lu 2020-04-19 8:05 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 조성빈 1 sibling, 1 reply; 605+ messages in thread From: Eduardo Ochs @ 2020-04-19 6:54 UTC (permalink / raw) To: Po Lu Cc: Ahmed Khanzada, joseph.h.garvin@gmail.com, Richard Stallman, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com, ndame There are several different ways of making Emacs more friendly for newcomers, and we should take a look at all these different ways and try to connect them somehow. I gave a presentation about my way at the last EmacsConf. It's here: http://angg.twu.net/emacsconf2019.html and I mentioned briefly in the presentation - in slides 11-13 - how I've been using it to teach Emacs to lots of beginners. To make a long story very short: 0) install Emacs and eev in their machines, 1) teach them the basics of Lisp _IN THE FIRST FIVE MINUTES_, 2) show them how to navigate using the keys M-e, M-j, and M-k, and the menu bar and the tool bar. From the docs: M-e - to follow a hyperlink. Mnemonic: "(e)valuate"/"(e)xecute". M-j - to jump to certain predefined places. In particular, M-j without a numeric argument takes you to a buffer with basic help and a list of jump targets. See: http://angg.twu.net/eev-intros/find-eev-quick-intro.html#7.2 M-k - to go back. Mnemonic: "(k)ill buffer". Cheers, Eduardo Ochs http://angg.twu.net/#eev http://angg.twu.net/emacsconf2019.html On Sun, 19 Apr 2020 at 07:16, Po Lu <luangruo@yahoo.com> wrote: > > ndame <ndame@protonmail.com> writes: > > > Looks good. These are the changes Emacs needs, so it has a nicer first > > impression for users who come from mainstream tools to give it a try. > > I don't think the general goal is for Emacs to imitate popular tools, but > instead to make it a mainstream tool. To achieve this, we do need to > make Emacs more friendly for newcomers, but we shouldn't erase the > traits that make Emacs unique (such as extreme extensibility and > customizability). > > IOW, everything added to make Emacs more friendly should be optional > (but easily discoverable), and should not break backwards-compatiblity with > existing configurations. > > Emacs has endured for 40+ years. I doubt that without the Emacsen I > remember using with squeals of delight (Epoch, XEmacs, Emacs 19), and > the various improvements they curtailed that Emacs would still be where > it is now. Let's help Emacs endure another 40 years. > ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 6:54 ` Eduardo Ochs @ 2020-04-19 7:22 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 7:22 UTC (permalink / raw) To: Eduardo Ochs Cc: ndame, Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com Eduardo Ochs <eduardoochs@gmail.com> writes: > There are several different ways of making Emacs more friendly for > newcomers, and we should take a look at all these different ways and > try to connect them somehow. > > I gave a presentation about my way at the last EmacsConf. It's here: > > http://angg.twu.net/emacsconf2019.html > > and I mentioned briefly in the presentation - in slides 11-13 - how > I've been using it to teach Emacs to lots of beginners. To make a long > story very short: > > 0) install Emacs and eev in their machines, > > 1) teach them the basics of Lisp _IN THE FIRST FIVE MINUTES_, > > 2) show them how to navigate using the keys M-e, M-j, and M-k, > and the menu bar and the tool bar. > > From the docs: > > M-e - to follow a hyperlink. Mnemonic: "(e)valuate"/"(e)xecute". > > M-j - to jump to certain predefined places. In particular, M-j > without a numeric argument takes you to a buffer with basic > help and a list of jump targets. See: > > http://angg.twu.net/eev-intros/find-eev-quick-intro.html#7.2 > > M-k - to go back. Mnemonic: "(k)ill buffer". > > > Cheers, > Eduardo Ochs > http://angg.twu.net/#eev > http://angg.twu.net/emacsconf2019.html > > Your perspective is interesting. However, I think new users should be allowed to slowly adapt to the Emacs way, while being able to utilize their existing workflow and habits, instead of being fed a new set of habits and workflows in the first 5 minutes. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 2020-04-19 6:14 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") Po Lu 2020-04-19 6:54 ` Eduardo Ochs @ 2020-04-19 8:05 ` 조성빈 2020-04-19 8:12 ` ndame 2020-04-19 8:16 ` Po Lu 1 sibling, 2 replies; 605+ messages in thread From: 조성빈 @ 2020-04-19 8:05 UTC (permalink / raw) To: Po Lu Cc: ndame, Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com Po Lu <luangruo@yahoo.com> 작성: > ndame <ndame@protonmail.com> writes: > >> Looks good. These are the changes Emacs needs, so it has a nicer first >> impression for users who come from mainstream tools to give it a try. > > I don't think the general goal is for Emacs to imitate popular tools, but > instead to make it a mainstream tool. To achieve this, we do need to > make Emacs more friendly for newcomers, but we shouldn't erase the > traits that make Emacs unique (such as extreme extensibility and > customizability). > > IOW, everything added to make Emacs more friendly should be optional > (but easily discoverable), and should not break backwards-compatiblity with > existing configurations. I personally find that the stance of trying to not breaking anything is one of the big reasons that Emacs has a nonusable-without-configuration UX. Major version numbers are there for a reason… and we can expect for annoyed people to set some variables to get old behavior. > Emacs has endured for 40+ years. I doubt that without the Emacsen I > remember using with squeals of delight (Epoch, XEmacs, Emacs 19), and > the various improvements they curtailed that Emacs would still be where > it is now. Let's help Emacs endure another 40 years. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 2020-04-19 8:05 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 조성빈 @ 2020-04-19 8:12 ` ndame 2020-04-19 8:21 ` Making Emacs more friendly to newcomers Po Lu 2020-04-19 8:16 ` Po Lu 1 sibling, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 8:12 UTC (permalink / raw) To: 조성빈 Cc: Po Lu, Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com > > I personally find that the stance of trying to not breaking anything is > one of the big reasons that Emacs has a nonusable-without-configuration UX. > Major version numbers are there for a reason… and we can expect for annoyed > people to set some variables to get old behavior. Yes, these changes should be clearly marked in NEWS, so those who don't want them, can revert them. Out of the box Emacs should be instantly usable for newcomers and older users could adapt for the sake of Emacs. I wouldn't mind adding a line to my .emacs to turn something off which I don't need, but which can make the life of new users easier. For example, CUA mode could be on by default. I would turn it off, but it could make the life of new users easier if they didn't have to turn it on explicitly and they could use their copy/paste keys from the start like they are used it to in other tools. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 8:12 ` ndame @ 2020-04-19 8:21 ` Po Lu 2020-04-19 8:25 ` ndame 2020-04-19 13:35 ` Eli Zaretskii 0 siblings, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 8:21 UTC (permalink / raw) To: ndame Cc: 조성빈, Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com ndame <ndame@protonmail.com> writes: > Yes, these changes should be clearly marked in NEWS, so those who don't want > them, can revert them. Massive features that drastically change behaviour should be off by default. Stability over users. What's wrong with a button on the fancy splash screen? > Out of the box Emacs should be instantly usable for newcomers and older users > could adapt for the sake of Emacs. I wouldn't mind adding a line to my .emacs to > turn something off which I don't need, but which can make the life of new > users easier. You can't turn massive changes off by adding "one line to my .emacs". You can however turn them on by adding a button to the splash screen. Emacs cannot and will never be usable out-of-the-box for 100% of all usecases. You can however make it easier for people to start, and again that's when the "button on splash screen" approach comes in. > For example, CUA mode could be on by default. I would turn it off, but it could > make the life of new users easier if they didn't have to turn it on explicitly > and they could use their copy/paste keys from the start like they are used it to > in other tools. That mentality would lead to an unacceptable maintainence burden for a lot of people. Again: what's wrong with putting a button on the splash screen? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 8:21 ` Making Emacs more friendly to newcomers Po Lu @ 2020-04-19 8:25 ` ndame 2020-04-19 9:30 ` Po Lu 2020-04-19 22:44 ` Sébastien Gendre 2020-04-19 13:35 ` Eli Zaretskii 1 sibling, 2 replies; 605+ messages in thread From: ndame @ 2020-04-19 8:25 UTC (permalink / raw) To: Po Lu Cc: 조성빈, Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com > > > Yes, these changes should be clearly marked in NEWS, so those who don't want > > them, can revert them. > > Massive features that drastically change behaviour should be off by > default. Stability over users. What's wrong with a button on the fancy > splash screen? A button can work too. Or if emacs is started with no config file then it can ask "Are you using Emacs for the first time?" If the user says yes then it can offer to set some convenience features like CUA mode. And if the user says no then everything is as usual. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 8:25 ` ndame @ 2020-04-19 9:30 ` Po Lu 2020-04-19 22:44 ` Sébastien Gendre 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 9:30 UTC (permalink / raw) To: ndame Cc: 조성빈, Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com ndame <ndame@protonmail.com> writes: > A button can work too. Or if emacs is started with no config file then it can > ask "Are you using Emacs for the first time?" If the user says yes then it > can offer to set some convenience features like CUA mode. > > And if the user says no then everything is as usual. The latter now occours to me as being the best solution. Thanks for bringing it up. I believe it would be nice if we had both too. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 8:25 ` ndame 2020-04-19 9:30 ` Po Lu @ 2020-04-19 22:44 ` Sébastien Gendre 2020-04-20 0:36 ` Stefan Kangas ` (2 more replies) 1 sibling, 3 replies; 605+ messages in thread From: Sébastien Gendre @ 2020-04-19 22:44 UTC (permalink / raw) To: emacs-devel # Re: Making Emacs more friendly to newcomers Based on some suggestions on this topic, and some personal reflections, I have a suggestion. (Sorry, I didn't read all messages, maybe someone had already suggest the same thing) Let's see some use-cases: - Bob: A newcomer, who just discover Emacs. He search somthing who is visually modern, with all features he need to start writing code in most popular languages: Code colouration, auto-completion, code navigation, code documentation and functions/methods signature automatically shown, code errors/warnings signalling, REPL integration, snippets, strong GIT integration, etc. He also want to use basic features without the need to read a tutorial. Just install and go. But he is ok to read some tuto or manuals for advanced features. If we ask him question(s) about what to enable or not, he probably cannot respond (or thing he cannot). For him, Emacs need to be the most out of the box possible. - Alice: A long time user. She got a personal Emacs configuration she had perfected over the years. She chose herself what system is used to show function completion, which code parser is used for her daily used languages. She add some packages to integrate with special tools used at her work. Emacs is her home and office: She use it as much for her personal project than for her work. She also made a personal workflow with org-mode and write some personal Elisp functions and advices. She forge the tools to her need. She do not want to have an update of Emacs who break her configuration, her workflow or her muscle memory. - Mei: She simply want to use SpaceEmacs. She need to be sure SpaceEmacs would work out of the box and be able to override all defaults Emacs configuration. So SpaceEmacs developers need a way to doing their work without the need to deactivate a hundred of default features one after another and risk to forget one. This possibility should be well documented. As the need of Mei is covered by SpaceEmacs, she doesn't have special request about Emacs except make it easy to use SpaceEmacs. - Roberto: He work on a pre-configuration of Emacs, similar to SpaceEmacs. He need a simple and documented way to deactivate all default configurations that would make is work difficult. If possible, in one move. And, of course, he need to know what is deactivated so he can choose wisely what to enable and what to not. For these 4 use-cases, we can simply provide 2 flavors of Emacs: - Emacs: With all the 2020 features, a modern interface, all needed modern features to start coding with most popular languages and easy to use for basic usages - Emacs Vanilla: All the new features are still there, but deactivate to not break anything And these 2 flavors can be in the same text editor: For switch from a flavor to another, simply enable the global-minor-mode `vanilla-mode`. And if Emacs detect, after an update or a first start, an already existing configuration that it could break because of some features: Emacs simply activate `vanilla-mode` automatically. For our use-cases, this would be: - Bob simply download and run Emacs. He got everything he wanted and start to code. Emacs can manage Bob projects, show documentation and errors, etc. Then, after some times, Bob can read some manuals to personalise his installation of Emacs. - Alice update Emacs. When she restart it, Emacs detect an already existing configuration that it could break by enabling some features. So, Emacs simply enable `vanilla-mode` and add it to the `init.el`. Emacs also show a message to Alice: "Emacs detected that you have some personal configuration, so it active Vanilla-mode to avoid breaking your configuration. Vanilla-mode deactivate some features that you can re-enable manually.". This message is accompanied by a clickable link to the documentation about the `vanilla-mode` to see what it does in the details and what is deactivate. - Mei simply download Emacs and SpaceEmacs. She follow SpaceEmacs instruction and everything work. - Roberto add `(vanilla-mode)` to his `init.el` file and start writing his pre-configuration of Emacs. He is certain that no future version of Emacs would break his work and he can share publicly his configuration as SpaceEmacs or Doom Emacs do. It's just a starting point, but I think this could be a simple but very useful solution. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 22:44 ` Sébastien Gendre @ 2020-04-20 0:36 ` Stefan Kangas 2020-04-20 3:32 ` Tim Cross 2020-04-20 4:53 ` Po Lu 2020-04-20 14:22 ` Eli Zaretskii 2 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-20 0:36 UTC (permalink / raw) To: Sébastien Gendre; +Cc: Emacs developers Sébastien Gendre <seb@k-7.ch> writes: > For these 4 use-cases, we can simply provide 2 flavors of Emacs: > - Emacs: With all the 2020 features, a modern interface, all needed > modern features to start coding with most popular languages and easy > to use for basic usages > - Emacs Vanilla: All the new features are still there, but deactivate > to not break anything I'm personally not against the idea of having a separate backwards compatibility mode. But I guess we would need to pull in several third-party packages to have a modern "batteries included" Emacs. AFAIK, that is unfortunately not possible given the copyright assignment requirement. But perhaps a default "modern" mode could be a bit less ambitious. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 0:36 ` Stefan Kangas @ 2020-04-20 3:32 ` Tim Cross 2020-04-20 9:54 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Tim Cross @ 2020-04-20 3:32 UTC (permalink / raw) To: Stefan Kangas; +Cc: Sébastien Gendre, Emacs developers [-- Attachment #1: Type: text/plain, Size: 1324 bytes --] How will any of this differ from the many existing canned default setups already available? In fact, given the limitation on only using Emacs built-in packages, is it even possible to do a setup which is even close to some of these canned setups, many of which appear to be targeted at new users (spacemacs, doom, prelude, etc). Are we just talking about a GNU canned configuration? On Mon, 20 Apr 2020 at 10:37, Stefan Kangas <stefan@marxist.se> wrote: > Sébastien Gendre <seb@k-7.ch> writes: > > > For these 4 use-cases, we can simply provide 2 flavors of Emacs: > > - Emacs: With all the 2020 features, a modern interface, all needed > > modern features to start coding with most popular languages and easy > > to use for basic usages > > - Emacs Vanilla: All the new features are still there, but deactivate > > to not break anything > > I'm personally not against the idea of having a separate backwards > compatibility mode. > > But I guess we would need to pull in several third-party packages to > have a modern "batteries included" Emacs. AFAIK, that is > unfortunately not possible given the copyright assignment requirement. > But perhaps a default "modern" mode could be a bit less ambitious. > > Best regards, > Stefan Kangas > > -- regards, Tim -- Tim Cross [-- Attachment #2: Type: text/html, Size: 1897 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 3:32 ` Tim Cross @ 2020-04-20 9:54 ` Po Lu 2020-04-20 13:50 ` Stefan Monnier 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-20 9:54 UTC (permalink / raw) To: Tim Cross; +Cc: Stefan Kangas, Sébastien Gendre, Emacs developers Tim Cross <theophilusx@gmail.com> writes: > How will any of this differ from the many existing canned default setups already available? In fact, given the limitation on only using Emacs built-in packages, is it even possible to do a setup which is even close to some of these canned setups, many of which appear to > be targeted at new users (spacemacs, doom, prelude, etc). Are we just talking about a GNU canned configuration? More of a few well thought-out tips that are easily discoverable by users. > But I guess we would need to pull in several third-party packages to > have a modern "batteries included" Emacs. AFAIK, that is > unfortunately not possible given the copyright assignment requirement. > But perhaps a default "modern" mode could be a bit less ambitious. Agreed, but I believe most package maintainers would be willing to assign copyright to the FSF. (For instance Eglot would count as an important package, and it's in ELPA). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 9:54 ` Po Lu @ 2020-04-20 13:50 ` Stefan Monnier 2020-04-21 8:52 ` Po Lu 2020-04-21 13:57 ` Simen Heggestøyl 0 siblings, 2 replies; 605+ messages in thread From: Stefan Monnier @ 2020-04-20 13:50 UTC (permalink / raw) To: Po Lu; +Cc: Tim Cross, Stefan Kangas, Sébastien Gendre, Emacs developers For the record, I have a proof-of-concept package for GNU ELPA which I call `gnu-elpa` and which just adds "most" of the autoloads found in GNU ELPA packages (along with the corresponding changes to `auto-mode-alist`), such that `M-x eglot` or opening a smalltalk file will prompt the user if they want to install the corresponding package. It's not as good as activating `eglot` and `company`, but I think such a `gnu-elpa` package should ideally be bundled with Emacs-28. Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 13:50 ` Stefan Monnier @ 2020-04-21 8:52 ` Po Lu 2020-04-21 13:57 ` Simen Heggestøyl 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-21 8:52 UTC (permalink / raw) To: Stefan Monnier Cc: Tim Cross, Stefan Kangas, Sébastien Gendre, Emacs developers Stefan Monnier <monnier@iro.umontreal.ca> writes: > For the record, I have a proof-of-concept package for GNU ELPA which > I call `gnu-elpa` and which just adds "most" of the autoloads found in > GNU ELPA packages (along with the corresponding changes to > `auto-mode-alist`), such that `M-x eglot` or opening a smalltalk file > will prompt the user if they want to install the corresponding package. That's interesting. I remember someone working on something similar, but would find autoloads inside any package.el repository (it would download, extract and cache the autoloads from a list of packages beforehand). > It's not as good as activating `eglot` and `company`, but I think such > a `gnu-elpa` package should ideally be bundled with Emacs-28. Yeah, that would be nice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 13:50 ` Stefan Monnier 2020-04-21 8:52 ` Po Lu @ 2020-04-21 13:57 ` Simen Heggestøyl 2020-04-21 15:36 ` Yuan Fu 1 sibling, 1 reply; 605+ messages in thread From: Simen Heggestøyl @ 2020-04-21 13:57 UTC (permalink / raw) To: Stefan Monnier Cc: Po Lu, Tim Cross, Stefan Kangas, Sébastien Gendre, Emacs developers Stefan Monnier <monnier@iro.umontreal.ca> writes: > For the record, I have a proof-of-concept package for GNU ELPA which > I call `gnu-elpa` and which just adds "most" of the autoloads found in > GNU ELPA packages (along with the corresponding changes to > `auto-mode-alist`), such that `M-x eglot` or opening a smalltalk file > will prompt the user if they want to install the corresponding package. > > It's not as good as activating `eglot` and `company`, but I think such > a `gnu-elpa` package should ideally be bundled with Emacs-28. That sounds really nice. -- Simen ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 13:57 ` Simen Heggestøyl @ 2020-04-21 15:36 ` Yuan Fu 2020-04-22 3:14 ` Richard Stallman 2020-04-22 4:33 ` Po Lu 0 siblings, 2 replies; 605+ messages in thread From: Yuan Fu @ 2020-04-21 15:36 UTC (permalink / raw) To: Simen Heggestøyl Cc: Tim Cross, Stefan Kangas, Emacs developers, Po Lu, Stefan Monnier, Sébastien Gendre > On Apr 21, 2020, at 9:57 AM, Simen Heggestøyl <simenheg@runbox.com> wrote: > > Stefan Monnier <monnier@iro.umontreal.ca> writes: > >> For the record, I have a proof-of-concept package for GNU ELPA which >> I call `gnu-elpa` and which just adds "most" of the autoloads found in >> GNU ELPA packages (along with the corresponding changes to >> `auto-mode-alist`), such that `M-x eglot` or opening a smalltalk file >> will prompt the user if they want to install the corresponding package. >> >> It's not as good as activating `eglot` and `company`, but I think such >> a `gnu-elpa` package should ideally be bundled with Emacs-28. > > That sounds really nice. > > — Simen > I like the idea. If I open a Racket file in VSCode, it show a prompt that asks me if I want to search the “market place” for a racket plugin. If I click yes and click install, everything magically works. Now my racket buffer has completion, highlight, etc. For more popular languages like python, VSCode even auto detects for linters and python executables, etc. And with one click it finds (or downloads) linters and executables and sets them up for me. Maybe it is hard to make Emacs as pretty as VSCode (with all the fancy visual web tech); but making Emacs smarter and more helpful should be a tractable task. We already have Customize, all we need to do next is to add some smart helper functions that install packages and setup stuff. Yuan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 15:36 ` Yuan Fu @ 2020-04-22 3:14 ` Richard Stallman 2020-04-22 4:33 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:14 UTC (permalink / raw) To: Yuan Fu; +Cc: theophilusx, stefan, emacs-devel, luangruo, monnier, seb, simenheg [[[ 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. ]]] > >> For the record, I have a proof-of-concept package for GNU ELPA which > >> I call `gnu-elpa` and which just adds "most" of the autoloads found in > >> GNU ELPA packages (along with the corresponding changes to > >> `auto-mode-alist`), such that `M-x eglot` or opening a smalltalk file > >> will prompt the user if they want to install the corresponding package. It is ok to do this with GNU ELPA, because we could move those packages into the Emacs distribution if that ever seems advantageous for any reason. We don't have an essential need to make a distinction between the packages in GNU ELPA and the ones in the Emacs distinction itself. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 15:36 ` Yuan Fu 2020-04-22 3:14 ` Richard Stallman @ 2020-04-22 4:33 ` Po Lu 2020-04-23 6:33 ` Ahmed Khanzada 1 sibling, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-22 4:33 UTC (permalink / raw) To: Yuan Fu Cc: Simen Heggestøyl, Stefan Monnier, Tim Cross, Stefan Kangas, Sébastien Gendre, Emacs developers Yuan Fu <casouri@gmail.com> writes: > I like the idea. If I open a Racket file in VSCode, it show a prompt > that asks me if I want to search the “market place” for a racket > plugin. If I click yes and click install, everything magically > works. Now my racket buffer has completion, highlight, etc. For more > popular languages like python, VSCode even auto detects for linters > and python executables, etc. And with one click it finds (or > downloads) linters and executables and sets them up for me. Maybe it > is hard to make Emacs as pretty as VSCode (with all the fancy visual > web tech); but making Emacs smarter and more helpful should be a > tractable task. We already have Customize, all we need to do next is > to add some smart helper functions that install packages and setup > stuff. I'd say Emacs can be made to look just as nice as VS Code with some minor tweaks, and yeah it would be nice if Stefan's package (or something similar) would be able to suggest Geiser upon opening a Scheme (or Racket) file. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 4:33 ` Po Lu @ 2020-04-23 6:33 ` Ahmed Khanzada 2020-04-23 10:14 ` Stefan Kangas 2020-04-23 14:55 ` Eli Zaretskii 0 siblings, 2 replies; 605+ messages in thread From: Ahmed Khanzada @ 2020-04-23 6:33 UTC (permalink / raw) To: Po Lu Cc: Yuan Fu, Tim Cross, Stefan Kangas, Emacs developers, Stefan Monnier, Sébastien Gendre, Simen Heggestøyl > I'd say Emacs can be made to look just as nice as VS Code with some > minor tweaks, and yeah it would be nice if Stefan's package (or > something similar) would be able to suggest Geiser upon opening a Scheme > (or Racket) file. I wonder what kind of effect it will have on the community when packages in the same domain compete to be "anointed" as the package that Emacs shall recommend for a particular file type or feature. Or do we approach it like the EU did with web browsers, and when Emacs boots, we suggest either enabling Ivy, Helm, or Company for text completion? There are never more than a few packages seriously competing in the same domain anyway, if one can even call it competition. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 6:33 ` Ahmed Khanzada @ 2020-04-23 10:14 ` Stefan Kangas 2020-04-23 14:55 ` Eli Zaretskii 1 sibling, 0 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-23 10:14 UTC (permalink / raw) To: Ahmed Khanzada Cc: Yuan Fu, Tim Cross, Emacs developers, Po Lu, Stefan Monnier, Sébastien Gendre, Simen Heggestøyl Ahmed Khanzada <me@enzu.ru> writes: > Or do we approach it like the EU did with web browsers, and when Emacs > boots, we suggest either enabling Ivy, Helm, or Company for text > completion? There are never more than a few packages seriously competing in the > same domain anyway, if one can even call it competition. I think we should offer a multiple choice question, ideally with some brief explanation of the differences between the packages. It would also be good if one could easily switch between alternatives. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 6:33 ` Ahmed Khanzada 2020-04-23 10:14 ` Stefan Kangas @ 2020-04-23 14:55 ` Eli Zaretskii 2020-04-23 17:07 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: " Stefan Kangas 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-23 14:55 UTC (permalink / raw) To: Ahmed Khanzada Cc: casouri, theophilusx, stefan, emacs-devel, luangruo, monnier, seb, simenheg > Date: Wed, 22 Apr 2020 23:33:32 -0700 > From: Ahmed Khanzada <me@enzu.ru> > Cc: Yuan Fu <casouri@gmail.com>, Tim Cross <theophilusx@gmail.com>, > Stefan Kangas <stefan@marxist.se>, Emacs developers <emacs-devel@gnu.org>, > Stefan Monnier <monnier@iro.umontreal.ca>, > Sébastien Gendre <seb@k-7.ch>, > Simen Heggestøyl <simenheg@runbox.com> > > I wonder what kind of effect it will have on the community when > packages in the same domain compete to be "anointed" as the package that > Emacs shall recommend for a particular file type or feature. We have several of such "competitors" already in core. Did anything bad happen? And it isn't like packages are lining up to be included in Emacs, or even "anointed" by it, is it? Boy, I'd like to be there. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-23 14:55 ` Eli Zaretskii @ 2020-04-23 17:07 ` Stefan Kangas 2020-04-23 23:45 ` Jean-Christophe Helary ` (3 more replies) 0 siblings, 4 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-23 17:07 UTC (permalink / raw) To: Eli Zaretskii, Emacs developers Eli Zaretskii <eliz@gnu.org> writes: > And it isn't like packages are lining up to be included in Emacs, or > even "anointed" by it, is it? Boy, I'd like to be there. I strongly agree. In fact, I would go so far as to say that this is an important strategic consideration for GNU Emacs. It's very unfortunate that there are so many great packages that are only available to a subsection of users willing or able to install third party packages. It's too easy for package authors to just throw it up on MELPA and be done with it, without realizing the many benefits of getting it into GNU Emacs. There would be some great benefits to having more deserving packages in core, or even GNU ELPA: - They would reach a wider audience. - We can do more to ensure they integrate well with all other packages. - We could consider enabling some of them by default. - We would have a world class team of Emacs Lisp hackers (in other words, emacs-devel) reviewing the documentation and code. - etc., etc. The reasons why package authors would not want to include it, on the other hand, could obviously vary. Some of the reasons I have seen are unfortunately very shallow: - Misconceptions about how hard it is to work with emacs-devel. - An unwillingness to assign copyright to the FSF, seemingly often more due to inertia than any principled opposition. - Strongly ideological anti-FSF sentiments (often disguised as "non-ideological" or "practical"). I mean, that's my impression of it, and I'm not pretending that this list is exhaustive or even generally correct. But maybe we should think about how we can argue our case more strongly, and clear up at least some of the misconceptions. For example, we could make additions to the Emacs Lisp manual on why one would want to push to have their package included. We could also explain that they can have their code in GNU ELPA, or even GNU Emacs, and host a development repository anywhere they like, etc. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-23 17:07 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: " Stefan Kangas @ 2020-04-23 23:45 ` Jean-Christophe Helary 2020-04-24 0:51 ` chad 2020-04-24 9:02 ` Eli Zaretskii 2020-04-24 5:26 ` Po Lu ` (2 subsequent siblings) 3 siblings, 2 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-23 23:45 UTC (permalink / raw) To: Emacs developers > On Apr 24, 2020, at 2:07, Stefan Kangas <stefan@marxist.se> wrote: > > The reasons why package authors would not want to include it, on the other hand, > could obviously vary. Some of the reasons I have seen are > unfortunately very shallow: > > - Misconceptions about how hard it is to work with emacs-devel. That's something that documentation can fix. > - An unwillingness to assign copyright to the FSF, seemingly often more due to > inertia than any principled opposition. It has been mentioned a number of times already. I think that the process could be streamlined (and there is a need to check that with the legal team I guess). For one, the actually *submission* of the copyright assignment to the FSF could me made to be as easy as a simple code commit, signed with something like a gpg key or something. Once the developer has simply "pushed that button," the contribution should be considered valid, and then eventually the developer receives a PDF signed by the FSF to confirm the assignment. And that should be it (or are there cases when the FSF refuses the assignment ?) > - Strongly ideological anti-FSF sentiments (often disguised as "non-ideological" > or "practical"). Hahaha :) I'm not sure a REOPEN YOUR CODE meme would pass muster in our times, but it seems to me that there is some overlap between populations that reject the FSF "because freedom" and those who reject sanitary lockdown "because freedom". But I won't err on that path any further :) > I mean, that's my impression of it, and I'm not pretending that this list is > exhaustive or even generally correct. I think point 1 and 2 are the best the FSF/GNU could do. > But maybe we should think about how we can argue our case more strongly, and > clear up at least some of the misconceptions. For example, we could make > additions to the Emacs Lisp manual on why one would want to push to have their > package included. We could also explain that they can have their code in GNU > ELPA, or even GNU Emacs, and host a development repository anywhere > they like, etc. Excellent !!! Yes, and the emacs site too ! Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-23 23:45 ` Jean-Christophe Helary @ 2020-04-24 0:51 ` chad 2020-04-24 2:02 ` Jean-Christophe Helary 2020-04-24 9:02 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: chad @ 2020-04-24 0:51 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: Emacs developers [-- Attachment #1: Type: text/plain, Size: 1381 bytes --] On Thu, Apr 23, 2020 at 4:46 PM Jean-Christophe Helary < jean.christophe.helary@traduction-libre.org> wrote: > > On Apr 24, 2020, at 2:07, Stefan Kangas <stefan@marxist.se> wrote: > > - Misconceptions about how hard it is to work with emacs-devel. > > That's something that documentation can fix. > I'm not sure how. I think the widespread conception is that working with emacs-devel is more difficult than working with many, many other free- and open-source projects, and I think that conception is correct. Compared to "fork the project and submit a pull request" or "publish a package on melpa", following emacs' patch guidelines is harder. Emacs requires additional paperwork. Updating the documentation (NEWS, Changelog, the info manuals) is harder and involves tools, tech, and practices that are unfamiliar to most potential developers. Using debbugs has improved a lot in the past few years, but is still a pain-point for many. Following the emacs-devel mailing list is, let's say, not a welcoming experience for everyone. That doesn't even touch on the difficulties of interacting with the core. I think that the end result of emacs' processes is high-quality code that runs on many more systems than the vast majority of software, but I don't think most new developers are shying away from working on emacs because of the lack or quality of the documentation. ~Chad [-- Attachment #2: Type: text/html, Size: 1902 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-24 0:51 ` chad @ 2020-04-24 2:02 ` Jean-Christophe Helary 0 siblings, 0 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-24 2:02 UTC (permalink / raw) To: Emacs developers > On Apr 24, 2020, at 9:51, chad <yandros@gmail.com> wrote: > > > On Thu, Apr 23, 2020 at 4:46 PM Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> wrote: > > On Apr 24, 2020, at 2:07, Stefan Kangas <stefan@marxist.se> wrote: > > - Misconceptions about how hard it is to work with emacs-devel. > > That's something that documentation can fix. > > I'm not sure how. I think the widespread conception is that working with emacs-devel is more difficult than working with many, many other free- and open-source projects, and I think that conception is correct. That depends on where you come from. A lot of people have not been contaminated by the entitlement that comes with the "I'm sending a PR, please check it in" generated by the Github culture. I'm not saying that PRs are bad, just that a lot of people think that whatever they do is OK. Documenting means stating that Emacs is not just another "open source project you can contribute to in the weekends" (although that's also possible). It is Free Software and it is robust and it is here to last. All that comes with requirements and that's fair. > Compared to "fork the project and submit a pull request" or "publish a package on melpa", following emacs' patch guidelines is harder. Please. As a totally non-developer I was able, with the guidance of a lot of people here, to follow the rules and get some code in the emacs core code and in package.el. Yes, it is harder because the requirements are different. > Emacs requires additional paperwork. I proposed a solution in my suggestions. > Updating the documentation (NEWS, Changelog, the info manuals) is harder and involves tools, tech, and practices that are unfamiliar to most potential developers. And if they can learn emacs-lisp enough to contribute something, they can certainly learn a few extra things. > Using debbugs has improved a lot in the past few years, but is still a pain-point for many. Following the emacs-devel mailing list is, let's say, not a welcoming experience for everyone. It is an *always* enriching experience. > That doesn't even touch on the difficulties of interacting with the core. > > I think that the end result of emacs' processes is high-quality code that runs on many more systems than the vast majority of software, but I don't think most new developers are shying away from working on emacs because of the lack or quality of the documentation. Maybe we're not talking about the same thing ? When I say document the process, I mean putting it in nice colors on the web site, so as to ease the pain for people who are used to nice colors on web sites but who can still go deeper and commit themselves to serious code. Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-23 23:45 ` Jean-Christophe Helary 2020-04-24 0:51 ` chad @ 2020-04-24 9:02 ` Eli Zaretskii 1 sibling, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-24 9:02 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: emacs-devel > From: Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> > Date: Fri, 24 Apr 2020 08:45:43 +0900 > > > - An unwillingness to assign copyright to the FSF, seemingly often more due to > > inertia than any principled opposition. > > It has been mentioned a number of times already. > > I think that the process could be streamlined (and there is a need to check that with the legal team I guess). > > For one, the actually *submission* of the copyright assignment to the FSF could me made to be as easy as a simple code commit, signed with something like a gpg key or something. Commit to what repository? > Once the developer has simply "pushed that button," the contribution should be considered valid, and then eventually the developer receives a PDF signed by the FSF to confirm the assignment. The assignment form requires one to file a couple of personal details that are unlikely to be possible to be gleaned from a commit. In some situations, the assignment needs a disclaimer from the person's employer to go with it, something that again is unlikely to be triggered by any commit anywhere. I believe these aspects of the copyright assignment process are the ones that require a separate communication between humans. Of course, if it can somehow be simplified, I'm all for it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-23 17:07 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: " Stefan Kangas 2020-04-23 23:45 ` Jean-Christophe Helary @ 2020-04-24 5:26 ` Po Lu 2020-04-25 15:31 ` Stefan Kangas 2020-06-13 11:59 ` Konstantin Kharlamov 3 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-24 5:26 UTC (permalink / raw) To: Stefan Kangas; +Cc: Eli Zaretskii, Emacs developers Stefan Kangas <stefan@marxist.se> writes: > The reasons why package authors would not want to include it, on the other hand, > could obviously vary. Some of the reasons I have seen are > unfortunately very shallow: > > (1) - Misconceptions about how hard it is to work with emacs-devel. > (2) - An unwillingness to assign copyright to the FSF, seemingly often more due to > inertia than any principled opposition. > (3) - Strongly ideological anti-FSF sentiments (often disguised as "non-ideological" > or "practical"). > > I mean, that's my impression of it, and I'm not pretending that this list is > exhaustive or even generally correct. With Emacs, my experience has been that (1) and (2) are the most common reasons, with (1) being slightly more common. I don't believe I've seen anyone refuse to assign copyright to the FSF over (3) for Emacs packages in a long time. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-23 17:07 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: " Stefan Kangas 2020-04-23 23:45 ` Jean-Christophe Helary 2020-04-24 5:26 ` Po Lu @ 2020-04-25 15:31 ` Stefan Kangas 2020-04-26 11:57 ` Jean-Christophe Helary 2020-06-13 11:59 ` Konstantin Kharlamov 3 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-25 15:31 UTC (permalink / raw) To: Eli Zaretskii, Emacs developers [-- Attachment #1: Type: text/plain, Size: 493 bytes --] Stefan Kangas <stefan@marxist.se> writes: > - An unwillingness to assign copyright to the FSF, seemingly often more due to > inertia than any principled opposition. Here's a first proposal to improve the situation: including the "Why Assign?" text in the manual. Yes, the manual will be longer, but if even one more person will read and understand the reasons behind the FSF's insistence on assignments, I think it will be worth it. Please see the attached. Best regards, Stefan Kangas [-- Attachment #2: copyright.diff --] [-- Type: application/octet-stream, Size: 1915 bytes --] diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 33f67f2b44..04bb1bb021 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -1443,8 +1443,32 @@ Copyright Assignment Generally speaking, for non-trivial contributions to GNU Emacs and packages stored in GNU ELPA, we require that the copyright be assigned -to the FSF@. For the reasons behind this, see -@url{https://www.gnu.org/licenses/why-assign.html}. +to the FSF@. Professor Eben Moglen, Columbia University Law School, +has explained the reasons why: + +@quotation +Under US copyright law, which is the law under which most free +software programs have historically been first published, there are +very substantial procedural advantages to registration of +copyright. And despite the broad right of distribution conveyed by +the GPL, enforcement of copyright is generally not possible for +distributors: only the copyright holder or someone having assignment +of the copyright can enforce the license. If there are multiple +authors of a copyrighted work, successful enforcement depends on +having the cooperation of all authors. + +In order to make sure that all of our copyrights can meet the +recordkeeping and other requirements of registration, and in order to +be able to enforce the GPL most effectively, FSF requires that each +author of code incorporated in FSF projects provide a copyright +assignment, and, where appropriate, a disclaimer of any work-for-hire +ownership claims by the programmer's employer. That way we can be sure +that all the code in FSF projects is free code, whose freedom we can +most effectively protect, and therefore on which other developers can +completely rely. + +From: @url{https://www.gnu.org/licenses/why-assign.html} +@end quotation Copyright assignment is a simple process. Residents of some countries can do it entirely electronically. We can help you get started, ^ permalink raw reply related [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-25 15:31 ` Stefan Kangas @ 2020-04-26 11:57 ` Jean-Christophe Helary 2020-04-26 12:17 ` Stephen Berman 0 siblings, 1 reply; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-26 11:57 UTC (permalink / raw) To: Emacs developers > On Apr 26, 2020, at 0:31, Stefan Kangas <stefan@marxist.se> wrote: > > Stefan Kangas <stefan@marxist.se> writes: > >> - An unwillingness to assign copyright to the FSF, seemingly often more due to >> inertia than any principled opposition. > > Here's a first proposal to improve the situation: including the "Why > Assign?" text in the manual. Yes, the manual will be longer, but if > even one more person will read and understand the reasons behind the > FSF's insistence on assignments, I think it will be worth it. Please > see the attached. > > Best regards, > Stefan Kangas > <copyright.diff> "each author ... provide+s" ? Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-26 11:57 ` Jean-Christophe Helary @ 2020-04-26 12:17 ` Stephen Berman 2020-04-26 12:52 ` Jean-Christophe Helary 0 siblings, 1 reply; 605+ messages in thread From: Stephen Berman @ 2020-04-26 12:17 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: Emacs developers On Sun, 26 Apr 2020 20:57:17 +0900 Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> wrote: >> On Apr 26, 2020, at 0:31, Stefan Kangas <stefan@marxist.se> wrote: >> >> Stefan Kangas <stefan@marxist.se> writes: >> >>> - An unwillingness to assign copyright to the FSF, seemingly often more due to >>> inertia than any principled opposition. >> >> Here's a first proposal to improve the situation: including the "Why >> Assign?" text in the manual. Yes, the manual will be longer, but if >> even one more person will read and understand the reasons behind the >> FSF's insistence on assignments, I think it will be worth it. Please >> see the attached. >> >> Best regards, >> Stefan Kangas >> <copyright.diff> > > "each author ... provide+s" ? In this context ("FSF requires that each author of code incorporated in FSF projects provide a copyright assignment") "provide" is correct (here corresponding to the subjunctive in French), especially in formal registers of English, though many people don't use this in everyday speaking or writing. Steve Berman ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-26 12:17 ` Stephen Berman @ 2020-04-26 12:52 ` Jean-Christophe Helary 0 siblings, 0 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-26 12:52 UTC (permalink / raw) To: Emacs developers > On Apr 26, 2020, at 21:17, Stephen Berman <stephen.berman@gmx.net> wrote: > > On Sun, 26 Apr 2020 20:57:17 +0900 Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> wrote: > >>> On Apr 26, 2020, at 0:31, Stefan Kangas <stefan@marxist.se> wrote: >>> >>> Stefan Kangas <stefan@marxist.se> writes: >>> >>>> - An unwillingness to assign copyright to the FSF, seemingly often more due to >>>> inertia than any principled opposition. >>> >>> Here's a first proposal to improve the situation: including the "Why >>> Assign?" text in the manual. Yes, the manual will be longer, but if >>> even one more person will read and understand the reasons behind the >>> FSF's insistence on assignments, I think it will be worth it. Please >>> see the attached. >>> >>> Best regards, >>> Stefan Kangas >>> <copyright.diff> >> >> "each author ... provide+s" ? > > In this context ("FSF requires that each author of code incorporated in > FSF projects provide a copyright assignment") "provide" is correct (here > corresponding to the subjunctive in French), especially in formal > registers of English, though many people don't use this in everyday > speaking or writing. Thank you for the reminder !!! Last time I had formal English teaching was 35 years ago... :( Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-04-23 17:07 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: " Stefan Kangas ` (2 preceding siblings ...) 2020-04-25 15:31 ` Stefan Kangas @ 2020-06-13 11:59 ` Konstantin Kharlamov 2020-06-13 12:50 ` Eli Zaretskii ` (2 more replies) 3 siblings, 3 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 11:59 UTC (permalink / raw) To: Stefan Kangas, Eli Zaretskii, Emacs developers On Thu, 2020-04-23 at 19:07 +0200, Stefan Kangas wrote: > Eli Zaretskii <eliz@gnu.org> writes: > The reasons why package authors would not want to include it, on the > other hand, > could obviously vary. Some of the reasons I have seen are > unfortunately very shallow: > > - Misconceptions about how hard it is to work with emacs-devel. Hello! As someone who does not contribute to Emacs for the sole reason it is *way* harder than in any other project I'm aware of (although well in line with other GNU projects, but even among them Emacs takes the lead) I want to emphasize this is not a "shallow reason". It all comes down to Emacs development not being automated. Which puts down too much strain on contributors (not mentioning Emacs maintainers here, because last time this discussion happened (1.5 year ago I think), Eli ensured me that they are okay. Fair enough: I'm not a Emacs maintainer, not gonna speak for them). 1. There are many wrong ways to send a patch; and the correct one is the most non-obvious. Most popular mistakes I think come down to copy- pasting the patch into email client. Most modern email clients require lots of tinkering before they work fine with plain text, otherwise they'll screw patch up in various ways (breaking lines, replacing whitespace, removing whitespace, you name it). Okay, so usually email-based projects recommend using git-send- email. Recently I sent a patch like this¹ and got a complaint it doesn't look like what git-format-patch would produce (is that maybe a hint maintainers are being strained too?). Huh, wrong way again? I'll give you some examples so you'd see the format looks exactly what other email-based project use/used: one from Mesa project² (well, before they moved over to Gitlab-based development) and another one from kernel³. What's the correct way? Well, apparently it is either to combine in some way git-send-email and git-format-patch, or it is to attach a patch to email. "To attach", who would've thought? Attaching patches is frowned upon in all other email-based projects because it is hard to review it, Idk why Emacs even allows that… Okay, let's get back to all those "great packages not included in Emacs": YOU CAN NOT SEND THEM PATCH WRONG. Sorry for caps, I want to make sure it is visible: there is no way I'll send a patch, say, to company-mode, and will get a reply "Dude, your patch does not apply here"! They use either (open-source btw) Gitlab or (proprietary) Github. You can use command line or web-browser to send patches — either way, it all becomes a thing called merge/pull request, and making sure it is correct is all automated. Zero efforts from package maintainers or contributors. 2. Unusual requirements from commit messages: no other projects require writing down a list of functions I changed just for the fun of it. This is what there diff is for! Let me guess where the requirement came from: I remember seeing that Emacs maintainers accept even patches with a bunch of unrelated changes, like 1. renaming a variable, 2. refactoring a code, 3. adding a new feature. No serious project would accept such patches, but apparently Emacs decided to hack that around, and are instead requiring that people write down each function name and its change in commit message. Okay, you want this — but could you at least automate it! And no, some Emacs function does not cut it, people not necessarily use git from Emacs. I personally don't. Please, use git hoooks, because this is what everyone is *forced* to use, you can't possibly miss a git hook. And please, make sure that when people do git-commit-amend, the function names are updated accordingly. Full automation, to make sure this unusual unique requirement of Emacs development stays as unobtrusive as possible. 3. FSF assignment: yeah, it is easy to get. But as a package maintainer, would I want more contributions or only having code from elite members of FSF? I'd go for the former. If some package user found some corner case in a function in my package and wants to contribute it now, and I stop them "go assign some copyright and don't appear at my project without that", this is a punch into motivation. They may do it or not, it depends. 4. Patches are discussed on a bugtracker. Good news: contributors probably won't care. Bad news: as a package maintainer I'd not want to give up my abilities to 1. Close outdated discussions 2. See the diff between current and previous patchset version 3. Immediately see which patchset is the current version. 4. Automatically run CI on the new uploaded version of the patchset. 5. Immediately merge the patchset once I'm fine with the changes. 5. As a contributor, when I stumble upon a bug I could fix in software, first thing I usually do is go check it is not fixed in latest code and that there's no pending merge/pull requests that seem to fix that same thing. So, for example, I want to see pending patchsets to python-mode, can I do that with Emacs "bug-patch-tracker"? No, with debbugs.gnu.org you can either find pending patchsets, or you can make a text search, but over everything: bugs, patchsets, closed or not… P.S.: I have a feeling, people on Emacs-devel don't consider these to be anything but nuance. Well, I've got FSF assignment for contributing to Emacs, and since then I have many times stumbled upon things I could try to improve. But every time it happens, I remember how hard it is to contribute here, and dismiss myself with "no, not worth it". The patch from two weeks ago¹ was the exception just because when I stumbled upon that problem, I immediately figured it is likely a one-liner fix. As it currently stands, I'd strongly recommend against moving packages from gitlab/github to Emacs upstream. 1: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41684 2: https://lists.freedesktop.org/archives/mesa-dev/2018-December/210803.html 3: https://lists.gt.net/linux/kernel/3588040 ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 11:59 ` Konstantin Kharlamov @ 2020-06-13 12:50 ` Eli Zaretskii 2020-06-13 13:41 ` Konstantin Kharlamov 2020-06-13 14:16 ` Alan Third 2020-06-13 14:35 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers Dmitry Gutov 2020-06-17 3:58 ` Ricardo Wurmus 2 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-13 12:50 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: stefan, emacs-devel > From: Konstantin Kharlamov <hi-angel@yandex.ru> > Date: Sat, 13 Jun 2020 14:59:21 +0300 > > Okay, so usually email-based projects recommend using git-send- > email. Recently I sent a patch like this¹ and got a complaint it > doesn't look like what git-format-patch would produce (is that maybe a > hint maintainers are being strained too?). Huh, wrong way again? FTR: that wasn't a complaint, it was a gentle request for the future. Your patch was committed, before I sent that request, even though committing it required some extra manual work on my part. We recommend using git-format-patch because it makes applying the patch easier and less error prone. It never occurred to me that a routine recommendation would be interpreted as a "complaint", let alone trigger a 950-word rant. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 12:50 ` Eli Zaretskii @ 2020-06-13 13:41 ` Konstantin Kharlamov 2020-06-13 14:16 ` Alan Third 1 sibling, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 13:41 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stefan, emacs-devel On Sat, 2020-06-13 at 15:50 +0300, Eli Zaretskii wrote: > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > Date: Sat, 13 Jun 2020 14:59:21 +0300 > > > > Okay, so usually email-based projects recommend using git-send- > > email. Recently I sent a patch like this¹ and got a complaint it > > doesn't look like what git-format-patch would produce (is that > > maybe a > > hint maintainers are being strained too?). Huh, wrong way again? > > FTR: that wasn't a complaint, it was a gentle request for the future. > Your patch was committed, before I sent that request, even though > committing it required some extra manual work on my part. > > We recommend using git-format-patch because it makes applying the > patch easier and less error prone. It never occurred to me that a > routine recommendation would be interpreted as a "complaint", let > alone trigger a 950-word rant. That "rant" is for a reason though? I love Emacs, and it hurts me to see human resources are being spent in places that other projects trivially avoid. If you multiply that effort by number of contributors that made similar mistake and maintainers that wrote to them about it, I think it would've resulted in time that could've been spent to do something much more useful. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 12:50 ` Eli Zaretskii 2020-06-13 13:41 ` Konstantin Kharlamov @ 2020-06-13 14:16 ` Alan Third 2020-06-13 14:19 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: Alan Third @ 2020-06-13 14:16 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, stefan, Konstantin Kharlamov On Sat, Jun 13, 2020 at 03:50:05PM +0300, Eli Zaretskii wrote: > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > Date: Sat, 13 Jun 2020 14:59:21 +0300 > > > > Okay, so usually email-based projects recommend using git-send- > > email. Recently I sent a patch like this¹ and got a complaint it > > doesn't look like what git-format-patch would produce (is that maybe a > > hint maintainers are being strained too?). Huh, wrong way again? > > FTR: that wasn't a complaint, it was a gentle request for the future. > Your patch was committed, before I sent that request, even though > committing it required some extra manual work on my part. > > We recommend using git-format-patch because it makes applying the > patch easier and less error prone. It never occurred to me that a > routine recommendation would be interpreted as a "complaint", let > alone trigger a 950-word rant. I could be wrong but to me that patch looks fine and applies here without modification. The only possibly unusual step I took was to save the complete email to a file, then I applied it using git as normal. Am I missing something here? -- Alan Third ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:16 ` Alan Third @ 2020-06-13 14:19 ` Eli Zaretskii 2020-06-13 14:23 ` Alan Third 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-13 14:19 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel, stefan, hi-angel > Date: Sat, 13 Jun 2020 16:16:55 +0200 (CEST) > From: Alan Third <alan@idiocy.org> > Cc: Konstantin Kharlamov <hi-angel@yandex.ru>, stefan@marxist.se, > emacs-devel@gnu.org > X-Spam-Status: No, hits=-2.9 required=4.7 symbols=ALL_TRUSTED,BAYES_00 device=10.2.0.20 > > I could be wrong but to me that patch looks fine and applies here > without modification. > > The only possibly unusual step I took was to save the complete email > to a file, then I applied it using git as normal. > > Am I missing something here? I don't know. What did you mean by "apply"? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:19 ` Eli Zaretskii @ 2020-06-13 14:23 ` Alan Third 2020-06-13 14:33 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Alan Third @ 2020-06-13 14:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, stefan, hi-angel On Sat, Jun 13, 2020 at 05:19:09PM +0300, Eli Zaretskii wrote: > > Date: Sat, 13 Jun 2020 16:16:55 +0200 (CEST) > > From: Alan Third <alan@idiocy.org> > > Cc: Konstantin Kharlamov <hi-angel@yandex.ru>, stefan@marxist.se, > > emacs-devel@gnu.org > > X-Spam-Status: No, hits=-2.9 required=4.7 symbols=ALL_TRUSTED,BAYES_00 device=10.2.0.20 > > > > I could be wrong but to me that patch looks fine and applies here > > without modification. > > > > The only possibly unusual step I took was to save the complete email > > to a file, then I applied it using git as normal. > > > > Am I missing something here? > > I don't know. What did you mean by "apply"? git am ~/Downloads/bug_41684_message_5.mbox -- Alan Third ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:23 ` Alan Third @ 2020-06-13 14:33 ` Eli Zaretskii 2020-06-13 14:57 ` Konstantin Kharlamov ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-13 14:33 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel, stefan, hi-angel > Date: Sat, 13 Jun 2020 16:23:31 +0200 (CEST) > From: Alan Third <alan@idiocy.org> > Cc: hi-angel@yandex.ru, stefan@marxist.se, emacs-devel@gnu.org > > > > Am I missing something here? > > > > I don't know. What did you mean by "apply"? > > git am ~/Downloads/bug_41684_message_5.mbox I didn't have an mbox file, I only had an email message which was not in git-format-patch format, and whose commit log message needed some work. Anyway, I will gladly delegate the job of pushing these forgotten patches to someone else, if they volunteer (or just do it even without volunteering). I only pushed this because no one else did, for more than a week. I thought I was doing okay by following up on those patches. Or am I missing something? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:33 ` Eli Zaretskii @ 2020-06-13 14:57 ` Konstantin Kharlamov 2020-06-13 15:02 ` Alan Third 2020-06-13 15:05 ` Andreas Schwab 2 siblings, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 14:57 UTC (permalink / raw) To: Eli Zaretskii, Alan Third; +Cc: stefan, emacs-devel On Sat, 2020-06-13 at 17:33 +0300, Eli Zaretskii wrote: > > Date: Sat, 13 Jun 2020 16:23:31 +0200 (CEST) > > From: Alan Third <alan@idiocy.org> > > Cc: hi-angel@yandex.ru, stefan@marxist.se, emacs-devel@gnu.org > > > > > > Am I missing something here? > > > > > > I don't know. What did you mean by "apply"? > > > > git am ~/Downloads/bug_41684_message_5.mbox > > I didn't have an mbox file, I only had an email message which was not > in git-format-patch format, and whose commit log message needed some > work. > > Anyway, I will gladly delegate the job of pushing these forgotten > patches to someone else, if they volunteer (or just do it even without > volunteering). I only pushed this because no one else did, for more > than a week. I thought I was doing okay by following up on those > patches. Or am I missing something? FTR, I'm really thankful to you for taking a look at the patch, as well as to all other wonderful people here for maintaining Emacs. My text was just addressing weak points of current development approach and is an answer to the question "why don't people upstream their packages to Emacs". There's not much more to this email, and the patch discussion only really mentioned in the first point by virtue of being an illustration at hand. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:33 ` Eli Zaretskii 2020-06-13 14:57 ` Konstantin Kharlamov @ 2020-06-13 15:02 ` Alan Third 2020-06-13 15:08 ` Eli Zaretskii 2020-06-13 15:05 ` Andreas Schwab 2 siblings, 1 reply; 605+ messages in thread From: Alan Third @ 2020-06-13 15:02 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, stefan, hi-angel On Sat, Jun 13, 2020 at 05:33:40PM +0300, Eli Zaretskii wrote: > > Date: Sat, 13 Jun 2020 16:23:31 +0200 (CEST) > > From: Alan Third <alan@idiocy.org> > > Cc: hi-angel@yandex.ru, stefan@marxist.se, emacs-devel@gnu.org > > > > > > Am I missing something here? > > > > > > I don't know. What did you mean by "apply"? > > > > git am ~/Downloads/bug_41684_message_5.mbox > > I didn't have an mbox file, I only had an email message which was not > in git-format-patch format, and whose commit log message needed some > work. > > Anyway, I will gladly delegate the job of pushing these forgotten > patches to someone else, if they volunteer (or just do it even without > volunteering). I only pushed this because no one else did, for more > than a week. I thought I was doing okay by following up on those > patches. Or am I missing something? No, I didn't intend to attack you, I was just curious because I would have thought it should be easy for Emacs to take the email (git-format-patch format is a plain email, as is the mbox format) and pipe it straight into git am. -- Alan Third ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 15:02 ` Alan Third @ 2020-06-13 15:08 ` Eli Zaretskii 0 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-13 15:08 UTC (permalink / raw) To: Alan Third; +Cc: emacs-devel, stefan, hi-angel > Date: Sat, 13 Jun 2020 17:02:33 +0200 (CEST) > From: Alan Third <alan@idiocy.org> > Cc: hi-angel@yandex.ru, stefan@marxist.se, emacs-devel@gnu.org > > No, I didn't intend to attack you, I was just curious because I would > have thought it should be easy for Emacs to take the email > (git-format-patch format is a plain email, as is the mbox format) and > pipe it straight into git am. Of course, that's what I usually do. But when the email has only a patch, not a result of git-format-patch, I don't want to try, because some irregularity of the format could fail the patch and/or the following commit, and I would then need to recover, fix the patch or apply it manually, etc. So I use "git apply" in those cases instead. Which needs a separate commit step, including specifying the right author and date. And the commit log message needs a manual fix in any case. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:33 ` Eli Zaretskii 2020-06-13 14:57 ` Konstantin Kharlamov 2020-06-13 15:02 ` Alan Third @ 2020-06-13 15:05 ` Andreas Schwab 2020-06-13 15:10 ` Eli Zaretskii 2 siblings, 1 reply; 605+ messages in thread From: Andreas Schwab @ 2020-06-13 15:05 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Alan Third, hi-angel, stefan, emacs-devel On Jun 13 2020, Eli Zaretskii wrote: >> Date: Sat, 13 Jun 2020 16:23:31 +0200 (CEST) >> From: Alan Third <alan@idiocy.org> >> Cc: hi-angel@yandex.ru, stefan@marxist.se, emacs-devel@gnu.org >> >> > > Am I missing something here? >> > >> > I don't know. What did you mean by "apply"? >> >> git am ~/Downloads/bug_41684_message_5.mbox > > I didn't have an mbox file, I only had an email message which was not > in git-format-patch format, and whose commit log message needed some > work. You don't need a file, just pipe it to git am. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 15:05 ` Andreas Schwab @ 2020-06-13 15:10 ` Eli Zaretskii 2020-06-13 15:18 ` Andreas Schwab 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-13 15:10 UTC (permalink / raw) To: Andreas Schwab; +Cc: alan, hi-angel, stefan, emacs-devel > From: Andreas Schwab <schwab@linux-m68k.org> > Cc: Alan Third <alan@idiocy.org>, emacs-devel@gnu.org, stefan@marxist.se, > hi-angel@yandex.ru > Date: Sat, 13 Jun 2020 17:05:51 +0200 > > >> git am ~/Downloads/bug_41684_message_5.mbox > > > > I didn't have an mbox file, I only had an email message which was not > > in git-format-patch format, and whose commit log message needed some > > work. > > You don't need a file, just pipe it to git am. That's what I do, always had. But I don't even want to try when the mail message was not formatted with git-format-patch. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 15:10 ` Eli Zaretskii @ 2020-06-13 15:18 ` Andreas Schwab 2020-06-14 22:11 ` git-send-email (was: Why are so many great packages not trying to get included in GNU Emacs?) Kévin Le Gouguec 0 siblings, 1 reply; 605+ messages in thread From: Andreas Schwab @ 2020-06-13 15:18 UTC (permalink / raw) To: Eli Zaretskii; +Cc: alan, hi-angel, stefan, emacs-devel On Jun 13 2020, Eli Zaretskii wrote: > mail message was not formatted with git-format-patch. Yes, it was. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 605+ messages in thread
* git-send-email (was: Why are so many great packages not trying to get included in GNU Emacs?) 2020-06-13 15:18 ` Andreas Schwab @ 2020-06-14 22:11 ` Kévin Le Gouguec 2020-06-15 2:37 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Kévin Le Gouguec @ 2020-06-14 22:11 UTC (permalink / raw) To: Andreas Schwab; +Cc: Eli Zaretskii, emacs-devel, stefan, alan, hi-angel Andreas Schwab <schwab@linux-m68k.org> writes: > On Jun 13 2020, Eli Zaretskii wrote: > >> mail message was not formatted with git-format-patch. > > Yes, it was. In case that clears up some confusion: As Konstantin said, the patch[1] was sent with git send-email, which allows the sender to "annotate" the patch with some text that will be ignored by git am (IIUC merely by virtue of being stuck between "---\n" and the actual diff). In Gnus, piping the whole mail to "cd path/to/emacs && git am" (hitting "|" in the summary buffer) mostly does TRT: the patch is applied, with the email's subject as commit summary, and the rest of the message (up to "---\n") completing the commit message. The only issue, AFAICT, is that git am fails to strip away the [PATCH] prefix; IUUC this is because it does not expect debbugs's own "bug#NNN" prefix. Feel free to dismiss this as armchair commentary, but I think that we're likely to see more and more patches sent with git send-email[2], since it is heavily promoted by other projects privileging mail-based workflows[3]. [1] <20200603115103.69611-1-Hi-Angel@yandex.ru> https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-06/msg00128.html [2] See e.g. Jonas's patch series back in May: <87sgg26zpv.fsf@bernoul.li> https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-05/msg00853.html [3] Sourcehut developers, in particular, have spent a fair amount of virtual ink describing how to use it: https://drewdevault.com/2018/07/02/Email-driven-git.html https://man.sr.ht/git.sr.ht/send-email.md They have even set up a dummy repository for would-be contributors to try it out: https://git-send-email.io/ https://lists.sr.ht/~sircmpwn/email-test-drive/ ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email (was: Why are so many great packages not trying to get included in GNU Emacs?) 2020-06-14 22:11 ` git-send-email (was: Why are so many great packages not trying to get included in GNU Emacs?) Kévin Le Gouguec @ 2020-06-15 2:37 ` Eli Zaretskii 2020-06-15 6:59 ` git-send-email Andreas Schwab 2020-06-15 8:23 ` git-send-email Kévin Le Gouguec 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-15 2:37 UTC (permalink / raw) To: Kévin Le Gouguec; +Cc: stefan, alan, emacs-devel, schwab, hi-angel > From: Kévin Le Gouguec <kevin.legouguec@gmail.com> > Cc: Eli Zaretskii <eliz@gnu.org>, alan@idiocy.org, hi-angel@yandex.ru, > stefan@marxist.se, emacs-devel@gnu.org > Date: Mon, 15 Jun 2020 00:11:38 +0200 > > As Konstantin said, the patch[1] was sent with git send-email, which > allows the sender to "annotate" the patch with some text that will be > ignored by git am (IIUC merely by virtue of being stuck between "---\n" > and the actual diff). > > In Gnus, piping the whole mail to "cd path/to/emacs && git am" (hitting > "|" in the summary buffer) mostly does TRT: the patch is applied, with > the email's subject as commit summary, and the rest of the message (up > to "---\n") completing the commit message. > > The only issue, AFAICT, is that git am fails to strip away the [PATCH] > prefix; IUUC this is because it does not expect debbugs's own "bug#NNN" > prefix. > > > Feel free to dismiss this as armchair commentary, but I think that we're > likely to see more and more patches sent with git send-email[2], since > it is heavily promoted by other projects privileging mail-based > workflows[3]. We accept and welcome patches in any form and shape. However, we recommend to use "git format-patch" (see CONTRIBUTE), and for a good reason: doing so leaves no doubt regarding the authorship of the changes. Whereas just sending email could dupe us in attributing the change to a different person, something that we try to avoid. Of course, with enough manual work and using various Git optional switches, any problem can be worked around, for the price of more time invested. This is why I generally comment on patches sent in forms other than what is described in CONTRIBUTE. Eventually, that is our main contribution document, and we should either stick to what it says or change the document. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 2:37 ` Eli Zaretskii @ 2020-06-15 6:59 ` Andreas Schwab 2020-06-15 8:12 ` git-send-email Eli Zaretskii 2020-06-15 8:23 ` git-send-email Kévin Le Gouguec 1 sibling, 1 reply; 605+ messages in thread From: Andreas Schwab @ 2020-06-15 6:59 UTC (permalink / raw) To: Eli Zaretskii; +Cc: alan, hi-angel, stefan, emacs-devel, Kévin Le Gouguec On Jun 15 2020, Eli Zaretskii wrote: > We accept and welcome patches in any form and shape. However, we > recommend to use "git format-patch" (see CONTRIBUTE), Which is exactly what he did. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 6:59 ` git-send-email Andreas Schwab @ 2020-06-15 8:12 ` Eli Zaretskii 2020-06-15 9:10 ` git-send-email Andreas Schwab 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-15 8:12 UTC (permalink / raw) To: emacs-devel, Andreas Schwab; +Cc: alan, Kévin Le Gouguec, stefan, hi-angel On June 15, 2020 9:59:59 AM GMT+03:00, Andreas Schwab <schwab@linux-m68k.org> wrote: > On Jun 15 2020, Eli Zaretskii wrote: > > > We accept and welcome patches in any form and shape. However, we > > recommend to use "git format-patch" (see CONTRIBUTE), > > Which is exactly what he did. No, he did not. He said that much: he used "git send-email". You are hinting that "git send-email" runs format-patch internally, for some variants of its command-line arguments. But that is not what CONTRIBUTE says about using "git send-email", and for a good reason: doing it the CONTRIBUTE way produces email messages that are easily recognizable as being fit for "git am", and don't require tedious and error-prone manual analysis to make sure it is not just diffs pasted into the email body. We can discuss changes to CONTRIBUTE, but as long as it says something, let's try to act as it says. We usually have good reasons for what it says. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 8:12 ` git-send-email Eli Zaretskii @ 2020-06-15 9:10 ` Andreas Schwab 2020-06-15 13:22 ` git-send-email Alfred M. Szmidt 0 siblings, 1 reply; 605+ messages in thread From: Andreas Schwab @ 2020-06-15 9:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: alan, Kévin Le Gouguec, stefan, hi-angel, emacs-devel On Jun 15 2020, Eli Zaretskii wrote: > On June 15, 2020 9:59:59 AM GMT+03:00, Andreas Schwab <schwab@linux-m68k.org> wrote: >> On Jun 15 2020, Eli Zaretskii wrote: >> >> > We accept and welcome patches in any form and shape. However, we >> > recommend to use "git format-patch" (see CONTRIBUTE), >> >> Which is exactly what he did. > > No, he did not. He said that much: he used "git send-email". Exactly, thus git format-patch. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 9:10 ` git-send-email Andreas Schwab @ 2020-06-15 13:22 ` Alfred M. Szmidt 2020-06-15 14:07 ` git-send-email Andreas Schwab 0 siblings, 1 reply; 605+ messages in thread From: Alfred M. Szmidt @ 2020-06-15 13:22 UTC (permalink / raw) To: Andreas Schwab; +Cc: alan, hi-angel, stefan, emacs-devel, kevin.legouguec, eliz >> > We accept and welcome patches in any form and shape. However, we >> > recommend to use "git format-patch" (see CONTRIBUTE), >> >> Which is exactly what he did. > > No, he did not. He said that much: he used "git send-email". Exactly, thus git format-patch. No, git send-mail accepts multiple inputs -- and it is not guaranteed that the input is from format-patch in any shape or form. From the man page: There are two formats accepted for patch files: 1. mbox format files This is what git-format-patch(1) generates. Most headers and MIME formatting are ignored. 2. The original format used by Greg Kroah-Hartman's send_lots_of_email.pl script This format expects the first line of the file to contain the "Cc:" value and the "Subject:" of the message as the second line. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 13:22 ` git-send-email Alfred M. Szmidt @ 2020-06-15 14:07 ` Andreas Schwab 2020-06-15 14:15 ` git-send-email Alfred M. Szmidt 0 siblings, 1 reply; 605+ messages in thread From: Andreas Schwab @ 2020-06-15 14:07 UTC (permalink / raw) To: Alfred M. Szmidt Cc: alan, hi-angel, stefan, emacs-devel, kevin.legouguec, eliz On Jun 15 2020, Alfred M. Szmidt wrote: > >> > We accept and welcome patches in any form and shape. However, we > >> > recommend to use "git format-patch" (see CONTRIBUTE), > >> > >> Which is exactly what he did. > > > > No, he did not. He said that much: he used "git send-email". > > Exactly, thus git format-patch. > > No, git send-mail accepts multiple inputs There is no input. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 14:07 ` git-send-email Andreas Schwab @ 2020-06-15 14:15 ` Alfred M. Szmidt 2020-06-15 14:16 ` git-send-email Andreas Schwab 0 siblings, 1 reply; 605+ messages in thread From: Alfred M. Szmidt @ 2020-06-15 14:15 UTC (permalink / raw) To: Andreas Schwab; +Cc: alan, hi-angel, stefan, emacs-devel, kevin.legouguec, eliz Computers do not work by osmosis; there is always input. The input here is either files, directories, or a rev-list. The files and directories can contain either git-am output, or GRH's format. NAME git-send-email - Send a collection of patches as emails SYNOPSIS git send-email [<options>] <file|directory|rev-list options>... git send-email --dump-aliases DESCRIPTION Takes the patches given on the command line and emails them out. Patches can be specified as files, directories (which will send all files in the directory), or directly as a revision list. In the last case, any format accepted by git-format-patch(1) can be passed to git send-email. The header of the email is configurable via command-line options. If not specified on the command line, the user will be prompted with a ReadLine enabled interface to provide the necessary information. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 14:15 ` git-send-email Alfred M. Szmidt @ 2020-06-15 14:16 ` Andreas Schwab 2020-06-15 14:25 ` git-send-email Alfred M. Szmidt 0 siblings, 1 reply; 605+ messages in thread From: Andreas Schwab @ 2020-06-15 14:16 UTC (permalink / raw) To: Alfred M. Szmidt Cc: alan, hi-angel, stefan, emacs-devel, kevin.legouguec, eliz On Jun 15 2020, Alfred M. Szmidt wrote: > Computers do not work by osmosis; there is always input. The input > here is either files, directories, or a rev-list. Read on. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 14:16 ` git-send-email Andreas Schwab @ 2020-06-15 14:25 ` Alfred M. Szmidt 0 siblings, 0 replies; 605+ messages in thread From: Alfred M. Szmidt @ 2020-06-15 14:25 UTC (permalink / raw) To: Andreas Schwab; +Cc: alan, hi-angel, stefan, emacs-devel, kevin.legouguec, eliz You clearly seem to know what to "read on" -- I do not since you did not say, so instead of a nonsensical comment you could explain where the error is. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 2:37 ` Eli Zaretskii 2020-06-15 6:59 ` git-send-email Andreas Schwab @ 2020-06-15 8:23 ` Kévin Le Gouguec 2020-06-15 14:42 ` git-send-email Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: Kévin Le Gouguec @ 2020-06-15 8:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: schwab, alan, hi-angel, stefan, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > We accept and welcome patches in any form and shape. However, we > recommend to use "git format-patch" (see CONTRIBUTE), and for a good > reason: doing so leaves no doubt regarding the authorship of the > changes. Whereas just sending email could dupe us in attributing the > change to a different person, something that we try to avoid. AFAIU, git send-email literally just runs format-patch, and sends the result (with said optional annotation) over SMTP. I'm not sure what difference this makes as far as authorship authenticity is concerned? The From field used by git send-email is literally the From field set by git format-patch. Really, the only differences that I can see between format-patch and send-email are - for contributors, no need to whip out a mail client and fiddle with attachments, - for maintainers, no need to scan the mail for attachments; just pipe the mail itself to git am. Apologies if I'm missing anything. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 8:23 ` git-send-email Kévin Le Gouguec @ 2020-06-15 14:42 ` Eli Zaretskii 2020-06-15 15:38 ` git-send-email Kévin Le Gouguec 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-15 14:42 UTC (permalink / raw) To: Kévin Le Gouguec; +Cc: schwab, alan, hi-angel, stefan, emacs-devel > From: Kévin Le Gouguec <kevin.legouguec@gmail.com> > Cc: stefan@marxist.se, alan@idiocy.org, emacs-devel@gnu.org, > schwab@linux-m68k.org, hi-angel@yandex.ru > Date: Mon, 15 Jun 2020 10:23:16 +0200 > > AFAIU, git send-email literally just runs format-patch, and sends the > result (with said optional annotation) over SMTP. I'm not sure what > difference this makes as far as authorship authenticity is concerned? > The From field used by git send-email is literally the From field set by > git format-patch. > > Really, the only differences that I can see between format-patch and > send-email are > > - for contributors, no need to whip out a mail client and fiddle with > attachments, > > - for maintainers, no need to scan the mail for attachments; just pipe > the mail itself to git am. You need to look at this from the right vantage point: the POV of me (or someone else) who needs to install changes in such an email. I'm on the receiving end of the email, so I have no idea what command(s) were used to create and send it. All I see is a random email message, not unlike many others, just with diffs in its body. You suggest to pipe it into Git, but how do I know it's in a proper format to be processed correctly by Git? There's no clue. I need to read the relevant parts of the email to verify: . that the Subject line is appropriate for the heading of the commit log message . that the From header names the author, and was not rewritten in transit by some mailing-list software or another MTA . that the Date makes sense . that the diffs weren't wrapped by whatever MUA was used . that the diffs and the body are properly encoded And even after all that, I can never be sure that Git will process the patch, because my decision that the format is proper is just a guess. Any single problem I missed, and I get to recover with "am --abort", clean up my repository, find out what was wrong, etc. All of this wastes time and energy, which adds up when you need to process more than just a couple of submissions. By contrast, when the changes are formatted by "git format-patch" and included in the body, preferably as an attachment, the patch has a clear-cut signature, it has its own "From" header that identifies the author independently of the address from which the email was sent, it has the commit date independent of the mailing timestamp, and I can trust its encoding. In this case, I just pipe into "git am" without much effort. Do you see now why we prefer the latter? And it isn't like Emacs is the only project; many GNU projects also prefer to have patches submitted in this format. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 14:42 ` git-send-email Eli Zaretskii @ 2020-06-15 15:38 ` Kévin Le Gouguec 2020-06-15 17:12 ` git-send-email Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Kévin Le Gouguec @ 2020-06-15 15:38 UTC (permalink / raw) To: Eli Zaretskii; +Cc: schwab, alan, hi-angel, stefan, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > You need to look at this from the right vantage point: the POV of me > (or someone else) who needs to install changes in such an email. I'm > on the receiving end of the email, so I have no idea what command(s) > were used to create and send it. All I see is a random email message, > not unlike many others, just with diffs in its body. You suggest to > pipe it into Git, but how do I know it's in a proper format to be > processed correctly by Git? There's no clue. Thank you for taking the time to spell out how messages produced by git-send-email can be challenging to distinguish from handcrafted submissions. Indeed, I agree that it's not uncommon for contributors to send emails with "[PATCH]" in the subject and the diff appended at the end; it would be unreasonable to ask maintainers to be able to guess how the message was produced just by eyeballing it. Likewise, it would be unreasonable to ask maintainers to pipe random messages to git-am to find out if they have been produced by git-send-email; when I said: > - for maintainers, no need to scan the mail for attachments; just pipe > the mail itself to git am. I really meant "*when maintainers know the mail has been produced by git-send-email*, there is no need to scan it for attachments; just pipe it straight to git-am". FWIW, git-send-email adds a pretty explicit header[1] to inform recipients of how the message was produced. > Do you see now why we prefer the latter? And it isn't like Emacs is > the only project; many GNU projects also prefer to have patches > submitted in this format. I'm certainly not as well-versed in email mishaps as GNU maintainers, so I'll trust you when you say that attachments fare better than message bodies vs. the many transit/encoding problems you've listed. OTOH I also see that projects working with git-send-email seem to be none worse for the wear[2]. [1] X-Mailer: git-send-email [VERSION] [2] Save for some the occasional "some mail service forbids arbitrary header fields" shenanigans: https://lists.sr.ht/~sircmpwn/sr.ht-discuss/%3CCACFas%3DMug5JOOCZJPjucyb+km_21EK2hoxkFCWgLMtu3thztXQ%40mail.gmail.com%3E ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 15:38 ` git-send-email Kévin Le Gouguec @ 2020-06-15 17:12 ` Eli Zaretskii 2020-06-15 17:59 ` git-send-email Kévin Le Gouguec 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-15 17:12 UTC (permalink / raw) To: Kévin Le Gouguec; +Cc: stefan, alan, emacs-devel, schwab, hi-angel > From: Kévin Le Gouguec <kevin.legouguec@gmail.com> > Date: Mon, 15 Jun 2020 17:38:23 +0200 > Cc: schwab@linux-m68k.org, alan@idiocy.org, hi-angel@yandex.ru, > stefan@marxist.se, emacs-devel@gnu.org > > FWIW, git-send-email adds a pretty explicit header[1] to inform > recipients of how the message was produced. My email setup hides all X-* headers when it displays messages, because those headers are just noise, and AFAIK are not generally meant for human consumption. (There's a command to toggle their display, but doing that is another nuisance. Also, a typical message coming from debbugs has about a dozen X-* headers, so again, discovering that one header is not easy and calls for careful reading of boring content, better avoided.) > OTOH I also see that projects working with git-send-email seem to be > none worse for the wear[2]. So do we, see CONTRIBUTE. We just ask that git-send-email be used after formatting the patch explicitly, so that all its decorations appear in the email body. If nothing else, this facilitates including unrelated discussions with the patch without risking them winding up in the repository. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 17:12 ` git-send-email Eli Zaretskii @ 2020-06-15 17:59 ` Kévin Le Gouguec 2020-06-15 18:08 ` git-send-email Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Kévin Le Gouguec @ 2020-06-15 17:59 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stefan, alan, emacs-devel, schwab, hi-angel Eli Zaretskii <eliz@gnu.org> writes: > My email setup hides all X-* headers when it displays messages, > because those headers are just noise, and AFAIK are not generally > meant for human consumption. (There's a command to toggle their > display, but doing that is another nuisance. Also, a typical message > coming from debbugs has about a dozen X-* headers, so again, > discovering that one header is not easy and calls for careful reading > of boring content, better avoided.) Fair enough. Should the wave of git-send-email contributions turn out to be unstoppable, at least the existence of this header means it won't be too hard to write a function to automate this check ;) >> OTOH I also see that projects working with git-send-email seem to be >> none worse for the wear[2]. > > So do we, see CONTRIBUTE. We just ask that git-send-email be used > after formatting the patch explicitly, so that all its decorations > appear in the email body. If nothing else, this facilitates including > unrelated discussions with the patch without risking them winding up > in the repository. Mmm, now that you mention it, I'm confused. Here's what we say in CONTRIBUTE: > To email a patch you can use a shell command like 'git format-patch -1' > to create a file, and then attach the file to your email. This nicely > packages the patch's commit message and changes. To send just one > such patch without additional remarks, you can use a command like > 'git send-email --to=bug-gnu-emacs@gnu.org 0001-DESCRIPTION.patch'. I just tried to git-send-email --to=myself a patch file generated from git-format-patch, and the email I received looks just like what Konstantin sent to the bug list, i.e. - the commit's summary line in the Subject field, - the rest of the commit message at the top of the body, - some fluff between the "---\n" and "diff --git" lines (a diffstat added by git-format-patch; I could have added more comments there, like Konstantin did), - the diff, - no attachment. I must be missing something. How do our instructions differ from what Konstantin did? Indeed he ran git-send-email without running git-format-patch first, but AFAICT this additional step does not change the end result? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 17:59 ` git-send-email Kévin Le Gouguec @ 2020-06-15 18:08 ` Eli Zaretskii 2020-06-15 18:51 ` git-send-email Paul Eggert 2020-06-22 10:17 ` git-send-email Kévin Le Gouguec 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-15 18:08 UTC (permalink / raw) To: Kévin Le Gouguec; +Cc: stefan, alan, emacs-devel, schwab, hi-angel > From: Kévin Le Gouguec <kevin.legouguec@gmail.com> > Cc: schwab@linux-m68k.org, alan@idiocy.org, hi-angel@yandex.ru, > stefan@marxist.se, emacs-devel@gnu.org > Date: Mon, 15 Jun 2020 19:59:37 +0200 > > > So do we, see CONTRIBUTE. We just ask that git-send-email be used > > after formatting the patch explicitly, so that all its decorations > > appear in the email body. If nothing else, this facilitates including > > unrelated discussions with the patch without risking them winding up > > in the repository. > > Mmm, now that you mention it, I'm confused. Here's what we say in > CONTRIBUTE: > > > To email a patch you can use a shell command like 'git format-patch -1' > > to create a file, and then attach the file to your email. This nicely > > packages the patch's commit message and changes. To send just one > > such patch without additional remarks, you can use a command like > > 'git send-email --to=bug-gnu-emacs@gnu.org 0001-DESCRIPTION.patch'. > > I just tried to git-send-email --to=myself a patch file generated from > git-format-patch, and the email I received looks just like what > Konstantin sent to the bug list, i.e. Then maybe we should remove that sentence. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 18:08 ` git-send-email Eli Zaretskii @ 2020-06-15 18:51 ` Paul Eggert 2020-06-15 18:59 ` git-send-email Eli Zaretskii 2020-06-22 10:17 ` git-send-email Kévin Le Gouguec 1 sibling, 1 reply; 605+ messages in thread From: Paul Eggert @ 2020-06-15 18:51 UTC (permalink / raw) To: Eli Zaretskii, Kévin Le Gouguec Cc: schwab, alan, hi-angel, stefan, emacs-devel I mildly prefer patches sent via 'git send-email' to those sent via attachments, as I can review the patch directly without having to do any extra manipulation to see it. When I want to feed the patch to git (which is less common than reviewing it), I can easily save the message into a file and then run 'git am'. > how do I know it's in a proper format to be > processed correctly by Git? That problem exists independently of whether the message is sent as-is, or is put into an attachment. That is, "How does one know whether the attachment is in the proper format?" is no easier to answer than "How does one know the entire message is in the proper format?". There are indeed problems with email-sending agents that munge bytes when sending patches directly. But 'git send-email' is not one of those agents. Are you using Gnus to process these messages? Perhaps Gnus could be improved to make this job easier? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 18:51 ` git-send-email Paul Eggert @ 2020-06-15 18:59 ` Eli Zaretskii 2020-06-15 19:06 ` git-send-email Paul Eggert 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-15 18:59 UTC (permalink / raw) To: Paul Eggert; +Cc: alan, kevin.legouguec, stefan, emacs-devel, schwab, hi-angel > Cc: stefan@marxist.se, alan@idiocy.org, emacs-devel@gnu.org, > schwab@linux-m68k.org, hi-angel@yandex.ru > From: Paul Eggert <eggert@cs.ucla.edu> > Date: Mon, 15 Jun 2020 11:51:33 -0700 > > I mildly prefer patches sent via 'git send-email' to those sent via attachments, > as I can review the patch directly without having to do any extra manipulation > to see it. With Emacs MUAs I'm familiar with, looking at an attachment is very easy, almost like looking at the body. I don't have any problems with that. > > how do I know it's in a proper format to be > > processed correctly by Git? > > That problem exists independently of whether the message is sent as-is, or is > put into an attachment. Not if the body/attachment was formatted by "git format-patch". Then the patches have a telltale format and signature that identify the format unequivocally. > Are you using Gnus to process these messages? No. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 18:59 ` git-send-email Eli Zaretskii @ 2020-06-15 19:06 ` Paul Eggert 0 siblings, 0 replies; 605+ messages in thread From: Paul Eggert @ 2020-06-15 19:06 UTC (permalink / raw) To: Eli Zaretskii Cc: alan, kevin.legouguec, stefan, emacs-devel, schwab, hi-angel On 6/15/20 11:59 AM, Eli Zaretskii wrote: > With Emacs MUAs I'm familiar with, looking at an attachment is very > easy, almost like looking at the body. I don't have any problems with > that. Yes, I can also look at an attachment reasonably easily (I'm using Thunderbird FWIW). Still, it's a bit easier to see email without the attachment. This is pretty typical among MUAs I've used. >>> how do I know it's in a proper format to be >>> processed correctly by Git? >> >> That problem exists independently of whether the message is sent as-is, or is >> put into an attachment. > > Not if the body/attachment was formatted by "git format-patch". Then > the patches have a telltale format and signature that identify the > format unequivocally. Yes. Hmm, but I thought that this was the case we were talking about. Is the problem that people are using 'git send-email' to send patches that were not formatted via 'git format-patch'? That would indeed be problematic, and if necessary we can add text to CONTRIBUTE to discourage that. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: git-send-email 2020-06-15 18:08 ` git-send-email Eli Zaretskii 2020-06-15 18:51 ` git-send-email Paul Eggert @ 2020-06-22 10:17 ` Kévin Le Gouguec 1 sibling, 0 replies; 605+ messages in thread From: Kévin Le Gouguec @ 2020-06-22 10:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Mmm, now that you mention it, I'm confused. Here's what we say in >> CONTRIBUTE: >> >> > To email a patch you can use a shell command like 'git format-patch -1' >> > to create a file, and then attach the file to your email. This nicely >> > packages the patch's commit message and changes. To send just one >> > such patch without additional remarks, you can use a command like >> > 'git send-email --to=bug-gnu-emacs@gnu.org 0001-DESCRIPTION.patch'. >> >> I just tried to git-send-email --to=myself a patch file generated from >> git-format-patch, and the email I received looks just like what >> Konstantin sent to the bug list, i.e. > > Then maybe we should remove that sentence. (Re: 2020-06-20T08:42:41Z!eliz@gnu.org) Thank you for following up on this. I'm pretty sure just removing the sentence about git send-email wouldn't have been enough, as I expect some people could read "use a shell command like 'git format-patch -1'" and think "oh well, git send-email will work just as well then". I think your amendments make things a lot clearer. FWIW, I just fooled around with rmail and mboxes from Debbugs; adding - "\|^x-mailer: git-send-email" to rmail-nonignored-headers - "\|^x-mailer:" to rmail-highlighted-headers makes it slightly easier to spot patches sent by git send-email AFAICT. Of course, I'm not an rmail guru; there probably are better ways to solve the recognizability problem. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 11:59 ` Konstantin Kharlamov 2020-06-13 12:50 ` Eli Zaretskii @ 2020-06-13 14:35 ` Dmitry Gutov 2020-06-13 19:23 ` Konstantin Kharlamov 2020-06-13 19:38 ` João Távora 2020-06-17 3:58 ` Ricardo Wurmus 2 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-06-13 14:35 UTC (permalink / raw) To: Konstantin Kharlamov, Stefan Kangas, Eli Zaretskii, Emacs developers On 13.06.2020 14:59, Konstantin Kharlamov wrote: > no other projects require > writing down a list of functions I changed just for the fun of it As a reviewer, there's something to be said about having an overview of the whole diff (which can get long) in a few paragraphs on top of the patch. A good commit message like that actually makes a lot of things clear in advance. But yes, that also compensates for otherwise more difficult review process, compared to some automated tools other projects use. > Okay, you want this — but could you at least automate it! > And no, some Emacs function does not cut it, people not necessarily use > git from Emacs. I > personally don't. Please, use git hoooks, because this is what everyone > is*forced* to use, you can't possibly miss a git hook. Someday(tm) we'll migrate to Gitlab, or Gogs, or whatever, and we'll have that. Regarding hooks, we do use them to an extent, but nobody has written a checker for commit messages for them yet. And that still wouldn't cover people who make patches against released/packaged versions of Emacs, as opposed to the Git tree. The rest of your email, I pretty much agree with. Except, you know, it's still quite possible to contribute (pointing to self). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:35 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers Dmitry Gutov @ 2020-06-13 19:23 ` Konstantin Kharlamov 2020-06-13 19:31 ` Basil L. Contovounesios ` (2 more replies) 2020-06-13 19:38 ` João Távora 1 sibling, 3 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 19:23 UTC (permalink / raw) To: Dmitry Gutov, Stefan Kangas, Eli Zaretskii, Emacs developers On Sat, 2020-06-13 at 17:35 +0300, Dmitry Gutov wrote: > On 13.06.2020 14:59, Konstantin Kharlamov wrote: > > no other projects require > > writing down a list of functions I changed just for the fun of it > > As a reviewer, there's something to be said about having an overview of > the whole diff (which can get long) in a few paragraphs on top of the > patch. A good commit message like that actually makes a lot of things > clear in advance. FTR, I am all for having good commit messages. It is IMO a must have for any git project. But having a list of function names with description for each does not make one. Instead it should be an overview of what is done, why, and how. Suppose you have a patch that deduplicates the same code pattern across 34 functions by factoring it out to a single short function. Do you really need that list? I mean, sure it's a fun fact to know, but you'll have to review diff anyway. If anything, it only burdens you by forcing to check that each function is on the list. Commit message should reveal the intention of the changes (and perhaps, if OP thinks changes may raise questions, they should also write the reasoning). And then a reviewer gotta check (in particular) this intention matches the actual code. On that matter I often love to quote a post from 2009 by Peter Hutterer, a libinput and Linux HID subsystem maintainer. A post that is old but is not outdated http://who-t.blogspot.com/2009/12/on-commit-messages.html > But yes, that also compensates for otherwise more difficult review > process, compared to some automated tools other projects use. > > > Okay, you want this — but could you at least automate it! > > And no, some Emacs function does not cut it, people not necessarily use > > git from Emacs. I > > personally don't. Please, use git hoooks, because this is what everyone > > is*forced* to use, you can't possibly miss a git hook. > > Someday(tm) we'll migrate to Gitlab, or Gogs, or whatever, and we'll > have that. > > Regarding hooks, we do use them to an extent, but nobody has written a > checker for commit messages for them yet. And that still wouldn't cover > people who make patches against released/packaged versions of Emacs, as > opposed to the Git tree. > > The rest of your email, I pretty much agree with. Except, you know, it's > still quite possible to contribute (pointing to self). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 19:23 ` Konstantin Kharlamov @ 2020-06-13 19:31 ` Basil L. Contovounesios 2020-06-13 20:24 ` Konstantin Kharlamov 2020-06-13 19:33 ` Eli Zaretskii 2020-06-13 22:09 ` Dmitry Gutov 2 siblings, 1 reply; 605+ messages in thread From: Basil L. Contovounesios @ 2020-06-13 19:31 UTC (permalink / raw) To: Konstantin Kharlamov Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Dmitry Gutov Konstantin Kharlamov <hi-angel@yandex.ru> writes: > FTR, I am all for having good commit messages. It is IMO a must have for any git > project. But having a list of function names with description for each does not > make one. FWIW, one great benefit of this list for me is that I can quickly 'git log --grep' for all commits that mention a particular definition. Doing the same with 'git log -G' is painfully slower and with a far lower signal:noise ratio. > Instead it should be an overview of what is done, why, and how. That, or at the very least linking to the relevant bug/thread discussions, is always a good thing to do and encouraged. > Suppose you have a patch that deduplicates the same code pattern across 34 > functions by factoring it out to a single short function. Do you really need > that list? No, in such cases there are shortcuts you can take, such as "all callers changed". > I mean, sure it's a fun fact to know, but you'll have to review diff > anyway. If anything, it only burdens you by forcing to check that each function > is on the list. Commit message should reveal the intention of the changes (and > perhaps, if OP thinks changes may raise questions, they should also write the > reasoning). And then a reviewer gotta check (in particular) this intention > matches the actual code. I doubt anyone disagrees with that. -- Basil ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 19:31 ` Basil L. Contovounesios @ 2020-06-13 20:24 ` Konstantin Kharlamov 2020-06-13 20:30 ` Basil L. Contovounesios 0 siblings, 1 reply; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 20:24 UTC (permalink / raw) To: Basil L. Contovounesios Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Dmitry Gutov On Sat, 2020-06-13 at 20:31 +0100, Basil L. Contovounesios wrote: > Konstantin Kharlamov <hi-angel@yandex.ru> writes: > > > FTR, I am all for having good commit messages. It is IMO a must have for any > > git > > project. But having a list of function names with description for each does > > not > > make one. > > FWIW, one great benefit of this list for me is that I can quickly > 'git log --grep' for all commits that mention a particular definition. > Doing the same with 'git log -G' is painfully slower and with a far > lower signal:noise ratio. You can get that purely with git by using option `-L` of gitlong. It has syntax `-L :<funcname>:<file>`. To give you example, I just looked at my recent change in python.el, and the diff says the region belongs to `python-font-lock-keywords-maximum-decoration`. So I execute: git log -L :python-font-lock-keywords-maximum- decoration:lisp/progmodes/python.el And I get a log of commits that changed that function. Git version 2.27.0 > > Instead it should be an overview of what is done, why, and how. > > That, or at the very least linking to the relevant bug/thread > discussions, is always a good thing to do and encouraged. > > > Suppose you have a patch that deduplicates the same code pattern across 34 > > functions by factoring it out to a single short function. Do you really need > > that list? > > No, in such cases there are shortcuts you can take, such as "all callers > changed". Oh, is that something new? I'm just wondering, why when I did the change to replace hex regexes with xdigit https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36167 I had to write all hundreds of functions instead of a one liner "all callers are changed"? > > I mean, sure it's a fun fact to know, but you'll have to review diff > > anyway. If anything, it only burdens you by forcing to check that each > > function > > is on the list. Commit message should reveal the intention of the changes > > (and > > perhaps, if OP thinks changes may raise questions, they should also write > > the > > reasoning). And then a reviewer gotta check (in particular) this intention > > matches the actual code. > > I doubt anyone disagrees with that. > ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 20:24 ` Konstantin Kharlamov @ 2020-06-13 20:30 ` Basil L. Contovounesios 2020-06-13 20:52 ` Konstantin Kharlamov 0 siblings, 1 reply; 605+ messages in thread From: Basil L. Contovounesios @ 2020-06-13 20:30 UTC (permalink / raw) To: Konstantin Kharlamov Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Dmitry Gutov Konstantin Kharlamov <hi-angel@yandex.ru> writes: > On Sat, 2020-06-13 at 20:31 +0100, Basil L. Contovounesios wrote: >> Konstantin Kharlamov <hi-angel@yandex.ru> writes: >> >> > FTR, I am all for having good commit messages. It is IMO a must have for any >> > git >> > project. But having a list of function names with description for each does >> > not >> > make one. >> >> FWIW, one great benefit of this list for me is that I can quickly >> 'git log --grep' for all commits that mention a particular definition. >> Doing the same with 'git log -G' is painfully slower and with a far >> lower signal:noise ratio. > > You can get that purely with git by using option `-L` of gitlong. It has syntax > `-L :<funcname>:<file>`. > > To give you example, I just looked at my recent change in python.el, and the > diff says the region belongs to `python-font-lock-keywords-maximum-decoration`. > So I execute: > > git log -L :python-font-lock-keywords-maximum- > decoration:lisp/progmodes/python.el > > And I get a log of commits that changed that function. Git version 2.27.0 And what if a commit message references a particular variable or function without touching the file that they're defined in? I'm talking about more general xrefing. >> > Instead it should be an overview of what is done, why, and how. >> >> That, or at the very least linking to the relevant bug/thread >> discussions, is always a good thing to do and encouraged. >> >> > Suppose you have a patch that deduplicates the same code pattern across 34 >> > functions by factoring it out to a single short function. Do you really need >> > that list? >> >> No, in such cases there are shortcuts you can take, such as "all callers >> changed". > > Oh, is that something new? It's older than I've been around these parts (~2016). > I'm just wondering, why when I did the change to > replace hex regexes with xdigit > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36167 I had to write all hundreds > of functions instead of a one liner "all callers are changed"? You didn't exactly. It is possible to take shortcuts depending on the context. See the file CONTRIBUTE or (info "(standards) Change Logs") https://www.gnu.org/prep/standards/html_node/Change-Logs.html. -- Basil ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 20:30 ` Basil L. Contovounesios @ 2020-06-13 20:52 ` Konstantin Kharlamov 2020-06-13 21:00 ` Konstantin Kharlamov 2020-06-13 21:24 ` Basil L. Contovounesios 0 siblings, 2 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 20:52 UTC (permalink / raw) To: Basil L. Contovounesios Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Dmitry Gutov On Sat, 2020-06-13 at 21:30 +0100, Basil L. Contovounesios wrote: > Konstantin Kharlamov <hi-angel@yandex.ru> writes: > > > On Sat, 2020-06-13 at 20:31 +0100, Basil L. Contovounesios wrote: > > > Konstantin Kharlamov <hi-angel@yandex.ru> writes: > > > > > > > FTR, I am all for having good commit messages. It is IMO a must have for > > > > any > > > > git > > > > project. But having a list of function names with description for each > > > > does > > > > not > > > > make one. > > > > > > FWIW, one great benefit of this list for me is that I can quickly > > > 'git log --grep' for all commits that mention a particular definition. > > > Doing the same with 'git log -G' is painfully slower and with a far > > > lower signal:noise ratio. > > > > You can get that purely with git by using option `-L` of gitlong. It has > > syntax > > `-L :<funcname>:<file>`. > > > > To give you example, I just looked at my recent change in python.el, and the > > diff says the region belongs to `python-font-lock-keywords-maximum- > > decoration`. > > So I execute: > > > > git log -L :python-font-lock-keywords-maximum- > > decoration:lisp/progmodes/python.el > > > > And I get a log of commits that changed that function. Git version 2.27.0 > > And what if a commit message references a particular variable or > function without touching the file that they're defined in? I'm talking > about more general xrefing. I feel there's some misunderstanding. The list our discussion is about only mentions changed functions/variables. If the git message references a variable that is not changed just because it is important to mention, then, well, it should still be there, in the commit message. That's what good commit messages are for: you mention things that are important to mention ¯\_(ツ)_/¯ > > > > Instead it should be an overview of what is done, why, and how. > > > > > > That, or at the very least linking to the relevant bug/thread > > > discussions, is always a good thing to do and encouraged. > > > > > > > Suppose you have a patch that deduplicates the same code pattern across > > > > 34 > > > > functions by factoring it out to a single short function. Do you really > > > > need > > > > that list? > > > > > > No, in such cases there are shortcuts you can take, such as "all callers > > > changed". > > > > Oh, is that something new? > > It's older than I've been around these parts (~2016). > > > I'm just wondering, why when I did the change to > > replace hex regexes with xdigit > > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36167 I had to write all > > hundreds > > of functions instead of a one liner "all callers are changed"? > > You didn't exactly. It is possible to take shortcuts depending on the > context. See the file CONTRIBUTE or (info "(standards) Change Logs") > https://www.gnu.org/prep/standards/html_node/Change-Logs.html. Oh, okay, so I read the docs, and apparently this "all callers are changed" can only be used when you use a calling convention. In my imaginary example where you factored out a code from 34 functions it would not be a calling convention, it would be a piece of code inside those functions. This is actually similar to the patch that replaces regexes to "xdigit": you have the same pattern *inside* many functions that you replace. No calling convention changes. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 20:52 ` Konstantin Kharlamov @ 2020-06-13 21:00 ` Konstantin Kharlamov 2020-06-13 21:24 ` Basil L. Contovounesios 1 sibling, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 21:00 UTC (permalink / raw) To: Basil L. Contovounesios Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Dmitry Gutov Sorry, typos On Sat, 2020-06-13 at 23:52 +0300, Konstantin Kharlamov wrote: > I feel there's some misunderstanding. The list our discussion is about only > mentions changed functions/variables. *"mentions of changed functions/variables" > > You didn't exactly. It is possible to take shortcuts depending on the > > context. See the file CONTRIBUTE or (info "(standards) Change Logs") > > https://www.gnu.org/prep/standards/html_node/Change-Logs.html. > > Oh, okay, so I read the docs, and apparently this "all callers are changed" > can > only be used when you use a calling convention. *"change a calling convention", sorry ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 20:52 ` Konstantin Kharlamov 2020-06-13 21:00 ` Konstantin Kharlamov @ 2020-06-13 21:24 ` Basil L. Contovounesios 1 sibling, 0 replies; 605+ messages in thread From: Basil L. Contovounesios @ 2020-06-13 21:24 UTC (permalink / raw) To: Konstantin Kharlamov Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Dmitry Gutov Konstantin Kharlamov <hi-angel@yandex.ru> writes: > On Sat, 2020-06-13 at 21:30 +0100, Basil L. Contovounesios wrote: >> Konstantin Kharlamov <hi-angel@yandex.ru> writes: >> >> > You can get that purely with git by using option `-L` of gitlong. It has >> > syntax >> > `-L :<funcname>:<file>`. >> > >> > To give you example, I just looked at my recent change in python.el, and the >> > diff says the region belongs to `python-font-lock-keywords-maximum- >> > decoration`. >> > So I execute: >> > >> > git log -L :python-font-lock-keywords-maximum- >> > decoration:lisp/progmodes/python.el >> > >> > And I get a log of commits that changed that function. Git version 2.27.0 >> >> And what if a commit message references a particular variable or >> function without touching the file that they're defined in? I'm talking >> about more general xrefing. > > I feel there's some misunderstanding. The list our discussion is about only > mentions changed functions/variables. If the git message references a variable > that is not changed just because it is important to mention, then, well, it > should still be there, in the commit message. That's what good commit messages > are for: you mention things that are important to mention ¯\_(ツ)_/¯ Right, I was confused in my last reply. >> You didn't exactly. It is possible to take shortcuts depending on the >> context. See the file CONTRIBUTE or (info "(standards) Change Logs") >> https://www.gnu.org/prep/standards/html_node/Change-Logs.html. > > Oh, okay, so I read the docs, and apparently this "all callers are changed" can > only be used when you use a calling convention. In my imaginary example where > you factored out a code from 34 functions it would not be a calling convention, > it would be a piece of code inside those functions. This is actually similar to > the patch that replaces regexes to "xdigit": you have the same pattern *inside* > many functions that you replace. No calling convention changes. It doesn't strictly have to be a change in calling convention, you can use your better judgement. E.g. you can list only the affected files, and either way you only need to mention the same message once for all affected definitions. -- Basil ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 19:23 ` Konstantin Kharlamov 2020-06-13 19:31 ` Basil L. Contovounesios @ 2020-06-13 19:33 ` Eli Zaretskii 2020-06-13 22:09 ` Dmitry Gutov 2 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-13 19:33 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: emacs-devel, stefan, dgutov > From: Konstantin Kharlamov <hi-angel@yandex.ru> > Date: Sat, 13 Jun 2020 22:23:30 +0300 > > having a list of function names with description for each does not > make one. Instead it should be an overview of what is done, why, and how. It should be both, actually. > Suppose you have a patch that deduplicates the same code pattern across 34 > functions by factoring it out to a single short function. Do you really need > that list? No, and no one will ever ask you to describe such mechanistic changes one by one. It's all in the GNU Coding Standards, btw. I suggest to read that. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 19:23 ` Konstantin Kharlamov 2020-06-13 19:31 ` Basil L. Contovounesios 2020-06-13 19:33 ` Eli Zaretskii @ 2020-06-13 22:09 ` Dmitry Gutov 2020-06-13 23:00 ` Konstantin Kharlamov 2 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-06-13 22:09 UTC (permalink / raw) To: Konstantin Kharlamov, Stefan Kangas, Eli Zaretskii, Emacs developers On 13.06.2020 22:23, Konstantin Kharlamov wrote: > FTR, I am all for having good commit messages. It is IMO a must have for any git > project. But having a list of function names with description for each does not > make one. Instead it should be an overview of what is done, why, and how. Having a standard that increases the likelihood of having such a description in the commit message without having to ask the contributor twice is not a bad thing. > Suppose you have a patch that deduplicates the same code pattern across 34 > functions by factoring it out to a single short function. Do you really need > that list? I mean, sure it's a fun fact to know, but you'll have to review diff > anyway. Yes and no. If I get the purpose of the diff, I could scan the contents more superficially (depending on what kind of changes are proposed, and where). > If anything, it only burdens you by forcing to check that each function > is on the list. I usually don't. > Commit message should reveal the intention of the changes (and > perhaps, if OP thinks changes may raise questions, they should also write the > reasoning). That, too. In any case, ChangeLog-style commit messages *are* a barrier for contributing, and one could argue that in the end they don't bring enough benefit to offset that. But our experience shows that they do bring a certain benefit. > On that matter I often love to quote a post from 2009 by Peter Hutterer, a > libinput and Linux HID subsystem maintainer. A post that is old but is not > outdated http://who-t.blogspot.com/2009/12/on-commit-messages.html It's a pretty good guideline. But one that's a bit harder to check and enforce. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 22:09 ` Dmitry Gutov @ 2020-06-13 23:00 ` Konstantin Kharlamov 2020-06-13 23:23 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 23:00 UTC (permalink / raw) To: Dmitry Gutov, Stefan Kangas, Eli Zaretskii, Emacs developers On Sun, 2020-06-14 at 01:09 +0300, Dmitry Gutov wrote: > On 13.06.2020 22:23, Konstantin Kharlamov wrote: > > > FTR, I am all for having good commit messages. It is IMO a must have for any > > git > > project. But having a list of function names with description for each does > > not > > make one. Instead it should be an overview of what is done, why, and how. > > Having a standard that increases the likelihood of having such a > description in the commit message without having to ask the contributor > twice is not a bad thing. I agree, it is always great to formalize things. Okay, let's test it. Imagine a contributor who are not aware how to write a good commit message, to see how that guideline would help. So, they make a non-trivial functional change ("non-trivial" because here we don't care of trivials like "rename a thing" or "factor out the code". These can often be described just in the commit title alone), let's say, they replaced a "list" container in a few functions to a binary tree for whatever reason. Now we'd like to know why did that happen. In my case they clearly would not produce anything useful, they'll maybe write "replace list to a binary tree" and that's it. Why? Who knows. How will they behave in your case? Well, they'll collect the functions list, then would scrupulously write an immensely useful information against each one "Replace list to a binary tree here". You see, it is the same here. > > Suppose you have a patch that deduplicates the same code pattern across 34 > > functions by factoring it out to a single short function. Do you really need > > that list? I mean, sure it's a fun fact to know, but you'll have to review > > diff > > anyway. > > Yes and no. If I get the purpose of the diff, I could scan the contents > more superficially (depending on what kind of changes are proposed, and > where). Sorry if I'm misreading, but given the context of comparing commit-messages with the list and without, I can only interpret the "yes" as "yes, one sentence that says the code pattern is factored out from all the functions is not enough, I need a similar sentence to be repeated 34 times". Is there other interpretation that I do not see, or do I get it right? > > If anything, it only burdens you by forcing to check that each function > > is on the list. > > I usually don't. This! Strictly speaking, as a reviewer you should check it. If a contributor forgot to add or remove a function on v2 of patches, and you passed them your Reviewed-by, wrong commit message would partially be your fault. You do not usually check it exactly because it is trivially a burden. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 23:00 ` Konstantin Kharlamov @ 2020-06-13 23:23 ` Dmitry Gutov 2020-06-14 10:00 ` Konstantin Kharlamov 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-06-13 23:23 UTC (permalink / raw) To: Konstantin Kharlamov, Stefan Kangas, Eli Zaretskii, Emacs developers On 14.06.2020 02:00, Konstantin Kharlamov wrote: > So, they make a non-trivial functional change ("non-trivial" because here we > don't care of trivials like "rename a thing" or "factor out the code". These can > often be described just in the commit title alone), let's say, they replaced a > "list" container in a few functions to a binary tree for whatever reason. Now > we'd like to know why did that happen. We might want to know more things than that, actually. > In my case they clearly would not produce anything useful, they'll maybe write > "replace list to a binary tree" and that's it. Why? Who knows. Then I'll probably ask. If the preceding discussion, or the contents of the associated bug report, haven't made the reason clear already. > How will they behave in your case? Well, they'll collect the functions list, > then would scrupulously write an immensely useful information against each one > "Replace list to a binary tree here". You see, it is the same here. Let's imagine that I know that in the codebase 'list' is used in many places, and then in the ChangeLog entry I see that only some of them have been replaced. Then I cut the review short and ask about the rest of the places. Similarly if they actually described the reason the change, but the enumerated changes don't match that goal (e.g. some changes in some files are missing). Another concern that can come up are whether they added backward-compatibility aliases (to satisfy our backward compatibility policy), which should also be apparent from the ChangeLog style entry. Etc. > Sorry if I'm misreading, but given the context of comparing commit-messages with > the list and without, I can only interpret the "yes" as "yes, one sentence that > says the code pattern is factored out from all the functions is not enough, I > need a similar sentence to be repeated 34 times". Is there other interpretation > that I do not see, or do I get it right? Yes, as in "I'd have to review the diff anyway", and no, as in "I won't have to spend as much time doing it as I might have without the ChangeLog style summary". >>> If anything, it only burdens you by forcing to check that each function >>> is on the list. >> >> I usually don't. > > This! Strictly speaking, as a reviewer you should check it. If a contributor > forgot to add or remove a function on v2 of patches, and you passed them your > Reviewed-by, wrong commit message would partially be your fault. I'm all in favor of automated checks. Someone would need to implement them, though. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 23:23 ` Dmitry Gutov @ 2020-06-14 10:00 ` Konstantin Kharlamov 0 siblings, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-14 10:00 UTC (permalink / raw) To: Dmitry Gutov, Stefan Kangas, Eli Zaretskii, Emacs developers On Sun, 2020-06-14 at 02:23 +0300, Dmitry Gutov wrote: > On 14.06.2020 02:00, Konstantin Kharlamov wrote: > > > So, they make a non-trivial functional change ("non-trivial" because here we > > don't care of trivials like "rename a thing" or "factor out the code". These > > can > > often be described just in the commit title alone), let's say, they replaced > > a > > "list" container in a few functions to a binary tree for whatever reason. > > Now > > we'd like to know why did that happen. > > We might want to know more things than that, actually. > > > In my case they clearly would not produce anything useful, they'll maybe > > write > > "replace list to a binary tree" and that's it. Why? Who knows. > > Then I'll probably ask. If the preceding discussion, or the contents of > the associated bug report, haven't made the reason clear already. > > > How will they behave in your case? Well, they'll collect the functions list, > > then would scrupulously write an immensely useful information against each > > one > > "Replace list to a binary tree here". You see, it is the same here. > > Let's imagine that I know that in the codebase 'list' is used in many > places, and then in the ChangeLog entry I see that only some of them > have been replaced. > > Then I cut the review short and ask about the rest of the places. > > Similarly if they actually described the reason the change, but the > enumerated changes don't match that goal (e.g. some changes in some > files are missing). > > Another concern that can come up are whether they added > backward-compatibility aliases (to satisfy our backward compatibility > policy), which should also be apparent from the ChangeLog style entry. Etc. Sure, all you say sounds reasonable. The point I'm trying to make is that you have to ask the author for better commit message either way. IOW, you have to ask that disregarding whether they're obliged to write down the list of functions changed or not. So having the list didn't help here. Admittedly, I might be the wrong person to make up an example since I didn't see the point in this list to begin with. Better examples are certainly welcome. > > Sorry if I'm misreading, but given the context of comparing commit-messages > > with > > the list and without, I can only interpret the "yes" as "yes, one sentence > > that > > says the code pattern is factored out from all the functions is not enough, > > I > > need a similar sentence to be repeated 34 times". Is there other > > interpretation > > that I do not see, or do I get it right? > > Yes, as in "I'd have to review the diff anyway", and no, as in "I won't > have to spend as much time doing it as I might have without the > ChangeLog style summary". Please note we're discussing whether having the list of functions changed is worth it comparing to just the commit message. Having a good commit message is just as enough, so you "won't have to spend as much time doing it". Like, in the example with factoring out a code from 34 functions it's enough to just write "Many functions use same code pattern to do X. Factor it out to a separate function Y". What changes if instead of this one sentence you have 34 lines with function names? Besides, as I hopefully showed in my prev. paragraph, if an author is bad in writing commit messages, having that would hardly change anything. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 14:35 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers Dmitry Gutov 2020-06-13 19:23 ` Konstantin Kharlamov @ 2020-06-13 19:38 ` João Távora 2020-06-13 20:30 ` Konstantin Kharlamov 1 sibling, 1 reply; 605+ messages in thread From: João Távora @ 2020-06-13 19:38 UTC (permalink / raw) To: Dmitry Gutov Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Konstantin Kharlamov [-- Attachment #1: Type: text/plain, Size: 1076 bytes --] On Sat, Jun 13, 2020, 15:36 Dmitry Gutov <dgutov@yandex.ru> wrote: > On 13.06.2020 14:59, Konstantin Kharlamov wrote: > > no other projects require > > writing down a list of functions I changed just for the fun of it > > As a reviewer, there's something to be said about having an overview of > the whole diff (which can get long) in a few paragraphs on top of the > patch. A good commit message like that actually makes a lot of things > clear in advance. > +1. I even use this for my own projects or projects where it's not required. Producing that list is a last self-reviewing step that summarizes _how_ the change was implemented. The diff itself is the ultimate source, but a summary is it very welcome. Of course most good commit messages don't stop there, they also explain the _why_. In general, Konstantin. I think your "for fun" exemplifies how you and many others think of these procedures as spurious, or gratuitous. But they're not, they exist because she people, whom you may disagree with, find them useful. João João > [-- Attachment #2: Type: text/html, Size: 1766 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 19:38 ` João Távora @ 2020-06-13 20:30 ` Konstantin Kharlamov 2020-06-14 10:41 ` João Távora 0 siblings, 1 reply; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-13 20:30 UTC (permalink / raw) To: João Távora, Dmitry Gutov Cc: Eli Zaretskii, Stefan Kangas, Emacs developers On Sat, 2020-06-13 at 20:38 +0100, João Távora wrote: > On Sat, Jun 13, 2020, 15:36 Dmitry Gutov <dgutov@yandex.ru> wrote: > > On 13.06.2020 14:59, Konstantin Kharlamov wrote: > > > no other projects require > > > writing down a list of functions I changed just for the fun of it > > > > As a reviewer, there's something to be said about having an overview of > > the whole diff (which can get long) in a few paragraphs on top of the > > patch. A good commit message like that actually makes a lot of things > > clear in advance. > > +1. I even use this for my own projects or projects where it's not required. > Producing that list is a last self-reviewing step that summarizes _how_ the > change was implemented. The diff itself is the ultimate source, but a summary > is it very welcome. > > Of course most good commit messages don't stop there, they also explain the > _why_. > > In general, Konstantin. I think your "for fun" exemplifies how you and many > others think of these procedures as spurious, or gratuitous. But they're not, > they exist because she people, whom you may disagree with, find them useful. Oh, sure I can be mistaken. I see you replied to Dmitry's email, I had a follow- up on it. Does my follow-up mail change your opinion, or perhaps do you have some example in mind that a good commit message without the list would not solve? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 20:30 ` Konstantin Kharlamov @ 2020-06-14 10:41 ` João Távora 2020-06-18 17:49 ` Ricardo Wurmus 0 siblings, 1 reply; 605+ messages in thread From: João Távora @ 2020-06-14 10:41 UTC (permalink / raw) To: Konstantin Kharlamov Cc: Eli Zaretskii, Emacs developers, Stefan Kangas, Dmitry Gutov Konstantin Kharlamov <hi-angel@yandex.ru> writes: > Oh, sure I can be mistaken. I see you replied to Dmitry's email, I had a follow- > up on it. Does my follow-up mail change your opinion, or perhaps do you have > some example in mind that a good commit message without the list would not > solve? I might have read it. I'm not saying good commit messages are impossible without the summarizing list; I'm just saying it's a good thing to have, something I've grown accustomed to. When composing them, they're a good exercise in self-review. But of course there's more ways to skin a cat. This just happens to be the way we use here. It's not "for fun". Of course is a mental cost in composing them, especially if you don't do it often and use the friendly C-x 4 a shortcut. But there is a gain, too. João ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-14 10:41 ` João Távora @ 2020-06-18 17:49 ` Ricardo Wurmus 2020-06-18 22:34 ` Konstantin Kharlamov 0 siblings, 1 reply; 605+ messages in thread From: Ricardo Wurmus @ 2020-06-18 17:49 UTC (permalink / raw) To: João Távora Cc: Eli Zaretskii, Dmitry Gutov, Stefan Kangas, emacs-devel, Konstantin Kharlamov João Távora <joaotavora@gmail.com> writes: > Konstantin Kharlamov <hi-angel@yandex.ru> writes: > >> Oh, sure I can be mistaken. I see you replied to Dmitry's email, I had a follow- >> up on it. Does my follow-up mail change your opinion, or perhaps do you have >> some example in mind that a good commit message without the list would not >> solve? > > I might have read it. I'm not saying good commit messages are > impossible without the summarizing list; I'm just saying it's a good > thing to have, something I've grown accustomed to. When composing them, > they're a good exercise in self-review. But of course there's more ways > to skin a cat. This just happens to be the way we use here. > > It's not "for fun". Of course is a mental cost in composing them, > especially if you don't do it often and use the friendly C-x 4 a > shortcut. But there is a gain, too. I’d also like to note that this list can be invaluable when rebasing commits and resolving conflicts. It’s not strictly necessary (just like other parts of a version control workflow are not strictly necessary), but it can serve as a sanity check in a time when the diff is not authoritative as it is in flux. An explanation as to why things were done is also very useful in those cases, but an overview on the *conceptual* changes at the procedure level (rather than the plain diff that’s only concerned with lines and not with the context in which the changes occurred) provides additional valuable information that the commit diff itself cannot provide. You can, of coures, browse the code with the diff applied and without and see the full context in which those lines were changed, but even with a nice interface like the one magit provides that’s much more work than looking at the commit summary. -- Ricardo ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-18 17:49 ` Ricardo Wurmus @ 2020-06-18 22:34 ` Konstantin Kharlamov 2020-06-19 11:48 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-18 22:34 UTC (permalink / raw) To: Ricardo Wurmus, João Távora Cc: Eli Zaretskii, emacs-devel, Stefan Kangas, Dmitry Gutov On Thu, 2020-06-18 at 19:49 +0200, Ricardo Wurmus wrote: > João Távora <joaotavora@gmail.com> writes: > > > Konstantin Kharlamov <hi-angel@yandex.ru> writes: > > > > > Oh, sure I can be mistaken. I see you replied to Dmitry's email, I had a > > > follow- > > > up on it. Does my follow-up mail change your opinion, or perhaps do you > > > have > > > some example in mind that a good commit message without the list would not > > > solve? > > > > I might have read it. I'm not saying good commit messages are > > impossible without the summarizing list; I'm just saying it's a good > > thing to have, something I've grown accustomed to. When composing them, > > they're a good exercise in self-review. But of course there's more ways > > to skin a cat. This just happens to be the way we use here. > > > > It's not "for fun". Of course is a mental cost in composing them, > > especially if you don't do it often and use the friendly C-x 4 a > > shortcut. But there is a gain, too. > > I’d also like to note that this list can be invaluable when rebasing > commits and resolving conflicts. It’s not strictly necessary (just like > other parts of a version control workflow are not strictly necessary), > but it can serve as a sanity check in a time when the diff is not > authoritative as it is in flux. While it may be useful, but explicit examples may be more interesting. Right now when I read your text about this list in the context of resolving rebase conflicts, I only see the downside that if the conflict came up because a function was renamed, you need to go fix the commit message too. Even worse: if upon rebasing a function was renamed, you may not get any conflicts (i.e. because thunk you modified didn't include the beginning of the function), and now your commit message is broken without you even noticing. > An explanation as to why things were done is also very useful in those > cases, but an overview on the *conceptual* changes at the procedure > level (rather than the plain diff that’s only concerned with lines and > not with the context in which the changes occurred) provides additional > valuable information that the commit diff itself cannot provide. It is possible, it's just that I do not see this. Convincing someone that the commit message with the list provides more benefit than without it requires examples that make it explicit. So far the whole thread (both this part and the one with Dmitry) had only negative examples, i.e. why having the list is a burden to anyone. Let me sum up the positive mentions: so far, you just say it simplifies review for you, but I don't know your workflow, there may be many factors that make you assert that, which does not necessarily applies to everyone. Dmitry said the list makes better commit messages from novices, but again when I tried to dig deeper, that discussion died. You see, presence of negative examples and lack of positive ones doesn't make that look too convincing. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-18 22:34 ` Konstantin Kharlamov @ 2020-06-19 11:48 ` Eli Zaretskii 2020-06-20 13:07 ` Konstantin Kharlamov 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-19 11:48 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov > From: Konstantin Kharlamov <hi-angel@yandex.ru> > Cc: Eli Zaretskii <eliz@gnu.org>, Dmitry Gutov <dgutov@yandex.ru>, Stefan > Kangas <stefan@marxist.se>, emacs-devel@gnu.org > Date: Fri, 19 Jun 2020 01:34:21 +0300 > > > I’d also like to note that this list can be invaluable when rebasing > > commits and resolving conflicts. It’s not strictly necessary (just like > > other parts of a version control workflow are not strictly necessary), > > but it can serve as a sanity check in a time when the diff is not > > authoritative as it is in flux. > > While it may be useful, but explicit examples may be more interesting. Right now > when I read your text about this list in the context of resolving rebase > conflicts, I only see the downside that if the conflict came up because a > function was renamed, you need to go fix the commit message too. > > Even worse: if upon rebasing a function was renamed, you may not get any > conflicts (i.e. because thunk you modified didn't include the beginning of the > function), and now your commit message is broken without you even noticing. There's no requirement to retroactively fix commit log messages when files or functions are renamed. The renaming is recorded in the history and can be found when one needs to explore the history of some code fragment. What is important is that the log message names the files and functions/macros/data structures as they are called at the time of the commit, because the log message is many times read in conjunction with the diffs. So I don't think the difficulties you describe are real. > It is possible, it's just that I do not see this. Convincing someone that the > commit message with the list provides more benefit than without it requires > examples that make it explicit. > > So far the whole thread (both this part and the one with Dmitry) had only > negative examples, i.e. why having the list is a burden to anyone. The GNU Coding Standards were recently changed to provide the rationale for having this information in the log messages. Since the official Prep page wasn't updated yet, I show the relevant text below, in the hope that it will give you enough information to understand why having that in the log messages could be beneficial. > Let me sum up the positive mentions: so far, you just say it simplifies review > for you, but I don't know your workflow, there may be many factors that make you > assert that, which does not necessarily applies to everyone. Dmitry said the > list makes better commit messages from novices, but again when I tried to dig > deeper, that discussion died. When you contribute changes to a project, you need to satisfy the workflows of others, even if they differ from yours. So you need to respect the opinions of the project developers when they tell you this information is of help to them. Here are the excerpts from the latest GNU Coding Standards manual I mentioned above: ---------------------------------------------------------------------- Therefore, change logs should be detailed enough and accurate enough to provide the information commonly required for such @dfn{software forensics}. Specifically, change logs should make finding answers to the following questions easy: @itemize @bullet @item What changes affected a particular source file? @item Was a particular source file renamed or moved, and if so, as part of what change? @item What changes affected a given function or macro or definition of a data structure? @item Was a function (or a macro or the definition of a data structure) renamed or moved from another file, and if so, as part of which change? @item What changes deleted a function (or macro or data structure)? @item What was the rationale for a given change, and what were its main ideas? @item Is there any additional information regarding the change, and if so, where can it be found? @end itemize [...] Following the free-text description of the change, it is a good idea to give a list of names of the entities or definitions that you changed, according to the files they are in, and what was changed in each one. @xref{Style of Change Logs}. If a project uses a modern @acronym{VCS} to keep the change log information, as described in @ref{Change Logs}, explicitly listing the files and functions that were changed is not strictly necessary, and in some cases (like identical mechanical changes in many places) even tedious. It is up to you to decide whether to allow your project's developers to omit the list of changed files and functions from the log entries, and whether to allow such omissions under some specific conditions. However, while making this decision, please consider the following benefits of providing the list of changed entities with each change: @itemize @bullet @item Generation of useful @file{ChangeLog} files from @acronym{VCS} logs becomes more difficult if the change log entries don't list the modified functions/macros, because @acronym{VCS} commands cannot reliably reproduce their names from the commit information alone. For example, when there is a change in the header part of a function definition, the heading of the diff hunk as shown in the VCS log commands will name the wrong function as being modified (usually, the function defined before the one being modified), so using those diffs to glean the names of the modified functions will produce inaccurate results. You will need to use specialized scripts, such as gnulib's @file{vcs-to-changelog.py}, mentioned below, to solve these difficulties, and make sure it supports the source languages used by your project. @item While modern @acronym{VCS} commands, such as Git's @kbd{git log -L} and @kbd{git log -G}, provide powerful means for finding changes that affected a certain function or macro or data structure (and thus might make @file{ChangeLog} files unnecessary if you have the repository available), they can sometimes fail. For example, @kbd{git log -L} doesn't support syntax of some programming languages out of the box. Mentioning the modified functions/macros explicitly allows finding the related changes simply and reliably. @item Some @acronym{VCS} commands have difficulties or limitations when tracking changes across file moves or renames. Again, if the entities are mentioned explicitly, those difficulties can be overcome. @item Users that review changes using the generated @file{ChangeLog} files may not have the repository and the @acronym{VCS} commands available to them. Naming the modified entities alleviates that problem. @end itemize @noindent For these reasons, providing lists of modified files and functions with each change makes the change logs more useful, and we therefore recommend to include them whenever possible and practical. It is also possible to generate the lists naming the modified entities by running a script. One such script is @file{mklog.py} (written in Python 3); it is used by the @code{GCC} project. Gnulib provides another variant of such a script, called @file{vcs-to-changelog.py}, part of the @code{vcs-to-changelog} module. Note that these scripts currently support fewer programming languages than the manual commands provided by Emacs (@pxref{Style of Change Logs}). Therefore, the above mentioned method of generating the @code{ChangeLog} file from the @acronym{VCS} commit history, for instance via the @code{gitlog-to-changelog} script, usually gives better results---provided that the contributors stick to providing good commit messages. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-19 11:48 ` Eli Zaretskii @ 2020-06-20 13:07 ` Konstantin Kharlamov 2020-06-20 14:02 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-20 13:07 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov On Fri, 2020-06-19 at 14:48 +0300, Eli Zaretskii wrote: > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > Cc: Eli Zaretskii <eliz@gnu.org>, Dmitry Gutov <dgutov@yandex.ru>, Stefan > > Kangas <stefan@marxist.se>, emacs-devel@gnu.org > > Date: Fri, 19 Jun 2020 01:34:21 +0300 > > > > > I’d also like to note that this list can be invaluable when rebasing > > > commits and resolving conflicts. It’s not strictly necessary (just like > > > other parts of a version control workflow are not strictly necessary), > > > but it can serve as a sanity check in a time when the diff is not > > > authoritative as it is in flux. > > > > While it may be useful, but explicit examples may be more interesting. Right > > now > > when I read your text about this list in the context of resolving rebase > > conflicts, I only see the downside that if the conflict came up because a > > function was renamed, you need to go fix the commit message too. > > > > Even worse: if upon rebasing a function was renamed, you may not get any > > conflicts (i.e. because thunk you modified didn't include the beginning of > > the > > function), and now your commit message is broken without you even noticing. > > There's no requirement to retroactively fix commit log messages when > files or functions are renamed. The renaming is recorded in the > history and can be found when one needs to explore the history of some > code fragment. > > What is important is that the log message names the files and > functions/macros/data structures as they are called at the time of the > commit, because the log message is many times read in conjunction with > the diffs. > > So I don't think the difficulties you describe are real. Are you saying that wrong commit messages are okay? Will it be okay if I make a v1 of a patch where just one function is changed, and then in v2 I additionally modify a dozen of others, and won't add their names to the commit message? Also, what you say here contradicts to your quote of GNU standard, which says the list is needed to generate Changelog files. Because not fixing commit messages retroactively will result in wrong Changelogs. What's the point in wrong Changelog files and wrong commit messages? > > Let me sum up the positive mentions: so far, you just say it simplifies > > review > > for you, but I don't know your workflow, there may be many factors that make > > you > > assert that, which does not necessarily applies to everyone. Dmitry said the > > list makes better commit messages from novices, but again when I tried to > > dig > > deeper, that discussion died. > > When you contribute changes to a project, you need to satisfy the > workflows of others, even if they differ from yours. So you need to > respect the opinions of the project developers when they tell you this > information is of help to them. Right. Judging by the fact you say this me, I have a feeling you miss the point why we're even discussing this. Let me abstract from Emacs a bit. People like different things, which is okay, everyone has unique life and character. And some like things that would in fact hurt when applied to others! That's okay too, just don't apply these to everybody. There're communities for them as well, so it's not like they're alone. Now let's get back to Emacs. I hope it's unquestionable that purpose of Emacs project is prosperity of Emacs project. It doesn't have explicit purpose to cater to Emacs contributors or developers. But if you ask "how can we make Emacs evolve and prosper", the "making Emacs contributors, developers and users comfortable" is hopefully an obvious answer. Having good developer practices is an implication of "making developers/contributors comfortable". Which includes, that if some developer practice (I'm pointing out here to the functions list) 1. carries burden on everyone, and 2. Makes happy only a few (perhaps, because of their habits or whatever), we should ditch this practice. Because Emacs project is not a community of peoples who like a specific thing that would hurt others when applied to them. Instead it's a community who want Emacs to evolve and prosper. > Here are the excerpts from the latest GNU Coding Standards manual I > mentioned above: > […snipped…] Thanks. I should say, it's a big text, half of which basically says "it's cool to have" which doesn't answer the question "why". So, I'm sorry if I missed some point while reading this, in this case pointing this out more explicitly might help. Regarding the discussion I grasped from it two points: 1. The list is used to generate Changelogs. 2. The standard does not enforce having the list in commit messages if you're using a decent VCS (which I'd think includes git) The text then goes into details that generating Changelogs from a VCS alone may be unreliable. The example it shows can be reproduced on Emacs repo as follows: if you do `git log -1 -p 50a0126402d`, you'll see some renames, however the context above the hunk shows not the variable/function being renamed. I'd argue it would be way more productive to make git produce what Changelog files need correctly rather than forcing tedious manual work upon everybody. git already can recognize the context correctly, we just need a specific flag to only make it show changed functions/variables (ATM it seems not to have it, at least I didn't find one). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 13:07 ` Konstantin Kharlamov @ 2020-06-20 14:02 ` Eli Zaretskii 2020-06-20 15:41 ` Konstantin Kharlamov 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-20 14:02 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov > From: Konstantin Kharlamov <hi-angel@yandex.ru> > Cc: rekado@elephly.net, joaotavora@gmail.com, dgutov@yandex.ru, > stefan@marxist.se, emacs-devel@gnu.org > Date: Sat, 20 Jun 2020 16:07:54 +0300 > > > There's no requirement to retroactively fix commit log messages when > > files or functions are renamed. The renaming is recorded in the > > history and can be found when one needs to explore the history of some > > code fragment. > > > > What is important is that the log message names the files and > > functions/macros/data structures as they are called at the time of the > > commit, because the log message is many times read in conjunction with > > the diffs. > > > > So I don't think the difficulties you describe are real. > > Are you saying that wrong commit messages are okay? Of course not. > Will it be okay if I make a > v1 of a patch where just one function is changed, and then in v2 I additionally > modify a dozen of others, and won't add their names to the commit message? Of course not. But you could omit the log messages completely in v1 if it is known in advance that there will be a v2. IOW, the only log message that really matters is the last one, the one that is going to be committed to upstream. It's similar to documentation: it is perfectly acceptable to initially post a patch without the documentation bits, saying you will provide one when the code details are finalized. > Also, what you say here contradicts to your quote of GNU standard, which says > the list is needed to generate Changelog files. Because not fixing commit > messages retroactively will result in wrong Changelogs. > > What's the point in wrong Changelog files and wrong commit messages? We are miscommunicating. You have only a very specific scenario in mind, whereas I was talking about something much more general. For the situations you had in mind (IIUC), only the last variant of the log messages matters. If you can get those log message right on the first attempt, you can omit them in intermediate variants, and just say you will provide them with the last version. (Of course, if you don't get them right the first time, you will get review comments for them, so it's up to you to decide whether indeed you can afford omitting them from intermediate versions.) Also, let's face it: changesets where v2 renames many symbols present in v1's log are rare. There's no need to make these rare cases sound as if they were the rule: they are not. > Now let's get back to Emacs. I hope it's unquestionable that purpose of Emacs > project is prosperity of Emacs project. It doesn't have explicit purpose to > cater to Emacs contributors or developers. But if you ask "how can we make Emacs > evolve and prosper", the "making Emacs contributors, developers and users > comfortable" is hopefully an obvious answer. > > Having good developer practices is an implication of "making > developers/contributors comfortable". Which includes, that if some developer > practice (I'm pointing out here to the functions list) 1. carries burden on > everyone, and 2. Makes happy only a few (perhaps, because of their habits or > whatever), we should ditch this practice. We are not asking contributors to adhere to some arbitrary and outlandish standards and practices, or something that satisfies only a small group of people who usurped the power, so to say. These are standards common to the GNU Project as a whole (although minor variations do exist, and when I submit changes to, say, GDB, I need to do that according to what GDB developers expect and require, not to what I'm accustomed to in Emacs). These standards are the result of quite a few discussions among developers of many GNU projects, where arguments not unlike those you present are also voiced and considered. The result is described in the GCS document, and it includes rationale that also comes out of those discussions. IOW, it isn't like some band of people conquered the Emacs project and now dictates its arbitrary demands to the community at large. These requirements are the result of many discussions, and include the summary experience and knowledge of many people who understand very well that every additional requirement adds to the burden of the contributors. Requirements for contributors are always a fine balancing act, whereby too few or too many requirements will both produce sub-optimal results for various reasons. So let's not pretend that dropping important requirements to make it easy on contributors is the right solution, because the requirements are there for a reason, and dropping any one of them brings a disadvantage. We need to carefully weigh the advantages and disadvantages of each requirement. > > Here are the excerpts from the latest GNU Coding Standards manual I > > mentioned above: > > […snipped…] > > Thanks. I should say, it's a big text, half of which basically says "it's cool > to have" which doesn't answer the question "why". So, I'm sorry if I missed some > point while reading this, in this case pointing this out more explicitly might > help. Actually, the reasons (a.k.a. "why") are presented there at least twice: once indirectly, by explaining the general purpose of good change log records, and then once more by providing specific considerations for keeping the information we are talking about (names of files and functions/macros/data structures that were modified) in the log. > 1. The list is used to generate Changelogs. No. The text says that it is recommended to have ChangeLog files in the release tarball, but it doesn't make that mandatory. > 2. The standard does not enforce having the list in commit messages if you're > using a decent VCS (which I'd think includes git) No. The text leaves this decision to each package maintainer, and presents important considerations that could and should influence that decision. > The text then goes into details that generating Changelogs from a VCS alone may > be unreliable. The example it shows can be reproduced on Emacs repo as follows: > if you do `git log -1 -p 50a0126402d`, you'll see some renames, however the > context above the hunk shows not the variable/function being renamed. > > I'd argue it would be way more productive to make git produce what Changelog > files need correctly rather than forcing tedious manual work upon everybody. git > already can recognize the context correctly, we just need a specific flag to > only make it show changed functions/variables (ATM it seems not to have it, at > least I didn't find one). I encourage you to talk to Git developers so that they improve this capability. Not sure this is going to happen in practice (knowing how the diffs are generated, and given that one GNU project using Git after another sets up alternative tools for overcoming these problems), but it definitely cannot harm, so by all means go for it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 14:02 ` Eli Zaretskii @ 2020-06-20 15:41 ` Konstantin Kharlamov 2020-06-20 16:10 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-20 15:41 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov On Sat, 2020-06-20 at 17:02 +0300, Eli Zaretskii wrote: > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > Cc: rekado@elephly.net, joaotavora@gmail.com, dgutov@yandex.ru, > > stefan@marxist.se, emacs-devel@gnu.org > > Date: Sat, 20 Jun 2020 16:07:54 +0300 > > > > > There's no requirement to retroactively fix commit log messages when > > > files or functions are renamed. The renaming is recorded in the > > > history and can be found when one needs to explore the history of some > > > code fragment. > > > > > > What is important is that the log message names the files and > > > functions/macros/data structures as they are called at the time of the > > > commit, because the log message is many times read in conjunction with > > > the diffs. > > > > > > So I don't think the difficulties you describe are real. > > > > Are you saying that wrong commit messages are okay? > > Of course not. > > > Will it be okay if I make a > > v1 of a patch where just one function is changed, and then in v2 I > > additionally > > modify a dozen of others, and won't add their names to the commit message? > > Of course not. But you could omit the log messages completely in v1 > if it is known in advance that there will be a v2. IOW, the only log > message that really matters is the last one, the one that is going to > be committed to upstream. > > It's similar to documentation: it is perfectly acceptable to initially > post a patch without the documentation bits, saying you will provide > one when the code details are finalized. > > > Also, what you say here contradicts to your quote of GNU standard, which > > says > > the list is needed to generate Changelog files. Because not fixing commit > > messages retroactively will result in wrong Changelogs. > > > > What's the point in wrong Changelog files and wrong commit messages? > > We are miscommunicating. You have only a very specific scenario in > mind, whereas I was talking about something much more general. For > the situations you had in mind (IIUC), only the last variant of the > log messages matters. If you can get those log message right on the > first attempt, you can omit them in intermediate variants, and just > say you will provide them with the last version. (Of course, if you > don't get them right the first time, you will get review comments for > them, so it's up to you to decide whether indeed you can afford > omitting them from intermediate versions.) > > Also, let's face it: changesets where v2 renames many symbols present > in v1's log are rare. There's no need to make these rare cases sound > as if they were the rule: they are not. Please note that I haven't provided example here. From your text you seem to think I implied scenario where v1 is an RFC, and later patches are actual changes. It's not what I had in mind. I rather was thinking about making some change in v1, and then as result of code review making more similar changes to other places. As a real life example, while discussing the patch `Replace manually crafted hex regexes with [[:xdigit:]]`, more places where similar changes can be applied were uncovered. In code-refactoring I think it's pretty common to happen. You can't omit the list in v1 in these cases because you don't know there will be followups. > > Now let's get back to Emacs. I hope it's unquestionable that purpose of > > Emacs > > project is prosperity of Emacs project. It doesn't have explicit purpose to > > cater to Emacs contributors or developers. But if you ask "how can we make > > Emacs > > evolve and prosper", the "making Emacs contributors, developers and users > > comfortable" is hopefully an obvious answer. > > > > Having good developer practices is an implication of "making > > developers/contributors comfortable". Which includes, that if some developer > > practice (I'm pointing out here to the functions list) 1. carries burden on > > everyone, and 2. Makes happy only a few (perhaps, because of their habits or > > whatever), we should ditch this practice. > > We are not asking contributors to adhere to some arbitrary and > outlandish standards and practices, or something that satisfies only a > small group of people who usurped the power, so to say. These are > standards common to the GNU Project as a whole (although minor > variations do exist, and when I submit changes to, say, GDB, I need to > do that according to what GDB developers expect and require, not to > what I'm accustomed to in Emacs). These standards are the result of > quite a few discussions among developers of many GNU projects, where > arguments not unlike those you present are also voiced and considered. > The result is described in the GCS document, and it includes > rationale that also comes out of those discussions. > > IOW, it isn't like some band of people conquered the Emacs project and > now dictates its arbitrary demands to the community at large. These > requirements are the result of many discussions, and include the > summary experience and knowledge of many people who understand very > well that every additional requirement adds to the burden of the > contributors. > > Requirements for contributors are always a fine balancing act, whereby > too few or too many requirements will both produce sub-optimal results > for various reasons. So let's not pretend that dropping important > requirements to make it easy on contributors is the right solution, > because the requirements are there for a reason, and dropping any one > of them brings a disadvantage. We need to carefully weigh the > advantages and disadvantages of each requirement. Sounds reasonable. I'd like to see those discussions though to understand the background, and maybe even participate in them. Do you have any reference? > > > Here are the excerpts from the latest GNU Coding Standards manual I > > > mentioned above: > > > […snipped…] > > > > Thanks. I should say, it's a big text, half of which basically says "it's > > cool > > to have" which doesn't answer the question "why". So, I'm sorry if I missed > > some > > point while reading this, in this case pointing this out more explicitly > > might > > help. > > Actually, the reasons (a.k.a. "why") are presented there at least > twice: once indirectly, by explaining the general purpose of good > change log records, Err. Okay, I mean, text does explain it. Was I ever opposed to it? Let me repeat, I'm all for good commit messages. My point is the functions list is not necessary for having good commit messages. This whole thread is dedicated to "why having the list is necessary as opposed to not having it", and while text explains "why having the list is good" in general, but it does not make comparison to not using it. There's no answer to that question. > and then once more by providing specific > considerations for keeping the information we are talking about (names > of files and functions/macros/data structures that were modified) in > the log. Again, I don't see why just saying in commit message e.g. "Factor out code doing X out of all functions", is worse than additionally making the list of those functions (or is it a bad example, and you have a better one in mind? Great, I want to hear it!). > > The text then goes into details that generating Changelogs from a VCS alone > > may > > be unreliable. The example it shows can be reproduced on Emacs repo as > > follows: > > if you do `git log -1 -p 50a0126402d`, you'll see some renames, however the > > context above the hunk shows not the variable/function being renamed. > > > > I'd argue it would be way more productive to make git produce what Changelog > > files need correctly rather than forcing tedious manual work upon everybody. > > git > > already can recognize the context correctly, we just need a specific flag to > > only make it show changed functions/variables (ATM it seems not to have it, > > at > > least I didn't find one). > > I encourage you to talk to Git developers so that they improve this > capability. Not sure this is going to happen in practice (knowing how > the diffs are generated, and given that one GNU project using Git > after another sets up alternative tools for overcoming these > problems), but it definitely cannot harm, so by all means go for it. I might do it, but I need motivation. If I knew this is the only reason Emacs has requirement for the functions list, thus having such ability in git would allow to drop this requirement, I'd do it. Right now people seem to prefer to stick to having the list for other reasons (which are being discussed in the text above), so clearly even if git got such ability, it would be of little use to Emacs. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 15:41 ` Konstantin Kharlamov @ 2020-06-20 16:10 ` Eli Zaretskii 2020-06-20 18:04 ` Konstantin Kharlamov 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-20 16:10 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov > From: Konstantin Kharlamov <hi-angel@yandex.ru> > Cc: rekado@elephly.net, joaotavora@gmail.com, dgutov@yandex.ru, > stefan@marxist.se, emacs-devel@gnu.org > Date: Sat, 20 Jun 2020 18:41:37 +0300 > > > Also, let's face it: changesets where v2 renames many symbols present > > in v1's log are rare. There's no need to make these rare cases sound > > as if they were the rule: they are not. > > Please note that I haven't provided example here. From your text you seem to > think I implied scenario where v1 is an RFC, and later patches are actual > changes. Many times the first version of a patch is an implicit RFC, especially for a rare contributor who cannot be sure his or her ideas will be accepted by the developers. As another data point, I frequently post my proposed patches without log messages, because I believe people generally trust me to produce the right log messages when the time comes. > It's not what I had in mind. I rather was thinking about making some change in > v1, and then as result of code review making more similar changes to other > places. As a real life example, while discussing the patch `Replace manually > crafted hex regexes with [[:xdigit:]]`, more places where similar changes can be > applied were uncovered. > > In code-refactoring I think it's pretty common to happen. You can't omit the > list in v1 in these cases because you don't know there will be followups. Fair enough, but massive renames are still rare, IME, and thus the danger of having to completely rewrite the log messages is also small. > Sounds reasonable. I'd like to see those discussions though to understand the > background, and maybe even participate in them. Do you have any reference? They are scattered across different mailing lists (and across many months), but you can find many of them on bug-standard@gnu.org and on gnu-prog-discuss@gnu.org. > My point is the functions list is not necessary for having good > commit messages. Our experiences are different, then. I find them very important in at least some cases. > This whole thread is dedicated to "why having the list is necessary as opposed > to not having it", and while text explains "why having the list is good" in > general, but it does not make comparison to not using it. There's no answer to > that question. Isn't saying "A is good to have" the same as saying "not having A is not so good"? > Again, I don't see why just saying in commit message e.g. "Factor out code doing > X out of all functions", is worse than additionally making the list of those > functions (or is it a bad example, and you have a better one in mind? Great, I > want to hear it!). For repetitive mechanical changes, it might be okay. There's no argument that some changes don't need detailed lists. The argument is whether having them in general is helpful. If you are saying that in some cases they are redundant, then we agree at least in principle (though we could disagree in specific cases). But if you are saying they are seldom or never needed or useful, then I disagree, based on my experience. > > I encourage you to talk to Git developers so that they improve this > > capability. Not sure this is going to happen in practice (knowing how > > the diffs are generated, and given that one GNU project using Git > > after another sets up alternative tools for overcoming these > > problems), but it definitely cannot harm, so by all means go for it. > > I might do it, but I need motivation. If I knew this is the only reason Emacs > has requirement for the functions list, thus having such ability in git would > allow to drop this requirement, I'd do it. Right now people seem to prefer to > stick to having the list for other reasons (which are being discussed in the > text above), so clearly even if git got such ability, it would be of little use > to Emacs. It depends how good a job they do. If they do a perfect job, which will allow generating accurate ChangeLog-formatted entries without providing the lists of functions in the log messages, then we might indeed drop the requirement. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 16:10 ` Eli Zaretskii @ 2020-06-20 18:04 ` Konstantin Kharlamov 2020-06-20 18:43 ` Eli Zaretskii 2020-06-20 20:57 ` Ricardo Wurmus 0 siblings, 2 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-20 18:04 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov On Sat, 2020-06-20 at 19:10 +0300, Eli Zaretskii wrote: > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > Sounds reasonable. I'd like to see those discussions though to understand > > the > > background, and maybe even participate in them. Do you have any reference? > > They are scattered across different mailing lists (and across many > months), but you can find many of them on bug-standard@gnu.org and on > gnu-prog-discuss@gnu.org. Thanks, I'll look at it. > > My point is the functions list is not necessary for having good > > commit messages. > > Our experiences are different, then. I find them very important in at > least some cases. Right. I should mention though, my experience is not specific to myself. Most non-GNU projects (actually, all I have seen) don't require having the list, but do require good commit messages. Peter Hutterer, a libinput and kernel HID subsystem maintainer wrote a good blog-post in 2009 on commit messages, and this too did not include having the list http://who-t.blogspot.com/2009/12/on-commit-messages.html I also don't think GNU projects are any good to make examples of. This is my general experience of seeing how new projects get under GNU umbrella to get never heard of (which I attribute to points listed in my starting mail, since most of them are unspecific to Emacs). But to support this claim regarding GNU, I just did some experiment. I downloaded git repositories of GNU GCC and Clang, and tried to count contributors to last 500 commits. I was interested in seeing the number of occasional contributors. I think that if a project only lives by means of maintainers and paid people, the project pretty much goes down. Maintainers may burn out, paid people will move on. Number of occasional contributors shows how big interest in supporting the development, and they're the ones who at some point may become maintainers too. So, I looked at "author email" fields and removed ones with email addresses that are either clearly corporate or clearly maintainers. Not the most scientific method, I might have missed a few ones who contributed from their personal email, but I don't expect the difference to be statistically significant. So, the command is (I hope my email client won't break it terribly): git log -500 --format="%ae" | grep -vP "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huawei|c odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|micros oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcproject|si five)\.(org|com|de|cz|cn)" | sort -u | wc -l Results are: * GCC as of commit 445d8da5fbd: 15 * Clang as of commit 7b201bfcac2: 49 This is some pretty big difference! If I expand the commits range, the difference increases further. > > This whole thread is dedicated to "why having the list is necessary as > > opposed > > to not having it", and while text explains "why having the list is good" in > > general, but it does not make comparison to not using it. There's no answer > > to > > that question. > > Isn't saying "A is good to have" the same as saying "not having A is > not so good"? It depends. If A is free, then sure. But if I gotta pay for A, then I'd consider my options. > > Again, I don't see why just saying in commit message e.g. "Factor out code > > doing > > X out of all functions", is worse than additionally making the list of those > > functions (or is it a bad example, and you have a better one in mind? Great, > > I > > want to hear it!). > > For repetitive mechanical changes, it might be okay. There's no > argument that some changes don't need detailed lists. The argument is > whether having them in general is helpful. If you are saying that in > some cases they are redundant, then we agree at least in principle > (though we could disagree in specific cases). But if you are saying > they are seldom or never needed or useful, then I disagree, based on > my experience. > > > > I encourage you to talk to Git developers so that they improve this > > > capability. Not sure this is going to happen in practice (knowing how > > > the diffs are generated, and given that one GNU project using Git > > > after another sets up alternative tools for overcoming these > > > problems), but it definitely cannot harm, so by all means go for it. > > > > I might do it, but I need motivation. If I knew this is the only reason > > Emacs > > has requirement for the functions list, thus having such ability in git > > would > > allow to drop this requirement, I'd do it. Right now people seem to prefer > > to > > stick to having the list for other reasons (which are being discussed in the > > text above), so clearly even if git got such ability, it would be of little > > use > > to Emacs. > > It depends how good a job they do. If they do a perfect job, which > will allow generating accurate ChangeLog-formatted entries without > providing the lists of functions in the log messages, then we might > indeed drop the requirement. Okay, I'll ask about it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 18:04 ` Konstantin Kharlamov @ 2020-06-20 18:43 ` Eli Zaretskii 2020-06-20 21:31 ` Konstantin Kharlamov 2020-06-20 20:57 ` Ricardo Wurmus 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-20 18:43 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov > From: Konstantin Kharlamov <hi-angel@yandex.ru> > Cc: rekado@elephly.net, joaotavora@gmail.com, dgutov@yandex.ru, > stefan@marxist.se, emacs-devel@gnu.org > Date: Sat, 20 Jun 2020 21:04:23 +0300 > > > Our experiences are different, then. I find them very important in at > > least some cases. > > Right. I should mention though, my experience is not specific to myself. Most > non-GNU projects (actually, all I have seen) don't require having the list, but > do require good commit messages. Like I said, latest GCS leave this decision to the project developers' discretion. You may also wish to check how long do those projects live, and compare that with Emacs. Not every technique that is good for a 5-year project will scale well for a 35-year one. In my work on Emacs I quite frequently need to look at changes made 30 years ago, using a different VCS. > I also don't think GNU projects are any good to make examples of. This is my > general experience of seeing how new projects get under GNU umbrella to get > never heard of (which I attribute to points listed in my starting mail, since > most of them are unspecific to Emacs). I hope you realize how saying that makes your opinions matter much less, do you? > git log -500 --format="%ae" | grep -vP > "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huawei|c > odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|micros > oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcproject|si > five)\.(org|com|de|cz|cn)" | sort -u | wc -l > > Results are: > * GCC as of commit 445d8da5fbd: 15 > * Clang as of commit 7b201bfcac2: 49 > > This is some pretty big difference! If I expand the commits range, the > difference increases further. GCC is alive for 33 years, so I think your theory eats dust. Many of the GCC and GDB developers get paid for their work, but that doesn't mean the project is less viable, and the long history of both GCC and GDB is the proof. > > > This whole thread is dedicated to "why having the list is necessary as > > > opposed > > > to not having it", and while text explains "why having the list is good" in > > > general, but it does not make comparison to not using it. There's no answer > > > to > > > that question. > > > > Isn't saying "A is good to have" the same as saying "not having A is > > not so good"? > > It depends. If A is free, then sure. But if I gotta pay for A, then I'd consider > my options. That text described the advantages of having the lists precisely so you could consider your options and make an informed decision. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 18:43 ` Eli Zaretskii @ 2020-06-20 21:31 ` Konstantin Kharlamov 2020-06-20 22:25 ` Konstantin Kharlamov ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-20 21:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov On Sat, 2020-06-20 at 21:43 +0300, Eli Zaretskii wrote: > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > Cc: rekado@elephly.net, joaotavora@gmail.com, dgutov@yandex.ru, > > stefan@marxist.se, emacs-devel@gnu.org > > Date: Sat, 20 Jun 2020 21:04:23 +0300 > > > > > Our experiences are different, then. I find them very important in at > > > least some cases. > > > > Right. I should mention though, my experience is not specific to myself. > > Most > > non-GNU projects (actually, all I have seen) don't require having the list, > > but > > do require good commit messages. > > Like I said, latest GCS leave this decision to the project developers' > discretion. > > You may also wish to check how long do those projects live, and > compare that with Emacs. Not every technique that is good for a > 5-year project will scale well for a 35-year one. In my work on Emacs > I quite frequently need to look at changes made 30 years ago, using a > different VCS. Right, as well as not every technique that was good 35 years ago is still as good nowadays. > > I also don't think GNU projects are any good to make examples of. This is my > > general experience of seeing how new projects get under GNU umbrella to get > > never heard of (which I attribute to points listed in my starting mail, > > since > > most of them are unspecific to Emacs). > > I hope you realize how saying that makes your opinions matter much > less, do you? No, I don't. Are you implying that voicing bad opinion regarding GNU on a GNU mailing list may lead to some people to start ignoring me? If so, I'm fine with it. You see, my opinions are based on facts. My interpretation of them may be wrong, but if I expressed them, I am not aware of it. On this mailing list, we carry technical discussions, which means expressing arguments and counter- arguments based on facts, and being ready to turn out to be wrong. Ignoring someone based on their opinion instead of trying to prove them wrong is not a technical behavior. These are not very technical people, they sometimes go personal, so if their reaction is a silence, that's fine with me. FYI, for me even participating in discussions is hard, for personal reasons. But I am a software engineer, and I get the boundary between personal feelings and technical discussions, so I get over it. > > git log -500 --format="%ae" | grep -vP > > "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huaw > > ei|c > > odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|mi > > cros > > oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcprojec > > t|si > > five)\.(org|com|de|cz|cn)" | sort -u | wc -l > > > > Results are: > > * GCC as of commit 445d8da5fbd: 15 > > * Clang as of commit 7b201bfcac2: 49 > > > > This is some pretty big difference! If I expand the commits range, the > > difference increases further. > > GCC is alive for 33 years, so I think your theory eats dust. Many of > the GCC and GDB developers get paid for their work, but that doesn't > mean the project is less viable, and the long history of both GCC and > GDB is the proof. Okay, let me say beforehand that both GCC and Clang are very active projects right now. Just in case, so there's no misunderstanding. So, times are changing. In older times there were no standard to development, Git was not as popular, development practices are varied too. So, as long you could get your patch to a project, any odd contribution requirements were fine, they hardly would set a barrier. But these days Git got over all other VCSes (and for a reason), so using SVN or Perforce, or whatever, is a barrier to contribution. 12 years ago Github was founded, and then also the open-source clone Gitlab appeared. These two pretty much set the standard development model nowadays (for a reason too). There still are projects that use other models, but this is a barrier to contributors. What I'm getting at is that your reasoning that since GCC is 33 years old it will live on does not work. For a project to "live on" it needs to be active. Sure GCC is active! But its activity mainly stems from paid people and maintainers. Whereas in Clang a large chunk of it stems from contributors. Let me repeat, paid people come and go, so do maintainers (they may burn out, or just move on). These contributors are the ones who will become new maintainers and the ones who advertise the project in their environment. I hope it makes clear the future of what project looks brighter. > > > > This whole thread is dedicated to "why having the list is necessary as > > > > opposed > > > > to not having it", and while text explains "why having the list is good" > > > > in > > > > general, but it does not make comparison to not using it. There's no > > > > answer > > > > to > > > > that question. > > > > > > Isn't saying "A is good to have" the same as saying "not having A is > > > not so good"? > > > > It depends. If A is free, then sure. But if I gotta pay for A, then I'd > > consider > > my options. > > That text described the advantages of having the lists precisely so > you could consider your options and make an informed decision. I can't make decision since I am not a Emacs maintainer. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 21:31 ` Konstantin Kharlamov @ 2020-06-20 22:25 ` Konstantin Kharlamov 2020-06-21 2:35 ` Eli Zaretskii 2020-06-21 1:37 ` Yuan Fu 2020-06-21 13:49 ` João Távora 2 siblings, 1 reply; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-20 22:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rekado, dgutov, stefan, joaotavora, emacs-devel On Sun, 2020-06-21 at 00:31 +0300, Konstantin Kharlamov wrote: > On Sat, 2020-06-20 at 21:43 +0300, Eli Zaretskii wrote: > > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > > Cc: rekado@elephly.net, joaotavora@gmail.com, dgutov@yandex.ru, > > > stefan@marxist.se, emacs-devel@gnu.org > > > Date: Sat, 20 Jun 2020 21:04:23 +0300 > > > > > > > Our experiences are different, then. I find them very important in at > > > > least some cases. > > > > > > Right. I should mention though, my experience is not specific to myself. > > > Most > > > non-GNU projects (actually, all I have seen) don't require having the > > > list, > > > but > > > do require good commit messages. > > > > Like I said, latest GCS leave this decision to the project developers' > > discretion. > > > > You may also wish to check how long do those projects live, and > > compare that with Emacs. Not every technique that is good for a > > 5-year project will scale well for a 35-year one. In my work on Emacs > > I quite frequently need to look at changes made 30 years ago, using a > > different VCS. > > Right, as well as not every technique that was good 35 years ago is still as > good nowadays. > > > > I also don't think GNU projects are any good to make examples of. This is > > > my > > > general experience of seeing how new projects get under GNU umbrella to > > > get > > > never heard of (which I attribute to points listed in my starting mail, > > > since > > > most of them are unspecific to Emacs). > > > > I hope you realize how saying that makes your opinions matter much > > less, do you? > > No, I don't. Are you implying that voicing bad opinion regarding GNU on a GNU > mailing list may lead to some people to start ignoring me? If so, I'm fine > with > it. You see, my opinions are based on facts. My interpretation of them may be > wrong, but if I expressed them, I am not aware of it. On this mailing list, we > carry technical discussions, which means expressing arguments and counter- > arguments based on facts, and being ready to turn out to be wrong. > > Ignoring someone based on their opinion instead of trying to prove them wrong > is > not a technical behavior. These are not very technical people, they sometimes > go > personal, so if their reaction is a silence, that's fine with me. > > FYI, for me even participating in discussions is hard, for personal reasons. > But > I am a software engineer, and I get the boundary between personal feelings and > technical discussions, so I get over it. > > > > git log -500 --format="%ae" | grep -vP > > > "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|hu > > > aw > > > ei|c > > > odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft| > > > mi > > > cros > > > oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcproj > > > ec > > > t|si > > > five)\.(org|com|de|cz|cn)" | sort -u | wc -l > > > > > > Results are: > > > * GCC as of commit 445d8da5fbd: 15 > > > * Clang as of commit 7b201bfcac2: 49 > > > > > > This is some pretty big difference! If I expand the commits range, the > > > difference increases further. > > > > GCC is alive for 33 years, so I think your theory eats dust. Many of > > the GCC and GDB developers get paid for their work, but that doesn't > > mean the project is less viable, and the long history of both GCC and > > GDB is the proof. > > Okay, let me say beforehand that both GCC and Clang are very active projects > right now. Just in case, so there's no misunderstanding. > > So, times are changing. In older times there were no standard to development, > Git was not as popular, development practices are varied too. So, as long you > could get your patch to a project, any odd contribution requirements were > fine, > they hardly would set a barrier. > > But these days Git got over all other VCSes (and for a reason), so using SVN > or > Perforce, or whatever, is a barrier to contribution. 12 years ago Github was > founded, and then also the open-source clone Gitlab appeared. These two pretty > much set the standard development model nowadays (for a reason too). There > still > are projects that use other models, but this is a barrier to contributors. > > What I'm getting at is that your reasoning that since GCC is 33 years old it > will live on does not work. For a project to "live on" it needs to be active. > Sure GCC is active! But its activity mainly stems from paid people and > maintainers. Whereas in Clang a large chunk of it stems from contributors. Let > me repeat, paid people come and go, so do maintainers (they may burn out, or > just move on). These contributors are the ones who will become new maintainers > and the ones who advertise the project in their environment. > > I hope it makes clear the future of what project looks brighter. Btw, I figured I botched my calculations by using last 500 commits. If in one project a few persons posted huge patchsets, but in another nobody, then clearly the latter gets more mails in last 500 commits, which is wrong. So, I recalculated by looking at date of the last commit of those "500" in GCC, and used that date on Clang. I made sure to sort out other corporate mails too. Command I used is: git log --since="Jun 8 21:34:46" --format="%ae" | grep -vP "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huawei|c odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|micros oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcproject|si five|imagelabs|xilinx|sap|sas|sigmatechnology|sonarsource|ericsson|lowrisc|hight ec-rt|polymagelabs)\.(org|com|de|cz|cn|ai|se)" | sort -u | wc -l So, now GCC still gets 15, while for Clang this number gets increased to 89. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 22:25 ` Konstantin Kharlamov @ 2020-06-21 2:35 ` Eli Zaretskii 2020-06-21 5:08 ` Stefan Monnier 2020-06-21 9:00 ` Konstantin Kharlamov 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-06-21 2:35 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: rekado, dgutov, stefan, joaotavora, emacs-devel > From: Konstantin Kharlamov <hi-angel@yandex.ru> > Cc: rekado@elephly.net, emacs-devel@gnu.org, stefan@marxist.se, > joaotavora@gmail.com, dgutov@yandex.ru > Date: Sun, 21 Jun 2020 01:25:15 +0300 > > So, I recalculated by looking at date of the last commit of those "500" in GCC, > and used that date on Clang. I made sure to sort out other corporate mails too. > Command I used is: > > git log --since="Jun 8 21:34:46" --format="%ae" | grep -vP > "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huawei|c > odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|micros > oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcproject|si > five|imagelabs|xilinx|sap|sas|sigmatechnology|sonarsource|ericsson|lowrisc|hight > ec-rt|polymagelabs)\.(org|com|de|cz|cn|ai|se)" | sort -u | wc -l > > So, now GCC still gets 15, while for Clang this number gets increased to 89. This metric is irrelevant. Basically, you removed everyone who was a prominent developer, so it's little wonder that you are left with a small number. Using such arbitrary criteria, one can "prove" anything for any project. Once again, the long history and the active development of GCC over those long years are a clear evidence that your criterion is completely off the mark. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-21 2:35 ` Eli Zaretskii @ 2020-06-21 5:08 ` Stefan Monnier 2020-06-21 8:58 ` Konstantin Kharlamov 2020-06-21 9:00 ` Konstantin Kharlamov 1 sibling, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-06-21 5:08 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov I haven't followed this thread very closely, but it seems we've strayed far enough away from Emacs that it's become quite offtopic. I may be wrong (since I haven't followed the thread very closely) but my understanding is that Konstantin would like it for Emacs to accept submission using a "merge request" model or something like that. We've discussed this many times in the past. IIUC, we're slowly going there (see https://libreplanet.org/wiki/Fsf_2019_forge_evaluation), but we're an old project, and those people who most contribute to Emacs tend not to go very much for the shiny new stuff, so if you like the shiny new stuff I recommend you a healthy dose of patience. Stefan Eli Zaretskii [2020-06-21 05:35:24] wrote: >> From: Konstantin Kharlamov <hi-angel@yandex.ru> >> Cc: rekado@elephly.net, emacs-devel@gnu.org, stefan@marxist.se, >> joaotavora@gmail.com, dgutov@yandex.ru >> Date: Sun, 21 Jun 2020 01:25:15 +0300 >> >> So, I recalculated by looking at date of the last commit of those "500" in GCC, >> and used that date on Clang. I made sure to sort out other corporate mails too. >> Command I used is: >> >> git log --since="Jun 8 21:34:46" --format="%ae" | grep -vP >> "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huawei|c >> odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|micros >> oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcproject|si >> five|imagelabs|xilinx|sap|sas|sigmatechnology|sonarsource|ericsson|lowrisc|hight >> ec-rt|polymagelabs)\.(org|com|de|cz|cn|ai|se)" | sort -u | wc -l >> >> So, now GCC still gets 15, while for Clang this number gets increased to 89. > > This metric is irrelevant. Basically, you removed everyone who was a > prominent developer, so it's little wonder that you are left with a > small number. Using such arbitrary criteria, one can "prove" anything > for any project. > > Once again, the long history and the active development of GCC over > those long years are a clear evidence that your criterion is > completely off the mark. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-21 5:08 ` Stefan Monnier @ 2020-06-21 8:58 ` Konstantin Kharlamov 0 siblings, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-21 8:58 UTC (permalink / raw) To: Stefan Monnier; +Cc: rekado, emacs-devel, stefan, joaotavora, dgutov On Sun, 2020-06-21 at 01:08 -0400, Stefan Monnier wrote: > I haven't followed this thread very closely, but it seems we've strayed > far enough away from Emacs that it's become quite offtopic. Yeah, it probably did. > I may be wrong (since I haven't followed the thread very closely) but my > understanding is that Konstantin would like it for Emacs to accept > submission using a "merge request" model or something like that. > > We've discussed this many times in the past. IIUC, we're slowly going > there (see https://libreplanet.org/wiki/Fsf_2019_forge_evaluation), but > we're an old project, and those people who most contribute to Emacs tend > not to go very much for the shiny new stuff, so if you like the shiny > new stuff I recommend you a healthy dose of patience. Yeah, that was one of points I mentioned in my 1st email. Thanks for the link! ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-21 2:35 ` Eli Zaretskii 2020-06-21 5:08 ` Stefan Monnier @ 2020-06-21 9:00 ` Konstantin Kharlamov 1 sibling, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-21 9:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rekado, dgutov, stefan, joaotavora, emacs-devel On Sun, 2020-06-21 at 05:35 +0300, Eli Zaretskii wrote: > > From: Konstantin Kharlamov <hi-angel@yandex.ru> > > Cc: rekado@elephly.net, emacs-devel@gnu.org, stefan@marxist.se, > > joaotavora@gmail.com, dgutov@yandex.ru > > Date: Sun, 21 Jun 2020 01:25:15 +0300 > > > > So, I recalculated by looking at date of the last commit of those "500" in > > GCC, > > and used that date on Clang. I made sure to sort out other corporate mails > > too. > > Command I used is: > > > > git log --since="Jun 8 21:34:46" --format="%ae" | grep -vP > > "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huaw > > ei|c > > odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|mi > > cros > > oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcprojec > > t|si > > five|imagelabs|xilinx|sap|sas|sigmatechnology|sonarsource|ericsson|lowrisc|h > > ight > > ec-rt|polymagelabs)\.(org|com|de|cz|cn|ai|se)" | sort -u | wc -l > > > > So, now GCC still gets 15, while for Clang this number gets increased to 89. > > This metric is irrelevant. Basically, you removed everyone who was a > prominent developer, so it's little wonder that you are left with a > small number. Using such arbitrary criteria, one can "prove" anything > for any project. > > Once again, the long history and the active development of GCC over > those long years are a clear evidence that your criterion is > completely off the mark. I thought I brought counter-arguments to both of your points in my previous email. Anyway, as Stefan mentioned, it is getting offtopic, so maybe let's not continue discussing GCC and Clang. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 21:31 ` Konstantin Kharlamov 2020-06-20 22:25 ` Konstantin Kharlamov @ 2020-06-21 1:37 ` Yuan Fu 2020-06-21 13:49 ` João Távora 2 siblings, 0 replies; 605+ messages in thread From: Yuan Fu @ 2020-06-21 1:37 UTC (permalink / raw) To: Konstantin Kharlamov Cc: Stefan Kangas, emacs-devel, rekado, João Távora, dgutov, Eli Zaretskii [-- Attachment #1: Type: text/plain, Size: 2591 bytes --] > >>> git log -500 --format="%ae" | grep -vP >>> "@\S*(redhat|arm|suse|google|gnu|adacore|alibaba|intel|ibm|apple|linaro|huaw >>> ei|c >>> odesourcery|golang|sony|amd|chromium|nvidia|loongson|accesssoftek|ubisoft|mi >>> cros >>> oft|fb|energize|comstyle|nextsilicon|quicinc|azul|gentoo|graphcore|gdcprojec >>> t|si >>> five)\.(org|com|de|cz|cn)" | sort -u | wc -l >>> >>> Results are: >>> * GCC as of commit 445d8da5fbd: 15 >>> * Clang as of commit 7b201bfcac2: 49 >>> >>> This is some pretty big difference! If I expand the commits range, the >>> difference increases further. >> >> GCC is alive for 33 years, so I think your theory eats dust. Many of >> the GCC and GDB developers get paid for their work, but that doesn't >> mean the project is less viable, and the long history of both GCC and >> GDB is the proof. > > Okay, let me say beforehand that both GCC and Clang are very active projects > right now. Just in case, so there's no misunderstanding. > > So, times are changing. In older times there were no standard to development, > Git was not as popular, development practices are varied too. So, as long you > could get your patch to a project, any odd contribution requirements were fine, > they hardly would set a barrier. > > But these days Git got over all other VCSes (and for a reason), so using SVN or > Perforce, or whatever, is a barrier to contribution. 12 years ago Github was > founded, and then also the open-source clone Gitlab appeared. These two pretty > much set the standard development model nowadays (for a reason too). There still > are projects that use other models, but this is a barrier to contributors. > > What I'm getting at is that your reasoning that since GCC is 33 years old it > will live on does not work. For a project to "live on" it needs to be active. > Sure GCC is active! But its activity mainly stems from paid people and > maintainers. Whereas in Clang a large chunk of it stems from contributors. Let > me repeat, paid people come and go, so do maintainers (they may burn out, or > just move on). These contributors are the ones who will become new maintainers > and the ones who advertise the project in their environment. > > I hope it makes clear the future of what project looks brighter. I think the point is not “this works for a long time and it must be better than new stuff” but rather the current method _can_ live long (proven by gcc & gdb, etc). If in the future people moves to other shiny new SVN’s and github’s, does the git method still work? Yuan [-- Attachment #2: Type: text/html, Size: 19748 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 21:31 ` Konstantin Kharlamov 2020-06-20 22:25 ` Konstantin Kharlamov 2020-06-21 1:37 ` Yuan Fu @ 2020-06-21 13:49 ` João Távora 2020-06-21 15:36 ` Konstantin Kharlamov 2 siblings, 1 reply; 605+ messages in thread From: João Távora @ 2020-06-21 13:49 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: rekado, Eli Zaretskii, emacs-devel, stefan, dgutov [-- Attachment #1: Type: text/plain, Size: 892 bytes --] On Sat, Jun 20, 2020, 22:31 Konstantin Kharlamov <hi-angel@yandex.ru> wrote: > > > > I also don't think GNU projects are any good to make examples of. This > is my > > > general experience of seeing how new projects get under GNU umbrella > to get > > > never heard of (which I attribute to points listed in my starting mail, > > > since > > > most of them are unspecific to Emacs). > > > > I hope you realize how saying that makes your opinions matter much > > less, do you? > > No, I don't. I think what Eli and Ricardo (and now me), are trying to alert you to is that starting a discussion about working methods of GNU projects from a position of such a broad disdain of such projects ("not any good to make examples of") is nonsensical and likely leads to your arguments being ignored, regardless of how sophisticated they are (even though they aren't). João [-- Attachment #2: Type: text/html, Size: 1367 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-21 13:49 ` João Távora @ 2020-06-21 15:36 ` Konstantin Kharlamov 0 siblings, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-21 15:36 UTC (permalink / raw) To: João Távora; +Cc: rekado, Eli Zaretskii, emacs-devel, stefan, dgutov On Sun, 2020-06-21 at 14:49 +0100, João Távora wrote: > On Sat, Jun 20, 2020, 22:31 Konstantin Kharlamov <hi-angel@yandex.ru> wrote: > > > > I also don't think GNU projects are any good to make examples of. This > > is my > > > > general experience of seeing how new projects get under GNU umbrella to > > get > > > > never heard of (which I attribute to points listed in my starting mail, > > > > since > > > > most of them are unspecific to Emacs). > > > > > > I hope you realize how saying that makes your opinions matter much > > > less, do you? > > > > No, I don't. > > I think what Eli and Ricardo (and now me), are trying to alert you to is that > starting a discussion about working methods of GNU projects from a position of > such a broad disdain of such projects ("not any good to make examples of") is > nonsensical and likely leads to your arguments being ignored, regardless of > how sophisticated they are (even though they aren't). Thank you for elaboration! Well, someone's position per se can not make her/his arguments more or less valid. They may contradict the position, or they may be less or more valid… But it is impossible to make correct judgement of arguments by looking at position alone. Those (hopefully) hypothetical people basically smugly declare "I am right because I know I am". Great for them! Bad for others though, because even if they were right, no one but themselves will know that. Idk, maybe because I had too wide experience, having contributed to dozens of unrelated projects, having used a dozen of programming languages in various paradigms, and having tried to grok various mathematical stuff, but one thing I used to understand is: "However I am sure I am right, I may turn out to be wrong". I wish those mentioned people had that understanding. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 18:04 ` Konstantin Kharlamov 2020-06-20 18:43 ` Eli Zaretskii @ 2020-06-20 20:57 ` Ricardo Wurmus 2020-06-20 21:35 ` Konstantin Kharlamov 1 sibling, 1 reply; 605+ messages in thread From: Ricardo Wurmus @ 2020-06-20 20:57 UTC (permalink / raw) To: Konstantin Kharlamov Cc: Eli Zaretskii, emacs-devel, stefan, joaotavora, dgutov Konstantin Kharlamov <hi-angel@yandex.ru> writes: > I also don't think GNU projects are any good to make examples of. This is my > general experience of seeing how new projects get under GNU umbrella to get > never heard of (which I attribute to points listed in my starting mail, since > most of them are unspecific to Emacs). This is where I stopped reading and considering your points to be valid. There are countless things that determine whether a person will contribute to a project or not — even projects that you “don’t think […] are any good”. Pinning a complex behaviour on commit message format is beyond ludicrous. -- Ricardo ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-20 20:57 ` Ricardo Wurmus @ 2020-06-20 21:35 ` Konstantin Kharlamov 0 siblings, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-20 21:35 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: Eli Zaretskii, emacs-devel, stefan, joaotavora, dgutov On Sat, 2020-06-20 at 22:57 +0200, Ricardo Wurmus wrote: > Konstantin Kharlamov <hi-angel@yandex.ru> writes: > > > I also don't think GNU projects are any good to make examples of. This is my > > general experience of seeing how new projects get under GNU umbrella to get > > never heard of (which I attribute to points listed in my starting mail, > > since > > most of them are unspecific to Emacs). > > This is where I stopped reading and considering your points to be valid. lol. This is a very helpful mail, thanks for contributing to discussion! > There are countless things that determine whether a person will > contribute to a project or not — even projects that you “don’t think […] > are any good”. Pinning a complex behaviour on commit message format is > beyond ludicrous. I didn't. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-13 11:59 ` Konstantin Kharlamov 2020-06-13 12:50 ` Eli Zaretskii 2020-06-13 14:35 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers Dmitry Gutov @ 2020-06-17 3:58 ` Ricardo Wurmus 2020-06-17 8:58 ` Konstantin Kharlamov 2 siblings, 1 reply; 605+ messages in thread From: Ricardo Wurmus @ 2020-06-17 3:58 UTC (permalink / raw) To: Konstantin Kharlamov; +Cc: Eli Zaretskii, Stefan Kangas, emacs-devel Konstantin Kharlamov <hi-angel@yandex.ru> writes: > 5. As a contributor, when I stumble upon a bug I could fix in > software, first thing I usually do is go check it is not fixed in > latest code and that there's no pending merge/pull requests that seem > to fix that same thing. So, for example, I want to see pending > patchsets to python-mode, can I do that with Emacs > "bug-patch-tracker"? No, with debbugs.gnu.org you can either find > pending patchsets, or you can make a text search, but over everything: > bugs, patchsets, closed or not… For the Guix project I wrote Mumi[1], an alternative web frontend to Debbugs, which can be seen here: https://issues.guix.gnu.org The idea was to provide something that’s reminiscent of the Github experience without abandoning what’s great about the mail-based workflow. The official Debbugs web interface also allows you to filter by submissions with patches and by status, though it may not be easily discoverable how to do that. -- Ricardo [1]: https://git.elephly.net/software/mumi.git ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers 2020-06-17 3:58 ` Ricardo Wurmus @ 2020-06-17 8:58 ` Konstantin Kharlamov 0 siblings, 0 replies; 605+ messages in thread From: Konstantin Kharlamov @ 2020-06-17 8:58 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: Eli Zaretskii, Stefan Kangas, emacs-devel On Wed, 2020-06-17 at 05:58 +0200, Ricardo Wurmus wrote: > Konstantin Kharlamov <hi-angel@yandex.ru> writes: > > > 5. As a contributor, when I stumble upon a bug I could fix in > > software, first thing I usually do is go check it is not fixed in > > latest code and that there's no pending merge/pull requests that seem > > to fix that same thing. So, for example, I want to see pending > > patchsets to python-mode, can I do that with Emacs > > "bug-patch-tracker"? No, with debbugs.gnu.org you can either find > > pending patchsets, or you can make a text search, but over everything: > > bugs, patchsets, closed or not… > > For the Guix project I wrote Mumi[1], an alternative web frontend to > Debbugs, which can be seen here: > > https://issues.guix.gnu.org > > The idea was to provide something that’s reminiscent of the Github > experience without abandoning what’s great about the mail-based > workflow. Cool, it looks very nice! > The official Debbugs web interface also allows you to filter by > submissions with patches and by status, though it may not be easily > discoverable how to do that. Oh, right, I stand corrected: the "advanced text search" has also a button called "add attribute", where you can type Bug Title → Includes String → "[PATCH]" ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 22:44 ` Sébastien Gendre 2020-04-20 0:36 ` Stefan Kangas @ 2020-04-20 4:53 ` Po Lu 2020-04-20 6:08 ` 조성빈 2020-04-20 14:22 ` Eli Zaretskii 2 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-20 4:53 UTC (permalink / raw) To: Sébastien Gendre; +Cc: emacs-devel Sébastien Gendre <seb@k-7.ch> writes: > Let's see some use-cases: > - Bob: A newcomer, who just discover Emacs. He search somthing who is > visually modern, with all features he need to start writing code in > most popular languages: Code colouration, auto-completion, code > navigation, code documentation and functions/methods signature > automatically shown, code errors/warnings signalling, REPL > integration, snippets, strong GIT integration, etc. He also want to > use basic features without the need to read a tutorial. Just install > and go. But he is ok to read some tuto or manuals for advanced > features. If we ask him question(s) about what to enable or not, he > probably cannot respond (or thing he cannot). For him, Emacs need to > be the most out of the box possible. > - Alice: A long time user. She got a personal Emacs configuration she > had perfected over the years. She chose herself what system is used > to show function completion, which code parser is used for her daily > used languages. She add some packages to integrate with special > tools used at her work. Emacs is her home and office: She use it as > much for her personal project than for her work. She also made a > personal workflow with org-mode and write some personal Elisp > functions and advices. She forge the tools to her need. She do not > want to have an update of Emacs who break her configuration, her > workflow or her muscle memory. > - Mei: She simply want to use SpaceEmacs. She need to be sure > SpaceEmacs would work out of the box and be able to override all > defaults Emacs configuration. So SpaceEmacs developers need a way to > doing their work without the need to deactivate a hundred of default > features one after another and risk to forget one. This possibility > should be well documented. As the need of Mei is covered by > SpaceEmacs, she doesn't have special request about Emacs except make > it easy to use SpaceEmacs. > - Roberto: He work on a pre-configuration of Emacs, similar to > SpaceEmacs. He need a simple and documented way to deactivate all > default configurations that would make is work difficult. If > possible, in one move. And, of course, he need to know what is > deactivated so he can choose wisely what to enable and what to not. You have summed up the use-cases rather well. Thanks. > For these 4 use-cases, we can simply provide 2 flavors of Emacs: > - Emacs: With all the 2020 features, a modern interface, all needed > modern features to start coding with most popular languages and easy > to use for basic usages > - Emacs Vanilla: All the new features are still there, but deactivate > to not break anything > And these 2 flavors can be in the same text editor: For switch from a > flavor to another, simply enable the global-minor-mode `vanilla-mode`. > And if Emacs detect, after an update or a first start, an already > existing configuration that it could break because of some features: > Emacs simply activate `vanilla-mode` automatically. I'm afraid it's not that simple. I don't think we need any radical changes in Emacs to be turned on by default, but maybe something like a set-up wizard or "New to Emacs? Click here" would be useful. > - Alice update Emacs. When she restart it, Emacs detect an already > existing configuration that it could break by enabling some > features. So, Emacs simply enable `vanilla-mode` and add it to the > `init.el`. Emacs also show a message to Alice: "Emacs detected that > you have some personal configuration, so it active Vanilla-mode to > avoid breaking your configuration. Vanilla-mode deactivate some > features that you can re-enable manually.". This message is > accompanied by a clickable link to the documentation about the > `vanilla-mode` to see what it does in the details and what is > deactivate. I'm not sure whether Emacs can reliably detect updates or not. IIRC, there was a discussion a while back that said no. Plus, as I've previously mentioned, I don't think Emacs should adopt any drastic changes as the default configuration, but instead make the changes easily discoverable. (or at least until all of us old farts have had another decade or 2 to adjust). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 4:53 ` Po Lu @ 2020-04-20 6:08 ` 조성빈 2020-04-20 9:53 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: 조성빈 @ 2020-04-20 6:08 UTC (permalink / raw) To: Po Lu; +Cc: Sébastien Gendre, Emacs developers Po Lu <luangruo@yahoo.com> 작성: > Sébastien Gendre <seb@k-7.ch> writes: > > >> Let's see some use-cases: >> - Bob: A newcomer, who just discover Emacs. He search somthing who is >> visually modern, with all features he need to start writing code in >> most popular languages: Code colouration, auto-completion, code >> navigation, code documentation and functions/methods signature >> automatically shown, code errors/warnings signalling, REPL >> integration, snippets, strong GIT integration, etc. He also want to >> use basic features without the need to read a tutorial. Just install >> and go. But he is ok to read some tuto or manuals for advanced >> features. If we ask him question(s) about what to enable or not, he >> probably cannot respond (or thing he cannot). For him, Emacs need to >> be the most out of the box possible. >> - Alice: A long time user. She got a personal Emacs configuration she >> had perfected over the years. She chose herself what system is used >> to show function completion, which code parser is used for her daily >> used languages. She add some packages to integrate with special >> tools used at her work. Emacs is her home and office: She use it as >> much for her personal project than for her work. She also made a >> personal workflow with org-mode and write some personal Elisp >> functions and advices. She forge the tools to her need. She do not >> want to have an update of Emacs who break her configuration, her >> workflow or her muscle memory. >> - Mei: She simply want to use SpaceEmacs. She need to be sure >> SpaceEmacs would work out of the box and be able to override all >> defaults Emacs configuration. So SpaceEmacs developers need a way to >> doing their work without the need to deactivate a hundred of default >> features one after another and risk to forget one. This possibility >> should be well documented. As the need of Mei is covered by >> SpaceEmacs, she doesn't have special request about Emacs except make >> it easy to use SpaceEmacs. >> - Roberto: He work on a pre-configuration of Emacs, similar to >> SpaceEmacs. He need a simple and documented way to deactivate all >> default configurations that would make is work difficult. If >> possible, in one move. And, of course, he need to know what is >> deactivated so he can choose wisely what to enable and what to not. > > You have summed up the use-cases rather well. Thanks. > >> For these 4 use-cases, we can simply provide 2 flavors of Emacs: >> - Emacs: With all the 2020 features, a modern interface, all needed >> modern features to start coding with most popular languages and easy >> to use for basic usages >> - Emacs Vanilla: All the new features are still there, but deactivate >> to not break anything >> And these 2 flavors can be in the same text editor: For switch from a >> flavor to another, simply enable the global-minor-mode `vanilla-mode`. >> And if Emacs detect, after an update or a first start, an already >> existing configuration that it could break because of some features: >> Emacs simply activate `vanilla-mode` automatically. > > I'm afraid it's not that simple. I don't think we need any radical > changes in Emacs to be turned on by default, but maybe something like a > set-up wizard or "New to Emacs? Click here" would be useful. I can’t understand why you’re so opposed to changing defaults. Defaults matter, and I think that users who are already accustomed to Emacs will have an easier time changing options. (Like adding `(vanilla-mode 1)` to init.el.) >> - Alice update Emacs. When she restart it, Emacs detect an already >> existing configuration that it could break by enabling some >> features. So, Emacs simply enable `vanilla-mode` and add it to the >> `init.el`. Emacs also show a message to Alice: "Emacs detected that >> you have some personal configuration, so it active Vanilla-mode to >> avoid breaking your configuration. Vanilla-mode deactivate some >> features that you can re-enable manually.". This message is >> accompanied by a clickable link to the documentation about the >> `vanilla-mode` to see what it does in the details and what is >> deactivate. > > I'm not sure whether Emacs can reliably detect updates or not. Adding a variable that makes Emacs warn if it’s version number is different from its value might work. > IIRC, > there was a discussion a while back that said no. Plus, as I've > previously mentioned, I don't think Emacs should adopt any drastic > changes as the default configuration, but instead make the changes > easily discoverable. The features that are best discoverable are the ones that are default. > (or at least until all of us old farts have had > another decade or 2 to adjust). Defaults have to change for experienced users to adjust. And for them, adjusting is an easy task, not something that takes a decade. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 6:08 ` 조성빈 @ 2020-04-20 9:53 ` Po Lu 2020-04-20 13:07 ` 조성빈 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-20 9:53 UTC (permalink / raw) To: 조성빈; +Cc: Sébastien Gendre, Emacs developers 조성빈 <pcr910303@icloud.com> writes: > I can’t understand why you’re so opposed to changing defaults. Defaults > matter, and I think that users who are already accustomed to Emacs will > have an easier time changing options. (Like adding `(vanilla-mode 1)` > to init.el.) I oppose changing defaults, because I value my tools remaining stable. Having to frequently adjust my user-emacs-directory to encompass the latest fancy new idea is an unacceptable maintenance burden to me. Not to mention in practice, those changes are going to be far larger than a hypothetical `vanilla-mode'. > Adding a variable that makes Emacs warn if it’s version number is > different from its value might work. I'm not sure what you're talking about; Variables don't persist across Emacs sessions. > The features that are best discoverable are the ones that are default. And since changing the defaults radically end up hurting existing users, and also existing packages and potentially the existing ecosystem. You have to find a balance between that, and changing the defaults is not the balance you want. > Defaults have to change for experienced users to adjust. And for them, > adjusting is an easy task, not something that takes a decade. "For existing users to adjust" is not an excuse -- that puts an extra burden on users. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 9:53 ` Po Lu @ 2020-04-20 13:07 ` 조성빈 2020-04-20 15:32 ` Eli Zaretskii 2020-04-21 2:06 ` Po Lu 0 siblings, 2 replies; 605+ messages in thread From: 조성빈 @ 2020-04-20 13:07 UTC (permalink / raw) To: Po Lu; +Cc: Sébastien Gendre, Emacs developers Po Lu <luangruo@yahoo.com> 작성: > 조성빈 <pcr910303@icloud.com> writes: > >> I can’t understand why you’re so opposed to changing defaults. Defaults >> matter, and I think that users who are already accustomed to Emacs will >> have an easier time changing options. (Like adding `(vanilla-mode 1)` >> to init.el.) > > I oppose changing defaults, because I value my tools remaining stable. > Having to frequently adjust my user-emacs-directory to encompass the > latest fancy new idea is an unacceptable maintenance burden to me. Then you can turn on ‘vanilla-mode’ on your init.el and call it a day. ‘vanilla-mode’ will be the current situation of Emacs - it will try to be stable. > Not > to mention in practice, those changes are going to be far larger than a > hypothetical `vanilla-mode'. Why? If you’re fine with the current level of changes in Emacs, that would be the level of changes in ‘vanilla-mode’. >> Adding a variable that makes Emacs warn if it’s version number is >> different from its value might work. > > I'm not sure what you're talking about; Variables don't persist across > Emacs sessions. I’m saying that one can add a variable like ‘expected-emacs-version’ and when Emacs is loading init.el and ‘expected-emacs-version’ is different from the current version, Emacs can warn you. >> The features that are best discoverable are the ones that are default. > > And since changing the defaults radically end up hurting existing users, No, it doesn’t. Better defaults help users and allow them to lighten their configuration. > and also existing packages and potentially the existing ecosystem. You > have to find a balance between that, and changing the defaults is not > the balance you want. The balance I’m suggesting (actually ndame) is to add a ‘vanilla-mode’ for people who value stability over features. >> Defaults have to change for experienced users to adjust. And for them, >> adjusting is an easy task, not something that takes a decade. > > "For existing users to adjust" is not an excuse -- that puts an extra > burden on users. No, it doesn’t - see previous comments. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 13:07 ` 조성빈 @ 2020-04-20 15:32 ` Eli Zaretskii 2020-04-21 2:06 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-20 15:32 UTC (permalink / raw) To: 조성빈; +Cc: luangruo, seb, emacs-devel > From: 조성빈 <pcr910303@icloud.com> > Date: Mon, 20 Apr 2020 22:07:55 +0900 > Cc: Sébastien Gendre <seb@k-7.ch>, > Emacs developers <emacs-devel@gnu.org> > > Then you can turn on ‘vanilla-mode’ on your init.el and call it a day. > ‘vanilla-mode’ will be the current situation of Emacs - it will try to > be stable. It's not that simple. Some features that are turned on cannot be easily turned off afterwards. > > And since changing the defaults radically end up hurting existing users, > > No, it doesn’t. Better defaults help users and allow them to lighten their > configuration. Experience shows that you are in disagreement with a large bulk of our users. They tend to complain loudly when they bump into some changes of defaults that they dislike, or find that behavior they were accustomed to changed too radically. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 13:07 ` 조성빈 2020-04-20 15:32 ` Eli Zaretskii @ 2020-04-21 2:06 ` Po Lu 2020-04-21 2:17 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-21 2:06 UTC (permalink / raw) To: 조성빈; +Cc: Sébastien Gendre, Emacs developers 조성빈 <pcr910303@icloud.com> writes: > Then you can turn on ‘vanilla-mode’ on your init.el and call it a day. > ‘vanilla-mode’ will be the current situation of Emacs - it will try to > be stable. Experience shows that major changes are not as easy to revert as a single `(vanilla-mode 1)'. > Why? If you’re fine with the current level of changes in Emacs, that would > be the level of changes in ‘vanilla-mode’. What do you mean? I haven't seen the default binding for `C-v` changed in about 25 years. It would be a shame if it changed now. > I’m saying that one can add a variable like ‘expected-emacs-version’ and > when Emacs is loading init.el and ‘expected-emacs-version’ is different > from the current version, Emacs can warn you. That assumes the person with the config puts that variable in, and anyway it makes for more maintenance burden. > No, it doesn’t. Better defaults help users and allow them to lighten their > configuration. There is no "better default". There's only the default that remains stable and so far happens to work for everyone. > The balance I’m suggesting (actually ndame) is to add a ‘vanilla-mode’ for > people who value stability over features. You can't stuff major changes in a `vanilla-mode'. > No, it doesn’t - see previous comments. Yes it does. I can't be bothered to put an extra line in my .emacs for every tiny change users decide they want. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 2:06 ` Po Lu @ 2020-04-21 2:17 ` Dmitry Gutov 2020-04-21 4:42 ` Po Lu ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-21 2:17 UTC (permalink / raw) To: Po Lu, 조성빈; +Cc: Sébastien Gendre, Emacs developers On 21.04.2020 05:06, Po Lu wrote: >> No, it doesn’t - see previous comments. > Yes it does. I can't be bothered to put an extra line in my .emacs for > every tiny change users decide they want. Please keep in mind that if we hope to make Emacs reach, say, 30% share among programmers, the extra 25% would be new users. So for all questions about changing defaults, we should ask ourselves, do we prioritize the existing 5% (or 3%, as SO poll says) userbase that will naturally continue shrinking over the years, or whether we prefer to make life easier and more productive for the users that should come later. And it's not like existing, long-time users can't grow to like the new defaults (even after a certain amount of grumbling). I think the Xref example shows that. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 2:17 ` Dmitry Gutov @ 2020-04-21 4:42 ` Po Lu 2020-04-21 13:55 ` Dmitry Gutov 2020-04-22 3:19 ` Richard Stallman 2020-04-23 7:04 ` Ahmed Khanzada 2 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-21 4:42 UTC (permalink / raw) To: Dmitry Gutov Cc: 조성빈, Sébastien Gendre, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > Please keep in mind that if we hope to make Emacs reach, say, 30% > share among programmers, the extra 25% would be new users. We should prioritize existing users over hypothetical users that don't even exist yet. > So for all questions about changing defaults, we should ask ourselves, > do we prioritize the existing 5% (or 3%, as SO poll says) userbase > that will naturally continue shrinking over the years, or whether we > prefer to make life easier and more productive for the users that > should come later. One exists. The other doesn't. Which one would you choose? > And it's not like existing, long-time users can't grow to like the new > defaults (even after a certain amount of grumbling). I think the Xref > example shows that. Xref was bad enough. Changing C-a to "select all" would be worse. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 4:42 ` Po Lu @ 2020-04-21 13:55 ` Dmitry Gutov 2020-04-22 3:14 ` How to poll the users Richard Stallman 2020-04-22 4:41 ` Making Emacs more friendly to newcomers Po Lu 0 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-21 13:55 UTC (permalink / raw) To: Po Lu; +Cc: Sébastien Gendre, 조성빈, Emacs developers On 21.04.2020 07:42, Po Lu wrote: > Dmitry Gutov <dgutov@yandex.ru> writes: > >> Please keep in mind that if we hope to make Emacs reach, say, 30% >> share among programmers, the extra 25% would be new users. > > We should prioritize existing users over hypothetical users that don't > even exist yet. And then, another 20 years pass, the current users get too old/change careers/retire/etc, and Emacs's userbase shrinks even more. I don't want Emacs to die out, and it will if we don't do the work of attracting new users. >> So for all questions about changing defaults, we should ask ourselves, >> do we prioritize the existing 5% (or 3%, as SO poll says) userbase >> that will naturally continue shrinking over the years, or whether we >> prefer to make life easier and more productive for the users that >> should come later. > > One exists. The other doesn't. > Which one would you choose? Also note that we don't really have the ability to poll even our existing users, to find out whether they would like a given change. Even disregarding those who would change their mind later. >> And it's not like existing, long-time users can't grow to like the new >> defaults (even after a certain amount of grumbling). I think the Xref >> example shows that. > > Xref was bad enough. Give it time. > Changing C-a to "select all" would be worse. I didn't talk about that, but... I think it's possible to support two sets of keybindings. That's definitely extra work, though. Including simply designing a set of bindings that is both compatible with CUA and yet retains the current design principles to some extent (so far I have no good ideas on that front). ^ permalink raw reply [flat|nested] 605+ messages in thread
* How to poll the users 2020-04-21 13:55 ` Dmitry Gutov @ 2020-04-22 3:14 ` Richard Stallman 2020-04-24 4:31 ` Dmitry Gutov 2020-04-22 4:41 ` Making Emacs more friendly to newcomers Po Lu 1 sibling, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:14 UTC (permalink / raw) To: Dmitry Gutov; +Cc: luangruo, pcr910303, seb, 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. ]]] > Also note that we don't really have the ability to poll even our > existing users, We have done it many times. Here's the method I developed for polls in the past: * Make a file for the replies to go into. * Make a mailing address which drops all mail into the file. * Mail to info-gnu-emacs and help-gnu-emacs, and any other suitable place, presenting the proposed change in sufficient detail that people can judge it, and where to email the response, as well as what kind of information we seek. What we seek is not "votes", but understanding. If you are for the change, please explain why. Would it help you directly? If so, in what scenario, and what would the benefit be? And how important? Or is it that you think it will help Emacs development by helping others? Please distinguish between what you know and what you guess. Likewise, if you are against the change, please explain why. Would it inconvenience you directly? If so, in what scenario, and what would the inconvenience be? And how important? Or is it that you think it will harm Emacs development by inconveniencing others? We invite you also to propose changes in the proposal that would improve it, for you -- saying in what scenario, and how. * We state a deadline some weeks in the future, but since there is no hurry, we wait some extra time before we look at the responses. * Ultimately, we do not restrict ourselves to choosing between "make the change" and "don't make it". The best outcome is that the feedback enables us to design a way to please almost everyone. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-22 3:14 ` How to poll the users Richard Stallman @ 2020-04-24 4:31 ` Dmitry Gutov 2020-04-25 3:37 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-24 4:31 UTC (permalink / raw) To: rms; +Cc: luangruo, pcr910303, seb, emacs-devel Hi Richard, I'd like to reply to that email more thoroughly, but for now: On 22.04.2020 06:14, Richard Stallman wrote: > * Mail to info-gnu-emacs and help-gnu-emacs, and any other suitable > place, presenting the proposed change in sufficient detail that people > can judge it, and where to email the response, as well as what kind of > information we seek. How many subscribers do these mailing lists have? For comparison, the StackOverflow surveys we've seen mentioned in this thread count about 4000 dedicated Emacs users (that filled out the survey). The Emacs StackExchange site has around 20'000 registered users. The Emacs subreddit has almost 40'000 subscribers. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-24 4:31 ` Dmitry Gutov @ 2020-04-25 3:37 ` Richard Stallman 2020-04-25 4:09 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-25 3:37 UTC (permalink / raw) To: Dmitry Gutov; +Cc: luangruo, seb, pcr910303, 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. ]]] > > * Mail to info-gnu-emacs and help-gnu-emacs, and any other suitable > > place, presenting the proposed change in sufficient detail that people > > can judge it, and where to email the response, as well as what kind of > > information we seek. > How many subscribers do these mailing lists have? I don't know. Do you? We could ask the FSF sysadmins. > For comparison, Those two lists are the only ways I know of to reach Emacs users. I don't know of any other suitable places, but it is good to find more. the StackOverflow surveys we've seen mentioned in this > thread count about 4000 dedicated Emacs users (that filled out the > survey). The Emacs StackExchange site has around 20'000 registered > users. The Emacs subreddit has almost 40'000 subscribers. I have never used StackExchange or Reddit, and I don't know how they are structured. Are you suggesting them as additional places to send our polls to? Have you got any other suggestions of places? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 3:37 ` Richard Stallman @ 2020-04-25 4:09 ` Dmitry Gutov 2020-04-25 15:35 ` Drew Adams ` (3 more replies) 0 siblings, 4 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-25 4:09 UTC (permalink / raw) To: rms; +Cc: luangruo, seb, pcr910303, emacs-devel On 25.04.2020 06:37, Richard Stallman wrote: > > > * Mail to info-gnu-emacs and help-gnu-emacs, and any other suitable > > > place, presenting the proposed change in sufficient detail that people > > > can judge it, and where to email the response, as well as what kind of > > > information we seek. > > > How many subscribers do these mailing lists have? > > I don't know. Do you? I can only guess. I was wondering if my rough intuition was true, though. And I think comparing the numbers might give us insight into which fraction of our users is really comfortable with email as a discussion medium. > We could ask the FSF sysadmins. If it's not too much trouble, please do. > the StackOverflow surveys we've seen mentioned in this > > thread count about 4000 dedicated Emacs users (that filled out the > > survey). The Emacs StackExchange site has around 20'000 registered > > users. The Emacs subreddit has almost 40'000 subscribers. > > I have never used StackExchange or Reddit, and I don't know how they > are structured. Are you suggesting them as additional places to send > our polls to? Pretty much. Reddit also has a "polls" feature, where it could aggregate the answers for us. They also have comments for when someone wants to leave an additional explanation. Because handling thousands of response emails (which is what might happen if people are interested enough) by hand is too much, I think. Even just a few hundreds. > Have you got any other suggestions of places? The ones I mentioned are the biggest ones I know. Speaking of the default values, what do you think about using your scenario to ask the users about their preferred value of indent-tabs-mode? I can create a poll with four options: "strong tabs preference", "strong spaces preference", "mild tabs preference", "mild spaces preference". People can add extra explanations in comments. This particular subject has endured some heated discussion in the past, and we never managed to agree enough to change it. But we never asked the users at large either. According to my data, most of them should prefer spaces. If I do create a poll, and the outcome would strongly indicate a change of the default, we'd pretty much have to change it then, though. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-25 4:09 ` Dmitry Gutov @ 2020-04-25 15:35 ` Drew Adams 2020-04-25 15:44 ` Dmitry Gutov 2020-04-25 15:36 ` Drew Adams ` (2 subsequent siblings) 3 siblings, 1 reply; 605+ messages in thread From: Drew Adams @ 2020-04-25 15:35 UTC (permalink / raw) To: Dmitry Gutov, rms; +Cc: luangruo, pcr910303, seb, emacs-devel > > > Emacs StackExchange site has around 20'000 registered > > > users. The Emacs subreddit has almost 40'000 subscribers. > > > > ... Have you got any other suggestions of places? > > The ones I mentioned are the biggest ones I know. Also: https://stackoverflow.com/questions/tagged/emacs https://superuser.com/questions/tagged/emacs > ask the users about their preferred value of indent-tabs-mode? ... > > This particular subject has endured some heated discussion in the past, > and we never managed to agree enough to change it. But we never asked > the users at large either. According to my data, most of them should > prefer spaces. FWIW, there's an Emacs Wiki page for that topic: https://www.emacswiki.org/emacs/NoTabs > If I do create a poll, and the outcome would strongly indicate a change > of the default, we'd pretty much have to change it then, though. FWIW, I don't agree with that conclusion, in the abstract. [ But I do prefer spaces-only, personally. And beyond a preference for using that within Emacs, when pasting code copied from Emacs into other apps (e.g. Q&A on the web sites mentioned), if you have a non-nil value then you need to first use `M-x untabify', or else manually reformat everything after pasting. ] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 15:35 ` Drew Adams @ 2020-04-25 15:44 ` Dmitry Gutov 2020-04-25 16:15 ` Stefan Kangas ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-25 15:44 UTC (permalink / raw) To: Drew Adams, rms; +Cc: luangruo, pcr910303, seb, emacs-devel On 25.04.2020 18:35, Drew Adams wrote: >>>> Emacs StackExchange site has around 20'000 registered >>>> users. The Emacs subreddit has almost 40'000 subscribers. >>> >>> ... Have you got any other suggestions of places? >> >> The ones I mentioned are the biggest ones I know. > > Also: > > https://stackoverflow.com/questions/tagged/emacs > > https://superuser.com/questions/tagged/emacs Right. But these seem smaller, and I'm not sure we can do any polls on stackexchange/stackoverflow anyway. >> If I do create a poll, and the outcome would strongly indicate a change >> of the default, we'd pretty much have to change it then, though. > > FWIW, I don't agree with that conclusion, in the abstract. If the poll doesn't contain an implicit promise (e.g. "we considering a change of default"), the turnout is likely to be much lower. Which is not what we want, I think. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 15:44 ` Dmitry Gutov @ 2020-04-25 16:15 ` Stefan Kangas 2020-04-25 16:46 ` Dmitry Gutov 2020-04-27 2:18 ` Richard Stallman 2020-04-25 16:20 ` Drew Adams 2020-04-25 16:54 ` Drew Adams 2 siblings, 2 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-25 16:15 UTC (permalink / raw) To: Dmitry Gutov Cc: Sébastien Gendre, Emacs developers, Po Lu, pcr910303, Drew Adams, Richard Stallman Dmitry Gutov <dgutov@yandex.ru> writes: > If the poll doesn't contain an implicit promise (e.g. "we considering a > change of default"), the turnout is likely to be much lower. Which is > not what we want, I think. I agree. I would add I think this could be an important way for emacs-devel to interact with regular users, and make them feel more involved. I don't want to come across as negative towards your suggestion to create a poll, which I think is an excellent initiative. But perhaps we could consider if there are more pressing or engaging questions to put before our users. The tabs vs spaces debate feels a little bit dated, at least to me, and possibly not even that important since it's so easy to configure to your liking. Perhaps we could even consider asking for their input on a number of important questions (not too many, say 4-5) where it would be interesting to get feedback. Ideally we would try to choose questions strategically to inspire excitement for Emacs development. (Tabs vs spaces could of course be one of them.) Just some food for thought. Either way you decide, I'm sure I'll be happy with the outcome. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 16:15 ` Stefan Kangas @ 2020-04-25 16:46 ` Dmitry Gutov 2020-04-26 15:25 ` Stefan Kangas 2020-04-27 2:18 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-25 16:46 UTC (permalink / raw) To: Stefan Kangas Cc: Sébastien Gendre, Emacs developers, Po Lu, pcr910303, Drew Adams, Richard Stallman On 25.04.2020 19:15, Stefan Kangas wrote: > I don't want to come across as negative towards your suggestion to > create a poll, which I think is an excellent initiative. But perhaps > we could consider if there are more pressing or engaging questions to > put before our users. The tabs vs spaces debate feels a little bit > dated, at least to me, and possibly not even that important since it's > so easy to configure to your liking. I don't know about that. It's definitely not urgent, but it's a fairly simple question (unlike some others we might ask), and I think the default behavior of mixing tabs with spaces constitutes a point of confusion for new Emacs users to this day. > Perhaps we could even consider asking for their input on a number of > important questions (not too many, say 4-5) where it would be > interesting to get feedback. Ideally we would try to choose questions > strategically to inspire excitement for Emacs development. (Tabs vs > spaces could of course be one of them.) I think we should only ask one question at a time. Creating multiple polls is an option, of course, but we could just as well wait a little between them. And if indent-tabs-mode is not important in your opinion (it's just the first thing that came to my mind), do you want to come up with some other questions? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 16:46 ` Dmitry Gutov @ 2020-04-26 15:25 ` Stefan Kangas 2020-04-26 16:22 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-26 15:25 UTC (permalink / raw) To: Dmitry Gutov Cc: Richard Stallman, Sébastien Gendre, Emacs developers, Po Lu, pcr910303, Drew Adams Dmitry Gutov <dgutov@yandex.ru> writes: > I don't know about that. It's definitely not urgent, but it's a fairly > simple question (unlike some others we might ask), and I think the > default behavior of mixing tabs with spaces constitutes a point of > confusion for new Emacs users to this day. OK, you convinced me. > I think we should only ask one question at a time. Creating multiple > polls is an option, of course, but we could just as well wait a little > between them. Yes, it's not immediately obvious which way is better. So let's keep it simple and do what you suggest. > And if indent-tabs-mode is not important in your opinion (it's just the > first thing that came to my mind), do you want to come up with some > other questions? If I was to design a series of questions, they would probably be about more "soft" aspects of the project, regarding things we are discussing in other threads: how to get more people involved in Emacs core development, contributing to GNU ELPA, etc. Of course, nothing is resolved with merely sending out a poll, but I imagine it would help gauge the situation and make us feel more confident about which direction to take. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 15:25 ` Stefan Kangas @ 2020-04-26 16:22 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-26 16:22 UTC (permalink / raw) To: Stefan Kangas Cc: Richard Stallman, Sébastien Gendre, Emacs developers, Po Lu, pcr910303, Drew Adams On 26.04.2020 18:25, Stefan Kangas wrote: > how to get more people involved in Emacs core > development, contributing to GNU ELPA, etc. Of course, nothing is > resolved with merely sending out a poll, but I imagine it would help > gauge the situation and make us feel more confident about which > direction to take I think we've had those discussion on Reddit many times before already, and some of it comes down to doing the work (e.g. setting up GitLab in a way to keep both the wolf and the sheep happy, which is a lot of work, in this case). Maybe some more, more specific questions could lead to new insights, though. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 16:15 ` Stefan Kangas 2020-04-25 16:46 ` Dmitry Gutov @ 2020-04-27 2:18 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-27 2:18 UTC (permalink / raw) To: Stefan Kangas; +Cc: pcr910303, emacs-devel, luangruo, seb, dgutov, drew.adams [[[ 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 poll doesn't contain an implicit promise (e.g. "we considering a > > change of default"), the turnout is likely to be much lower. Which is > > not what we want, I think. > I agree. I would add I think this could be an important way for > emacs-devel to interact with regular users, and make them feel more > involved. A poll of the users is not about counting votes. The aim is to learn more about what users find convenient or inconvenient, and especially how and why it is convenient or inconvenient. The ideal outcome is NOT that we choose the default that 65% of the users prefer rather than the one 25% prefer. Rather, the ideal outcome is to invent another option that nearly everyone will like. The only proper "promise" to make is that we will use what we learn from the poll to make Emacs better. > Perhaps we could even consider asking for their input on a number of > important questions (not too many, say 4-5) where it would be > interesting to get feedback. Responses of "yes" or "no" are not very helpful, because they give us little understanding. We seek responses that tell us more than that. To encourage users to think about and report why and how certain behaviors help them or annoy them, we raise one issue at a time. If there are several issues we want to learn more about, we do separate polls about them. We can do as many polls as we like, subject to the limits on our time to study the results. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-25 15:44 ` Dmitry Gutov 2020-04-25 16:15 ` Stefan Kangas @ 2020-04-25 16:20 ` Drew Adams 2020-04-25 16:29 ` Dmitry Gutov 2020-04-25 16:54 ` Drew Adams 2 siblings, 1 reply; 605+ messages in thread From: Drew Adams @ 2020-04-25 16:20 UTC (permalink / raw) To: Dmitry Gutov, rms; +Cc: luangruo, pcr910303, seb, emacs-devel > >> If I do create a poll, and the outcome would strongly indicate a > >> change of the default, we'd pretty much have to change it then, though. > > > > FWIW, I don't agree with that conclusion, in the abstract. > > If the poll doesn't contain an implicit promise (e.g. "we considering a > change of default"), the turnout is likely to be much lower. Which is > not what we want, I think. tl;dr: Poll results are one, and only one consideration. --- An implicit promise to consider is not the same thing as a position that a poll outcome strongly indicates that the default should be changed. It may or may not strongly indicate an opinion by the people who responded, and that may or may not be strongly relevant to the question. And just having a poll suggests that there will be consideration of the poll results, and that such consideration could include the question of changing the default. And if the question of default change is really part of the question at hand then it should be explicitly part of the poll. E.g. not just "What's your use or preference, personally?" but also "Do you think your preferred behavior should be the default behavior? The point is that default-changing is (should be) a case-by-case decision. And it can be (and usually is) based on multiple considerations - not just a user poll. One question about polls is their representation, who the responders are, what their relation to the question (e.g. their use of Emacs) is, etc. I said I didn't agree with your conclusion _in the abstract_. That's the problem with it. It might be a reasonable conclusion in some particular case (some particular poll question). But it's not reasonable as an abstract proposition. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 16:20 ` Drew Adams @ 2020-04-25 16:29 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-25 16:29 UTC (permalink / raw) To: Drew Adams, rms; +Cc: luangruo, pcr910303, seb, emacs-devel On 25.04.2020 19:20, Drew Adams wrote: > It may or may not strongly indicate an opinion by the > people who responded, and that may or may not be > strongly relevant to the question. Hence the four answer options I suggested. > And if the question of default change is really part > of the question at hand then it should be explicitly > part of the poll. E.g. not just "What's your use or > preference, personally?" but also "Do you think your > preferred behavior should be the default behavior? Yes, of course. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-25 15:44 ` Dmitry Gutov 2020-04-25 16:15 ` Stefan Kangas 2020-04-25 16:20 ` Drew Adams @ 2020-04-25 16:54 ` Drew Adams 2020-04-25 16:57 ` Dmitry Gutov 2 siblings, 1 reply; 605+ messages in thread From: Drew Adams @ 2020-04-25 16:54 UTC (permalink / raw) To: Dmitry Gutov, rms; +Cc: luangruo, pcr910303, seb, emacs-devel > > Also: > > stackoverflow.com/questions/tagged/emacs > > superuser.com/questions/tagged/emacs > > Right. But these seem smaller Super User is limited in the number of Emacs questions, certainly (1,643 questions). Stack Overflow is NOT limited. It has 16,700 Emacs questions. emacs.StackExchange has 18,717 questions. In other words, they are about the same size. And there's a fair amount of overlap in the kinds of questions they have. But the number of questions is only one consideration. Each of those Stack Exchange sites offers a different mix of users. In particular, the users of those other sites are programmers of all sorts, people for whom Emacs is not necessarily the be-all and end-all of their lives, people who often primarily want to use Emacs for programming. That's important, I think. Emacs questions on Stack Overflow may be less oriented toward things like Org mode, image display, faces, etc., and more oriented toward programming. We want to reach all kinds of Emacs users. Programmers are a key user group, and many programmers are more likely to ask an Emacs question, or a question that touches on Emacs, on an SE site other than emacs.SE. And beyond the sites I mentioned, there are other SE sites that have Emacs Q&A, and still others that have Lisp Q&A that is relevant to Elisp. An SE poll on a site other than emacs.SE should of course be tagged `emacs`. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 16:54 ` Drew Adams @ 2020-04-25 16:57 ` Dmitry Gutov 2020-04-25 17:16 ` Drew Adams 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-25 16:57 UTC (permalink / raw) To: Drew Adams, rms; +Cc: luangruo, pcr910303, seb, emacs-devel On 25.04.2020 19:54, Drew Adams wrote: > In particular, the users of those other sites are programmers of all sorts, people for whom Emacs is not necessarily the be-all and end-all of their lives, people who often primarily want to use Emacs for programming. Fair enough. > An SE poll on a site other than emacs.SE should of course be tagged `emacs`. How does one make an SE poll, though? ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-25 16:57 ` Dmitry Gutov @ 2020-04-25 17:16 ` Drew Adams 0 siblings, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-04-25 17:16 UTC (permalink / raw) To: Dmitry Gutov, rms; +Cc: luangruo, pcr910303, seb, emacs-devel > How does one make an SE poll, though? No idea, sorry. Sounds like a question to be posed at https://meta.stackexchange.com/. Well, maybe not. Searching there a bit I came across these, which suggest that SE user polls are not welcome, in general: https://meta.stackexchange.com/questions/186530/what-close-reason-for-polling-questions https://meta.stackexchange.com/questions/233908/are-poll-style-questions-ever-acceptable-on-meta-sites You had said that Stack Overflow (or Stack Exchange) does polling, and that's certainly true. But that's the site itself. It looks like there may be no good way for someone outside to post a poll there. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-25 4:09 ` Dmitry Gutov 2020-04-25 15:35 ` Drew Adams @ 2020-04-25 15:36 ` Drew Adams 2020-04-26 3:25 ` Richard Stallman 2020-04-26 3:25 ` Richard Stallman 3 siblings, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-04-25 15:36 UTC (permalink / raw) To: Dmitry Gutov, rms; +Cc: luangruo, pcr910303, seb, emacs-devel > FWIW, there's an Emacs Wiki page for that topic: > > https://www.emacswiki.org/emacs/NoTabs Oops, sorry, I meant this page: https://www.emacswiki.org/emacs/TabsAreEvil ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 4:09 ` Dmitry Gutov 2020-04-25 15:35 ` Drew Adams 2020-04-25 15:36 ` Drew Adams @ 2020-04-26 3:25 ` Richard Stallman 2020-04-26 14:21 ` Dmitry Gutov 2020-04-26 3:25 ` Richard Stallman 3 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-26 3:25 UTC (permalink / raw) To: Dmitry Gutov; +Cc: luangruo, pcr910303, seb, 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. ]]] > Speaking of the default values, what do you think about using your > scenario to ask the users about their preferred value of > indent-tabs-mode? I can create a poll with four options: "strong tabs > preference", "strong spaces preference", "mild tabs preference", "mild > spaces preference". People can add extra explanations in comments. The idea of a poll is to understand the effects of the various choices, and find out the specific reasons for users to prefer this or that, and evaluate their significance -- NOT to count how many people prefer each choice. It is a mistake to count the answers, because a given change can affect one user very often, and affect another user only rarely, but they might both state a "strong preference". -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 3:25 ` Richard Stallman @ 2020-04-26 14:21 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-26 14:21 UTC (permalink / raw) To: rms; +Cc: luangruo, pcr910303, seb, emacs-devel On 26.04.2020 06:25, 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. ]]] > > > Speaking of the default values, what do you think about using your > > scenario to ask the users about their preferred value of > > indent-tabs-mode? I can create a poll with four options: "strong tabs > > preference", "strong spaces preference", "mild tabs preference", "mild > > spaces preference". People can add extra explanations in comments. > > The idea of a poll is to understand the effects of the various > choices, and find out the specific reasons for users to prefer this or > that, and evaluate their significance -- NOT to count how many people > prefer each choice. A numbering poll is still somewhat useful, if only to get the general mood. But in the description we can ask everybody to actually write a comment. *Or* upvote one of the existing comments, if it reflects their experience accurately. Both these options together seem to make responses over email (which would otherwise be invisible to the public and thus miss out on the chance to spur some discussion) unnecessary. But we could also encourage people to write emails, if you so prefer. > It is a mistake to count the answers, because a given change can > affect one user very often, and affect another user only rarely, but > they might both state a "strong preference". I think the time when it affects the users the most is just after Emacs is installed for the first time, before they know about this variable, and how to customize its value to nil. So it doesn't affect people "often", but it does affect a lot of people. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-25 4:09 ` Dmitry Gutov ` (2 preceding siblings ...) 2020-04-26 3:25 ` Richard Stallman @ 2020-04-26 3:25 ` Richard Stallman 2020-04-26 13:23 ` Dmitry Gutov 2020-04-26 16:56 ` Drew Adams 3 siblings, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-26 3:25 UTC (permalink / raw) To: Dmitry Gutov; +Cc: luangruo, pcr910303, seb, 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 ones I mentioned are the biggest ones I know. I will add StackOverflow and Reddit to the list of places I suggest posting polls. Thanks. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 3:25 ` Richard Stallman @ 2020-04-26 13:23 ` Dmitry Gutov 2020-04-27 2:19 ` Richard Stallman 2020-04-26 16:56 ` Drew Adams 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-26 13:23 UTC (permalink / raw) To: rms; +Cc: luangruo, pcr910303, seb, emacs-devel On 26.04.2020 06:25, 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 ones I mentioned are the biggest ones I know. > > I will add StackOverflow and Reddit to the list of places > I suggest posting polls. Thanks. Like Drew described, StackOverflow discourage polls and will likely close them as non-constructive. It's a Q&A website, and they don't want Q that can elicit an unbounded number of A's. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 13:23 ` Dmitry Gutov @ 2020-04-27 2:19 ` Richard Stallman 2020-04-27 2:30 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-27 2:19 UTC (permalink / raw) To: Dmitry Gutov; +Cc: luangruo, seb, pcr910303, 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. ]]] > Like Drew described, StackOverflow discourage polls and will likely > close them as non-constructive. It's a Q&A website, and they don't want > Q that can elicit an unbounded number of A's. Would they object to posting a reference to a page with a poll that asks people to answer by email? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-27 2:19 ` Richard Stallman @ 2020-04-27 2:30 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-27 2:30 UTC (permalink / raw) To: rms; +Cc: luangruo, seb, pcr910303, emacs-devel On 27.04.2020 05:19, Richard Stallman wrote: > > Like Drew described, StackOverflow discourage polls and will likely > > close them as non-constructive. It's a Q&A website, and they don't want > > Q that can elicit an unbounded number of A's. > > Would they object to posting a reference to a page with a poll > that asks people to answer by email? There is no good option for that. The main way to post something there is to create a "New Question". Then this question will likely be closed by the moderators as "non-constructive" and the vast majority of users won't see it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-26 3:25 ` Richard Stallman 2020-04-26 13:23 ` Dmitry Gutov @ 2020-04-26 16:56 ` Drew Adams 2020-04-26 17:27 ` Dmitry Gutov 2020-04-27 2:22 ` Richard Stallman 1 sibling, 2 replies; 605+ messages in thread From: Drew Adams @ 2020-04-26 16:56 UTC (permalink / raw) To: rms, Dmitry Gutov; +Cc: luangruo, seb, pcr910303, emacs-devel tl;dr: Announce polls widely, beyond GNU ways. Have users participate only through GNU ways. My suggestion would be to perform polls as you described in the beginning, i.e., how it's been done in the past. (See also below; this could be enhanced.) But it would be good to _announce_ a poll in more places than just the Emacs mailing lists. A poll can be _announced_, with instructions for participating and an indication of what the poll is about, on non-GNU sites such as those mentioned so far - Reddit and the various Stack Exchange sites (especially emacs.StackExchange and StackOverflow). Plus an announcement by Sasha on her blog and her Emacs-news mail to emacs-tangents@gnu.org. Announcing a poll in various places, providing the same info about it, including how to participate and what is expected, and then having all users actually participate in more or less a single location/way, which is managed by GNU, would be good, I think. That way to participate could be just what has been done in the past - by email. Or it could be by way of a GNU Emacs website. Or by any combination of GNU-controlled methods, as long as they all feed into the same poll. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 16:56 ` Drew Adams @ 2020-04-26 17:27 ` Dmitry Gutov 2020-04-26 17:44 ` Drew Adams 2020-04-27 2:22 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-26 17:27 UTC (permalink / raw) To: Drew Adams, rms; +Cc: luangruo, seb, pcr910303, emacs-devel On 26.04.2020 19:56, Drew Adams wrote: > My suggestion would be to perform polls as > you described in the beginning, i.e., how it's > been done in the past. (See also below; this > could be enhanced.) I've already opined on downsides: everybody having to write the same thing again and again, closed-ness to the public (you or I can't read the actual replies), and in the event that a significant number of our users really choose to participate, it will result in a crapload of messages that a single person has little hope to sort out. And if every such poll will requires a special setup (configuration by the admins, etcetera), it will limit our ability to do them. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-26 17:27 ` Dmitry Gutov @ 2020-04-26 17:44 ` Drew Adams 2020-04-26 18:35 ` Dmitry Gutov ` (3 more replies) 0 siblings, 4 replies; 605+ messages in thread From: Drew Adams @ 2020-04-26 17:44 UTC (permalink / raw) To: Dmitry Gutov, rms; +Cc: luangruo, seb, pcr910303, emacs-devel > I've already opined on downsides: > > everybody having to write the same thing again and again, > closed-ness to the public (you or I can't read the actual replies), > and in the event that a significant number of our users really choose > to participate, it will result in a crapload of messages that a single > person has little hope to sort out. > > And if every such poll will requires a special setup (configuration by > the admins, etcetera), it will limit our ability to do them. I don't see how all of those downsides couldn't be mitigated, providing a GNU site or other means to serve as single collection point, echoing point (echoing current counts, text suggestions, etc.), and even providing a discussion venue. Nothing says that we need to prevent the public from seeing the poll results, including comments, for example. The point of my suggestion was to not try to have such polling (interaction, counting, reporting) be repeated (and likely in differing, possibly conflicting ways) on sites outside GNU - and instead to just _announce_ a poll on such outside venues. To be clear, nothing should prevent also discussion etc. on such non-GNU venues. The point is for GNU to count, echo, and provide discussion via a GNU site/mechanism. IOW, don't try to reproduce the polling here, there and everywhere. Just announce it here, there, and everywhere. Anyone who wants to discuss a poll here, there, and everywhere is welcome to do so, but that discussion will not automatically be captured as part of the poll itself. Just one suggestion. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 17:44 ` Drew Adams @ 2020-04-26 18:35 ` Dmitry Gutov 2020-04-27 2:22 ` Richard Stallman ` (2 subsequent siblings) 3 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-26 18:35 UTC (permalink / raw) To: Drew Adams, rms; +Cc: luangruo, seb, pcr910303, emacs-devel On 26.04.2020 20:44, Drew Adams wrote: >> And if every such poll will requires a special setup (configuration by >> the admins, etcetera), it will limit our ability to do them. > > I don't see how all of those downsides couldn't be > mitigated, providing a GNU site or other means to > serve as single collection point, echoing point > (echoing current counts, text suggestions, etc.), > and even providing a discussion venue. I'm not saying it can't be done. I'm saying it hasn't been done, and in all likelihood nobody is going to do it. > IOW, don't try to reproduce the polling here, there > and everywhere. Just announce it here, there, and > everywhere. Anyone who wants to discuss a poll > here, there, and everywhere is welcome to do so, > but that discussion will not automatically be > captured as part of the poll itself. I say just do it on Reddit. Any traffic on the mailing list (which I see no reason to discourage) will pale in comparison. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 17:44 ` Drew Adams 2020-04-26 18:35 ` Dmitry Gutov @ 2020-04-27 2:22 ` Richard Stallman 2020-04-27 2:22 ` Richard Stallman 2020-04-27 2:22 ` Richard Stallman 3 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-27 2:22 UTC (permalink / raw) To: Drew Adams; +Cc: luangruo, emacs-devel, pcr910303, seb, dgutov [[[ 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 don't see how all of those downsides couldn't be > mitigated, providing a GNU site or other means to > serve as single collection point, echoing point > (echoing current counts, text suggestions, etc.), > and even providing a discussion venue. I think we should make sure polls do NOT turn into discussions. Discussions would multiply the bulk of messages and we would not be able to digest them. Most of you are brainstorming about what we could do. I have actually done polls several times. Having each poll dump messages into its own file was reliable and easy to set up. It takes a few minutes to set that up. It may take an hour or two to write the posting. It may take a few hours to study the responses. So let's not worry about the few minutes. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 17:44 ` Drew Adams 2020-04-26 18:35 ` Dmitry Gutov 2020-04-27 2:22 ` Richard Stallman @ 2020-04-27 2:22 ` Richard Stallman 2020-04-27 2:42 ` Dmitry Gutov 2020-04-27 2:22 ` Richard Stallman 3 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-27 2:22 UTC (permalink / raw) To: Drew Adams; +Cc: luangruo, emacs-devel, pcr910303, seb, dgutov [[[ 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 don't see how all of those downsides couldn't be > mitigated, providing a GNU site or other means to > serve as single collection point, echoing point > (echoing current counts, text suggestions, etc.), > and even providing a discussion venue. I think we should make sure polls do NOT turn into discussions. Discussions would multiply the bulk of messages and we would not be able to digest them. Most of you are brainstorming about what we could do. I have actually done polls several times. Having each poll dump messages into its own file was reliable and easy to set up. It takes a few minutes to set that up. It may take an hour or two to write the posting. It may take a few hours to study the responses. So let's not worry about the few minutes. > IOW, don't try to reproduce the polling here, there > and everywhere. Just announce it here, there, and > everywhere. Anyone who wants to discuss a poll > here, there, and everywhere is welcome to do so, > but that discussion will not automatically be > captured as part of the poll itself. THose points seem right to me. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-27 2:22 ` Richard Stallman @ 2020-04-27 2:42 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-27 2:42 UTC (permalink / raw) To: rms, Drew Adams; +Cc: luangruo, pcr910303, seb, emacs-devel On 27.04.2020 05:22, 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 don't see how all of those downsides couldn't be > > mitigated, providing a GNU site or other means to > > serve as single collection point, echoing point > > (echoing current counts, text suggestions, etc.), > > and even providing a discussion venue. > > I think we should make sure polls do NOT turn into discussions. > Discussions would multiply the bulk of messages and we would not be > able to digest them. Only if we use the mailbox approach. And the downside of disallowing a discussion is missing out on valuable insights. > Most of you are brainstorming about what we could do. > I have actually done polls several times. With the tools contemporary websites provide, polling is trivial. Many people have done it, myself included. > Having each poll dump messages into its own file was reliable and easy > to set up. It takes a few minutes to set that up. It may take an hour > or two to write the posting. It may take a few hours to study the > responses. So let's not worry about the few minutes. Can you digest, say, 2000 free-form emails in a few hours? And then summarize all expressed opinions accurately for the other developers to understand the results? Or if you receive only 20 emails, can you have any confidence that the received feedback describes the community with any sort of accuracy? And in this particular case, numbers are important as well. The arguments for and against indent-tabs-mode have been made numerous times (including the TabsAreEvil wiki page Drew has linked to). What we don't know well, on the other hand, is how many of our users actually use tabs for indentation in practice. If the fraction is minuscule, then changing the default value really shouldn't hurt. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 17:44 ` Drew Adams ` (2 preceding siblings ...) 2020-04-27 2:22 ` Richard Stallman @ 2020-04-27 2:22 ` Richard Stallman 2020-04-28 2:44 ` Richard Stallman 3 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-27 2:22 UTC (permalink / raw) To: Drew Adams; +Cc: luangruo, emacs-devel, pcr910303, seb, dgutov [[[ 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 don't see how all of those downsides couldn't be > mitigated, providing a GNU site or other means to > serve as single collection point, echoing point > (echoing current counts, text suggestions, etc.), > and even providing a discussion venue. I think we should make sure polls do NOT turn into discussions. Discussions would multiply the bulk of messages and we would not be able to digest them. Most of you are brainstorming about what we could do. I have actually done polls. Dmitry wrote: > And if every such poll will requires a special setup (configuration by > the admins, etcetera), it will limit our ability to do them. Having each poll dump responses into its own file was reliable and easy. To set this up takes a few minutes. It may take an hour or two to write the posting. It may take hours to study the responses. So let's not worry about the extra few minutes. > IOW, don't try to reproduce the polling here, there > and everywhere. Just announce it here, there, and > everywhere. Anyone who wants to discuss a poll > here, there, and everywhere is welcome to do so, > but that discussion will not automatically be > captured as part of the poll itself. THose points seem valid to me. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-27 2:22 ` Richard Stallman @ 2020-04-28 2:44 ` Richard Stallman 2020-04-28 3:12 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-28 2:44 UTC (permalink / raw) To: drew.adams; +Cc: pcr910303, emacs-devel, luangruo, seb, dgutov [[[ 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've noticed over the years that respondents tend to give simple (thus not very useful) answers and that it is necessary to urge them to explain more. Just now it struck me that the word "poll" might suggest to respondents that the answer requested is simply "How much do you like or dislike this", with 5 or 7 possible answers from "Hate it" to "Love it." Does this seem likely? Should we call it something else? We could describe it as a "study" or "investigation" instead of a "poll". -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-28 2:44 ` Richard Stallman @ 2020-04-28 3:12 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-28 3:12 UTC (permalink / raw) To: rms, drew.adams; +Cc: luangruo, seb, pcr910303, emacs-devel On 28.04.2020 05:44, Richard Stallman wrote: > I've noticed over the years that respondents tend to give simple (thus > not very useful) answers and that it is necessary to urge them to > explain more. > > Just now it struck me that the word "poll" might suggest to > respondents that the answer requested is simply "How much do you like > or dislike this", with 5 or 7 possible answers from "Hate it" to "Love > it." Does this seem likely? Polls can have different forms and shapes. But, of course, most people will find it easier to choose from one of the options rather than elaborate in text. Especially when they think the answer should be obvious to everybody. > Should we call it something else? We > could describe it as a "study" or "investigation" instead of a "poll". Since you are dead-set on doing things exactly your way, please go ahead and choose the wording, the whole message, and we'll post it in all places our users can frequent. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-26 16:56 ` Drew Adams 2020-04-26 17:27 ` Dmitry Gutov @ 2020-04-27 2:22 ` Richard Stallman 2020-04-27 3:18 ` Drew Adams 1 sibling, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-27 2:22 UTC (permalink / raw) To: Drew Adams; +Cc: luangruo, emacs-devel, pcr910303, seb, dgutov [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > But it would be good to _announce_ a poll in > more places than just the Emacs mailing lists. > A poll can be _announced_, with instructions > for participating and an indication of what > the poll is about, on non-GNU sites such as > those mentioned so far - Reddit and the > various Stack Exchange sites (especially > emacs.StackExchange and StackOverflow). > Plus an announcement by Sasha on her blog and > her Emacs-news mail to emacs-tangents@gnu.org. All that sounds good. The more, the merrier. (But who is Sasha?) Nowadays we would want to make a web page with info about the poll; we could post references to it everywhere that makes sense. > That way to participate could be just what > has been done in the past - by email. That is the way that makes sense. Or it > could be by way of a GNU Emacs website. That would be possible in principle, but inconvenient to set up and to use. We want people to give complete answers, not force their responses into a form. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: How to poll the users 2020-04-27 2:22 ` Richard Stallman @ 2020-04-27 3:18 ` Drew Adams 2020-04-28 3:06 ` Sacha Chua 0 siblings, 1 reply; 605+ messages in thread From: Drew Adams @ 2020-04-27 3:18 UTC (permalink / raw) To: rms; +Cc: Sacha Chua, seb, emacs-devel, luangruo, pcr910303, dgutov [-- Attachment #1: Type: text/plain, Size: 428 bytes --] > > Plus an announcement by Sasha on her blog and > > her Emacs-news mail to emacs-tangents@gnu.org. > > All that sounds good. The more, the merrier. > (But who is Sasha?) Sacha Chua (cc'd - I spelled her first name wrong). She regularly (e.g. weekly) posts an informal Emacs News message to emacs-tangents@gnu.org (see attached). Those messages are also on her friendly blog page: https://sachachua.com/blog/ [-- Attachment #2: Type: message/rfc822, Size: 52129 bytes --] [-- Attachment #2.1.1.1: Type: text/plain, Size: 19412 bytes --] 2020-04-20 Emacs news Emacs configuration: HYPERLINK "https://urldefense.com/v3/__https://www.youtube.com/watch?v=2P-hEtTlJIA&feature=share__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxQALiI-Z$"Sample Spacemacs Config File for Non-Programmers (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/spacemacs/comments/g1vk0a/sample_spacemacs_config_file_for_nonprogrammers/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbvwtkSL$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://github.com/gexplorer/simple-modeline__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbfyE8Jz$"A simple mode-line configuration for Emacs (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/emacs/comments/g3k54a/a_simple_modeline_configuration_for_emacs/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxdZwAwnu$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g2fzyr/what_is_your_three_musthave_packages_that_you_can/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxdbFfsUE$"What is your three must-have packages that you can not live without ? HYPERLINK "https://urldefense.com/v3/__https://monkey.org/*marius/self-contained-emacs.html__;fg!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZdFbThE$"self-contained-emacs (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/emacs/comments/g148hr/selfcontainedemacs/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxYNOaX7d$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://github.com/wandersoncferreira/dotfiles__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUf5FWrB$"GitHub - wandersoncferreira/dotfiles: Literate Emacs configuration with EXWM Emacs Lisp: HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g13rzo/ann_elispdepmap_a_library_to_generate_a/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxULgu3_1$"{ANN} elisp-depmap - a library to generate a dependency map for elisp projects. HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g0xwjw/ann_new_package_orderless_a_completion_style_that/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxY_mbHHt$"{ANN} New package orderless: a completion style that matches multiple regexps in any order HYPERLINK "https://urldefense.com/v3/__https://tech.toryanderson.com/2020/04/15/simulating-c-u-args-to-lambda-wrapped-functions/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxfs1ga1r$"Tory Anderson: Simulating `C-u` args to lambda-wrapped functions Emacs development: HYPERLINK "https://urldefense.com/v3/__http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=763ec05cc17973134c440f2d0afb6eb5d095d0d4__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxdAHRbVo$"Bind 'n' and 'p' to move between symbols in apropos HYPERLINK "https://urldefense.com/v3/__http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=afa542c914379538f986f1428f176ffe42f62609__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxae9VLNn$"Fix small glitches in documenting the native image API feature HYPERLINK "https://urldefense.com/v3/__http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=e94206aaf608a899c81bb07fe91d26439f51b3f8__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxQGxNc73$"Make use of MS-Windows native image API be selectable at run time HYPERLINK "https://urldefense.com/v3/__http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=df254a7445a86dc25d133f2d79be8096190a8b96__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxWDGvSAE$"Initial version of native image API support for MS-Windows HYPERLINK "https://urldefense.com/v3/__http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=fc336a46553919206d9ac621d1ea5e9740477e18__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUnTmXUP$"Document the new 'w32-get/set-ime-open-status' functions Appearance: HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g42pot/new_package_shrface_extensions_to_library/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSG6-idZ$"{New Package} shrface+: extensions to library `shrface.el', apply shrface to non-org buffers, like w3m, info and helpful HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g33rkq/leuventheme/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxavOoGef$"Leuven-theme HYPERLINK "https://urldefense.com/v3/__https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00875.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxQFk6CgC$"Why Emacs is so square (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/emacs/comments/g22qci/why_emacs_is_so_square/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbdDiFF4$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g1wa51/update_shrface_15_was_released_this_time_you_can/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxdwmD7ox$"{Update} Shrface 1.5 was released. This time, you can use org-cycle iny eww and nov! One more night can not sleep… Navigation: HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g3s0ts/windsel_2dimensional_workspace_switcher/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSDvfZwB$"Winds.el - 2-dimensional workspace switcher HYPERLINK "https://urldefense.com/v3/__https://www.manueluberti.eu/*emacs/2020/04/13/lockdown-beam-mark-thing-at/__;Lw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxQzx71GX$"Manuel Uberti: Lockdown Beam: mark-thing-at HYPERLINK "https://urldefense.com/v3/__https://youtu.be/CoWjNatpjuk__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxYjFCS6H$"Watch "Improve project workflow with GNU Global! (Emacs)" on YouTube Org Mode: HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g2ch3i/literate_programming_setup_of_docker_programming/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbhSm6Ll$"Literate programming setup of Docker programming environment with org-mode in Emacs HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g13o5j/ann_orgtreeusage_peek_at_the_usage_of_your_org/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxWNiNzO3$"{ANN} org-treeusage - Peek at the usage of your org headings Coding: HYPERLINK "https://urldefense.com/v3/__https://www.sidraval.com/blog/prettier_ruby_spacemacs.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxb4DND7m$"Using @prettier/plugin-ruby in spacemacs (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/spacemacs/comments/g1jwnr/using_prettierpluginruby_in_spacemacs/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxfhDHQAq$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://github.com/muffinmad/emacs-pdb-capf__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZ8lokT1$"Python debugger (pdb) completion-at-point function HYPERLINK "https://urldefense.com/v3/__http://blog.binchen.org/posts/use-magit-api-to-rebase-to-closest-branch.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxVT79MiQ$"Chen Bin (redguardtoo): Use Magit API to rebase to closest branch HYPERLINK "https://urldefense.com/v3/__https://so.nwalsh.com/2020/04/18-dash__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxYFUtNFB$"Norm: Dash docset updates Mail: HYPERLINK "https://urldefense.com/v3/__http://xenodium.com/mumu4e-14-released/index.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxXhtbfRW$"Alvaro Ramirez: mu/mu4e 1.4 released Community: HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g11mp9/weekly_tipstricketc_thread/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZ9cP5o3$"Weekly tips/trick/etc/ thread HYPERLINK "https://urldefense.com/v3/__https://malleable.systems/blog/2020/04/01/the-most-successful-malleable-system-in-history/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZr7NH_0$"The most successful malleable system in history | Malleable Systems Collective (HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g0wed7/emacs_the_most_successful_malleable_system_in/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxU57yxTA$"Reddit, HYPERLINK "https://urldefense.com/v3/__https://news.ycombinator.com/item?id=22875106__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxcnTpKDf$"HN - long discussion) HYPERLINK "https://urldefense.com/v3/__https://i.redd.it/asw2vylm3dt41.png__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSHCyQkb$"Talking to the doctor in Emacs (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/emacs/comments/g302cw/talking_to_the_doctor_in_emacs/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbh07S7p$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://distinctly.pink/2020-04-17.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxRdtY2ya$"a roundabout path to emacs - distinctly.pink Other: HYPERLINK "https://urldefense.com/v3/__https://news.ycombinator.com/item?id=22881808__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZ22Boav$"Ask HN: Resources to grok Emacs and use it well? | Hacker News HYPERLINK "https://urldefense.com/v3/__https://youtu.be/ih8FpiK0zck__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxaHMxg9-$"Watch "Emacs Through Macros - 01 - Introduction" on YouTube HYPERLINK "https://urldefense.com/v3/__https://blog.abrochard.com/melpa-stats.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUJnQyW2$"Some statistics about MELPA (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/emacs/comments/g1se0q/some_statistics_about_melpa/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSFPVZHk$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://blog.grdryn.me/blog/flatpak-emacs-with-gpg-agent.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxddTTunj$"Using gpg-agent with Emacs flatpak HYPERLINK "https://urldefense.com/v3/__https://blog.abrochard.com/hyperbole-intro.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbjvsswa$"Adrien Brochard: Quick Introduction to Emacs Hyperbole HYPERLINK "https://urldefense.com/v3/__https://www.reddit.com/r/emacs/comments/g3mo8u/a_tiny_tip_for_those_using_elfeed_for_youtube_subs/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxfiGoSAa$"A tiny tip for those using elfeed for youtube subs HYPERLINK "https://urldefense.com/v3/__http://codingquark.com/emacs/2020/04/19/elfeed-protocol-ttrss.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxTfrU-zC$"codingquark: Elfeed with Tiny Tiny RSS (HYPERLINK "https://urldefense.com/v3/__https://news.ycombinator.com/item?id=22915200__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxTj_Rvaf$"HN) HYPERLINK "https://urldefense.com/v3/__https://www.manueluberti.eu/*emacs/2020/04/20/lockdown-beam-native-complete/__;Lw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxcG2gKVd$"Manuel Uberti: Lockdown Beam: native-complete HYPERLINK "https://urldefense.com/v3/__https://i.redd.it/onhkpy3d3qt41.jpg__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxeCJZ81L$"I like the retro vibe of the Keychron K4 paired with Emacs running in terminal :) (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/emacs/comments/g439dr/i_like_the_retro_vibe_of_the_keychron_k4_paired/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSuopkBb$"Reddit) HYPERLINK "https://urldefense.com/v3/__https://i.redd.it/kqnjdzlxrmt41.jpg__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbJQPn7R$"(setq handheld-mode nil) (HYPERLINK "https://urldefense.com/v3/__https://reddit.com/r/emacs/comments/g3tvzn/setq_handheldmode_nil/__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxeTfX_lv$"Reddit) New packages: HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/basic-ide__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxRFPNLkW$"basic-ide: BASIC IDE c64 HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/bibtex-completion__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxToffwDq$"bibtex-completion: A BibTeX backend for completion frameworks HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/brutal-theme__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUCLjd0Q$"brutal-theme: Brutalist theme HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/completions-frame__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSzMXPhS$"completions-frame: Show completions in child frame HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/elisp-depmap__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxV82aUUx$"elisp-depmap: Generate an elisp dependency map in graphviz HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/flatfluc-theme__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUrhwgCb$"flatfluc-theme: Custom merge of flucui and flatui themes HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/flymake-phpstan__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxfc_Smcg$"flymake-phpstan: Flymake backend for PHP using PHPStan HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/friendly-tramp-path__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZOPITcn$"friendly-tramp-path: Human-friendly TRAMP path construction HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/helm-org-multi-wiki__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxTukpQWr$"helm-org-multi-wiki: Helm interface to org-multi-wiki HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/lambdapi-mode__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxcZp82sw$"lambdapi-mode: A major mode for editing Lambdapi source code HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/leaf-manager__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxW-ACreo$"leaf-manager: Configuration manager for leaf based init.el HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/mc-calc__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSur0q5A$"mc-calc: Combine multiple-cursors and calc HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/meow__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxS6rA6Ta$"meow: Modal Editing On Wheel HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/org-multi-wiki__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUaf9qIi$"org-multi-wiki: Multiple wikis based on Org mode HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/org-noter-pdftools__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxaqXKshd$"org-noter-pdftools: Integration between org-pdftools and org-noter HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/org-treeusage__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZkHevSy$"org-treeusage: Examine the usage of org headings in a tree-like manner HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/owcmd__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbu0LYhh$"owcmd: Run a single command in the other window HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/rego-mode__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxa25WV8h$"rego-mode: A major mode for rego language HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/simple-modeline__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxRCmky3P$"simple-modeline: A simple mode-line configuration for Emacs HYPERLINK "https://urldefense.com/v3/__https://elpa.gnu.org/packages/sm-c-mode.html__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxZFxyBne$"sm-c-mode: C major mode based on SMIE HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/smart-input-source__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxSRQu0rg$"smart-input-source: Switch OS native input source smartly HYPERLINK "https://urldefense.com/v3/__http://melpa.org/*/space-theming__;Iw!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxTrSTAZU$"space-theming: Easilly override theme faces Links from HYPERLINK "https://urldefense.com/v3/__http://reddit.com/r/emacs__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxcCc7-vv$"reddit.com/r/emacs, HYPERLINK "https://urldefense.com/v3/__http://reddit.com/r/orgmode__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxQ08PwAB$"r/orgmode, HYPERLINK "https://urldefense.com/v3/__http://reddit.com/r/spacemacs__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxXzdfqyT$"r/spacemacs, HYPERLINK "https://urldefense.com/v3/__http://reddit.com/r/planetemacs__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUFPREy-$"r/planetemacs, HYPERLINK "https://urldefense.com/v3/__https://hn.algolia.com/?query=emacs&sort=byDate&prefix&page=0&dateRange=all&type=story__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUvzI2Hv$"Hacker News, HYPERLINK "https://urldefense.com/v3/__https://planet.emacslife.com__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxbLc-uN6$"planet.emacslife.com, HYPERLINK "https://urldefense.com/v3/__https://www.youtube.com/results?search_query=emacs&search_sort=video_date_uploaded__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxXMNCVmZ$"YouTube, HYPERLINK "https://urldefense.com/v3/__http://git.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxaKt5pw2$"the Emacs NEWS file and HYPERLINK "https://urldefense.com/v3/__http://lists.gnu.org/archive/html/emacs-devel/2020-04__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxUSYEqWl$"emacs-devel. You're receiving this message via the Emacs Tangents mailing list. HYPERLINK "https://urldefense.com/v3/__https://lists.gnu.org/mailman/listinfo/emacs-tangents__;!!GqivPVa7Brio!JDO1PgK0faftCriwmQhzm_PIYslUoLwQ02yXA-6yS5CxV0aF5vVUtMWGxU9TGVYX$"View list info/unsubscribe [-- Attachment #2.1.1.2: Type: text/html, Size: 21174 bytes --] [-- Attachment #2.1.2: emacs-news.org --] [-- Type: text/x-org, Size: 9224 bytes --] * 2020-04-20 Emacs news - Emacs configuration: - [[https://www.youtube.com/watch?v=2P-hEtTlJIA&feature=share][Sample Spacemacs Config File for Non-Programmers]] ([[https://reddit.com/r/spacemacs/comments/g1vk0a/sample_spacemacs_config_file_for_nonprogrammers/][Reddit]]) - [[https://github.com/gexplorer/simple-modeline][A simple mode-line configuration for Emacs]] ([[https://reddit.com/r/emacs/comments/g3k54a/a_simple_modeline_configuration_for_emacs/][Reddit]]) - [[https://www.reddit.com/r/emacs/comments/g2fzyr/what_is_your_three_musthave_packages_that_you_can/][What is your three must-have packages that you can not live without ?]] - [[https://monkey.org/~marius/self-contained-emacs.html][self-contained-emacs]] ([[https://reddit.com/r/emacs/comments/g148hr/selfcontainedemacs/][Reddit]]) - [[https://github.com/wandersoncferreira/dotfiles][GitHub - wandersoncferreira/dotfiles: Literate Emacs configuration with EXWM]] - Emacs Lisp: - [[https://www.reddit.com/r/emacs/comments/g13rzo/ann_elispdepmap_a_library_to_generate_a/][{ANN} elisp-depmap - a library to generate a dependency map for elisp projects.]] - [[https://www.reddit.com/r/emacs/comments/g0xwjw/ann_new_package_orderless_a_completion_style_that/][{ANN} New package orderless: a completion style that matches multiple regexps in any order]] - [[https://tech.toryanderson.com/2020/04/15/simulating-c-u-args-to-lambda-wrapped-functions/][Tory Anderson: Simulating `C-u` args to lambda-wrapped functions]] - Emacs development: - [[http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=763ec05cc17973134c440f2d0afb6eb5d095d0d4][Bind 'n' and 'p' to move between symbols in apropos]] - [[http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=afa542c914379538f986f1428f176ffe42f62609][Fix small glitches in documenting the native image API feature]] - [[http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=e94206aaf608a899c81bb07fe91d26439f51b3f8][Make use of MS-Windows native image API be selectable at run time]] - [[http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=df254a7445a86dc25d133f2d79be8096190a8b96][Initial version of native image API support for MS-Windows]] - [[http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=fc336a46553919206d9ac621d1ea5e9740477e18][Document the new 'w32-get/set-ime-open-status' functions]] - Appearance: - [[https://www.reddit.com/r/emacs/comments/g42pot/new_package_shrface_extensions_to_library/][{New Package} shrface+: extensions to library `shrface.el', apply shrface to non-org buffers, like w3m, info and helpful]] - [[https://www.reddit.com/r/emacs/comments/g33rkq/leuventheme/][Leuven-theme]] - [[https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00875.html][Why Emacs is so square]] ([[https://reddit.com/r/emacs/comments/g22qci/why_emacs_is_so_square/][Reddit]]) - [[https://www.reddit.com/r/emacs/comments/g1wa51/update_shrface_15_was_released_this_time_you_can/][{Update} Shrface 1.5 was released. This time, you can use org-cycle iny eww and nov! One more night can not sleep...]] - Navigation: - [[https://www.reddit.com/r/emacs/comments/g3s0ts/windsel_2dimensional_workspace_switcher/][Winds.el - 2-dimensional workspace switcher]] - [[https://www.manueluberti.eu//emacs/2020/04/13/lockdown-beam-mark-thing-at/][Manuel Uberti: Lockdown Beam: mark-thing-at]] - [[https://youtu.be/CoWjNatpjuk][Watch "Improve project workflow with GNU Global! (Emacs)" on YouTube]] - Org Mode: - [[https://www.reddit.com/r/emacs/comments/g2ch3i/literate_programming_setup_of_docker_programming/][Literate programming setup of Docker programming environment with org-mode in Emacs]] - [[https://www.reddit.com/r/emacs/comments/g13o5j/ann_orgtreeusage_peek_at_the_usage_of_your_org/][{ANN} org-treeusage - Peek at the usage of your org headings]] - Coding: - [[https://www.sidraval.com/blog/prettier_ruby_spacemacs.html][Using @prettier/plugin-ruby in spacemacs]] ([[https://reddit.com/r/spacemacs/comments/g1jwnr/using_prettierpluginruby_in_spacemacs/][Reddit]]) - [[https://github.com/muffinmad/emacs-pdb-capf][Python debugger (pdb) completion-at-point function]] - [[http://blog.binchen.org/posts/use-magit-api-to-rebase-to-closest-branch.html][Chen Bin (redguardtoo): Use Magit API to rebase to closest branch]] - [[https://so.nwalsh.com/2020/04/18-dash][Norm: Dash docset updates]] - Mail: - [[http://xenodium.com/mumu4e-14-released/index.html][Alvaro Ramirez: mu/mu4e 1.4 released]] - Community: - [[https://www.reddit.com/r/emacs/comments/g11mp9/weekly_tipstricketc_thread/][Weekly tips/trick/etc/ thread]] - [[https://malleable.systems/blog/2020/04/01/the-most-successful-malleable-system-in-history/][The most successful malleable system in history | Malleable Systems Collective]] ([[https://www.reddit.com/r/emacs/comments/g0wed7/emacs_the_most_successful_malleable_system_in/][Reddit]], [[https://news.ycombinator.com/item?id=22875106][HN]] - long discussion) - [[https://i.redd.it/asw2vylm3dt41.png][Talking to the doctor in Emacs]] ([[https://reddit.com/r/emacs/comments/g302cw/talking_to_the_doctor_in_emacs/][Reddit]]) - [[https://distinctly.pink/2020-04-17.html][a roundabout path to emacs - distinctly.pink]] - Other: - [[https://news.ycombinator.com/item?id=22881808][Ask HN: Resources to grok Emacs and use it well? | Hacker News]] - [[https://youtu.be/ih8FpiK0zck][Watch "Emacs Through Macros - 01 - Introduction" on YouTube]] - [[https://blog.abrochard.com/melpa-stats.html][Some statistics about MELPA]] ([[https://reddit.com/r/emacs/comments/g1se0q/some_statistics_about_melpa/][Reddit]]) - [[https://blog.grdryn.me/blog/flatpak-emacs-with-gpg-agent.html][Using gpg-agent with Emacs flatpak]] - [[https://blog.abrochard.com/hyperbole-intro.html][Adrien Brochard: Quick Introduction to Emacs Hyperbole]] - [[https://www.reddit.com/r/emacs/comments/g3mo8u/a_tiny_tip_for_those_using_elfeed_for_youtube_subs/][A tiny tip for those using elfeed for youtube subs]] - [[http://codingquark.com/emacs/2020/04/19/elfeed-protocol-ttrss.html][codingquark: Elfeed with Tiny Tiny RSS]] ([[https://news.ycombinator.com/item?id=22915200][HN]]) - [[https://www.manueluberti.eu//emacs/2020/04/20/lockdown-beam-native-complete/][Manuel Uberti: Lockdown Beam: native-complete]] - [[https://i.redd.it/onhkpy3d3qt41.jpg][I like the retro vibe of the Keychron K4 paired with Emacs running in terminal :)]] ([[https://reddit.com/r/emacs/comments/g439dr/i_like_the_retro_vibe_of_the_keychron_k4_paired/][Reddit]]) - [[https://i.redd.it/kqnjdzlxrmt41.jpg][(setq handheld-mode nil)]] ([[https://reddit.com/r/emacs/comments/g3tvzn/setq_handheldmode_nil/][Reddit]]) - New packages: - http://melpa.org/#/basic-ide: BASIC IDE c64 - http://melpa.org/#/bibtex-completion: A BibTeX backend for completion frameworks - http://melpa.org/#/brutal-theme: Brutalist theme - http://melpa.org/#/completions-frame: Show completions in child frame - http://melpa.org/#/elisp-depmap: Generate an elisp dependency map in graphviz - http://melpa.org/#/flatfluc-theme: Custom merge of flucui and flatui themes - http://melpa.org/#/flymake-phpstan: Flymake backend for PHP using PHPStan - http://melpa.org/#/friendly-tramp-path: Human-friendly TRAMP path construction - http://melpa.org/#/helm-org-multi-wiki: Helm interface to org-multi-wiki - http://melpa.org/#/lambdapi-mode: A major mode for editing Lambdapi source code - http://melpa.org/#/leaf-manager: Configuration manager for leaf based init.el - http://melpa.org/#/mc-calc: Combine multiple-cursors and calc - http://melpa.org/#/meow: Modal Editing On Wheel - http://melpa.org/#/org-multi-wiki: Multiple wikis based on Org mode - http://melpa.org/#/org-noter-pdftools: Integration between org-pdftools and org-noter - http://melpa.org/#/org-treeusage: Examine the usage of org headings in a tree-like manner - http://melpa.org/#/owcmd: Run a single command in the other window - http://melpa.org/#/rego-mode: A major mode for rego language - http://melpa.org/#/simple-modeline: A simple mode-line configuration for Emacs - https://elpa.gnu.org/packages/sm-c-mode.html: C major mode based on SMIE - http://melpa.org/#/smart-input-source: Switch OS native input source smartly - http://melpa.org/#/space-theming: Easilly override theme faces Links from [[http://reddit.com/r/emacs][reddit.com/r/emacs]], [[http://reddit.com/r/orgmode][r/orgmode]], [[http://reddit.com/r/spacemacs][r/spacemacs]], [[http://reddit.com/r/planetemacs][r/planetemacs]], [[https://hn.algolia.com/?query=emacs&sort=byDate&prefix&page=0&dateRange=all&type=story][Hacker News]], [[https://planet.emacslife.com][planet.emacslife.com]], [[https://www.youtube.com/results?search_query=emacs&search_sort=video_date_uploaded][YouTube]], [[http://git.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS][the Emacs NEWS file]] and [[http://lists.gnu.org/archive/html/emacs-devel/2020-04][emacs-devel]]. You're receiving this message via the Emacs Tangents mailing list. [[https://lists.gnu.org/mailman/listinfo/emacs-tangents][View list info/unsubscribe]] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: How to poll the users 2020-04-27 3:18 ` Drew Adams @ 2020-04-28 3:06 ` Sacha Chua 0 siblings, 0 replies; 605+ messages in thread From: Sacha Chua @ 2020-04-28 3:06 UTC (permalink / raw) To: Drew Adams; +Cc: rms, seb, emacs-devel, luangruo, pcr910303, dgutov (resending with proper SPF, I hope) Drew Adams <drew.adams@oracle.com> writes: >> > Plus an announcement by Sasha on her blog and >> > her Emacs-news mail to emacs-tangents@gnu.org. >> All that sounds good. The more, the merrier. >> (But who is Sasha?) > Sacha Chua (cc'd - I spelled her first name wrong). > She regularly (e.g. weekly) posts an informal Emacs > News message to emacs-tangents@gnu.org (see attached). I'd be happy to link to the poll at the top of Emacs News for several weeks. If someone posts the poll URL to reddit.com/r/emacs or Cc:s me in a message to a mailing list, I can pick it up from there. Sacha Chuac ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 13:55 ` Dmitry Gutov 2020-04-22 3:14 ` How to poll the users Richard Stallman @ 2020-04-22 4:41 ` Po Lu 2020-04-22 8:13 ` Sergey Organov 1 sibling, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-22 4:41 UTC (permalink / raw) To: Dmitry Gutov Cc: 조성빈, Sébastien Gendre, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > And then, another 20 years pass, the current users get too old/change > careers/retire/etc, and Emacs's userbase shrinks even more. I have seen people say Emacs will die by 2000 in the 90s. I've also seen people say Emacs will die by 2010 in the 2000s. I've also seen people say Emacs will die by 2020 in the 2010s. Since all of those predictions of doom have consistently failed, I'm not inclined to believe any of this either. > I don't want Emacs to die out, and it will if we don't do the work of > attracting new users. And we're attracting a fair amount of new users. What I would hate to see is Emacs prioritizing "attracting users" over "being useful". I'm sure many in the community agree with me. > Also note that we don't really have the ability to poll even our > existing users, to find out whether they would like a given > change. Even disregarding those who would change their mind later. The anecdotal experience of many people I know (and I'm sure many people on this list too) would agree that drastic changes are a bad thing. > Give it time. Also, Xref was actually useful in a way. Drastic redesigning just to attract new users does not. > I think it's possible to support two sets of keybindings. That's > definitely extra work, though. We already have Cua Mode. Having a button on the splash screen that says "enable Cua" should be enough. > Including simply designing a set of bindings that is both compatible > with CUA and yet retains the current design principles to some extent > (so far I have no good ideas on that front). I don't think that's possible, at least without 20 years advance notice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 4:41 ` Making Emacs more friendly to newcomers Po Lu @ 2020-04-22 8:13 ` Sergey Organov 0 siblings, 0 replies; 605+ messages in thread From: Sergey Organov @ 2020-04-22 8:13 UTC (permalink / raw) To: Po Lu Cc: Emacs developers, Sébastien Gendre, 조성빈, Dmitry Gutov Po Lu <luangruo@yahoo.com> writes: [...] > And we're attracting a fair amount of new users. What I would hate to > see is Emacs prioritizing "attracting users" over "being useful". I'm > sure many in the community agree with me. Indeed! Emacs is the only editor that I grew to like. Other editors and IDEs I've used I grew to hate. -- Sergey ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 2:17 ` Dmitry Gutov 2020-04-21 4:42 ` Po Lu @ 2020-04-22 3:19 ` Richard Stallman 2020-04-22 11:33 ` Dmitry Gutov 2020-04-23 7:04 ` Ahmed Khanzada 2 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:19 UTC (permalink / raw) To: Dmitry Gutov; +Cc: luangruo, seb, pcr910303, 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. ]]] > So for all questions about changing defaults, we should ask ourselves, > do we prioritize the existing 5% (or 3%, as SO poll says) userbase that > will naturally continue shrinking over the years, or whether we prefer > to make life easier and more productive for the users that should come > later. This is entirely logical if our main priority is how successful Emacs is, rather than what it does. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 3:19 ` Richard Stallman @ 2020-04-22 11:33 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 11:33 UTC (permalink / raw) To: rms; +Cc: luangruo, seb, pcr910303, emacs-devel On 22.04.2020 06:19, Richard Stallman wrote: > > So for all questions about changing defaults, we should ask ourselves, > > do we prioritize the existing 5% (or 3%, as SO poll says) userbase that > > will naturally continue shrinking over the years, or whether we prefer > > to make life easier and more productive for the users that should come > > later. > > This is entirely logical > if our main priority is how successful Emacs is, > rather than what it does. Given that I've had multiple *useful* proposal about changing defaults shot down because of the worry that existing users might be inconvenienced (having been used to the current behavior), it's a false dichotomy. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 2:17 ` Dmitry Gutov 2020-04-21 4:42 ` Po Lu 2020-04-22 3:19 ` Richard Stallman @ 2020-04-23 7:04 ` Ahmed Khanzada 2020-04-23 14:20 ` Dmitry Gutov 2020-04-23 14:56 ` Eli Zaretskii 2 siblings, 2 replies; 605+ messages in thread From: Ahmed Khanzada @ 2020-04-23 7:04 UTC (permalink / raw) To: Dmitry Gutov Cc: Po Lu, Sébastien Gendre, 조성빈, Emacs developers > So for all questions about changing defaults, we should ask ourselves, > do we prioritize the existing 5% (or 3%, as SO poll says) userbase that > will naturally continue shrinking over the years, or whether we prefer > to make life easier and more productive for the users that should come > later. Looking at the amount of currently maintained elisp packages online these days, I suspect Emacs actually has more users than ever, it is just that our segment of the overall market is smaller. Let's say tomorrow Emacs is like VS Code running Emacs Lisp in a Guile VM. Is the idea that if we compete in the same modes as the modernist editors, we can steal enough people from them that we will advance the cause of free software? That's not a rhetorical question, I am curious. Right now with the status quo, we know we are at least satisfying a core audience that has self-selected themselves as Emacs users through the hazing that is figuring the damn thing out. Playing towards your core audience has both benefits and drawbacks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 7:04 ` Ahmed Khanzada @ 2020-04-23 14:20 ` Dmitry Gutov 2020-04-23 14:56 ` Eli Zaretskii 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-23 14:20 UTC (permalink / raw) To: Ahmed Khanzada Cc: Po Lu, 조성빈, Sébastien Gendre, Emacs developers On 23.04.2020 10:04, Ahmed Khanzada wrote: > Looking at the amount of currently maintained elisp packages online > these days, I suspect Emacs actually has more users than ever, it is > just that our segment of the overall market is smaller. And yet, the number of core contributors stays where it was, at best. > Let's say tomorrow Emacs is like VS Code running Emacs Lisp in a Guile > VM. Is the idea that if we compete in the same modes as the modernist > editors, we can steal enough people from them that we will advance the > cause of free software? Sure. But also how about just "help more people enjoy Emacs's power and flexibility"? We don't really have to compete for the _exact_ same audience. But we can expand ours. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 7:04 ` Ahmed Khanzada 2020-04-23 14:20 ` Dmitry Gutov @ 2020-04-23 14:56 ` Eli Zaretskii 2020-04-23 15:32 ` Yuan Fu 2020-04-27 16:09 ` Arthur Miller 1 sibling, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-23 14:56 UTC (permalink / raw) To: Ahmed Khanzada; +Cc: luangruo, emacs-devel, pcr910303, seb, dgutov > Date: Thu, 23 Apr 2020 00:04:13 -0700 > From: Ahmed Khanzada <me@enzu.ru> > Cc: Po Lu <luangruo@yahoo.com>, > Sébastien Gendre <seb@k-7.ch>, > 조성빈 <pcr910303@icloud.com>, > Emacs developers <emacs-devel@gnu.org> > > Let's say tomorrow Emacs is like VS Code running Emacs Lisp in a Guile > VM. Is the idea that if we compete in the same modes as the modernist > editors, we can steal enough people from them that we will advance the > cause of free software? More users generally means more contributors, more future developers, and better Emacs. And yes, it advances the cause of Free Software, like any other free package that attracts users. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 14:56 ` Eli Zaretskii @ 2020-04-23 15:32 ` Yuan Fu 2020-04-27 16:09 ` Arthur Miller 1 sibling, 0 replies; 605+ messages in thread From: Yuan Fu @ 2020-04-23 15:32 UTC (permalink / raw) To: Eli Zaretskii Cc: Ahmed Khanzada, 조성빈, EMACS development team, Po Lu, Sébastien Gendre, dgutov > On Apr 23, 2020, at 10:56 AM, Eli Zaretskii <eliz@gnu.org> wrote: > >> Date: Thu, 23 Apr 2020 00:04:13 -0700 >> From: Ahmed Khanzada <me@enzu.ru> >> Cc: Po Lu <luangruo@yahoo.com>, >> Sébastien Gendre <seb@k-7.ch>, >> 조성빈 <pcr910303@icloud.com>, >> Emacs developers <emacs-devel@gnu.org> >> >> Let's say tomorrow Emacs is like VS Code running Emacs Lisp in a Guile >> VM. Is the idea that if we compete in the same modes as the modernist >> editors, we can steal enough people from them that we will advance the >> cause of free software? > > More users generally means more contributors, more future developers, > and better Emacs. And yes, it advances the cause of Free Software, > like any other free package that attracts users. > Exactly. New users today means people fixes bugs and implement cool features tomorrow. A very good deal. Yuan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 14:56 ` Eli Zaretskii 2020-04-23 15:32 ` Yuan Fu @ 2020-04-27 16:09 ` Arthur Miller 2020-04-27 16:43 ` Jean-Christophe Helary 1 sibling, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-04-27 16:09 UTC (permalink / raw) To: Eli Zaretskii Cc: Ahmed Khanzada, pcr910303, emacs-devel, luangruo, seb, dgutov Eli Zaretskii <eliz@gnu.org> writes: >> Date: Thu, 23 Apr 2020 00:04:13 -0700 >> From: Ahmed Khanzada <me@enzu.ru> >> Cc: Po Lu <luangruo@yahoo.com>, >> Sébastien Gendre <seb@k-7.ch>, >> 조성빈 <pcr910303@icloud.com>, >> Emacs developers <emacs-devel@gnu.org> >> >> Let's say tomorrow Emacs is like VS Code running Emacs Lisp in a Guile >> VM. Is the idea that if we compete in the same modes as the modernist >> editors, we can steal enough people from them that we will advance the >> cause of free software? > > More users generally means more contributors, more future developers, > and better Emacs. And yes, it advances the cause of Free Software, > like any other free package that attracts users. Definitely! Users are important. There is an interesting interviw/article in Linux Format from January this year with Ton Roosendaal, the creator of 3D modelling/animation package Blender. Blender went form relatively non-popular 3D application on the verge of extinction to become a multimillion industry accepted application. He touches on tradeoffs Blender made between "old wyas" and more accepted "modern standards" and importance to appeal to "masses". In sense it touches on similar questions as Emacs is faced with, so it might be an interesting read. Just as a side note ... ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-27 16:09 ` Arthur Miller @ 2020-04-27 16:43 ` Jean-Christophe Helary 0 siblings, 0 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-27 16:43 UTC (permalink / raw) To: Emacs developers > On Apr 28, 2020, at 1:09, Arthur Miller <arthur.miller@live.com> wrote: > > Eli Zaretskii <eliz@gnu.org> writes: > >>> Date: Thu, 23 Apr 2020 00:04:13 -0700 >>> From: Ahmed Khanzada <me@enzu.ru> >>> Cc: Po Lu <luangruo@yahoo.com>, >>> Sébastien Gendre <seb@k-7.ch>, >>> 조성빈 <pcr910303@icloud.com>, >>> Emacs developers <emacs-devel@gnu.org> >>> >>> Let's say tomorrow Emacs is like VS Code running Emacs Lisp in a Guile >>> VM. Is the idea that if we compete in the same modes as the modernist >>> editors, we can steal enough people from them that we will advance the >>> cause of free software? >> >> More users generally means more contributors, more future developers, >> and better Emacs. And yes, it advances the cause of Free Software, >> like any other free package that attracts users. > Definitely! Users are important. > > There is an interesting interviw/article in Linux Format from January > this year with Ton Roosendaal, the creator of 3D modelling/animation > package Blender. Blender went form relatively non-popular 3D application > on the verge of extinction to become a multimillion industry accepted > application. He touches on tradeoffs Blender made between "old wyas" and > more accepted "modern standards" and importance to appeal to "masses". > In sense it touches on similar questions as Emacs is faced with, so it > might be an interesting read. Just as a side note ... The article is here: https://download.blender.org/documentation/pdf/LXF204.feat_3d.5cjt.pdf Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 22:44 ` Sébastien Gendre 2020-04-20 0:36 ` Stefan Kangas 2020-04-20 4:53 ` Po Lu @ 2020-04-20 14:22 ` Eli Zaretskii 2020-04-21 12:43 ` Sébastien Gendre 2 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-20 14:22 UTC (permalink / raw) To: Sébastien Gendre; +Cc: emacs-devel > From: Sébastien Gendre <seb@k-7.ch> > Date: Mon, 20 Apr 2020 00:44:40 +0200 > > - Alice: A long time user. She got a personal Emacs configuration she > had perfected over the years. She chose herself what system is used > to show function completion, which code parser is used for her daily > used languages. She add some packages to integrate with special > tools used at her work. Emacs is her home and office: She use it as > much for her personal project than for her work. She also made a > personal workflow with org-mode and write some personal Elisp > functions and advices. She forge the tools to her need. She do not > want to have an update of Emacs who break her configuration, her > workflow or her muscle memory. There's a flaw in this description of how long-time Emacs users concoct their configurations. What's in their configuration depends _heavily_ on the defaults: the features whose defaults satisfy such users are never touched in the init file. Any "vanilla" Emacs that turns off many features will run a high risk of breaking such configurations, because it violates the assumptions on which those configurations rely. At least, that's how I maintain my init files. > For these 4 use-cases, we can simply provide 2 flavors of Emacs: > - Emacs: With all the 2020 features, a modern interface, all needed > modern features to start coding with most popular languages and easy > to use for basic usages The first and the most important problem with this is to identify what you informally call "all the 2020 features, a modern interface, all needed modern features to start coding with most popular languages and easy to use for basic usages". If you review past discussions on this and related subjects, you will see that opinions on what should be part of that set of features vary widely, so much so that I don't believe any significant agreement is practical. It _might_ be possible to come up with a relatively short list of features that could "modernize" Emacs, about which enough people will agree that they should be part of "2020 features". However, I'm not sure even this limited goal is possible, and will continue to be unsure unless and until someone comes up with such a list, and we see what's in it and how many people agree on the list. On top of that, the list (and the dispute to go with it) will need to be updated with each major release. Suppose we do have such a list -- will that be enough to make Emacs sufficiently more attractive to Bob and his friends? I don't know. One problem is that we don't have many such Bob's on our team or even reading this list, and those few who are very quickly become Alice's. So their voice is never heard. We don't have any HFE experts on board, who could pretend to be a Bob. So who will be able to represent them and make sure the list of said features will be to their liking? > - Emacs Vanilla: All the new features are still there, but deactivate > to not break anything I'm guessing that by "new" you mean all those "modern" features that we don't currently turn on by default. Otherwise, I don't see any useful purpose for such a "vanilla" Emacs. > And if Emacs detect, after an update or a first start, an already > existing configuration that it could break because of some features: > Emacs simply activate `vanilla-mode` automatically. I don't see how Emacs can do that, when many dozens of optional features are involved. How do you write code that detects whether a given feature can break something? Ideally, we will have already considered that, and make every effort not to break any existing feature or muscle memory. And who will write and maintain such code, and update it with each release? Are you aware of any other project that does anything similar? > It's just a starting point, but I think this could be a simple but > very useful solution. This assumes that someone does all the research and design and implementation needed for that, and that we as a project commit to maintaining these very non-trivial facilities for the years to come. You may not realize it, but this is a very far cry from what we do now. For example, it is a long and frustrating uphill battle just to make sure that NEWS provides information for how to get back old behavior, for every one of those new features that do change behavior. Please try to imagine (and describe to us, if possible) what kind of development procedures will have to be put in place to support what you propose, which is much more complex and problematic. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 14:22 ` Eli Zaretskii @ 2020-04-21 12:43 ` Sébastien Gendre 2020-04-21 14:38 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Sébastien Gendre @ 2020-04-21 12:43 UTC (permalink / raw) To: Eli Zaretskii, emacs-devel Having a Vanilla-mode are maybe wore difficult than it seems. So, let's forget Vanilla-mode and see another solution who can be more feasible. Maybe we can take inspiration from the work of Spacemacs and Doom Emacs: Offer an official pre-configuration of Emacs, on the side of Emacs itself. This pre-configuration will be more focused on new users and new features when Emacs itself would be more focused on stability. Here is, in more detail, what I have in mind. On one side, continue to develop Emacs as today : - Keep same defaults - If a new features is proposed, check if it break any compatibility or defaults - If no, include it in Emacs - If yes, try to modify this feature to not break any compatibility or defaults and if its a success, include this feature in Emacs - If it's not possible, include the feature but deactivate it by default or make a package on ELPA I don't think this side is different from what development on Emacs is today. We can call this side Emacs vanilla, or Emacs core, or Emacs base. Anything that reflect that this is the common base for everyone. On another side, we can create a pre-configuration (like what Spacemacs or Doom Emacs do) : - All this pre-configuration is a set of files to be put inside the .emacs.d to start using it (like Spacemacs) - Main goal is to have a pre-configuration that provide what is commonly expected from a modern text editor [1], out of the box - Easy to use for the common tasks - Enable some features that are not enabled by default - Modify some defaults behaviours of Emacs to reflect more what new users search in a text editor - Can include some packages from ELPA (if no legal or licence issue) - This pre-configuration can be done by a dedicated team who collaborate with who work directly on Emacs - The structure of this pre-configuration need to be made to not conflict with user personal configuration (ex: avoid to put anything in the init.el, use separate sub-directory inside .emacs.d, etc) The actual Emacs show that the first side is possible. And projects like Spacemacs and Doom Emacs show that the second side is also possible. So I think this solution is feasible. And a direct collaboration of the both side can make the process more easy. A remaining problem is: How provide the pre-configuration easily and out of the box for new users, without breaking long time Emacs users configuration? A possibility would be: - When Emacs start, it check if a configuration already exist on the user directory (~/.emacs.d or ~/.emacs) - If yes, Emacs start - If no, Emacs restore the pre-configuration inside ~/.emacs.d then start With this, new user can use the "modern, shiny, OOTB Emacs", out of the box, by simply download and run it. And the long time user can have a stable Emacs who don't break their configuration. For someone who want to use Spacemacs, simply extract it as ~/.emacs.d before start Emacs. And for someone who want to start Emacs without a pre-configuration, simply create an empty directory for ~/.emacs.d. Of course, the pre-configuration can be updated automatically with Emacs. As the files of this pre-configuration are separated from user specific configuration. Open questions remain: - Does the pre-configuration release cycle are synchronised with Emacs or completely independent? - Does the user can block the pre-configuration update, to avoid breaking its configuration based on a specific version of the pre-configuration? But I think this can be a realisable solution. [1] List of features to be defined, but I imagine some out of the box auto-completion, code navigation, functions documentation + functions signatures + errors showing automatically, strong integration with git (Magit?) and debuger, major containers engines (docker, kubernetes) integration, etc. With a great support of the most populare programming languages. And maybe have a special attention to integrate with web technologies and tools for web developer. PS: Or maybe we think to much about this problem. And making an LTS versions of Emacs, like Ubuntu does, is the solution. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 12:43 ` Sébastien Gendre @ 2020-04-21 14:38 ` Eli Zaretskii 2020-04-22 1:35 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-21 14:38 UTC (permalink / raw) To: Sébastien Gendre; +Cc: emacs-devel > From: Sébastien Gendre <seb@k-7.ch> > Date: Tue, 21 Apr 2020 14:43:47 +0200 > > On another side, we can create a pre-configuration (like what > Spacemacs or Doom Emacs do) : > - All this pre-configuration is a set of files to be put inside the > .emacs.d to start using it (like Spacemacs) > - Main goal is to have a pre-configuration that provide what is > commonly expected from a modern text editor [1], out of the box > - Easy to use for the common tasks > - Enable some features that are not enabled by default > - Modify some defaults behaviours of Emacs to reflect more what new > users search in a text editor > - Can include some packages from ELPA (if no legal or licence issue) > - This pre-configuration can be done by a dedicated team who > collaborate with who work directly on Emacs > - The structure of this pre-configuration need to be made to not > conflict with user personal configuration (ex: avoid to put anything > in the init.el, use separate sub-directory inside .emacs.d, etc) As was already said in this thread, the main problem with this is to come up with the list of features to turn on. Did you ask yourself why there's Spacemacs and Doom Emacs (and a few more variants), and not just one? It tells us something about the commonality of preferences. > A remaining problem is: How provide the pre-configuration easily and > out of the box for new users, without breaking long time Emacs users > configuration? > > A possibility would be: > - When Emacs start, it check if a configuration already exist on the > user directory (~/.emacs.d or ~/.emacs) > - If yes, Emacs start > - If no, Emacs restore the pre-configuration inside ~/.emacs.d then > start Does this mean users who download this "shiny Emacs" will be unable to upgrade to a newer version? > Of course, the pre-configuration can be updated automatically with > Emacs. As the files of this pre-configuration are separated from user > specific configuration. So you propose to have config files that users shall never touch? How likely is this going to hold, what with Emacs users being very inquisitive folks? > [1] List of features to be defined, but I imagine some out of the box > auto-completion, code navigation, functions documentation + functions > signatures + errors showing automatically, strong integration with git > (Magit?) and debuger, major containers engines (docker, kubernetes) > integration, etc. With a great support of the most populare > programming languages. And maybe have a special attention to integrate > with web technologies and tools for web developer. This is the main problem to solve, so its place is hardly in the footnotes ;-) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 14:38 ` Eli Zaretskii @ 2020-04-22 1:35 ` Dmitry Gutov 2020-04-22 3:26 ` Stefan Monnier 2020-04-22 13:22 ` Making Emacs more friendly to newcomers Eli Zaretskii 0 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 1:35 UTC (permalink / raw) To: Eli Zaretskii, Sébastien Gendre; +Cc: emacs-devel On 21.04.2020 17:38, Eli Zaretskii wrote: >> A remaining problem is: How provide the pre-configuration easily and >> out of the box for new users, without breaking long time Emacs users >> configuration? >> >> A possibility would be: >> - When Emacs start, it check if a configuration already exist on the >> user directory (~/.emacs.d or ~/.emacs) >> - If yes, Emacs start >> - If no, Emacs restore the pre-configuration inside ~/.emacs.d then >> start > Does this mean users who download this "shiny Emacs" will be unable to > upgrade to a newer version? The pre-configuration could contain just one line: (require 'shiny-settings) where shiny-settings.el is distributed with Emacs and is updated together with new releases. Although, after 5-10 years pass, we'll surely encounter users of previous versions unhappy with changes to their shiny-settings too. :-) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 1:35 ` Dmitry Gutov @ 2020-04-22 3:26 ` Stefan Monnier 2020-04-30 7:49 ` "Themes" shipping configuration - an unusual convention Stefan Kangas 2020-04-22 13:22 ` Making Emacs more friendly to newcomers Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-04-22 3:26 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Eli Zaretskii, Sébastien Gendre, emacs-devel > The pre-configuration could contain just one line: > > (require 'shiny-settings) Nitpick: `require` is *really* not the right job since just loading a file should not change Emacs's behavior substantially. Ideally, it should be a custom-theme, but second best could be a minor-mode. Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* "Themes" shipping configuration - an unusual convention 2020-04-22 3:26 ` Stefan Monnier @ 2020-04-30 7:49 ` Stefan Kangas 2020-04-30 12:21 ` Stefan Monnier ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-30 7:49 UTC (permalink / raw) To: Stefan Monnier Cc: Eli Zaretskii, Emacs developers, Sébastien Gendre, Dmitry Gutov Stefan Monnier <monnier@iro.umontreal.ca> writes: > > The pre-configuration could contain just one line: > > > > (require 'shiny-settings) > > Nitpick: `require` is *really* not the right job since just loading > a file should not change Emacs's behavior substantially. > > Ideally, it should be a custom-theme, but second best could be > a minor-mode. So a theme can be used to change configuration, and indeed this is the recommended way to do it. Interesting, and news to me. But is this a good convention? I'm not so sure. AFAIK, all other applications I have used understand "theme" to mean a "package containing graphical appearance details". This definition from Wikipedia: https://en.wikipedia.org/wiki/Theme_(computing) I don't think users will expect a "theme" to modify the behavior of Emacs. There are usually things called "profiles" where one would save or load settings from. This means that if M-x load-theme changes the behavior of Emacs (significantly or otherwise), they are in for a surprise. I would propose to change the convention such that a "theme" is only meant to modify "graphical appearance details". Not behavior. (From what I can tell, all themes currently shipped with Emacs follow this convention.[1]) We could introduce a *separate* convention, called e.g. "custom profiles", which are understood to also change settings. They could have their own directory in our tree called "etc/profiles", and separate commands to load them (say, M-x load-profile). Of course, a "custom profile" could technically do anything a "theme" does and vice versa. Just as a 'require'd package can technically override any face, enable viper-mode or whatever. But we should discourage that. Best regards, Stefan Kangas PS. If anyone can point to an example of a "custom theme" that ships settings, it would be interesting to see it. Footnotes: 1. The exception is some variables related to graphical display, which is not unusual or surprising to my mind. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Themes" shipping configuration - an unusual convention 2020-04-30 7:49 ` "Themes" shipping configuration - an unusual convention Stefan Kangas @ 2020-04-30 12:21 ` Stefan Monnier 2020-04-30 14:48 ` Drew Adams 2020-06-13 16:30 ` Basil L. Contovounesios 2 siblings, 0 replies; 605+ messages in thread From: Stefan Monnier @ 2020-04-30 12:21 UTC (permalink / raw) To: Stefan Kangas Cc: Eli Zaretskii, Emacs developers, Sébastien Gendre, Dmitry Gutov > So a theme can be used to change configuration, and indeed this is the > recommended way to do it. Interesting, and news to me. A custom-theme is a set of custom settings, yes. > AFAIK, all other applications I have used understand "theme" to mean a > "package containing graphical appearance details". This definition > from Wikipedia: https://en.wikipedia.org/wiki/Theme_(computing) Yes, but at the same time, it's hard to draw the line: if a theme controls the shape of menus (e.g. chooses between scroll-down menus and pie-menus), is it "graphical appareance"? What about the structure of a menu? What about the place where completions are displayed (a popup child frame vs the *Completions* buffer)? In any case, I'm not sure we want to start adding an artificial barrier: the underlying technique conflates the two and I don't think it's a problem, even if it doesn't correspond to what some other applications offer (FWIW, I believe some application's themes are also able to change pretty much any aspect of the behavior. IIRC that's the case for Enlightenment, for example). > I don't think users will expect a "theme" to modify the behavior > of Emacs. It wouldn't be the first time that Emacs goes beyond users expectations ;-) > We could introduce a *separate* convention, called e.g. "custom > profiles", which are understood to also change settings. They could > have their own directory in our tree called "etc/profiles", and > separate commands to load them (say, M-x load-profile). I'm fine with using a different naming convention for the actual behavior-oriented themes, but I see no need to hide the fact that the implementation is the same. Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Themes" shipping configuration - an unusual convention 2020-04-30 7:49 ` "Themes" shipping configuration - an unusual convention Stefan Kangas 2020-04-30 12:21 ` Stefan Monnier @ 2020-04-30 14:48 ` Drew Adams 2020-06-13 16:30 ` Basil L. Contovounesios 2 siblings, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-04-30 14:48 UTC (permalink / raw) To: Stefan Kangas, Stefan Monnier Cc: Eli Zaretskii, Dmitry Gutov, Sébastien Gendre, Emacs developers > So a theme can be used to change configuration, and indeed this is the > recommended way to do it. Interesting, and news to me. But is this a > good convention? I'm not so sure. > > AFAIK, all other applications I have used understand "theme" to mean a > "package containing graphical appearance details"... > > I don't think users will expect a "theme" to modify the behavior of > Emacs. There are usually things called "profiles" where one would > save or load settings from. This means that if M-x load-theme changes > the behavior of Emacs (significantly or otherwise), they are in for a > surprise. > > I would propose to change the convention such that a "theme" is only > meant to modify "graphical appearance details". Not behavior. (From > what I can tell, all themes currently shipped with Emacs follow this > convention.[1]) > > We could introduce a *separate* convention, called e.g. "custom > profiles", which are understood to also change settings. They could > have their own directory in our tree called "etc/profiles", and > separate commands to load them (say, M-x load-profile). > > Of course, a "custom profile" could technically do anything a "theme" > does and vice versa. Just as a 'require'd package can technically > override any face, enable viper-mode or whatever. But we should > discourage that. ... > Footnotes: > 1. The exception is some variables related to > graphical display, which is not unusual or > surprising to my mind. I believe this is a principal difference between custom themes and color themes. Custom themes are essentially part of Customize, and from the outset they were about customizing options. Only later were they extended to do some (most) of what color themes do: define a color scheme by setting a bunch of faces, frame parameters etc. (That's my recollection anyway. Chong Yidong extended custom themes to implement some of what color themes provide.) Nowadays, the distinction has mostly been lost, unfortunately, and many people speak of "color themes" when they really mean vanilla Emacs custom themes. https://www.emacswiki.org/emacs/ColorThemes https://www.emacswiki.org/emacs/CustomThemes Your proposal seems to be to more or less limit Emacs custom themes to defining color schemes, or perhaps color schemes plus some other display properties. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Themes" shipping configuration - an unusual convention 2020-04-30 7:49 ` "Themes" shipping configuration - an unusual convention Stefan Kangas 2020-04-30 12:21 ` Stefan Monnier 2020-04-30 14:48 ` Drew Adams @ 2020-06-13 16:30 ` Basil L. Contovounesios 2 siblings, 0 replies; 605+ messages in thread From: Basil L. Contovounesios @ 2020-06-13 16:30 UTC (permalink / raw) To: Stefan Kangas Cc: Eli Zaretskii, Dmitry Gutov, Stefan Monnier, Sébastien Gendre, Emacs developers Stefan Kangas <stefan@marxist.se> writes: > PS. If anyone can point to an example of a "custom theme" that ships > settings, it would be interesting to see it. Searching for custom-theme-set-variables under etc/themes gives: - etc/themes/dichromacy-theme.el - etc/themes/leuven-theme.el - etc/themes/misterioso-theme.el - etc/themes/tango-dark-theme.el - etc/themes/tango-theme.el - etc/themes/wombat-theme.el Under GNU ELPA: - modus-operandi-theme.el - modus-vivendi-theme.el - tramp-theme.el Under the top 5 most downloaded themes on MELPA: - zenburn - solarized - sanityinc-tomorrow - spacemacs Most of which also come with their own defcustoms, etc. Did I misunderstand what you were asking for? -- Basil ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 1:35 ` Dmitry Gutov 2020-04-22 3:26 ` Stefan Monnier @ 2020-04-22 13:22 ` Eli Zaretskii 2020-04-22 17:46 ` chad 2020-04-22 17:55 ` Dmitry Gutov 1 sibling, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 13:22 UTC (permalink / raw) To: Dmitry Gutov; +Cc: seb, emacs-devel > Cc: emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Wed, 22 Apr 2020 04:35:48 +0300 > > > Does this mean users who download this "shiny Emacs" will be unable to > > upgrade to a newer version? > > The pre-configuration could contain just one line: > > (require 'shiny-settings) > > where shiny-settings.el is distributed with Emacs and is updated > together with new releases. So we expect users not to customize their Emacs, as long as they use the "shiny Emacs"? What are the chances of that to work? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 13:22 ` Making Emacs more friendly to newcomers Eli Zaretskii @ 2020-04-22 17:46 ` chad 2020-04-22 22:52 ` Yuan Fu 2020-04-22 17:55 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: chad @ 2020-04-22 17:46 UTC (permalink / raw) To: Eli Zaretskii; +Cc: EMACS development team, seb, Dmitry Gutov [-- Attachment #1: Type: text/plain, Size: 1660 bytes --] On Wed, Apr 22, 2020 at 6:27 AM Eli Zaretskii <eliz@gnu.org> wrote: > > Cc: emacs-devel@gnu.org > > From: Dmitry Gutov <dgutov@yandex.ru> > > Date: Wed, 22 Apr 2020 04:35:48 +0300 > > > > > Does this mean users who download this "shiny Emacs" will be unable to > > > upgrade to a newer version? > > > > The pre-configuration could contain just one line: > > > > (require 'shiny-settings) > > > > where shiny-settings.el is distributed with Emacs and is updated > > together with new releases. > > So we expect users not to customize their Emacs, as long as they use > the "shiny Emacs"? What are the chances of that to work? > Spacemacs, Doom, and Prelude (to name just three of the more popular options) all make this work out-of-tree, so it certainly seems possible. From my reading, the first two (at least) are strongly expected to be customized after installation, and to have those customizations survive updates of the "kit". Spacemacs in particular adds a "layer" concept to emacs customization so that bundles of related options/code/packages/config can be turned on or off as a group. Details can be found at: https://www.spacemacs.org/doc/LAYERS.html. I would personally hope that we could streamline this process, which seems pretty bulky from the outside. Maybe inviting the Spacemacs people to share their experience that led to creating their layers system would be helpful to us both. (I would have CC'd them onthis message, but their team seems to be heavily based around github (pull requests, gitter sharing, etc.), so it's not obvious to me whom to contact. I can look into finding a contact if people think it's worthwhile. ~Chad [-- Attachment #2: Type: text/html, Size: 2327 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 17:46 ` chad @ 2020-04-22 22:52 ` Yuan Fu 2020-04-23 0:12 ` chad 0 siblings, 1 reply; 605+ messages in thread From: Yuan Fu @ 2020-04-22 22:52 UTC (permalink / raw) To: chad Cc: Eli Zaretskii, Dmitry Gutov, Sébastien Gendre, EMACS development team [-- Attachment #1: Type: text/plain, Size: 2888 bytes --] > On Apr 22, 2020, at 1:46 PM, chad <yandros@gmail.com> wrote: > > On Wed, Apr 22, 2020 at 6:27 AM Eli Zaretskii <eliz@gnu.org <mailto:eliz@gnu.org>> wrote: > > Cc: emacs-devel@gnu.org <mailto:emacs-devel@gnu.org> > > From: Dmitry Gutov <dgutov@yandex.ru <mailto:dgutov@yandex.ru>> > > Date: Wed, 22 Apr 2020 04:35:48 +0300 > > > > > Does this mean users who download this "shiny Emacs" will be unable to > > > upgrade to a newer version? > > > > The pre-configuration could contain just one line: > > > > (require 'shiny-settings) > > > > where shiny-settings.el is distributed with Emacs and is updated > > together with new releases. > > So we expect users not to customize their Emacs, as long as they use > the "shiny Emacs"? What are the chances of that to work? > > Spacemacs, Doom, and Prelude (to name just three of the more popular options) all make this work out-of-tree, so it certainly seems possible. From my reading, the first two (at least) are strongly expected to be customized after installation, and to have those customizations survive updates of the "kit". > > Spacemacs in particular adds a "layer" concept to emacs customization so that bundles of related options/code/packages/config can be turned on or off as a group. Details can be found at: https://www.spacemacs.org/doc/LAYERS.html <https://www.spacemacs.org/doc/LAYERS.html>. I would personally hope that we could streamline this process, which seems pretty bulky from the outside. Maybe inviting the Spacemacs people to share their experience that led to creating their layers system would be helpful to us both. (I would have CC'd them onthis message, but their team seems to be heavily based around github (pull requests, gitter sharing, etc.), so it's not obvious to me whom to contact. I can look into finding a contact if people think it's worthwhile. > > ~Chad > I’ve used Spacemacs for quite a while back in 2017 when I just started using Emacs. It’s more of a gigantic community-driven config than an out-of-box for-dummy kit. What I envisioned is more like what VSCode does: automatically installing appropriate packages and downloading and setting up external programs. I would use it if there is such feature - many of my configs are just (use-package package) with some code adding hooks and auto-mode-alist. Some ideas: 1. Is it ok to include MELPA (opt-in) as one of the mirrors? Say a newbie type M-x auto-package-mode, and boom, all the auto installing package features are on, and MELPA is added to package-archives. 2. Could Emacs downloads some external programs (like LSP servers) for users? I would definitely let Emacs do the dirty work if it works reliably. But maybe there are security/maintenance concerns. 3. It would be cool if Customize can customize mode hooks and auto-mode-alist and other usual stuff. Yuan [-- Attachment #2: Type: text/html, Size: 4324 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 22:52 ` Yuan Fu @ 2020-04-23 0:12 ` chad 2020-04-23 0:49 ` Yuan Fu 0 siblings, 1 reply; 605+ messages in thread From: chad @ 2020-04-23 0:12 UTC (permalink / raw) To: Yuan Fu Cc: Eli Zaretskii, Dmitry Gutov, Sébastien Gendre, EMACS development team [-- Attachment #1: Type: text/plain, Size: 792 bytes --] On Wed, Apr 22, 2020 at 3:52 PM Yuan Fu <casouri@gmail.com> wrote: > > Some ideas: > 3. It would be cool if Customize can customize mode hooks and > auto-mode-alist and other usual stuff. > It seems like most elisp packages could come with a standardized "Here's the normal setup for this mode/package; would you like to run it now, have it run on each startup, or see a new buffer where you can examine it now?", analogous to how customize-theme prompts to disallow/allow-once/allow-always code upon loading the theme. (Honestly, I assume this never happened because most emacs devs seem to prefer managing snippets of elisp over using customize.) Use-package gets part of the way there; seems like it could easily get the typical setup hooks for a package from the package itself. ~Chad [-- Attachment #2: Type: text/html, Size: 1231 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 0:12 ` chad @ 2020-04-23 0:49 ` Yuan Fu 0 siblings, 0 replies; 605+ messages in thread From: Yuan Fu @ 2020-04-23 0:49 UTC (permalink / raw) To: chad Cc: Eli Zaretskii, Dmitry Gutov, Sébastien Gendre, EMACS development team [-- Attachment #1: Type: text/plain, Size: 1281 bytes --] > On Apr 22, 2020, at 8:12 PM, chad <yandros@gmail.com> wrote: > > > On Wed, Apr 22, 2020 at 3:52 PM Yuan Fu <casouri@gmail.com <mailto:casouri@gmail.com>> wrote: > > Some ideas: > 3. It would be cool if Customize can customize mode hooks and auto-mode-alist and other usual stuff. > > It seems like most elisp packages could come with a standardized "Here's the normal setup for this mode/package; would you like to run it now, have it run on each startup, or see a new buffer where you can examine it now?", analogous to how customize-theme prompts to disallow/allow-once/allow-always code upon loading the theme. If Customize can provide a interface, I’m sure packages will (slowly) adapt to it, just as they adapt to defcustom. > (Honestly, I assume this never happened because most emacs devs seem to prefer managing snippets of elisp over using customize.) Mainly for maintenance reasons, I guess. Custom file is usually not version-controlled. That’s not necessarily a bad thing, I find Customize useful for storing local configurations that could differ between machines (executable paths, etc). Maybe Customize could separate into two files, one version controlled, one local. And I can put many of my random setq’s into Customize. [-- Attachment #2: Type: text/html, Size: 2528 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 13:22 ` Making Emacs more friendly to newcomers Eli Zaretskii 2020-04-22 17:46 ` chad @ 2020-04-22 17:55 ` Dmitry Gutov 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 17:55 UTC (permalink / raw) To: Eli Zaretskii; +Cc: seb, emacs-devel On 22.04.2020 16:22, Eli Zaretskii wrote: >> The pre-configuration could contain just one line: >> >> (require 'shiny-settings) >> >> where shiny-settings.el is distributed with Emacs and is updated >> together with new releases. > So we expect users not to customize their Emacs, as long as they use > the "shiny Emacs"? What are the chances of that to work? Just make sure the custom file is loaded after. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 8:21 ` Making Emacs more friendly to newcomers Po Lu 2020-04-19 8:25 ` ndame @ 2020-04-19 13:35 ` Eli Zaretskii 2020-04-19 19:14 ` Drew Adams 2020-04-19 22:50 ` Po Lu 1 sibling, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-19 13:35 UTC (permalink / raw) To: Po Lu Cc: me, joseph.h.garvin, rms, stefan, emacs-devel, pcr910303, drew.adams, ndame > From: Po Lu <luangruo@yahoo.com> > Cc: 조성빈 <pcr910303@icloud.com>, Richard Stallman > <rms@gnu.org>, Ahmed Khanzada <me@enzu.ru>, "joseph.h.garvin@gmail.com" > <joseph.h.garvin@gmail.com>, "stefan@marxist.se" <stefan@marxist.se>, > "emacs-devel@gnu.org" <emacs-devel@gnu.org>, "eliz@gnu.org" > <eliz@gnu.org>, "drew.adams@oracle.com" <drew.adams@oracle.com> > Date: Sun, 19 Apr 2020 16:21:40 +0800 > > Again: what's wrong with putting a button on the splash screen? Nothing. The only problem is to decide what will that button activate. I think you will find that opinions vary widely about that. P.S. And why does every message from you get sent twice to each addressee? ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: Making Emacs more friendly to newcomers 2020-04-19 13:35 ` Eli Zaretskii @ 2020-04-19 19:14 ` Drew Adams 2020-04-19 22:50 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-04-19 19:14 UTC (permalink / raw) To: Eli Zaretskii, Po Lu Cc: me, joseph.h.garvin, rms, stefan, emacs-devel, pcr910303, ndame > P.S. And why does every message from you get sent twice to each > addressee? +1 ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 13:35 ` Eli Zaretskii 2020-04-19 19:14 ` Drew Adams @ 2020-04-19 22:50 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 22:50 UTC (permalink / raw) To: Eli Zaretskii Cc: me, joseph.h.garvin, rms, stefan, emacs-devel, pcr910303, drew.adams, ndame Eli Zaretskii <eliz@gnu.org> writes: > Nothing. The only problem is to decide what will that button > activate. I think you will find that opinions vary widely about that. Well, for starters things like CUA mode, maybe a hypothetical `gtk' theme, and other things like that. But that will likely require a lot of debate yes. > P.S. And why does every message from you get sent twice to each > addressee? I'm not sure, I'll look into it. Sorry! ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-19 8:05 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 조성빈 2020-04-19 8:12 ` ndame @ 2020-04-19 8:16 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 8:16 UTC (permalink / raw) To: 조성빈 Cc: ndame, Richard Stallman, Ahmed Khanzada, joseph.h.garvin@gmail.com, stefan@marxist.se, emacs-devel@gnu.org, eliz@gnu.org, drew.adams@oracle.com 조성빈 <pcr910303@icloud.com> writes: > I personally find that the stance of trying to not breaking anything is > one of the big reasons that Emacs has a nonusable-without-configuration UX. > Major version numbers are there for a reason… and we can expect for annoyed > people to set some variables to get old behavior. Major version numbers are there to announce new features. With massive changes (such as the ones that are being proposed here), you can't just "flip a variable to get the old behaviour". Especially people with 20 years of muscle memory and 200,000+ line configs. Again: what's wrong with the "if you're new to Emacs, click here" button? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 2:33 ` Po Lu 2020-04-19 3:05 ` Jean-Christophe Helary 2020-04-19 4:55 ` ndame @ 2020-04-19 23:50 ` Stefan Kangas 2 siblings, 0 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-19 23:50 UTC (permalink / raw) To: Po Lu Cc: Ahmed Khanzada, Joseph Garvin, Richard Stallman, Emacs developers, Eli Zaretskii, Drew Adams, ndame Po Lu <luangruo@yahoo.com> writes: > I'm working on something that uses GTK foreign rendering to draw button > and input field backgrounds as face boxes; I should be able to get it > in a usable state soon Interesting. Can you use all the normal editing commands inside the text field widget? Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 15:34 ` Joseph Garvin ` (2 preceding siblings ...) 2020-04-17 22:05 ` Ahmed Khanzada @ 2020-04-19 2:19 ` Richard Stallman 3 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-19 2:19 UTC (permalink / raw) To: Joseph Garvin; +Cc: eliz, emacs-devel, stefan, drew.adams, ndame [[[ 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. ]]] > * A UI that doesn't look or behave like any other application > * Keyboard shortcuts inconsistent with every other application > * A bizarre ancient vocabulary inconsistent with every other application. A new user might well think of Emacs keyboard commands as "shortcuts", carrying over the concepts that perse has learned in using other programs. When it comes to understanding what new users think, we need to know what concepts they use. But those characters are not really "shortcuts". -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 14:58 ` "Why is emacs so square?" Drew Adams 2020-04-16 15:34 ` Joseph Garvin @ 2020-04-16 15:42 ` Jean-Christophe Helary 2020-04-16 16:33 ` Drew Adams 2020-04-19 2:19 ` Richard Stallman 1 sibling, 2 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-16 15:42 UTC (permalink / raw) To: emacs-devel > On Apr 16, 2020, at 23:58, Drew Adams <drew.adams@oracle.com> wrote: > > And count me as one vote for the menu-bar being > important, especially for discoverability. The > tool-bar is less important, IMO, but I'd still > vote to keep it. The tool bar especially would work better if it looked/acted like it were native. Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Why is emacs so square?" 2020-04-16 15:42 ` Jean-Christophe Helary @ 2020-04-16 16:33 ` Drew Adams 2020-04-19 2:19 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-04-16 16:33 UTC (permalink / raw) To: Jean-Christophe Helary, emacs-devel > The tool bar especially would work better if it > looked/acted like it were native. I suppose I can guess what you mean by "looking" native, but not what "acting" native means. My impression is that different apps outside Emacs can have radically different kinds of tool bars, both wrt action and look & feel. And this is so, even for apps on the same platform, where they are perhaps all "native". IMHO, the Emacs tool-bar is something that it makes sense - at least optionally - to pop up on demand, rather than take up a fair amount of screen real estate. My library tool-bar+.el implements one way of doing this - by having a menu-bar pseudo-menu `Buttons', which, when clicked, shows the tool-bar only for one operation. Other ways of doing this or something similar are possible, of course. https://www.emacswiki.org/emacs/ToolBar#ToolBarPlus (That library also gives you the possibility of showing the tool-bar only on particular frames, rather than showing it on all frames or not showing it on any frame.) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 15:42 ` Jean-Christophe Helary 2020-04-16 16:33 ` Drew Adams @ 2020-04-19 2:19 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-19 2:19 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The tool bar especially would work better if it looked/acted like it were native. Can you explain how that change in appearance would make it _work_ better? I can understand claiming that people would feel more comfortable with it. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers
@ 2020-04-27 17:50 ndame
2020-04-27 18:07 ` Arthur Miller
` (2 more replies)
0 siblings, 3 replies; 605+ messages in thread
From: ndame @ 2020-04-27 17:50 UTC (permalink / raw)
To: Emacs developers
> The article is here:
>
> https://download.blender.org/documentation/pdf/LXF204.feat_3d.5cjt.pdf
That's not it, google found a version, some excerpts:
"Blender developers – would defend the software’s defiantly idiosyncratic UI on the grounds that ‘different doesn’t always mean worse’. Blender could do everything that other 3D packages could, they argued, and given a little time, it was possible to adapt your old working methods to a new combination of icons, keyboard shortcuts and menu commands. But for artists working in visual effects or game development – notoriously high-pressure industries, particularly when deadlines are looming – time is at a premium. Many people who might otherwise have loved Blender got no further than its splash screen"
...
"Others struck at the heart of Blender veterans’ sense of identity and even their muscle memory. In almost every other 3D application, you leftclick to select things. In Blender, prior to 2.80, you rightclicked by default. Supporters argued that it made for a faster, more precise workflow – but it was also alien to artists coming to Blender from other software."
...
https://www.pressreader.com/australia/linux-format/20191217/281745566267591
There are obvious similarities with Emacs' current situation.
^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-27 17:50 Making Emacs more friendly to newcomers ndame @ 2020-04-27 18:07 ` Arthur Miller 2020-04-28 0:13 ` Dmitry Gutov 2020-04-30 2:26 ` Richard Stallman 2 siblings, 0 replies; 605+ messages in thread From: Arthur Miller @ 2020-04-27 18:07 UTC (permalink / raw) To: ndame; +Cc: Emacs developers ndame <ndame@protonmail.com> writes: >> The article is here: >> >> https://download.blender.org/documentation/pdf/LXF204.feat_3d.5cjt.pdf > > That's not it, google found a version, some excerpts: > > "Blender developers – would defend the software’s defiantly idiosyncratic UI on > the grounds that ‘different doesn’t always mean worse’. Blender could do > everything that other 3D packages could, they argued, and given a little time, > it was possible to adapt your old working methods to a new combination of icons, > keyboard shortcuts and menu commands. But for artists working in visual effects > or game development – notoriously high-pressure industries, particularly when > deadlines are looming – time is at a premium. Many people who might otherwise > have loved Blender got no further than its splash screen" > > ... > > "Others struck at the heart of Blender veterans’ sense of identity and even > their muscle memory. In almost every other 3D application, you leftclick to > select things. In Blender, prior to 2.80, you rightclicked by default. > Supporters argued that it made for a faster, more precise workflow – but it was > also alien to artists coming to Blender from other software." > > ... > > > https://www.pressreader.com/australia/linux-format/20191217/281745566267591 > > > > There are obvious similarities with Emacs' current situation. The link from ndame links to is the correct article. I didn't know it was avialable online. I forgott to say unfortunately, I am sorry; Linux Format is a payed printed magazine, so you have to either be a subscriber to read the full article online, or to buy a paper copy of the magazine. I think it is worth, but it's a personal choice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-27 17:50 Making Emacs more friendly to newcomers ndame 2020-04-27 18:07 ` Arthur Miller @ 2020-04-28 0:13 ` Dmitry Gutov 2020-04-30 2:26 ` Richard Stallman 2 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-28 0:13 UTC (permalink / raw) To: ndame, Emacs developers On 27.04.2020 20:50, ndame wrote: > >> The article is here: >> >> https://download.blender.org/documentation/pdf/LXF204.feat_3d.5cjt.pdf > > That's not it, google found a version, some excerpts: Yeah, the above is a 5-year old article. But it was interesting too, and especially the emphasis on animators generally needing dedicated training to start being productive. > "Blender developers – would defend the software’s defiantly idiosyncratic UI on the grounds that ‘different doesn’t always mean worse’. Blender could do everything that other 3D packages could, they argued, and given a little time, it was possible to adapt your old working methods to a new combination of icons, keyboard shortcuts and menu commands. But for artists working in visual effects or game development – notoriously high-pressure industries, particularly when deadlines are looming – time is at a premium. Many people who might otherwise have loved Blender got no further than its splash screen" > > ... > > "Others struck at the heart of Blender veterans’ sense of identity and even their muscle memory. In almost every other 3D application, you leftclick to select things. In Blender, prior to 2.80, you rightclicked by default. Supporters argued that it made for a faster, more precise workflow – but it was also alien to artists coming to Blender from other software." > > ... > > > https://www.pressreader.com/australia/linux-format/20191217/281745566267591 That's a very good read. Another quote, not much relevant for Emacs, but it could make for a good promo material for FSF: “We don’t see open source as free. We see it as free-ing,” says Bell. “You could certainly save money if you wanted to, but I see it as an opportunity to take a portion of the budget and redirect it to our core software. We truly hope that others will take the development work we’ve put in and push it further.” > There are obvious similarities with Emacs' current situation. I also see a lot of parallels between the programs themselves. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-27 17:50 Making Emacs more friendly to newcomers ndame 2020-04-27 18:07 ` Arthur Miller 2020-04-28 0:13 ` Dmitry Gutov @ 2020-04-30 2:26 ` Richard Stallman 2020-04-30 5:58 ` ndame 2 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-30 2:26 UTC (permalink / raw) To: ndame; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > https://www.pressreader.com/australia/linux-format/20191217/281745566267591 That page doesn't contain the article, only nonfree Javascript code which we should not lead people to run. > That's not it, google found a version, some excerpts: Since you read the article, could you tell us in which year Blender changed interfaces? And can someone find, somewhere, a list of what the changes were, and show us that list? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-30 2:26 ` Richard Stallman @ 2020-04-30 5:58 ` ndame 2020-05-02 2:21 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-30 5:58 UTC (permalink / raw) To: rms@gnu.org; +Cc: emacs-devel@gnu.org > > Since you read the article, could you tell us in which year Blender > changed interfaces? In version 2.80 in 2019. The relevant part: A game-changing release When Roosendaal first proposed Blender 2.80 in 2015, it was as a “workflow release” – a chance to stop focusing on new features for a while in favour of bigger structural goals. At the time, he thought the work might take “9-12 months”. It turned out it would take three years longer. But those extra years would buy the Blender Foundation time to address some of the real drawbacks in the software: issues that prevented artists used to commercial 3D applications from switching over to Blender. The biggest was the user interface. Before 2.80, diehard Blender users – including many Blender developers – would defend the software’s defiantly idiosyncratic UI on the grounds that ‘different doesn’t always mean worse’. Blender could do everything that other 3D packages could, they argued, and given a little time, it was possible to adapt your old working methods to a new combination of icons, keyboard shortcuts and menu commands. But for artists working in visual effects or game development – notoriously high-pressure industries, particularly when deadlines are looming – time is at a premium. Many people who might otherwise have loved Blender got no further than its splash screen. Some of the changes made in Blender 2.80 were cosmetic: the interface has a more industry-standard dark grey colour scheme, designed to prevent it from drawing the user’s eye away from the 3D scene on display in the viewport. Others struck at the heart of Blender veterans’ sense of identity and even their muscle memory. In almost every other 3D application, you leftclick to select things. In Blender, prior to 2.80, you rightclicked by default. Supporters argued that it made for a faster, more precise workflow – but it was also alien to artists coming to Blender from other software. Other changes were intended specifically to help artists make that transition. A toggleable ‘keymap’ switched Blender’s keyboard shortcuts from their traditional settings to ones more familiar to users of other 3D applications: tools like Pixologic’s Zbrush, used for sculpting organic characters, Autodesk’s Maya, used for general-purpose modelling and animation, and Sidefx’s Houdini, used for creating physically based effects like fire, water and smoke. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-30 5:58 ` ndame @ 2020-05-02 2:21 ` Richard Stallman 2020-05-02 15:52 ` Arthur Miller 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-05-02 2:21 UTC (permalink / raw) To: ndame; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > A game-changing release Thanks for showing us that. I see the logic of this -- but I think that trying to do this with Emacs would be a more drastic UI change than the one Blender made, because the keyboard is the principal interface rather than a secondary one. At the same time I don't think we could get a lot of boost in usags from it. Blender was the only libre video editing program competing with proprietary programs which, as a side issue, very expensive too. By contrast, there are already other libre text editors. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 2:21 ` Richard Stallman @ 2020-05-02 15:52 ` Arthur Miller 2020-05-02 15:59 ` Dmitry Gutov ` (3 more replies) 0 siblings, 4 replies; 605+ messages in thread From: Arthur Miller @ 2020-05-02 15:52 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel, ndame 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. ]]] > > > A game-changing release > > Thanks for showing us that. > > I see the logic of this -- but I think that trying to do this with > Emacs would be a more drastic UI change than the one Blender made, > because the keyboard is the principal interface rather than a > secondary one. Hope you don't take it personal but you are wrong about keyboard in 3D applications. Both keyboard and mouse are primary input methods, and 3D modellers/animators etc are very religious about their workflow and habits. They are very habitual creatures to their shorctuts, just like Emacs users. > Emacs would be a more drastic UI change than the one Blender made, Njah, they rewrote their GUI code almost completely. But anyway, would that necessary be a bad thing? You can still have Emacs traditional/classic/call-it-whatever mode and other modes that emulate other text editors. It already exists in Emacs, that is what evil & co does, there is CUA-mode etc. Back in times, 1970-something, when you and your friends created Emacs, there were probably no standard, world-wide, applicaiton-wide terminology, workflow etc. At least it was different from what it is today. Emacs is, like Blender, an application made before certain standards even existed, but the world has changed, standards/habits has become established and they are somewhat different than what Emacs uses. It is just a surface anyway, and I am quite sure that veterans used to Emacs would have no difficult time to keep their habits even if Emacs changed some default terminology, shortcuts, looks and even interaction mode. I know it is beating a dead horse, I have seen it being brought up different times since I have started to use Emacs back in year '99 or there around. It is just my personal opinion. > At the same time I don't think we could get a lot of boost in usags > from it. Why? If you offerered a more polished "in-time" version of Emacs, I believe Emacs is still superior as a tool to other editors/tools. Emacs has quite some features that can be or are "killer" features, that just has to be exposed a tad bit more. Shell/mail/dired/org are probably ones, also a concept, search inteface to anything in Emacs (pun intended - I think of anything/Helm as interaction model), easy and tight integration with other tools and probably more. All those things are already explorable and adaptable, ready to use, but they need (somewhat) painfull and tedious assembling into the final experience. Most people not familiar with Emacs are probably not aware how to use it in more advanced way then just as a text editor with "strange" keyboard shortcuts. They don't know what is available, what they need to setup, and how, to get their imagined interaction model, wofrklow, etc (iff they even have something already imagined). I think Emacs is great, and choice is great! I value freedom foremost. But as it is now, for many of modern features, choice is mandatory. Emacs is already super-adaptable, it just needs a little bit more stuff pre-integrated, turned on, and made a part of it and currage to make a decision. Yes I love freedom, and I love to be able to tailor it to my choice, but while I can make my choice between completion frameworks, visual parts, shortcuts etc, people new to it have to look up all that stuff, learn about it, search, spend time on configuring, testing configuration and so on. It is that time consuming part that lots of folks don't wanna do for various reasons. It takes time to learn what to setup and how to set it up. Many people are not willing or simply can't spend that time.Many don't even care, they just want to have something they can use. If their reserved words are blue or green, or if symbol names are complited by language server or something else, they probably don't care, people usually want just somethigni that works. Make some more default choices, add some more modern functionality out of the box, and let those who does not like defaults just re-configure to whatever they want, they probably already do it anyway. Question is also do you want those people who are unvilling to scratch the surface and deep-dive into Emacs and spend time to learn it and configure it, to use Emacs? Well why not? More users means more momentum, more people contributing, more cash to FSF (maybe :-)) etc, which results in Emacs and other FSF software been even better, world realizing the power of open source (I think it already did) and generaly promoting the FSF/Gnu ideals? I believe that Emacs was, and probably still is the most advanced of libre editors. Actually I don't see Emacs as a text editor longer, but rather as a usefull tool for my every day computer interaction. As a note, I know starter kits like Spacemacs, Prelude & Co are out there, but somehow that does not seem to cut it. > By contrast, there are already other libre text editors. Why is that an argument if there are other libre text editors? Blender was free to use for a long time before it become widely adopted. It wasn't the kostenloss that made it widely adopted, it was when they turned it into more in-time-with-standards (in combination with kostenloss) that seems to helped most with wider adoption. By the way, isn't evolution about adaptation? I mean even software has to adapt, otherwise it becomes obsolete. When we speak about Emacs and adoption, I think Emacs has actually got a revival, compared to how I saw it used for 20 years ago, I think it is quite a lot life about Emacs nowdays. There are people blogging, doing videos, reddit seems quite active, the mailing list has become likea spam :-), I don't remember it was active like this before, people are writing new packages and so on. But compared to some other, slightly less free offerings Emacs is not the most used/widespread tool. Yet :-). Of course I dont' have any statistics, it is just a feeling I have, a speculation based on what I see people talking about on the Internet. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 15:52 ` Arthur Miller @ 2020-05-02 15:59 ` Dmitry Gutov 2020-05-02 17:00 ` Arthur Miller 2020-05-02 16:25 ` ndame ` (2 subsequent siblings) 3 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-05-02 15:59 UTC (permalink / raw) To: Arthur Miller, Richard Stallman; +Cc: ndame, emacs-devel On 02.05.2020 18:52, Arthur Miller wrote: > When we speak about Emacs and adoption, I think Emacs has actually got a > revival, compared to how I saw it used for 20 years ago, I think it is > quite a lot life about Emacs nowdays. There are people blogging, doing > videos, reddit seems quite active, the mailing list has become likea > spam:-), I don't remember it was active like this before, people are > writing new packages and so on. Was it package.el that did this? It sounds like the most likely culprit. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 15:59 ` Dmitry Gutov @ 2020-05-02 17:00 ` Arthur Miller 2020-05-02 18:20 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-05-02 17:00 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ndame, Richard Stallman, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: > On 02.05.2020 18:52, Arthur Miller wrote: >> When we speak about Emacs and adoption, I think Emacs has actually got a >> revival, compared to how I saw it used for 20 years ago, I think it is >> quite a lot life about Emacs nowdays. There are people blogging, doing >> videos, reddit seems quite active, the mailing list has become likea >> spam:-), I don't remember it was active like this before, people are >> writing new packages and so on. > > Was it package.el that did this? It sounds like the most likely culprit. I don't know; probably; it certainly helped. Melpa and github maybe have a fingers there too. Maybe also millenial kids used to computers in the look for customizable/better software? Need to work with "cloud" (AWS/Azure) as well as with other devices (IoS/Android), probably made some people switch to certain Unix like OS, or at least to work with console which exposed them to terminal editors? I don't know, but it seems like both Vi(m) & Emacs have got a revival lately. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 17:00 ` Arthur Miller @ 2020-05-02 18:20 ` Dmitry Gutov 2020-05-02 18:55 ` Arthur Miller 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-05-02 18:20 UTC (permalink / raw) To: Arthur Miller; +Cc: ndame, Richard Stallman, emacs-devel On 02.05.2020 20:00, Arthur Miller wrote: > I don't know, but it > seems like both Vi(m) & Emacs have got a revival lately. That's true for FOSS editors in general, though. We didn't have so many good options before. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 18:20 ` Dmitry Gutov @ 2020-05-02 18:55 ` Arthur Miller 2020-05-04 3:05 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-05-02 18:55 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ndame, Richard Stallman, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: > On 02.05.2020 20:00, Arthur Miller wrote: >> I don't know, but it >> seems like both Vi(m) & Emacs have got a revival lately. > > That's true for FOSS editors in general, though. We didn't have so many good > options before. Indeed, seems as a general trend, we have never had so much FOSS software in general, not just editos, but everything, from AI research to Game Engines, 3D Editors, compilers, libraries, you name it. Seems like world has realized power of open source, which is great. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 18:55 ` Arthur Miller @ 2020-05-04 3:05 ` Richard Stallman 2020-05-05 14:08 ` Arthur Miller 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-05-04 3:05 UTC (permalink / raw) To: Arthur Miller; +Cc: ndame, emacs-devel, dgutov [[[ 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. ]]] > Seems > like world has realized power of open source, which is great. If people have realized the usefulness of the existing free programs, that is good. If people realize the value of the _freedom_ that free software gives, and learn to demand this freedom, that would be GREAT. Using the term "open source" tends to cover up that crucial point. For the free software movement, that is self-defeating. So please let's make an effort to call our work "free", "libre", or both -- not "open". See https://gnu.org/philosophy/open-source-misses-the-point.html for more explanation of the difference between free software and open source. See also https://thebaffler.com/salvos/the-meme-hustler for Evgeny Morozov's article on the same point. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-04 3:05 ` Richard Stallman @ 2020-05-05 14:08 ` Arthur Miller 2020-05-06 4:46 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-05-05 14:08 UTC (permalink / raw) To: Richard Stallman; +Cc: ndame, emacs-devel, dgutov 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. ]]] > > > Seems > > like world has realized power of open source, which is great. > > If people have realized the usefulness of the existing free programs, > that is good. > > If people realize the value of the _freedom_ that free software gives, > and learn to demand this freedom, that would be GREAT. > > Using the term "open source" tends to cover up that crucial point. > For the free software movement, that is self-defeating. So please > let's make an effort to call our work "free", "libre", or both -- not > "open". > > See https://gnu.org/philosophy/open-source-misses-the-point.html > for more explanation of the difference between free software and open > source. See also https://thebaffler.com/salvos/the-meme-hustler for > Evgeny Morozov's article on the same point. Yes of course RMS, I am completely with you when it comes to free software and freedom. I definitely appreciate all you have done through history, not less initiating everything. It is just that sometimes, in everyday speech we don't always use official, full, long names for stuff or hard distinctions because we tend to shortcut things in speech. It happends in all languages, fields of human activity etc. So we don't always say GNU/Linux, we say Linux even when we mean GNU/Linux, just as we don't always say Microsoft Windows but just Windows, or Apple OSX but just OSX etc. Same thing happened there, I said open source as an umbrella term, with no wishes diminish value of free software or not being aware of distinction. As a side not, personally I think that once most people realize the power of community collaboration and openess, which might be happening, maybe there will even not be a need for enforcing "freeiness" as with GPL3, just as we don't need a law to enforce other things in life when they become peoples identity becuase people wish to do those things anyway. But maybe it is just utopia thinking, don't know, but I think both "open source" and "free software" is on the raise (just my personal opinion). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-05 14:08 ` Arthur Miller @ 2020-05-06 4:46 ` Richard Stallman 2020-05-06 18:14 ` Nikita Mogilevsky 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-05-06 4:46 UTC (permalink / raw) To: Arthur Miller; +Cc: emacs-devel, dgutov, ndame [[[ 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. ]]] > It is just that sometimes, in everyday speech we don't always use > official, full, long names for stuff Since "free software" is only two charactes longer than "open source", how about making the effort to acquire that habit? It will help our cause, and once you learn the habit, you will hardly mind those extra characters. > say Linux even when we mean GNU/Linux, just as we don't always say > Microsoft Windows but just Windows, or Apple OSX but just OSX etc. They are similar in being shortenings, but there is a crucial difference. Saying just "Windows" does not lead to forgetting that it comes from Microsoft. Saying just "OSX" does not lead to forgetting that it comes from Apple. There is no reason to make an effort to avoid those shortenings. But saying just "Linux" instead of "GNU/Linux" misrepresents who developed it. That hampers what the GNU Project can achieve. So how about making the effort to avoid that particular shortening? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-06 4:46 ` Richard Stallman @ 2020-05-06 18:14 ` Nikita Mogilevsky 2020-05-07 2:48 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Nikita Mogilevsky @ 2020-05-06 18:14 UTC (permalink / raw) To: rms; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 2721 bytes --] Hello, folks. I'd like to throw my two cents in as a relatively new user. I've been using emacs for org-mode, coding, and irc on and off for a few years. The display interface: There is already a thread about emacs' square appearance, but many features of emacs would benefit from looking modernized. I agree with RMS that emacs will need some reimagined graphics library implementation to make that possible. Customize: This feature is conceptually simple but I found it almost hostile to interact with. Between, states and unintuitive input fields. I found it hard to understand what many functions and variables were meant to do or represent. The documentation for these values showed elisp, so I quickly transitioned away from customize. I don't know what I would improve here but I think that many new users are guided to this feature and I don't recommend them to play with it from personal experiences. How should we poll new users and their initial interactions with emacs? Would a setup wizard be helpful for common bindings like modern kill-yank equivalents? While the philosophy funnels towards abandoning mouse cursors and buttons what would be intuitive features for transitioning from that kind of behavior? On Tue, May 5, 2020, 21:47 Richard Stallman <rms@gnu.org> wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > It is just that sometimes, in everyday speech we don't always use > > official, full, long names for stuff > > Since "free software" is only two charactes longer than "open source", > how about making the effort to acquire that habit? It will help our > cause, and once you learn the habit, you will hardly mind those extra > characters. > > > say Linux even when we mean GNU/Linux, just as we don't always say > > Microsoft Windows but just Windows, or Apple OSX but just OSX etc. > > They are similar in being shortenings, but there is a crucial difference. > > Saying just "Windows" does not lead to forgetting that it comes from > Microsoft. > Saying just "OSX" does not lead to forgetting that it comes from Apple. > There is no reason to make an effort to avoid those shortenings. > > But saying just "Linux" instead of "GNU/Linux" misrepresents who > developed it. That hampers what the GNU Project can achieve. So how > about making the effort to avoid that particular shortening? > > -- > Dr Richard Stallman > Chief GNUisance of the GNU Project (https://gnu.org) > Founder, Free Software Foundation (https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) > > > > [-- Attachment #2: Type: text/html, Size: 3613 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-06 18:14 ` Nikita Mogilevsky @ 2020-05-07 2:48 ` Richard Stallman 0 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-05-07 2:48 UTC (permalink / raw) To: Nikita Mogilevsky; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Customize: > This feature is conceptually simple but I found it almost hostile to > interact with. Between, states and unintuitive input fields. I found it > hard to understand what many functions and variables were meant to do or > represent. The documentation for these values showed elisp, so I quickly > transitioned away from customize. I don't know what I would improve here > but I think that many new users are guided to this feature and I don't > recommend them to play with it from personal experiences. I agree that it has big problems. New users could tell us some aspects they notice as difficult. I don't think we can expect them to tell us what would make it better for them -- not in general. All I can suggest is for someone to try implementing a nicer interface and invite some new users to try it, saying which aspects they find less than ideal. Then repeat. Perhaps we should have separate customize code for graphical displays. I expect most new users use those. If it doesn't have to share code with the tty interface, it could be improved more. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 15:52 ` Arthur Miller 2020-05-02 15:59 ` Dmitry Gutov @ 2020-05-02 16:25 ` ndame 2020-05-02 19:04 ` Drew Adams 2020-05-03 3:42 ` Richard Stallman 3 siblings, 0 replies; 605+ messages in thread From: ndame @ 2020-05-02 16:25 UTC (permalink / raw) To: Arthur Miller; +Cc: Richard Stallman, emacs-devel@gnu.org > > You can still have Emacs traditional/classic/call-it-whatever > mode and other modes that emulate other text editors. Veterans said they don't like when emacs defaults change and they have to modify their configs to go back to old defaults. The solution discussed recently when if emacs is started without config then it offers modern settings to the user can be a good workaround. This may not work always, because I saw 1-2 line config files created by a given *nix distribution, so in that case the check would fail for new users. So in addition the other suggestion about a big, conspicuous button added to the splash screen should also be implemented. A button with text like "I'm new to emacs, give me friendly settings!" which when pressed sets up emacs to be similar to the usual standards. > It already exists > in Emacs, that is what evil & co does, there is CUA-mode etc. Emacs should have keybinding-themes like in other editors which offer various keybinding variants. E.g in IntelliJ: IntelliJ IDEA automatically selects a predefined keymap based on your environment. Make sure that it matches the OS you are using or select the one that matches shortcuts from another IDE or editor you are used to (for example, Eclipse or NetBeans). https://www.jetbrains.com/help/idea/configuring-keyboard-and-mouse-shortcuts.html The tricky thing is these key-themes should be reflected in the documentation too, so, for example, you couldn't have hardcoded keys in info, but rather info should be an active document, that is, when it talks about keys invoking commands then it should query the active bindings for the commands and show those to present a documentation which is consistent with the current keymap-theme. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: Making Emacs more friendly to newcomers 2020-05-02 15:52 ` Arthur Miller 2020-05-02 15:59 ` Dmitry Gutov 2020-05-02 16:25 ` ndame @ 2020-05-02 19:04 ` Drew Adams 2020-05-02 19:36 ` Arthur Miller 2020-05-03 3:42 ` Richard Stallman 3 siblings, 1 reply; 605+ messages in thread From: Drew Adams @ 2020-05-02 19:04 UTC (permalink / raw) To: Arthur Miller, Richard Stallman; +Cc: ndame, emacs-devel > Question is also do you want those people who are > unvilling to scratch the surface and deep-dive > into Emacs and spend time to learn it and configure > it, to use Emacs? In general, I don't care. "Those people" are really all kinds of people, with different reluctance to scratch the surface. You can do a lot with Emacs without scratching any surface. Do I want someone who doesn't scratch the surface at all to use Emacs? Sure, if they like. But if they don't like, that's OK too. Emacs may not be for everyone, but I've seen all kinds of people, including non-scratchers of all sorts, come to use it productively, and even come to love it. Are there others who will never take advantage of it or appreciate it? Sure. FWIW, I really do NOT think that anyone who's been involved with Emacs development has little care for newbies or for making Emacs flexible and easy to use. The opposite is the case - everyone I've ever see take an interest in Emacs cares very much about usability, discoverability, etc. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 19:04 ` Drew Adams @ 2020-05-02 19:36 ` Arthur Miller 2020-05-02 20:05 ` Drew Adams 0 siblings, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-05-02 19:36 UTC (permalink / raw) To: Drew Adams; +Cc: ndame, Richard Stallman, emacs-devel Drew Adams <drew.adams@oracle.com> writes: > FWIW, I really do NOT think that anyone who's > been involved with Emacs development has little > care for newbies or for making Emacs flexible and > easy to use. I do NOT think something like that either Drew, nor did I state that, just to be clear. Emacs is a prime example of flexibility, sure! I wrote, Emacs is super-adaptable. Ease of use can be debatable, what is easy for you and me does not necessary mean easy for somebody else. > The opposite is the case - everyone I've ever see > take an interest in Emacs cares very much about > usability, discoverability, etc. I didn't say Eamcs devs don't care about it either, I am sorry if I sound to you like that. Usability, discoverability and other user friendliness have many faces. What I tried to say, is that that Emacs might have used some kind of a facelift to reflect more of a time we live in. Yes, sure, there are examples were people have not scratched under the surface of Emacs, and lots of people use it with out-of-the-box settings. But it wasn't point that it is not possible, or that there are no users who does not do something with Emacs. The point is that many users are not finding Emacs that useful, and are probably not even trying it or switching after very short period to something else because of Emacs not conforming to some basic expectations they happened to have. Sure, one can never please everyone, that is just how life is. No matter how one make something or how good one try, there will always be someone who will want it differently, but nowdays, there are some basics that most software seems to follow, and some people seems to be lost of those are not met. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: Making Emacs more friendly to newcomers 2020-05-02 19:36 ` Arthur Miller @ 2020-05-02 20:05 ` Drew Adams 2020-05-02 21:16 ` Arthur Miller 0 siblings, 1 reply; 605+ messages in thread From: Drew Adams @ 2020-05-02 20:05 UTC (permalink / raw) To: Arthur Miller; +Cc: ndame, Richard Stallman, emacs-devel > > FWIW, I really do NOT think that anyone who's > > been involved with Emacs development has little > > care for newbies or for making Emacs flexible and > > easy to use. > > I do NOT think something like that either Drew, nor did > I state that, just to be clear. Emacs is a prime example of > flexibility, sure! I wrote, Emacs is super-adaptable. > Ease of use can be debatable, what is easy for you and me > does not necessary mean easy for somebody else. I wasn't saying anything about what you said, beyond responding to your question: > Question is also do you want those people who are > unvilling to scratch the surface and deep-dive > into Emacs and spend time to learn it and configure > it, to use Emacs? There's nothing personal in my answer to that question. It's a reasonable question. And I gave my honest answer to it - zero about you. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 20:05 ` Drew Adams @ 2020-05-02 21:16 ` Arthur Miller 2020-05-02 22:16 ` Drew Adams 0 siblings, 1 reply; 605+ messages in thread From: Arthur Miller @ 2020-05-02 21:16 UTC (permalink / raw) To: Drew Adams; +Cc: ndame, Richard Stallman, emacs-devel Drew Adams <drew.adams@oracle.com> writes: >> > FWIW, I really do NOT think that anyone who's >> > been involved with Emacs development has little >> > care for newbies or for making Emacs flexible and >> > easy to use. >> >> I do NOT think something like that either Drew, nor did >> I state that, just to be clear. Emacs is a prime example of >> flexibility, sure! I wrote, Emacs is super-adaptable. >> Ease of use can be debatable, what is easy for you and me >> does not necessary mean easy for somebody else. > > I wasn't saying anything about what you said, > beyond responding to your question: > > > Question is also do you want those people who are > > unvilling to scratch the surface and deep-dive > > into Emacs and spend time to learn it and configure > > it, to use Emacs? > > There's nothing personal in my answer to that > question. It's a reasonable question. And I > gave my honest answer to it - zero about you. Aha, OK, then I have slightly missunderstand what you ment. Sorry. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: Making Emacs more friendly to newcomers 2020-05-02 21:16 ` Arthur Miller @ 2020-05-02 22:16 ` Drew Adams 0 siblings, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-05-02 22:16 UTC (permalink / raw) To: Arthur Miller; +Cc: emacs-devel, Richard Stallman, ndame > Aha, OK, then I have slightly missunderstand what you ment. Sorry. No problem; thanks. There are lots of strong opinions & arguments being expressed. That's OK, as long as the opinions & arguments are about the opinions & arguments. ;-) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-02 15:52 ` Arthur Miller ` (2 preceding siblings ...) 2020-05-02 19:04 ` Drew Adams @ 2020-05-03 3:42 ` Richard Stallman 2020-05-05 13:58 ` Arthur Miller 3 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-05-03 3:42 UTC (permalink / raw) To: Arthur Miller; +Cc: ndame, 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. ]]] > > Emacs would be a more drastic UI change than the one Blender made, > Njah, they rewrote their GUI code almost completely. I think we are talking past each other. I don't use Blender, I don't know the field of animation, and I could be misunderstanding everything about it. But I think that in Blender, the command set is just an interface, whereas in Emacs, the commands are what it is. I think that animation is fundamentally more complex than text. Not just a little more complex, but enormously and deeply so. I expect Blender has a lot of very different and very complex things it can do to the animation being edited. So a Blender user would be thinking all the time about which complex and sophisticated operation perse wants to do next, and the commands to invoke the operation would be secondary. Whereas in Emacs, I think, we are focused on lots of commands to do more-or-less transparent things with text. But anyway, would > that necessary be a bad thing? You can develop another interface to Emacs. We could support it as an option, but it would not be Emacs. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-05-03 3:42 ` Richard Stallman @ 2020-05-05 13:58 ` Arthur Miller 0 siblings, 0 replies; 605+ messages in thread From: Arthur Miller @ 2020-05-05 13:58 UTC (permalink / raw) To: Richard Stallman; +Cc: ndame, 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. ]]] > > > > Emacs would be a more drastic UI change than the one Blender made, > > > Njah, they rewrote their GUI code almost completely. > > I think we are talking past each other. Easy happends on the Internet, but I don't think we are, at least not completely. > be misunderstanding everything about it. But I think that in Blender, > the command set is just an interface, whereas in Emacs, the commands > are what it is. > You can develop another interface to Emacs. We could support it as an option, > but it would not be Emacs. It probably depends on what you define as a command as well as what you see as Emacs identity. If you identify Emacs as a set of shortcuts and terminology then changig C-x C-f to C-o and cutting instead of'killing' stuff will probably introde on it's identity. I personally don't identify Emacs as a bunch of shortcuts. To me the identity lies more deeply under the surface, and the outer surface is just a handle to operate Emacs. The beauty and practicality of Emacs is that handle can be easily exchanged. > I think that animation is fundamentally more complex than text. Not > just a little more complex, but enormously and deeply so. I expect > Blender has a lot of very different and very complex things it can do > to the animation being edited. So a Blender user would be thinking > all the time about which complex and sophisticated operation perse > wants to do next, and the commands to invoke the operation would be > secondary. > > Whereas in Emacs, I think, we are focused on lots of commands to > do more-or-less transparent things with text. I am neither modeller nor animator myself, so I am not an expert either. I don't think though the complexity matter so much, at least not in context of this discussion. Regardless of what complex operations an animator would think of in a 3D application and what an Emacs user would think in an Editor, the priniple is same: one think in terms of what one would do to a content one works with. The commands to invoke those are secondary. When I write this email, and type a misstake, I think in terms of moving the cursor to correct place and deleting characters etc. Which shortcuts I use, or mouse movements, etc, is secondary. If I wrote this in browser instead of Emacs, I would involve different set of shortcuts but they would execute "same" set of commands. Even though those commands are named differently and implemented differently (different programming language, environment etc) I still think in same logical terms of moving cursor and replacing characters. So if newcomers open Emacs and want to do simple things like cut/copy/paste, open file etc, something that has very similar set of shortcuts in very many applications nowdays, they would just type a misstake in their content in Emacs, which probably leads to frustration. Then they will open fine manual and stat searching for cut and copy and paste and found nothing because we call it differen around here :-). OK, I am carricaturing, it is not really true at least not for those simple cases, but I hope it illustrates what I mean. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers @ 2020-04-21 15:27 ndame 2020-04-22 3:14 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-21 15:27 UTC (permalink / raw) To: Emacs developers > > We should prioritize existing users over hypothetical users that don't > > even exist yet. > And then, another 20 years pass, the current users get too old/change careers/retire/etc, and Emacs's userbase shrinks even more. True, that's why some solution is needed which makes emacs more accessible for new users who wants to try emacs. The solution mentioned earlier in the thread can work well: Emacs defaults stay Emacs-like to satisfy the veterans, but if a new user downloads emacs and starts it without a config file then an optional initial config is prominently offered which can ease the transition for new users, make emacs less alien, more similar to existing systems. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 15:27 ndame @ 2020-04-22 3:14 ` Richard Stallman 0 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:14 UTC (permalink / raw) To: ndame; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The solution mentioned earlier in the thread can work well: Emacs defaults > stay Emacs-like to satisfy the veterans, but if a new user downloads > emacs and starts it without a config file then an optional initial config is > prominently offered which can ease the transition for new users, make emacs > less alien, more similar to existing systems. I agree this could be a good thing if it is done well. It would be nice to make it easy for a user's configuration to select this alternate interface even after making a nontrivial .emacs file and specifying other parameters. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers
@ 2020-04-20 6:22 ndame
2020-04-20 10:08 ` Po Lu
0 siblings, 1 reply; 605+ messages in thread
From: ndame @ 2020-04-20 6:22 UTC (permalink / raw)
To: Emacs developers
[-- Attachment #1: Type: text/plain, Size: 1018 bytes --]
> It is not that they are lazy, just like people who use a machine to do their
> laundry instead of doing it by hand, they use tools that have been developed
> without the historical constraints of Emacs.
The majority of developers don't like to mold their editor so much, like
hardcore emacs users mold emacs.
They may change the colors, the fonts, maybe some keybindings, but
that's it. They want an editor which looks pleasant and does most
things out of the box without additional tinkering.
VSCode does this well. It provides a great out of box experience, most
things work out of the box, or just a plugin install away. In case of
LSP it may also download and install an LSP server, not just a client.
Most developers want an experience like this where everything works
with minimal tinkering.
I don't think it's realistic for Emacs to compete with that. There are
the legal issues, for example, which I assume prevent installing
Non-GNU binaries from the net and not all LSP servers have GNU license
AFAIK.
[-- Attachment #2: Type: text/html, Size: 1336 bytes --]
^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 6:22 ndame @ 2020-04-20 10:08 ` Po Lu 2020-04-21 1:50 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-20 10:08 UTC (permalink / raw) To: ndame; +Cc: Emacs developers ndame <ndame@protonmail.com> writes: > VSCode does this well. It provides a great out of box experience, most > things work out of the box, or just a plugin install away. In case of > LSP it may also download and install an LSP server, not just a client. IIRC, lsp-mode has good support for automagically downloading popular LSP servers. Perhaps that could be added to eglot? > I don't think it's realistic for Emacs to compete with that. There are > the legal issues, for example, which I assume prevent installing > Non-GNU binaries from the net and not all LSP servers have GNU license > AFAIK. There are legal issues with shipping code /with/ Emacs that has not been copyright assigned to the FSF. I don't think anyone would mind if a package shipped with Emacs automatically downloaded and installed a free language server. (and I haven't actually seen any non-free language servers.) If memory serves, someone proposed finding promising new packages and asking the authors about including it inside Emacs (or ELPA). I find that would also be a nice idea. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-20 10:08 ` Po Lu @ 2020-04-21 1:50 ` Richard Stallman 2020-04-21 2:09 ` Po Lu 2020-04-21 2:10 ` Dmitry Gutov 0 siblings, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-21 1:50 UTC (permalink / raw) To: Po Lu; +Cc: emacs-devel, ndame [[[ 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 don't think anyone would mind if a > package shipped with Emacs automatically downloaded and installed a > free language server. (and I haven't actually seen any non-free language > servers.) That approach to problem can have disadvantages. In general, for the kind of packages that we would like to include in Emacs, we should push for that kind of solution. We should not treat "autoloaded from elsewhere" as equivalent to "included". Where something is distributed DOES make a difference. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 1:50 ` Richard Stallman @ 2020-04-21 2:09 ` Po Lu 2020-04-21 8:44 ` Theodor Thornhill 2020-04-21 2:10 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-21 2:09 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel, ndame Richard Stallman <rms@gnu.org> writes: > That approach to problem can have disadvantages. > In general, for the kind of packages that we would > like to include in Emacs, we should push for that kind of solution. Language servers are external programs, not "packages" that can be bundled inside Emacs. I personally don't find anything wrong if the language server isn't non-free. > We should not treat "autoloaded from elsewhere" as equivalent to > "included". Where something is distributed DOES make a difference. I'm not disputing that, I'm just saying that I'm not sure we can include every popular language server with Emacs. A lot of competing editors however have a nice interface for installing language servers from a central source, and having that in Emacs would indeed be nice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 2:09 ` Po Lu @ 2020-04-21 8:44 ` Theodor Thornhill 2020-04-22 4:30 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Theodor Thornhill @ 2020-04-21 8:44 UTC (permalink / raw) To: Po Lu, Richard Stallman; +Cc: emacs-devel, ndame "Po Lu" <luangruo@yahoo.com> writes: > IIRC, lsp-mode has good support for automagically downloading popular > LSP servers. Perhaps that could be added to eglot? > I know that fsharp-mode already offers this integration with eglot. So it is absolutely possible. However, there are some small things I see which could be needed for this easier adoption for newcomers. I see some of this has been disussed earlier, but anyhow: 1: VsCode offers on the home screen an option to click on what languages you want to install support for. This offers a nice one-click shop for language packs. This, I guess is the same behaviour that Doom/Spacemacs offers with their layers etc. In Emacs we often have to install lsp-client, lsp-server, language mode, company, adjust company backends. It would be nice to have emacs install all of the above automatically when clicking on Python, JS and such. 2: One bigger problem here is that VsCode attracts JS/TS-devs, and tssnerver is really not lsp-compliant, or even an lsp-server at all. So to get that behaviour you need you have to install javascript-typescript-server OR typescript-language-server. The latter seems to be the best, but it is now unmaintained. Also, support for JSX, while improved a ton lately, is not there for TSX yet. To get proper support for TSX you must use web-mode, but this in turn does not offer keyword syntax highlighting for typescript. Also, "tide" is a separate lsp implementation dealing only with js/typescript 3: Eglot has some shortcomings compared to lsp-mode. In example multi server support, which is discussed here: https://github.com/joaotavora/eglot/issues/423 This is needed yet again for better support of js/ts. 4: Eglot chooses to "take over" emacs' default behaviour, and I believe this could be extended further to alleviate at least point number one. If eglot were capable of installing company, lsp-servers and file-extension-based language modes we are already there as for one-click functionality. It even has an eglot-stay-out-of option for configuration if more granular control is wanted. The JS/TS story however is not solvable quickly it seems: https://github.com/emacs-typescript/typescript.el/issues/4 ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 8:44 ` Theodor Thornhill @ 2020-04-22 4:30 ` Po Lu 2020-04-22 7:01 ` Theodor Thornhill ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Po Lu @ 2020-04-22 4:30 UTC (permalink / raw) To: Theodor Thornhill; +Cc: Richard Stallman, emacs-devel, ndame Theodor Thornhill <theothornhill@pm.me> writes: > I know that fsharp-mode already offers this integration with eglot. So > it is absolutely possible. However, there are some small things I see > which could be needed for this easier adoption for newcomers. I see some > of this has been disussed earlier, but anyhow: Nice. I was not aware of that before. > 1: VsCode offers on the home screen an option to click on what languages > you want to install support for. This offers a nice one-click shop for > language packs. This, I guess is the same behaviour that Doom/Spacemacs > offers with their layers etc. In Emacs we often have to install > lsp-client, lsp-server, language mode, company, adjust company backends. > It would be nice to have emacs install all of the above automatically > when clicking on Python, JS and such. Agreed. Stefan has a proof-of-concept package named `gnu-elpa' that does exactly this, and it would indeed be nice if Emacs had that. > 2: One bigger problem here is that VsCode attracts JS/TS-devs, and > tssnerver is really not lsp-compliant, or even an lsp-server at all. So > to get that behaviour you need you have to install > javascript-typescript-server OR typescript-language-server. > The latter seems to be the best, but it is now unmaintained. Also, support for JSX, > while improved a ton lately, is not there for TSX yet. To get proper > support for TSX you must use web-mode, but this in turn does not offer > keyword syntax highlighting for typescript. Also, "tide" is a separate > lsp implementation dealing only with js/typescript IIRC, Tide uses tsserver, and people say it works quite well. I also recall some interesting discussions related to multiple major modes in 2016, that came up with some interesting ideas. > 3: Eglot has some shortcomings compared to lsp-mode. In example multi > server support, which is discussed here: > https://github.com/joaotavora/eglot/issues/423 Yeah, but so far Eglot seems to be the only package that has copyright assigned to the FSF, which means discussion around Emacs and LSP should focus on improving Eglot. > 4: Eglot chooses to "take over" emacs' default behaviour, and I believe > this could be extended further to alleviate at least point number > one. If eglot were capable of installing company, lsp-servers and > file-extension-based language modes we are already there as for > one-click functionality. It even has an eglot-stay-out-of option for > configuration if more granular control is wanted. As for company, I think that's not something for Eglot to do, but automatically installing language servers is something we need. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 4:30 ` Po Lu @ 2020-04-22 7:01 ` Theodor Thornhill 2020-04-23 3:10 ` Po Lu 2020-04-22 16:45 ` Stefan Monnier 2020-04-24 2:34 ` Richard Stallman 2 siblings, 1 reply; 605+ messages in thread From: Theodor Thornhill @ 2020-04-22 7:01 UTC (permalink / raw) To: Po Lu; +Cc: emacs-devel, ndame "Po Lu" <luangruo@yahoo.com> writes: > > Agreed. Stefan has a proof-of-concept package named `gnu-elpa' that > does exactly this, and it would indeed be nice if Emacs had that. > Nice! > > IIRC, Tide uses tsserver, and people say it works quite well. I also > recall some interesting discussions related to multiple major modes in > 2016, that came up with some interesting ideas. > That's correct. Tide is nice. I just wanted to shed some light on some issues newcomers could have when considering emacs for web dev. Based on the assumption that web devs are the main user group coming from vs code. (Which I know is of course not quite true :) ) > > Yeah, but so far Eglot seems to be the only package that has copyright > assigned to the FSF, which means discussion around Emacs and LSP should > focus on improving Eglot. > Agreed! > > As for company, I think that's not something for Eglot to do, but > automatically installing language servers is something we need. Yeah. However, there is one thing with this approach. I took a look at the eglot-fsharp.el (part of fsharp-mode, which is GPL v3 btw). Downloading of the particular server seems to be almost no issue at all. Configuring servers, though, is an issue. Should it be eglots responsibility to do that, or individual language modes? Consider at some point in the future, when Eglot is as integrated with emacs as say, syntax highlighting or indenting - should *-mode.el configure its own lsp config? I'm just a little bit concerned this will cause maintainers of third party lang-modes not to really care. At least if lsp-mode already provides lsp-*.el preconfigured anyways. Theo ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 7:01 ` Theodor Thornhill @ 2020-04-23 3:10 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-23 3:10 UTC (permalink / raw) To: Theodor Thornhill; +Cc: emacs-devel, ndame Theodor Thornhill <theothornhill@pm.me> writes: > Yeah. However, there is one thing with this approach. I took a look at > the eglot-fsharp.el (part of fsharp-mode, which is GPL v3 > btw). Downloading of the particular server seems to be almost no issue > at all. Configuring servers, though, is an issue. Should it be eglots > responsibility to do that, or individual language modes? Consider at > some point in the future, when Eglot is as integrated with emacs as say, > syntax highlighting or indenting - should *-mode.el configure its own > lsp config? I'm just a little bit concerned this will cause maintainers > of third party lang-modes not to really care. At least if lsp-mode > already provides lsp-*.el preconfigured anyways. Yeah, perhaps we could have a centralized database of language servers and their configurations for Eglot? That would be nice. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 4:30 ` Po Lu 2020-04-22 7:01 ` Theodor Thornhill @ 2020-04-22 16:45 ` Stefan Monnier 2020-04-22 17:16 ` Dmitry Gutov ` (2 more replies) 2020-04-24 2:34 ` Richard Stallman 2 siblings, 3 replies; 605+ messages in thread From: Stefan Monnier @ 2020-04-22 16:45 UTC (permalink / raw) To: Po Lu; +Cc: ndame, Richard Stallman, Theodor Thornhill, emacs-devel >> 1: VsCode offers on the home screen an option to click on what languages >> you want to install support for. This offers a nice one-click shop for >> language packs. This, I guess is the same behaviour that Doom/Spacemacs >> offers with their layers etc. In Emacs we often have to install >> lsp-client, lsp-server, language mode, company, adjust company backends. >> It would be nice to have emacs install all of the above automatically >> when clicking on Python, JS and such. > > Agreed. Stefan has a proof-of-concept package named `gnu-elpa' that > does exactly this, and it would indeed be nice if Emacs had that. Hmm... no I don't have something that does exactly that. It goes a bit in that direction, and I hope it can grow further, but currently it doesn't do much more than prompt you to install GNU ELPA packages which you attempt to use their features, so it doesn't prompt users to install lsp servers or to enable company, ... Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 16:45 ` Stefan Monnier @ 2020-04-22 17:16 ` Dmitry Gutov 2020-04-23 3:11 ` Po Lu 2020-04-26 18:40 ` Yuan Fu 2 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 17:16 UTC (permalink / raw) To: Stefan Monnier, Po Lu Cc: emacs-devel, Richard Stallman, Theodor Thornhill, ndame On 22.04.2020 19:45, Stefan Monnier wrote: >>> 1: VsCode offers on the home screen an option to click on what languages >>> you want to install support for. This offers a nice one-click shop for >>> language packs. This, I guess is the same behaviour that Doom/Spacemacs >>> offers with their layers etc. In Emacs we often have to install >>> lsp-client, lsp-server, language mode, company, adjust company backends. >>> It would be nice to have emacs install all of the above automatically >>> when clicking on Python, JS and such. >> Agreed. Stefan has a proof-of-concept package named `gnu-elpa' that >> does exactly this, and it would indeed be nice if Emacs had that. > Hmm... no I don't have something that does exactly that. > It goes a bit in that direction, and I hope it can grow further, but > currently it doesn't do much more than prompt you to install GNU ELPA > packages which you attempt to use their features, so it doesn't prompt > users to install lsp servers or to enable company, ... I'm not sure it would be right to enable an opinionated behavior like that for all users anyway. After all, LSP servers are not the only company backends that people use, and there are other completion UIs than company. On the other hand, it would be great to have a short official guide that outlines the easiest way to get the "smarts" that people expect from code editors. One that's preferably closer to the Tutorial in accessibility, rather than the manual. Posting it on the official website would help as well. This way we would make a pledge, of sorts, that *this* approach is supposed to work for everybody. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 16:45 ` Stefan Monnier 2020-04-22 17:16 ` Dmitry Gutov @ 2020-04-23 3:11 ` Po Lu 2020-04-23 12:55 ` Stefan Monnier 2020-04-26 18:40 ` Yuan Fu 2 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-23 3:11 UTC (permalink / raw) To: Stefan Monnier; +Cc: ndame, Richard Stallman, Theodor Thornhill, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > Hmm... no I don't have something that does exactly that. > It goes a bit in that direction, and I hope it can grow further, but > currently it doesn't do much more than prompt you to install GNU ELPA > packages which you attempt to use their features, so it doesn't prompt > users to install lsp servers or to enable company, ... I was specifically talking about ELPA packages. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 3:11 ` Po Lu @ 2020-04-23 12:55 ` Stefan Monnier 2020-04-24 5:24 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-04-23 12:55 UTC (permalink / raw) To: Po Lu; +Cc: emacs-devel, Richard Stallman, Theodor Thornhill, ndame >> Hmm... no I don't have something that does exactly that. >> It goes a bit in that direction, and I hope it can grow further, but >> currently it doesn't do much more than prompt you to install GNU ELPA >> packages which you attempt to use their features, so it doesn't prompt >> users to install lsp servers or to enable company, ... > I was specifically talking about ELPA packages. Even for packages, e.g. `gnu-elpa` will suggest you install the `company` package when you call `company-mode` but it won't make a suggestion to enable `company-mode`. IOW, it tries to pretend that GNU ELPA packages are pre-installed, but not that they are pre-enabled. Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-23 12:55 ` Stefan Monnier @ 2020-04-24 5:24 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-24 5:24 UTC (permalink / raw) To: Stefan Monnier; +Cc: ndame, Richard Stallman, Theodor Thornhill, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > Even for packages, e.g. `gnu-elpa` will suggest you install the > `company` package when you call `company-mode` but it won't make > a suggestion to enable `company-mode`. Hmm, I suppose I misunderstood your message then. Thanks for clearing it up. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 16:45 ` Stefan Monnier 2020-04-22 17:16 ` Dmitry Gutov 2020-04-23 3:11 ` Po Lu @ 2020-04-26 18:40 ` Yuan Fu 2020-04-27 4:00 ` Stefan Monnier 2 siblings, 1 reply; 605+ messages in thread From: Yuan Fu @ 2020-04-26 18:40 UTC (permalink / raw) To: Stefan Monnier Cc: Po Lu, emacs-devel, Richard Stallman, Theodor Thornhill, ndame > On Apr 22, 2020, at 12:45 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > >>> 1: VsCode offers on the home screen an option to click on what languages >>> you want to install support for. This offers a nice one-click shop for >>> language packs. This, I guess is the same behaviour that Doom/Spacemacs >>> offers with their layers etc. In Emacs we often have to install >>> lsp-client, lsp-server, language mode, company, adjust company backends. >>> It would be nice to have emacs install all of the above automatically >>> when clicking on Python, JS and such. >> >> Agreed. Stefan has a proof-of-concept package named `gnu-elpa' that >> does exactly this, and it would indeed be nice if Emacs had that. > > Hmm... no I don't have something that does exactly that. > It goes a bit in that direction, and I hope it can grow further, but > currently it doesn't do much more than prompt you to install GNU ELPA > packages which you attempt to use their features, so it doesn't prompt > users to install lsp servers or to enable company, ... > > > Stefan > BTW, where can I find this package? Yuan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-26 18:40 ` Yuan Fu @ 2020-04-27 4:00 ` Stefan Monnier 0 siblings, 0 replies; 605+ messages in thread From: Stefan Monnier @ 2020-04-27 4:00 UTC (permalink / raw) To: Yuan Fu; +Cc: Po Lu, emacs-devel, Richard Stallman, Theodor Thornhill, ndame > BTW, where can I find this package? I now just pushed the code I have to elpa.git. [ It's still at "Version: 0", so it isn't yet available as a GNU ELPA package. tho. ] Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 4:30 ` Po Lu 2020-04-22 7:01 ` Theodor Thornhill 2020-04-22 16:45 ` Stefan Monnier @ 2020-04-24 2:34 ` Richard Stallman 2020-04-24 2:39 ` 조성빈 2 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-24 2:34 UTC (permalink / raw) To: Po Lu; +Cc: ndame, theothornhill, 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. ]]] > IIRC, Tide uses tsserver, and people say it works quite well. What kind of thing is tsserver? The word "server" has multiple meanings; in what sense is tsserver a "server"? Would it run on the same machine you are editing on, or another machine? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-24 2:34 ` Richard Stallman @ 2020-04-24 2:39 ` 조성빈 2020-04-24 2:42 ` 조성빈 ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: 조성빈 @ 2020-04-24 2:39 UTC (permalink / raw) To: Richard Stallman; +Cc: Po Lu, ndame, theothornhill, emacs-devel Richard Stallman <rms@gnu.org> 작성: > [[[ 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. ]]] > >> IIRC, Tide uses tsserver, and people say it works quite well. > > What kind of thing is tsserver? The word "server" has multiple meanings; > in what sense is tsserver a "server"? It’s a LSP server that responds requests from editors with information about types of identifiers, code completion, actions, etc... > Would it run on the same machine you are editing on, or another machine? It usually runs on the same machine that the codebase exists. > -- > Dr Richard Stallman > Chief GNUisance of the GNU Project (https://gnu.org) > Founder, Free Software Foundation (https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-24 2:39 ` 조성빈 @ 2020-04-24 2:42 ` 조성빈 2020-04-24 7:33 ` Theodor Thornhill 2020-04-25 3:30 ` Richard Stallman 2 siblings, 0 replies; 605+ messages in thread From: 조성빈 @ 2020-04-24 2:42 UTC (permalink / raw) To: Richard Stallman; +Cc: Po Lu, ndame, theothornhill, emacs-devel 조성빈 <pcr910303@icloud.com> 작성: > Richard Stallman <rms@gnu.org> 작성: > >> [[[ 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. ]]] >> >>> IIRC, Tide uses tsserver, and people say it works quite well. >> >> What kind of thing is tsserver? The word "server" has multiple meanings; >> in what sense is tsserver a "server"? > > It’s a LSP server that responds requests from editors with information > about > types of identifiers, code completion, actions, etc... Oops, forgot to mention the language. It’s a TypeScript[0] LSP server. [0] https://www.typescriptlang.org >> Would it run on the same machine you are editing on, or another machine? > > It usually runs on the same machine that the codebase exists. > >> -- >> Dr Richard Stallman >> Chief GNUisance of the GNU Project (https://gnu.org) >> Founder, Free Software Foundation (https://fsf.org) >> Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-24 2:39 ` 조성빈 2020-04-24 2:42 ` 조성빈 @ 2020-04-24 7:33 ` Theodor Thornhill 2020-04-25 3:30 ` Richard Stallman 2 siblings, 0 replies; 605+ messages in thread From: Theodor Thornhill @ 2020-04-24 7:33 UTC (permalink / raw) To: 조성빈, Richard Stallman; +Cc: Po Lu, ndame, emacs-devel 조성빈 <pcr910303@icloud.com> writes: > Richard Stallman <rms@gnu.org> 작성: > >> What kind of thing is tsserver? The word "server" has multiple meanings; >> in what sense is tsserver a "server"? > > It’s a LSP server that responds requests from editors with information about > types of identifiers, code completion, actions, etc... > Actually, tsserver is not an lsp-server, which is currently adding to the confusion: https://github.com/Microsoft/TypeScript/issues/11274 This is kind of a problem, since VsCode implements its own proprietary server for JavaScript/TypeScript, and also functions as a normal lsp-compliant editor. Assuming most people use VsCode for web-dev there is actually a huge user base which is not actively using lsp. This complicates lsp-development for other editors like emacs and vim. We have to use either a wrapper server that wraps tsserver to be lsp-compliant (https://github.com/theia-ide/typescript-language-server) or create our own tsserver compliant implementation. The latter is what tide has done as far as I can tell. Right now the typescript-language-server I linked to is unmaintained, and was the best implementation around. This affects emacs, since it is not updated to TS 3.8 yet, and maybe never will. >> Would it run on the same machine you are editing on, or another machine? > > It usually runs on the same machine that the codebase exists. > Yes Theodor Thornhill ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-24 2:39 ` 조성빈 2020-04-24 2:42 ` 조성빈 2020-04-24 7:33 ` Theodor Thornhill @ 2020-04-25 3:30 ` Richard Stallman 2020-04-25 3:32 ` 조성빈 2 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-25 3:30 UTC (permalink / raw) To: ì¡°ì±ë¹ Cc: luangruo, emacs-devel, theothornhill, ndame [[[ 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. ]]] > > What kind of thing is tsserver? The word "server" has multiple meanings; > > in what sense is tsserver a "server"? > > Would it run on the same machine you are editing on, or another machine? > It usually runs on the same machine that the codebase exists. Other than in the case where that machine exists for the same project that you're contributing to, this would be SaaSS. See https://gnu.org/philosophy/who-does-that-server-really-serve.html for an explanation of SaaSS and why we should not tolerate it. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-25 3:30 ` Richard Stallman @ 2020-04-25 3:32 ` 조성빈 2020-04-26 3:19 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: 조성빈 @ 2020-04-25 3:32 UTC (permalink / raw) To: Richard Stallman; +Cc: Po Lu, ndame, theothornhill, emacs-devel Richard Stallman <rms@gnu.org> 작성: > [[[ 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. ]]] > >>> What kind of thing is tsserver? The word "server" has multiple meanings; >>> in what sense is tsserver a "server"? > >>> Would it run on the same machine you are editing on, or another machine? > >> It usually runs on the same machine that the codebase exists. > > Other than in the case where that machine exists for the same project > that you're contributing to, this would be SaaSS. The codebase is usually (almost always) on local. > See https://gnu.org/philosophy/who-does-that-server-really-serve.html > for an explanation of SaaSS and why we should not tolerate it. > > > -- > Dr Richard Stallman > Chief GNUisance of the GNU Project (https://gnu.org) > Founder, Free Software Foundation (https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-25 3:32 ` 조성빈 @ 2020-04-26 3:19 ` Richard Stallman 2020-04-26 14:32 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-26 3:19 UTC (permalink / raw) To: ì¡°ì±ë¹ Cc: luangruo, emacs-devel, theothornhill, ndame [[[ 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. ]]] > > Other than in the case where that machine exists for the same project > > that you're contributing to, this would be SaaSS. > The codebase is usually (almost always) on local. In other words, the language server is almost always installed and running on your own computer. At the basic moral level, that is a good thing. It means you avoid SaaSS. It is the right way to do things. However, if the language server is based on LLVM, by suggesting people install it we would be working towards the replacement of GNU packages with a non-copylefted competitor. That isn't immoral, but it is self-defeating. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-26 3:19 ` Richard Stallman @ 2020-04-26 14:32 ` Dmitry Gutov 2020-04-26 15:14 ` tomas 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-26 14:32 UTC (permalink / raw) To: rms, 조성빈 Cc: luangruo, ndame, theothornhill, emacs-devel On 26.04.2020 06:19, Richard Stallman wrote: > However, if the language server is based on LLVM, by suggesting > people install it we would be working towards the replacement > of GNU packages with a non-copylefted competitor. > > That isn't immoral, but it is self-defeating. tsserver is written in JavaScript and runs on Node. Node is released under Apache license, but there are no GNU alternatives for it. I don't think we have any language servers in GNU either, do we? But when and if an alternative based on GCC appears, we can easily start recommending it instead. LSP is an open protocol. Until then, alas, AFAIK all such language tooling for editors/IDE/etc out there is based on LLVM or some part of it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-26 14:32 ` Dmitry Gutov @ 2020-04-26 15:14 ` tomas 2020-04-26 16:32 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: tomas @ 2020-04-26 15:14 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 967 bytes --] On Sun, Apr 26, 2020 at 05:32:21PM +0300, Dmitry Gutov wrote: > On 26.04.2020 06:19, Richard Stallman wrote: > > >However, if the language server is based on LLVM, by suggesting > >people install it we would be working towards the replacement > >of GNU packages with a non-copylefted competitor. > > > >That isn't immoral, but it is self-defeating. > > tsserver is written in JavaScript and runs on Node. Node is released > under Apache license, but there are no GNU alternatives for it. > > I don't think we have any language servers in GNU either, do we? But > when and if an alternative based on GCC appears, we can easily start > recommending it instead. LSP is an open protocol. > > Until then, alas, AFAIK all such language tooling for > editors/IDE/etc out there is based on LLVM or some part of it. There seems to be something in the works for gcc: https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg01448.html Cheers -- t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-26 15:14 ` tomas @ 2020-04-26 16:32 ` Dmitry Gutov 2020-04-26 16:36 ` tomas 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-26 16:32 UTC (permalink / raw) To: tomas, emacs-devel On 26.04.2020 18:14, tomas@tuxteam.de wrote: > There seems to be something in the works for gcc: > > https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg01448.html I would say good news, but this was 3 years ago. :-( ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-26 16:32 ` Dmitry Gutov @ 2020-04-26 16:36 ` tomas 0 siblings, 0 replies; 605+ messages in thread From: tomas @ 2020-04-26 16:36 UTC (permalink / raw) To: Dmitry Gutov; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 401 bytes --] On Sun, Apr 26, 2020 at 07:32:42PM +0300, Dmitry Gutov wrote: > On 26.04.2020 18:14, tomas@tuxteam.de wrote: > >There seems to be something in the works for gcc: > > > > https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg01448.html > > I would say good news, but this was 3 years ago. :-( Yes; I hoped Someone(TM) around here might have a fast path to David Malcolm... Cheers -- t [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 1:50 ` Richard Stallman 2020-04-21 2:09 ` Po Lu @ 2020-04-21 2:10 ` Dmitry Gutov 2020-04-21 3:45 ` Stefan Monnier 2020-04-22 3:19 ` Richard Stallman 1 sibling, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-21 2:10 UTC (permalink / raw) To: rms, Po Lu; +Cc: ndame, emacs-devel On 21.04.2020 04:50, Richard Stallman wrote: > In general, for the kind of packages that we would > like to include in Emacs, we should push for that kind of solution. I'm not aware of any language server project where its authors would be amenable to including it in Emacs (or even just assigning the copyright to FSF). Others are welcome to show me wrong, of course. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 2:10 ` Dmitry Gutov @ 2020-04-21 3:45 ` Stefan Monnier 2020-04-21 4:44 ` chad 2020-04-22 3:19 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-04-21 3:45 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Po Lu, emacs-devel, rms, ndame >> In general, for the kind of packages that we would >> like to include in Emacs, we should push for that kind of solution. > I'm not aware of any language server project where its authors would be > amenable to including it in Emacs (or even just assigning the copyright > to FSF). Including them with Emacs would be weird. Kind of like including `diff` with Emacs. Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 3:45 ` Stefan Monnier @ 2020-04-21 4:44 ` chad 0 siblings, 0 replies; 605+ messages in thread From: chad @ 2020-04-21 4:44 UTC (permalink / raw) To: Stefan Monnier Cc: Po Lu, ndame, EMACS development team, Richard Stallman, Dmitry Gutov [-- Attachment #1: Type: text/plain, Size: 1309 bytes --] To be clear, I think the goal would be to have a close-to-turnkey system for emacs that added emacs' side of the LSP equation, that would integrate with whatever language package the user wanted (compiler, interpreter, etc.) to use. Roughly speaking, something like emacs-lsp ( https://github.com/emacs-lsp/lsp-mode), somewhat integrated into emacs. Then a hypothetical user that wanted to program in, say, OCaml, would install either ocaml-language-server or ocaml-lsp-server, and emacs-lsp would pick it up. In some cases, emacs would probably want "links" (instructions, documentation, etc.) for getting the common language server support, but usually these are bundled the toolchain for the language itself, outside of Emacs. For example, the Go language server support is installed with "go get". HTH, ~Chad On Mon, Apr 20, 2020 at 8:45 PM Stefan Monnier <monnier@iro.umontreal.ca> wrote: > >> In general, for the kind of packages that we would > >> like to include in Emacs, we should push for that kind of solution. > > I'm not aware of any language server project where its authors would be > > amenable to including it in Emacs (or even just assigning the copyright > > to FSF). > > Including them with Emacs would be weird. Kind of like including `diff` > with Emacs. > > > Stefan > > > [-- Attachment #2: Type: text/html, Size: 1809 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-21 2:10 ` Dmitry Gutov 2020-04-21 3:45 ` Stefan Monnier @ 2020-04-22 3:19 ` Richard Stallman 2020-04-22 3:31 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:19 UTC (permalink / raw) To: Dmitry Gutov; +Cc: luangruo, ndame, 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. ]]] > > In general, for the kind of packages that we would > > like to include in Emacs, we should push for that kind of solution. > I'm not aware of any language server project where its authors would be > amenable to including it in Emacs (or even just assigning the copyright > to FSF). You may be right about that. Also, as someone else pointed out, it might be nonmodular to include language servers in Emacs at all. However, that makes me wonder what this scenario really consists of: > I don't think anyone would mind if a > package shipped with Emacs automatically downloaded and installed a > free language server. (and I haven't actually seen any non-free language > servers.) What is "a package shipped with Emacs", if it does not mean "a part of Emacs"? Is there such a thing? What does "shipped with" mean here? Anyway, the general idea of package installation in the GNU/Linux distros I know about is that the _user_ decides when to install a package. One package (such as Emacs) has no business trying to install another package. So unless said language server is a part of Emacs (which might be undesirable), nothing "shippped with Emacs" should install it. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Making Emacs more friendly to newcomers 2020-04-22 3:19 ` Richard Stallman @ 2020-04-22 3:31 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 3:31 UTC (permalink / raw) To: rms; +Cc: luangruo, ndame, emacs-devel On 22.04.2020 06:19, Richard Stallman wrote: > What is "a package shipped with Emacs", if it does not mean "a part of > Emacs"? Is there such a thing? What does "shipped with" mean here? eglot is currently distributed via GNU ELPA, so it itself is one 'M-x package-install' away. > Anyway, the general idea of package installation in the GNU/Linux > distros I know about is that the_user_ decides when to install a > package. One package (such as Emacs) has no business trying to > install another package. I think this conundrum is easily solved with a yes/no prompt. ^ permalink raw reply [flat|nested] 605+ messages in thread
* "Why is emacs so square?" @ 2020-04-14 15:06 ndame 2020-04-15 3:00 ` Richard Stallman ` (3 more replies) 0 siblings, 4 replies; 605+ messages in thread From: ndame @ 2020-04-14 15:06 UTC (permalink / raw) To: emacs-devel@gnu.org [-- Attachment #1: Type: text/plain, Size: 407 bytes --] A user on reddit asked this once and he was not wrong, because emacs does seem blocky compared to modern designs, which often employs rounded corners, e.g for buttons: https://www.webdesignerwall.com/wp-content/uploads/2010/04/button-preview.jpg It could improve the square apperance if, for example, emacs provided some text properties to specify rounded corners with custom radius for background colors. [-- Attachment #2: Type: text/html, Size: 1601 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-14 15:06 "Why is emacs so square?" ndame @ 2020-04-15 3:00 ` Richard Stallman 2020-04-15 4:33 ` ndame ` (2 more replies) 2020-04-15 3:35 ` Bob Newell ` (2 subsequent siblings) 3 siblings, 3 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-15 3:00 UTC (permalink / raw) To: ndame; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Perhaps we should implement a mode that puts cosmetics on Emacs so it will appeal to those who judge by the surface of things. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 3:00 ` Richard Stallman @ 2020-04-15 4:33 ` ndame 2020-04-15 4:39 ` Stefan Kangas 2020-04-15 6:27 ` Eli Zaretskii 2 siblings, 0 replies; 605+ messages in thread From: ndame @ 2020-04-15 4:33 UTC (permalink / raw) To: rms@gnu.org; +Cc: emacs-devel@gnu.org > > Perhaps we should implement a mode that puts cosmetics on Emacs > so it will appeal to those who judge by the surface of things. > Visual impression matters. Often when I showed Emacs to people they commented on how dated it looks. If Emacs' appearance can be improved by small things like providing support for rounded corners then it can be more appealing for people who care about visual appearance. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 3:00 ` Richard Stallman 2020-04-15 4:33 ` ndame @ 2020-04-15 4:39 ` Stefan Kangas 2020-04-15 4:54 ` ndame ` (4 more replies) 2020-04-15 6:27 ` Eli Zaretskii 2 siblings, 5 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-15 4:39 UTC (permalink / raw) To: Richard Stallman; +Cc: Emacs developers, ndame Richard Stallman <rms@gnu.org> writes: > Perhaps we should implement a mode that puts cosmetics on Emacs Is there any reason not to improve the default look? > so it will appeal to those who judge by the surface of things. I think it's unfortunate if we assume that this is all bells and whistles. Graphical design elements can also improve usability. I also don't know that it's helpful to assume that the rest of the world will take the enlightened stance. For example, I've always assumed that many people use Sublime Text not due to any serious feature comparison with Emacs, but because they like its "sleek look". I don't suggest that we should imitate proprietary junk editor <foo>, but we should realize that these things are not wholly unimportant. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 4:39 ` Stefan Kangas @ 2020-04-15 4:54 ` ndame 2020-04-15 4:56 ` Emanuel Berg via Emacs development discussions. ` (3 subsequent siblings) 4 siblings, 0 replies; 605+ messages in thread From: ndame @ 2020-04-15 4:54 UTC (permalink / raw) To: Stefan Kangas; +Cc: Richard Stallman, Emacs developers > Richard Stallman rms@gnu.org writes: > > > Perhaps we should implement a mode that puts cosmetics on Emacs > > Is there any reason not to improve the default look? When people say to me Emacs looks dated I often think the FSF should look for a graphics designer to improve the default appearance of Emacs. Perhaps there are some who are sympatethic to the free software cause and they would do it even for free. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 4:39 ` Stefan Kangas 2020-04-15 4:54 ` ndame @ 2020-04-15 4:56 ` Emanuel Berg via Emacs development discussions. 2020-04-16 2:30 ` Richard Stallman ` (2 subsequent siblings) 4 siblings, 0 replies; 605+ messages in thread From: Emanuel Berg via Emacs development discussions. @ 2020-04-15 4:56 UTC (permalink / raw) To: emacs-devel Stefan Kangas wrote: > I also don't know that it's helpful to assume that the > rest of the world will take the enlightened stance. > For example, I've always assumed that many people use > Sublime Text not due to any serious feature comparison > with Emacs, but because they like its "sleek look". > I don't suggest that we should imitate proprietary > junk editor <foo>, but we should realize that these > things are not wholly unimportant. Tour de France/Giro d'Italia road race bikes look stylish AND are fast. UCI track cycling bikes look cool and futuristic AND are fast. etc etc -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 4:39 ` Stefan Kangas 2020-04-15 4:54 ` ndame 2020-04-15 4:56 ` Emanuel Berg via Emacs development discussions. @ 2020-04-16 2:30 ` Richard Stallman 2020-04-16 5:28 ` Eli Zaretskii 2020-04-16 5:02 ` Jorge Javier Araya Navarro 2020-04-16 21:31 ` Juri Linkov 4 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-16 2:30 UTC (permalink / raw) To: Stefan Kangas; +Cc: emacs-devel, ndame [[[ 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. ]]] > Is there any reason not to improve the default look? 1. It will take work. 2. The code to interface Emacs to X-based GUIs needs rewriting by an expert, and has needed it for decades. Until it gets that rewrite, changes in it are likely to break something. 3. We may not have any developers who are experts on that area and capable of doing any changes well. > Graphical design elements can also improve usability. I won't argue with that -- but I have a feeling that the changes that would help are deeper issues than the shape of corners. > For example, I've always > assumed that many people use Sublime Text not due to any serious > feature comparison with Emacs, but because they like its "sleek look". Perhaps that is true. Or perhaps its graphical interface is substantively more natural than that of Emacs. In Emacs, our graphical interface is constrained by historical compatibility and making it more natural is difficult. Another question about them: are they among the segment of users for whom the investment of learning Emacs would pay off? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 2:30 ` Richard Stallman @ 2020-04-16 5:28 ` Eli Zaretskii 2020-04-16 16:27 ` Clément Pit-Claudel ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 5:28 UTC (permalink / raw) To: rms; +Cc: ndame, stefan, emacs-devel > From: Richard Stallman <rms@gnu.org> > Date: Wed, 15 Apr 2020 22:30:20 -0400 > Cc: emacs-devel@gnu.org, ndame@protonmail.com > > Another question about them: are they among the segment of users for > whom the investment of learning Emacs would pay off? I don't really know the answer, but I'd like to remind all of us that there's a lot of "propaganda" out there telling everyone to turn off GUI features such as the menu bar and the tool bar. The network is full of personal init files that "proudly" do that, and forums like Reddit are full of such advice to every newbie who asks about configuring their Emacs. It is hard to be enthusiastic about making these features more modern when the community seems to be divided on whether they should at all be present. IMO, we should first get our act together and decide whether these features are important, and then speak up according to those decisions when we see advice to the contrary. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 5:28 ` Eli Zaretskii @ 2020-04-16 16:27 ` Clément Pit-Claudel 2020-04-16 18:26 ` Marcin Borkowski 2020-04-16 17:32 ` Bob Newell 2020-05-14 2:32 ` Stefan Kangas 2 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-16 16:27 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1849 bytes --] On 16/04/2020 01.28, Eli Zaretskii wrote: >> From: Richard Stallman <rms@gnu.org> >> Date: Wed, 15 Apr 2020 22:30:20 -0400 >> Cc: emacs-devel@gnu.org, ndame@protonmail.com >> >> Another question about them: are they among the segment of users for >> whom the investment of learning Emacs would pay off? > > I don't really know the answer, but I'd like to remind all of us that > there's a lot of "propaganda" out there telling everyone to turn off > GUI features such as the menu bar and the tool bar. The network is > full of personal init files that "proudly" do that, and forums like > Reddit are full of such advice to every newbie who asks about > configuring their Emacs. It is hard to be enthusiastic about making > these features more modern when the community seems to be divided on > whether they should at all be present. IMO, we should first get our > act together and decide whether these features are important, and then > speak up according to those decisions when we see advice to the > contrary. That's a great point. My personal config has the tool bar turned off. Part of the reason is that with my desktop configuration (using a dark theme) the icons are unreadable (dark grey on a dark background, see attached screenshot), and part of the reason is that I didn't like the look of the icons in some of the (few) modes that use the tool-bar (e.g. in message-mode). (Also, I seem to have a bug with the tool-bar: when I hover over the first two buttons it doesn't show a tooltip, but if I click on of them and close the file-selection dialog before hovering over the button again I do see a tooltip). On the other hand, I have written some modes that override the user configuration and re-enable to tool-bar with mode-specific functions, and I haven't received complaints (see e.g. the attached screenshots). Clément. [-- Attachment #2: emacs-Q.png --] [-- Type: image/png, Size: 24493 bytes --] [-- Attachment #3: fstar-toolbar.png --] [-- Type: image/png, Size: 18273 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 16:27 ` Clément Pit-Claudel @ 2020-04-16 18:26 ` Marcin Borkowski 2020-04-16 18:40 ` Eli Zaretskii 2020-04-16 18:54 ` Drew Adams 0 siblings, 2 replies; 605+ messages in thread From: Marcin Borkowski @ 2020-04-16 18:26 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel On 2020-04-16, at 18:27, Clément Pit-Claudel <cpitclaudel@gmail.com> wrote: > My personal config has the tool bar turned off. Same here, though I would not force that to new users. (Recommend, perhaps.) Interestingly, I am almost sure that the toolbar was turned off by default when I started using Emacs (v18 or 19, I don't remember). IIRC, when after some upgrade the toolbar appeared, I turned it off at once. Does that seem possible or is my memory wrong? OTOH, I learned Emacs by first using the tutorial and then reading most of the manual, so I probably have a rather atypical history wrt that. Best, -- Marcin Borkowski http://mbork.pl ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 18:26 ` Marcin Borkowski @ 2020-04-16 18:40 ` Eli Zaretskii 2020-04-16 18:54 ` Drew Adams 1 sibling, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 18:40 UTC (permalink / raw) To: Marcin Borkowski; +Cc: cpitclaudel, emacs-devel > From: Marcin Borkowski <mbork@mbork.pl> > Date: Thu, 16 Apr 2020 20:26:54 +0200 > Cc: emacs-devel@gnu.org > > Interestingly, I am almost sure that the toolbar was turned off by > default when I started using Emacs (v18 or 19, I don't remember). Emacs didn't have a tool bar before Emacs 21.1. ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Why is emacs so square?" 2020-04-16 18:26 ` Marcin Borkowski 2020-04-16 18:40 ` Eli Zaretskii @ 2020-04-16 18:54 ` Drew Adams 1 sibling, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-04-16 18:54 UTC (permalink / raw) To: Marcin Borkowski, Clément Pit-Claudel; +Cc: emacs-devel > Interestingly, I am almost sure that the toolbar was turned off by > default when I started using Emacs (v18 or 19, I don't remember). There was no tool-bar support till Emacs 21. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 5:28 ` Eli Zaretskii 2020-04-16 16:27 ` Clément Pit-Claudel @ 2020-04-16 17:32 ` Bob Newell 2020-05-14 2:32 ` Stefan Kangas 2 siblings, 0 replies; 605+ messages in thread From: Bob Newell @ 2020-04-16 17:32 UTC (permalink / raw) To: emacs-devel > I don't really know the answer, but I'd like to remind all of us that > there's a lot of "propaganda" out there telling everyone to turn off > GUI features such as the menu bar and the tool bar. The network is > full of personal init files that "proudly" do that, and forums like > Reddit are full of such advice to every newbie who asks about > configuring their Emacs. Well, I certainly turn all that stuff off, but I've been using Emacs for decades, and I'm comfortable enough now (and I also use Helm). In earlier days I definitely made good use of the toolbar and menus. They were not especially pretty (that didn't concern me), but they helped me learn much more quickly. I would, however, /never/ recommend to a newbie to turn off the menu bar etc. You should only get to Emacs "minimalism" (a) after a long enough time to be quite comfortable and (b) if it suits your style of work. -- Bob Newell Honolulu, Hawai`i Via Linux/Emacs/Gnus/BBDB. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 5:28 ` Eli Zaretskii 2020-04-16 16:27 ` Clément Pit-Claudel 2020-04-16 17:32 ` Bob Newell @ 2020-05-14 2:32 ` Stefan Kangas 2020-05-14 15:53 ` Drew Adams 2 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-05-14 2:32 UTC (permalink / raw) To: Eli Zaretskii, rms; +Cc: emacs-devel, ndame Eli Zaretskii <eliz@gnu.org> writes: > IMO, we should first get our > act together and decide whether these features are important, and then > speak up according to those decisions when we see advice to the > contrary. FWIW, I wrote up a bug report to the `better-defaults' package asking to please keep them enabled: https://github.com/technomancy/better-defaults/issues/37 I believe this blanket advice to disable the menu and tool bar should be similarly discouraged whenever and wherever we can. (EmacsWiki could be a good place to start, and maybe some of the other "starter packs".) Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* RE: "Why is emacs so square?" 2020-05-14 2:32 ` Stefan Kangas @ 2020-05-14 15:53 ` Drew Adams 0 siblings, 0 replies; 605+ messages in thread From: Drew Adams @ 2020-05-14 15:53 UTC (permalink / raw) To: Stefan Kangas, Eli Zaretskii, rms; +Cc: ndame, emacs-devel > FWIW, I wrote up a bug report to the `better-defaults' package asking > to please keep [menu-bar and toolbar) enabled: > > https://github.com/technomancy/better-defaults/issues/37 > > I believe this blanket advice to disable the menu and tool-bar should > be similarly discouraged whenever and wherever we can. (EmacsWiki could > be a good place to start, and maybe some of the other "starter packs".) I agree. But I agree much more strongly wrt menu-bar. Wrt the Emacs tool-bar, I think (so far) it's mainly useful for one-off actions (e.g. click a button to do something - no subsequent tool-bar interaction). That is, I'm not sure how often a tool-bar user clicks tool-bar buttons/icons. I kinda doubt that someone does click-click-click on icons. I think it's more likely that a user uses a particular icon fairly often, as a shortcut to using a menu, than it is that a user interacts frequently with multiple icons on the tool-bar. (I could be wrong.) As a result of this assumption, I provide library `tool-bar+.el', which lets you hide the tool-bar, replacing it by just one menu-bar pseudo-menu, `Buttons'. Clicking that pops up the tool-bar for the duration of one interaction. This is available using minor mode `tool-bar-pop-up-mode'. https://www.emacswiki.org/emacs/ToolBar#ToolBarPlus (The same library offers an alternative, minor mode `tool-bar-here-mode', which is the same as the global `tool-bar-mode' except that it affects only the current frame -- it saves screen real estate on frames other than those with a tool-bar.) I think it would make sense for Emacs default behavior to be similar to that you get by turning on `tool-bar-pop-up-mode'. Users would soon enough discover `Buttons'. One useful thing that could be added and might be useful, which I haven't done, would be to provide a button in every tool-bar, which toggles the mode, e.g., turns it off, so the tool-bar is shown by default, or turns it on, so it is hidden by default and replaced by pseudo-menu `Buttons'. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 4:39 ` Stefan Kangas ` (2 preceding siblings ...) 2020-04-16 2:30 ` Richard Stallman @ 2020-04-16 5:02 ` Jorge Javier Araya Navarro 2020-04-16 21:31 ` Juri Linkov 4 siblings, 0 replies; 605+ messages in thread From: Jorge Javier Araya Navarro @ 2020-04-16 5:02 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1163 bytes --] El mié, 15-04-2020 a las 06:39 +0200, Stefan Kangas escribió: > Richard Stallman <rms@gnu.org> writes: > > > Perhaps we should implement a mode that puts cosmetics on Emacs > > Is there any reason not to improve the default look? > > > so it will appeal to those who judge by the surface of things. > > I think it's unfortunate if we assume that this is all bells and > whistles. Graphical design elements can also improve usability. > > I also don't know that it's helpful to assume that the rest of the > world will take the enlightened stance. For example, I've always > assumed that many people use Sublime Text not due to any serious > feature comparison with Emacs, but because they like its "sleek > look". > I don't suggest that we should imitate proprietary junk editor <foo>, > but we should realize that these things are not wholly unimportant. > > Best regards, > Stefan Kangas > Allow me to interject: how modern does my Emacs looks (see attach)? that is just using some packages available at MELPA (sad, I know; ideally such cosmetic stuff should be available in ELPA and/or be ship with new versions of Emacs and turned on by default). [-- Attachment #2: Captura de pantalla de 2020-04-15 23-00-35.png --] [-- Type: image/png, Size: 115021 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 4:39 ` Stefan Kangas ` (3 preceding siblings ...) 2020-04-16 5:02 ` Jorge Javier Araya Navarro @ 2020-04-16 21:31 ` Juri Linkov 4 siblings, 0 replies; 605+ messages in thread From: Juri Linkov @ 2020-04-16 21:31 UTC (permalink / raw) To: Stefan Kangas; +Cc: ndame, Richard Stallman, Emacs developers >> Perhaps we should implement a mode that puts cosmetics on Emacs > > Is there any reason not to improve the default look? No reason indeed. I started to implement rounded corners for tabs by adding a new :style to :box face attribute with drawings implemented like in x_draw_relief_rect but had no time to finish before the emacs-27 pretest. But it looks like a wrong approach anyway. But when someone will properly implement rounded corners for buttons they could be used for tabs as well. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 3:00 ` Richard Stallman 2020-04-15 4:33 ` ndame 2020-04-15 4:39 ` Stefan Kangas @ 2020-04-15 6:27 ` Eli Zaretskii 2020-04-15 14:17 ` Dmitry Gutov 2 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-15 6:27 UTC (permalink / raw) To: rms; +Cc: emacs-devel, ndame > From: Richard Stallman <rms@gnu.org> > Date: Tue, 14 Apr 2020 23:00:48 -0400 > Cc: emacs-devel@gnu.org > > Perhaps we should implement a mode that puts cosmetics on Emacs > so it will appeal to those who judge by the surface of things. I think if we had the code for making the corners round, we'd use it more or less unconditionally. But we don't have such code, AFAIK, so patches to add such capabilities to Emacs are most welcome. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 6:27 ` Eli Zaretskii @ 2020-04-15 14:17 ` Dmitry Gutov 2020-04-15 14:31 ` Eli Zaretskii 2020-04-15 22:11 ` Bob Newell 0 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-15 14:17 UTC (permalink / raw) To: Eli Zaretskii, rms; +Cc: ndame, emacs-devel On 15.04.2020 09:27, Eli Zaretskii wrote: > I think if we had the code for making the corners round, we'd use it > more or less unconditionally. But we don't have such code, AFAIK, so > patches to add such capabilities to Emacs are most welcome. I think the difficulty here is to look "contemporary" and yet fit every platform Emacs is run on. Button widgets look different on each. Even between GUI toolkits. And change between releases. The other option, of course, is to look both modern and unique, but it's a harder proposition, especially without a graphical designer on the team. And this stuff gets outdated quickly. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 14:17 ` Dmitry Gutov @ 2020-04-15 14:31 ` Eli Zaretskii 2020-04-15 16:34 ` Ulrich Mueller 2020-04-15 17:15 ` Dmitry Gutov 2020-04-15 22:11 ` Bob Newell 1 sibling, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-15 14:31 UTC (permalink / raw) To: Dmitry Gutov; +Cc: ndame, rms, emacs-devel > Cc: emacs-devel@gnu.org, ndame@protonmail.com > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Wed, 15 Apr 2020 17:17:31 +0300 > > On 15.04.2020 09:27, Eli Zaretskii wrote: > > I think if we had the code for making the corners round, we'd use it > > more or less unconditionally. But we don't have such code, AFAIK, so > > patches to add such capabilities to Emacs are most welcome. > > I think the difficulty here is to look "contemporary" and yet fit every > platform Emacs is run on. Button widgets look different on each. Even > between GUI toolkits. And change between releases. There are only 2 variants: native buttons (provided by some toolkit) or the ones we draw ourselves. And there's no requirement that they all look the same, I think: they should have the look-and-feel of the toolkit being used. > The other option, of course, is to look both modern and unique, but it's > a harder proposition, especially without a graphical designer on the > team. And this stuff gets outdated quickly. I think "modern and unique" is a contradiction of terms nowadays ;-) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 14:31 ` Eli Zaretskii @ 2020-04-15 16:34 ` Ulrich Mueller 2020-04-16 10:14 ` Alex Bennée 2020-04-15 17:15 ` Dmitry Gutov 1 sibling, 1 reply; 605+ messages in thread From: Ulrich Mueller @ 2020-04-15 16:34 UTC (permalink / raw) To: emacs-devel; +Cc: Eli Zaretskii >>>>> On Wed, 15 Apr 2020, Eli Zaretskii wrote: >> I think the difficulty here is to look "contemporary" and yet fit >> every platform Emacs is run on. Button widgets look different on >> each. Even between GUI toolkits. And change between releases. > There are only 2 variants: native buttons (provided by some toolkit) > or the ones we draw ourselves. And there's no requirement that they > all look the same, I think: they should have the look-and-feel of the > toolkit being used. Exactly, and I presume it would be somewhat hard to emulate the GTK+ look under Athena/Lucid or Motif. Also, what problem would it solve? >> The other option, of course, is to look both modern and unique, but it's >> a harder proposition, especially without a graphical designer on the >> team. And this stuff gets outdated quickly. > I think "modern and unique" is a contradiction of terms nowadays ;-) "Modern" mostly means that everything looks like half-sucked candy. Please resist that temptation. :-) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 16:34 ` Ulrich Mueller @ 2020-04-16 10:14 ` Alex Bennée 2020-04-16 10:22 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Alex Bennée @ 2020-04-16 10:14 UTC (permalink / raw) To: Ulrich Mueller; +Cc: Eli Zaretskii, emacs-devel Ulrich Mueller <ulm@gentoo.org> writes: >>>>>> On Wed, 15 Apr 2020, Eli Zaretskii wrote: > >>> I think the difficulty here is to look "contemporary" and yet fit >>> every platform Emacs is run on. Button widgets look different on >>> each. Even between GUI toolkits. And change between releases. > >> There are only 2 variants: native buttons (provided by some toolkit) >> or the ones we draw ourselves. And there's no requirement that they >> all look the same, I think: they should have the look-and-feel of the >> toolkit being used. > > Exactly, and I presume it would be somewhat hard to emulate the GTK+ > look under Athena/Lucid or Motif. Also, what problem would it solve? Surely unifying under a single cross-platform toolkit like GTK+ would avoid having this complexity. I still run lucid because there is a long term bug in the GTK engine which I don't understand but gets loudly reported whenever you run it. I'm not sure if this is down to the toolkit or the thunking Emacs has to do to have a common command loop shared between it's GUI and terminal invocations? >>> The other option, of course, is to look both modern and unique, but it's >>> a harder proposition, especially without a graphical designer on the >>> team. And this stuff gets outdated quickly. > >> I think "modern and unique" is a contradiction of terms nowadays ;-) > > "Modern" mostly means that everything looks like half-sucked candy. > Please resist that temptation. :-) There is a danger in assuming everybody wants their experience to be like ours. My personal config may be fairly austere and minimalist but we should aim for the out-of-the-box experience to look nice and be intuitive for new users. I've been thinking about text editors for my children to use as they graduate from point and click programming to proper text and even I'm not sure I want their first experience to be Emacs. -- Alex Bennée ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 10:14 ` Alex Bennée @ 2020-04-16 10:22 ` Eli Zaretskii 2020-04-16 16:26 ` Closing displays GTK+ bug (was: "Why is emacs so square?") Ulrich Mueller 2020-04-16 23:23 ` "Why is emacs so square?" chad 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 10:22 UTC (permalink / raw) To: Alex Bennée; +Cc: ulm, emacs-devel > From: Alex Bennée <alex.bennee@linaro.org> > Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org > Date: Thu, 16 Apr 2020 11:14:21 +0100 > > > Exactly, and I presume it would be somewhat hard to emulate the GTK+ > > look under Athena/Lucid or Motif. Also, what problem would it solve? > > Surely unifying under a single cross-platform toolkit like GTK+ would > avoid having this complexity. GTK+ is not cross-platform, it works only on some of the platforms we support (and is not an easy toolkit to work with, based on our experience). > I still run lucid because there is a long term bug in the GTK engine > which I don't understand but gets loudly reported whenever you run > it. I'm not sure if this is down to the toolkit This is because GTK+ has a bug that AFAIR they don't intend to fix because they don't consider our use of GTK+ important enough (or correct, for that matter). > or the thunking Emacs has to do to have a common command loop shared > between it's GUI and terminal invocations? Not sure what thunking did you have in mind. The handling of input in Emacs should consider both GUI and TTY inputs, since otherwise you will be unable to have both GUI and TTY frames in the same session, and the likes of "emacsclient -t" won't work. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Closing displays GTK+ bug (was: "Why is emacs so square?") 2020-04-16 10:22 ` Eli Zaretskii @ 2020-04-16 16:26 ` Ulrich Mueller 2020-04-16 16:36 ` Eli Zaretskii 2020-04-16 20:36 ` Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] Adam Sjøgren via "Emacs development discussions. 2020-04-16 23:23 ` "Why is emacs so square?" chad 1 sibling, 2 replies; 605+ messages in thread From: Ulrich Mueller @ 2020-04-16 16:26 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Alex Bennée, emacs-devel >>>>> On Thu, 16 Apr 2020, Eli Zaretskii wrote: >> I still run lucid because there is a long term bug in the GTK engine >> which I don't understand but gets loudly reported whenever you run >> it. I'm not sure if this is down to the toolkit Same here. > This is because GTK+ has a bug that AFAIR they don't intend to fix > because they don't consider our use of GTK+ important enough (or > correct, for that matter). This is the state fo affairs for how long now? More than 10 years? My guess would be that the GTK+ bug will never be fixed. I just wonder if it wouldn't be consequent to make multi-tty features and GTK+ mutually exclude each other. Alternatively, move to Qt instead of GTK+ (though I can see the NIH argument there). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Closing displays GTK+ bug (was: "Why is emacs so square?") 2020-04-16 16:26 ` Closing displays GTK+ bug (was: "Why is emacs so square?") Ulrich Mueller @ 2020-04-16 16:36 ` Eli Zaretskii 2020-04-17 2:25 ` Richard Stallman 2020-04-16 20:36 ` Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] Adam Sjøgren via "Emacs development discussions. 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 16:36 UTC (permalink / raw) To: Ulrich Mueller; +Cc: alex.bennee, emacs-devel > From: Ulrich Mueller <ulm@gentoo.org> > Cc: Alex Bennée <alex.bennee@linaro.org>, > emacs-devel@gnu.org > Date: Thu, 16 Apr 2020 18:26:24 +0200 > > This is the state fo affairs for how long now? More than 10 years? > My guess would be that the GTK+ bug will never be fixed. My guess is the same. > I just wonder if it wouldn't be consequent to make multi-tty features > and GTK+ mutually exclude each other. Alternatively, move to Qt instead > of GTK+ (though I can see the NIH argument there). I doubt people will accept the former. As for the latter: volunteers are welcome, of course, but Qt is a C++ toolkit, which means another non-trivial obstacle. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Closing displays GTK+ bug (was: "Why is emacs so square?") 2020-04-16 16:36 ` Eli Zaretskii @ 2020-04-17 2:25 ` Richard Stallman 2020-04-17 9:20 ` Closing displays GTK+ bug Ulrich Mueller 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-17 2:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ulm, alex.bennee, 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. ]]] Qt has a fatal flaw (from our point of view) -- it is released only under GPL versions 2 and 3. If we ever need to make a GPL version 4, we will want to advance Emacs to GPL 4-or-later. If we depended on Qt, we would be blocked from upgrading the license version. We must not get into that difficulty. So we must avoid using Qt. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Closing displays GTK+ bug 2020-04-17 2:25 ` Richard Stallman @ 2020-04-17 9:20 ` Ulrich Mueller 2020-04-18 2:07 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Ulrich Mueller @ 2020-04-17 9:20 UTC (permalink / raw) To: Richard Stallman; +Cc: Eli Zaretskii, alex.bennee, emacs-devel >>>>> On Fri, 17 Apr 2020, Richard Stallman wrote: > Qt has a fatal flaw (from our point of view) -- it is released only > under GPL versions 2 and 3. If we ever need to make a GPL version 4, > we will want to advance Emacs to GPL 4-or-later. If we depended on Qt, > we would be blocked from upgrading the license version. We must not > get into that difficulty. > So we must avoid using Qt. IIUC, only a few add-on components of Qt are licensed under the GPL. Its core libraries are licensed under the LGPL, version 3. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Closing displays GTK+ bug 2020-04-17 9:20 ` Closing displays GTK+ bug Ulrich Mueller @ 2020-04-18 2:07 ` Richard Stallman 0 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-18 2:07 UTC (permalink / raw) To: Ulrich Mueller; +Cc: eliz, alex.bennee, 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. ]]] > Its core libraries are licensed under the LGPL, version 3. I was going by the information in Wikipedia, which said GPL 2 and 3. LGPL 3-only has the same problem. LGPL 3 is GPL 3 with some specific extra permissions for linking with programs not under GPL 3. Due to those extra permissions, linking Qt with GPL4-Emacs won't violate the license of Qt. But linking GPL4-Emacs with Qt would violate the license of GPL4-Emacs, unless Qt qualifies as a "system library". If those Qt libraries are under LGPL 3-or-later, there will be no problem. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] 2020-04-16 16:26 ` Closing displays GTK+ bug (was: "Why is emacs so square?") Ulrich Mueller 2020-04-16 16:36 ` Eli Zaretskii @ 2020-04-16 20:36 ` Adam Sjøgren via "Emacs development discussions. 2020-04-16 21:57 ` James Cloos ` (2 more replies) 1 sibling, 3 replies; 605+ messages in thread From: Adam Sjøgren via "Emacs development discussions. @ 2020-04-16 20:36 UTC (permalink / raw) To: emacs-devel Inspired by the mention of the old GTK+-bug, I did a build of emacs like this: ./configure --without-pop --with-cairo --without-dbus --with-x-toolkit=lucid && make bootstrap And then I started Emacs on the machine: machine1:~$ /usr/src/emacs/src/emacs -Q --eval '(server-start)' On another machine, I ssh'ed to the first machine, with X-forwarding turned on, and started emacsclient: machine2:~$ ssh -X machine1 machine1:~$ /usr/src/emacs/lib-src/emacsclient --create-frame /tmp/test.txt Waiting for Emacs... And got an X frame displayed on the screen of machine2, as expected. When I then end emacsclient with C-x # I'm back at the prompt. If I run "exit", the prompt is hanging, where I would expect to be logged out of machine1 and returned to machine2. Only after I press control-c do I get the prompt back: machine1:~$ exit ^C machine2:~$ (When I press control-c, the message "Connection lost to X server 'localhost:10.0'" is displayed in the mini-buffer in the Emacs frame on machine1.) I thought this "hanging" was related to the display closing GTK+-bug, but this is with lucid. At one point, I think, I read that it was a dbus-related thing, but I also turned off dbus. How do I avoid this hanging/having to press control-c? Best regards, Adam -- "I think grown-ups just act like they know what Adam Sjøgren they're doing." asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] 2020-04-16 20:36 ` Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] Adam Sjøgren via "Emacs development discussions. @ 2020-04-16 21:57 ` James Cloos 2020-04-17 16:06 ` Adam Sjøgren via "Emacs development discussions. 2020-05-10 10:11 ` Log out hanging after X-forwarded emacsclient Adam Sjøgren via "Emacs development discussions. 2024-04-09 5:07 ` Log out hanging after X-forwarded emacsclient Thomas Fitzsimmons 2 siblings, 1 reply; 605+ messages in thread From: James Cloos @ 2020-04-16 21:57 UTC (permalink / raw) To: Adam Sjøgren via Emacs development discussions.; +Cc: Adam Sjøgren >>>>> "Edd" == Emacs development discussions <Adam> writes: Edd> When I then end emacsclient with C-x # I'm back at the prompt. If I run Edd> "exit", the prompt is hanging, where I would expect to be logged out of Edd> machine1 and returned to machine2. Only after I press control-c do I get Edd> the prompt back: lots of applications trigger that when forwarding x11 over openssh. i'm not sure about other ssh implementations, but i've always suspected a buglet in ssh(1) or sshd(8). or maybe in libx11? perhaps some resource was stored in the x server and ssh holds the forward open until it is released? -JimC -- James Cloos <cloos@jhcloos.com> OpenPGP: 0x997A9F17ED7DAEA6 ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] 2020-04-16 21:57 ` James Cloos @ 2020-04-17 16:06 ` Adam Sjøgren via "Emacs development discussions. 2020-04-18 9:45 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren via "Emacs development discussions. @ 2020-04-17 16:06 UTC (permalink / raw) To: emacs-devel James writes: >>>>>> "Edd" == Emacs development discussions <Adam> writes: > > Edd> When I then end emacsclient with C-x # I'm back at the prompt. If I run > Edd> "exit", the prompt is hanging, where I would expect to be logged out of > Edd> machine1 and returned to machine2. Only after I press control-c do I get > Edd> the prompt back: > > lots of applications trigger that when forwarding x11 over openssh. Can you give some examples? I can't think of any program I have seen the same thing happen with. It is also uncommon to ssh to a machine, ask an already running program to open a window on the remote screen, close the window and log out, without quitting the entire program. But that's of course exactly what I want to do with Emacs. > perhaps some resource was stored in the x server and ssh holds the > forward open until it is released? Sounds likely, so I just need to figure out what it is and how to avoid it ;-) (Running emacsclient with nohup exhibits the problem, so it isn't as simple as stdin/stdout/stderr.) Best rgards, Adam -- "It is a sort of cheap and cheerful kind of Adam Sjøgren abstraction, but it works well in practise." asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] 2020-04-17 16:06 ` Adam Sjøgren via "Emacs development discussions. @ 2020-04-18 9:45 ` Robert Pluim 2020-04-18 17:20 ` Adam Sjøgren via "Emacs development discussions. 0 siblings, 1 reply; 605+ messages in thread From: Robert Pluim @ 2020-04-18 9:45 UTC (permalink / raw) To: emacs-devel, Adam Sjøgren >>>>> On Fri, 17 Apr 2020 18:06:13 +0200, "Adam Sjøgren via \"Emacs development discussions." <emacs-devel@gnu.org> said: Adam> James writes: >>>>>>> "Edd" == Emacs development discussions <Adam> writes: >> Edd> When I then end emacsclient with C-x # I'm back at the prompt. If I run Edd> "exit", the prompt is hanging, where I would expect to be logged out of Edd> machine1 and returned to machine2. Only after I press control-c do I get Edd> the prompt back: >> >> lots of applications trigger that when forwarding x11 over openssh. Adam> Can you give some examples? Adam> I can't think of any program I have seen the same thing happen with. virt-manager triggers this for me. Even when Iʼve exited virt-manager. Adam> It is also uncommon to ssh to a machine, ask an already running program Adam> to open a window on the remote screen, close the window and log out, Adam> without quitting the entire program. It is? I do that all the time :-) Adam> But that's of course exactly what I want to do with Emacs. >> perhaps some resource was stored in the x server and ssh holds the >> forward open until it is released? Adam> Sounds likely, so I just need to figure out what it is and how to avoid Adam> it ;-) Adam> (Running emacsclient with nohup exhibits the problem, so it isn't as Adam> simple as stdin/stdout/stderr.) Hmm. Does 'disown' help? Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] 2020-04-18 9:45 ` Robert Pluim @ 2020-04-18 17:20 ` Adam Sjøgren via "Emacs development discussions. 2020-04-19 13:13 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren via "Emacs development discussions. @ 2020-04-18 17:20 UTC (permalink / raw) To: emacs-devel Robert writes: > Adam> I can't think of any program I have seen the same thing happen with. > > virt-manager triggers this for me. Even when Iʼve exited virt-manager. Thanks for the example, I will see if I can reproduce it. > Adam> It is also uncommon to ssh to a machine, ask an already running program > Adam> to open a window on the remote screen, close the window and log out, > Adam> without quitting the entire program. > > It is? I do that all the time :-) With what other programs besides Emacs and virt-manager? > Hmm. Does 'disown' help? No, same behaviour. > > Robert > > -- "Python looks to me like the illegitimate spawn of Adam Sjøgren C and BASIC, but then I used to program in 6502 asjo@koldfront.dk machine code so what do I know ..." ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] 2020-04-18 17:20 ` Adam Sjøgren via "Emacs development discussions. @ 2020-04-19 13:13 ` Robert Pluim 0 siblings, 0 replies; 605+ messages in thread From: Robert Pluim @ 2020-04-19 13:13 UTC (permalink / raw) To: emacs-devel, Adam Sjøgren >>>>> On Sat, 18 Apr 2020 19:20:26 +0200, "Adam Sjøgren via \"Emacs development discussions." <emacs-devel@gnu.org> said: Adam> It is also uncommon to ssh to a machine, ask an already running program Adam> to open a window on the remote screen, close the window and log out, Adam> without quitting the entire program. >> >> It is? I do that all the time :-) Adam> With what other programs besides Emacs and virt-manager? None. Everything else I use I can run locally. Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Log out hanging after X-forwarded emacsclient 2020-04-16 20:36 ` Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] Adam Sjøgren via "Emacs development discussions. 2020-04-16 21:57 ` James Cloos @ 2020-05-10 10:11 ` Adam Sjøgren via "Emacs development discussions. 2020-05-12 6:57 ` long-standing GTK bug (was: Log out hanging after X-forwarded emacsclient) andres.ramirez 2024-04-09 5:07 ` Log out hanging after X-forwarded emacsclient Thomas Fitzsimmons 2 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren via "Emacs development discussions. @ 2020-05-10 10:11 UTC (permalink / raw) To: emacs-devel I wrote: > When I then end emacsclient with C-x # I'm back at the prompt. If I run > "exit", the prompt is hanging, where I would expect to be logged out of > machine1 and returned to machine2. Only after I press control-c do I get > the prompt back: I spent last night tracking this down. The reason one has to press ^C to stop ssh is that Emacs keeps the X-connection open. It is not a bug in ssh, as far as I can tell. This comment in src/xterm.c is no longer accurate: 13402 /* This function is called when the last frame on a display is deleted. */ 13403 void 13404 x_delete_terminal (struct terminal *terminal) 13405 { It doesn't get called when the last frame on a remote display is closed, it is only called when the X connection is severed (i.e. by killing ssh). The reason is found in src/frame.c: 2141 /* If needed, delete the terminal that this frame was on. 2142 (This must be done after the frame is killed.) */ 2143 terminal->reference_count--; 2144 #if defined (USE_X_TOOLKIT) || defined (USE_GTK) 2145 /* FIXME: Deleting the terminal crashes emacs because of a GTK 2146 bug. 2147 https://lists.gnu.org/r/emacs-devel/2011-10/msg00363.html */ 2148 2149 /* Since a similar behavior was observed on the Lucid and Motif 2150 builds (see Bug#5802, Bug#21509, Bug#23499, Bug#27816), we now 2151 don't delete the terminal for these builds either. */ 2152 if (terminal->reference_count == 0 && terminal->type == output_x_window) 2153 terminal->reference_count = 1; 2154 #endif /* USE_X_TOOLKIT || USE_GTK */ With this Emacs doesn't actually call x_delete_terminal() when the last frame on a display is closed, but rather waits until the X connection disappears. If I remove those two lines, a build with GTK crashes immediately when the last frame on a remove display is closed (on purpose, to avoid the endless warnings from Glib - "the GTK bug"), rather than when the X connection is cut. However, I can't reproduce the problem when I build Emacs with Lucid. Closing all frames on a remote display doesn't result in a crash with Lucid - and the prompt/ssh isn't hanging with L2152-2153 removed. So a step towards fixing the GTK problem is to figure out whether the "workaround" in src/frame.c is still needed for Lucid and Motif. Ah, I've now read through the bugs referenced in the comment, and it sounds like the problem that was handled by adding this doesn't happen every time. When x_delete_terminal() gets called much less, the described crashes are less likely to happen. I guess it could be #ifdef'ed again, if the GTK problem is fixed. Hm, ok. I just thought I would follow up on my question. Best regards, Adam -- "Kom låna törnekronan min Adam Sjøgren Lid för konsten eller brinn" asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* long-standing GTK bug (was: Log out hanging after X-forwarded emacsclient) 2020-05-10 10:11 ` Log out hanging after X-forwarded emacsclient Adam Sjøgren via "Emacs development discussions. @ 2020-05-12 6:57 ` andres.ramirez 2020-05-12 7:57 ` long-standing GTK bug Adam Sjøgren via "Emacs development discussions. 0 siblings, 1 reply; 605+ messages in thread From: andres.ramirez @ 2020-05-12 6:57 UTC (permalink / raw) To: Adam Sjøgren; +Cc: emacs-devel Hi Adam. >>>>> "Adam" == Adam Sjøgren via \"Emacs development discussions <emacs-devel@gnu.org> writes: [...] Adam> The reason is found in src/frame.c: Which hints leads You from xterm.c to frame.c? [...] Adam> However, I can't reproduce the problem when I build Emacs Adam> with Lucid. Closing all frames on a remote display doesn't Adam> result in a crash with Lucid - and the prompt/ssh isn't Adam> hanging with L2152-2153 removed. Next time I compile emacs. I am going to remove above lines for giving it more testing. I use lucid toolkit. Adam> So a step towards fixing the GTK problem is to figure out Adam> whether the "workaround" in src/frame.c is still needed for Adam> Lucid and Motif. I think the above could just improve user experience when using lucid toolking combined with X-forwarding. Adam> Ah, I've now read through the bugs referenced in the Adam> comment, and it sounds like the problem that was handled by Adam> adding this doesn't happen every time. When Adam> x_delete_terminal() gets called much less, the described Adam> crashes are less likely to happen. I have skimmed also the bugs referenced there. A lot of info and situations. All of that cases would need retest. [...] Adam> Hm, ok. I just thought I would follow up on my question. Nice job. This bug affects a lot of emacs users. on 2016 I digged a little bit on this bug aka "long-standing GTK bug". I still have my notes from 2016. I even sketched a plan (I have never fullfilled): Those were my conclusions from 2016: --8<---------------cut here---------------start------------->8--- compile same source code for lucid, gtk, and nextstep remove the abort calls {after checking all bug reports} repeat that old gtk bug on gtk and nexstep {question is nextstep is immune as lucid} research how was included the lucid port {get the git hash; why gtk is different from lucid} the mac port could be useful? {macport suffers the same issue as gtk when used with x-forwarding} --8<---------------cut here---------------end--------------->8--- Now on 2020. I would add to that list retest all cases found on frame.c according to your email. Best Regards ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-05-12 6:57 ` long-standing GTK bug (was: Log out hanging after X-forwarded emacsclient) andres.ramirez @ 2020-05-12 7:57 ` Adam Sjøgren via "Emacs development discussions. 2020-05-17 11:40 ` Adam Sjøgren via "Emacs development discussions. 0 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren via "Emacs development discussions. @ 2020-05-12 7:57 UTC (permalink / raw) To: emacs-devel Hi Andres, andres.ramirez writes: > Which hints leads You from xterm.c to frame.c? I could not figure out why x_terminal_close() wasn't called when the last frame on a display was closed, and that lead me to frame.c. Took me a couple of evenings of adding a _lot_ of print-statements and experimenting. My original goal was to look into "the GTK bug", and this "^C hanging"/X-connection not being closed fell out of it as a bonus. > Adam> Ah, I've now read through the bugs referenced in the > Adam> comment, and it sounds like the problem that was handled by > Adam> adding this doesn't happen every time. When > Adam> x_delete_terminal() gets called much less, the described > Adam> crashes are less likely to happen. > > I have skimmed also the bugs referenced there. A lot of info and > situations. All of that cases would need retest. I don't know that any of those bugs are resolved, but I think the workaround was acknowledged to be just a workaround when it was added, so if the problems with the scrollbars can be solved, I think the workaround can be removed for Lucid/Motif builds. > Nice job. This bug affects a lot of emacs users. on 2016 I digged a > little bit on this bug aka "long-standing GTK bug". While related, this is not "the GTK bug", nor does it resolve it. If you remove the workaround in frame.c and remove the call to emacs_abort() when using GTK in x_connection_closed() in xterm.c, and the connection to a display is terminated while Emacs has a window on that display, you'll still get an endless stream of warnings from GLib, i.e. "the GTK bug". I've tried updating the latest issue on this in the GTK GitLab, to see if anyone has some clues: · https://gitlab.gnome.org/GNOME/gtk/-/issues/2315#note_795365 I haven't heard anything yet, and I would not be surprised if they still are cross with the Emacs community. Thanks for replying, I agree it would be really nice to get to the bottom of this long standing issue. Best regards, Adam -- "Ett, två, tre, pang på rödbetan." Adam Sjøgren asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-05-12 7:57 ` long-standing GTK bug Adam Sjøgren via "Emacs development discussions. @ 2020-05-17 11:40 ` Adam Sjøgren via "Emacs development discussions. 2020-05-17 22:05 ` Adam Porter ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Adam Sjøgren via "Emacs development discussions. @ 2020-05-17 11:40 UTC (permalink / raw) To: emacs-devel I wrote: > If you remove the workaround in frame.c and remove the call to > emacs_abort() when using GTK in x_connection_closed() in xterm.c, and > the connection to a display is terminated while Emacs has a window on > that display, you'll still get an endless stream of warnings from GLib, > i.e. "the GTK bug". I have been looking further into it, and I think I now understand what happens. Emacs calls gtk_events_pending(), which then continues to g_main_context_prepare(), in which a counter in the context structure, in_check_or_prepare, is incremented to detect recursive calls to this function in GLib. Before the counter is decremented again, the X-connection disappears, and X calls Emacs' error handler x_io_error_quitter(). The error handler closes the display¹, and Emacs then continues. But it doesn't return to the place in g_main_context_prepare(), so the counter isn't decremented. When Emacs then calls gtk_events_pending() again, GLib looks at the counter, and emits warnings about recursive calls. At least that is what I think is happening - gleaned from adding a breakpoint to delete_frame() and staring at this backtrace and the code in GLib²: #0 delete_frame (frame=0x555556183ba5, force=force@entry=0xa170) at frame.c:1902 #1 0x000055555559707e in x_connection_closed (dpy=dpy@entry=0x555556c58590, error_message=<optimized out>, error_message@entry=0x7fffffffcf40 "Connection lost to X server 'localhost:10.0'", ioerror=ioerror@entry=true) at lisp.h:1042 #2 0x00005555555971a9 in x_io_error_quitter (display=0x555556c58590) at xterm.c:10180 #3 0x00007ffff6aac20e in _XIOError () at /lib/x86_64-linux-gnu/libX11.so.6 #4 0x00007ffff6aa9985 in _XEventsQueued () at /lib/x86_64-linux-gnu/libX11.so.6 #5 0x00007ffff6a9b511 in XPending () at /lib/x86_64-linux-gnu/libX11.so.6 #6 0x00007ffff7435b6f in () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #7 0x00007ffff6e1fd7f in g_main_context_prepare () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007ffff6e2072b in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007ffff6e208c8 in g_main_context_pending () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x00007ffff7708f0e in gtk_events_pending () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #11 0x000055555564c97d in XTread_socket (terminal=<optimized out>, hold_quit=0x7fffffffd200) at xterm.c:9398 To test my interpretation, I decided to decrement the counter in the context structure from inside x_connection_closed(), by adding: GMainContext *context; context = g_main_context_default(); // Try resetting recursion prevention counter: context->in_check_or_prepare = 0; before calling gdk_display_close() on the display that has disappeared³. This makes the endless stream of warnings not appear! However, my quick test required me to copy the struct _GMainContext definition from glib/gmain.c into xterm.c, which is not the correct way to go about this, I'm sure. I do feel that this is progress, though. Now we just need to figure out the right way to handle it. If that is for gdk_display_close() to reset the in_check_or_prepare counter, or if it is something that can be changed in Emacs, I don't know. I have updated the current GTK issue⁴ with my observations, but I'm hoping for some input from emacs-devel as well. Best regards, Adam ¹ If you change it from calling emacs_abort() to close the display, as I have, that is. ² https://github.com/GNOME/glib/blob/mainline/glib/gmain.c#L3530 ³ https://koldfront.dk/git/emacs/commit/?h=scratch/gtk-x-disconnect&id=94eea826b6aa69ecf94301b4da251059dc89212b ⁴ https://gitlab.gnome.org/GNOME/gtk/-/issues/2315 -- "When you grow up, it's not allowed." Adam Sjøgren "All the more reason I should do it *now*!" asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-05-17 11:40 ` Adam Sjøgren via "Emacs development discussions. @ 2020-05-17 22:05 ` Adam Porter 2020-06-09 2:37 ` Richard Stallman 2022-03-01 21:23 ` Adam Sjøgren 2 siblings, 0 replies; 605+ messages in thread From: Adam Porter @ 2020-05-17 22:05 UTC (permalink / raw) To: emacs-devel "Adam Sjøgren via \"Emacs development discussions." <emacs-devel@gnu.org> writes: > I wrote: > >> If you remove the workaround in frame.c and remove the call to >> emacs_abort() when using GTK in x_connection_closed() in xterm.c, and >> the connection to a display is terminated while Emacs has a window on >> that display, you'll still get an endless stream of warnings from GLib, >> i.e. "the GTK bug". > > I have been looking further into it, and I think I now understand what > happens. Please forgive the noise, I just want to say thank you for your work on this issue. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-05-17 11:40 ` Adam Sjøgren via "Emacs development discussions. 2020-05-17 22:05 ` Adam Porter @ 2020-06-09 2:37 ` Richard Stallman 2020-06-09 14:32 ` Eli Zaretskii 2022-03-01 21:23 ` Adam Sjøgren 2 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-06-09 2:37 UTC (permalink / raw) To: Adam Sjøgren; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Please forgive me for taking so long to respond. I am backlogged 500 messages I have not yet seen. I just saw your message today. > > If you remove the workaround in frame.c and remove the call to > > emacs_abort() when using GTK in x_connection_closed() in xterm.c, and > > the connection to a display is terminated while Emacs has a window on > > that display, you'll still get an endless stream of warnings from GLib, > > i.e. "the GTK bug". > I have been looking further into it, and I think I now understand what > happens. Ideally the GTK developers would fix this. Apparently a long time has gone by and they have not done so. I suppose there is a reason why. Does anyone know what it is? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-06-09 2:37 ` Richard Stallman @ 2020-06-09 14:32 ` Eli Zaretskii 2020-06-10 0:53 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-09 14:32 UTC (permalink / raw) To: rms; +Cc: asjo, emacs-devel > From: Richard Stallman <rms@gnu.org> > Date: Mon, 08 Jun 2020 22:37:56 -0400 > Cc: emacs-devel@gnu.org > > > > If you remove the workaround in frame.c and remove the call to > > > emacs_abort() when using GTK in x_connection_closed() in xterm.c, and > > > the connection to a display is terminated while Emacs has a window on > > > that display, you'll still get an endless stream of warnings from GLib, > > > i.e. "the GTK bug". > > > I have been looking further into it, and I think I now understand what > > happens. > > Ideally the GTK developers would fix this. Apparently a long time has > gone by and they have not done so. I suppose there is a reason why. > Does anyone know what it is? AFAIU, they concluded that Emacs doesn't use GTK as a well-behaving GTK application should, and so they decided not to fix this problem. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-06-09 14:32 ` Eli Zaretskii @ 2020-06-10 0:53 ` Richard Stallman 2020-06-10 14:33 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-06-10 0:53 UTC (permalink / raw) To: Eli Zaretskii; +Cc: asjo, 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. ]]] > > Ideally the GTK developers would fix this. Apparently a long time has > > gone by and they have not done so. I suppose there is a reason why. > > Does anyone know what it is? > AFAIU, they concluded that Emacs doesn't use GTK as a well-behaving > GTK application should, and so they decided not to fix this problem. Did they say how a well-behaved program would do this job? If there a way Emacs could do that? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-06-10 0:53 ` Richard Stallman @ 2020-06-10 14:33 ` Eli Zaretskii 2021-05-08 11:51 ` Adam Sjøgren 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-06-10 14:33 UTC (permalink / raw) To: rms; +Cc: asjo, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: asjo@koldfront.dk, emacs-devel@gnu.org > Date: Tue, 09 Jun 2020 20:53:42 -0400 > > > AFAIU, they concluded that Emacs doesn't use GTK as a well-behaving > > GTK application should, and so they decided not to fix this problem. > > Did they say how a well-behaved program would do this job? I believe that should be quite clear to someone who is familiar with how GTK applications should be written. (I'm not one of those experts.) > If there a way Emacs could do that? I think someone is working on an Emacs configuration that will support only GTK, and that configuration should then be able to do that. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-06-10 14:33 ` Eli Zaretskii @ 2021-05-08 11:51 ` Adam Sjøgren 2021-05-09 10:27 ` Robert Pluim 2021-05-10 2:23 ` 황병희 0 siblings, 2 replies; 605+ messages in thread From: Adam Sjøgren @ 2021-05-08 11:51 UTC (permalink / raw) To: emacs-devel A long time ago (Wed, 10 Jun 2020), Eli wrote: > I think someone is working on an Emacs configuration that will support > only GTK, and that configuration should then be able to do that. I was intrigued by this, and today checked out the feature/pgtk branch and compiled Emacs --with-pgtk. The branch still retains the X connection after the last window is closed on a second computer, and terminating the ssh-connection with ^C terminates Emacs. I.e. what I talked about here: · https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg01353.html However, if I remove the workaround - the if() that sets terminal->reference_count to 1 in frame.c - and connect to a running pure GTK Emacs from a different computer displaying a remote X window using emacsclient, and then close it, Emacs keeps running on the original screen and GTK does not spew an endless list of warnings. So the original long standing GTK problem¹ is indeed solved by the pure GTK branch. \o/, Adam ¹ https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02298.html https://lists.gnu.org/archive/html/emacs-devel/2010-10/msg00927.html -- "Ge mig en vinterdrog, ge mig allt du har Adam Sjøgren Kom nu jag är kroniskt låg, bara mörkret hörs" asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-08 11:51 ` Adam Sjøgren @ 2021-05-09 10:27 ` Robert Pluim 2021-05-09 15:11 ` Adam Sjøgren 2021-05-10 2:23 ` 황병희 1 sibling, 1 reply; 605+ messages in thread From: Robert Pluim @ 2021-05-09 10:27 UTC (permalink / raw) To: Adam Sjøgren; +Cc: emacs-devel >>>>> On Sat, 08 May 2021 13:51:30 +0200, Adam Sjøgren <asjo@koldfront.dk> said: Adam> A long time ago (Wed, 10 Jun 2020), Eli wrote: >> I think someone is working on an Emacs configuration that will support >> only GTK, and that configuration should then be able to do that. Adam> I was intrigued by this, and today checked out the feature/pgtk branch Adam> and compiled Emacs --with-pgtk. Adam> The branch still retains the X connection after the last window is Adam> closed on a second computer, and terminating the ssh-connection with ^C Adam> terminates Emacs. Adam> I.e. what I talked about here: Adam> · https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg01353.html Adam> However, if I remove the workaround - the if() that sets terminal-> reference_count to 1 in frame.c - and connect to a running Adam> pure GTK Emacs from a different computer displaying a remote X window Adam> using emacsclient, and then close it, Emacs keeps running on the Adam> original screen and GTK does not spew an endless list of warnings. Adam> So the original long standing GTK problem¹ is indeed solved by the pure Adam> GTK branch. Interesting, but ENOPATCH :-) (thereʼs a separate test that needs doing using waypipe rather than ssh X forwarding. I think that one causes an abort somewhere inside GTK) Robert -- ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-09 10:27 ` Robert Pluim @ 2021-05-09 15:11 ` Adam Sjøgren 2021-05-10 9:16 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren @ 2021-05-09 15:11 UTC (permalink / raw) To: emacs-devel Robert writes: > Interesting, but ENOPATCH :-) I don't know what the preferred way to go about this is, but here is one: Skip "keep terminal open"-workaround for pure GTK --- src/frame.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frame.c b/src/frame.c index eb5aed82f7..8fdef3941d 100644 --- a/src/frame.c +++ b/src/frame.c @@ -2183,7 +2183,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force) /* If needed, delete the terminal that this frame was on. (This must be done after the frame is killed.) */ terminal->reference_count--; -#if defined (USE_X_TOOLKIT) || defined (USE_GTK) +#if defined (USE_X_TOOLKIT) || defined (USE_GTK) && ! defined (HAVE_PGTK) /* FIXME: Deleting the terminal crashes emacs because of a GTK bug. https://lists.gnu.org/r/emacs-devel/2011-10/msg00363.html */ @@ -2194,7 +2194,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force) if (terminal->reference_count == 0 && (terminal->type == output_x_window || terminal->type == output_pgtk)) terminal->reference_count = 1; -#endif /* USE_X_TOOLKIT || USE_GTK */ +#endif /* USE_X_TOOLKIT || USE_GTK && ! HAVE_PGTK */ if (terminal->reference_count == 0) { Lisp_Object tmp; > (thereʼs a separate test that needs doing using waypipe rather than > ssh X forwarding. I think that one causes an abort somewhere inside > GTK) (I haven't tried Wayland yet, so I have no information on that.) Best regards, Adam -- "Someone said ``look, it's Milli Vanilli!'' but Adam Sjøgren that's totally unfair to Milli Vanilli: at least asjo@koldfront.dk they danced." ^ permalink raw reply related [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-09 15:11 ` Adam Sjøgren @ 2021-05-10 9:16 ` Robert Pluim 2021-05-10 10:00 ` Adam Sjøgren 0 siblings, 1 reply; 605+ messages in thread From: Robert Pluim @ 2021-05-10 9:16 UTC (permalink / raw) To: Adam Sjøgren; +Cc: emacs-devel >>>>> On Sun, 09 May 2021 17:11:58 +0200, Adam Sjøgren <asjo@koldfront.dk> said: Adam> Robert writes: >> Interesting, but ENOPATCH :-) Adam> I don't know what the preferred way to go about this is, but here is Adam> one: Adam> Skip "keep terminal open"-workaround for pure GTK That makes things work for me if I C-c the ssh connection, but if I kill the ssh process, emacs still exits because itʼs crashing somewhere in the depths of GTK: (gdb) bt #0 __GI__exit (status=1) at ../sysdeps/unix/sysv/linux/_exit.c:27 #1 0x00007ffff7766e98 in () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #2 0x00007ffff59046cf in _XIOError () at /lib/x86_64-linux-gnu/libX11.so.6 #3 0x00007ffff5901d95 in _XEventsQueued () at /lib/x86_64-linux-gnu/libX11.so.6 #4 0x00007ffff58f37e1 in XPending () at /lib/x86_64-linux-gnu/libX11.so.6 #5 0x00007ffff77613ef in () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #6 0x00007ffff715657f in g_main_context_prepare () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007ffff7156fdb in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007ffff7157178 in g_main_context_pending () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x000055555574e1d0 in pgtk_select (fds_lim=<optimized out>, rfds=rfds@entry=0x7fffffffd520, wfds=wfds@entry=0x7fffffffd5a0, efds=efds@entry=0x0, timeout=timeout@entry=0x7fffffffd410, sigmask=sigmask@entry=0x0) at pgtkterm.c:4052 Robert -- ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 9:16 ` Robert Pluim @ 2021-05-10 10:00 ` Adam Sjøgren 2021-05-10 12:50 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren @ 2021-05-10 10:00 UTC (permalink / raw) To: emacs-devel Robert writes: > That makes things work for me if I C-c the ssh connection, If you have to C-c the ssh connection, the patch is not doing what it is supposed to, so either you or I messed up. Or maybe I'm not explaining what I'm doing expliclitly enough: I have only tested "the happy path", i.e. closing the frame on the remote screen and closing the ssh connection (with "exit" or C-d). The latter hangs without this patch, and C-c'ing it crashes Emacs. I haven't tested what happens if the connection is cut before the frame is closed. (Also relevant, of course, but one step at a time.) Best regards, Adam -- "If not actually disgruntled, he was far from being Adam Sjøgren gruntled." asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 10:00 ` Adam Sjøgren @ 2021-05-10 12:50 ` Robert Pluim 2021-05-10 13:10 ` Adam Sjøgren 0 siblings, 1 reply; 605+ messages in thread From: Robert Pluim @ 2021-05-10 12:50 UTC (permalink / raw) To: Adam Sjøgren; +Cc: emacs-devel >>>>> On Mon, 10 May 2021 12:00:49 +0200, Adam Sjøgren <asjo@koldfront.dk> said: Adam> Robert writes: >> That makes things work for me if I C-c the ssh connection, Adam> If you have to C-c the ssh connection, the patch is not doing what it is Adam> supposed to, so either you or I messed up. Adam> Or maybe I'm not explaining what I'm doing expliclitly enough: I have Adam> only tested "the happy path", i.e. closing the frame on the remote Adam> screen and closing the ssh connection (with "exit" or C-d). The latter Adam> hangs without this patch, and C-c'ing it crashes Emacs. Adam> I haven't tested what happens if the connection is cut before the frame Adam> is closed. (Also relevant, of course, but one step at a time.) I think weʼre testing different things. Iʼm doing: 1. On A: start emacs, run a server 2. On B: ssh -X A, emacsclient -c 3. On B: kill the ssh process 4. Emacs crashes If in step 3 I C-c the connection, then with your patch Emacs survives. Robert -- ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 12:50 ` Robert Pluim @ 2021-05-10 13:10 ` Adam Sjøgren 2021-05-10 14:13 ` Óscar Fuentes 0 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren @ 2021-05-10 13:10 UTC (permalink / raw) To: emacs-devel Robert writes: > I think weʼre testing different things. Iʼm doing: > > 1. On A: start emacs, run a server > 2. On B: ssh -X A, emacsclient -c > 3. On B: kill the ssh process > 4. Emacs crashes Yes, indeed we are. I am diverging: 3. On B: close the emacsclient frame 4. On B: exit ssh 5. Emacs survives. Without the patch, after (my) step 4 the prompt isn't returned until you press ^C in the shell, and when you do press ^C, Emacs crashes. Best regards, Adam -- "Det er ikke en kritik, det er bare en Adam Sjøgren konstatering." asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 13:10 ` Adam Sjøgren @ 2021-05-10 14:13 ` Óscar Fuentes 2021-05-10 14:40 ` Stefan Monnier 0 siblings, 1 reply; 605+ messages in thread From: Óscar Fuentes @ 2021-05-10 14:13 UTC (permalink / raw) To: emacs-devel Adam Sjøgren <asjo@koldfront.dk> writes: > Robert writes: > >> I think weʼre testing different things. Iʼm doing: >> >> 1. On A: start emacs, run a server >> 2. On B: ssh -X A, emacsclient -c >> 3. On B: kill the ssh process >> 4. Emacs crashes > > Yes, indeed we are. I am diverging: > > 3. On B: close the emacsclient frame > 4. On B: exit ssh > 5. Emacs survives. > > Without the patch, after (my) step 4 the prompt isn't returned until you > press ^C in the shell, and when you do press ^C, Emacs crashes. IIUC your patch solves the problem when the network connection is reliable, but Emacs still crashes if there is an abrupt disconnection. Looks like an improvement :-) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 14:13 ` Óscar Fuentes @ 2021-05-10 14:40 ` Stefan Monnier 2021-05-10 14:45 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2021-05-10 14:40 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel Óscar Fuentes [2021-05-10 16:13:43] wrote: > Adam Sjøgren <asjo@koldfront.dk> writes: >> Robert writes: >> >>> I think weʼre testing different things. Iʼm doing: >>> >>> 1. On A: start emacs, run a server >>> 2. On B: ssh -X A, emacsclient -c >>> 3. On B: kill the ssh process >>> 4. Emacs crashes >> >> Yes, indeed we are. I am diverging: >> >> 3. On B: close the emacsclient frame >> 4. On B: exit ssh >> 5. Emacs survives. >> >> Without the patch, after (my) step 4 the prompt isn't returned until you >> press ^C in the shell, and when you do press ^C, Emacs crashes. > > IIUC your patch solves the problem when the network connection is > reliable, but Emacs still crashes if there is an abrupt disconnection. IIUC the difference (with the patch) is between stopping ssh via `C-c` or via `kill`. I wonder why this matters, and I think it's not at all obvious if an "abrupt" network disconnection would be more like `C-c` or more like `kill`. Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 14:40 ` Stefan Monnier @ 2021-05-10 14:45 ` Robert Pluim 2021-05-10 15:00 ` Stefan Monnier 0 siblings, 1 reply; 605+ messages in thread From: Robert Pluim @ 2021-05-10 14:45 UTC (permalink / raw) To: Stefan Monnier; +Cc: Óscar Fuentes, emacs-devel >>>>> On Mon, 10 May 2021 10:40:20 -0400, Stefan Monnier <monnier@iro.umontreal.ca> said: Stefan> IIUC the difference (with the patch) is between stopping ssh via `C-c` or Stefan> via `kill`. I wonder why this matters, and I think it's not at all Stefan> obvious if an "abrupt" network disconnection would be more like `C-c` or Stefan> more like `kill`. In the 'C-c' case Emacs has had a chance to clean up its internal state (with the patch applied). With 'kill' weʼre pulling the rug out from under GTK (see the backtrace several messages up-thread). Robert -- ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 14:45 ` Robert Pluim @ 2021-05-10 15:00 ` Stefan Monnier 2021-05-11 9:09 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2021-05-10 15:00 UTC (permalink / raw) To: Robert Pluim; +Cc: Óscar Fuentes, emacs-devel Robert Pluim [2021-05-10 16:45:05] wrote: >>>>>> On Mon, 10 May 2021 10:40:20 -0400, Stefan Monnier <monnier@iro.umontreal.ca> said: > Stefan> IIUC the difference (with the patch) is between stopping ssh via `C-c` or > Stefan> via `kill`. I wonder why this matters, and I think it's not at all > Stefan> obvious if an "abrupt" network disconnection would be more like `C-c` or > Stefan> more like `kill`. > In the 'C-c' case Emacs has had a chance to clean up its internal > state (with the patch applied). Why? What does ssh do that is gentler? > With 'kill' weʼre pulling the rug out from under GTK (see the > backtrace several messages up-thread). I suspect it then also depends on the `kill` signal. In my WM (ctwm), I can also distinguish between `f.delete` and `f.destroy` where the first sends something like a WM_DELETE request to the application (which Emacs treats via `handle-delete-frame`, IIRC) whereas `f.destroy` asks the X server to cut the connection AFAIK. Would `f.destroy` be more like the `C-c` or the `kill` case of ssh? Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-10 15:00 ` Stefan Monnier @ 2021-05-11 9:09 ` Robert Pluim 0 siblings, 0 replies; 605+ messages in thread From: Robert Pluim @ 2021-05-11 9:09 UTC (permalink / raw) To: Stefan Monnier; +Cc: Óscar Fuentes, emacs-devel >>>>> On Mon, 10 May 2021 11:00:08 -0400, Stefan Monnier <monnier@iro.umontreal.ca> said: Stefan> Robert Pluim [2021-05-10 16:45:05] wrote: >>>>>>> On Mon, 10 May 2021 10:40:20 -0400, Stefan Monnier <monnier@iro.umontreal.ca> said: Stefan> IIUC the difference (with the patch) is between stopping ssh via `C-c` or Stefan> via `kill`. I wonder why this matters, and I think it's not at all Stefan> obvious if an "abrupt" network disconnection would be more like `C-c` or Stefan> more like `kill`. >> In the 'C-c' case Emacs has had a chance to clean up its internal >> state (with the patch applied). Stefan> Why? What does ssh do that is gentler? I assume itʼs just shutting down the X forwarding connection gracefully. Since that doesnʼt result in Emacs losing its existing local display connection, thereʼs no crash. >> With 'kill' weʼre pulling the rug out from under GTK (see the >> backtrace several messages up-thread). Stefan> I suspect it then also depends on the `kill` signal. Stefan> In my WM (ctwm), I can also distinguish between `f.delete` and Stefan> `f.destroy` where the first sends something like a WM_DELETE request to Stefan> the application (which Emacs treats via `handle-delete-frame`, IIRC) Stefan> whereas `f.destroy` asks the X server to cut the connection AFAIK. Stefan> Would `f.destroy` be more like the `C-c` or the `kill` case of ssh? I suspect like 'kill'. Robert -- ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2021-05-08 11:51 ` Adam Sjøgren 2021-05-09 10:27 ` Robert Pluim @ 2021-05-10 2:23 ` 황병희 1 sibling, 0 replies; 605+ messages in thread From: 황병희 @ 2021-05-10 2:23 UTC (permalink / raw) To: emacs-devel Hellow Adam ^^^ Adam Sjøgren <asjo@koldfront.dk> writes: > ... > So the original long standing GTK problem¹ is indeed solved by the pure > GTK branch. (Actually i'm not techinal man) anyway that is real good news!!! Sincerely, Wayland fan Byung-Hee -- ^고맙습니다 _救濟蒼生_ 감사합니다_^))// ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2020-05-17 11:40 ` Adam Sjøgren via "Emacs development discussions. 2020-05-17 22:05 ` Adam Porter 2020-06-09 2:37 ` Richard Stallman @ 2022-03-01 21:23 ` Adam Sjøgren 2022-03-02 14:12 ` Po Lu 2 siblings, 1 reply; 605+ messages in thread From: Adam Sjøgren @ 2022-03-01 21:23 UTC (permalink / raw) To: emacs-devel You may recall that around 92 weeks ago I wrote: > However, my quick test required me to copy the struct _GMainContext > definition from glib/gmain.c into xterm.c, which is not the correct way > to go about this, I'm sure. > > I do feel that this is progress, though. Now we just need to figure out > the right way to handle it. > > If that is for gdk_display_close() to reset the in_check_or_prepare > counter, or if it is something that can be changed in Emacs, I don't > know. > > I have updated the current GTK issue⁴ with my observations, but I'm > hoping for some input from emacs-devel as well. A recent blog post: https://tychoish.com/post/the-emacs-daemon-gtk-bug-a-parable/ made me aware of the continued discussion that happened on the GTK issue 11 months ago, which I had previously missed. A very interesting comment is this one by Michel Dänzer: FWIW, the upcoming release 40 of mutter (which uses GTK3 for drawing X11 client window decorations) is able to survive Xwayland dying abruptly, using the new XSetIOErrorExitHandler API (which removes the need for longjmp hacks) available as of libX11 1.7.0. · https://gitlab.gnome.org/GNOME/gtk/-/issues/2315#note_1052481 Which sounds like exactly what is needed, doesn't it? Switch from using the current XIOErrorHandler to the "new" XSetIOErrorExitHandler API to avoid the longjmp and the sketchy patchy hackery I ended up with. This API is available in libX11 1.7.0 - I just checked the version in Debian stable, and it is 1.7.2, so it's not some outrageously new bleeding edge addition. Now we just need someone with libX11 API chops to start ... eh, chopping! 11 years down the line, feeling optimistic, Adam -- "Jeg er som en pære når jeg springer og mister min Adam Sjøgren fatning!" asjo@koldfront.dk ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-01 21:23 ` Adam Sjøgren @ 2022-03-02 14:12 ` Po Lu 2022-03-03 6:55 ` Madhu 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2022-03-02 14:12 UTC (permalink / raw) To: emacs-devel; +Cc: Adam Sjøgren Adam Sjøgren <asjo@koldfront.dk> writes: > A recent blog post: > https://tychoish.com/post/the-emacs-daemon-gtk-bug-a-parable/ made me > aware of the continued discussion that happened on the GTK issue 11 > months ago, which I had previously missed. > > A very interesting comment is this one by Michel Dänzer: > > FWIW, the upcoming release 40 of mutter (which uses GTK3 for drawing > X11 client window decorations) is able to survive Xwayland dying > abruptly, using the new XSetIOErrorExitHandler API (which removes > the need for longjmp hacks) available as of libX11 1.7.0. > > · https://gitlab.gnome.org/GNOME/gtk/-/issues/2315#note_1052481 > > Which sounds like exactly what is needed, doesn't it? > > Switch from using the current XIOErrorHandler to the "new" > XSetIOErrorExitHandler API to avoid the longjmp and the sketchy patchy > hackery I ended up with. > > This API is available in libX11 1.7.0 - I just checked the version in > Debian stable, and it is 1.7.2, so it's not some outrageously new > bleeding edge addition. > > Now we just need someone with libX11 API chops to start ... eh, > chopping! It doesn't work. The part of Mutter that inherited from Metacity is special in how it uses GTK for various reasons, so it works for them. The call to longjmp is not the problem. Rather, it was the original workaround. Removing the longjmp will just make GTK call _exit upon an IO error, which we cannot avoid. (See for example the `_gdk_x11_display_error_event' function in the GTK source code.) Thanks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-02 14:12 ` Po Lu @ 2022-03-03 6:55 ` Madhu 2022-03-03 7:21 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Madhu @ 2022-03-03 6:55 UTC (permalink / raw) To: emacs-devel * Po Lu <871qzktpd8.fsf @yahoo.com> : Wrote on Wed, 02 Mar 2022 22:12:35 +0800: > Adam Sjøgren <asjo @koldfront.dk> writes: > >> A recent blog post: >> https://tychoish.com/post/the-emacs-daemon-gtk-bug-a-parable/ made >> me aware of the continued discussion that happened on the GTK issue >> 11 months ago, which I had previously missed. >> A very interesting comment is this one by Michel Dänzer: >> FWIW, the upcoming release 40 of mutter (which uses GTK3 for drawing >> X11 client window decorations) is able to survive Xwayland dying >> abruptly, using the new XSetIOErrorExitHandler API (which removes >> the need for longjmp hacks) available as of libX11 1.7.0. >> · https://gitlab.gnome.org/GNOME/gtk/-/issues/2315#note_1052481 >> Which sounds like exactly what is needed, doesn't it? >> Switch from using the current XIOErrorHandler to the "new" >> XSetIOErrorExitHandler API to avoid the longjmp and the sketchy >> patchy hackery I ended up with. >> This API is available in libX11 1.7.0 - I just checked the version >> in Debian stable, and it is 1.7.2, so it's not some outrageously new >> bleeding edge addition. >> Now we just need someone with libX11 API chops to start ... eh, >> chopping! > > It doesn't work. The part of Mutter that inherited from Metacity is > special in how it uses GTK for various reasons, so it works for them. > > The call to longjmp is not the problem. Rather, it was the original > workaround. Removing the longjmp will just make GTK call _exit upon > an IO error, which we cannot avoid. (See for example the > `_gdk_x11_display_error_event' function in the GTK source code.) I tried to do a proof of concept using XSetIOErrorExitHandler to prove it was possible to kill the display and still have a gtk app running. https://gitlab.gnome.org/enometh/simple4/-/raw/master/simple.c which seemed to work. the code is a bit crufty as it includes the longjmp path , and i have to reread it to understand it and my headaches are interfering with thinking. When i checked there was some other snag in moving this to emacs ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 6:55 ` Madhu @ 2022-03-03 7:21 ` Po Lu 2022-03-03 9:43 ` Madhu 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2022-03-03 7:21 UTC (permalink / raw) To: Madhu; +Cc: emacs-devel Madhu <enometh@meer.net> writes: > I tried to do a proof of concept using XSetIOErrorExitHandler to prove > it was possible to kill the display and still have a gtk app running. > > https://gitlab.gnome.org/enometh/simple4/-/raw/master/simple.c > > which seemed to work. the code is a bit crufty as it includes the > longjmp path , and i have to reread it to understand it and my headaches > are interfering with thinking. When i checked there was some other snag > in moving this to emacs Display *dpy = gdk_x11_display_get_xdisplay(gdpy); XSetIOErrorExitHandler (dpy, x_io_error_exit_handler, &done); => window = gtk_window_new (); gtk_window_set_title (GTK_WINDOW (window), "hello world"); Judging by the absence of arguments to `gtk_window_new', this code is for GTK 4, correct? The X and GTK configuration will never work with GTK 4 due to other fundamental changes in the toolkit, and PGTK will not be able to access X-specific APIs. Thanks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 7:21 ` Po Lu @ 2022-03-03 9:43 ` Madhu 2022-03-03 10:11 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Madhu @ 2022-03-03 9:43 UTC (permalink / raw) To: luangruo; +Cc: emacs-devel * Po Lu <luangruo@yahoo.com> <87pmn3sdpm.fsf@yahoo.com> Wrote on Thu, 03 Mar 2022 15:21:57 +0800 > Madhu <enometh@meer.net> writes: >> I tried to do a proof of concept using XSetIOErrorExitHandler to >> prove it was possible to kill the display and still have a gtk app >> running. >> https://gitlab.gnome.org/enometh/simple4/-/raw/master/simple.c >> which seemed to work. the code is a bit crufty as it includes the >> longjmp path , and i have to reread it to understand it and my >> headaches are interfering with thinking. When i checked there was >> some other snag in moving this to emacs > > Display *dpy = gdk_x11_display_get_xdisplay(gdpy); > XSetIOErrorExitHandler (dpy, x_io_error_exit_handler, &done); > > => window = gtk_window_new (); > gtk_window_set_title (GTK_WINDOW (window), "hello world"); > > Judging by the absence of arguments to `gtk_window_new', this code is > for GTK 4, correct? > > The X and GTK configuration will never work with GTK 4 due to other > fundamental changes in the toolkit, and PGTK will not be able to access > X-specific APIs. All very sad, yes. I've pushed a version of the sample code which should compile and run with gtk+-3.0 - maybe you could take a look. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 9:43 ` Madhu @ 2022-03-03 10:11 ` Po Lu 2022-03-03 12:06 ` Madhu 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2022-03-03 10:11 UTC (permalink / raw) To: Madhu; +Cc: emacs-devel Madhu <enometh@meer.net> writes: > I've pushed a version of the sample code which should compile and run > with gtk+-3.0 - maybe you could take a look. Could you adapt that code to open two different displays? AFAICT, it only tries to open a single display, which isn't the scenario in Emacs. Thanks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 10:11 ` Po Lu @ 2022-03-03 12:06 ` Madhu 2022-03-03 13:05 ` Po Lu 2022-03-03 13:22 ` Lars Ingebrigtsen 0 siblings, 2 replies; 605+ messages in thread From: Madhu @ 2022-03-03 12:06 UTC (permalink / raw) To: emacs-devel * Po Lu <87k0dbs5vh.fsf @yahoo.com> : Wrote on Thu, 03 Mar 2022 18:11:14 +0800: > Could you adapt that code to open two different displays? AFAICT, it > only tries to open a single display, which isn't the scenario in > Emacs. more cruft pushed. you can echo :2.0 > /dev/shm/display before trying to retry connection to a display to change it. However I think the overall approach isn't feasible for emacs: this approach depends on gdk_close_display to clean up and remove any GSources. i think the mainloop crashed elsewhere when some other gsource fired - i don't have my test code and have to do it again maybe later this week. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 12:06 ` Madhu @ 2022-03-03 13:05 ` Po Lu 2022-03-03 15:31 ` Madhu 2022-03-03 13:22 ` Lars Ingebrigtsen 1 sibling, 1 reply; 605+ messages in thread From: Po Lu @ 2022-03-03 13:05 UTC (permalink / raw) To: Madhu; +Cc: emacs-devel Madhu <enometh@meer.net> writes: > However I think the overall approach isn't feasible for emacs: this > approach depends on gdk_close_display to clean up and remove any > GSources. Thanks. That sounds a little closer to what I experienced trying to work around the problem as well. > i think the mainloop crashed elsewhere when some other gsource fired - > i don't have my test code and have to do it again maybe later this > week. I look forward to your results. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 13:05 ` Po Lu @ 2022-03-03 15:31 ` Madhu 0 siblings, 0 replies; 605+ messages in thread From: Madhu @ 2022-03-03 15:31 UTC (permalink / raw) To: emacs-devel * Po Lu <87fsnzrxtq.fsf@yahoo.com> : Wrote on Thu, 03 Mar 2022 21:05:05 +0800: > Madhu <enometh@meer.net> writes: >> i think the mainloop crashed elsewhere when some other gsource fired >> - i don't have my test code and have to do it again maybe later this >> week. > > I look forward to your results. I see I had misunderstood what you had said about multiple displays. The simple.c code assumes there is only one display at a time. I'll try to handle multiple displays and one display dying first. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 12:06 ` Madhu 2022-03-03 13:05 ` Po Lu @ 2022-03-03 13:22 ` Lars Ingebrigtsen 2022-03-03 13:30 ` Po Lu 1 sibling, 1 reply; 605+ messages in thread From: Lars Ingebrigtsen @ 2022-03-03 13:22 UTC (permalink / raw) To: Madhu; +Cc: emacs-devel Madhu <enometh@meer.net> writes: > However I think the overall approach isn't feasible for emacs: this > approach depends on gdk_close_display to clean up and remove any > GSources. And is it impossible for Emacs to rely on that? (I know nothing of the code in this area, but it'd be wonderful if we finally could work around these Gtk problems.) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 13:22 ` Lars Ingebrigtsen @ 2022-03-03 13:30 ` Po Lu 2022-03-04 15:21 ` Lars Ingebrigtsen 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2022-03-03 13:30 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Madhu, emacs-devel Lars Ingebrigtsen <larsi@gnus.org> writes: > And is it impossible for Emacs to rely on that? (I know nothing of the > code in this area, but it'd be wonderful if we finally could work around > these Gtk problems.) I think what he's saying is that `gdk_display_close' doesn't remove the installed event sources upon disposal, which is similar to what I experienced trying to fix the problem in GTK itself. It seems that something in GTK keeps holding a reference to the display, but I didn't figure out what that was. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: long-standing GTK bug 2022-03-03 13:30 ` Po Lu @ 2022-03-04 15:21 ` Lars Ingebrigtsen 0 siblings, 0 replies; 605+ messages in thread From: Lars Ingebrigtsen @ 2022-03-04 15:21 UTC (permalink / raw) To: Po Lu; +Cc: Madhu, emacs-devel Po Lu <luangruo@yahoo.com> writes: > I think what he's saying is that `gdk_display_close' doesn't remove the > installed event sources upon disposal, which is similar to what I > experienced trying to fix the problem in GTK itself. > > It seems that something in GTK keeps holding a reference to the display, > but I didn't figure out what that was. Ah, I see. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Log out hanging after X-forwarded emacsclient 2020-04-16 20:36 ` Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] Adam Sjøgren via "Emacs development discussions. 2020-04-16 21:57 ` James Cloos 2020-05-10 10:11 ` Log out hanging after X-forwarded emacsclient Adam Sjøgren via "Emacs development discussions. @ 2024-04-09 5:07 ` Thomas Fitzsimmons 2 siblings, 0 replies; 605+ messages in thread From: Thomas Fitzsimmons @ 2024-04-09 5:07 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1695 bytes --] Hi Adam, "Adam Sjøgren <asjo@koldfront.dk>" writes: > Inspired by the mention of the old GTK+-bug, I did a build of emacs like > this: > > ./configure --without-pop --with-cairo --without-dbus --with-x-toolkit=lucid && make bootstrap > > And then I started Emacs on the machine: > > machine1:~$ /usr/src/emacs/src/emacs -Q --eval '(server-start)' > > On another machine, I ssh'ed to the first machine, with X-forwarding > turned on, and started emacsclient: > > machine2:~$ ssh -X machine1 > machine1:~$ /usr/src/emacs/lib-src/emacsclient --create-frame /tmp/test.txt > Waiting for Emacs... > > And got an X frame displayed on the screen of machine2, as expected. > > When I then end emacsclient with C-x # I'm back at the prompt. If I run > "exit", the prompt is hanging, where I would expect to be logged out of > machine1 and returned to machine2. Only after I press control-c do I get > the prompt back: > > machine1:~$ exit > ^C > machine2:~$ > > (When I press control-c, the message "Connection lost to X server > 'localhost:10.0'" is displayed in the mini-buffer in the Emacs frame on > machine1.) > > I thought this "hanging" was related to the display closing GTK+-bug, > but this is with lucid. At one point, I think, I read that it was a > dbus-related thing, but I also turned off dbus. > > How do I avoid this hanging/having to press control-c? This bug is still present on the master branch. The attached patch works for me but it may be subject to race conditions, so I will continue testing it. In the meantime, I figured I would reply to this old thread in case others are interested in trying it. Thomas [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Close-X-connection-when-emacsclient-disconnects.patch --] [-- Type: text/x-diff, Size: 1228 bytes --] From 21640257edc72e0c11127db60a6cfa9e92005309 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons <fitzsim@fitzsim.org> Date: Tue, 9 Apr 2024 01:00:14 -0400 Subject: [PATCH] Close X connection when emacsclient disconnects This fixes an issue reported on the mailing list: https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00950.html * lisp/server.el (server-handle-delete-frame): If the frame is an X frame and DISPLAY is set, close the X connection to the display. --- lisp/server.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/server.el b/lisp/server.el index b65053267a6..fb236493eae 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -509,6 +509,9 @@ server-handle-delete-frame (eq proc (frame-parameter f 'client)))) (frame-list)))) (server-log (format "server-handle-delete-frame, frame %s" frame) proc) + (let ((display (frame-parameter frame 'display))) + (when (and display (eq (framep frame) 'x)) + (run-at-time nil nil (lambda () (x-close-connection display))))) (server-delete-client proc 'noframe)))) ; Let delete-frame delete the frame later. (defun server-handle-suspend-tty (terminal) -- 2.39.2 ^ permalink raw reply related [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 10:22 ` Eli Zaretskii 2020-04-16 16:26 ` Closing displays GTK+ bug (was: "Why is emacs so square?") Ulrich Mueller @ 2020-04-16 23:23 ` chad 2020-04-18 2:03 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: chad @ 2020-04-16 23:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ulm, Alex Bennée, EMACS development team [-- Attachment #1: Type: text/plain, Size: 1134 bytes --] On Thu, Apr 16, 2020 at 3:22 AM Eli Zaretskii <eliz@gnu.org> wrote: > > From: Alex Bennée <alex.bennee@linaro.org> > > Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org > > Date: Thu, 16 Apr 2020 11:14:21 +0100 > > > > Surely unifying under a single cross-platform toolkit like GTK+ would > > avoid having this complexity. > > GTK+ is not cross-platform, it works only on some of the platforms we > support (and is not an easy toolkit to work with, based on our > experience). > I wrote a longer post about this topic on the emacs reddit recently, but a short summary would be: What Eli said, plus some. There is no good cross-platform GUI toolkit (free or otherwise), and the closest the software world has today is Electron (which still doesn't cover everything emacs supports). I realize that there are some partial solutions that advertise themselves as cross-platform, but if you poke at them with a moderately keen eye, they collapse quickly. As a practical matter, this is a big reason that some of emacs' biggest competitors these days are based on Electron (VS Code and Atom) and Java. ~Chad [-- Attachment #2: Type: text/html, Size: 1702 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 23:23 ` "Why is emacs so square?" chad @ 2020-04-18 2:03 ` Richard Stallman 2020-04-18 7:06 ` Eli Zaretskii 2020-04-20 22:14 ` chad 0 siblings, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-18 2:03 UTC (permalink / raw) To: chad; +Cc: eliz, alex.bennee, ulm, 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. ]]] > software world has today is Electron (which still doesn't cover everything > emacs supports). Is Electron free software? If so, what is its license, and what does Emacs do that Electron does not support? (If there are lots of things, a few important ones would be enough of an answer.) -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 2:03 ` Richard Stallman @ 2020-04-18 7:06 ` Eli Zaretskii 2020-04-20 22:14 ` chad 1 sibling, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-18 7:06 UTC (permalink / raw) To: rms; +Cc: yandros, alex.bennee, ulm, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: eliz@gnu.org, ulm@gentoo.org, alex.bennee@linaro.org, > emacs-devel@gnu.org > Date: Fri, 17 Apr 2020 22:03:04 -0400 > > Is Electron free software? If so, what is its license, Its license is MIT, see below. Copyright (c) 2013-2020 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 2:03 ` Richard Stallman 2020-04-18 7:06 ` Eli Zaretskii @ 2020-04-20 22:14 ` chad 2020-04-21 8:43 ` Po Lu 1 sibling, 1 reply; 605+ messages in thread From: chad @ 2020-04-20 22:14 UTC (permalink / raw) To: Richard Stallman Cc: Eli Zaretskii, Alex Bennée, ulm, EMACS development team [-- Attachment #1: Type: text/plain, Size: 2324 bytes --] As Eli said, Electron is covered by an MIT license. It describes itself with this sentence: Build cross-platform desktop apps with JavaScript, HTML, and CSS. It accomplishes this by uses Node.js, a JavaScript runtime built on the V8 javascript engine of Chrome. Each Electron app comes with its own integrated copy of Chromium (the "free" parts of Google's Chrome web browser, released under a combination of 3-clause BSD, MIT, [L]GPL, and MS's Shared Source licenses). Without intensional malice, I'd call it a Frankenstein's monster of both code and license. Its major features are (in my personal opinion): Google invests effort into making it function well across major platforms, it's "free enough" that it can be used by various open, free, and commercial projects, and it lets people make "desktop apps" using the widely-known web stack of JavaScript, HTML, and CSS. It can use native code via Node's analog of an FFI. This combination is so widely spread and optimized at this point that it's possible to get decent performance alongside gui, threaded, network, etc. code. It also has a reputation for being fairly bloated, in large part because each Electron app brings its own copy of chromium, V8, node, etc. Similarly, Electron apps are rarely well-integrated into a particular OS, since they're mostly WWW technology; whether this bothers users or not is currently a shifting topic, as ever more new users are used to using web-based tech for much of their computer needs. I hope that helps, ~Chad On Fri, Apr 17, 2020 at 7:03 PM Richard Stallman <rms@gnu.org> wrote: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > software world has today is Electron (which still doesn't cover > everything > > emacs supports). > > Is Electron free software? If so, what is its license, > and what does Emacs do that Electron does not support? > (If there are lots of things, a few important ones would > be enough of an answer.) > > > -- > Dr Richard Stallman > Chief GNUisance of the GNU Project (https://gnu.org) > Founder, Free Software Foundation (https://fsf.org) > Internet Hall-of-Famer (https://internethalloffame.org) > > > [-- Attachment #2: Type: text/html, Size: 3058 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 22:14 ` chad @ 2020-04-21 8:43 ` Po Lu 2020-04-21 8:44 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-21 8:43 UTC (permalink / raw) To: chad Cc: Richard Stallman, Eli Zaretskii, Alex Bennée, ulm, EMACS development team chad <yandros@gmail.com> writes: > As Eli said, Electron is covered by an MIT license. It describes itself with this sentence: > > Build cross-platform desktop apps with JavaScript, HTML, and CSS. > > It accomplishes this by uses Node.js, a JavaScript runtime built on > the V8 javascript engine of Chrome. Each Electron app comes with its > own integrated copy of Chromium (the "free" parts of Google's Chrome > web browser, released under a combination of 3-clause > BSD, MIT, [L]GPL, and MS's Shared Source licenses). Without > intensional malice, I'd call it a Frankenstein's monster of both code > and license. > > Its major features are (in my personal opinion): Google invests effort > into making it function well across major platforms, it's "free > enough" that it can be used by various open, free, and commercial > projects, and it lets people make "desktop apps" using the > widely-known web stack of JavaScript, HTML, and CSS. It can use native code via > Node's analog of an FFI. This combination is so widely spread and > optimized at this point that it's possible to get decent performance > alongside gui, threaded, network, etc. code. It also has a reputation > for being fairly bloated, in large part because each Electron app > brings its own copy of chromium, V8, node, etc. Similarly, Electron > apps are rarely well-integrated into a particular OS, since they're > mostly WWW technology; whether this bothers users or not is currently > a shifting topic, as ever more new users are used to using web-based > tech for much of their computer needs. Electron has freedom issues. (https://labs.parabola.nu/issues/1167) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 8:43 ` Po Lu @ 2020-04-21 8:44 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-21 8:44 UTC (permalink / raw) To: chad Cc: Richard Stallman, Eli Zaretskii, Alex Bennée, ulm, EMACS development team > Electron has freedom issues. (https://labs.parabola.nu/issues/1167) Some more relevant links: https://www.mail-archive.com/gnu-linux-libre@nongnu.org/msg02199.html https://bugs.chromium.org/p/chromium/issues/detail?id=28291 https://lists.gnu.org/archive/html/directory-discuss/2017-12/msg00008.html ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 14:31 ` Eli Zaretskii 2020-04-15 16:34 ` Ulrich Mueller @ 2020-04-15 17:15 ` Dmitry Gutov 2020-04-15 20:08 ` chad 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-15 17:15 UTC (permalink / raw) To: Eli Zaretskii; +Cc: ndame, rms, emacs-devel On 15.04.2020 17:31, Eli Zaretskii wrote: >> I think the difficulty here is to look "contemporary" and yet fit every >> platform Emacs is run on. Button widgets look different on each. Even >> between GUI toolkits. And change between releases. > > There are only 2 variants: native buttons (provided by some toolkit) > or the ones we draw ourselves. And there's no requirement that they > all look the same, I think: they should have the look-and-feel of the > toolkit being used. These are implementation options. But either the "ones we draw ourselves" are designed to fit each platform, or they looks the same across platforms, with our personal look. The latter option is sometimes taken by professional applications in which the user spends most of their time (e.g. Blender, or at least some of it earlier versions that I've tried). >> The other option, of course, is to look both modern and unique, but it's >> a harder proposition, especially without a graphical designer on the >> team. And this stuff gets outdated quickly. > > I think "modern and unique" is a contradiction of terms nowadays ;-) In principle, I disagree. But it's difficult, and it's a balancing act, of course, between having them look distinct and interesting, but still familiar enough, and not too "tacky" (meaning, a design too exotic can become an eyesore after a while). It's a problem that bigger companies put whole design departments on. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 17:15 ` Dmitry Gutov @ 2020-04-15 20:08 ` chad 2020-04-15 20:44 ` ndame 0 siblings, 1 reply; 605+ messages in thread From: chad @ 2020-04-15 20:08 UTC (permalink / raw) To: Dmitry Gutov Cc: Eli Zaretskii, EMACS development team, Richard Stallman, ndame [-- Attachment #1: Type: text/plain, Size: 3559 bytes --] For the original poster, because they might be used to running primarily a distribution-installed version of emacs: the code for unix-based GUIs has supported a variety of these sorts of elements for a very long time, depending (currently) on whether you build emacs with the Athena, Lucid, Motif, Athena3D, or gtk[,2,3] toolkits. Under macOS, one has the ns and mac ports, and under MS Windows, it uses the local gui toolkit (which I believe is the core W32 look and feel, not the frequently-shifting WPF, Windows Forms, Metro, UWP, etc. standards). Even within these systems, there are options inside emacs for giving buttons a 3D look or not, and there are many packages that add icons to emacs' display (via fonts, as far as I can tell) that can 'spiffy up' emacs considerably. It would probably be helpful for emacs' adoption if some of these gui enhancements could be added to emacs and/or ELPA more directly. To be specific, it would perhaps be helpful for emacs new-user adoption if people didn't feel the need to adopt a large integrated package like Spacemacs or DOOM emacs just to get graphical niceties -- not because those bundles are bad, but because they add a *lot* more than just the gui enhancements. The past couple years has seen a bit of an explosion of packages like better-defaults or "starter kits" that aim to improve the new-user experience without such a large overhead, but those still require getting emacs from somewhere other than GNU or the standard distrubutions, which is an extra hurdle. I would be happy to help with such an effort, but I'm unsure what sorts of changes would be acceptible to "core emacs", and I don't personally have anything major to add to the existing set of third-party starter kits or mega-bundles. If someone here had a clearer idea, that would be helpful. Maybe the first step is to try to get all-the-icons ( https://github.com/domtronn/all-the-icons.el) or an analogous package included in emacs? Hope that helps! Thanks, ~Chad On Wed, Apr 15, 2020 at 10:16 AM Dmitry Gutov <dgutov@yandex.ru> wrote: > On 15.04.2020 17:31, Eli Zaretskii wrote: > > >> I think the difficulty here is to look "contemporary" and yet fit every > >> platform Emacs is run on. Button widgets look different on each. Even > >> between GUI toolkits. And change between releases. > > > > There are only 2 variants: native buttons (provided by some toolkit) > > or the ones we draw ourselves. And there's no requirement that they > > all look the same, I think: they should have the look-and-feel of the > > toolkit being used. > > These are implementation options. But either the "ones we draw > ourselves" are designed to fit each platform, or they looks the same > across platforms, with our personal look. > > The latter option is sometimes taken by professional applications in > which the user spends most of their time (e.g. Blender, or at least some > of it earlier versions that I've tried). > > >> The other option, of course, is to look both modern and unique, but it's > >> a harder proposition, especially without a graphical designer on the > >> team. And this stuff gets outdated quickly. > > > > I think "modern and unique" is a contradiction of terms nowadays ;-) > > In principle, I disagree. But it's difficult, and it's a balancing act, > of course, between having them look distinct and interesting, but still > familiar enough, and not too "tacky" (meaning, a design too exotic can > become an eyesore after a while). It's a problem that bigger companies > put whole design departments on. > > [-- Attachment #2: Type: text/html, Size: 4258 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 20:08 ` chad @ 2020-04-15 20:44 ` ndame 2020-04-16 5:06 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-15 20:44 UTC (permalink / raw) To: chad; +Cc: Dmitry Gutov, Eli Zaretskii, Richard Stallman, EMACS development team > For the original poster, because they might be used to running > primarily a distribution-installed version of emacs: the code for > unix-based GUIs has supported a variety of these sorts of elements > for a very long time, depending (currently) on whether you build > emacs with the Athena, Lucid, Motif, Athena3D, or gtk[,2,3] > toolkits. Under macOS, one has the ns and mac ports, and under MS > Windows, it uses the local gui toolkit (which I believe is the core > W32 look and feel, not the frequently-shifting WPF, Windows Forms, > Metro, UWP, etc. standards). I use the official windows build and it looks like this which is definitely not how buttons look in windows dialogs: https://i.imgur.com/TjaMGwF.png The native buttons don't have a thick shadow like this. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 20:44 ` ndame @ 2020-04-16 5:06 ` Eli Zaretskii 2020-04-16 6:00 ` ndame 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 5:06 UTC (permalink / raw) To: ndame; +Cc: yandros, emacs-devel, rms, dgutov > Date: Wed, 15 Apr 2020 20:44:16 +0000 > From: ndame <ndame@protonmail.com> > Cc: Dmitry Gutov <dgutov@yandex.ru>, Eli Zaretskii <eliz@gnu.org>, > Richard Stallman <rms@gnu.org>, EMACS development team <emacs-devel@gnu.org> > > I use the official windows build and it looks like this which is > definitely not how buttons look in windows dialogs: > > https://i.imgur.com/TjaMGwF.png > > The native buttons don't have a thick shadow like this. We don't use the native buttons on MS-Windows. The only native widgets used on MS-Windows (AFAIR) are the menu bar and the scroll bars. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 5:06 ` Eli Zaretskii @ 2020-04-16 6:00 ` ndame 2020-04-16 14:26 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-16 6:00 UTC (permalink / raw) To: Eli Zaretskii Cc: yandros@gmail.com, dgutov@yandex.ru, rms@gnu.org, emacs-devel@gnu.org > > We don't use the native buttons on MS-Windows. The only native > widgets used on MS-Windows (AFAIR) are the menu bar and the scroll > bars. Interesting. I sort of assumed Emacs looks the same everywhere and thought all emacs users saw these old fashioned buttons if they open up Customize which I see on Windows. But if emacs uses native buttons elsewhere then it means Emacs can look much better on other platforms, at least as far as we consider GUI widgets. Wouldn't it make sense to use native controls on every graphical platform? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 6:00 ` ndame @ 2020-04-16 14:26 ` Eli Zaretskii 2020-04-16 15:52 ` ndame 2020-04-16 19:14 ` ndame 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 14:26 UTC (permalink / raw) To: ndame; +Cc: yandros, emacs-devel, rms, dgutov > Date: Thu, 16 Apr 2020 06:00:33 +0000 > From: ndame <ndame@protonmail.com> > Cc: "yandros@gmail.com" <yandros@gmail.com>, "dgutov@yandex.ru" <dgutov@yandex.ru>, "rms@gnu.org" <rms@gnu.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org> > > > > > > We don't use the native buttons on MS-Windows. The only native > > widgets used on MS-Windows (AFAIR) are the menu bar and the scroll > > bars. > > Interesting. I sort of assumed Emacs looks the same everywhere and > thought all emacs users saw these old fashioned buttons if they > open up Customize which I see on Windows. Emacs's look-and-feel varies depending on the toolkit used to build it. So it cannot look the same everywhere, not in every aspect of the GUI decorations and widgets. > But if emacs uses native buttons elsewhere then it means Emacs > can look much better on other platforms, at least as far as > we consider GUI widgets. I think you are generalizing too much here. We don't use toolkit widgets for every element of our GUI. So some "buttons" are native (for example, the tool bar of the GTK+ build), while others are not. Which toolkit build uses what widgets where depends on what the people who wrote the related code did, not some policy decision. And sometimes we even have options to let users choose between native and Emacs-implemented GUI elements, like the x-gtk-use-system-tooltips in the GTK builds. > Wouldn't it make sense to use native controls on every graphical > platform? That has advantages, of course, but also some disadvantages. Complexity of code is one of the disadvantages, because some widgets of some toolkits require special code (like separate input loops) to be able to use them, or because they have some limitations (e.g., GTK tooltips cannot display images, at least the way we invoke those tooltips. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 14:26 ` Eli Zaretskii @ 2020-04-16 15:52 ` ndame 2020-04-16 16:25 ` ndame 2020-04-17 2:25 ` Richard Stallman 2020-04-16 19:14 ` ndame 1 sibling, 2 replies; 605+ messages in thread From: ndame @ 2020-04-16 15:52 UTC (permalink / raw) To: Eli Zaretskii Cc: yandros@gmail.com, dgutov@yandex.ru, rms@gnu.org, emacs-devel@gnu.org On Thursday, April 16, 2020 4:26 PM, Eli Zaretskii <eliz@gnu.org> wrote: > I think you are generalizing too much here. We don't use toolkit > widgets for every element of our GUI. So some "buttons" are native > (for example, the tool bar of the GTK+ build), while others are not. I thought Customize buttons are native on some platforms, but I checked, and now I see they are just faces. It could improve appearance quite a lot if someone with a feel for graphical design took a look at faces and created some more modern looking defaults. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 15:52 ` ndame @ 2020-04-16 16:25 ` ndame 2020-04-17 2:25 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: ndame @ 2020-04-16 16:25 UTC (permalink / raw) To: Eli Zaretskii Cc: yandros@gmail.com, dgutov@yandex.ru, rms@gnu.org, emacs-devel@gnu.org > > It could improve appearance quite a lot if someone with a feel for graphical > design took a look at faces and created some more modern looking defaults. Though, of course, there is only so much you can do with colors to improve the graphical appearance. E.g. checking the GTK buttons they apparently have some small border and, of course, slightly rounded corners: https://i.stack.imgur.com/9PLof.png ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 15:52 ` ndame 2020-04-16 16:25 ` ndame @ 2020-04-17 2:25 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-17 2:25 UTC (permalink / raw) To: ndame; +Cc: eliz, emacs-devel, yandros, dgutov [[[ 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. ]]] > It could improve appearance quite a lot if someone with a feel for graphical > design took a look at faces and created some more modern looking defaults. It was very hard to work out a set of default faces that worked reasonably. We had to make change after change till everyone was happy with it. I think that the help of a graphics UI designer could enable us to make an improvement _if_ perse is capable of working within the constraints that we face. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 14:26 ` Eli Zaretskii 2020-04-16 15:52 ` ndame @ 2020-04-16 19:14 ` ndame 2020-04-16 19:26 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: ndame @ 2020-04-16 19:14 UTC (permalink / raw) To: Eli Zaretskii Cc: yandros@gmail.com, dgutov@yandex.ru, rms@gnu.org, emacs-devel@gnu.org > > some "buttons" are native > (for example, the tool bar of the GTK+ build), Just saw on reddit that a user posted a screenshot of an emacs toolbar with really sad looking icons at the end: https://i.imgur.com/6sIHOGt.png They reportedly appear when you invoke M-x report-emacs-bug I don't know what's going on here, but AFAIK there are GPLd iconsets for all kind of icons. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 19:14 ` ndame @ 2020-04-16 19:26 ` Eli Zaretskii 2020-04-16 19:33 ` ndame 2020-04-16 20:04 ` Dmitry Gutov 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 19:26 UTC (permalink / raw) To: ndame; +Cc: yandros, emacs-devel, rms, dgutov > Date: Thu, 16 Apr 2020 19:14:27 +0000 > From: ndame <ndame@protonmail.com> > Cc: "yandros@gmail.com" <yandros@gmail.com>, "dgutov@yandex.ru" <dgutov@yandex.ru>, "rms@gnu.org" <rms@gnu.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org> > > Just saw on reddit that a user posted a screenshot of an emacs > toolbar with really sad looking icons at the end: > > https://i.imgur.com/6sIHOGt.png > > They reportedly appear when you invoke M-x report-emacs-bug > > I don't know what's going on here, but AFAIK there are > GPLd iconsets for all kind of icons. Feel free to point us to GPLed icons that can be incorporated in Emacs. At the time, the situation was nowhere as easy as you imply, but maybe things have changed since then. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 19:26 ` Eli Zaretskii @ 2020-04-16 19:33 ` ndame 2020-04-16 20:04 ` Dmitry Gutov 1 sibling, 0 replies; 605+ messages in thread From: ndame @ 2020-04-16 19:33 UTC (permalink / raw) To: Eli Zaretskii Cc: yandros@gmail.com, dgutov@yandex.ru, rms@gnu.org, emacs-devel@gnu.org > > Feel free to point us to GPLed icons that can be incorporated in > Emacs. At the time, the situation was nowhere as easy as you imply, > but maybe things have changed since then. Aren't the icons used by GTK/Gnome GPL licensed? I assumed they were if GTK/Gnome uses them. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 19:26 ` Eli Zaretskii 2020-04-16 19:33 ` ndame @ 2020-04-16 20:04 ` Dmitry Gutov 2020-04-16 20:30 ` ndame 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-16 20:04 UTC (permalink / raw) To: Eli Zaretskii, ndame; +Cc: yandros, rms, emacs-devel On 16.04.2020 22:26, Eli Zaretskii wrote: > Feel free to point us to GPLed icons that can be incorporated in > Emacs. At the time, the situation was nowhere as easy as you imply, > but maybe things have changed since then. Are these okay? https://commons.wikimedia.org/wiki/GNOME_Desktop_icons And an older set: https://commons.wikimedia.org/wiki/Tango_icons (they're supposedly released under Creative Commons). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 20:04 ` Dmitry Gutov @ 2020-04-16 20:30 ` ndame 2020-04-17 7:06 ` Eli Zaretskii 2020-04-18 2:04 ` Richard Stallman 0 siblings, 2 replies; 605+ messages in thread From: ndame @ 2020-04-16 20:30 UTC (permalink / raw) To: Dmitry Gutov Cc: Eli Zaretskii, yandros@gmail.com, rms@gnu.org, emacs-devel@gnu.org > > Are these okay? > > https://commons.wikimedia.org/wiki/GNOME_Desktop_icons > There are also the KDE icon set, though it's LGPL 3 licensed. I don't know if it's OK in Emacs: https://github.com/KDE/oxygen-icons ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 20:30 ` ndame @ 2020-04-17 7:06 ` Eli Zaretskii 2020-04-17 7:28 ` Jean-Christophe Helary ` (2 more replies) 2020-04-18 2:04 ` Richard Stallman 1 sibling, 3 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 7:06 UTC (permalink / raw) To: ndame; +Cc: yandros, emacs-devel, rms, dgutov > Date: Thu, 16 Apr 2020 20:30:36 +0000 > From: ndame <ndame@protonmail.com> > Cc: Eli Zaretskii <eliz@gnu.org>, "yandros@gmail.com" <yandros@gmail.com>, "rms@gnu.org" <rms@gnu.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org> > > > Are these okay? > > > > https://commons.wikimedia.org/wiki/GNOME_Desktop_icons > > There are also the KDE icon set, though it's LGPL 3 licensed. > I don't know if it's OK in Emacs: > > https://github.com/KDE/oxygen-icons Someone™ needs to invest the time and effort to figure out the legal issues, find the icons that we want out of those which are legally fit, and post the resulting information. We did that process at the time (AFAIR, quite a few of our icons come from Gnome/GTK), and it wasn't easy. Alternatively, someone could create our own icons, in which case they could be even prettier than the ones pointed out here. In any case, this is a non-trivial job, and volunteers are most welcome to do it. I don't think anyone is happy about the icons shown on the tool bar by Message mode; the only reason we use them is that we couldn't find better ones that are free and suitable for inclusion in Emacs. Thanks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 7:06 ` Eli Zaretskii @ 2020-04-17 7:28 ` Jean-Christophe Helary 2020-04-17 10:00 ` Eli Zaretskii 2020-04-17 7:36 ` Stefan Kangas 2020-04-17 8:50 ` ndame 2 siblings, 1 reply; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-17 7:28 UTC (permalink / raw) To: emacs-devel > On Apr 17, 2020, at 16:06, Eli Zaretskii <eliz@gnu.org> wrote: > > In any case, this is a non-trivial job, and volunteers are most > welcome to do it. I don't think anyone is happy about the icons shown > on the tool bar by Message mode; the only reason we use them is that > we couldn't find better ones that are free and suitable for inclusion > in Emacs. What is the criteria for "suitable" ? Is that an esthetical one ? Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 7:28 ` Jean-Christophe Helary @ 2020-04-17 10:00 ` Eli Zaretskii 2020-04-21 23:54 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 10:00 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: emacs-devel > From: Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org> > Date: Fri, 17 Apr 2020 16:28:33 +0900 > > > On Apr 17, 2020, at 16:06, Eli Zaretskii <eliz@gnu.org> wrote: > > > > In any case, this is a non-trivial job, and volunteers are most > > welcome to do it. I don't think anyone is happy about the icons shown > > on the tool bar by Message mode; the only reason we use them is that > > we couldn't find better ones that are free and suitable for inclusion > > in Emacs. > > What is the criteria for "suitable" ? Is that an esthetical one ? "Suitable" in all the senses mentioned in this discussion. Including, but not limited to, aesthetics. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 10:00 ` Eli Zaretskii @ 2020-04-21 23:54 ` Dmitry Gutov 2020-04-22 13:21 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-21 23:54 UTC (permalink / raw) To: Eli Zaretskii, Jean-Christophe Helary; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1785 bytes --] On 17.04.2020 13:00, Eli Zaretskii wrote: >> From: Jean-Christophe Helary<jean.christophe.helary@traduction-libre.org> >> Date: Fri, 17 Apr 2020 16:28:33 +0900 >> >>> On Apr 17, 2020, at 16:06, Eli Zaretskii<eliz@gnu.org> wrote: >>> >>> In any case, this is a non-trivial job, and volunteers are most >>> welcome to do it. I don't think anyone is happy about the icons shown >>> on the tool bar by Message mode; the only reason we use them is that >>> we couldn't find better ones that are free and suitable for inclusion >>> in Emacs. >> What is the criteria for "suitable" ? Is that an esthetical one ? > "Suitable" in all the senses mentioned in this discussion. Including, > but not limited to, aesthetics. I have a suggestion that might circumvent this whole discussion. Just now, I turned on the toolbar and entered bug reporting mode with 'M-x report-emacs-bug'. I am using a GNOME theme specially made for Ubuntu. The attached picture shows a toolbar with an assortment of icons where about half obey the current theme and the rest don't. I also tried switching between icons themes to confirm this. The icons to the left of "Send Message", as well as the "Kill Message" icon, change together with the themes. The red round thingy with an "x" changes only with some themes, but not with the rest. Perhaps that means that the icon with that name/identifier is themed more rarely. But it's still somewhat standard. The rest of the icons ("Send Message", "Attach File" and the rest after it) never follow the theme. Perhaps the solution, at least for the GTK builds, would be to find the standard icons (more concretely, icon names) that can be used for these buttons, instead of picking among the icon sets. The latter should be the user's choice, after all. [-- Attachment #2: Screenshot from 2020-04-22 02-44-26.png --] [-- Type: image/png, Size: 94693 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 23:54 ` Dmitry Gutov @ 2020-04-22 13:21 ` Eli Zaretskii 2020-04-22 14:05 ` Clément Pit-Claudel 2020-04-23 12:36 ` Po Lu 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 13:21 UTC (permalink / raw) To: Dmitry Gutov; +Cc: jean.christophe.helary, emacs-devel > Cc: emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Wed, 22 Apr 2020 02:54:13 +0300 > > Just now, I turned on the toolbar and entered bug reporting mode with > 'M-x report-emacs-bug'. I am using a GNOME theme specially made for Ubuntu. I don't think I follow. Where can I find this "GNOME theme"? It's not part of the Emacs release tarball, is it? > The attached picture shows a toolbar with an assortment of icons where > about half obey the current theme and the rest don't. I also tried > switching between icons themes to confirm this. > > The icons to the left of "Send Message", as well as the "Kill Message" > icon, change together with the themes. The red round thingy with an "x" > changes only with some themes, but not with the rest. Perhaps that means > that the icon with that name/identifier is themed more rarely. But it's > still somewhat standard. > > The rest of the icons ("Send Message", "Attach File" and the rest after > it) never follow the theme. What exactly do you mean by "icons follow the theme"? how does a theme affect icons? > Perhaps the solution, at least for the GTK builds, would be to find the > standard icons (more concretely, icon names) that can be used for these > buttons AFAIR, last time we made such an effort, we indeed took icons from GTK or GNOME or from some similar collection. But that was a long time ago, and in particular the two rightmost icons you see in Message mode were not part of that set, they were added by someone later. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 13:21 ` Eli Zaretskii @ 2020-04-22 14:05 ` Clément Pit-Claudel 2020-04-22 14:29 ` Eli Zaretskii 2020-04-23 12:36 ` Po Lu 1 sibling, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-22 14:05 UTC (permalink / raw) To: emacs-devel On 22/04/2020 09.21, Eli Zaretskii wrote: >> Cc: emacs-devel@gnu.org >> From: Dmitry Gutov <dgutov@yandex.ru> >> Date: Wed, 22 Apr 2020 02:54:13 +0300 >> >> Just now, I turned on the toolbar and entered bug reporting mode with >> 'M-x report-emacs-bug'. I am using a GNOME theme specially made for Ubuntu. > > I don't think I follow. Where can I find this "GNOME theme"? It's > not part of the Emacs release tarball, is it? It's shipped by GNU/Linux distributions, typically. > What exactly do you mean by "icons follow the theme"? how does a theme > affect icons? In GTK builds (the default in Debian, and probably others), the toolbar uses icons from the current GTK icon theme. I believe this is done in update_frame_tool_bar in gtkutil.c. >> Perhaps the solution, at least for the GTK builds, would be to find the >> standard icons (more concretely, icon names) that can be used for these >> buttons > AFAIR, last time we made such an effort, we indeed took icons from GTK > or GNOME or from some similar collection. But that was a long time > ago, and in particular the two rightmost icons you see in Message mode > were not part of that set, they were added by someone later. It should be enough to change the name of the icons on the toolbar. No need to take icons from GTK (if that means copying files into the Emacs repo). Clément. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 14:05 ` Clément Pit-Claudel @ 2020-04-22 14:29 ` Eli Zaretskii 2020-04-22 15:17 ` Clément Pit-Claudel ` (2 more replies) 0 siblings, 3 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 14:29 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Wed, 22 Apr 2020 10:05:15 -0400 > > > I don't think I follow. Where can I find this "GNOME theme"? It's > > not part of the Emacs release tarball, is it? > > It's shipped by GNU/Linux distributions, typically. Any chance of getting a URL that I could explore? > > What exactly do you mean by "icons follow the theme"? how does a theme > > affect icons? > > In GTK builds (the default in Debian, and probably others), the toolbar uses icons from the current GTK icon theme. I believe this is done in update_frame_tool_bar in gtkutil.c. Then I don't understand the complaint. The icons that don't change are our private icons that aren't taken from GTK. So how can they "follow the theme", if they are absent there? > >> Perhaps the solution, at least for the GTK builds, would be to find the > >> standard icons (more concretely, icon names) that can be used for these > >> buttons > > > AFAIR, last time we made such an effort, we indeed took icons from GTK > > or GNOME or from some similar collection. But that was a long time > > ago, and in particular the two rightmost icons you see in Message mode > > were not part of that set, they were added by someone later. > > It should be enough to change the name of the icons on the toolbar. No need to take icons from GTK (if that means copying files into the Emacs repo). That would only help GTK users. I thought we wanted to improve the Emacs appearance on more than just one toolkit, especially since that toolkit is troubled and many users avoid building with it for that reason. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 14:29 ` Eli Zaretskii @ 2020-04-22 15:17 ` Clément Pit-Claudel 2020-04-24 3:25 ` message-mode toolbars, was: " Dmitry Gutov 2020-04-22 16:14 ` Dmitry Gutov 2020-04-22 16:16 ` Dmitry Gutov 2 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-22 15:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 22/04/2020 10.29, Eli Zaretskii wrote: >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Wed, 22 Apr 2020 10:05:15 -0400 >> >>> I don't think I follow. Where can I find this "GNOME theme"? It's >>> not part of the Emacs release tarball, is it? >> >> It's shipped by GNU/Linux distributions, typically. > > Any chance of getting a URL that I could explore? Yes, of course. Here is the theme used on my machine, for example: https://github.com/linuxmint/mint-y-icons strace-ing `emacs -Q' on my machine suggests that it loads the following icons for the default tool-bar: 13718:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/document-new.svg", O_RDONLY) = 15 13728:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/document-open.svg", O_RDONLY) = 15 13747:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/window-close.svg", O_RDONLY) = 15 13752:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/document-save.svg", O_RDONLY) = 15 13757:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/edit-undo.svg", O_RDONLY) = 15 13762:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/edit-cut.svg", O_RDONLY) = 15 13767:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/edit-copy.svg", O_RDONLY) = 15 13772:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/edit-paste.svg", O_RDONLY) = 15 13777:openat(AT_FDCWD, "/usr/share/icons/Mint-Y/actions/22/edit-find.svg", O_RDONLY) = 15 The icon naming spec is here: https://developer.gnome.org/icon-naming-spec/ >>> What exactly do you mean by "icons follow the theme"? how does a theme >>> affect icons? >> >> In GTK builds (the default in Debian, and probably others), the toolbar uses icons from the current GTK icon theme. I believe this is done in update_frame_tool_bar in gtkutil.c. > > Then I don't understand the complaint. The icons that don't change > are our private icons that aren't taken from GTK. So how can they > "follow the theme", if they are absent there? IIUC, the claim is that there (likely) are standard icons close to the ones we use, and that using the corresponding icon names would give us good-looking icons by default on Gtk. Concretely, for the actions shown in the message toolbar, this would be these: mail-attachment document-send or mail-send tools-check-spelling mail-mark-important The spec doesn't seem to have actions for marking an email unimportant or requesting an email receipt. >>>> Perhaps the solution, at least for the GTK builds, would be to find the >>>> standard icons (more concretely, icon names) that can be used for these >>>> buttons >> >>> AFAIR, last time we made such an effort, we indeed took icons from GTK >>> or GNOME or from some similar collection. But that was a long time >>> ago, and in particular the two rightmost icons you see in Message mode >>> were not part of that set, they were added by someone later. >> >> It should be enough to change the name of the icons on the toolbar. No need to take icons from GTK (if that means copying files into the Emacs repo). > > That would only help GTK users. I thought we wanted to improve the > Emacs appearance on more than just one toolkit, especially since that > toolkit is troubled and many users avoid building with it for that > reason. Sure, importing icons is also a good idea. But the OP was making the point that we can easily improve the situation without bikeshedding a specific icon choice by respecting existing user themes. Clément. ^ permalink raw reply [flat|nested] 605+ messages in thread
* message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-22 15:17 ` Clément Pit-Claudel @ 2020-04-24 3:25 ` Dmitry Gutov 2020-04-30 4:27 ` Lars Ingebrigtsen 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-24 3:25 UTC (permalink / raw) To: Clément Pit-Claudel, Eli Zaretskii Cc: Lars Magne Ingebrigtsen, emacs-devel On 22.04.2020 18:17, Clément Pit-Claudel wrote: > IIUC, the claim is that there (likely) are standard icons close to the ones we use, and that using the corresponding icon names would give us good-looking icons by default on Gtk. > Concretely, for the actions shown in the message toolbar, this would be these: > > mail-attachment > document-send or mail-send > tools-check-spelling > mail-mark-important Thanks for the list. Below is a patch that makes use of it. > The spec doesn't seem to have actions for marking an email unimportant or requesting an email receipt. Unfortunately, it doesn't. Nothing for "save-draft" either, but we're currently using the "gtk-close" icon for that. Also, I dug a little deeper into that rabbit hole, and turns out, Gnus normally defines two sets of icons for its toolbars. The first is called "gnome", and the other is "retro". And in 2016 the relevant check was reverted (commit d88118db37d), so we've been using the "retro" version since. I'm guessing Lars doesn't use GTK or toolbars at all. It seems the two versions of toolbars have diverged in contents too, so aside from reverting a part of that commit, someone will need to do the work of merging them. Hopefully into one. Anyway, here's the patch improving the icons a little: diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index adefa0efd6..bb6a55dc80 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -7969,7 +7969,7 @@ message-tool-bar-gnome (mml-attach-file "attach" mml-mode-map :vert-only t) (mml-preview "mail/preview" mml-mode-map) (mml-secure-message-sign-encrypt "lock" mml-mode-map :visible nil) - (message-insert-importance-high "important" nil :visible nil) + (message-insert-importance-high "mail/important" nil :visible nil) (message-insert-importance-low "unimportant" nil :visible nil) (message-insert-disposition-notification-to "receipt" nil :visible nil)) "List of items for the message tool bar (GNOME style). diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index 5b8feb14a5..865a8bd4c5 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el @@ -1413,7 +1413,7 @@ x-gtk-stock-map ("etc/images/info" . ("dialog-information" "gtk-info")) ("etc/images/bookmark_add" . "n:bookmark_add") ;; Used in Gnus and/or MH-E: - ("etc/images/attach" . "gtk-attach") + ("etc/images/attach" . ("mail-attachment" "gtk-attach")) ("etc/images/connect" . "gtk-connect") ("etc/images/contact" . "gtk-contact") ("etc/images/delete" . ("edit-delete" "gtk-delete")) @@ -1431,18 +1431,20 @@ x-gtk-stock-map ("etc/images/sort-descending" . ("view-sort-descending" "gtk-sort-descending")) ("etc/images/sort-row-ascending" . "gtk-sort-row-ascending") + ("etc/images/spell" . ("tools-check-spelling" "gtk-spell-check")) ("images/gnus/toggle-subscription" . "gtk-task-recurring") ("images/mail/compose" . "gtk-mail-compose") ("images/mail/copy" . "gtk-mail-copy") ("images/mail/forward" . "gtk-mail-forward") ("images/mail/inbox" . "gtk-inbox") + ("images/mail/important" . "mail-mark-important") ("images/mail/move" . "gtk-mail-move") ("images/mail/not-spam" . "gtk-not-spam") ("images/mail/outbox" . "gtk-outbox") ("images/mail/reply-all" . "gtk-mail-reply-to-all") ("images/mail/reply" . "gtk-mail-reply") ("images/mail/save-draft" . "gtk-mail-handling") - ("images/mail/send" . "gtk-mail-send") + ("images/mail/send" . ("mail-send" "gtk-mail-send")) ("images/mail/spam" . "gtk-spam") ;; Used for GDB Graphical Interface ("images/gud/break" . "gtk-no") ^ permalink raw reply related [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-24 3:25 ` message-mode toolbars, was: " Dmitry Gutov @ 2020-04-30 4:27 ` Lars Ingebrigtsen 2020-04-30 18:26 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Lars Ingebrigtsen @ 2020-04-30 4:27 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Clément Pit-Claudel, Eli Zaretskii, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: > I'm guessing Lars doesn't use GTK or toolbars at all. I use GTK, but not toolbars, no. > It seems the two versions of toolbars have diverged in contents too, > so aside from reverting a part of that commit, someone will need to do > the work of merging them. Hopefully into one. > > Anyway, here's the patch improving the icons a little: The patch makes sense to me, I think, so please go ahead and apply. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-30 4:27 ` Lars Ingebrigtsen @ 2020-04-30 18:26 ` Dmitry Gutov 2020-04-30 18:44 ` Eli Zaretskii 2020-04-30 22:16 ` Lars Ingebrigtsen 0 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-30 18:26 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Clément Pit-Claudel, Eli Zaretskii, emacs-devel Hi Lars, On 30.04.2020 07:27, Lars Ingebrigtsen wrote: >> It seems the two versions of toolbars have diverged in contents too, >> so aside from reverting a part of that commit, someone will need to do >> the work of merging them. Hopefully into one. >> >> Anyway, here's the patch improving the icons a little: > > The patch makes sense to me, I think, so please go ahead and apply. I was hoping we could get it into emacs-27, though. Probably a more expanded version too (I should look over several other toolbars). In the meantime, could you look into the problem of the "legacy" toolbar being used on full-color devices? The variable gmm-tool-bar-style, breakage in commit d88118db37dd543536677d7c4212a2c67621fb88. I can create a bug report, if you like. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-30 18:26 ` Dmitry Gutov @ 2020-04-30 18:44 ` Eli Zaretskii 2020-04-30 23:57 ` Dmitry Gutov 2020-04-30 22:16 ` Lars Ingebrigtsen 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-30 18:44 UTC (permalink / raw) To: Dmitry Gutov; +Cc: larsi, cpitclaudel, emacs-devel > Cc: Clément Pit-Claudel <cpitclaudel@gmail.com>, > Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Thu, 30 Apr 2020 21:26:09 +0300 > > > The patch makes sense to me, I think, so please go ahead and apply. > > I was hoping we could get it into emacs-27, though. Probably a more > expanded version too (I should look over several other toolbars). I don't think we should change look-and-feel during a pretest, sorry. These are sensitive issues that tend to trigger emotions, so we should let them live on master for some time before we release them. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-30 18:44 ` Eli Zaretskii @ 2020-04-30 23:57 ` Dmitry Gutov 2020-05-01 6:18 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-30 23:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, cpitclaudel, emacs-devel On 30.04.2020 21:44, Eli Zaretskii wrote: > I don't think we should change look-and-feel during a pretest, sorry. > These are sensitive issues that tend to trigger emotions, so we should > let them live on master for some time before we release them. Pardon me for insistence, but I've filed bug#40990. Perhaps we could see if there's any negative feedback at all? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-30 23:57 ` Dmitry Gutov @ 2020-05-01 6:18 ` Eli Zaretskii 0 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-05-01 6:18 UTC (permalink / raw) To: Dmitry Gutov; +Cc: larsi, cpitclaudel, emacs-devel > Cc: larsi@gnus.org, cpitclaudel@gmail.com, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Fri, 1 May 2020 02:57:59 +0300 > > On 30.04.2020 21:44, Eli Zaretskii wrote: > > I don't think we should change look-and-feel during a pretest, sorry. > > These are sensitive issues that tend to trigger emotions, so we should > > let them live on master for some time before we release them. > > Pardon me for insistence, but I've filed bug#40990. Thanks, I replied there. > Perhaps we could see if there's any negative feedback at all? I'd like to avoid waiting for feedback on this, so that Emacs 27.1 could be released sooner rather than later. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-30 18:26 ` Dmitry Gutov 2020-04-30 18:44 ` Eli Zaretskii @ 2020-04-30 22:16 ` Lars Ingebrigtsen 2020-04-30 22:44 ` Dmitry Gutov 2020-05-11 1:37 ` Dmitry Gutov 1 sibling, 2 replies; 605+ messages in thread From: Lars Ingebrigtsen @ 2020-04-30 22:16 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Clément Pit-Claudel, Eli Zaretskii, emacs-devel Dmitry Gutov <dgutov@yandex.ru> writes: > In the meantime, could you look into the problem of the "legacy" > toolbar being used on full-color devices? The variable > gmm-tool-bar-style, breakage in commit > d88118db37dd543536677d7c4212a2c67621fb88. I can create a bug report, > if you like. Oh, it's this bit? (defcustom gmm-tool-bar-style (if (and (boundp 'tool-bar-mode) tool-bar-mode - (and (fboundp 'display-visual-class) - (not (memq (display-visual-class) - (list 'static-gray 'gray-scale - 'static-color 'pseudo-color))))) + (memq (display-visual-class) + (list 'static-gray 'gray-scale + 'static-color 'pseudo-color))) 'gnome 'retro) Oops. Looks like I removed the `not' by mistake while I was cleaning up the foundp test somehow? That's clearly a regression and should be fixed on the emacs-27 branch, I think. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-30 22:16 ` Lars Ingebrigtsen @ 2020-04-30 22:44 ` Dmitry Gutov 2020-05-11 1:37 ` Dmitry Gutov 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-30 22:44 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Clément Pit-Claudel, Eli Zaretskii, emacs-devel On 01.05.2020 01:16, Lars Ingebrigtsen wrote: > Oh, it's this bit? > > (defcustom gmm-tool-bar-style > (if (and (boundp 'tool-bar-mode) > tool-bar-mode > - (and (fboundp 'display-visual-class) > - (not (memq (display-visual-class) > - (list 'static-gray 'gray-scale > - 'static-color 'pseudo-color))))) > + (memq (display-visual-class) > + (list 'static-gray 'gray-scale > + 'static-color 'pseudo-color))) > 'gnome > 'retro) > > Oops. Looks like I removed the `not' by mistake while I was cleaning up > the foundp test somehow? Yup. > That's clearly a regression and should be fixed on the emacs-27 branch, > I think. This breakage is from 2016, so it most likely got into Emacs 25. More importantly, while I'm all for fixing bugs, I think fixing it now will be more risky than my icons patch, because gmm-tool-bar-style affects which toolbar is shown. And for message-mode, at least, the 'gnome' and 'retro' toolbars have different contents. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: message-mode toolbars, was: Re: "Why is emacs so square?" 2020-04-30 22:16 ` Lars Ingebrigtsen 2020-04-30 22:44 ` Dmitry Gutov @ 2020-05-11 1:37 ` Dmitry Gutov 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-05-11 1:37 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Clément Pit-Claudel, Eli Zaretskii, emacs-devel On 01.05.2020 01:16, Lars Ingebrigtsen wrote: > Oh, it's this bit? > > (defcustom gmm-tool-bar-style > (if (and (boundp 'tool-bar-mode) > tool-bar-mode > - (and (fboundp 'display-visual-class) > - (not (memq (display-visual-class) > - (list 'static-gray 'gray-scale > - 'static-color 'pseudo-color))))) > + (memq (display-visual-class) > + (list 'static-gray 'gray-scale > + 'static-color 'pseudo-color))) > 'gnome > 'retro) > > Oops. Looks like I removed the `not' by mistake while I was cleaning up > the foundp test somehow? > > That's clearly a regression and should be fixed on the emacs-27 branch, > I think. Fixed on master now. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 14:29 ` Eli Zaretskii 2020-04-22 15:17 ` Clément Pit-Claudel @ 2020-04-22 16:14 ` Dmitry Gutov 2020-04-22 16:55 ` Eli Zaretskii 2020-04-22 17:32 ` chad 2020-04-22 16:16 ` Dmitry Gutov 2 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 16:14 UTC (permalink / raw) To: Eli Zaretskii, Clément Pit-Claudel; +Cc: emacs-devel On 22.04.2020 17:29, Eli Zaretskii wrote: >> It should be enough to change the name of the icons on the toolbar. No need to take icons from GTK (if that means copying files into the Emacs repo). > That would only help GTK users. Yes, indeed. But it's still probably the most popular toolkit among GNU/Linux users. > I thought we wanted to improve the > Emacs appearance on more than just one toolkit, On e.g. Lucid all icons come from the same set, at least. We can improve them as well (all together), but it's a fairly different task. Speaking of other platforms, I wonder if Windows and macOS also have have standard sets of icons. It would make our task easier (and the end result more native-looking) if we could use a similar approach. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:14 ` Dmitry Gutov @ 2020-04-22 16:55 ` Eli Zaretskii 2020-04-22 17:04 ` Clément Pit-Claudel ` (2 more replies) 2020-04-22 17:32 ` chad 1 sibling, 3 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 16:55 UTC (permalink / raw) To: Dmitry Gutov; +Cc: cpitclaudel, emacs-devel > Cc: emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Wed, 22 Apr 2020 19:14:01 +0300 > > On 22.04.2020 17:29, Eli Zaretskii wrote: > >> It should be enough to change the name of the icons on the toolbar. No need to take icons from GTK (if that means copying files into the Emacs repo). > > That would only help GTK users. > > Yes, indeed. But it's still probably the most popular toolkit among > GNU/Linux users. And the icons look the same, no matter what distribution are we talking about? Doesn't something depend also on the desktop that's in use, and perhaps also on the window manager? > > I thought we wanted to improve the > > Emacs appearance on more than just one toolkit, > > On e.g. Lucid all icons come from the same set, at least. We can improve > them as well (all together), but it's a fairly different task. > > Speaking of other platforms, I wonder if Windows and macOS also have > have standard sets of icons. "Standard" as in "subject to change without notice" each time the vendor decides to change the look-and-feel (which happens roughly every 2 to 3 years). And that's even before we solve the problem of showing those "standard" icons in Emacs -- e.g., on Windows it is customary to compile the icons into the binary, something that we cannot do and then distribute the binary from the GNU FTP site. > It would make our task easier (and the end result more native-looking) > if we could use a similar approach. I'm not sure I like this direction. It sounds like the opposite of having an Emacs that looks more or less the same on all major platforms. How will the users (and newbies at that, since we are talking about them primarily) be able to find their ways in Emacs, if the icons change with the desktop/platform, and every few years even on the same platform? E.g., you buy the Emacs manual printed a year or 2 ago, but the icons it shows are all different from what's on display. I don't even understand how will we be able to show the icons in our Info manual, if the images don't come with Emacs and are different on each platform/build. Do we really want to go in that direction? just to say we look "modern"? Something people should seriously think and make up their minds about before such decisions are made, I guess. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:55 ` Eli Zaretskii @ 2020-04-22 17:04 ` Clément Pit-Claudel 2020-04-22 17:06 ` Dmitry Gutov 2020-04-23 17:10 ` Juan José García-Ripoll 2 siblings, 0 replies; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-22 17:04 UTC (permalink / raw) To: Eli Zaretskii, Dmitry Gutov; +Cc: emacs-devel On 22/04/2020 12.55, Eli Zaretskii wrote: > I'm not sure I like this direction. It sounds like the opposite of > having an Emacs that looks more or less the same on all major > platforms. How will the users (and newbies at that, since we are > talking about them primarily) be able to find their ways in Emacs, if > the icons change with the desktop/platform, and every few years even > on the same platform? E.g., you buy the Emacs manual printed a year > or 2 ago, but the icons it shows are all different from what's on > display. I don't even understand how will we be able to show the > icons in our Info manual, if the images don't come with Emacs and are > different on each platform/build. Do we really want to go in that > direction? just to say we look "modern"? Something people should > seriously think and make up their minds about before such decisions > are made, I guess. This is a legitimate worry, but you have to balance it against consistency with other applications. When I change my desktop theme, icons change in most apps, and the same concept gets the same icon in all apps. Emacs is partly like that, partly not: some icons change and some don't. We can have a discussion on whether to use a unified icon set on all platforms, but in the meantime making Emacs' behavior consistent would be a plus, and should be an easy change. Clément. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:55 ` Eli Zaretskii 2020-04-22 17:04 ` Clément Pit-Claudel @ 2020-04-22 17:06 ` Dmitry Gutov 2020-04-22 17:19 ` Eli Zaretskii 2020-04-23 9:42 ` Stefan Kangas 2020-04-23 17:10 ` Juan José García-Ripoll 2 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 17:06 UTC (permalink / raw) To: Eli Zaretskii; +Cc: cpitclaudel, emacs-devel On 22.04.2020 19:55, Eli Zaretskii wrote: > And the icons look the same, no matter what distribution are we > talking about? Doesn't something depend also on the desktop that's in > use, and perhaps also on the window manager? No, the icons looks different across themes. Hence the whole notion of "icon themes". But the set of icon names is fairly stable. This is what we'd be relying on. See x-gtk-stock-map for some more detail. > I'm not sure I like this direction. It sounds like the opposite of > having an Emacs that looks more or less the same on all major > platforms. Right. It's already not the case. > How will the users (and newbies at that, since we are > talking about them primarily) be able to find their ways in Emacs, if > the icons change with the desktop/platform, and every few years even > on the same platform? People have been doing all right regarding that. At least, I haven't seen much criticism of GTK's approach in this regard. > E.g., you buy the Emacs manual printed a year > or 2 ago, but the icons it shows are all different from what's on > display. I don't even understand how will we be able to show the > icons in our Info manual, if the images don't come with Emacs and are > different on each platform/build. The window looks are different between platforms anyway. As well as such fundamental thing as the placement of window's close/maximize/iconize buttons. > Do we really want to go in that > direction? just to say we look "modern"? On GTK, we're already there. Since 22.2, apparently. Only we haven't been paying attention to keeping this feature in proper maintenance. I'm guessing because some of our core developers use other platforms, others build with Lucid, and the reset disable the toolbars? But that's not a good approach. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 17:06 ` Dmitry Gutov @ 2020-04-22 17:19 ` Eli Zaretskii 2020-04-22 17:34 ` Dmitry Gutov 2020-04-22 18:07 ` chad 2020-04-23 9:42 ` Stefan Kangas 1 sibling, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 17:19 UTC (permalink / raw) To: Dmitry Gutov; +Cc: cpitclaudel, emacs-devel > Cc: cpitclaudel@gmail.com, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Wed, 22 Apr 2020 20:06:08 +0300 > > On 22.04.2020 19:55, Eli Zaretskii wrote: > > And the icons look the same, no matter what distribution are we > > talking about? Doesn't something depend also on the desktop that's in > > use, and perhaps also on the window manager? > > No, the icons looks different across themes. Hence the whole notion of > "icon themes". But the set of icon names is fairly stable. This is what > we'd be relying on. But a given theme is not available universally, not even with the same toolkit, I guess? > > I'm not sure I like this direction. It sounds like the opposite of > > having an Emacs that looks more or less the same on all major > > platforms. > > Right. It's already not the case. Which is already bad, IMO. But before we make this a rule rather than an exception or a historical accident, we should think hard whether we really want that. Emacs is special in several ways, and one of them is its commonality -- you have only ever learn Emacs once, on one platform. It's why I can give advice on Reddit to people that use platforms I never did. So this will be a significant change in direction, at least in my eyes, and the decision should not be made casually, let alone by default. > > E.g., you buy the Emacs manual printed a year > > or 2 ago, but the icons it shows are all different from what's on > > display. I don't even understand how will we be able to show the > > icons in our Info manual, if the images don't come with Emacs and are > > different on each platform/build. > > The window looks are different between platforms anyway. No, not really. They are extremely similar, actually, modulo a few unimportant bells and whistles. At least the parts that are relevant to Emacs are almost identical. > On GTK, we're already there. Since 22.2, apparently. Only we haven't > been paying attention to keeping this feature in proper maintenance. I'm asking people to think whether we _want_ that. That we are one leg there doesn't yet mean we decided to do that consciously. You are suggesting to make that a policy, and that's a serious decision, IMO. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 17:19 ` Eli Zaretskii @ 2020-04-22 17:34 ` Dmitry Gutov 2020-04-22 18:09 ` Eli Zaretskii 2020-04-22 18:07 ` chad 1 sibling, 1 reply; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 17:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: cpitclaudel, emacs-devel On 22.04.2020 20:19, Eli Zaretskii wrote: >> No, the icons looks different across themes. Hence the whole notion of >> "icon themes". But the set of icon names is fairly stable. This is what >> we'd be relying on. > But a given theme is not available universally, not even with the same > toolkit, I guess? Indeed, it isn't. Although there's always the standard theme for GNOME (Adwaita) and the latest Ubuntu theme, we can look at those. I'm not sure how that's important, though. >> On GTK, we're already there. Since 22.2, apparently. Only we haven't >> been paying attention to keeping this feature in proper maintenance. > I'm asking people to think whether we_want_ that. That we are one > leg there doesn't yet mean we decided to do that consciously. You are > suggesting to make that a policy, and that's a serious decision, IMO. First of all, I'm suggesting we fix how the icons look in the GTK build. Then you are welcome to discuss whether macOS and Windows could use something like that. And whether they should. Since you're skeptical of this approach from the outset, I'd rather bow out of that discussion. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 17:34 ` Dmitry Gutov @ 2020-04-22 18:09 ` Eli Zaretskii 0 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 18:09 UTC (permalink / raw) To: Dmitry Gutov; +Cc: cpitclaudel, emacs-devel > Cc: cpitclaudel@gmail.com, emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Wed, 22 Apr 2020 20:34:45 +0300 > > >> On GTK, we're already there. Since 22.2, apparently. Only we haven't > >> been paying attention to keeping this feature in proper maintenance. > > I'm asking people to think whether we_want_ that. That we are one > > leg there doesn't yet mean we decided to do that consciously. You are > > suggesting to make that a policy, and that's a serious decision, IMO. > > First of all, I'm suggesting we fix how the icons look in the GTK build. Fixing them by replacing the current icons with prettier ones is okay. Using the toolkit icons everywhere, as a matter of policy, is a different matter. > Then you are welcome to discuss whether macOS and Windows could use > something like that. And whether they should. Since you're skeptical of > this approach from the outset, I'd rather bow out of that discussion. Forget MS-Windows and macOS, that's not my worry right now. IIUC, your suggestion was to use whatever native icons each toolkit offers on Posix platforms as well, and it wasn't limited to GTK. That is the decision I was talking about. I myself have no strong opinions on this, only weak ones. But no serious decision-making should happen without a "red team" on board making sure we don't fall victim to groupthink simply because no one dares to ask a question about the nature of emperor's clothes. I tried to present arguments to the contrary with that in mind, so people could consider both sides. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 17:19 ` Eli Zaretskii 2020-04-22 17:34 ` Dmitry Gutov @ 2020-04-22 18:07 ` chad 2020-04-22 18:24 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: chad @ 2020-04-22 18:07 UTC (permalink / raw) To: Eli Zaretskii Cc: Clément Pit-Claudel, EMACS development team, Dmitry Gutov [-- Attachment #1: Type: text/plain, Size: 2126 bytes --] On Wed, Apr 22, 2020 at 10:20 AM Eli Zaretskii <eliz@gnu.org> wrote: > > The window looks are different between platforms anyway. > > No, not really. They are extremely similar, actually, modulo a few > unimportant bells and whistles. At least the parts that are relevant > to Emacs are almost identical. > I would agree with this "not really" sentiment, but extend it to include the differences between icon themes, and where such things work at the OS level, between OS's. The point of icon themes is to make them all fit together, and the point of standardized system icons is to have them all fit together, and the users have shown (for many, many years now) that they understand this, and can handle the shifts with aplomb. Yes, it is possible for someone to install a wacky gui-customization pack that changes the left-arrow into a sausage and the file-folder into a rainbow, but the only people who do such things are askign for exactly that behavior, and aren't going to be upset that emacs' toolbar changes along with everything else. As a practical matter, emacs will need a set of reasonable fallback defaults, for systems that don't have system-wide settings; we can continue to use those when the gui environment doesn't help us. The result will certainly look no worse than the current mixture of icons one can find in the emacs toolbar. It's very likely that we can improve that set of fallbacks by adopting a single source for them, such as the GTK or KDE options mentioned earlier. A techincal wrinkle here is how those icons are displayed and how they're stored inside emacs. By way of example, the two KDE icon sets that were suggested (Breeze and Oxygen) use different file formats: one uses PNG images; the other SVG. (Oddly, the SVG images are distributed in several different sizes, which would seem to belie the advantage of using scalable images in the first place.) Scalable icons like SVG would be nice for the current era of high- and low-density displays, but my understanding is that SVG is the least well supported image format inside emacs across our various platforms these days. ~Chad [-- Attachment #2: Type: text/html, Size: 2573 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 18:07 ` chad @ 2020-04-22 18:24 ` Eli Zaretskii 2020-04-22 18:45 ` Dmitry Gutov 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 18:24 UTC (permalink / raw) To: chad; +Cc: cpitclaudel, emacs-devel, dgutov > From: chad <yandros@gmail.com> > Date: Wed, 22 Apr 2020 11:07:32 -0700 > Cc: Dmitry Gutov <dgutov@yandex.ru>, Clément Pit-Claudel <cpitclaudel@gmail.com>, > EMACS development team <emacs-devel@gnu.org> > > I would agree with this "not really" sentiment, but extend it to include the differences between icon themes, > and where such things work at the OS level, between OS's. The point of icon themes is to make them all fit > together, and the point of standardized system icons is to have them all fit together, and the users have > shown (for many, many years now) that they understand this, and can handle the shifts with aplomb. Yes, it > is possible for someone to install a wacky gui-customization pack that changes the left-arrow into a sausage > and the file-folder into a rainbow, but the only people who do such things are askign for exactly that behavior, > and aren't going to be upset that emacs' toolbar changes along with everything else. There's no argument that having a capability to change the set of icons as part of a theme would be a good feature for Emacs to have. So arguments for having that are, from my POV, preaching to the choir. The argument, or at least its part about which I expressed concerns, was to use exclusively the icons provided by the toolkit+desktop that happen to be in use. That's an entirely different matter, if we want to make it pour policy. > As a practical matter, emacs will need a set of reasonable fallback defaults, for systems that don't have > system-wide settings Only if we decide we _want_ to use those system-wide defaults where they do exist. > A techincal wrinkle here is how those icons are displayed and how they're stored inside emacs. They aren't. They are separate image files which we load when needed. And I think it should be left that way, because it will make it easier for us to include new icons in the distribution. > By way of > example, the two KDE icon sets that were suggested (Breeze and Oxygen) use different file formats: one > uses PNG images; the other SVG. (Oddly, the SVG images are distributed in several different sizes, which > would seem to belie the advantage of using scalable images in the first place.) Scalable icons like SVG > would be nice for the current era of high- and low-density displays, but my understanding is that SVG is the > least well supported image format inside emacs across our various platforms these days. SVG is IMO a PITA because librsvg is a monster. But other than that, SVG images are a fait accompli, and we need to support them well. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 18:24 ` Eli Zaretskii @ 2020-04-22 18:45 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 18:45 UTC (permalink / raw) To: Eli Zaretskii, chad; +Cc: cpitclaudel, emacs-devel On 22.04.2020 21:24, Eli Zaretskii wrote: > The argument, or at least its part about which I expressed concerns, > was to use exclusively the icons provided by the toolkit+desktop that > happen to be in use. That's an entirely different matter, if we want > to make it pour policy. Adding a user option disabling the toolkit-desktop icons and switching to the fallback shouldn't be too hard. But I think it's worth our effort to try to integrate first. It's what users generally expect from applications, and the effect is that the program fits the desktop environment better. I hear this sentiment is particularly strong among macOS users. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 17:06 ` Dmitry Gutov 2020-04-22 17:19 ` Eli Zaretskii @ 2020-04-23 9:42 ` Stefan Kangas 2020-04-23 15:04 ` Eli Zaretskii 2020-04-23 20:36 ` Alan Third 1 sibling, 2 replies; 605+ messages in thread From: Stefan Kangas @ 2020-04-23 9:42 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Eli Zaretskii, Clément Pit-Claudel, Emacs developers Dmitry Gutov <dgutov@yandex.ru> writes: > On GTK, we're already there. Since 22.2, apparently. Only we haven't > been paying attention to keeping this feature in proper maintenance. By the way, etc/images/README says: * The default GTK icons were not overridden by the GNOME theme due to a bug which was fixed in GNOME 2.15. Once GNOME 2.16 is in wide circulation, the GTK icons should be replaced with the equivalent GNOME icons. Does that mean there is some action that was planned but never performed? Gnome 2.16 was released in 2006. Emacs on my macOS machine seems to use the icons from etc/images. On GNU/Linux (GTK) there is a different set of icons which arguably look more "modern". Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 9:42 ` Stefan Kangas @ 2020-04-23 15:04 ` Eli Zaretskii 2020-04-23 21:46 ` Dmitry Gutov 2020-04-23 20:36 ` Alan Third 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-23 15:04 UTC (permalink / raw) To: Stefan Kangas; +Cc: cpitclaudel, emacs-devel, dgutov > From: Stefan Kangas <stefan@marxist.se> > Date: Thu, 23 Apr 2020 11:42:44 +0200 > Cc: Eli Zaretskii <eliz@gnu.org>, Clément Pit-Claudel <cpitclaudel@gmail.com>, > Emacs developers <emacs-devel@gnu.org> > > Dmitry Gutov <dgutov@yandex.ru> writes: > > By the way, etc/images/README says: > > * The default GTK icons were not overridden by the GNOME theme due to > a bug which was fixed in GNOME 2.15. Once GNOME 2.16 is in wide > circulation, the GTK icons should be replaced with the equivalent > GNOME icons. > > Does that mean there is some action that was planned but never > performed? Gnome 2.16 was released in 2006. Please read this longish old discussion: https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00258.html The answer to this question might be buried somewhere in it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 15:04 ` Eli Zaretskii @ 2020-04-23 21:46 ` Dmitry Gutov 0 siblings, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-23 21:46 UTC (permalink / raw) To: Eli Zaretskii, Stefan Kangas; +Cc: cpitclaudel, Chong Yidong, emacs-devel On 23.04.2020 18:04, Eli Zaretskii wrote: >> From: Stefan Kangas<stefan@marxist.se> >> Date: Thu, 23 Apr 2020 11:42:44 +0200 >> Cc: Eli Zaretskii<eliz@gnu.org>, Clément Pit-Claudel<cpitclaudel@gmail.com>, >> Emacs developers<emacs-devel@gnu.org> >> >> Dmitry Gutov<dgutov@yandex.ru> writes: >> >> By the way, etc/images/README says: >> >> * The default GTK icons were not overridden by the GNOME theme due to >> a bug which was fixed in GNOME 2.15. Once GNOME 2.16 is in wide >> circulation, the GTK icons should be replaced with the equivalent >> GNOME icons. >> >> Does that mean there is some action that was planned but never >> performed? Gnome 2.16 was released in 2006. > Please read this longish old discussion: > > https://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00258.html > > The answer to this question might be buried somewhere in it. I've made an attempt, but the discussion is about copyright and providence of files, whereas the note seems to be about some functional problem. I don't really understand it what it recommends we do now. It would seem as if GNOME icons can override GTK ones now (in some case where it couldn't before (?)), we could distribute GTK icons now and rely on GNOME to override them as appropriate? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-23 9:42 ` Stefan Kangas 2020-04-23 15:04 ` Eli Zaretskii @ 2020-04-23 20:36 ` Alan Third 1 sibling, 0 replies; 605+ messages in thread From: Alan Third @ 2020-04-23 20:36 UTC (permalink / raw) To: Stefan Kangas Cc: Eli Zaretskii, Emacs developers, Clément Pit-Claudel, Dmitry Gutov On Thu, Apr 23, 2020 at 11:42:44AM +0200, Stefan Kangas wrote: > Emacs on my macOS machine seems to use the icons from etc/images. On > GNU/Linux (GTK) there is a different set of icons which arguably look > more "modern". I could be wrong, but I think some distributions swap in different images so they better match the default look of their desktop. -- Alan Third ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:55 ` Eli Zaretskii 2020-04-22 17:04 ` Clément Pit-Claudel 2020-04-22 17:06 ` Dmitry Gutov @ 2020-04-23 17:10 ` Juan José García-Ripoll 2 siblings, 0 replies; 605+ messages in thread From: Juan José García-Ripoll @ 2020-04-23 17:10 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > "Standard" as in "subject to change without notice" each time the > vendor decides to change the look-and-feel (which happens roughly > every 2 to 3 years). In Windows there are no standard icons, but a few ones signifying warnings (https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-loadicona) This said, there are some DLLs that have broad sets of icons and that are available, some since Windows 95, some since Windows XP. They have not changed and can be used https://www.digitalcitizen.life/where-find-most-windows-10s-native-icons This webpage provides a reference by library and code https://diymediahome.org/windows-icons-reference-list-with-details-locations-images/ However, the default set of icons is obviously deficient in that it does not provide the icons an editor application requires: open, save, print, etc. Definitely I would not recommend this path, but I would encourage having some higher resolution icons available in PNG format, for those who use them (I disable toolbar in my computers). Cheers -- Juan José García Ripoll http://juanjose.garciaripoll.com http://quinfog.hbar.es ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:14 ` Dmitry Gutov 2020-04-22 16:55 ` Eli Zaretskii @ 2020-04-22 17:32 ` chad 1 sibling, 0 replies; 605+ messages in thread From: chad @ 2020-04-22 17:32 UTC (permalink / raw) To: Dmitry Gutov Cc: Eli Zaretskii, Clément Pit-Claudel, EMACS development team [-- Attachment #1: Type: text/plain, Size: 676 bytes --] On Wed, Apr 22, 2020 at 9:14 AM Dmitry Gutov <dgutov@yandex.ru> wrote: > Speaking of other platforms, I wonder if Windows and macOS also have > have standard sets of icons. > > It would make our task easier (and the end result more native-looking) > if we could use a similar approach. > Apple publishes a set of system icons for macOS (and its other OS's, if that matters to anyone) as part of it's Human Interface Guidelines. These are tweaked and updated with OS version, but usually are stable over several major versions. The current set can be found here: https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/system-icons/ HTH, ~Chad [-- Attachment #2: Type: text/html, Size: 1168 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 14:29 ` Eli Zaretskii 2020-04-22 15:17 ` Clément Pit-Claudel 2020-04-22 16:14 ` Dmitry Gutov @ 2020-04-22 16:16 ` Dmitry Gutov 2020-04-22 16:22 ` Eli Zaretskii 2020-04-22 16:29 ` Robert Pluim 2 siblings, 2 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-22 16:16 UTC (permalink / raw) To: Eli Zaretskii, Clément Pit-Claudel; +Cc: emacs-devel On 22.04.2020 17:29, Eli Zaretskii wrote: > especially since that > toolkit is troubled and many users avoid building with it for that > reason. Also, I think we're planning (at least as a wishlist item) to solve this my making a "proper" GTK backend instead of removing it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:16 ` Dmitry Gutov @ 2020-04-22 16:22 ` Eli Zaretskii 2020-04-22 16:29 ` Robert Pluim 1 sibling, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-22 16:22 UTC (permalink / raw) To: Dmitry Gutov; +Cc: cpitclaudel, emacs-devel > Cc: emacs-devel@gnu.org > From: Dmitry Gutov <dgutov@yandex.ru> > Date: Wed, 22 Apr 2020 19:16:48 +0300 > > On 22.04.2020 17:29, Eli Zaretskii wrote: > > especially since that > > toolkit is troubled and many users avoid building with it for that > > reason. > > Also, I think we're planning (at least as a wishlist item) to solve this > my making a "proper" GTK backend instead of removing it. Nothing practical, AFAIK. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:16 ` Dmitry Gutov 2020-04-22 16:22 ` Eli Zaretskii @ 2020-04-22 16:29 ` Robert Pluim 2020-04-22 18:02 ` Iñigo Serna 1 sibling, 1 reply; 605+ messages in thread From: Robert Pluim @ 2020-04-22 16:29 UTC (permalink / raw) To: Dmitry Gutov; +Cc: Eli Zaretskii, Clément Pit-Claudel, emacs-devel >>>>> On Wed, 22 Apr 2020 19:16:48 +0300, Dmitry Gutov <dgutov@yandex.ru> said: Dmitry> On 22.04.2020 17:29, Eli Zaretskii wrote: >> especially since that >> toolkit is troubled and many users avoid building with it for that >> reason. Dmitry> Also, I think we're planning (at least as a wishlist item) to solve Dmitry> this my making a "proper" GTK backend instead of removing it. Making a proper GTK backend will not remove the reason that people build with lucid, which is wanting emacs to be able to survive X disconnects, unless we have evidence that proper GTK works in that scenario. It will help with things like HiDPI autoscaling, and maybe frame resizing. Someone in this thread mentioned they were working on a 'proper' GTK backend, is that anywhere near useable yet? Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 16:29 ` Robert Pluim @ 2020-04-22 18:02 ` Iñigo Serna 2020-04-22 18:05 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Iñigo Serna @ 2020-04-22 18:02 UTC (permalink / raw) To: Robert Pluim Cc: Eli Zaretskii, emacs-devel, Clément Pit-Claudel, Dmitry Gutov On 22 April 2020 at 18:29 +02, Robert Pluim <rpluim@gmail.com> wrote: > Someone in this thread mentioned they were working on a 'proper' GTK > backend, is that anywhere near useable yet? I've been lucky enough to test Po Lu's work over the last couple of weeks, and although it's still WIP and there are still things to work on - in my tests, mainly related to the keyboard - the result is quite stable, and visually excellent. For instance, look at the screenshot he attached a couple of days ago to one of his first emails in this thread. I don't want to steal the attention Po Lu deserves, so I won't comment any further, and let him to show it by himself, but I'm really excited with his work. Regards, Iñigo ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 18:02 ` Iñigo Serna @ 2020-04-22 18:05 ` Robert Pluim 0 siblings, 0 replies; 605+ messages in thread From: Robert Pluim @ 2020-04-22 18:05 UTC (permalink / raw) To: Iñigo Serna Cc: Eli Zaretskii, emacs-devel, Clément Pit-Claudel, Dmitry Gutov >>>>> On Wed, 22 Apr 2020 20:02:16 +0200, Iñigo Serna <inigoserna@gmx.com> said: Iñigo> On 22 April 2020 at 18:29 +02, Robert Pluim <rpluim@gmail.com> wrote: >> Someone in this thread mentioned they were working on a 'proper' GTK >> backend, is that anywhere near useable yet? Iñigo> I've been lucky enough to test Po Lu's work over the last couple of Iñigo> weeks, and although it's still WIP and there are still things to work on Iñigo> - in my tests, mainly related to the keyboard - the result is quite stable, Iñigo> and visually excellent. Iñigo> For instance, look at the screenshot he attached a couple of days ago to Iñigo> one of his first emails in this thread. Iñigo> I don't want to steal the attention Po Lu deserves, so I won't comment Iñigo> any further, and let him to show it by himself, but I'm really excited Iñigo> with his work. As am I. Thereʼs no hurry, but I look forward to testing it. Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-22 13:21 ` Eli Zaretskii 2020-04-22 14:05 ` Clément Pit-Claudel @ 2020-04-23 12:36 ` Po Lu 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-23 12:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Dmitry Gutov, jean.christophe.helary, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: > I don't think I follow. Where can I find this "GNOME theme"? It's > not part of the Emacs release tarball, is it? GTK has their own stylesheet system. I believe that's what Dimitry was refering to. > What exactly do you mean by "icons follow the theme"? how does a theme > affect icons? It's common practice for GTK themes that change the look-and-feel a lot to provide an accompanying XDG icon theme, and that's what the icons in `x-gtk-stock-map` obey. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 7:06 ` Eli Zaretskii 2020-04-17 7:28 ` Jean-Christophe Helary @ 2020-04-17 7:36 ` Stefan Kangas 2020-04-17 9:51 ` Eli Zaretskii 2020-04-17 8:50 ` ndame 2 siblings, 1 reply; 605+ messages in thread From: Stefan Kangas @ 2020-04-17 7:36 UTC (permalink / raw) To: Eli Zaretskii Cc: yandros, Emacs developers, Dmitry Gutov, Richard Stallman, ndame Eli Zaretskii <eliz@gnu.org> writes: > Someone™ needs to invest the time and effort to figure out the legal > issues, find the icons that we want out of those which are legally > fit, and post the resulting information. We did that process at the > time (AFAIR, quite a few of our icons come from Gnome/GTK), and it > wasn't easy. > > Alternatively, someone could create our own icons, in which case they > could be even prettier than the ones pointed out here. Would it make sense to add an entry about this to the TODO file? Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 7:36 ` Stefan Kangas @ 2020-04-17 9:51 ` Eli Zaretskii 0 siblings, 0 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 9:51 UTC (permalink / raw) To: Stefan Kangas; +Cc: yandros, emacs-devel, dgutov, rms, ndame > From: Stefan Kangas <stefan@marxist.se> > Date: Fri, 17 Apr 2020 09:36:15 +0200 > Cc: ndame <ndame@protonmail.com>, yandros@gmail.com, > Emacs developers <emacs-devel@gnu.org>, Richard Stallman <rms@gnu.org>, Dmitry Gutov <dgutov@yandex.ru> > > > Alternatively, someone could create our own icons, in which case they > > could be even prettier than the ones pointed out here. > > Would it make sense to add an entry about this to the TODO file? Sure, why not? However, the entry would be more useful if it listed the necessary requirements, legal and otherwise. Thanks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 7:06 ` Eli Zaretskii 2020-04-17 7:28 ` Jean-Christophe Helary 2020-04-17 7:36 ` Stefan Kangas @ 2020-04-17 8:50 ` ndame 2020-04-17 9:59 ` Eli Zaretskii 2 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-17 8:50 UTC (permalink / raw) To: Eli Zaretskii Cc: dgutov@yandex.ru, yandros@gmail.com, rms@gnu.org, emacs-devel@gnu.org > > Someone™ needs to invest the time and effort to figure out the legal > issues, find the icons that we want out of those which are legally > fit, and post the resulting information. We did that process at the > time (AFAIR, quite a few of our icons come from Gnome/GTK), and it > wasn't easy. What was the problem exactly? Gnome is a venerable free software project, so I assume they pay attention to proper licensing. Isn't their icons safe to use if they publish them with a GPL2 license? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 8:50 ` ndame @ 2020-04-17 9:59 ` Eli Zaretskii 2020-04-17 16:08 ` ndame 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 9:59 UTC (permalink / raw) To: ndame; +Cc: yandros, emacs-devel, rms, dgutov > Date: Fri, 17 Apr 2020 08:50:07 +0000 > From: ndame <ndame@protonmail.com> > Cc: "dgutov@yandex.ru" <dgutov@yandex.ru>, "yandros@gmail.com" <yandros@gmail.com>, "rms@gnu.org" <rms@gnu.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org> > > > > > Someone™ needs to invest the time and effort to figure out the legal > > issues, find the icons that we want out of those which are legally > > fit, and post the resulting information. We did that process at the > > time (AFAIR, quite a few of our icons come from Gnome/GTK), and it > > wasn't easy. > > What was the problem exactly? Gnome is a venerable free software > project, so I assume they pay attention to proper licensing. I'm sorry, I don't remember. This was many years ago. Please look in the archives. > Isn't their icons safe to use if they publish them with a GPL2 license? IANAL, but I think it has to be GPL v2+ at least. And perhaps we would also need the copyright assigned to the FSF. Once again, this is a non-trivial job to do, a discussion in a mailing list will not solve it, trust me. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 9:59 ` Eli Zaretskii @ 2020-04-17 16:08 ` ndame 2020-04-18 2:04 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-17 16:08 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel@gnu.org > > IANAL, but I think it has to be GPL v2+ at least. And perhaps we > would also need the copyright assigned to the FSF. > The Gnome icons have GPL2 license already, so hopefully Richard can enlighten us if copyright assignment of them to the FSF is necessary or not. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 16:08 ` ndame @ 2020-04-18 2:04 ` Richard Stallman 2020-04-18 9:53 ` Robert Pluim 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-18 2:04 UTC (permalink / raw) To: ndame; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The Gnome icons have GPL2 license already, Is it GPL version-2-only or GPL version-2-or-later? -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 2:04 ` Richard Stallman @ 2020-04-18 9:53 ` Robert Pluim 2020-04-18 16:20 ` ndame 2020-04-19 2:20 ` "Why is emacs so square?" Richard Stallman 0 siblings, 2 replies; 605+ messages in thread From: Robert Pluim @ 2020-04-18 9:53 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel, ndame >>>>> On Fri, 17 Apr 2020 22:04:03 -0400, Richard Stallman <rms@gnu.org> said: Richard> [[[ To any NSA and FBI agents reading my email: please consider ]]] Richard> [[[ whether defending the US Constitution against all enemies, ]]] Richard> [[[ foreign or domestic, requires you to follow Snowden's example. ]]] >> The Gnome icons have GPL2 license already, Richard> Is it GPL version-2-only or GPL version-2-or-later? I think wikimedia is outdated. <https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/blob/master/COPYING> says: This work is licenced under the terms of either the GNU LGPL v3 or Creative Commons Attribution-Share Alike 3.0 United States License. To view a copy of the CC-BY-SA licence, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. When attributing the artwork, using "GNOME Project" is enough. Please link to http://www.gnome.org where available. (no "or later" clause, though, unless that transitively comes in via LGPL-3 or GPL-3). Robert ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 9:53 ` Robert Pluim @ 2020-04-18 16:20 ` ndame 2020-04-19 6:02 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") Po Lu 2020-04-19 2:20 ` "Why is emacs so square?" Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: ndame @ 2020-04-18 16:20 UTC (permalink / raw) To: Robert Pluim; +Cc: Richard Stallman, emacs-devel@gnu.org > > I think wikimedia is outdated. The Gnome icons at https://commons.wikimedia.org/wiki/GNOME_Desktop_icons are apparently for an earlier, obsolete version. I downloaded the indicated version (gnome-icon-theme 2.20.0) and the files in it were last changed in 2007, but the icons still look nice. Emacs could benefit from using these icons too, even if they are obsolete, because they are consistent and look good. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs (was: "Why is emacs so square?") 2020-04-18 16:20 ` ndame @ 2020-04-19 6:02 ` Po Lu 2020-04-19 6:52 ` Improving icons shipped with Emacs Po Lu 2020-04-19 7:04 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") ndame 0 siblings, 2 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 6:02 UTC (permalink / raw) To: ndame; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org ndame <ndame@protonmail.com> writes: > The Gnome icons at https://commons.wikimedia.org/wiki/GNOME_Desktop_icons > are apparently for an earlier, obsolete version. I downloaded the indicated > version (gnome-icon-theme 2.20.0) and the files in it were last changed in 2007, > but the icons still look nice. > > Emacs could benefit from using these icons too, even if they are obsolete, > because they are consistent and look good. Agreed. We could also add more GTK icons to x-gtk-stock-map as a temporary measure for right now, since they are the icons that are used in X11/GTK builds of Emacs, and my anecdotal experience tells me that's the version of Emacs most beginners are likely to use. In the long term, we really need to get rid of the legacy icons, many of which are derived from the original X Window System distribution, and are beginning to look highly out-of-date. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs 2020-04-19 6:02 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") Po Lu @ 2020-04-19 6:52 ` Po Lu 2020-04-19 7:04 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") ndame 1 sibling, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 6:52 UTC (permalink / raw) To: ndame; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org By > Agreed. We could also add more GTK icons to x-gtk-stock-map as a temporary > measure for right now, since they are the icons that are used in X11/GTK > builds of Emacs, and my anecdotal experience tells me that's the version > of Emacs most beginners are likely to use. I meant > Agreed. We could also add more GTK icons to x-gtk-stock-map as a temporary > measure for right now, since they are the icons that are used in X11+GTK > builds of Emacs, and my anecdotal experience tells me that's the version > of Emacs most beginners are likely to use. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs (was: "Why is emacs so square?") 2020-04-19 6:02 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") Po Lu 2020-04-19 6:52 ` Improving icons shipped with Emacs Po Lu @ 2020-04-19 7:04 ` ndame 2020-04-19 7:06 ` Improving icons shipped with Emacs Po Lu 1 sibling, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 7:04 UTC (permalink / raw) To: Po Lu; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org > > Emacs could benefit from using these icons too, even if they are obsolete, > > because they are consistent and look good. > > Agreed. We could also add more GTK icons to x-gtk-stock-map as a temporary > measure for right now, since they are the icons that are used in X11/GTK > builds of Emacs, and my anecdotal experience tells me that's the version > of Emacs most beginners are likely to use. I wonder if icons in an obsolete gnome branch can be relicensed. It's GPL2 currently. It has a standard GPL2 copying file in the tree and no more: https://launchpad.net/gnome-icon-theme/+milestone/2.20.0 Does a standard GPL2 file implies later GPL versions too? If not then they probably woudn't mind adding a README file saying "GPL2 and later" the question is if they want to bother with this. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs 2020-04-19 7:04 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") ndame @ 2020-04-19 7:06 ` Po Lu 2020-04-19 7:14 ` ndame 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-19 7:06 UTC (permalink / raw) To: ndame; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org ndame <ndame@protonmail.com> writes: > Does a standard GPL2 file implies later GPL versions too? No, sadly. > If not then they probably woudn't mind adding a README file saying "GPL2 and > later" the question is if they want to bother with this. Someone from the FSF could perhaps contact them. They might even be willing to assign copyright to the FSF. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs 2020-04-19 7:06 ` Improving icons shipped with Emacs Po Lu @ 2020-04-19 7:14 ` ndame 2020-04-19 7:20 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 7:14 UTC (permalink / raw) To: Po Lu; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org > > Someone from the FSF could perhaps contact them. They might even be > willing to assign copyright to the FSF. The tar.gz file for the Gnome 2 icons has an AUTHORS file with names and email addresses: https://launchpad.net/gnome-icon-theme/main/2.20.0/+download/gnome-icon-theme-2.20.0.tar.gz Richard, don't you want to ask them to add a "GPL2 and later" (you probably know the exact wording needed) line to the README file of this branch? You asking them may have more weight. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs 2020-04-19 7:14 ` ndame @ 2020-04-19 7:20 ` Po Lu 2020-04-19 7:56 ` ndame 0 siblings, 1 reply; 605+ messages in thread From: Po Lu @ 2020-04-19 7:20 UTC (permalink / raw) To: ndame; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org ndame <ndame@protonmail.com> writes: > The tar.gz file for the Gnome 2 icons has an AUTHORS file with names > and email addresses: > https://launchpad.net/gnome-icon-theme/main/2.20.0/+download/gnome-icon-theme-2.20.0.tar.gz Hmm thanks, I'll take a look. > Richard, don't you want to ask them to add a "GPL2 and later" (you probably know the exact > wording needed) line to the README file of this branch? That would be nice. > You asking them may have more weight. Yeah. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs 2020-04-19 7:20 ` Po Lu @ 2020-04-19 7:56 ` ndame 2020-04-19 7:58 ` Po Lu 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-19 7:56 UTC (permalink / raw) To: Po Lu; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org > > > The tar.gz file for the Gnome 2 icons has an AUTHORS file with names > > and email addresses: > > https://launchpad.net/gnome-icon-theme/main/2.20.0/+download/gnome-icon-theme-2.20.0.tar.gz > > Hmm thanks, I'll take a look. Actually, the latest version linked from the Gnome wiki was not the latest version of the 2.x branch. It's this: https://launchpad.net/gnome-icon-theme/main/2.91.93/+download/gnome-icon-theme-2.91.93.tar.gz Released in 2011. It has an updated COPYING saying: "GNOME icon theme is distributed under the terms of either GNU LGPL v.3 or Creative Commons BY-SA 3.0 license." So they should be asked to change it to "GNU LGPL v.3 and later" and then I guess Emacs can use it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: Improving icons shipped with Emacs 2020-04-19 7:56 ` ndame @ 2020-04-19 7:58 ` Po Lu 0 siblings, 0 replies; 605+ messages in thread From: Po Lu @ 2020-04-19 7:58 UTC (permalink / raw) To: ndame; +Cc: Robert Pluim, Richard Stallman, emacs-devel@gnu.org ndame <ndame@protonmail.com> writes: >> >> > The tar.gz file for the Gnome 2 icons has an AUTHORS file with names >> > and email addresses: >> > https://launchpad.net/gnome-icon-theme/main/2.20.0/+download/gnome-icon-theme-2.20.0.tar.gz >> >> Hmm thanks, I'll take a look. > > Actually, the latest version linked from the Gnome wiki was not the latest version of > the 2.x branch. > > It's this: > > https://launchpad.net/gnome-icon-theme/main/2.91.93/+download/gnome-icon-theme-2.91.93.tar.gz > > Released in 2011. > > It has an updated COPYING saying: > > "GNOME icon theme is distributed under the terms of either GNU LGPL v.3 > or Creative Commons BY-SA 3.0 license." > > > So they should be asked to change it to "GNU LGPL v.3 and later" and then I guess Emacs > can use it. Nice. RMS, could you please take a look at this? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-18 9:53 ` Robert Pluim 2020-04-18 16:20 ` ndame @ 2020-04-19 2:20 ` Richard Stallman 2020-04-19 2:33 ` Dmitry Gutov 2020-04-19 13:20 ` Eli Zaretskii 1 sibling, 2 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-19 2:20 UTC (permalink / raw) To: Robert Pluim; +Cc: ndame, 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. ]]] > This work is licenced under the terms of either the GNU LGPL v3 or If the icons would be part of the program, Emacs, that would be the same situation as with Qt. No good. > Creative Commons Attribution-Share Alike 3.0 United States License. That is incompatible with every version of the GPL. If the icons would be part of the program, Emacs, that would be no good. If the icons would NOT be part of the program, Emacs, then there is no conflict. The Emacs distribution contains many works, including textual, art, and small programs, which are distinct from the program, Emacs. > To view a copy of the CC-BY-SA licence, visit > http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative > Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 2:20 ` "Why is emacs so square?" Richard Stallman @ 2020-04-19 2:33 ` Dmitry Gutov 2020-04-19 13:20 ` Eli Zaretskii 1 sibling, 0 replies; 605+ messages in thread From: Dmitry Gutov @ 2020-04-19 2:33 UTC (permalink / raw) To: rms, Robert Pluim; +Cc: emacs-devel, ndame On 19.04.2020 05:20, Richard Stallman wrote: > > Creative Commons Attribution-Share Alike 3.0 United States License. > > That is incompatible with every version of the GPL. If the icons > would be part of the program, Emacs, that would be no good. > > If the icons would NOT be part of the program, Emacs, then there > is no conflict. > > The Emacs distribution contains many works, including textual, art, > and small programs, which are distinct from the program, Emacs. So, can we include them as "NOT part of the program"? I think it's the usual approach when it comes to assets. And icons are not code. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 2:20 ` "Why is emacs so square?" Richard Stallman 2020-04-19 2:33 ` Dmitry Gutov @ 2020-04-19 13:20 ` Eli Zaretskii 2020-04-20 2:18 ` Richard Stallman 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-19 13:20 UTC (permalink / raw) To: rms; +Cc: rpluim, emacs-devel, ndame > From: Richard Stallman <rms@gnu.org> > Date: Sat, 18 Apr 2020 22:20:39 -0400 > Cc: ndame@protonmail.com, emacs-devel@gnu.org > > > This work is licenced under the terms of either the GNU LGPL v3 or > > If the icons would be part of the program, Emacs, that would be the > same situation as with Qt. No good. > > > Creative Commons Attribution-Share Alike 3.0 United States License. > > That is incompatible with every version of the GPL. If the icons > would be part of the program, Emacs, that would be no good. > > If the icons would NOT be part of the program, Emacs, then there > is no conflict. > > The Emacs distribution contains many works, including textual, art, > and small programs, which are distinct from the program, Emacs. What is the practical meaning of being "part of the program, Emacs" as opposed to "being distinct from the program, Emacs"? How does one tell whether a given icon is in this or the other category? E.g., we have a lot of icons in etc/images/. We show these icons on the tool bar and elsewhere when and where appropriate. Are those icons part of Emacs the program, or aren't they? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-19 13:20 ` Eli Zaretskii @ 2020-04-20 2:18 ` Richard Stallman 2020-04-20 14:55 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-20 2:18 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rpluim, ndame, 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. ]]] > What is the practical meaning of being "part of the program, Emacs" as > opposed to "being distinct from the program, Emacs"? How does one > tell whether a given icon is in this or the other category? It is a legal question. If a file of code is under the GPL, the GPL applies to the entire program or work that the file is part of. But it does not apply to other, separate works that are distributed WITH that program or work. Separate in regard to copyright law, I mean. I don't know a simple way to describe this, sorry. > E.g., we have a lot of icons in etc/images/. We show these icons on > the tool bar and elsewhere when and where appropriate. Are those > icons part of Emacs the program, or aren't they? I think it depends on how things work to display those images. And I don't remember that. When Emacs wants to display etc/images/attach.pbm, how does that work? Does attach.pbm get somehow linked into Emacs? Or does Emacs open etc/images/attach.pbm at run time, read it, and display it? With the first method, they are part of one combined work. With the second method, it is valid to say they are two separate works and treat them as such. At least, such is the understanding I got from lawyers around 30 years ago. With two _programs_, the issue is different. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 2:18 ` Richard Stallman @ 2020-04-20 14:55 ` Eli Zaretskii 2020-04-21 1:52 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-20 14:55 UTC (permalink / raw) To: rms; +Cc: rpluim, ndame, emacs-devel > From: Richard Stallman <rms@gnu.org> > Cc: rpluim@gmail.com, emacs-devel@gnu.org, ndame@protonmail.com > Date: Sun, 19 Apr 2020 22:18:58 -0400 > > > E.g., we have a lot of icons in etc/images/. We show these icons on > > the tool bar and elsewhere when and where appropriate. Are those > > icons part of Emacs the program, or aren't they? > > I think it depends on how things work to display those images. > And I don't remember that. > > When Emacs wants to display etc/images/attach.pbm, how does that work? > Does attach.pbm get somehow linked into Emacs? Or does Emacs open > etc/images/attach.pbm at run time, read it, and display it? It's the latter. More accurately, we look up the file in the filesystem, then pass the full file name to an image library which we link with Emacs, and that library reads it. And many icon files come with every Emacs tarball and in any binary distribution, of course. > With the first method, they are part of one combined work. > > With the second method, it is valid to say they are two separate works > and treat them as such. So since this is the second method, what are the legal requirements from icon files that we bundle with Emacs? Just a free license? And if so, what kind of license? Are there any other requirements? Thanks. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-20 14:55 ` Eli Zaretskii @ 2020-04-21 1:52 ` Richard Stallman 2020-04-21 4:40 ` ndame 0 siblings, 1 reply; 605+ messages in thread From: Richard Stallman @ 2020-04-21 1:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: rpluim, emacs-devel, ndame [[[ 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. ]]] > So since this is the second method, what are the legal requirements > from icon files that we bundle with Emacs? Just a free license? Yes. Any free license will do, for the icons. > And > if so, what kind of license? No particular kind is required, but it shouldn't be a weird one. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 1:52 ` Richard Stallman @ 2020-04-21 4:40 ` ndame 2020-04-22 3:17 ` Richard Stallman 0 siblings, 1 reply; 605+ messages in thread From: ndame @ 2020-04-21 4:40 UTC (permalink / raw) To: rms@gnu.org; +Cc: Eli Zaretskii, rpluim@gmail.com, emacs-devel@gnu.org Sent with ProtonMail Secure Email. > > > So since this is the second method, what are the legal requirements > > > from icon files that we bundle with Emacs? Just a free license? > > Yes. Any free license will do, for the icons. I checked the KDE icons too and they have this text for license (excerpts): This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Clarification: The GNU Lesser General Public License or LGPL is written for software libraries in the first place. We expressly want the LGPL to be valid for this artwork library too. KDE Oxygen theme icons is a special kind of software library, it is an artwork library, it's elements can be used in a Graphical User Interface, or GUI. It contains the later version clause too for LGPL, so I guess the problem of icons is solved. There is a choice too, both of these have this license. Emacs could even offer a choice of icon themes for the user: https://github.com/KDE/oxygen-icons/ https://github.com/KDE/breeze-icons/ ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-21 4:40 ` ndame @ 2020-04-22 3:17 ` Richard Stallman 0 siblings, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-22 3:17 UTC (permalink / raw) To: ndame; +Cc: eliz, rpluim, 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. ]]] > This library is free software; you can redistribute it and/or > modify it under the terms of the GNU Lesser General Public > License as published by the Free Software Foundation; either > version 3 of the License, or (at your option) any later version. That is a free license, compatible with GPL 3, and will be compatible with future GPL versions as well. We've determined that the icons are separate works from Emacs. So we do not need their licenses to be compatible with any GPL versions. We just need them to carry a reasonable free license. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 20:30 ` ndame 2020-04-17 7:06 ` Eli Zaretskii @ 2020-04-18 2:04 ` Richard Stallman 1 sibling, 0 replies; 605+ messages in thread From: Richard Stallman @ 2020-04-18 2:04 UTC (permalink / raw) To: ndame; +Cc: eliz, emacs-devel, yandros, dgutov [[[ 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. ]]] > There are also the KDE icon set, though it's LGPL 3 licensed. > I don't know if it's OK in Emacs: If they are LGPL 3 only, I think they can't be part of a GPL-4-covered work. However, the icons Emacs uses may not actually be part of Emacs, the program. If they are not part of Emacs, the program, they could have any license as long as it is free. But I'd have to ask a lawyer about it. -- Dr Richard Stallman Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 14:17 ` Dmitry Gutov 2020-04-15 14:31 ` Eli Zaretskii @ 2020-04-15 22:11 ` Bob Newell 1 sibling, 0 replies; 605+ messages in thread From: Bob Newell @ 2020-04-15 22:11 UTC (permalink / raw) To: emacs-devel > The other option, of course, is to look both modern and unique, but it's > a harder proposition, especially without a graphical designer on the > team. And this stuff gets outdated quickly. That's the problem. What's hip today is passé tomorrow. The "modern" look of Windows 3.1 is considered ancient and dated today. But do today's GUIs offer more (or perhaps less!) user value? In my initial attempt to be sarcastic, I unfortunately took too extreme a position. so I'll say now that there is nothing wrong with an Emacs GUI that provides true user value, and if it looks nice, that's a plus. (But I too go to the extreme of pure text, no frills, touchpad disabled, etc. ... it's what works for me.) However I would (humbly this time) suggest that whatever is done in terms of appearance not interfere with the things that make Emacs the tool that it is. -- Bob Newell Honolulu, Hawai`i Via Linux/Emacs/Gnus/BBDB. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-14 15:06 "Why is emacs so square?" ndame 2020-04-15 3:00 ` Richard Stallman @ 2020-04-15 3:35 ` Bob Newell 2020-04-15 3:44 ` Jean-Christophe Helary 2020-04-15 6:28 ` Eli Zaretskii 2020-04-15 4:14 ` Emanuel Berg via Emacs development discussions. 2020-04-15 22:09 ` Christopher Lemmer Webber 3 siblings, 2 replies; 605+ messages in thread From: Bob Newell @ 2020-04-15 3:35 UTC (permalink / raw) To: emacs-devel@gnu.org > It could improve the square apperance if, for example, emacs provided > some text > properties to specify rounded corners with custom radius for > background colors. Oh yes, because everyone chooses Emacs for hipster graphics rather than for a free, sophisticated tool that lets you get work done. You might want to try Notepad on Windows 10 or something. -- Bob Newell Honolulu, Hawai`i - Via Gnus/BBDB/Org/Emacs/Linux ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 3:35 ` Bob Newell @ 2020-04-15 3:44 ` Jean-Christophe Helary 2020-04-15 6:28 ` Eli Zaretskii 1 sibling, 0 replies; 605+ messages in thread From: Jean-Christophe Helary @ 2020-04-15 3:44 UTC (permalink / raw) To: emacs-devel@gnu.org > On Apr 15, 2020, at 12:35, Bob Newell <bobnewell@bobnewell.net> wrote: > > > >> It could improve the square apperance if, for example, emacs provided >> some text >> properties to specify rounded corners with custom radius for >> background colors. > > Oh yes, because everyone chooses Emacs for hipster graphics > rather than for a free, sophisticated tool that lets you get > work done. > > You might want to try Notepad on Windows 10 or something. Or you might want to think about how to provide a way to accomplish that? That's probably more in the spirit of free software than to send people to use a non free tool, isn't it ? Jean-Christophe Helary ----------------------------------------------- http://mac4translators.blogspot.com @brandelune ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 3:35 ` Bob Newell 2020-04-15 3:44 ` Jean-Christophe Helary @ 2020-04-15 6:28 ` Eli Zaretskii 2020-04-15 13:57 ` Tim Cross 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-15 6:28 UTC (permalink / raw) To: Bob Newell; +Cc: emacs-devel > From: Bob Newell <bobnewell@bobnewell.net> > Date: Tue, 14 Apr 2020 17:35:06 -1000 > > You might want to try Notepad on Windows 10 or something. Which won't help, because the Windows 10 look and feel doesn't include rounded corners of windows, at least not by default. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 6:28 ` Eli Zaretskii @ 2020-04-15 13:57 ` Tim Cross 2020-04-15 14:09 ` Eli Zaretskii 2020-04-15 14:11 ` Andreas Schwab 0 siblings, 2 replies; 605+ messages in thread From: Tim Cross @ 2020-04-15 13:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Bob Newell, Emacs developers [-- Attachment #1: Type: text/plain, Size: 1524 bytes --] I think the challenge would be in coming up with an approach which won't make the terminal (non-gui) version drift from the GUI version too much. Changing the button styles etc in the GUI menu and perhaps updating toolbar icons etc is probably not too hard, but you cannot do much with things like 'buttons' in widgets etc (such as those used with customize) without having to have completely different code for rendering in GUI and rendering in terminal. This would potentially blow out maintenance and create two code bases to manage and lets face it, one is more than enough. I think part of the reason the GUI menus and toolbar might look dated to many is that nearly all experienced and long-term users I know turn off the menus and toolbar, so never see them. It has been years since I've used either. For me, the only 'buttons' I see are the widget style buttons and these are not really buttons - they are really text 'fake' buttons. I would also be a little concerned about impact any attempt to change these might have on performance (we already have quite a long thread about rendering performance). Just my 2 cents.... On Wed, 15 Apr 2020 at 16:35, Eli Zaretskii <eliz@gnu.org> wrote: > > From: Bob Newell <bobnewell@bobnewell.net> > > Date: Tue, 14 Apr 2020 17:35:06 -1000 > > > > You might want to try Notepad on Windows 10 or something. > > Which won't help, because the Windows 10 look and feel doesn't include > rounded corners of windows, at least not by default. > > -- regards, Tim -- Tim Cross [-- Attachment #2: Type: text/html, Size: 2187 bytes --] ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 13:57 ` Tim Cross @ 2020-04-15 14:09 ` Eli Zaretskii 2020-04-16 17:03 ` Clément Pit-Claudel 2020-04-15 14:11 ` Andreas Schwab 1 sibling, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-15 14:09 UTC (permalink / raw) To: Tim Cross; +Cc: bobnewell, emacs-devel > From: Tim Cross <theophilusx@gmail.com> > Date: Wed, 15 Apr 2020 23:57:18 +1000 > Cc: Bob Newell <bobnewell@bobnewell.net>, Emacs developers <emacs-devel@gnu.org> > > I think the challenge would be in coming up with an approach which won't make the terminal (non-gui) > version drift from the GUI version too much. Changing the button styles etc in the GUI menu and perhaps > updating toolbar icons etc is probably not too hard, but you cannot do much with things like 'buttons' in > widgets etc (such as those used with customize) without having to have completely different code for > rendering in GUI and rendering in terminal. Maybe I'm missing something, but AFAIK we already have different code for rendering this stuff in GUI and in text-mode frames. The GUI code inserts an image and simulates the 3D "raised button" appearance, whereas the text-mode code shows some ASCII art instead. Or maybe I don't understand what differences you had in mind. > I think part of the reason the GUI menus and toolbar might look dated to many is that nearly all experienced > and long-term users I know turn off the menus and toolbar, so never see them. Well, I don't, FWIW. > For me, the only 'buttons' I see are the widget style buttons and these are not really buttons - > they are really text 'fake' buttons. Not sure what you mean by "text fake buttons". We show a 3D appearance on button widgets; if that's not real buttons, then what should real buttons look like, in your opinion? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 14:09 ` Eli Zaretskii @ 2020-04-16 17:03 ` Clément Pit-Claudel 2020-04-16 17:22 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-16 17:03 UTC (permalink / raw) To: emacs-devel On 15/04/2020 10.09, Eli Zaretskii wrote: >> From: Tim Cross <theophilusx@gmail.com> >> For me, the only 'buttons' I see are the widget style buttons and these are not really buttons - >> they are really text 'fake' buttons. > > Not sure what you mean by "text fake buttons". We show a 3D > appearance on button widgets Sometimes we do and sometimes we don't. With my current emacs configuration, for example, I get buttons that look like this on graphical frames: Operate on all settings in this buffer: [ Revert... ] [ Apply ] [ Apply and Save ] I think this is due to custom-raised-buttons being nil, which happens if cus-edit gets loaded too early in an Emacs server, as in the following example: echo "(require 'cus-edit)" > ~/.emacs emacsclient --alternate-editor="" --create-frame In the resulting graphical frame, customize buffers won't use 3D buttons. Tim, what is the value of custom-raised-buttons in your session? Should I open a bug report? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 17:03 ` Clément Pit-Claudel @ 2020-04-16 17:22 ` Eli Zaretskii 2020-04-16 18:11 ` Clément Pit-Claudel 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 17:22 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Thu, 16 Apr 2020 13:03:03 -0400 > > Operate on all settings in this buffer: > [ Revert... ] [ Apply ] [ Apply and Save ] > > I think this is due to custom-raised-buttons being nil, which happens if cus-edit gets loaded too early in an Emacs server, as in the following example: > > echo "(require 'cus-edit)" > ~/.emacs > emacsclient --alternate-editor="" --create-frame > > In the resulting graphical frame, customize buffers won't use 3D buttons. Tim, what is the value of custom-raised-buttons in your session? > > Should I open a bug report? I think it's a bug in your ~/.emacs, so a bug report will hardly solve it. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 17:22 ` Eli Zaretskii @ 2020-04-16 18:11 ` Clément Pit-Claudel 2020-04-16 18:21 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-16 18:11 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 16/04/2020 13.22, Eli Zaretskii wrote: >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Thu, 16 Apr 2020 13:03:03 -0400 >> >> Operate on all settings in this buffer: >> [ Revert... ] [ Apply ] [ Apply and Save ] >> >> I think this is due to custom-raised-buttons being nil, which happens if cus-edit gets loaded too early in an Emacs server, as in the following example: >> >> echo "(require 'cus-edit)" > ~/.emacs >> emacsclient --alternate-editor="" --create-frame >> >> In the resulting graphical frame, customize buffers won't use 3D buttons. Tim, what is the value of custom-raised-buttons in your session? >> >> Should I open a bug report? > > I think it's a bug in your ~/.emacs, so a bug report will hardly solve > it. I think there is a misunderstanding. The recipe I posted above is self-contained and reproduces the issue. The problem is that custom-raised-buttons is initialized once and for all to a value that depends on whether the current frame when cus-edit is loaded is a graphical frame. Then all other frames, graphical or not, use that value. Clément. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 18:11 ` Clément Pit-Claudel @ 2020-04-16 18:21 ` Eli Zaretskii 2020-04-16 19:51 ` Clément Pit-Claudel 2020-04-16 19:52 ` Clément Pit-Claudel 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-16 18:21 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Thu, 16 Apr 2020 14:11:40 -0400 > > > I think it's a bug in your ~/.emacs, so a bug report will hardly solve > > it. > > I think there is a misunderstanding. The recipe I posted above is self-contained and reproduces the issue. Of course. Which is why I think I understand the issue. > The problem is that custom-raised-buttons is initialized once and for all to a value that depends on whether the current frame when cus-edit is loaded is a graphical frame. Then all other frames, graphical or not, use that value. Initialization of stuff that depends on GUI frames and should work in client frames needs to be done in server-after-make-frame-hook. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 18:21 ` Eli Zaretskii @ 2020-04-16 19:51 ` Clément Pit-Claudel 2020-04-16 19:52 ` Clément Pit-Claudel 1 sibling, 0 replies; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-16 19:51 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 16/04/2020 14.21, Eli Zaretskii wrote: >> Cc: emacs-devel@gnu.org >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Thu, 16 Apr 2020 14:11:40 -0400 >> >>> I think it's a bug in your ~/.emacs, so a bug report will hardly solve >>> it. >> >> I think there is a misunderstanding. The recipe I posted above is self-contained and reproduces the issue. > > Of course. Which is why I think I understand the issue. > >> The problem is that custom-raised-buttons is initialized once and for all to a value that depends on whether the current frame when cus-edit is loaded is a graphical frame. Then all other frames, graphical or not, use that value. > > Initialization of stuff that depends on GUI frames and should work in > client frames needs to be done in server-after-make-frame-hook. I think I don't understand this part :/ To be clear, the bug that I'm talking about is that, when using the Emacs server, requiring cus-edit during initialization causes buttons to be displayed as text, not as 3D buttons. It's really easy to run into this without realizing it. For example, installing the `validate' package from Elpa will do it: emacs -Q --eval '(setq user-emacs-directory "/tmp/emacs-sandbox")' \ -l package \ --eval "(package-refresh-contents)" \ --eval "(package-initialize)" \ --eval "(package-install 'validate)" \ --daemon emacsclient --create-frame # This frame doesn't use 3D buttons in e.g. customize-face Alternatively, installing the package manually and putting `(require 'validate)` in your .emacs to be able to use (validate-setq tab-width 4) will also cause issues. What am I missing? Clément. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 18:21 ` Eli Zaretskii 2020-04-16 19:51 ` Clément Pit-Claudel @ 2020-04-16 19:52 ` Clément Pit-Claudel 2020-04-17 7:09 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-16 19:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 16/04/2020 14.21, Eli Zaretskii wrote: >> Cc: emacs-devel@gnu.org >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Thu, 16 Apr 2020 14:11:40 -0400 >> >>> I think it's a bug in your ~/.emacs, so a bug report will hardly solve >>> it. >> >> I think there is a misunderstanding. The recipe I posted above is self-contained and reproduces the issue. > > Of course. Which is why I think I understand the issue. Following up on my previous message, I'd argue that the following is also a problem, btw: emacs -Q --daemon emacsclient --alternate-editor="emacs -Q" --nw # In this window, run M-x customize-face RET bold RET then exit emacsclient --alternate-editor="emacs -Q" --create-frame # In this window, run M-x customize-face RET bold RET The second customization window doesn't have 3D buttons. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-16 19:52 ` Clément Pit-Claudel @ 2020-04-17 7:09 ` Eli Zaretskii 2020-04-17 13:43 ` Stefan Monnier 2020-04-17 14:13 ` Clément Pit-Claudel 0 siblings, 2 replies; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 7:09 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Thu, 16 Apr 2020 15:52:54 -0400 > > emacs -Q --daemon > emacsclient --alternate-editor="emacs -Q" --nw # In this window, run M-x customize-face RET bold RET then exit > emacsclient --alternate-editor="emacs -Q" --create-frame # In this window, run M-x customize-face RET bold RET > > The second customization window doesn't have 3D buttons. Because your Emacs was started as a daemon. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 7:09 ` Eli Zaretskii @ 2020-04-17 13:43 ` Stefan Monnier 2020-04-17 14:13 ` Clément Pit-Claudel 1 sibling, 0 replies; 605+ messages in thread From: Stefan Monnier @ 2020-04-17 13:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Clément Pit-Claudel, emacs-devel >> emacs -Q --daemon >> emacsclient --alternate-editor="emacs -Q" --nw # In this window, run M-x >> customize-face RET bold RET then exit >> emacsclient --alternate-editor="emacs -Q" --create-frame # In this >> window, run M-x customize-face RET bold RET >> >> The second customization window doesn't have 3D buttons. > > Because your Emacs was started as a daemon. No, it's only because the first use of customize was on a tty frame. The same happens if you emacs -Q -nw M-x customize-face ... M-x make-frame-on-display ... M-x customize-face ... -- Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 7:09 ` Eli Zaretskii 2020-04-17 13:43 ` Stefan Monnier @ 2020-04-17 14:13 ` Clément Pit-Claudel 2020-04-17 14:46 ` Eli Zaretskii 1 sibling, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-17 14:13 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 17/04/2020 03.09, Eli Zaretskii wrote: >> Cc: emacs-devel@gnu.org >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Thu, 16 Apr 2020 15:52:54 -0400 >> >> emacs -Q --daemon >> emacsclient --alternate-editor="emacs -Q" --nw # In this window, run M-x customize-face RET bold RET then exit >> emacsclient --alternate-editor="emacs -Q" --create-frame # In this window, run M-x customize-face RET bold RET >> >> The second customization window doesn't have 3D buttons. > > Because your Emacs was started as a daemon. As Stefan pointed out, this isn't due to the daemon. But even so, starting Emacs as a daemon shouldn't break 3D buttons. A few messages ago, the following discussion happened: >> For me, the only 'buttons' I see are the widget style buttons and these are not really buttons - >> they are really text 'fake' buttons. > > Not sure what you mean by "text fake buttons". We show a 3D > appearance on button widgets I was just pointing out that in may cases we don't show a 3D appearance on button widgets. You also wrote: > Maybe I'm missing something, but AFAIK we already have different code > for rendering this stuff in GUI and in text-mode frames. The GUI code > inserts an image and simulates the 3D "raised button" appearance, > whereas the text-mode code shows some ASCII art instead. The code is here: (defcustom custom-raised-buttons (not (equal (face-valid-attribute-values :box) '(("unspecified" . unspecified)))) "If non-nil, indicate active buttons in a raised-button style. Otherwise use brackets." :type 'boolean :version "21.1" :group 'custom-buffer :set (lambda (variable value) (custom-set-default variable value) (setq custom-button (if value 'custom-button 'custom-button-unraised)) (setq custom-button-mouse (if value 'custom-button-mouse 'highlight)) (setq custom-button-pressed (if value 'custom-button-pressed 'custom-button-pressed-unraised)))) This definition is evaluated once and for all, instead of once per frame. Isn't that a bug? Clément. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 14:13 ` Clément Pit-Claudel @ 2020-04-17 14:46 ` Eli Zaretskii 2020-04-17 15:27 ` Clément Pit-Claudel 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 14:46 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Fri, 17 Apr 2020 10:13:58 -0400 > Cc: emacs-devel@gnu.org > > This definition is evaluated once and for all, instead of once per frame. Isn't that a bug? I don't know. AFAIK, we don't have infrastructure for deciding when stuff like that needs to be re-evaluated and how to use different results for different frames. If someone wants to work on such infrastructure, I think it will bring us a step closer to being able to support different GUI frame types (like GTK, w32, NS, etc.) in the same session. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 14:46 ` Eli Zaretskii @ 2020-04-17 15:27 ` Clément Pit-Claudel 2020-04-17 15:38 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-17 15:27 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 982 bytes --] On 17/04/2020 10.46, Eli Zaretskii wrote: >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Fri, 17 Apr 2020 10:13:58 -0400 >> Cc: emacs-devel@gnu.org >> >> This definition is evaluated once and for all, instead of once per frame. Isn't that a bug? > > I don't know. AFAIK, we don't have infrastructure for deciding when > stuff like that needs to be re-evaluated and how to use different > results for different frames. If someone wants to work on such > infrastructure, I think it will bring us a step closer to being able > to support different GUI frame types (like GTK, w32, NS, etc.) in the > same session. I may be missing something, but I don't think such infrastructure is needed here — we already have most of what's needed with conditional faces. The attached patch gets us 90% of the way, with the only remaining issue being wrapping buttons in square brackets on text terminals. We'd also need a similar trick for check-boxes and the like. WDYT? [-- Attachment #2: custom-raised-buttons.diff --] [-- Type: text/x-patch, Size: 1865 bytes --] diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index d3d17fda7a..2f29a00de2 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1599,8 +1599,7 @@ custom-search-field :version "24.1" :group 'custom-buffer) -(defcustom custom-raised-buttons (not (equal (face-valid-attribute-values :box) - '(("unspecified" . unspecified)))) +(defcustom custom-raised-buttons t "If non-nil, indicate active buttons in a raised-button style. Otherwise use brackets." :type 'boolean @@ -2113,7 +2112,8 @@ custom-magic-reset (defface custom-button '((((type x w32 ns) (class color)) ; Like default mode line :box (:line-width 2 :style released-button) - :background "lightgrey" :foreground "black")) + :background "lightgrey" :foreground "black") + (t :inherit custom-button-unraised)) "Face for custom buffer buttons if `custom-raised-buttons' is non-nil." :version "21.1" :group 'custom-faces) @@ -2137,17 +2137,23 @@ custom-button-unraised :version "22.1" :group 'custom-faces) +(defface custom-button-mouse-unraised + '((t :inherit highlight)) + "Mouse face for custom buffer buttons if `custom-raised-buttons' is nil." + :version "22.1" + :group 'custom-faces) + (setq custom-button (if custom-raised-buttons 'custom-button 'custom-button-unraised)) (setq custom-button-mouse - (if custom-raised-buttons 'custom-button-mouse 'highlight)) + (if custom-raised-buttons 'custom-button-mouse 'custom-button-mouse-unraised)) (defface custom-button-pressed '((((type x w32 ns) (class color)) :box (:line-width 2 :style pressed-button) :background "lightgrey" :foreground "black") - (t :inverse-video t)) + (t :inherit custom-button-pressed-unraised)) "Face for pressed custom buttons if `custom-raised-buttons' is non-nil." :version "21.1" :group 'custom-faces) ^ permalink raw reply related [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 15:27 ` Clément Pit-Claudel @ 2020-04-17 15:38 ` Eli Zaretskii 2020-04-17 15:52 ` Clément Pit-Claudel 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 15:38 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Fri, 17 Apr 2020 11:27:56 -0400 > > > I don't know. AFAIK, we don't have infrastructure for deciding when > > stuff like that needs to be re-evaluated and how to use different > > results for different frames. If someone wants to work on such > > infrastructure, I think it will bring us a step closer to being able > > to support different GUI frame types (like GTK, w32, NS, etc.) in the > > same session. > > I may be missing something, but I don't think such infrastructure is needed here — we already have most of what's needed with conditional faces. Faces were always per-frame (although when you customize a face, it changes on all frames), but faces are just the tip of the iceberg. The general problem with GUI features is much wider. I thought you were talking about the more general problem. > The attached patch gets us 90% of the way, with the only remaining issue being wrapping buttons in square brackets on text terminals. > > (defface custom-button-pressed > '((((type x w32 ns) (class color)) > :box (:line-width 2 :style pressed-button) > :background "lightgrey" :foreground "black") > - (t :inverse-video t)) > + (t :inherit custom-button-pressed-unraised)) > "Face for pressed custom buttons if `custom-raised-buttons' is non-nil." > :version "21.1" > :group 'custom-faces) Why a separate face, instead of a separate definition of the same face for non-GUI displays? Anyway, the condition should not be on frame types, but rather on capabilities, IMO. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 15:38 ` Eli Zaretskii @ 2020-04-17 15:52 ` Clément Pit-Claudel 2020-04-17 17:16 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-17 15:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 17/04/2020 11.38, Eli Zaretskii wrote: >> Cc: emacs-devel@gnu.org >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Fri, 17 Apr 2020 11:27:56 -0400 >> >>> I don't know. AFAIK, we don't have infrastructure for deciding when >>> stuff like that needs to be re-evaluated and how to use different >>> results for different frames. If someone wants to work on such >>> infrastructure, I think it will bring us a step closer to being able >>> to support different GUI frame types (like GTK, w32, NS, etc.) in the >>> same session. >> >> I may be missing something, but I don't think such infrastructure is needed here — we already have most of what's needed with conditional faces. > > Faces were always per-frame (although when you customize a face, it > changes on all frames), but faces are just the tip of the iceberg. > The general problem with GUI features is much wider. I thought you > were talking about the more general problem. I'm talking only about the OP's problem, which was that buttons were not displayed in 3D. >> The attached patch gets us 90% of the way, with the only remaining issue being wrapping buttons in square brackets on text terminals. >> >> (defface custom-button-pressed >> '((((type x w32 ns) (class color)) >> :box (:line-width 2 :style pressed-button) >> :background "lightgrey" :foreground "black") >> - (t :inverse-video t)) >> + (t :inherit custom-button-pressed-unraised)) >> "Face for pressed custom buttons if `custom-raised-buttons' is non-nil." >> :version "21.1" >> :group 'custom-faces) > > Why a separate face, instead of a separate definition of the same face > for non-GUI displays? To be able to honor the custom-raised-buttons setting. I wouldn't design it that way, but that's where we are. > Anyway, the condition should not be on frame types, but rather on > capabilities, IMO. Agreed. Do you know how the problem with square brackets could be solved? Currently the custom-raised-buttons setting is used to chose a face and to decide whether to insert square brackets around buttons. Is there a clean way to make these brackets display only in text terminals? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 15:52 ` Clément Pit-Claudel @ 2020-04-17 17:16 ` Eli Zaretskii 2020-04-17 17:40 ` Clément Pit-Claudel 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 17:16 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Fri, 17 Apr 2020 11:52:56 -0400 > > Do you know how the problem with square brackets could be solved? Sorry, no. Custom was always a dark corner for me. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 17:16 ` Eli Zaretskii @ 2020-04-17 17:40 ` Clément Pit-Claudel 2020-04-17 17:45 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-17 17:40 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 17/04/2020 13.16, Eli Zaretskii wrote: >> Cc: emacs-devel@gnu.org >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Fri, 17 Apr 2020 11:52:56 -0400 >> >> Do you know how the problem with square brackets could be solved? > > Sorry, no. Custom was always a dark corner for me. Me too, but fortunately this isn't a question about custom, it's a question about features about the display engine. There is a way to change the color, backgorund, etc. of a bit of text depending on the properties of the display it is on, through the face-specs of defface. Is there a similar facility for showing or hiding a piece of text depending on properties of the frame it's shown on? I tried using a conditional 'display property, but that doesn't seem to work. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 17:40 ` Clément Pit-Claudel @ 2020-04-17 17:45 ` Eli Zaretskii 2020-04-17 17:57 ` Clément Pit-Claudel 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 17:45 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Fri, 17 Apr 2020 13:40:29 -0400 > > There is a way to change the color, backgorund, etc. of a bit of text depending on the properties of the display it is on, through the face-specs of defface. Is there a similar facility for showing or hiding a piece of text depending on properties of the frame it's shown on? I tried using a conditional 'display property, but that doesn't seem to work. I don't think I understand the problem. Faces can have different definitions on different frames, so what is the problem, exactly? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 17:45 ` Eli Zaretskii @ 2020-04-17 17:57 ` Clément Pit-Claudel 2020-04-17 18:36 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-17 17:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 17/04/2020 13.45, Eli Zaretskii wrote: >> Cc: emacs-devel@gnu.org >> From: Clément Pit-Claudel <cpitclaudel@gmail.com> >> Date: Fri, 17 Apr 2020 13:40:29 -0400 >> >> There is a way to change the color, backgorund, etc. of a bit of text depending on the properties of the display it is on, through the face-specs of defface. Is there a similar facility for showing or hiding a piece of text depending on properties of the frame it's shown on? I tried using a conditional 'display property, but that doesn't seem to work. > > I don't think I understand the problem. Faces can have different > definitions on different frames, so what is the problem, exactly? The problem is to indicate that a string is a button on a text terminal. Currently, custom does this by writing the string "[button]" with an underline on text terminals, and "button" with a raised look on graphical terminals. This is done by inserting different text in the buffer depending on whether the display supports the `:box' face property. Because of this, a customization buffer created on a text terminal shows "[button]" instead of "button" when displayed on a graphical terminal. The question is: is there a way to insert something in a buffer that will display as "[button]" when shown on a text terminal and as "button" when shown on a graphical terminal? I thought of using something like (propertize "[" 'display '(when (display-graphic-p) . "")), but it doesn't work well: when the buffer is shown on two frames (one graphical, one non-graphical), it doesn't look right in both. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 17:57 ` Clément Pit-Claudel @ 2020-04-17 18:36 ` Eli Zaretskii 2020-04-17 18:51 ` Eli Zaretskii 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 18:36 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: emacs-devel > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel <cpitclaudel@gmail.com> > Date: Fri, 17 Apr 2020 13:57:05 -0400 > > The question is: is there a way to insert something in a buffer that will display as "[button]" when shown on a text terminal and as "button" when shown on a graphical terminal? Did you try using an image? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 18:36 ` Eli Zaretskii @ 2020-04-17 18:51 ` Eli Zaretskii 2020-04-17 19:31 ` Clément Pit-Claudel 0 siblings, 1 reply; 605+ messages in thread From: Eli Zaretskii @ 2020-04-17 18:51 UTC (permalink / raw) To: cpitclaudel; +Cc: emacs-devel > Date: Fri, 17 Apr 2020 21:36:27 +0300 > From: Eli Zaretskii <eliz@gnu.org> > Cc: emacs-devel@gnu.org > > Did you try using an image? Or a window-specific overlay? And btw, in the conditional 'display' spec, did you call display-graphic-p with a frame argument? ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 18:51 ` Eli Zaretskii @ 2020-04-17 19:31 ` Clément Pit-Claudel 2020-04-17 20:14 ` Stefan Monnier 0 siblings, 1 reply; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-17 19:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 17/04/2020 14.51, Eli Zaretskii wrote: >> Date: Fri, 17 Apr 2020 21:36:27 +0300 >> From: Eli Zaretskii <eliz@gnu.org> >> Cc: emacs-devel@gnu.org >> >> Did you try using an image? I did not. Interesting thought! But since I need the "[" on graphical terminals, I'd use a replacement spec that says to show an empty image on graphical terminals, is that right? > Or a window-specific overlay? Interesting! But wouldn't I need to re-create the overlays every time the buffer is displayed in a new window? > And btw, in the conditional 'display' spec, did you call > display-graphic-p with a frame argument? Yes, here's the full test: (defface my-button '((((type x w32 ns) (class color)) :box (:line-width -1 :style released-button) :background "lightgrey" :foreground "black") (t :inherit underline)) "Button face" :group 'flycheck-faces) (with-current-buffer (get-buffer-create "button") (insert (propertize "[" 'display '(when (display-graphic-p (selected-frame)) . ""))) (insert (propertize "button" 'face 'my-button)) (insert (propertize "]" 'display '(when (display-graphic-p (selected-frame)) . "")))) I put this code in button.el, then I run emacs like this: emacs -Q -nw -l button.el I display the buffer in the terminal; it looks like this: [button] with "button" underlined Then I use M-x make-frame-on-display :0 to show the same buffer in a graphical frame. I see this: [button] with a 3D face on "button". If I move the point, the brackets disappear on both frames (the terminal one and the graphic one. If I switch back to the terminal frame, the brackets reappear on both frames. Clément. ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 19:31 ` Clément Pit-Claudel @ 2020-04-17 20:14 ` Stefan Monnier 2020-04-17 20:57 ` Clément Pit-Claudel 0 siblings, 1 reply; 605+ messages in thread From: Stefan Monnier @ 2020-04-17 20:14 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: Eli Zaretskii, emacs-devel > (with-current-buffer (get-buffer-create "button") > (insert (propertize "[" 'display '(when (display-graphic-p (selected-frame)) . ""))) > (insert (propertize "button" 'face 'my-button)) > (insert (propertize "]" 'display '(when (display-graphic-p (selected-frame)) . "")))) My guess is that the (selected-frame) at the time the code is run might not be the one you think. Maybe we should change/fix that (we had the same problem when computing the mode/header lines). Stefan ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-17 20:14 ` Stefan Monnier @ 2020-04-17 20:57 ` Clément Pit-Claudel 0 siblings, 0 replies; 605+ messages in thread From: Clément Pit-Claudel @ 2020-04-17 20:57 UTC (permalink / raw) To: Stefan Monnier; +Cc: Eli Zaretskii, emacs-devel On 17/04/2020 16.14, Stefan Monnier wrote: >> (with-current-buffer (get-buffer-create "button") >> (insert (propertize "[" 'display '(when (display-graphic-p (selected-frame)) . ""))) >> (insert (propertize "button" 'face 'my-button)) >> (insert (propertize "]" 'display '(when (display-graphic-p (selected-frame)) . "")))) > > My guess is that the (selected-frame) at the time the code is run might > not be the one you think. Maybe we should change/fix that (we had the > same problem when computing the mode/header lines). Doesn't look like it, from this test: (with-current-buffer (get-buffer-create "button") (insert (propertize "[" 'display '(when (and (message "[%f] On frame %S: %S" (float-time) (selected-frame) (display-graphic-p (selected-frame))) (display-graphic-p (selected-frame))) . "graphic"))) (insert (propertize "button" 'face 'my-button)) (insert (propertize "]" 'display '(when (display-graphic-p (selected-frame)) . "")))) Clicking in the graphical frame reevaluates in both, and the terminal one does see nil. Clicking in the terminal frame reevaluates only there. In both cases the display is updated in all windows (on all frames). ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-15 13:57 ` Tim Cross 2020-04-15 14:09 ` Eli Zaretskii @ 2020-04-15 14:11 ` Andreas Schwab 1 sibling, 0 replies; 605+ messages in thread From: Andreas Schwab @ 2020-04-15 14:11 UTC (permalink / raw) To: Tim Cross; +Cc: Bob Newell, Eli Zaretskii, Emacs developers On Apr 15 2020, Tim Cross wrote: > icons etc is probably not too hard, but you cannot do much with things like > 'buttons' in widgets etc (such as those used with customize) without having > to have completely different code for rendering in GUI and rendering in > terminal. I don't think that is a problem, they already have different rendering today. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-14 15:06 "Why is emacs so square?" ndame 2020-04-15 3:00 ` Richard Stallman 2020-04-15 3:35 ` Bob Newell @ 2020-04-15 4:14 ` Emanuel Berg via Emacs development discussions. 2020-04-15 22:09 ` Christopher Lemmer Webber 3 siblings, 0 replies; 605+ messages in thread From: Emanuel Berg via Emacs development discussions. @ 2020-04-15 4:14 UTC (permalink / raw) To: emacs-devel ndame wrote: > A user on reddit [...] https://www.reddit.com/r/emacs/comments/23vtvd/why_is_emacs_sosquare/ > It could improve the square apperance if, for example, > emacs provided some text properties to specify rounded > corners with custom radius for background colors. The thing is, you only care for decorations for a very short time. After that, you want it as to the point as possible. I'm not a GUI Emacs user, but I give you half right because last time I saw the default GUI Emacs on X it looked like a Windows 95 application. OTOH I'm unsure if Emacs does its own buttons. It does? Or do they conform to the underlying look and feel, in which case maybe one should configure the underlying OS (e.g., the window manager, graphical/widget toolkit, Xresources etc). My opinion is we should make Emacs look _so cool_, and then when people start using it they'll just remove everything (but continue to use Emacs). -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 605+ messages in thread
* Re: "Why is emacs so square?" 2020-04-14 15:06 "Why is emacs so square?" ndame ` (2 preceding siblings ...) 2020-04-15 4:14 ` Emanuel Berg via Emacs development discussions. @ 2020-04-15 22:09 ` Christopher Lemmer Webber 3 siblings, 0 replies; 605+ messages in thread From: Christopher Lemmer Webber @ 2020-04-15 22:09 UTC (permalink / raw) To: ndame; +Cc: emacs-devel@gnu.org "Why is emacs so square?" - It was the easiest way to delineate the M-x zone! - We needed a shape that would save us from fitting in the kill ring! - Yow! Are we feeling square yet? - Is it because why is emacs so square though that you came to me? - Emacs' lisp lead to social stigmitization that meant it never was accepted into the cool crowd! ^ permalink raw reply [flat|nested] 605+ messages in thread
end of thread, other threads:[~2024-04-09 5:07 UTC | newest] Thread overview: 605+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <<8wXYP4GY9hwW-9mYv6_LGMETZ8Vz3Ob1Bec6yh6kPT7yxjTkxA3V6dXY4ELra9tYiJUxJmgXKSIEX4w8HFiPRoeGVSQHDSoBVy1voj1e3Qo=@protonmail.com> [not found] ` <<E1jOYIC-000709-3J@fencepost.gnu.org> [not found] ` <<CADwFkmnyYPjLd8=N7K955v5+34+wgDAUrC6C6KGG0xvT3OJr9g@mail.gmail.com> [not found] ` <<E1jOuIG-0004CF-OB@fencepost.gnu.org> [not found] ` <<83y2qwdmnd.fsf@gnu.org> 2020-04-16 14:58 ` "Why is emacs so square?" Drew Adams 2020-04-16 15:34 ` Joseph Garvin 2020-04-16 15:42 ` Eli Zaretskii 2020-04-16 18:29 ` Marcin Borkowski 2020-04-17 22:05 ` Ahmed Khanzada 2020-04-18 6:47 ` martin rudalics 2020-04-18 7:07 ` ndame 2020-04-18 23:02 ` Stefan Kangas 2020-04-18 23:13 ` Ahmed Khanzada 2020-04-19 0:42 ` Po Lu 2020-04-19 2:10 ` Ahmed Khanzada 2020-04-19 2:28 ` Po Lu 2020-04-19 4:48 ` ndame 2020-04-19 5:37 ` Po Lu 2020-04-19 5:43 ` Po Lu 2020-04-19 12:59 ` Dmitry Gutov 2020-04-19 22:53 ` Po Lu 2020-04-19 23:34 ` Bob Newell 2020-04-20 4:34 ` Po Lu 2020-04-20 5:12 ` Jean-Christophe Helary 2020-04-21 1:47 ` Richard Stallman 2020-04-19 23:39 ` Jean-Christophe Helary 2020-04-20 0:12 ` Dmitry Gutov 2020-04-20 4:35 ` Po Lu 2020-04-20 13:27 ` Dmitry Gutov 2020-04-21 8:48 ` Po Lu 2020-04-24 9:10 ` Stefan Kangas 2020-04-24 15:48 ` Dmitry Gutov 2020-04-24 16:31 ` Dmitry Gutov 2020-04-27 12:30 ` Improved welcome screen Stefan Kangas 2020-04-27 17:58 ` Dmitry Gutov 2020-04-27 19:07 ` Stefan Kangas 2020-04-27 19:13 ` Yuan Fu 2020-04-27 19:32 ` Stefan Kangas 2020-04-28 2:49 ` Dmitry Gutov 2020-04-28 7:19 ` Eli Zaretskii 2020-04-28 9:49 ` Michael Albinus 2020-04-28 12:32 ` Stefan Kangas 2020-04-28 13:08 ` Dmitry Gutov 2020-04-27 18:39 ` Eli Zaretskii 2020-04-27 18:48 ` Dmitry Gutov 2020-04-27 19:32 ` Eli Zaretskii 2020-04-27 21:29 ` Dmitry Gutov 2020-04-28 6:36 ` Eli Zaretskii 2020-04-28 7:59 ` Stefan Kangas 2020-04-28 13:20 ` Dmitry Gutov 2020-04-28 18:28 ` chad 2020-04-28 23:14 ` Dmitry Gutov 2020-04-29 3:28 ` Richard Stallman 2020-04-27 18:49 ` Stefan Kangas 2020-04-27 20:02 ` Stefan Monnier 2020-04-27 20:35 ` Juri Linkov 2020-04-28 12:12 ` Nicolas Petton 2020-04-28 12:34 ` Stefan Kangas 2020-05-10 19:22 ` Dmitry Gutov 2020-05-10 21:26 ` Yuan Fu 2020-05-11 13:24 ` Arthur Miller 2020-05-11 22:59 ` Stefan Kangas 2020-05-12 0:03 ` Dmitry Gutov 2020-05-12 6:55 ` Colin Baxter 2020-05-14 5:04 ` Richard Stallman 2020-04-20 2:19 ` "Why is emacs so square?" Richard Stallman 2020-04-20 3:07 ` Dmitry Gutov 2020-04-20 5:07 ` Bob Newell 2020-04-20 13:49 ` Dmitry Gutov 2020-05-15 19:27 ` Steinar Bang 2020-06-04 3:26 ` Richard Stallman 2020-06-04 9:16 ` Arthur Miller 2020-06-04 21:50 ` Juri Linkov 2020-06-05 16:37 ` Tomas Hlavaty 2020-06-06 23:30 ` Juri Linkov 2020-06-07 0:33 ` Jean-Christophe Helary 2020-06-07 10:16 ` Tomas Hlavaty 2020-06-07 3:53 ` Drew Adams 2020-06-07 7:51 ` Yuri Khan 2020-06-07 9:10 ` Yuri Khan 2020-06-08 3:31 ` Richard Stallman 2020-06-07 11:59 ` Dmitry Gutov 2020-06-07 15:32 ` Drew Adams 2020-06-07 22:31 ` Juri Linkov 2020-06-07 18:19 ` Stefan Monnier 2020-06-07 18:26 ` Basil L. Contovounesios 2020-06-07 22:31 ` Juri Linkov 2020-06-07 23:24 ` andres.ramirez 2020-06-07 23:24 ` Jean-Christophe Helary 2020-06-10 12:43 ` Tab-bar autoclose question Ergus 2020-06-10 21:55 ` Juri Linkov 2020-07-11 9:50 ` Ergus 2020-07-12 0:08 ` Juri Linkov 2020-06-05 3:12 ` "Why is emacs so square?" Richard Stallman 2020-06-05 10:48 ` Marcin Borkowski 2020-06-06 3:57 ` Richard Stallman 2020-06-06 13:44 ` Arthur Miller 2020-06-07 3:37 ` Richard Stallman 2020-06-07 14:52 ` Arthur Miller 2020-06-05 13:01 ` Arthur Miller 2020-06-05 14:00 ` Eli Zaretskii 2020-06-05 14:57 ` Arthur Miller 2020-06-05 15:10 ` Eli Zaretskii 2020-06-05 16:15 ` Tomas Hlavaty 2020-06-05 17:32 ` Eli Zaretskii 2020-06-06 12:49 ` Tomas Hlavaty 2020-06-06 3:56 ` Richard Stallman 2020-06-06 6:55 ` Eli Zaretskii 2020-06-05 15:27 ` Bob Newell 2020-06-05 21:54 ` Tomas Hlavaty 2020-06-06 4:07 ` Richard Stallman 2020-06-06 6:35 ` Eli Zaretskii 2020-06-07 8:03 ` Tomas Hlavaty 2020-06-07 14:21 ` Eli Zaretskii 2020-06-07 21:57 ` Tomas Hlavaty 2020-06-07 22:03 ` Drew Adams 2020-06-08 5:41 ` Tomas Hlavaty 2020-06-08 3:31 ` Richard Stallman 2020-04-21 1:51 ` Richard Stallman 2020-04-21 7:01 ` Joost Kremers 2020-04-22 3:17 ` Richard Stallman 2020-04-22 9:12 ` Nicolas Goaziou 2020-04-22 14:25 ` Eli Zaretskii 2020-04-23 2:36 ` Richard Stallman 2020-04-23 8:41 ` Joost Kremers 2020-04-23 15:02 ` Eli Zaretskii 2020-04-24 6:36 ` Joost Kremers 2020-04-24 10:14 ` Eli Zaretskii 2020-04-24 10:28 ` Stefan Kangas 2020-04-24 11:14 ` Eli Zaretskii 2020-05-15 19:41 ` Steinar Bang 2020-04-24 10:36 ` Joost Kremers 2020-04-24 11:17 ` Eli Zaretskii 2020-06-17 3:36 ` Ricardo Wurmus 2020-06-17 3:46 ` Arthur Miller 2020-04-24 2:37 ` Richard Stallman 2020-04-24 8:47 ` Joost Kremers 2020-04-24 9:59 ` Eli Zaretskii 2020-04-24 11:25 ` Robert Pluim 2020-04-25 3:35 ` Richard Stallman 2020-04-23 14:43 ` Eli Zaretskii 2020-04-24 2:43 ` Richard Stallman 2020-04-24 10:03 ` Eli Zaretskii 2020-04-24 11:34 ` Robert Pluim 2020-04-24 12:09 ` Eli Zaretskii 2020-04-24 12:23 ` Robert Pluim 2020-04-24 12:32 ` Eli Zaretskii 2020-04-24 12:39 ` Robert Pluim 2020-04-23 12:33 ` Po Lu 2020-04-23 2:32 ` Richard Stallman 2020-04-20 4:48 ` Po Lu 2020-04-19 6:32 ` 조성빈 2020-04-19 6:39 ` Po Lu 2020-04-19 6:41 ` Po Lu 2020-04-19 7:04 ` 조성빈 2020-04-19 7:13 ` Po Lu 2020-04-19 7:45 ` 조성빈 2020-04-19 7:55 ` Po Lu 2020-04-19 7:59 ` ndame 2020-04-19 8:14 ` Po Lu 2020-04-19 8:16 ` ndame 2020-04-19 12:07 ` 조성빈 2020-04-19 12:16 ` Po Lu 2020-04-20 2:19 ` Richard Stallman 2020-04-20 4:30 ` Po Lu 2020-04-21 1:50 ` Richard Stallman 2020-04-21 2:11 ` Po Lu 2020-04-22 3:19 ` Richard Stallman 2020-04-22 4:36 ` Po Lu 2020-04-22 17:00 ` Stefan Monnier 2020-04-23 12:27 ` Po Lu 2020-04-23 15:23 ` Stefan Monnier 2020-04-26 4:13 ` Po Lu 2020-04-24 2:34 ` Richard Stallman 2020-04-24 2:50 ` Eduardo Ochs 2020-04-24 9:13 ` Kévin Le Gouguec 2020-04-25 3:36 ` Richard Stallman 2020-04-25 6:46 ` Eli Zaretskii 2020-04-26 3:24 ` Richard Stallman 2020-04-24 9:55 ` Eli Zaretskii 2020-04-19 6:52 ` ndame 2020-04-19 13:29 ` Eli Zaretskii 2020-04-19 2:18 ` Richard Stallman 2020-04-19 2:33 ` Po Lu 2020-04-19 3:05 ` Jean-Christophe Helary 2020-04-19 3:38 ` Po Lu 2020-04-19 4:55 ` ndame 2020-04-19 6:14 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") Po Lu 2020-04-19 6:54 ` Eduardo Ochs 2020-04-19 7:22 ` Making Emacs more friendly to newcomers Po Lu 2020-04-19 8:05 ` Making Emacs more friendly to newcomers (was: "Why is emacs so square?") 조성빈 2020-04-19 8:12 ` ndame 2020-04-19 8:21 ` Making Emacs more friendly to newcomers Po Lu 2020-04-19 8:25 ` ndame 2020-04-19 9:30 ` Po Lu 2020-04-19 22:44 ` Sébastien Gendre 2020-04-20 0:36 ` Stefan Kangas 2020-04-20 3:32 ` Tim Cross 2020-04-20 9:54 ` Po Lu 2020-04-20 13:50 ` Stefan Monnier 2020-04-21 8:52 ` Po Lu 2020-04-21 13:57 ` Simen Heggestøyl 2020-04-21 15:36 ` Yuan Fu 2020-04-22 3:14 ` Richard Stallman 2020-04-22 4:33 ` Po Lu 2020-04-23 6:33 ` Ahmed Khanzada 2020-04-23 10:14 ` Stefan Kangas 2020-04-23 14:55 ` Eli Zaretskii 2020-04-23 17:07 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: " Stefan Kangas 2020-04-23 23:45 ` Jean-Christophe Helary 2020-04-24 0:51 ` chad 2020-04-24 2:02 ` Jean-Christophe Helary 2020-04-24 9:02 ` Eli Zaretskii 2020-04-24 5:26 ` Po Lu 2020-04-25 15:31 ` Stefan Kangas 2020-04-26 11:57 ` Jean-Christophe Helary 2020-04-26 12:17 ` Stephen Berman 2020-04-26 12:52 ` Jean-Christophe Helary 2020-06-13 11:59 ` Konstantin Kharlamov 2020-06-13 12:50 ` Eli Zaretskii 2020-06-13 13:41 ` Konstantin Kharlamov 2020-06-13 14:16 ` Alan Third 2020-06-13 14:19 ` Eli Zaretskii 2020-06-13 14:23 ` Alan Third 2020-06-13 14:33 ` Eli Zaretskii 2020-06-13 14:57 ` Konstantin Kharlamov 2020-06-13 15:02 ` Alan Third 2020-06-13 15:08 ` Eli Zaretskii 2020-06-13 15:05 ` Andreas Schwab 2020-06-13 15:10 ` Eli Zaretskii 2020-06-13 15:18 ` Andreas Schwab 2020-06-14 22:11 ` git-send-email (was: Why are so many great packages not trying to get included in GNU Emacs?) Kévin Le Gouguec 2020-06-15 2:37 ` Eli Zaretskii 2020-06-15 6:59 ` git-send-email Andreas Schwab 2020-06-15 8:12 ` git-send-email Eli Zaretskii 2020-06-15 9:10 ` git-send-email Andreas Schwab 2020-06-15 13:22 ` git-send-email Alfred M. Szmidt 2020-06-15 14:07 ` git-send-email Andreas Schwab 2020-06-15 14:15 ` git-send-email Alfred M. Szmidt 2020-06-15 14:16 ` git-send-email Andreas Schwab 2020-06-15 14:25 ` git-send-email Alfred M. Szmidt 2020-06-15 8:23 ` git-send-email Kévin Le Gouguec 2020-06-15 14:42 ` git-send-email Eli Zaretskii 2020-06-15 15:38 ` git-send-email Kévin Le Gouguec 2020-06-15 17:12 ` git-send-email Eli Zaretskii 2020-06-15 17:59 ` git-send-email Kévin Le Gouguec 2020-06-15 18:08 ` git-send-email Eli Zaretskii 2020-06-15 18:51 ` git-send-email Paul Eggert 2020-06-15 18:59 ` git-send-email Eli Zaretskii 2020-06-15 19:06 ` git-send-email Paul Eggert 2020-06-22 10:17 ` git-send-email Kévin Le Gouguec 2020-06-13 14:35 ` Why are so many great packages not trying to get included in GNU Emacs? WAS: Re: Making Emacs more friendly to newcomers Dmitry Gutov 2020-06-13 19:23 ` Konstantin Kharlamov 2020-06-13 19:31 ` Basil L. Contovounesios 2020-06-13 20:24 ` Konstantin Kharlamov 2020-06-13 20:30 ` Basil L. Contovounesios 2020-06-13 20:52 ` Konstantin Kharlamov 2020-06-13 21:00 ` Konstantin Kharlamov 2020-06-13 21:24 ` Basil L. Contovounesios 2020-06-13 19:33 ` Eli Zaretskii 2020-06-13 22:09 ` Dmitry Gutov 2020-06-13 23:00 ` Konstantin Kharlamov 2020-06-13 23:23 ` Dmitry Gutov 2020-06-14 10:00 ` Konstantin Kharlamov 2020-06-13 19:38 ` João Távora 2020-06-13 20:30 ` Konstantin Kharlamov 2020-06-14 10:41 ` João Távora 2020-06-18 17:49 ` Ricardo Wurmus 2020-06-18 22:34 ` Konstantin Kharlamov 2020-06-19 11:48 ` Eli Zaretskii 2020-06-20 13:07 ` Konstantin Kharlamov 2020-06-20 14:02 ` Eli Zaretskii 2020-06-20 15:41 ` Konstantin Kharlamov 2020-06-20 16:10 ` Eli Zaretskii 2020-06-20 18:04 ` Konstantin Kharlamov 2020-06-20 18:43 ` Eli Zaretskii 2020-06-20 21:31 ` Konstantin Kharlamov 2020-06-20 22:25 ` Konstantin Kharlamov 2020-06-21 2:35 ` Eli Zaretskii 2020-06-21 5:08 ` Stefan Monnier 2020-06-21 8:58 ` Konstantin Kharlamov 2020-06-21 9:00 ` Konstantin Kharlamov 2020-06-21 1:37 ` Yuan Fu 2020-06-21 13:49 ` João Távora 2020-06-21 15:36 ` Konstantin Kharlamov 2020-06-20 20:57 ` Ricardo Wurmus 2020-06-20 21:35 ` Konstantin Kharlamov 2020-06-17 3:58 ` Ricardo Wurmus 2020-06-17 8:58 ` Konstantin Kharlamov 2020-04-20 4:53 ` Po Lu 2020-04-20 6:08 ` 조성빈 2020-04-20 9:53 ` Po Lu 2020-04-20 13:07 ` 조성빈 2020-04-20 15:32 ` Eli Zaretskii 2020-04-21 2:06 ` Po Lu 2020-04-21 2:17 ` Dmitry Gutov 2020-04-21 4:42 ` Po Lu 2020-04-21 13:55 ` Dmitry Gutov 2020-04-22 3:14 ` How to poll the users Richard Stallman 2020-04-24 4:31 ` Dmitry Gutov 2020-04-25 3:37 ` Richard Stallman 2020-04-25 4:09 ` Dmitry Gutov 2020-04-25 15:35 ` Drew Adams 2020-04-25 15:44 ` Dmitry Gutov 2020-04-25 16:15 ` Stefan Kangas 2020-04-25 16:46 ` Dmitry Gutov 2020-04-26 15:25 ` Stefan Kangas 2020-04-26 16:22 ` Dmitry Gutov 2020-04-27 2:18 ` Richard Stallman 2020-04-25 16:20 ` Drew Adams 2020-04-25 16:29 ` Dmitry Gutov 2020-04-25 16:54 ` Drew Adams 2020-04-25 16:57 ` Dmitry Gutov 2020-04-25 17:16 ` Drew Adams 2020-04-25 15:36 ` Drew Adams 2020-04-26 3:25 ` Richard Stallman 2020-04-26 14:21 ` Dmitry Gutov 2020-04-26 3:25 ` Richard Stallman 2020-04-26 13:23 ` Dmitry Gutov 2020-04-27 2:19 ` Richard Stallman 2020-04-27 2:30 ` Dmitry Gutov 2020-04-26 16:56 ` Drew Adams 2020-04-26 17:27 ` Dmitry Gutov 2020-04-26 17:44 ` Drew Adams 2020-04-26 18:35 ` Dmitry Gutov 2020-04-27 2:22 ` Richard Stallman 2020-04-27 2:22 ` Richard Stallman 2020-04-27 2:42 ` Dmitry Gutov 2020-04-27 2:22 ` Richard Stallman 2020-04-28 2:44 ` Richard Stallman 2020-04-28 3:12 ` Dmitry Gutov 2020-04-27 2:22 ` Richard Stallman 2020-04-27 3:18 ` Drew Adams 2020-04-28 3:06 ` Sacha Chua 2020-04-22 4:41 ` Making Emacs more friendly to newcomers Po Lu 2020-04-22 8:13 ` Sergey Organov 2020-04-22 3:19 ` Richard Stallman 2020-04-22 11:33 ` Dmitry Gutov 2020-04-23 7:04 ` Ahmed Khanzada 2020-04-23 14:20 ` Dmitry Gutov 2020-04-23 14:56 ` Eli Zaretskii 2020-04-23 15:32 ` Yuan Fu 2020-04-27 16:09 ` Arthur Miller 2020-04-27 16:43 ` Jean-Christophe Helary 2020-04-20 14:22 ` Eli Zaretskii 2020-04-21 12:43 ` Sébastien Gendre 2020-04-21 14:38 ` Eli Zaretskii 2020-04-22 1:35 ` Dmitry Gutov 2020-04-22 3:26 ` Stefan Monnier 2020-04-30 7:49 ` "Themes" shipping configuration - an unusual convention Stefan Kangas 2020-04-30 12:21 ` Stefan Monnier 2020-04-30 14:48 ` Drew Adams 2020-06-13 16:30 ` Basil L. Contovounesios 2020-04-22 13:22 ` Making Emacs more friendly to newcomers Eli Zaretskii 2020-04-22 17:46 ` chad 2020-04-22 22:52 ` Yuan Fu 2020-04-23 0:12 ` chad 2020-04-23 0:49 ` Yuan Fu 2020-04-22 17:55 ` Dmitry Gutov 2020-04-19 13:35 ` Eli Zaretskii 2020-04-19 19:14 ` Drew Adams 2020-04-19 22:50 ` Po Lu 2020-04-19 8:16 ` Po Lu 2020-04-19 23:50 ` "Why is emacs so square?" Stefan Kangas 2020-04-19 2:19 ` Richard Stallman 2020-04-16 15:42 ` Jean-Christophe Helary 2020-04-16 16:33 ` Drew Adams 2020-04-19 2:19 ` Richard Stallman 2020-04-27 17:50 Making Emacs more friendly to newcomers ndame 2020-04-27 18:07 ` Arthur Miller 2020-04-28 0:13 ` Dmitry Gutov 2020-04-30 2:26 ` Richard Stallman 2020-04-30 5:58 ` ndame 2020-05-02 2:21 ` Richard Stallman 2020-05-02 15:52 ` Arthur Miller 2020-05-02 15:59 ` Dmitry Gutov 2020-05-02 17:00 ` Arthur Miller 2020-05-02 18:20 ` Dmitry Gutov 2020-05-02 18:55 ` Arthur Miller 2020-05-04 3:05 ` Richard Stallman 2020-05-05 14:08 ` Arthur Miller 2020-05-06 4:46 ` Richard Stallman 2020-05-06 18:14 ` Nikita Mogilevsky 2020-05-07 2:48 ` Richard Stallman 2020-05-02 16:25 ` ndame 2020-05-02 19:04 ` Drew Adams 2020-05-02 19:36 ` Arthur Miller 2020-05-02 20:05 ` Drew Adams 2020-05-02 21:16 ` Arthur Miller 2020-05-02 22:16 ` Drew Adams 2020-05-03 3:42 ` Richard Stallman 2020-05-05 13:58 ` Arthur Miller -- strict thread matches above, loose matches on Subject: below -- 2020-04-21 15:27 ndame 2020-04-22 3:14 ` Richard Stallman 2020-04-20 6:22 ndame 2020-04-20 10:08 ` Po Lu 2020-04-21 1:50 ` Richard Stallman 2020-04-21 2:09 ` Po Lu 2020-04-21 8:44 ` Theodor Thornhill 2020-04-22 4:30 ` Po Lu 2020-04-22 7:01 ` Theodor Thornhill 2020-04-23 3:10 ` Po Lu 2020-04-22 16:45 ` Stefan Monnier 2020-04-22 17:16 ` Dmitry Gutov 2020-04-23 3:11 ` Po Lu 2020-04-23 12:55 ` Stefan Monnier 2020-04-24 5:24 ` Po Lu 2020-04-26 18:40 ` Yuan Fu 2020-04-27 4:00 ` Stefan Monnier 2020-04-24 2:34 ` Richard Stallman 2020-04-24 2:39 ` 조성빈 2020-04-24 2:42 ` 조성빈 2020-04-24 7:33 ` Theodor Thornhill 2020-04-25 3:30 ` Richard Stallman 2020-04-25 3:32 ` 조성빈 2020-04-26 3:19 ` Richard Stallman 2020-04-26 14:32 ` Dmitry Gutov 2020-04-26 15:14 ` tomas 2020-04-26 16:32 ` Dmitry Gutov 2020-04-26 16:36 ` tomas 2020-04-21 2:10 ` Dmitry Gutov 2020-04-21 3:45 ` Stefan Monnier 2020-04-21 4:44 ` chad 2020-04-22 3:19 ` Richard Stallman 2020-04-22 3:31 ` Dmitry Gutov 2020-04-14 15:06 "Why is emacs so square?" ndame 2020-04-15 3:00 ` Richard Stallman 2020-04-15 4:33 ` ndame 2020-04-15 4:39 ` Stefan Kangas 2020-04-15 4:54 ` ndame 2020-04-15 4:56 ` Emanuel Berg via Emacs development discussions. 2020-04-16 2:30 ` Richard Stallman 2020-04-16 5:28 ` Eli Zaretskii 2020-04-16 16:27 ` Clément Pit-Claudel 2020-04-16 18:26 ` Marcin Borkowski 2020-04-16 18:40 ` Eli Zaretskii 2020-04-16 18:54 ` Drew Adams 2020-04-16 17:32 ` Bob Newell 2020-05-14 2:32 ` Stefan Kangas 2020-05-14 15:53 ` Drew Adams 2020-04-16 5:02 ` Jorge Javier Araya Navarro 2020-04-16 21:31 ` Juri Linkov 2020-04-15 6:27 ` Eli Zaretskii 2020-04-15 14:17 ` Dmitry Gutov 2020-04-15 14:31 ` Eli Zaretskii 2020-04-15 16:34 ` Ulrich Mueller 2020-04-16 10:14 ` Alex Bennée 2020-04-16 10:22 ` Eli Zaretskii 2020-04-16 16:26 ` Closing displays GTK+ bug (was: "Why is emacs so square?") Ulrich Mueller 2020-04-16 16:36 ` Eli Zaretskii 2020-04-17 2:25 ` Richard Stallman 2020-04-17 9:20 ` Closing displays GTK+ bug Ulrich Mueller 2020-04-18 2:07 ` Richard Stallman 2020-04-16 20:36 ` Log out hanging after X-forwarded emacsclient [Was: Closing displays GTK+ bug] Adam Sjøgren via "Emacs development discussions. 2020-04-16 21:57 ` James Cloos 2020-04-17 16:06 ` Adam Sjøgren via "Emacs development discussions. 2020-04-18 9:45 ` Robert Pluim 2020-04-18 17:20 ` Adam Sjøgren via "Emacs development discussions. 2020-04-19 13:13 ` Robert Pluim 2020-05-10 10:11 ` Log out hanging after X-forwarded emacsclient Adam Sjøgren via "Emacs development discussions. 2020-05-12 6:57 ` long-standing GTK bug (was: Log out hanging after X-forwarded emacsclient) andres.ramirez 2020-05-12 7:57 ` long-standing GTK bug Adam Sjøgren via "Emacs development discussions. 2020-05-17 11:40 ` Adam Sjøgren via "Emacs development discussions. 2020-05-17 22:05 ` Adam Porter 2020-06-09 2:37 ` Richard Stallman 2020-06-09 14:32 ` Eli Zaretskii 2020-06-10 0:53 ` Richard Stallman 2020-06-10 14:33 ` Eli Zaretskii 2021-05-08 11:51 ` Adam Sjøgren 2021-05-09 10:27 ` Robert Pluim 2021-05-09 15:11 ` Adam Sjøgren 2021-05-10 9:16 ` Robert Pluim 2021-05-10 10:00 ` Adam Sjøgren 2021-05-10 12:50 ` Robert Pluim 2021-05-10 13:10 ` Adam Sjøgren 2021-05-10 14:13 ` Óscar Fuentes 2021-05-10 14:40 ` Stefan Monnier 2021-05-10 14:45 ` Robert Pluim 2021-05-10 15:00 ` Stefan Monnier 2021-05-11 9:09 ` Robert Pluim 2021-05-10 2:23 ` 황병희 2022-03-01 21:23 ` Adam Sjøgren 2022-03-02 14:12 ` Po Lu 2022-03-03 6:55 ` Madhu 2022-03-03 7:21 ` Po Lu 2022-03-03 9:43 ` Madhu 2022-03-03 10:11 ` Po Lu 2022-03-03 12:06 ` Madhu 2022-03-03 13:05 ` Po Lu 2022-03-03 15:31 ` Madhu 2022-03-03 13:22 ` Lars Ingebrigtsen 2022-03-03 13:30 ` Po Lu 2022-03-04 15:21 ` Lars Ingebrigtsen 2024-04-09 5:07 ` Log out hanging after X-forwarded emacsclient Thomas Fitzsimmons 2020-04-16 23:23 ` "Why is emacs so square?" chad 2020-04-18 2:03 ` Richard Stallman 2020-04-18 7:06 ` Eli Zaretskii 2020-04-20 22:14 ` chad 2020-04-21 8:43 ` Po Lu 2020-04-21 8:44 ` Po Lu 2020-04-15 17:15 ` Dmitry Gutov 2020-04-15 20:08 ` chad 2020-04-15 20:44 ` ndame 2020-04-16 5:06 ` Eli Zaretskii 2020-04-16 6:00 ` ndame 2020-04-16 14:26 ` Eli Zaretskii 2020-04-16 15:52 ` ndame 2020-04-16 16:25 ` ndame 2020-04-17 2:25 ` Richard Stallman 2020-04-16 19:14 ` ndame 2020-04-16 19:26 ` Eli Zaretskii 2020-04-16 19:33 ` ndame 2020-04-16 20:04 ` Dmitry Gutov 2020-04-16 20:30 ` ndame 2020-04-17 7:06 ` Eli Zaretskii 2020-04-17 7:28 ` Jean-Christophe Helary 2020-04-17 10:00 ` Eli Zaretskii 2020-04-21 23:54 ` Dmitry Gutov 2020-04-22 13:21 ` Eli Zaretskii 2020-04-22 14:05 ` Clément Pit-Claudel 2020-04-22 14:29 ` Eli Zaretskii 2020-04-22 15:17 ` Clément Pit-Claudel 2020-04-24 3:25 ` message-mode toolbars, was: " Dmitry Gutov 2020-04-30 4:27 ` Lars Ingebrigtsen 2020-04-30 18:26 ` Dmitry Gutov 2020-04-30 18:44 ` Eli Zaretskii 2020-04-30 23:57 ` Dmitry Gutov 2020-05-01 6:18 ` Eli Zaretskii 2020-04-30 22:16 ` Lars Ingebrigtsen 2020-04-30 22:44 ` Dmitry Gutov 2020-05-11 1:37 ` Dmitry Gutov 2020-04-22 16:14 ` Dmitry Gutov 2020-04-22 16:55 ` Eli Zaretskii 2020-04-22 17:04 ` Clément Pit-Claudel 2020-04-22 17:06 ` Dmitry Gutov 2020-04-22 17:19 ` Eli Zaretskii 2020-04-22 17:34 ` Dmitry Gutov 2020-04-22 18:09 ` Eli Zaretskii 2020-04-22 18:07 ` chad 2020-04-22 18:24 ` Eli Zaretskii 2020-04-22 18:45 ` Dmitry Gutov 2020-04-23 9:42 ` Stefan Kangas 2020-04-23 15:04 ` Eli Zaretskii 2020-04-23 21:46 ` Dmitry Gutov 2020-04-23 20:36 ` Alan Third 2020-04-23 17:10 ` Juan José García-Ripoll 2020-04-22 17:32 ` chad 2020-04-22 16:16 ` Dmitry Gutov 2020-04-22 16:22 ` Eli Zaretskii 2020-04-22 16:29 ` Robert Pluim 2020-04-22 18:02 ` Iñigo Serna 2020-04-22 18:05 ` Robert Pluim 2020-04-23 12:36 ` Po Lu 2020-04-17 7:36 ` Stefan Kangas 2020-04-17 9:51 ` Eli Zaretskii 2020-04-17 8:50 ` ndame 2020-04-17 9:59 ` Eli Zaretskii 2020-04-17 16:08 ` ndame 2020-04-18 2:04 ` Richard Stallman 2020-04-18 9:53 ` Robert Pluim 2020-04-18 16:20 ` ndame 2020-04-19 6:02 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") Po Lu 2020-04-19 6:52 ` Improving icons shipped with Emacs Po Lu 2020-04-19 7:04 ` Improving icons shipped with Emacs (was: "Why is emacs so square?") ndame 2020-04-19 7:06 ` Improving icons shipped with Emacs Po Lu 2020-04-19 7:14 ` ndame 2020-04-19 7:20 ` Po Lu 2020-04-19 7:56 ` ndame 2020-04-19 7:58 ` Po Lu 2020-04-19 2:20 ` "Why is emacs so square?" Richard Stallman 2020-04-19 2:33 ` Dmitry Gutov 2020-04-19 13:20 ` Eli Zaretskii 2020-04-20 2:18 ` Richard Stallman 2020-04-20 14:55 ` Eli Zaretskii 2020-04-21 1:52 ` Richard Stallman 2020-04-21 4:40 ` ndame 2020-04-22 3:17 ` Richard Stallman 2020-04-18 2:04 ` Richard Stallman 2020-04-15 22:11 ` Bob Newell 2020-04-15 3:35 ` Bob Newell 2020-04-15 3:44 ` Jean-Christophe Helary 2020-04-15 6:28 ` Eli Zaretskii 2020-04-15 13:57 ` Tim Cross 2020-04-15 14:09 ` Eli Zaretskii 2020-04-16 17:03 ` Clément Pit-Claudel 2020-04-16 17:22 ` Eli Zaretskii 2020-04-16 18:11 ` Clément Pit-Claudel 2020-04-16 18:21 ` Eli Zaretskii 2020-04-16 19:51 ` Clément Pit-Claudel 2020-04-16 19:52 ` Clément Pit-Claudel 2020-04-17 7:09 ` Eli Zaretskii 2020-04-17 13:43 ` Stefan Monnier 2020-04-17 14:13 ` Clément Pit-Claudel 2020-04-17 14:46 ` Eli Zaretskii 2020-04-17 15:27 ` Clément Pit-Claudel 2020-04-17 15:38 ` Eli Zaretskii 2020-04-17 15:52 ` Clément Pit-Claudel 2020-04-17 17:16 ` Eli Zaretskii 2020-04-17 17:40 ` Clément Pit-Claudel 2020-04-17 17:45 ` Eli Zaretskii 2020-04-17 17:57 ` Clément Pit-Claudel 2020-04-17 18:36 ` Eli Zaretskii 2020-04-17 18:51 ` Eli Zaretskii 2020-04-17 19:31 ` Clément Pit-Claudel 2020-04-17 20:14 ` Stefan Monnier 2020-04-17 20:57 ` Clément Pit-Claudel 2020-04-15 14:11 ` Andreas Schwab 2020-04-15 4:14 ` Emanuel Berg via Emacs development discussions. 2020-04-15 22:09 ` Christopher Lemmer Webber
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).