* Fortran Topics (outline-minor-mode, require, fixed format) @ 2021-05-29 20:08 ludvig-faddeev 2021-05-29 20:14 ` Emanuel Berg via Users list for the GNU Emacs text editor ` (2 more replies) 0 siblings, 3 replies; 85+ messages in thread From: ludvig-faddeev @ 2021-05-29 20:08 UTC (permalink / raw) To: Help Gnu Emacs Cc: jaime-escalante, pietru, wael-zwaiter, pauline-galea, georgos.bosionelos, michael-franzese We want to know how to set up three things. outline-minor-mode oriented 1. How to include headings and subheadings for fortran (fixed and free format) 2. Code structure hiding (subroutine, function) 3. Setting up new heading lists (outline-regexp, outline-heading-alist) Other things Remove the need to call "(require 'f90)" and "(require 'fortran)" in conformity with other languages (e.g. as in emacs-lisp-mode, texinfo-mode) Remove need to have separate modes for fixed and free format (fortran, f90). Instead have only "fortran-mode" with a variable for fixed format setting for use when needed by the user. These days fortran-mode mostly caters for legacy fortran code. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 20:08 Fortran Topics (outline-minor-mode, require, fixed format) ludvig-faddeev @ 2021-05-29 20:14 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-29 20:48 ` Jean Louis 2021-05-29 20:36 ` Fortran Topics (outline-minor-mode, require, fixed format) Jean Louis 2021-05-30 2:04 ` Stefan Monnier via Users list for the GNU Emacs text editor 2 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-29 20:14 UTC (permalink / raw) To: help-gnu-emacs ludvig-faddeev wrote: > We want to know how to set up three things. > > outline-minor-mode oriented > > 1. How to include headings and subheadings for fortran > (fixed and free format) > 2. Code structure hiding (subroutine, function) > 3. Setting up new heading lists (outline-regexp, > outline-heading-alist) OK, don't know/understand what 1 and 3 means, again did you get it to work somewhere else? 2 I do understand but have no desire for myself so don't know the details, again I'd check out how it is done elsewhere if I wanted it. > Other things > > Remove the need to call "(require 'f90)" and "(require > 'fortran)" in conformity with other languages (e.g. as in > emacs-lisp-mode, texinfo-mode) Well, easy enough to do and conformity is very difficult (impossible) to ever achieve anyway. > Remove need to have separate modes for fixed and free format > (fortran, f90). Instead have only "fortran-mode" with > a variable for fixed format setting for use when needed by > the user. These days fortran-mode mostly caters for legacy > fortran code. Okay. -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 20:14 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-29 20:48 ` Jean Louis 2021-05-29 21:26 ` Christopher Dimech 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-29 20:48 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-29 23:16]: > > outline-minor-mode oriented > > > > 1. How to include headings and subheadings for fortran > > (fixed and free format) > > 2. Code structure hiding (subroutine, function) > > 3. Setting up new heading lists (outline-regexp, > > outline-heading-alist) > > OK, don't know/understand what 1 and 3 means, again did you > get it to work somewhere else? In Fortran the comment is ! and how somebody wish to set headings is really personal choice. I use just one heading in Emacs Lisp: ;;;; ↝ MY EMACS LISP FUNCTIONS And I like using Unicode that way. ;;;; ⧭⧭⧭⧭⧭⧭⧭⧭⧭ Or maybe like this All that can work. Is it visual enough? That is what matters. Or how about: ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ ⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜ ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ Emacs Lisp Functions ⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜ ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ ⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜ ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ I like those. Headings and subheadings in outline mode don't exist in Fortran as a language. Outline Minor Mode is universal it is up to user to decide what is heading and what not. All of the above depends of settings, right? > > Remove the need to call "(require 'f90)" and "(require > > 'fortran)" in conformity with other languages (e.g. as in > > emacs-lisp-mode, texinfo-mode) > > Well, easy enough to do and conformity is very difficult > (impossible) to ever achieve anyway. Reference here: https://www.emacswiki.org/emacs/FortranMode (add-to-list 'auto-mode-alist '("\\.f\\'" . f90-mode)) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 20:48 ` Jean Louis @ 2021-05-29 21:26 ` Christopher Dimech 2021-05-29 21:56 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Christopher Dimech @ 2021-05-29 21:26 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs > Sent: Sunday, May 30, 2021 at 8:48 AM > From: "Jean Louis" <bugs@gnu.support> > To: help-gnu-emacs@gnu.org > Subject: Re: Fortran Topics (outline-minor-mode, require, fixed format) > > * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-29 23:16]: > > > outline-minor-mode oriented > > > > > > 1. How to include headings and subheadings for fortran > > > (fixed and free format) > > > 2. Code structure hiding (subroutine, function) > > > 3. Setting up new heading lists (outline-regexp, > > > outline-heading-alist) > > > > OK, don't know/understand what 1 and 3 means, again did you > > get it to work somewhere else? > > In Fortran the comment is ! and how somebody wish to set headings is > really personal choice. > > I use just one heading in Emacs Lisp: > > ;;;; ↝ MY EMACS LISP FUNCTIONS In emacs-lisp-mode, outline-minor-mode uses ;; as level 1 heading, ;;; as level 2 heading, ;;;; as level 3 heading etc. For fortran-mode and f90 mode, outline-minor-mode could be set the same way. !! Heading Level 1 !!! Subheading Level 2 !!!! SubSubHeading Level 3 Have tried doing "Hide Body" for comments starting with "!" (free format) or "C" (fixed form). But does not look that "Hide Body" does anything. Then users can change them if they want something else or additional settings. For emacs-lisp-mode, outline-minor-mode can hide strucutres starting with "(". For fortran, there can be hiding for lines starting with "subroutine" and "function" when outline-minor-mode in enabled. Could send a bug report for a feature request. What do you think Jean? > > And I like using Unicode that way. > > ;;;; ⧭⧭⧭⧭⧭⧭⧭⧭⧭ Or maybe like this > > All that can work. Is it visual enough? That is what matters. > > Or how about: > > ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ > ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ ⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜ > ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ Emacs Lisp Functions ⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜ > ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ ⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜⮜ > ;⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞⮞ > > I like those. > > Headings and subheadings in outline mode don't exist in Fortran as a > language. Outline Minor Mode is universal it is up to user to decide > what is heading and what not. > > All of the above depends of settings, right? > > > > Remove the need to call "(require 'f90)" and "(require > > > 'fortran)" in conformity with other languages (e.g. as in > > > emacs-lisp-mode, texinfo-mode) > > > > Well, easy enough to do and conformity is very difficult > > (impossible) to ever achieve anyway. > > Reference here: > https://www.emacswiki.org/emacs/FortranMode > > (add-to-list 'auto-mode-alist '("\\.f\\'" . f90-mode)) They also can do that with the rest (add-to-list 'auto-mode-alist '("\\.f95\\'" . f90-mode)) (add-to-list 'auto-mode-alist '("\\.f03\\'" . f90-mode)) (add-to-list 'auto-mode-alist '("\\.f08\\'" . f90-mode)) Regards Christopher > > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > Sign an open letter in support of Richard M. Stallman > https://stallmansupport.org/ > > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 21:26 ` Christopher Dimech @ 2021-05-29 21:56 ` Jean Louis 2021-05-29 22:07 ` Christopher Dimech 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-29 21:56 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 00:26]: > For fortran-mode and f90 mode, outline-minor-mode could be set the same way. > > !! Heading Level 1 > !!! Subheading Level 2 > !!!! SubSubHeading Level 3 I think it is user's choice. I did not find any pre-settings. > Have tried doing "Hide Body" for comments starting with "!" (free format) or > "C" (fixed form). But does not look that "Hide Body" does anything. It does on my side. To activate settings that I did on the fly, I had to do twice M-x outline-minor-mode > Then users can change them if they want something else or additional settings. > > For emacs-lisp-mode, outline-minor-mode can hide strucutres starting with "(". > > For fortran, there can be hiding for lines starting with "subroutine" and "function" > when outline-minor-mode in enabled. I think that is users' choice. > Could send a bug report for a feature request. What do you think > Jean? I think that few variables are not customizable, but there is no need for feature request related to headings for specific mode as outline-minor-mode is a users' choice. General settings could be better, I have already explained how it could work, but it is up to developers to decide on it. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 21:56 ` Jean Louis @ 2021-05-29 22:07 ` Christopher Dimech 2021-05-29 22:37 ` How users start programming in Emacs Lisp Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Christopher Dimech @ 2021-05-29 22:07 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs > Sent: Sunday, May 30, 2021 at 9:56 AM > From: "Jean Louis" <bugs@gnu.support> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: help-gnu-emacs@gnu.org > Subject: Re: Fortran Topics (outline-minor-mode, require, fixed format) > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 00:26]: > > For fortran-mode and f90 mode, outline-minor-mode could be set the same way. > > > > !! Heading Level 1 > > !!! Subheading Level 2 > > !!!! SubSubHeading Level 3 > > I think it is user's choice. I did not find any pre-settings. > > > Have tried doing "Hide Body" for comments starting with "!" (free format) or > > "C" (fixed form). But does not look that "Hide Body" does anything. > > It does on my side. To activate settings that I did on the fly, I had > to do twice M-x outline-minor-mode > > > Then users can change them if they want something else or additional settings. > > > > For emacs-lisp-mode, outline-minor-mode can hide strucutres starting with "(". > > > > For fortran, there can be hiding for lines starting with "subroutine" and "function" > > when outline-minor-mode in enabled. > > I think that is users' choice. Yes. For emacs-lisp-mode, there are some default settings already. I rather not force users to first learn elisp before being able to easily work on their code. > > Could send a bug report for a feature request. What do you think > > Jean? > > I think that few variables are not customizable, but there is no need > for feature request related to headings for specific mode as > outline-minor-mode is a users' choice. > > General settings could be better, I have already explained how it > could work, but it is up to developers to decide on it. Agreed then. > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > Sign an open letter in support of Richard M. Stallman > https://stallmansupport.org/ > ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-29 22:07 ` Christopher Dimech @ 2021-05-29 22:37 ` Jean Louis 2021-05-30 1:06 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 2:11 ` Christopher Dimech 0 siblings, 2 replies; 85+ messages in thread From: Jean Louis @ 2021-05-29 22:37 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 01:08]: > Yes. For emacs-lisp-mode, there are some default settings already. > I rather not force users to first learn elisp before being able to > easily work on their code. When any user is setting any variable that is already Emacs Lisp. Is is a slight subterfuge, we call it "customization" but user starts already programming in Lisp. *scratch* buffer is famous for it. I just need more of them but *scratch*, so I do it this way: ;;;; ↝ RCD TEMPORARY BUFFERS (defvar rcd-temp-buffer-mode-history nil) (defun rcd-temp-buffer (&optional name mode) (interactive "p") (let* ((format "*RCD TEMPORARY BUFFER%s%s*") (buffer (if name (format format ": " name) (format format "" "")))) (switch-to-buffer (generate-new-buffer "*RCD TEMPORARY BUFFER*")) (if current-prefix-arg (let* ((modes '("adoc-mode" "emacs-lisp-mode" "lisp-mode" "markdown-mode" "org-mode" "sql-mode" "fundamental-mode" "html-mode")) (mode (completing-read "Mode: " modes nil t nil 'rcd-temp-buffer-mode-history))) (funcall (intern mode))) (funcall (intern (or mode "fundamental-mode")))))) (defun rcd-temp-buffer-destroy-em () (kill-matching-buffers "RCD TEMPORARY BUFFER")) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-29 22:37 ` How users start programming in Emacs Lisp Jean Louis @ 2021-05-30 1:06 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 2:11 ` Christopher Dimech 1 sibling, 0 replies; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 1:06 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > When any user is setting any variable that is already Emacs > Lisp. Is is a slight subterfuge, we call it "customization" > but user starts already programming in Lisp. And conversely, do enough Lisp and what happens is that many of these people end up Emacs users. -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-29 22:37 ` How users start programming in Emacs Lisp Jean Louis 2021-05-30 1:06 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 2:11 ` Christopher Dimech 2021-05-30 4:32 ` Eduardo Ochs 2021-05-30 5:46 ` Jean Louis 1 sibling, 2 replies; 85+ messages in thread From: Christopher Dimech @ 2021-05-30 2:11 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs > Sent: Sunday, May 30, 2021 at 10:37 AM > From: "Jean Louis" <bugs@gnu.support> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: help-gnu-emacs@gnu.org > Subject: How users start programming in Emacs Lisp... > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 01:08]: > > Yes. For emacs-lisp-mode, there are some default settings already. > > I rather not force users to first learn elisp before being able to > > easily work on their code. > > When any user is setting any variable that is already Emacs Lisp. Is > is a slight subterfuge, we call it "customization" but user starts > already programming in Lisp. > > *scratch* buffer is famous for it. > > I just need more of them but *scratch*, so I do it this way: > > ;;;; ↝ RCD TEMPORARY BUFFERS > > (defvar rcd-temp-buffer-mode-history nil) > > (defun rcd-temp-buffer (&optional name mode) > (interactive "p") > (let* ((format "*RCD TEMPORARY BUFFER%s%s*") > (buffer (if name (format format ": " name) (format format "" "")))) > (switch-to-buffer (generate-new-buffer "*RCD TEMPORARY BUFFER*")) > (if current-prefix-arg > (let* ((modes '("adoc-mode" "emacs-lisp-mode" "lisp-mode" "markdown-mode" > "org-mode" "sql-mode" "fundamental-mode" "html-mode")) > (mode (completing-read "Mode: " modes nil t nil 'rcd-temp-buffer-mode-history))) > (funcall (intern mode))) > (funcall (intern (or mode "fundamental-mode")))))) > > (defun rcd-temp-buffer-destroy-em () > (kill-matching-buffers "RCD TEMPORARY BUFFER")) I wonder how you call the buffer optional parameters C-u 8 C-u 5 M-x rcd-temp-buffer Could you pass a buffer-name and mode as strings, or just the number as position in the corresponding list? ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 2:11 ` Christopher Dimech @ 2021-05-30 4:32 ` Eduardo Ochs 2021-05-30 7:05 ` Jean Louis ` (2 more replies) 2021-05-30 5:46 ` Jean Louis 1 sibling, 3 replies; 85+ messages in thread From: Eduardo Ochs @ 2021-05-30 4:32 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs, Jean Louis On Sat, 29 May 2021 at 23:12, Christopher Dimech <dimech@gmx.com> wrote: > > > Sent: Sunday, May 30, 2021 at 10:37 AM > > From: "Jean Louis" <bugs@gnu.support> > > To: "Christopher Dimech" <dimech@gmx.com> > > Cc: help-gnu-emacs@gnu.org > > Subject: How users start programming in Emacs Lisp... > > > > (...) > > > > *scratch* buffer is famous for it. > > > > I just need more of them but *scratch*, so I do it this way: Hi, just a curiosity... why do you prefer to use scratch buffers for elisp code instead of using (semi-scratch?) files in which we record all our experiments? In the tutorials of eev I try to convince the new users to treat their notes and scratch code as "field notes", and save everything they can... one of my arguments is this: Learning eev is also like learning to use paper notebooks. It is much easier to understand the notes and ideas what we wrote ourselves in our notebooks than to understand what other people wrote in their notebooks... when we go back to what _we_ wrote we are able to reconnect with what we were thinking, even when our notes are quite terse because we did not write down all details - and we can't do that with other people's notes. (From:) http://angg.twu.net/eev-intros/find-here-links-intro.html (find-here-links-intro) Grepping and `C-s'-ing our own notes is easy, and most of the time we can read - and reuse - what we wrote. By the way (for Christopher): eev has a hands-on elisp tutorial. It's here: http://angg.twu.net/eev-intros/find-elisp-intro.html (find-elisp-intro) Cheers, Eduardo Ochs http://angg.twu.net/#eev ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 4:32 ` Eduardo Ochs @ 2021-05-30 7:05 ` Jean Louis 2021-05-30 7:51 ` Eduardo Ochs 2021-05-30 11:43 ` Arthur Miller 2021-05-30 19:23 ` Emanuel Berg via Users list for the GNU Emacs text editor 2 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 7:05 UTC (permalink / raw) To: Eduardo Ochs; +Cc: Christopher Dimech, help-gnu-emacs * Eduardo Ochs <eduardoochs@gmail.com> [2021-05-30 07:33]: > Hi, just a curiosity... > > why do you prefer to use scratch buffers for elisp code instead of > using (semi-scratch?) files in which we record all our experiments? I use *scratch* buffer long time. It is for things that need not be saved. There is `persistent-scratch' library loaded that does save it over the sessions. However, whatever I write there is not of importance if it is lost. And temporary buffers I use because I don't want to save such. That is where I evaluate and test things that don't belong to any file neither should be saved. Bufffer could be saved though if necessary. > In the tutorials of eev I try to convince the new users to treat their > notes and scratch code as "field notes", and save everything they > can... one of my arguments is this: Then it is not temporary any more, not scratch any more. Not something being free to forget it and drop it. Temporary buffer is just a more static version of IELM, or more expanded version of M-: so things in M-: evaluation I also don't save; with the difference that scratch buffer is separated from other buffers, it will not work with buffer variables, and in my case I never need such. Example text in Emacs Lisp scratch that still hangs there is the stuff with Fortran discussion where some testing of outline-minor-mode was required: ``` outline-regexp ⇒ "[*\f]+" (setq outline-regexp "[!\f]+") outline-heading-alist ⇒ nil (setq outline-heading-alist '(("!" . 1) ("!!" . 2) ("!!!" . 3))) ! ! Something Program nOK !!! Somethingp ! Something More Something ``` that stuff I would not save. The point learned is that there are variables to be set for outline-minor-mode for it to make it work. I don't need to know which variables, I will find them in future by inspecting {C-h v outline TAB} list of variables or by {M-x customize-group RET outlines RET} > Learning eev is also like learning to use paper notebooks. It is > much easier to understand the notes and ideas what we wrote > ourselves in our notebooks than to understand what other people > wrote in their notebooks... That is right. I like any guidances related to notes, you remember that I switched from Org and file system based editing to mostly database backed column's value editing so it is always relevant to me. `eev' can be used there I guess. > when we go back to what _we_ wrote we are able to reconnect with > what we were thinking, even when our notes are quite terse because > we did not write down all details - and we can't do that with other > people's notes. That is right. What is interesting in my system is that I have: - dates that are relevant to creation of a node (which can be of any type); - dates relevant to modification of a node; - which user in collaboration created it, or modified it; - any access and additional actions on a single node/document are recorded, for example change of a name from Johnny to John would be recorded by its date/time and by user name; - any activation of a node/document, like opening of a hyperlink is recorded too, automatically; if user did read the note, or modified the node/document, or opened up the document is recorded; - and so on; that all works without disturbance for user; Then the whol track or history can be played back, it is possible to find out: - which people or participants where assigned to tasks or documents at specific times, dates in past; - which stuff was researched back in time; - related to which groups, companies, organizations, people, projects, etc. Those are not main feautures, just side effects. Some of such features are within these Hyperscope ring functions: ;;;; ↝ HYPERSCOPE RING FUNCTIONS Here is the variable initialization defined by fetching information from a database: (defvar hyperscope-ring-current (rcd-sql-first "SELECT hyperscopering_id FROM hyperscopering ORDER BY hyperscopering_id DESC LIMIT 1" hs-db) "Hyperscope's current ring item.") The "ring" remains in the database and can be stored in a variable, but it is persistent along sessions. (defvar hyperscope-ring (rcd-sql-list "SELECT hyperscopering_hyperdocument FROM hyperscopering ORDER BY hyperscopering_id DESC" hs-db) "Hyperscope ring uses RCD utilities function `next-circular-list-item'") However it is not yet upgraded for multiple users, as then I just need to add the columns like `usercreated' and `usermodified' so that ring becomes collaborative: hyperscopering_id | integer | hyperscopering_datecreated | timestamp without time zone | hyperscopering_datemodified | timestamp without time zone | hyperscopering_usercreated | text | hyperscopering_usermodified | text | hyperscopering_hyperdocument | integer | hyperscopering_description | text | Then instead of this function: (defvar hyperscope-ring-current (rcd-sql-first "SELECT hyperscopering_id FROM hyperscopering WHERE ORDER BY hyperscopering_id DESC LIMIT 1" hs-db) "Hyperscope's current ring item.") I would need to use this one: (defvar hyperscope-ring-current (rcd-sql-first "SELECT hyperscopering_id FROM hyperscopering WHERE hyperscopering_usercreated = current_user ORDER BY hyperscopering_id DESC LIMIT 1" hs-db) "Hyperscope's current ring item.") As that one would choose only those items related to current user of the database. Thus multiple users can contribute documents where all things get tracked. Choosing the last item accessed or activated is easy: (defun hyperscope-ring-last () (rcd-sql-first "SELECT hyperscopering_hyperdocument FROM hyperscopering WHERE hyperscopering_usercreated = current_user ORDER BY hyperscopering_id DESC LIMIT 1" hs-db)) Updating new items is just calling the function, while ignoring duplicates (who knows maybe duplicates are also important): (defun hyperscope-ring (id) "Setup Hyperscope ring" (let ((last (hyperscope-ring-last))) (cond ((null last) (hyperscope-ring-update id)) ((= last id) (ignore)) (t (hyperscope-ring-update id))))) And here is how somebody is recording everything within Memacs: Memacs https://github.com/novoid/Memacs > (From:) > http://angg.twu.net/eev-intros/find-here-links-intro.html > (find-here-links-intro) > > Grepping and `C-s'-ing our own notes is easy, and most of the time we > can read - and reuse - what we wrote. Often I am re-using notes, or duplicating it to have a new version, single click, and then editing new version. Unless those are some disposable notes. Then again I have a `hyperscope-capture-buffer' function where whatever I write in other buffer is captured in the dynamic knowledge repository. Then such function leaves a link like this one, as if I placed the "stamp" in the email, I can quicker find some important email captured as a note: (hyperscope 38116) Description of such note is: * Captured Buffer Text Buffer name: mutt-protected-1001-4182-5758066564440477891 Buffer file: /home/data1/protected/tmp/mutt-protected-1001-4182-5758066564440477891 Time captured: 2021-05-30-09:34:13 Why would anybody "capture" one's own buffer? Well, why not, it can be single key, some text that can be re-used for later or re-ordered for articles. The difference is that "grep" need not be used but full text search and results for searching "eev" appear almost instantly. A node can be related to Eduardo Ochs and later the notes related to single person can be listed. A classic file system allows user tags and group tags, but nothing about relations to other people, groups, organizations, various activities or businesses. > By the way (for Christopher): eev has a hands-on elisp tutorial. It's > here: > > http://angg.twu.net/eev-intros/find-elisp-intro.html > (find-elisp-intro) Hyperlink generation functions are useful. I don't know if I can use such to enter URL into the database for example, you tell me. You have PDF link generation functions. But is it generic that I could connect it to something else? For example to invoke a key, capture the PDF URL or URL or file system location (also link) and return it as link which can be then entered in the database. Or is it hard coded? And finally why not integrate the database in your system, it would help greatly. Install this module: emacs-libpq @ Github https://github.com/anse1/emacs-libpq Then install this package: RCD Database Basics https://hyperscope.link/3/7/4/9/3/RCD-Database-Basics-37493.html Then use M-x cf-sql-table to design your own first SQL table. Integrate eev with permanent database backed information. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 7:05 ` Jean Louis @ 2021-05-30 7:51 ` Eduardo Ochs 2021-05-30 8:31 ` Jean Louis 2021-05-30 19:27 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 2 replies; 85+ messages in thread From: Eduardo Ochs @ 2021-05-30 7:51 UTC (permalink / raw) To: help-gnu-emacs, Jean Louis Hi Jean Louis, I did this, sudo apt-get install libpq-dev postgresql rm -Rfv ~/usrc/emacs-libpq/ cd ~/usrc/ git clone https://github.com/anse1/emacs-libpq cd ~/usrc/emacs-libpq/ cd ~/usrc/emacs-libpq/ make clean make \ EMACS=$HOME/bigsrc/emacs28/src/emacs \ EMACS_INCLUDE_DIR=$HOME/bigsrc/emacs28/src/ \ all check \ 2>&1 | tee om and "make check" failed with several errors like this: Test pq-async-notify-test condition: (error "FATAL: role \"edrx\" does not exist\12") What should I do? Cheers, E. http://angg.twu.net/#eev On Sun, 30 May 2021 at 04:07, Jean Louis <bugs@gnu.support> wrote: > > * Eduardo Ochs <eduardoochs@gmail.com> [2021-05-30 07:33]: > > Hi, just a curiosity... > > > > why do you prefer to use scratch buffers for elisp code instead of > > using (semi-scratch?) files in which we record all our experiments? > > I use *scratch* buffer long time. It is for things that need not be > saved. There is `persistent-scratch' library loaded that does save it > over the sessions. However, whatever I write there is not of > importance if it is lost. > > And temporary buffers I use because I don't want to save such. That is > where I evaluate and test things that don't belong to any file neither > should be saved. Bufffer could be saved though if necessary. > > > In the tutorials of eev I try to convince the new users to treat their > > notes and scratch code as "field notes", and save everything they > > can... one of my arguments is this: > > Then it is not temporary any more, not scratch any more. Not something > being free to forget it and drop it. Temporary buffer is just a more > static version of IELM, or more expanded version of M-: so things in > M-: evaluation I also don't save; with the difference that scratch > buffer is separated from other buffers, it will not work with buffer > variables, and in my case I never need such. > > Example text in Emacs Lisp scratch that still hangs there is the stuff > with Fortran discussion where some testing of outline-minor-mode was required: > > ``` > outline-regexp ⇒ "[* ]+" > (setq outline-regexp "[! ]+") > outline-heading-alist ⇒ nil > (setq outline-heading-alist '(("!" . 1) ("!!" . 2) ("!!!" . 3))) > > ! ! Something > Program > nOK > !!! Somethingp > ! Something > More > Something > ``` > > that stuff I would not save. The point learned is that there are > variables to be set for outline-minor-mode for it to make it work. I > don't need to know which variables, I will find them in future by > inspecting {C-h v outline TAB} list of variables or by > {M-x customize-group RET outlines RET} > > > Learning eev is also like learning to use paper notebooks. It is > > much easier to understand the notes and ideas what we wrote > > ourselves in our notebooks than to understand what other people > > wrote in their notebooks... > > That is right. I like any guidances related to notes, you remember > that I switched from Org and file system based editing to mostly > database backed column's value editing so it is always relevant to > me. `eev' can be used there I guess. > > > when we go back to what _we_ wrote we are able to reconnect with > > what we were thinking, even when our notes are quite terse because > > we did not write down all details - and we can't do that with other > > people's notes. > > That is right. What is interesting in my system is that I have: > > - dates that are relevant to creation of a node (which can be of any type); > > - dates relevant to modification of a node; > > - which user in collaboration created it, or modified it; > > - any access and additional actions on a single node/document are > recorded, for example change of a name from Johnny to John would be > recorded by its date/time and by user name; > > - any activation of a node/document, like opening of a hyperlink is > recorded too, automatically; if user did read the note, or modified > the node/document, or opened up the document is recorded; > > - and so on; that all works without disturbance for user; > > Then the whol track or history can be played back, it is possible to > find out: > > - which people or participants where assigned to tasks or documents at > specific times, dates in past; > > - which stuff was researched back in time; > > - related to which groups, companies, organizations, people, projects, > etc. > > Those are not main feautures, just side effects. > > Some of such features are within these Hyperscope ring functions: > > ;;;; ↝ HYPERSCOPE RING FUNCTIONS > > Here is the variable initialization defined by fetching information > from a database: > > (defvar hyperscope-ring-current > (rcd-sql-first "SELECT hyperscopering_id FROM hyperscopering ORDER BY hyperscopering_id DESC LIMIT 1" hs-db) > "Hyperscope's current ring item.") > > The "ring" remains in the database and can be stored in a variable, > but it is persistent along sessions. > > (defvar hyperscope-ring > (rcd-sql-list "SELECT hyperscopering_hyperdocument FROM hyperscopering ORDER BY hyperscopering_id DESC" hs-db) > "Hyperscope ring uses RCD utilities function > `next-circular-list-item'") > > However it is not yet upgraded for multiple users, as then I just need > to add the columns like `usercreated' and `usermodified' so that ring > becomes collaborative: > > hyperscopering_id | integer | > hyperscopering_datecreated | timestamp without time zone | > hyperscopering_datemodified | timestamp without time zone | > hyperscopering_usercreated | text | > hyperscopering_usermodified | text | > hyperscopering_hyperdocument | integer | > hyperscopering_description | text | > > Then instead of this function: > > (defvar hyperscope-ring-current > (rcd-sql-first "SELECT hyperscopering_id FROM hyperscopering WHERE ORDER BY hyperscopering_id DESC LIMIT 1" hs-db) > "Hyperscope's current ring item.") > > I would need to use this one: > > (defvar hyperscope-ring-current > (rcd-sql-first "SELECT hyperscopering_id FROM hyperscopering WHERE hyperscopering_usercreated = current_user ORDER BY hyperscopering_id DESC LIMIT 1" hs-db) > "Hyperscope's current ring item.") > > As that one would choose only those items related to current user of > the database. Thus multiple users can contribute documents where all > things get tracked. > > Choosing the last item accessed or activated is easy: > > (defun hyperscope-ring-last () > (rcd-sql-first "SELECT hyperscopering_hyperdocument FROM hyperscopering WHERE hyperscopering_usercreated = current_user ORDER BY hyperscopering_id DESC LIMIT 1" hs-db)) > > Updating new items is just calling the function, while ignoring > duplicates (who knows maybe duplicates are also important): > > (defun hyperscope-ring (id) > "Setup Hyperscope ring" > (let ((last (hyperscope-ring-last))) > (cond ((null last) (hyperscope-ring-update id)) > ((= last id) (ignore)) > (t (hyperscope-ring-update id))))) > > And here is how somebody is recording everything within Memacs: > > Memacs > https://github.com/novoid/Memacs > > > (From:) > > http://angg.twu.net/eev-intros/find-here-links-intro.html > > (find-here-links-intro) > > > > Grepping and `C-s'-ing our own notes is easy, and most of the time we > > can read - and reuse - what we wrote. > > Often I am re-using notes, or duplicating it to have a new version, > single click, and then editing new version. Unless those are some > disposable notes. > > Then again I have a `hyperscope-capture-buffer' function where > whatever I write in other buffer is captured in the dynamic knowledge > repository. Then such function leaves a link like this one, as if I > placed the "stamp" in the email, I can quicker find some important > email captured as a note: (hyperscope 38116) > > Description of such note is: > > * Captured Buffer Text > > Buffer name: mutt-protected-1001-4182-5758066564440477891 > Buffer file: /home/data1/protected/tmp/mutt-protected-1001-4182-5758066564440477891 > Time captured: 2021-05-30-09:34:13 > > Why would anybody "capture" one's own buffer? Well, why not, it can be > single key, some text that can be re-used for later or re-ordered for > articles. The difference is that "grep" need not be used but full text > search and results for searching "eev" appear almost instantly. A node > can be related to Eduardo Ochs and later the notes related to single > person can be listed. > > A classic file system allows user tags and group tags, but nothing > about relations to other people, groups, organizations, various > activities or businesses. > > > By the way (for Christopher): eev has a hands-on elisp tutorial. It's > > here: > > > > http://angg.twu.net/eev-intros/find-elisp-intro.html > > (find-elisp-intro) > > Hyperlink generation functions are useful. I don't know if I can use > such to enter URL into the database for example, you tell me. > > You have PDF link generation functions. But is it generic that I could > connect it to something else? For example to invoke a key, capture the > PDF URL or URL or file system location (also link) and return it as > link which can be then entered in the database. Or is it hard coded? > > And finally why not integrate the database in your system, it would > help greatly. Install this module: > > emacs-libpq @ Github > https://github.com/anse1/emacs-libpq > > Then install this package: > > RCD Database Basics > https://hyperscope.link/3/7/4/9/3/RCD-Database-Basics-37493.html > > Then use M-x cf-sql-table to design your own first SQL table. > > Integrate eev with permanent database backed information. > > > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > Sign an open letter in support of Richard M. Stallman > https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 7:51 ` Eduardo Ochs @ 2021-05-30 8:31 ` Jean Louis 2021-05-30 19:27 ` Emanuel Berg via Users list for the GNU Emacs text editor 1 sibling, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-05-30 8:31 UTC (permalink / raw) To: Eduardo Ochs; +Cc: help-gnu-emacs * Eduardo Ochs <eduardoochs@gmail.com> [2021-05-30 10:51]: > Hi Jean Louis, > > I did this, > > sudo apt-get install libpq-dev postgresql Good > and "make check" failed with several errors like this: > > Test pq-async-notify-test condition: > (error "FATAL: role \"edrx\" does not exist\12") I never did `make check'... It is obvious that you already installed PostgreSQL, did you? But you did not create a database role `edrx', which is not a must, however, that is what maybe `make check' expected. You could simply do it: $ createuser edrx In general, you will need to know how to create a role, user or database before using the database; $ createdb DATABASE $ createuser USERNAME Let us say you created username edrx and database name edrx (you can have many databases): Then you do something like: $ psql grant all on database edrx to edrx; it will tell: GRANT which means you gave permission to user edrx to use the database edrx; To learn about psql interface, try \? -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 7:51 ` Eduardo Ochs 2021-05-30 8:31 ` Jean Louis @ 2021-05-30 19:27 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:27 ` Jean Louis 1 sibling, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:27 UTC (permalink / raw) To: help-gnu-emacs Eduardo Ochs wrote: > I did this, > > sudo apt-get install libpq-dev postgresql > > rm -Rfv ~/usrc/emacs-libpq/ > cd ~/usrc/ > git clone https://github.com/anse1/emacs-libpq > cd ~/usrc/emacs-libpq/ > > cd ~/usrc/emacs-libpq/ > make clean > make \ > EMACS=$HOME/bigsrc/emacs28/src/emacs \ > EMACS_INCLUDE_DIR=$HOME/bigsrc/emacs28/src/ \ > all check \ > 2>&1 | tee om > > and "make check" failed with several errors like this: > > Test pq-async-notify-test condition: > (error "FATAL: role \"edrx\" does not exist\12") > > What should I do? I don't know but good that you do this. Like +1 :) What is this SQL thing I keep hear about BTW, you send it to/from Emacs and get the data neatly or what does it do and what databases do you use it with? You keep track of all the weaponry you have at home? :) Well, actually, if I had enough I would now that I say it. Bad example. Is relational algebra the base for SQL? -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 19:27 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:27 ` Jean Louis 2021-05-30 22:41 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 22:27 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-30 22:31]: > What is this SQL thing I keep hear about BTW, you send it to/from > Emacs and get the data neatly or what does it do and what databases > do you use it with? I am sure you know it. SQL https://en.wikipedia.org/wiki/SQL > You keep track of all the weaponry you have at home? :) > > Well, actually, if I had enough I would now that I say it. > Bad example. > > Is relational algebra the base for SQL? You have got it right. Relational algebra - Wikipedia https://en.wikipedia.org/wiki/Relational_algebra Though I know nothing about it... but I should. SQL database spare programming time and effort. Compared to Org, the file `org-agenda.el' is full of features and handles all kinds of things. It is however slow and has several keys that handle its incapacities, such as sticky views or stuck projects. And it distorts the users' view of what agenda really is, as it is not just "agenda", rather a menu of search functions, for example it encompasses the function `org-search-view'. The function `org-agenda' should be renamed to something else, as the true agenda is just the `org-agenda-list', but users will not be warned. With the SQL, as when objects are in the database, the 415 kilobytes org-agenda.el or at least we can say several kilobytes of spaghetti Emacs Lisp code is replaced with the SQL query and report function: (defun hyperscope-hyperdocuments-agenda () (interactive) (rcd-speak "Hyperscope agenda") (let ((sql "SELECT DISTINCT timestamps_hlinks, timestamptypes_name, to_char(timestamps_timestamp::date, 'Day'), timestamps_timestamp::date, hyobjects_name, actionstatuses_name FROM hyobjects, timestamps, timestamptypes, actionstatuses WHERE hyobjects_id = timestamps_hlinks AND timestamptypes_id = timestamps_timestamptypes AND timestamptypes_inagenda IS TRUE AND actionstatuses_id = hyobjects_actionstatuses AND actionstatuses_actionstatustypes != 3 ORDER BY timestamps_timestamp DESC") (highlights (append '("ACTION") (hyperscope-timestamp-list t)))) (rcd-db-sql-report "Hyperscope Agenda" sql [("ID" 5 t) ("Type" 10 t) ("Day" 9 t) ("Timestamp" 10 t) ("Hyperdocument" 55) ("Action" 10 t)] "hyobjects" '("Timestamp" . t) 'hyperscope-hyperdocuments-agenda highlights))) Comparison ========== Try reading function `org-agenda' and `org-agenda-list' and compare to the SQL above. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:27 ` Jean Louis @ 2021-05-30 22:41 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:52 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:41 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: >> What is this SQL thing I keep hear about BTW, you send it >> to/from Emacs and get the data neatly or what does it do >> and what databases do you use it with? > > I am sure you know it. SQL https://en.wikipedia.org/wiki/SQL Yes but I mean your Emacs things with it, you have a database and use some package to interact with it from Emacs? -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:41 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:52 ` Jean Louis 0 siblings, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-05-30 22:52 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 01:42]: > Jean Louis wrote: > > >> What is this SQL thing I keep hear about BTW, you send it > >> to/from Emacs and get the data neatly or what does it do > >> and what databases do you use it with? > > > > I am sure you know it. SQL https://en.wikipedia.org/wiki/SQL > > Yes but I mean your Emacs things with it, you have a database > and use some package to interact with it from Emacs? Yes, now there is preview, until all database tables get exported for public. RCD Notes for Emacs https://hyperscope.link/3/7/1/5/5/RCD-Notes-for-Emacs-37155.html -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 4:32 ` Eduardo Ochs 2021-05-30 7:05 ` Jean Louis @ 2021-05-30 11:43 ` Arthur Miller 2021-05-30 12:08 ` Christopher Dimech ` (3 more replies) 2021-05-30 19:23 ` Emanuel Berg via Users list for the GNU Emacs text editor 2 siblings, 4 replies; 85+ messages in thread From: Arthur Miller @ 2021-05-30 11:43 UTC (permalink / raw) To: Eduardo Ochs; +Cc: Christopher Dimech, help-gnu-emacs, Jean Louis Eduardo Ochs <eduardoochs@gmail.com> writes: > On Sat, 29 May 2021 at 23:12, Christopher Dimech <dimech@gmx.com> wrote: >> >> > Sent: Sunday, May 30, 2021 at 10:37 AM >> > From: "Jean Louis" <bugs@gnu.support> >> > To: "Christopher Dimech" <dimech@gmx.com> >> > Cc: help-gnu-emacs@gnu.org >> > Subject: How users start programming in Emacs Lisp... >> > >> > (...) >> > >> > *scratch* buffer is famous for it. >> > >> > I just need more of them but *scratch*, so I do it this way: > > > Hi, just a curiosity... > > why do you prefer to use scratch buffers for elisp code instead of > using (semi-scratch?) files in which we record all our experiments? > > In the tutorials of eev I try to convince the new users to treat their > notes and scratch code as "field notes", and save everything they > can... one of my arguments is this: > > Learning eev is also like learning to use paper notebooks. It is > much easier to understand the notes and ideas what we wrote > ourselves in our notebooks than to understand what other people > wrote in their notebooks... when we go back to what _we_ wrote we > are able to reconnect with what we were thinking, even when our > notes are quite terse because we did not write down all details - > and we can't do that with other people's notes. I think you are probably correct about saving notes. Some vary famious scientists attribute almost everything to their notes. Maybe a self-saving scratch buffer isn't bad idea. It could maybe append a date and always open "fresh" but the true file would be save in the background, as a sort of a database. Sort of like we clear the terminal screen with Ctrl+l but the output is still there, just not visible. There probably is some note-taking package that already does that. Maybe some org-capture template that auto puts note in a lisp src block. Or maybe your eev already does that. Still didn't try it. It seems so conceptually big to me so I never get to it. Similar as that other package Hyperbole. ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-30 11:43 ` Arthur Miller @ 2021-05-30 12:08 ` Christopher Dimech 2021-05-30 19:35 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 14:09 ` Arthur Miller 2021-05-30 14:44 ` Tomas Hlavaty ` (2 subsequent siblings) 3 siblings, 2 replies; 85+ messages in thread From: Christopher Dimech @ 2021-05-30 12:08 UTC (permalink / raw) To: Arthur Miller; +Cc: help-gnu-emacs, Eduardo Ochs, Jean Louis > Sent: Sunday, May 30, 2021 at 11:43 PM > From: "Arthur Miller" <arthur.miller@live.com> > To: "Eduardo Ochs" <eduardoochs@gmail.com> > Cc: "Christopher Dimech" <dimech@gmx.com>, "help-gnu-emacs" <help-gnu-emacs@gnu.org>, "Jean Louis" <bugs@gnu.support> > Subject: Re: How users start programming in Emacs Lisp... > > Eduardo Ochs <eduardoochs@gmail.com> writes: > > > On Sat, 29 May 2021 at 23:12, Christopher Dimech <dimech@gmx.com> wrote: > >> > >> > Sent: Sunday, May 30, 2021 at 10:37 AM > >> > From: "Jean Louis" <bugs@gnu.support> > >> > To: "Christopher Dimech" <dimech@gmx.com> > >> > Cc: help-gnu-emacs@gnu.org > >> > Subject: How users start programming in Emacs Lisp... > >> > > >> > (...) > >> > > >> > *scratch* buffer is famous for it. > >> > > >> > I just need more of them but *scratch*, so I do it this way: > > > > > > Hi, just a curiosity... > > > > why do you prefer to use scratch buffers for elisp code instead of > > using (semi-scratch?) files in which we record all our experiments? > > > > In the tutorials of eev I try to convince the new users to treat their > > notes and scratch code as "field notes", and save everything they > > can... one of my arguments is this: > > > > Learning eev is also like learning to use paper notebooks. It is > > much easier to understand the notes and ideas what we wrote > > ourselves in our notebooks than to understand what other people > > wrote in their notebooks... when we go back to what _we_ wrote we > > are able to reconnect with what we were thinking, even when our > > notes are quite terse because we did not write down all details - > > and we can't do that with other people's notes. > > I think you are probably correct about saving notes. Some vary famious > scientists attribute almost everything to their notes. That is correct. Darwin and Fermi have done the same. But Stephen King is famous for saying that notes are the best way to immortalise bad ideas. Really good ideas stick around. Today, I get to agree with King in respect to the experience with Fermi. But the same cannot be said about Darmin during his trips. Thusly, in point of fact, there are no good rules, but just what works for you. > Maybe a > self-saving scratch buffer isn't bad idea. It could maybe append a date > and always open "fresh" but the true file would be save in the > background, as a sort of a database. Sort of like we clear the terminal > screen with Ctrl+l but the output is still there, just not > visible. There probably is some note-taking package that already does > that. Maybe some org-capture template that auto puts note in a lisp src > block. Or maybe your eev already does that. Still didn't try it. It > seems so conceptually big to me so I never get to it. Similar as that > other package Hyperbole. > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 12:08 ` Christopher Dimech @ 2021-05-30 19:35 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 21:54 ` Jean Louis 2021-06-01 14:09 ` Arthur Miller 1 sibling, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:35 UTC (permalink / raw) To: help-gnu-emacs Christopher Dimech wrote: > That is correct. Darwin and Fermi have done the same. > But Stephen King is famous for saying that notes are the > best way to immortalise bad ideas. Really good ideas stick > around. Well, easy for him to say, maybe this method is for doing something great but most lists like a TODO list [1] - that software is a little bit shaky if anyone feels like reading the short source and maybe see what it is? - what I was saying, maybe it is not the best idea in the world but it can still help you survive and get by another day, right? With a TODO list, you can even erase bad ideas when and if you decide to drop them - it is optional :) But there was some other thing I should say... ??? ? Ah, right, the other list thing that scientists probably refer to is just a list of data like this https://dataswamp.org/~incal/bike/TIRE Very useful for science I'm sure but I don't see why just they should get to do it :) [1] https://dataswamp.org/~incal/emacs-init/todo-did.el -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 19:35 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 21:54 ` Jean Louis 2021-05-30 22:06 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 21:54 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-30 23:01]: > Christopher Dimech wrote: > > > That is correct. Darwin and Fermi have done the same. > > But Stephen King is famous for saying that notes are the > > best way to immortalise bad ideas. Really good ideas stick > > around. > > Well, easy for him to say, maybe this method is for doing > something great but most lists like a TODO list [1] - that > software is a little bit shaky if anyone feels like reading > the short source and maybe see what it is? - what I was > saying, maybe it is not the best idea in the world but it can > still help you survive and get by another day, right? Things you really need to do, you will never write them down. Like lunch, go to work or similar. The top priorities are rarely written down, you simply do it. Procrastinated priorities are written down. That is where we come to note taking. A simple digital text file is enough to replace the good old Rolodex system. That is why GNU Hyperbole has "Rolo" system. I recommend to try it out. I don't use it, as I have the fully sophisticated system for addresses, call center, faxing, SMS, etc. > https://dataswamp.org/~incal/bike/TIRE > Very useful for science I'm sure but I don't see why just > they should get to do it :) > > [1] https://dataswamp.org/~incal/emacs-init/todo-did.el That is nice simple system, add TODO, visit TODO file. What else one need? And yes, there is so much integration we do need, like: To assign task related to person Joe, to agent Jane; write instructions, quickly dispatch it; keep reminding yourself, and the agent about the task by SMS, email, or loud music; After a while, there are 10 agents, and tasks are not finished, one can observe who is who, who is performing, in what periods, who is more efficient; Imagine working with 30 people employed, they come in, come out, one has to clock-them all in and out without that ticket punching machine as in middle or 20th century. Workflow would be to just mark the list of employees except those who did not arrive, and clock them in all at once. Something to do is not necessary a completely defined action, as it is something unfinished, procrastinated, left for later to be done, but without full decision. Properly defined actions should have their starting time assigned. Then we go into procrastinations: - ah... now I failed to make it on 2021-05-31, then let us just make it 2021-06-02. Time stamp is changed and nothing happened. There is no trace that it ever changed. Then let me delay it more... Deadline? Ah let me just press shift left, and deadline is is shifted for few days more.... Then add the collaboration, and there will be 10² more of such procrastinations in a team. We managed thousands of people with paper based system and did not have procrastinations such as now people create with computer systems. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 21:54 ` Jean Louis @ 2021-05-30 22:06 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:38 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:06 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > Imagine working with 30 people employed [...] OK, so first we talk brilliant, artistic ideas at the Stephen King level. Then the top scientists... Then how to survive and get by each day... How to do computer things! Even control processes on you computer... And now we are running a company with 30 people! That software seems to be very versatile if nothing else :) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:06 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:38 ` Jean Louis 2021-05-30 22:46 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 22:38 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>: > And now we are running a company with 30 people! > > That software seems to be very versatile if nothing else :) I can tell that it is pain in the associates to handle clocking in of 30 people at once. Some of them will complain... talk... I have tried doing that with Org mode, successsfull but slow. It is better with SQL and rapid integration. Something like: mmmmmmmmmmmmmm mmmmmmmm mmmmmm M-x clock-them-in over the list of people is so much faster than going on by one over each of their "headings" and doing some complex C-c C-x C-i magic clock-ings for each of them. 30 people x 3 more keys plus at least several more keys just to find person in the heading x 30 days in a month x months... ah no. Org ≨ Organization And then... CLOCK-IN let us say 2021-05-31 at 8:30 but why? It was supposed to be 08:00 precise. So CLOCK-IN needs its description field, to describe why, or next manager will fire the person when manager finds that person was always coming late. Maybe goats were stolen and guy had to search for them, but maybe it was was just a day after drinking evening. Reason why brings meanings. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:38 ` Jean Louis @ 2021-05-30 22:46 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:56 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:46 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: >> And now we are running a company with 30 people! >> >> That software seems to be very versatile if nothing else :) > > I can tell that it is pain in the associates to handle > clocking in of 30 people at once. Some of them will > complain... talk... I have tried doing that with Org mode, > successsfull but slow. It is better with SQL and > rapid integration. People use Emacs in the corporate world like this? They don't have special software, business software being produced and marketed by some business? -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:46 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:56 ` Jean Louis 2021-05-30 23:02 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 22:56 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 01:51]: > > I can tell that it is pain in the associates to handle > > clocking in of 30 people at once. Some of them will > > complain... talk... I have tried doing that with Org mode, > > successsfull but slow. It is better with SQL and > > rapid integration. > > People use Emacs in the corporate world like this? Text editors are widely used. What a question... have you not seen black console screens in companies in Sweden, even DOS is used in many modern places in the world because some software simply works well. > They don't have special software, business software being > produced and marketed by some business? It is difficult with other people's software. I have tried it, it is not reliable. Example is the SugarCRM before so many years, failures on upgrades would block the business. Today they dropped the free software version, imagine what disaster would that be if I would be still using it. GeDaFe worked so well and still works: GeDaFe - PostgreSQL Generic Database Interface http://gedafe.github.io/doc/gedafe-sql.en.html and now Emacs extends it and provides more interactivity and speed. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:56 ` Jean Louis @ 2021-05-30 23:02 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:35 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 23:02 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: >> People use Emacs in the corporate world like this? > > Text editors are widely used. What a question... have you > not seen black console screens in companies in Sweden, even > DOS is used in many modern places in the world because some > software simply works well. Never, they have dedicated business systems for this... >> They don't have special software, business software being >> produced and marketed by some business? > > It is difficult with other people's software. I have tried > it, it is not reliable. Example is the SugarCRM before so > many years, failures on upgrades would block the business. > Today they dropped the free software version, imagine what > disaster would that be if I would be still using it. Well then, tell them to use Emacs instead. That will organize up the whole place in many the most unexpected ways :) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 23:02 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 23:35 ` Jean Louis 2021-05-31 0:21 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 23:35 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 02:05]: > Jean Louis wrote: > > >> People use Emacs in the corporate world like this? > > > > Text editors are widely used. What a question... have you > > not seen black console screens in companies in Sweden, even > > DOS is used in many modern places in the world because some > > software simply works well. > > Never, they have dedicated business systems for this... Watch better. Software in many companies is not necessarily upgraded just because world upgrades OS-es, when something works, it works. I have seen DOS programs still being used in large malls (under some Windows). > > It is difficult with other people's software. I have tried > > it, it is not reliable. Example is the SugarCRM before so > > many years, failures on upgrades would block the business. > > Today they dropped the free software version, imagine what > > disaster would that be if I would be still using it. > > Well then, tell them to use Emacs instead. That will organize > up the whole place in many the most unexpected ways :) You heavily underestimate the Emacs power. It can do so much more, faster and better than SugarCRM with so much better extensibility and so much less dark patterns. Formula for software sales: =========================== Make it appear complex, inaccessible, but solution for all; the more complex, the more the company becomes solution provider; bind people, get them into the vendor trap; the more company keeps people stupid, the more sales they will get; Formula for success: ==================== Learn any programming language, DIY or organize people to program it for you. This is the approach taken from early years of Apple, micro computers and PC on the market. Usually accountants and engineers were responsible to read the books about programming language, and to make programs. Programs were often made internally, in the company. When market offered more and more varieties of software, companies and teachers relaxed more and stopped programming. They forgot the formula for success. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 23:35 ` Jean Louis @ 2021-05-31 0:21 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 0 replies; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-31 0:21 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: >> Never, they have dedicated business systems for this... > > Watch better. Software in many companies is not necessarily > upgraded just because world upgrades OS-es, when something > works, it works. I have seen DOS programs still being used > in large malls (under some Windows). Well, maybe you have seen that but I have not seen anyone use DOS since the 90s and I've not seen anyone (almost?) that used Emacs that wasn't a programmer or tech person. There is a FreeDOS BTW: https://en.wikipedia.org/wiki/FreeDOS > You heavily underestimate the Emacs power. Well, one, I'm not a corporate-world person, and two, do say, how much power has Emacs? -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 12:08 ` Christopher Dimech 2021-05-30 19:35 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-06-01 14:09 ` Arthur Miller 2021-06-01 21:09 ` Christopher Dimech 2021-06-01 21:54 ` Christopher Dimech 1 sibling, 2 replies; 85+ messages in thread From: Arthur Miller @ 2021-06-01 14:09 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs, Eduardo Ochs, Jean Louis Christopher Dimech <dimech@gmx.com> writes: >> Sent: Sunday, May 30, 2021 at 11:43 PM >> From: "Arthur Miller" <arthur.miller@live.com> >> To: "Eduardo Ochs" <eduardoochs@gmail.com> >> Cc: "Christopher Dimech" <dimech@gmx.com>, "help-gnu-emacs" <help-gnu-emacs@gnu.org>, "Jean Louis" <bugs@gnu.support> >> Subject: Re: How users start programming in Emacs Lisp... >> >> Eduardo Ochs <eduardoochs@gmail.com> writes: >> >> > On Sat, 29 May 2021 at 23:12, Christopher Dimech <dimech@gmx.com> wrote: >> >> >> >> > Sent: Sunday, May 30, 2021 at 10:37 AM >> >> > From: "Jean Louis" <bugs@gnu.support> >> >> > To: "Christopher Dimech" <dimech@gmx.com> >> >> > Cc: help-gnu-emacs@gnu.org >> >> > Subject: How users start programming in Emacs Lisp... >> >> > >> >> > (...) >> >> > >> >> > *scratch* buffer is famous for it. >> >> > >> >> > I just need more of them but *scratch*, so I do it this way: >> > >> > >> > Hi, just a curiosity... >> > >> > why do you prefer to use scratch buffers for elisp code instead of >> > using (semi-scratch?) files in which we record all our experiments? >> > >> > In the tutorials of eev I try to convince the new users to treat their >> > notes and scratch code as "field notes", and save everything they >> > can... one of my arguments is this: >> > >> > Learning eev is also like learning to use paper notebooks. It is >> > much easier to understand the notes and ideas what we wrote >> > ourselves in our notebooks than to understand what other people >> > wrote in their notebooks... when we go back to what _we_ wrote we >> > are able to reconnect with what we were thinking, even when our >> > notes are quite terse because we did not write down all details - >> > and we can't do that with other people's notes. >> >> I think you are probably correct about saving notes. Some vary famious >> scientists attribute almost everything to their notes. > > That is correct. Darwin and Fermi have done the same. But Stephen King > is famous for saying that notes are the best way to immortalise bad ideas. How could we know good ideas if it wasn't for bad ones? King is probably correct, but 90% or more ideas people get are probably bad, it is just that we remember the good ones (mostly :)). Also, some good ideas probably started as bad ideas. Socrates thought that writing is a bad idea. He never wrote a single note. :-( > Really good ideas stick around. Today, I get to agree with King in respect > to the experience with Fermi. But the same cannot be said about Darmin > during his trips. > > Thusly, in point of fact, there are no good rules, but just what works for you. That seems like a rule you are stating there? :) ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-06-01 14:09 ` Arthur Miller @ 2021-06-01 21:09 ` Christopher Dimech 2021-06-01 21:54 ` Christopher Dimech 1 sibling, 0 replies; 85+ messages in thread From: Christopher Dimech @ 2021-06-01 21:09 UTC (permalink / raw) To: Arthur Miller; +Cc: help-gnu-emacs, Eduardo Ochs, Jean Louis > Sent: Wednesday, June 02, 2021 at 2:09 AM > From: "Arthur Miller" <arthur.miller@live.com> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: "Eduardo Ochs" <eduardoochs@gmail.com>, "help-gnu-emacs" <help-gnu-emacs@gnu.org>, "Jean Louis" <bugs@gnu.support> > Subject: Re: How users start programming in Emacs Lisp... > > Christopher Dimech <dimech@gmx.com> writes: > > >> Sent: Sunday, May 30, 2021 at 11:43 PM > >> From: "Arthur Miller" <arthur.miller@live.com> > >> To: "Eduardo Ochs" <eduardoochs@gmail.com> > >> Cc: "Christopher Dimech" <dimech@gmx.com>, "help-gnu-emacs" <help-gnu-emacs@gnu.org>, "Jean Louis" <bugs@gnu.support> > >> Subject: Re: How users start programming in Emacs Lisp... > >> > >> Eduardo Ochs <eduardoochs@gmail.com> writes: > >> > >> > On Sat, 29 May 2021 at 23:12, Christopher Dimech <dimech@gmx.com> wrote: > >> >> > >> >> > Sent: Sunday, May 30, 2021 at 10:37 AM > >> >> > From: "Jean Louis" <bugs@gnu.support> > >> >> > To: "Christopher Dimech" <dimech@gmx.com> > >> >> > Cc: help-gnu-emacs@gnu.org > >> >> > Subject: How users start programming in Emacs Lisp... > >> >> > > >> >> > (...) > >> >> > > >> >> > *scratch* buffer is famous for it. > >> >> > > >> >> > I just need more of them but *scratch*, so I do it this way: > >> > > >> > > >> > Hi, just a curiosity... > >> > > >> > why do you prefer to use scratch buffers for elisp code instead of > >> > using (semi-scratch?) files in which we record all our experiments? > >> > > >> > In the tutorials of eev I try to convince the new users to treat their > >> > notes and scratch code as "field notes", and save everything they > >> > can... one of my arguments is this: > >> > > >> > Learning eev is also like learning to use paper notebooks. It is > >> > much easier to understand the notes and ideas what we wrote > >> > ourselves in our notebooks than to understand what other people > >> > wrote in their notebooks... when we go back to what _we_ wrote we > >> > are able to reconnect with what we were thinking, even when our > >> > notes are quite terse because we did not write down all details - > >> > and we can't do that with other people's notes. > >> > >> I think you are probably correct about saving notes. Some vary famious > >> scientists attribute almost everything to their notes. > > > > That is correct. Darwin and Fermi have done the same. But Stephen King > > is famous for saying that notes are the best way to immortalise bad ideas. > > How could we know good ideas if it wasn't for bad ones? > > King is probably correct, but 90% or more ideas people get are probably > bad, it is just that we remember the good ones (mostly :)). Also, some > good ideas probably started as bad ideas. Socrates thought that writing > is a bad idea. He never wrote a single note. :-( > > > Really good ideas stick around. Today, I get to agree with King in respect > > to the experience with Fermi. But the same cannot be said about Darmin > > during his trips. > > > > Thusly, in point of fact, there are no good rules, but just what works for you. > > That seems like a rule you are stating there? :) The rule that there is no rule ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-06-01 14:09 ` Arthur Miller 2021-06-01 21:09 ` Christopher Dimech @ 2021-06-01 21:54 ` Christopher Dimech 1 sibling, 0 replies; 85+ messages in thread From: Christopher Dimech @ 2021-06-01 21:54 UTC (permalink / raw) To: Arthur Miller; +Cc: help-gnu-emacs, Eduardo Ochs, Jean Louis > Sent: Wednesday, June 02, 2021 at 2:09 AM > From: "Arthur Miller" <arthur.miller@live.com> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: "help-gnu-emacs" <help-gnu-emacs@gnu.org>, "Eduardo Ochs" <eduardoochs@gmail.com>, "Jean Louis" <bugs@gnu.support> > Subject: Re: How users start programming in Emacs Lisp... > > Christopher Dimech <dimech@gmx.com> writes: > > >> Sent: Sunday, May 30, 2021 at 11:43 PM > >> From: "Arthur Miller" <arthur.miller@live.com> > >> To: "Eduardo Ochs" <eduardoochs@gmail.com> > >> Cc: "Christopher Dimech" <dimech@gmx.com>, "help-gnu-emacs" <help-gnu-emacs@gnu.org>, "Jean Louis" <bugs@gnu.support> > >> Subject: Re: How users start programming in Emacs Lisp... > >> > >> Eduardo Ochs <eduardoochs@gmail.com> writes: > >> > >> > On Sat, 29 May 2021 at 23:12, Christopher Dimech <dimech@gmx.com> wrote: > >> >> > >> >> > Sent: Sunday, May 30, 2021 at 10:37 AM > >> >> > From: "Jean Louis" <bugs@gnu.support> > >> >> > To: "Christopher Dimech" <dimech@gmx.com> > >> >> > Cc: help-gnu-emacs@gnu.org > >> >> > Subject: How users start programming in Emacs Lisp... > >> >> > > >> >> > (...) > >> >> > > >> >> > *scratch* buffer is famous for it. > >> >> > > >> >> > I just need more of them but *scratch*, so I do it this way: > >> > > >> > > >> > Hi, just a curiosity... > >> > > >> > why do you prefer to use scratch buffers for elisp code instead of > >> > using (semi-scratch?) files in which we record all our experiments? > >> > > >> > In the tutorials of eev I try to convince the new users to treat their > >> > notes and scratch code as "field notes", and save everything they > >> > can... one of my arguments is this: > >> > > >> > Learning eev is also like learning to use paper notebooks. It is > >> > much easier to understand the notes and ideas what we wrote > >> > ourselves in our notebooks than to understand what other people > >> > wrote in their notebooks... when we go back to what _we_ wrote we > >> > are able to reconnect with what we were thinking, even when our > >> > notes are quite terse because we did not write down all details - > >> > and we can't do that with other people's notes. > >> > >> I think you are probably correct about saving notes. Some vary famious > >> scientists attribute almost everything to their notes. > > > > That is correct. Darwin and Fermi have done the same. But Stephen King > > is famous for saying that notes are the best way to immortalise bad ideas. > > How could we know good ideas if it wasn't for bad ones? > > King is probably correct, but 90% or more ideas people get are probably > bad, it is just that we remember the good ones (mostly :)). That was King's point, that you will forget them if you don't write them down. But then we had Darwin doing the opposite. During his two year trip, he only took notes, and later developed his ideas from his notes and specimens after his return to england. > Also, some > good ideas probably started as bad ideas. Socrates thought that writing > is a bad idea. He never wrote a single note. :-( > > > Really good ideas stick around. Today, I get to agree with King in respect > > to the experience with Fermi. But the same cannot be said about Darmin > > during his trips. > > > > Thusly, in point of fact, there are no good rules, but just what works for you. > > That seems like a rule you are stating there? :) > > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 11:43 ` Arthur Miller 2021-05-30 12:08 ` Christopher Dimech @ 2021-05-30 14:44 ` Tomas Hlavaty 2021-05-30 15:23 ` Eduardo Ochs ` (2 more replies) 2021-05-30 15:35 ` Eduardo Ochs 2021-05-30 19:31 ` Emanuel Berg via Users list for the GNU Emacs text editor 3 siblings, 3 replies; 85+ messages in thread From: Tomas Hlavaty @ 2021-05-30 14:44 UTC (permalink / raw) To: help-gnu-emacs On Sun 30 May 2021 at 13:43, Arthur Miller <arthur.miller@live.com> wrote: > Or maybe your eev already does that. Still didn't try it. It seems so > conceptually big to me so I never get to it. I can only recommend eev. It is one of the best ideas I've seen recently. Some things are hard to get into, but getting started with eev-beginner is not that difficult. My executable notes are now eepitch blocks and I find it much better and way simpler than anything org-mode. Some things could be improved but it is not hard to redefine a few functions. The biggest issue I have with eepitch is that it uses non-printable character as a marker which does not tunnel through many protocols; for example notice how the example in the email from Eduardo has the eepitch block stripped. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 14:44 ` Tomas Hlavaty @ 2021-05-30 15:23 ` Eduardo Ochs 2021-05-30 19:41 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-31 17:59 ` Tomas Hlavaty 2021-05-30 19:37 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:29 ` Arthur Miller 2 siblings, 2 replies; 85+ messages in thread From: Eduardo Ochs @ 2021-05-30 15:23 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: help-gnu-emacs On Sun, 30 May 2021 at 11:45, Tomas Hlavaty <tom@logand.com> wrote: > > On Sun 30 May 2021 at 13:43, Arthur Miller <arthur.miller@live.com> wrote: > > Or maybe your eev already does that. Still didn't try it. It seems so > > conceptually big to me so I never get to it. > > I can only recommend eev. It is one of the best ideas I've seen > recently. Some things are hard to get into, but getting started with > eev-beginner is not that difficult. My executable notes are now eepitch > blocks and I find it much better and way simpler than anything org-mode. > Some things could be improved but it is not hard to redefine a few > functions. The biggest issue I have with eepitch is that it uses > non-printable character as a marker which does not tunnel through many > protocols; for example notice how the example in the email from Eduardo > has the eepitch block stripped. Hi Tomas, I just had an idea to make the eepitch accept both the original ^O (char 15) and the bullet char (char 8226) to indicate its "red star lines"... can you try this? (eepitch-set-glyph0 ?• ?• 'eepitch-star-face) (setq eepitch-regexp "^ *[ •]\\(.*\\)") ;; Or: (setq eepitch-regexp "^[ •]\\(.*\\)") (defun eewrap-eepitch () (interactive) (let* ((fmt "• (eepitch-%s)\n• (eepitch-kill)\n• (eepitch-%s)") (li (ee-this-line-extract)) (newli (format fmt li li))) (insert newli)) (ee-next-line 1)) Then try to run this with <f8>s: • (eepitch-shell) • (eepitch-kill) • (eepitch-shell) cd /tmp/ pwd Now `M-T' will use the red bullet chars insert of the red star chars... Cheers (& hope that the chars 8226 here don't get lost in translation), Eduardo =) P.S.: Some links: ;; (find-eev "eepitch.el" "eewrap-eepitch") ;; (find-eev "eepitch.el" "eepitch" "defvar eepitch-regexp") ;; (find-elongkey-links "M-T ;; eewrap-eepitch") ;; (find-einsert (list 8226 (char-from-name "BULLET"))) ;; (eek "C-x 8 * C-h") ;; http://angg.twu.net/eev-intros/find-eev-quick-intro.html#6 ;; (find-eev-quick-intro "6. Controlling shell-like programs") ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 15:23 ` Eduardo Ochs @ 2021-05-30 19:41 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 19:59 ` Eduardo Ochs 2021-05-31 17:59 ` Tomas Hlavaty 1 sibling, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:41 UTC (permalink / raw) To: help-gnu-emacs Eduardo Ochs wrote: > ;; (find-eev-quick-intro "6. Controlling shell-like programs") ??? Now it control programs? Didn't it do notes and lists? :) I don't understand anything today :) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 19:41 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:59 ` Eduardo Ochs 0 siblings, 0 replies; 85+ messages in thread From: Eduardo Ochs @ 2021-05-30 19:59 UTC (permalink / raw) To: Emanuel Berg, help-gnu-emacs On Sun, 30 May 2021 at 16:51, Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> wrote: > > Now it control programs? > Didn't it do notes and lists? :) > I don't understand anything today :) Hi Emanuel, see these slides: http://angg.twu.net/LATEX/2019emacsconf.pdf ("How to record executable notes with eev - and how to play them back") for more introductions, see: https://github.com/edrx/eev#introduction [[]], E. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 15:23 ` Eduardo Ochs 2021-05-30 19:41 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-31 17:59 ` Tomas Hlavaty 1 sibling, 0 replies; 85+ messages in thread From: Tomas Hlavaty @ 2021-05-31 17:59 UTC (permalink / raw) To: Eduardo Ochs; +Cc: help-gnu-emacs Hi Eduardo, On Sun 30 May 2021 at 12:23, Eduardo Ochs <eduardoochs@gmail.com> wrote: > On Sun, 30 May 2021 at 11:45, Tomas Hlavaty <tom@logand.com> wrote: >> The biggest issue I have with eepitch is that it uses non-printable >> character as a marker which does not tunnel through many protocols; >> for example notice how the example in the email from Eduardo has the >> eepitch block stripped. > > Hi Tomas, > > I just had an idea to make the eepitch accept both the original ^O > (char 15) and the bullet char (char 8226) to indicate its "red star > lines"... can you try this? I tried it and it works and even tunnels correctly via email and is displayed properly on the console without X. Thank you! Tomas ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 14:44 ` Tomas Hlavaty 2021-05-30 15:23 ` Eduardo Ochs @ 2021-05-30 19:37 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:29 ` Arthur Miller 2 siblings, 0 replies; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:37 UTC (permalink / raw) To: help-gnu-emacs Tomas Hlavaty wrote: >> Or maybe your eev already does that. Still didn't try it. >> It seems so conceptually big to me so I never get to it. > > I can only recommend eev. It is one of the best ideas I've > seen recently. Some things are hard to get into, but getting > started with eev-beginner is not that difficult. What does it do ??? -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 14:44 ` Tomas Hlavaty 2021-05-30 15:23 ` Eduardo Ochs 2021-05-30 19:37 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-06-01 10:29 ` Arthur Miller 2021-06-01 11:40 ` Eduardo Ochs 2 siblings, 1 reply; 85+ messages in thread From: Arthur Miller @ 2021-06-01 10:29 UTC (permalink / raw) To: Tomas Hlavaty; +Cc: help-gnu-emacs Tomas Hlavaty <tom@logand.com> writes: > On Sun 30 May 2021 at 13:43, Arthur Miller <arthur.miller@live.com> wrote: >> Or maybe your eev already does that. Still didn't try it. It seems so >> conceptually big to me so I never get to it. > > I can only recommend eev. It is one of the best ideas I've seen > recently. Some things are hard to get into, but getting started with > eev-beginner is not that difficult. My executable notes are now eepitch > blocks and I find it much better and way simpler than anything org-mode. > Some things could be improved but it is not hard to redefine a few > functions. The biggest issue I have with eepitch is that it uses > non-printable character as a marker which does not tunnel through many > protocols; for example notice how the example in the email from Eduardo > has the eepitch block stripped. Thank you for the advice! Does it integrate well with org-capture? Simpler than org sounds like a good selling point indeed! ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-06-01 10:29 ` Arthur Miller @ 2021-06-01 11:40 ` Eduardo Ochs 2021-06-01 16:30 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Eduardo Ochs @ 2021-06-01 11:40 UTC (permalink / raw) To: Arthur Miller; +Cc: help-gnu-emacs, Tomas Hlavaty Eev and Org-capture are totally compatible AFAIK. They can be used together and do not interfere on one another - but I didn't learn enough of Org-capture to start to work on a way to integrate them... [[]], E. On Tue, 1 Jun 2021, 07:30 Arthur Miller, <arthur.miller@live.com> wrote: > Tomas Hlavaty <tom@logand.com> writes: > > > On Sun 30 May 2021 at 13:43, Arthur Miller <arthur.miller@live.com> > wrote: > >> Or maybe your eev already does that. Still didn't try it. It seems so > >> conceptually big to me so I never get to it. > > > > I can only recommend eev. It is one of the best ideas I've seen > > recently. Some things are hard to get into, but getting started with > > eev-beginner is not that difficult. My executable notes are now eepitch > > blocks and I find it much better and way simpler than anything org-mode. > > Some things could be improved but it is not hard to redefine a few > > functions. The biggest issue I have with eepitch is that it uses > > non-printable character as a marker which does not tunnel through many > > protocols; for example notice how the example in the email from Eduardo > > has the eepitch block stripped. > > Thank you for the advice! Does it integrate well with org-capture? > > Simpler than org sounds like a good selling point indeed! > > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-06-01 11:40 ` Eduardo Ochs @ 2021-06-01 16:30 ` Jean Louis 2021-06-02 0:54 ` Eduardo Ochs 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-06-01 16:30 UTC (permalink / raw) To: Eduardo Ochs; +Cc: help-gnu-emacs * Eduardo Ochs <eduardoochs@gmail.com> [2021-06-01 14:41]: > Eev and Org-capture are totally compatible AFAIK. They can be used > together and do not interfere on one another - but I didn't learn > enough of Org-capture to start to work on a way to integrate them... You can use org-protocol and this extension: https://support.mozilla.org/1/firefox/88.0/Linux/en-US/extensions-pb org-protocol-protocol-alist is a variable defined in ‘org-protocol.el’. Its value is (("Hyperscope Store Hyperlink" :protocol "store-link" :function hyperscope-org-protocol-store-link) ("Hyperscope Capture From Hyperlink" :protocol "capture" :function hyperscope-org-protocol-capture-link :kill-client t)) Original value was nil You can customize this variable. hyperscope-org-protocol-store-link is a Lisp closure in ‘Hyperscope/hyperscope.el’. (hyperscope-org-protocol-store-link QUERY) You can inspect this function on how to capture in your own system from browser. You could then just add eev links to single file. (defun hyperscope-org-protocol-store-link (query) (let* ((splitparts (org-protocol-parse-parameters query t)) (uri (org-protocol-sanitize-uri (plist-get splitparts :url))) (title (plist-get splitparts :title)) (hlink-exist (hlink-link-exists-p uri t))) (if hlink-exist (progn (rcd-warning-message "Link: %s already exists." uri) (espeak "Link exists already") nil) (let* ((parent 23585) ;; (hyperscope-capture-user-sets) (id (hlink-add-generic title uri 2 parent))) (if id (progn (message "Added Hyperlink: %s to Hyperscope ID: %s" title id) (hyperscope-update-tokens id) (espeak "Done") nil) (progn (message "Could not insert: %s" query) (espeak "Did not work") nil)))))) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-06-01 16:30 ` Jean Louis @ 2021-06-02 0:54 ` Eduardo Ochs 2021-06-02 3:43 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Eduardo Ochs @ 2021-06-02 0:54 UTC (permalink / raw) To: Eduardo Ochs, help-gnu-emacs On Tue, 1 Jun 2021 at 13:32, Jean Louis <bugs@gnu.support> wrote: > > You can use org-protocol and this extension: > https://support.mozilla.org/1/firefox/88.0/Linux/en-US/extensions-pb Hi Jean Louis, I am quite slow at following textual instructions like these, and at converting them to executable steps (accompanied by links to the relevant documentation). You've probably noticed that the sandboxed tutorials of eev are an experiment in writing instructions in another way - in which the steps are very easy to execute, there are lots of hyperlinks to documentation, to source code, and to tests that explain the data structures and the behaviours of individual functions... and they are an attempt to find other people who like that style, and who would want to experiment with writing their own documentation in that way, too. I'll try to follow your instructions in the weekend. I am guessing that they will take me many hours, because I know very little about databases and SQL, and because org-capture and org-protocol also seems to be quite complex beasts. I think that I will start by watching and indexing the videos by J.E. Magen and by Prot below... any other suggestions? Cheers, Eduardo Ochs http://angg.twu.net/#eev ;; Jonathan E. Magen: How I Use org-capture and Stuff ;; https://www.youtube.com/watch?v=KdcXu_RdKI0 ;; (find-youtubedl-links nil nil "KdcXu_RdKI0" nil "orgcaptmagen") ;; (find-orgcaptmagenvideo "0:00") ;; ;; https://emacsnyc.org/assets/documents/how-i-use-org-capture-and-stuff.pdf ;; (code-pdf-page "orgcaptmagen" "$S/https/emacsnyc.org/assets/documents/how-i-use-org-capture-and-stuff.pdf") ;; (code-pdf-text "orgcaptmagen" "$S/https/emacsnyc.org/assets/documents/how-i-use-org-capture-and-stuff.pdf") ;; (find-orgcaptmagenpage) ;; (find-orgcaptmagentext) ;; Protesilaos Stavrou: Emacs: Introduction to ORG-CAPTURE ;; https://www.youtube.com/watch?v=qCdScs4YO8k ;; (find-youtubedl-links nil nil "qCdScs4YO8k" nil "orgcaptprot") ;; ;; https://protesilaos.com/codelog/2020-02-04-emacs-org-capture-intro/ ;; (find-orgnode "Capture") ;; https://irreal.org/blog/?p=8694 An Introduction to Org Capture ;; Emacs Meet up Session I: Org Capture - Suvrat ;; https://www.youtube.com/watch?v=tFt6plDQm58 ;; (find-youtubedl-links nil nil "tFt6plDQm58" nil "orgcaptsuvrat") ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-06-02 0:54 ` Eduardo Ochs @ 2021-06-02 3:43 ` Jean Louis 0 siblings, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-06-02 3:43 UTC (permalink / raw) To: Eduardo Ochs; +Cc: help-gnu-emacs * Eduardo Ochs <eduardoochs@gmail.com> [2021-06-02 03:56]: > On Tue, 1 Jun 2021 at 13:32, Jean Louis <bugs@gnu.support> wrote: > > > > You can use org-protocol and this extension: > > https://support.mozilla.org/1/firefox/88.0/Linux/en-US/extensions-pb > > > Hi Jean Louis, > > I am quite slow at following textual instructions like these, and at > converting them to executable steps (accompanied by links to the > relevant documentation). You've probably noticed that the sandboxed > tutorials of eev are an experiment in writing instructions in another > way - in which the steps are very easy to execute, there are lots of > hyperlinks to documentation, to source code, and to tests that explain > the data structures and the behaviours of individual functions... and > they are an attempt to find other people who like that style, and who > would want to experiment with writing their own documentation in that > way, too. > > I'll try to follow your instructions in the weekend. I am guessing > that they will take me many hours, because I know very little about > databases and SQL, and because org-capture and org-protocol also seems > to be quite complex beasts. org-protocol is about sending information from outside of Emacs to Emacs, normally people capture things in Org files, but because you can use any function, you can make your own to capture things into eev hyperlinks. Using browser for org-protocol is one of possible methods, one could use various outside programs or methods. First thing to do is to customize the variable: `org-protocol-protocol-alist' ----- See more of its description with C-h v: org-protocol-protocol-alist is a variable defined in ‘org-protocol.el’. Its value is (("Hyperscope Store Hyperlink" :protocol "store-link" :function hyperscope-org-protocol-store-link) ("Hyperscope Capture From Hyperlink" :protocol "capture" :function hyperscope-org-protocol-capture-link :kill-client t)) Original value was nil You can customize this variable. Register custom handlers for org-protocol. Each element of this list must be of the form: (module-name :protocol protocol :function func :kill-client nil) --------- "store-link" is just to store the link in this case, it should be quick; it will store title and hyperlink that browser is visiting; "capture" is to store the marked text in the browser and the hyperlink and title together; For you it could be this way: ---- (("Eev Store Hyperlink from Browser" :protocol "store-link" :function eev-org-protocol-store-link) ("Eev Capture From Browser" :protocol "capture" :function eev-org-protocol-capture-link :kill-client t)) --- Your function for "store-link" would be like this: (defun eev-org-protocol-store-link (query) (let* ((splitparts (org-protocol-parse-parameters query t)) (uri (org-protocol-sanitize-uri (plist-get splitparts :url))) (title (plist-get splitparts :title)) (my-file "~/my-eev-captured-hyperlinks.eev")) (with-temp-file (insert-file-contents my-file) (insert "\n" title "\n" "(find-firefox \"" uri "\")\n\n")))) Now when you use that extension I recommended (for others I don't know), you would quickly store the hyperlink in the file in the eev style just by clicking in the browser at right place. When this starts working, let me know, then we move to capturing more text then just the title and link. But same concept is used with the difference that you would open the capturing file for editing maybe. It would not be just click and go, it would be click, and Emacs buffer is opened for you to edit the captured text, title and hyperlink. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 11:43 ` Arthur Miller 2021-05-30 12:08 ` Christopher Dimech 2021-05-30 14:44 ` Tomas Hlavaty @ 2021-05-30 15:35 ` Eduardo Ochs 2021-05-30 19:42 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:23 ` Arthur Miller 2021-05-30 19:31 ` Emanuel Berg via Users list for the GNU Emacs text editor 3 siblings, 2 replies; 85+ messages in thread From: Eduardo Ochs @ 2021-05-30 15:35 UTC (permalink / raw) To: Arthur Miller, help-gnu-emacs On Sun, 30 May 2021 at 08:43, Arthur Miller <arthur.miller@live.com> wrote: > > I think you are probably correct about saving notes. Some vary famious > scientists attribute almost everything to their notes. Maybe a > self-saving scratch buffer isn't bad idea. It could maybe append a date > and always open "fresh" but the true file would be save in the > background, as a sort of a database. Sort of like we clear the terminal > screen with Ctrl+l but the output is still there, just not > visible. There probably is some note-taking package that already does > that. Maybe some org-capture template that auto puts note in a lisp src > block. Or maybe your eev already does that. Still didn't try it. It > seems so conceptually big to me so I never get to it. Similar as that > other package Hyperbole. Hi Arthur, Eev is indeed "conceptually big" (unfortunately), but AFAIK it is compatible with everything else, it is easy to test "in small pieces", it is easy to turn on and off, it is very hacker-friendly in all senses, it is, or tries, to be very friendly to people with short attention spans who will play with it at most 10 minutes per session, and - ta-daaaa! - now it has very, very, very nice video links in its tutorials!!! See: https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00527.html http://angg.twu.net/2021-video-links.html If anything in the sales pitch above turns out to be false please tell me - I'll fix it and you'll also get twice your money back! =P Cheers =), Eduardo Ochs http://angg.twu.net/#eev ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 15:35 ` Eduardo Ochs @ 2021-05-30 19:42 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:23 ` Arthur Miller 1 sibling, 0 replies; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:42 UTC (permalink / raw) To: help-gnu-emacs Eduardo Ochs wrote: > https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00527.html > http://angg.twu.net/2021-video-links.html > > If anything in the sales pitch above turns out to be false > please tell me - I'll fix it and you'll also get twice your > money back! =P ? :) You seem to be sure of success whatever that idea is, that's good... -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 15:35 ` Eduardo Ochs 2021-05-30 19:42 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-06-01 10:23 ` Arthur Miller 1 sibling, 0 replies; 85+ messages in thread From: Arthur Miller @ 2021-06-01 10:23 UTC (permalink / raw) To: Eduardo Ochs; +Cc: help-gnu-emacs Eduardo Ochs <eduardoochs@gmail.com> writes: > On Sun, 30 May 2021 at 08:43, Arthur Miller <arthur.miller@live.com> wrote: >> >> I think you are probably correct about saving notes. Some vary famious >> scientists attribute almost everything to their notes. Maybe a >> self-saving scratch buffer isn't bad idea. It could maybe append a date >> and always open "fresh" but the true file would be save in the >> background, as a sort of a database. Sort of like we clear the terminal >> screen with Ctrl+l but the output is still there, just not >> visible. There probably is some note-taking package that already does >> that. Maybe some org-capture template that auto puts note in a lisp src >> block. Or maybe your eev already does that. Still didn't try it. It >> seems so conceptually big to me so I never get to it. Similar as that >> other package Hyperbole. > > Hi Arthur, > > Eev is indeed "conceptually big" (unfortunately), but AFAIK it is > compatible with everything else, it is easy to test "in small pieces", > it is easy to turn on and off, it is very hacker-friendly in all > senses, it is, or tries, to be very friendly to people with short > attention spans who will play with it at most 10 minutes per session, > and - ta-daaaa! - now it has very, very, very nice video links in its > tutorials!!! See: > > https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00527.html > http://angg.twu.net/2021-video-links.html > > If anything in the sales pitch above turns out to be false please tell > me - I'll fix it and you'll also get twice your money back! =P > > Cheers =), > Eduardo Ochs > http://angg.twu.net/#eev Yeah, I know. I have actually seen your video, but I'll have to re-watch it some time. Best regards! ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 11:43 ` Arthur Miller ` (2 preceding siblings ...) 2021-05-30 15:35 ` Eduardo Ochs @ 2021-05-30 19:31 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:22 ` Arthur Miller 3 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:31 UTC (permalink / raw) To: help-gnu-emacs Arthur Miller wrote: > I think you are probably correct about saving notes. > Some vary famious scientists attribute almost everything to > their notes. Yes but what do you mean? :) Do you mean text files on the computer for example? Don't we do that already? Or they (the scientists) have more creative minds/notes you mean? Because me fiddling around with these files, can't say that has contributed to any huge success be it personal or scientific :) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 19:31 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-06-01 10:22 ` Arthur Miller 2021-06-01 10:30 ` Christopher Dimech 0 siblings, 1 reply; 85+ messages in thread From: Arthur Miller @ 2021-06-01 10:22 UTC (permalink / raw) To: help-gnu-emacs Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> writes: > Arthur Miller wrote: > >> I think you are probably correct about saving notes. >> Some vary famious scientists attribute almost everything to >> their notes. > > Yes but what do you mean? :) > > Do you mean text files on the computer for example? > > Don't we do that already? > > Or they (the scientists) have more creative minds/notes > you mean? > > Because me fiddling around with these files, can't say that > has contributed to any huge success be it personal or > scientific :) Computers are just a recent discovery, but anyway, computer or paper, it is just a media. "Taking note" is a general human activity which can be done independent of media. If you are (still) consuming most of your reading material from written media, then I guess pen and paper are most suitable to you. If you are like most people today consuming your information from a computer screen then taking notes with your computer is probably more appropriate since you will anyway have a keyboard and screen in front of you, ready to just type. But anway, it is your choice :-). Einsteing didn't have a mini calculator and Socrates didn't have neither paper nor computer (and never took a note), so it's all relative and up to you :). ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-06-01 10:22 ` Arthur Miller @ 2021-06-01 10:30 ` Christopher Dimech 0 siblings, 0 replies; 85+ messages in thread From: Christopher Dimech @ 2021-06-01 10:30 UTC (permalink / raw) To: Arthur Miller; +Cc: help-gnu-emacs > Sent: Tuesday, June 01, 2021 at 10:22 PM > From: "Arthur Miller" <arthur.miller@live.com> > To: help-gnu-emacs@gnu.org > Subject: Re: How users start programming in Emacs Lisp... > > Emanuel Berg via Users list for the GNU Emacs text editor > <help-gnu-emacs@gnu.org> writes: > > > Arthur Miller wrote: > > > >> I think you are probably correct about saving notes. > >> Some vary famious scientists attribute almost everything to > >> their notes. > > > > Yes but what do you mean? :) > > > > Do you mean text files on the computer for example? > > > > Don't we do that already? > > > > Or they (the scientists) have more creative minds/notes > > you mean? > > > > Because me fiddling around with these files, can't say that > > has contributed to any huge success be it personal or > > scientific :) > > Computers are just a recent discovery, but anyway, computer or paper, it > is just a media. "Taking note" is a general human activity which can be > done independent of media. Computers are just tools, like taking notes. Use what you find useful. If a tool helps you, use it; if it doesn't, don't use it. > If you are (still) consuming most of your reading material from written > media, then I guess pen and paper are most suitable to you. If you are > like most people today consuming your information from a computer screen > then taking notes with your computer is probably more appropriate since > you will anyway have a keyboard and screen in front of you, ready to > just type. > > But anway, it is your choice :-). Einsteing didn't have a mini > calculator and Socrates didn't have neither paper nor computer (and > never took a note), so it's all relative and up to you :). > > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 4:32 ` Eduardo Ochs 2021-05-30 7:05 ` Jean Louis 2021-05-30 11:43 ` Arthur Miller @ 2021-05-30 19:23 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 21:33 ` Jean Louis 2 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 19:23 UTC (permalink / raw) To: help-gnu-emacs Eduardo Ochs wrote: > Hi, just a curiosity... > > why do you prefer to use scratch buffers for elisp code instead of > using (semi-scratch?) files in which we record all our experiments? > > In the tutorials of eev I try to convince the new users to treat their > notes and scratch code as "field notes", and save everything they > can... one of my arguments is this: Okay? Sounds interesting but what is it and what does it do? ? :) -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 19:23 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 21:33 ` Jean Louis 2021-05-30 21:43 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 21:33 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-30 22:24]: > Eduardo Ochs wrote: > > > Hi, just a curiosity... > > > > why do you prefer to use scratch buffers for elisp code instead of > > using (semi-scratch?) files in which we record all our experiments? > > > > In the tutorials of eev I try to convince the new users to treat their > > notes and scratch code as "field notes", and save everything they > > can... one of my arguments is this: > > Okay? > > Sounds interesting but what is it and what does it do? It is hyperdocument system for Emacs. You can create hyperlinks in form of Emacs Lisp and jump somewhere and come back, use it for workflows of life and business, for education and similar. WWW Hyperlinks for example, one cannot use to read any kind of documents or jump just anywhere but Emacs Lisp may be used to create such hyperlinks. Here is one hyperlink: Press M-e within M-x evv on this line opens manual: (find-man "date") Going back from manual page works with M-k -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 21:33 ` Jean Louis @ 2021-05-30 21:43 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:05 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 21:43 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: >> Sounds interesting but what is it and what does it do? > > It is hyperdocument system for Emacs. You can create > hyperlinks in form of Emacs Lisp and jump somewhere and come > back, use it for workflows of life and business, for > education and similar. > > WWW Hyperlinks for example, one cannot use to read any kind > of documents or jump just anywhere but Emacs Lisp may be > used to create such hyperlinks. But that we already do with Emacs all the time... -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 21:43 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:05 ` Jean Louis 2021-05-30 22:16 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:18 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 2 replies; 85+ messages in thread From: Jean Louis @ 2021-05-30 22:05 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 00:45]: > Jean Louis wrote: > > >> Sounds interesting but what is it and what does it do? > > > > It is hyperdocument system for Emacs. You can create > > hyperlinks in form of Emacs Lisp and jump somewhere and come > > back, use it for workflows of life and business, for > > education and similar. > > > > WWW Hyperlinks for example, one cannot use to read any kind > > of documents or jump just anywhere but Emacs Lisp may be > > used to create such hyperlinks. > > But that we already do with Emacs all the time... Principle is important. eev can be embedded in text, the following link may be evaluated with M-e and point being anywhere before the sexp: This is line before the sexp (find-man "man") But I think it should also work after the sexp. And the sexp could be underlined visually. In one way is similar to GNU Hyperbole buttons. It is useful for instructions. 1. Do something (ok I will do) 2. Do more (ok-here is more) And I have it similar in combination either with eev or GNU Hyperbole: 1. SLIME: The Superior Lisp Interaction Mode for Emacs (hyperscope 37269) 2. Handle the Magic Keywords File List (hyperscope 35956) It jumps quickly to the note or item that I need. Numbers are used. I could as well use: id:35956 It then jumps to the list here: 37272 Introducing Linux Air Combat WWW 37271 SLY User Manual, version 1.0.42 WWW 37270 Emacs Lisp Introduction WWW ⧓37269 SLIME: The Superior Lisp Interaction Mode for Emacs WWW 37268 Functions | Common Lisp WWW 37267 Read–eval–print loop - Wikipedia WWW 37266 PostgreSQL: The world's most advanced open source database WWW But it could as well open it, instead jump to the heading. It could jump to edit the note, or to read the PDF, or watch movie. Only that attributes are defined in the object itself, not in the Lisp function. The list of items can be generated, in fact I generate Org file with hyperlinks out of all nodes. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:05 ` Jean Louis @ 2021-05-30 22:16 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:41 ` Jean Louis 2021-05-30 22:49 ` Tomas Hlavaty 2021-05-30 22:18 ` Emanuel Berg via Users list for the GNU Emacs text editor 1 sibling, 2 replies; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:16 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > This is line before the sexp (find-man "man") Yeah but just eval this: (man "ls") I know right? You always wondered what that command did... -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:16 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:41 ` Jean Louis 2021-05-30 22:49 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:49 ` Tomas Hlavaty 1 sibling, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 22:41 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 01:17]: > Jean Louis wrote: > > > This is line before the sexp (find-man "man") > > Yeah but just eval this: > > (man "ls") > > I know right? You always wondered what that command did... It is not same. eev links are embedded in text and user need not move to the endof sexp, it works from anywhere before the sexp with M-e In your case there is problem: Debugger entered--Lisp error: (void-variable >) eval(> nil) elisp--eval-last-sexp(nil) eval-last-sexp(nil) funcall-interactively(eval-last-sexp nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:41 ` Jean Louis @ 2021-05-30 22:49 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:01 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:49 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: >> (man "ls") >> >> I know right? You always wondered what that command did... > > It is not same. eev links are embedded in text and user need not move > to the endof sexp, it works from anywhere before the sexp with M-e > > In your case there is problem: > > Debugger entered--Lisp error: (void-variable >) > eval(> nil) > elisp--eval-last-sexp(nil) > eval-last-sexp(nil) > funcall-interactively(eval-last-sexp nil) > call-interactively(eval-last-sexp nil nil) > command-execute(eval-last-sexp) This shows the man page for ls(1): (man "ls") -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:49 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 23:01 ` Jean Louis 2021-05-30 23:07 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-31 0:34 ` Eduardo Ochs 0 siblings, 2 replies; 85+ messages in thread From: Jean Louis @ 2021-05-30 23:01 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 01:50]: > This shows the man page for ls(1): > > (man "ls") User friendliness lacking. C-x C-e on the end of sexp is not same as M-e anywhere on the line. I would underline it and enable mouse hyperlinks as well. Yes, Eduardo? Why not... -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 23:01 ` Jean Louis @ 2021-05-30 23:07 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:36 ` Jean Louis 2021-05-31 0:34 ` Eduardo Ochs 1 sibling, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 23:07 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: >> This shows the man page for ls(1): >> >> (man "ls") > > User friendliness lacking. > > C-x C-e on the end of sexp is not same as M-e anywhere on > the line. What about M-x man RET ls RET and the "line" can be rationalized away? -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 23:07 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 23:36 ` Jean Louis 2021-05-31 0:25 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 23:36 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 02:10]: > Jean Louis wrote: > > >> This shows the man page for ls(1): > >> > >> (man "ls") > > > > User friendliness lacking. > > > > C-x C-e on the end of sexp is not same as M-e anywhere on > > the line. > > What about M-x man RET ls RET and the "line" can be > rationalized away? You still have to understand what means "embedded Lisp", that does not involve M-x. Imagine a text of 10 pages the interactive manual. That is what eev can do, including GNU Hyperbole, those are similar systems. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 23:36 ` Jean Louis @ 2021-05-31 0:25 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 0 replies; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-31 0:25 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > You still have to understand what means "embedded Lisp", > that does not involve M-x. Imagine a text of 10 pages the > interactive manual Imagine a text of 10 pages the interactive manual? Embedded Lisp is an invisible button? But I like the same Elisp ready and available everywhere... -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 23:01 ` Jean Louis 2021-05-30 23:07 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-31 0:34 ` Eduardo Ochs 2021-05-31 8:09 ` Jean Louis 1 sibling, 1 reply; 85+ messages in thread From: Eduardo Ochs @ 2021-05-31 0:34 UTC (permalink / raw) To: help-gnu-emacs On Sun, 30 May 2021 at 20:03, Jean Louis <bugs@gnu.support> wrote: > > I would underline it and enable mouse hyperlinks as well. Yes, > Eduardo? Why not... Hi Jean Louis, I tried to implement something like that in the early 2000s, but the code that I managed to write was ugly, buggy, and only highlighted a few constructions. But font locking was much more primitive then... I think that the right way to do that now would be to start by writing a sandboxed tutorial - like this one here http://angg.twu.net/eev-intros/find-elisp-intro.html (find-elisp-intro) that would teach people how font locking works, and how to use tools like font-lock-studio. Then on top of that I could try to implement some kinds of font locking for eev, and by doing that people would treat my code as something meant to be explored and extended instead of as something that is "just crap"... [[]], E. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-31 0:34 ` Eduardo Ochs @ 2021-05-31 8:09 ` Jean Louis 0 siblings, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-05-31 8:09 UTC (permalink / raw) To: Eduardo Ochs; +Cc: help-gnu-emacs * Eduardo Ochs <eduardoochs@gmail.com> [2021-05-31 03:35]: > On Sun, 30 May 2021 at 20:03, Jean Louis <bugs@gnu.support> wrote: > > > > I would underline it and enable mouse hyperlinks as well. Yes, > > Eduardo? Why not... > > Hi Jean Louis, > > I tried to implement something like that in the early 2000s, but the > code that I managed to write was ugly, buggy, and only highlighted a > few constructions. But font locking was much more primitive then... > > I think that the right way to do that now would be to start by writing > a sandboxed tutorial - like this one here > > http://angg.twu.net/eev-intros/find-elisp-intro.html > (find-elisp-intro) > > that would teach people how font locking works, and how to use tools > like font-lock-studio. Then on top of that I could try to implement > some kinds of font locking for eev, and by doing that people would > treat my code as something meant to be explored and extended instead > of as something that is "just crap"... Maybe it could be a button with regexp so when regexp is found that sexp becomes a button that is to be executed by (ee-eval-sexp-eol &optional ARG) That is the core idea but I don't know in this moment how to make button by using regexp. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:16 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:41 ` Jean Louis @ 2021-05-30 22:49 ` Tomas Hlavaty 1 sibling, 0 replies; 85+ messages in thread From: Tomas Hlavaty @ 2021-05-30 22:49 UTC (permalink / raw) To: Emanuel Berg, help-gnu-emacs On Mon 31 May 2021 at 00:16, Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> wrote: > Jean Louis wrote: > >> This is line before the sexp (find-man "man") > > Yeah but just eval this: > > (man "ls") Many emacs commands are deficient in important way and Eduardo identified and codified his observation in eev. For example, many commands jump to a buffer but do not allow me to jump to a specific place in the buffer. eev fixes this. For example, this jumps to the place where -h switch is described: (find-man "ls" "-h") The example you provided does not have this. There are other things that eev can do. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:05 ` Jean Louis 2021-05-30 22:16 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:18 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:50 ` Jean Louis 1 sibling, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:18 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > But it could as well open it, instead jump to the heading. > It could jump to edit the note, or to read the PDF, or watch > movie. Only that attributes are defined in the object > itself, not in the Lisp function. Yes you can use it to go to different places but we do that with Emacs all the time already because otherwise we wouldn't even be able to use it... So maybe it is an interface to do that? -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:18 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:50 ` Jean Louis 2021-05-30 22:59 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 22:50 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 01:20]: > Jean Louis wrote: > > > But it could as well open it, instead jump to the heading. > > It could jump to edit the note, or to read the PDF, or watch > > movie. Only that attributes are defined in the object > > itself, not in the Lisp function. > > Yes you can use it to go to different places but we do that > with Emacs all the time already because otherwise we wouldn't > even be able to use it... > > So maybe it is an interface to do that? Interface yes. In dired we jump, but you cannot jump or get a list of PDFs all related to specific subject, or tagged, or related to people, groups, activities, you name it. Richer attributes, variety of properties, rich associations, unlimited tags, those are lacking in the file system. Then there is no central reporting of software to user... software installs itself and does not tell to user where is the config file. Either one has to read manual, or try to search manually. Instead installations could report to user by some meaningful structural way what they did to the file system and that such information becomes easily available to user: search for program name, get all hyperlinks to all files or events caused by that program (as event). -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:50 ` Jean Louis @ 2021-05-30 22:59 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:25 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 22:59 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > Interface yes. In dired we jump, but you cannot jump or get > a list of PDFs all related to specific subject, or tagged, > or related to people, groups, activities, you name it. > Richer attributes, variety of properties, rich associations, > unlimited tags, those are lacking in the file system. Hm... any example other than ls -h? > Then there is no central reporting of software to user... > software installs itself and does not tell to user where is > the config file. Either one has to read manual, or try to > search manually. Instead installations could report to user > by some meaningful structural way what they did to the file > system and that such information becomes easily available to > user: search for program name, get all hyperlinks to all > files or events caused by that program (as event). OK, personally I don't like to search for things but sure sometimes it is good to have around... -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 22:59 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-30 23:25 ` Jean Louis 0 siblings, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-05-30 23:25 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-31 02:01]: > OK, personally I don't like to search for things but sure > sometimes it is good to have around... I would maybe implant the chip with free software in my cerebral center so that Emacs does what I want. Until then I have to at least enter some descriptive queries to find what I mean. File system may have bookmarks, but I have not seen any sophisticated bookmarking system in any of file managers I have ever tried. Emacs is one that allows more sophisticated bookmarking. Other file managers literally suck on that. Lifting it all to one layer more, then one can note anything in the same system and tag any type of information with tags, attributes, properties, time stamps, etc. This includes physical books and DVDs located in the house or other items. It is activity similar to cataloguing, ordering. If every item is ordered at the creation time it is then a breeze to find it later. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 2:11 ` Christopher Dimech 2021-05-30 4:32 ` Eduardo Ochs @ 2021-05-30 5:46 ` Jean Louis 2021-05-30 10:32 ` Christopher Dimech 1 sibling, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 5:46 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 05:11]: > I wonder how you call the buffer optional parameters > > C-u 8 C-u 5 M-x rcd-temp-buffer Just C-u then I choose the mode on mini buffer completion. It is bound to F5, C-u F5, choose your mode or add other modes. It would be possible, and it worked before so that I could do: C-1 equivalent to C-u 1 and choose mode by number, but now I use completion. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-30 5:46 ` Jean Louis @ 2021-05-30 10:32 ` Christopher Dimech 2021-05-30 10:35 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Christopher Dimech @ 2021-05-30 10:32 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs > Sent: Sunday, May 30, 2021 at 5:46 PM > From: "Jean Louis" <bugs@gnu.support> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: help-gnu-emacs@gnu.org > Subject: Re: How users start programming in Emacs Lisp... > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 05:11]: > > I wonder how you call the buffer optional parameters > > > > C-u 8 C-u 5 M-x rcd-temp-buffer > > Just C-u then I choose the mode on mini buffer completion. > > It is bound to F5, C-u F5, choose your mode or add other modes. F5 is generally undefined. Do you have a function attached to it? > It would be possible, and it worked before so that I could do: C-1 > equivalent to C-u 1 and choose mode by number, but now I use > completion. > > > > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > Sign an open letter in support of Richard M. Stallman > https://stallmansupport.org/ > > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 10:32 ` Christopher Dimech @ 2021-05-30 10:35 ` Jean Louis 2021-05-30 11:08 ` Christopher Dimech 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 10:35 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 13:33]: > > > Sent: Sunday, May 30, 2021 at 5:46 PM > > From: "Jean Louis" <bugs@gnu.support> > > To: "Christopher Dimech" <dimech@gmx.com> > > Cc: help-gnu-emacs@gnu.org > > Subject: Re: How users start programming in Emacs Lisp... > > > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 05:11]: > > > I wonder how you call the buffer optional parameters > > > > > > C-u 8 C-u 5 M-x rcd-temp-buffer > > > > Just C-u then I choose the mode on mini buffer completion. > > > > It is bound to F5, C-u F5, choose your mode or add other modes. > > > F5 is generally undefined. Do you have a function attached to it? That function `rcd-temp-buffer' I have put on F5 Thus to get new scratch buffer with any mode, I do: C-u F5 and I choose it ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-30 10:35 ` Jean Louis @ 2021-05-30 11:08 ` Christopher Dimech 2021-05-30 11:19 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Christopher Dimech @ 2021-05-30 11:08 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs > Sent: Sunday, May 30, 2021 at 10:35 PM > From: "Jean Louis" <bugs@gnu.support> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: help-gnu-emacs@gnu.org > Subject: Re: How users start programming in Emacs Lisp... > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 13:33]: > > > > > Sent: Sunday, May 30, 2021 at 5:46 PM > > > From: "Jean Louis" <bugs@gnu.support> > > > To: "Christopher Dimech" <dimech@gmx.com> > > > Cc: help-gnu-emacs@gnu.org > > > Subject: Re: How users start programming in Emacs Lisp... > > > > > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 05:11]: > > > > I wonder how you call the buffer optional parameters > > > > > > > > C-u 8 C-u 5 M-x rcd-temp-buffer > > > > > > Just C-u then I choose the mode on mini buffer completion. > > > > > > It is bound to F5, C-u F5, choose your mode or add other modes. > > > > > > F5 is generally undefined. Do you have a function attached to it? > > That function `rcd-temp-buffer' I have put on F5 > > Thus to get new scratch buffer with any mode, I do: > > C-u F5 and I choose it I can see your interim buffer working. Very neat. How does one play with name? ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 11:08 ` Christopher Dimech @ 2021-05-30 11:19 ` Jean Louis 2021-05-30 13:55 ` Christopher Dimech 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 11:19 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 14:09]: > > C-u F5 and I choose it > > I can see your interim buffer working. Very neat. How does one > play with name? How exactly do you wish to play with the name? Which name? Is it buffer name? -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-30 11:19 ` Jean Louis @ 2021-05-30 13:55 ` Christopher Dimech 2021-05-30 15:54 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Christopher Dimech @ 2021-05-30 13:55 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs > Sent: Sunday, May 30, 2021 at 11:19 PM > From: "Jean Louis" <bugs@gnu.support> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: help-gnu-emacs@gnu.org > Subject: Re: How users start programming in Emacs Lisp... > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 14:09]: > > > C-u F5 and I choose it > > > > I can see your interim buffer working. Very neat. How does one > > play with name? > > How exactly do you wish to play with the name? Which name? Is it > buffer name? The first optional parameter "name", which looks like it is the buffer name. When I use "C-u F5" you can only set the mode, but if name is already set, the code suggests that it will use it. But does not, because the let variable "buffer" is not set. The code uses (generate-new-buffer "*RCD TEMPORARY BUFFER*") making the name hard-coded. Then when I call another temporary buffer, I get a numeric value enclosed in <>, to get *RCD TEMPORARY BUFFER*<2> > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > Sign an open letter in support of Richard M. Stallman > https://stallmansupport.org/ > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 13:55 ` Christopher Dimech @ 2021-05-30 15:54 ` Jean Louis 2021-05-30 17:22 ` Christopher Dimech 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 15:54 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 16:55]: > > How exactly do you wish to play with the name? Which name? Is it > > buffer name? > > The first optional parameter "name", which looks like it is the > buffer name. Sorry, I was using that long time without observing. > When I use "C-u F5" you can only set the mode, but if name is > already set, the code suggests that it will use it. But does not, > because the let variable "buffer" is not set. There is main name and sub-name. Here now you can customize it: ;;;; ↝ RCD TEMPORARY BUFFERS (defvar rcd-temp-buffer-mode-history nil) ;; You may customize the main name here: (defvar rcd-temp-buffer-name "RCD TEMPORARY BUFFER") ;; You may customize the modes you wish to get asked with prefix C-u: (defvar rcd-temp-buffer-modes '("adoc-mode" "emacs-lisp-mode" "lisp-mode" "markdown-mode" "org-mode" "sql-mode" "fundamental-mode" "html-mode")) (defun rcd-temp-buffer (&optional name mode) (interactive "p") (let* ((format (concat "*" rcd-temp-buffer-name "%s%s*")) (buffer (if name (format format ": " name) (format format "" "")))) (switch-to-buffer (generate-new-buffer buffer)) (if current-prefix-arg (let* ((mode (completing-read "Mode: " rcd-temp-buffer-modes nil t nil 'rcd-temp-buffer-mode-history))) (funcall (intern mode))) (funcall (intern (or mode "fundamental-mode")))))) (defun rcd-temp-buffer-destroy-em () (interactive) (kill-matching-buffers "RCD TEMPORARY BUFFER")) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-30 15:54 ` Jean Louis @ 2021-05-30 17:22 ` Christopher Dimech 2021-05-30 18:57 ` Jean Louis 2021-05-30 19:48 ` Jean Louis 0 siblings, 2 replies; 85+ messages in thread From: Christopher Dimech @ 2021-05-30 17:22 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs --------------------- Christopher Dimech General Administrator - Naiad Informatics - GNU Project (Geocomputation) - Geophysical Simulation - Geological Subsurface Mapping - Disaster Preparedness and Mitigation - Natural Resource Exploration and Production - Free Software Advocacy > Sent: Monday, May 31, 2021 at 3:54 AM > From: "Jean Louis" <bugs@gnu.support> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: help-gnu-emacs@gnu.org > Subject: Re: How users start programming in Emacs Lisp... > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 16:55]: > > > How exactly do you wish to play with the name? Which name? Is it > > > buffer name? > > > > The first optional parameter "name", which looks like it is the > > buffer name. > > Sorry, I was using that long time without observing. > > > When I use "C-u F5" you can only set the mode, but if name is > > already set, the code suggests that it will use it. But does not, > > because the let variable "buffer" is not set. > > There is main name and sub-name. > > Here now you can customize it: > > ;;;; ↝ RCD TEMPORARY BUFFERS > > (defvar rcd-temp-buffer-mode-history nil) > > ;; You may customize the main name here: > (defvar rcd-temp-buffer-name "RCD TEMPORARY BUFFER") > > ;; You may customize the modes you wish to get asked with prefix C-u: > (defvar rcd-temp-buffer-modes '("adoc-mode" "emacs-lisp-mode" "lisp-mode" "markdown-mode" > "org-mode" "sql-mode" "fundamental-mode" "html-mode")) > > (defun rcd-temp-buffer (&optional name mode) > (interactive "p") > (let* ((format (concat "*" rcd-temp-buffer-name "%s%s*")) > (buffer (if name (format format ": " name) (format format "" "")))) > (switch-to-buffer (generate-new-buffer buffer)) > (if current-prefix-arg > (let* ((mode (completing-read > "Mode: " > rcd-temp-buffer-modes nil t nil 'rcd-temp-buffer-mode-history))) > (funcall (intern mode))) > (funcall (intern (or mode "fundamental-mode")))))) > > (defun rcd-temp-buffer-destroy-em () > (interactive) > (kill-matching-buffers "RCD TEMPORARY BUFFER")) > I am having some problem figuring out what the following does, having format repeated twice. (format format ": " name) > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > Sign an open letter in support of Richard M. Stallman > https://stallmansupport.org/ > > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 17:22 ` Christopher Dimech @ 2021-05-30 18:57 ` Jean Louis 2021-05-30 19:48 ` Jean Louis 1 sibling, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-05-30 18:57 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 20:22]: > I am having some problem figuring out what the following does, having format > repeated twice. > > (format format ": " name) In Lisp at first place comes usually the function, but other list elements are arguments to the function. You could inspect `format' function with {C-h f format RET} as it tells you that you apply it as: format is a built-in function in ‘C source code’. (format STRING &rest OBJECTS) Format a string out of a format-string and arguments. The first argument is a format control string. The other arguments are substituted into it to make the result, a string. The STRING is format-string, for example "%s" which means that %s will be replaced with the argument or one of OBJECTS. (format "%s" "Hello") ⇒ "Hello" (format "Hello %s" "John") ⇒ "Hello John" And the format-string which comes at second place is in my case named also `format' why not. (let ((format-string "Hello %s")) (format format-string "John")) ⇒ "Hello John" or like this: (let ((format "Hello %s")) (format format "John")) ⇒ "Hello John" It will stop being confusing when you fully understand what is list in Lisp and that functions come first and everything else are arguments. This may not be best technical explanation, it is just practical. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-30 17:22 ` Christopher Dimech 2021-05-30 18:57 ` Jean Louis @ 2021-05-30 19:48 ` Jean Louis 2021-05-31 20:30 ` Christopher Dimech 1 sibling, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-30 19:48 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-30 20:22]: > I am having some problem figuring out what the following does, having format > repeated twice. > > (format format ": " name) It could be all simpler, it just adds the sub-name to the main name. M-x rcd-temp-buffer would create *RCD TEMPORARY BUFFER: 1* but (rcd-temp-buffer "Lisp") would create *RCD TEMPORARY BUFFER: Lisp* Myself I don't know why I made it so complex, but it just works and I use temporary or scratch buffers that way often. Simpler way to open temporary buffer is just: C-x b NAME-OF-YOUR-BUFFER but when function is tied to key binding it becomes simple, press F5 or other key how you bind it, and you are already in clean empty new temporary buffer. Or invoke C-u prefix to be asked for the mode. As Eduardo mentioned maybe it is good to keep those notes, but because in my mind there is distinction on what is temporary and what is not, for me it is fine that way as I use the database and it is trivial to make a function to just open quickly buffer, write anything and have it saved for future. So I made this one... (defun hyperscope-quick-emacs-lisp () (interactive) (let* ((id (hlink-add-generic (concat "Emacs Lisp: " (rcd-timestamp-literate)) "" 50 33)) (template (rcd-db-get-entry "hlinktypes" "hlinktypes_template" 50 hs-db))) (when template (rcd-db-update-entry "hyobjects" "hyobjects_text" id template hs-db)) (hyperscope-edit-with-mode id "hyobjects_text"))) The "name" of the note should be something quick: (concat "Emacs Lisp: " (rcd-timestamp-literate)) ⇒ "Emacs Lisp: Sunday, May 30 2021, 22:21:26" Function `hlink-add-generic' just adds generic object with type 50 (Emacs Lisp in description, text and report of the object) with the parent node 33 which is "Emacs Lisp" set or category. A type can have a template, why not, it is inserted as value of the column "hyobjects_text", and finally edited in the last line. Automatic saving is not a big deal, and automatic revision system also. What really matters is integration that brings speed to user without thinking, and so the workflow is: 1. Press F5, edit Emacs Lisp (forget about anything else) When editing database stuff, then things like byte compiling will not work as it is not tied to buffer, but is not impossible to byte compile and keep what is compiled in the database. I did not manage to make it. I am aware that little of this makes sense to people who edit mostly files. Some functionality can be for files: ;;;; ↝ RCD TEMPORARY BUFFERS (defvar rcd-temp-buffer-mode-history nil) (defvar rcd-temp-file-directory "~/tmp/") (defvar rcd-temp-buffer-name "RCD TEMPORARY BUFFER") (defvar rcd-temp-buffer-modes '(("adoc-mode" . "adoc") ("emacs-lisp-mode" . "el") ("lisp-mode" . ".lisp") ("markdown-mode" . ".md") ("org-mode" . "org") ("sql-mode" . "sql") ("fundamental-mode" . "txt") ("html-mode" . "html"))) (defun rcd-temp-buffer (&optional name mode) (interactive "p") (let* ((format (concat "*" rcd-temp-buffer-name "%s%s*")) (buffer (if name (format format ": " name) (format format "" "")))) (switch-to-buffer (generate-new-buffer buffer)) (if current-prefix-arg (let* ((mode (completing-read "Mode: " (map-keys rcd-temp-buffer-modes) nil t nil 'rcd-temp-buffer-mode-history))) (funcall (intern mode))) (funcall (intern (or mode "fundamental-mode")))))) (defun rcd-temp-file (&optional name mode) "Quickly open temporary file. Using C-u as prefix will ask you for the mode of the file and will influence the extension. NAME may be provided programmatically. MODE may be provided as string programmatically." (interactive) (let* ((mode (or mode (if current-prefix-arg (let* ((mode (completing-read "Mode: " (map-keys rcd-temp-buffer-modes) nil t nil 'rcd-temp-buffer-mode-history))) mode) "fundamental-mode"))) (file (concat rcd-temp-file-directory (or name (format-time-string "%A-%B-%e-%Y-%T.")) (cdr (assoc-string mode rcd-temp-buffer-modes))))) (find-file file) (save-buffer) (auto-save-mode 1) (funcall (intern mode)))) (defun rcd-temp-buffer-destroy-em () (interactive) (kill-matching-buffers "RCD TEMPORARY BUFFER")) Then calling `rcd-temp-file' with C-u prefix will create and save the file with chosen mode, it will automatically generate name based on the time stamp and it will be in the chosen mode, like: /home/data1/protected/tmp/Sunday-May-30-2021-22:44:11.sql Defining a key globally: (global-set-key [f5] 'rcd-temp-file) That could be one way to just press a key like F5 and to create a note with the timestamp on a file system without thinking of its file name, opening of file, saving, etc. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* How users start programming in Emacs Lisp... 2021-05-30 19:48 ` Jean Louis @ 2021-05-31 20:30 ` Christopher Dimech 2021-05-31 21:53 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Christopher Dimech @ 2021-05-31 20:30 UTC (permalink / raw) To: Jean Louis; +Cc: help-gnu-emacs I would like to be able to decide the name from the mini-buffer. How can that be done? ----- Christopher Dimech Society has became too quick to pass judgement and declare someone Persona Non-Grata, the most extreme form of censure a country can bestow. In a new era of destructive authoritarianism, I support Richard Stallman. Times of great crisis are also times of great opportunity. I call upon you to make this struggle yours as well ! https://stallmansupport.org/ https://www.fsf.org/ https://www.gnu.org/ > Sent: Monday, May 31, 2021 at 7:48 AM > From: "Jean Louis" <bugs@gnu.support> > To: "Christopher Dimech" <dimech@gmx.com> > Cc: help-gnu-emacs@gnu.org > Subject: Re: How users start programming in Emacs Lisp... > > * Christopher Dimech <dimech@gmx.com> [2021-05-30 20:22]: > > I am having some problem figuring out what the following does, having format > > repeated twice. > > > > (format format ": " name) > > It could be all simpler, it just adds the sub-name to the main name. > > M-x rcd-temp-buffer would create *RCD TEMPORARY BUFFER: 1* > > but (rcd-temp-buffer "Lisp") would create *RCD TEMPORARY BUFFER: Lisp* > > Myself I don't know why I made it so complex, but it just works and I > use temporary or scratch buffers that way often. > > Simpler way to open temporary buffer is just: > > C-x b NAME-OF-YOUR-BUFFER > > but when function is tied to key binding it becomes simple, press F5 > or other key how you bind it, and you are already in clean empty new > temporary buffer. Or invoke C-u prefix to be asked for the mode. > > As Eduardo mentioned maybe it is good to keep those notes, but because > in my mind there is distinction on what is temporary and what is not, > for me it is fine that way as I use the database and it is trivial to > make a function to just open quickly buffer, write anything and have > it saved for future. > > So I made this one... > > (defun hyperscope-quick-emacs-lisp () > (interactive) > (let* ((id (hlink-add-generic (concat "Emacs Lisp: " (rcd-timestamp-literate)) "" 50 33)) > (template (rcd-db-get-entry "hlinktypes" "hlinktypes_template" 50 hs-db))) > (when template > (rcd-db-update-entry "hyobjects" "hyobjects_text" id template hs-db)) > (hyperscope-edit-with-mode id "hyobjects_text"))) > > The "name" of the note should be something quick: > > (concat "Emacs Lisp: " (rcd-timestamp-literate)) ⇒ "Emacs Lisp: Sunday, May 30 2021, 22:21:26" > > Function `hlink-add-generic' just adds generic object with type 50 > (Emacs Lisp in description, text and report of the object) with the > parent node 33 which is "Emacs Lisp" set or category. > > A type can have a template, why not, it is inserted as value of the > column "hyobjects_text", and finally edited in the last line. > > Automatic saving is not a big deal, and automatic revision system > also. > > What really matters is integration that brings speed to user without > thinking, and so the workflow is: > > 1. Press F5, edit Emacs Lisp (forget about anything else) > > When editing database stuff, then things like byte compiling will not > work as it is not tied to buffer, but is not impossible to byte > compile and keep what is compiled in the database. I did not manage to > make it. > > I am aware that little of this makes sense to people who edit mostly > files. Some functionality can be for files: > > ;;;; ↝ RCD TEMPORARY BUFFERS > > (defvar rcd-temp-buffer-mode-history nil) > (defvar rcd-temp-file-directory "~/tmp/") > (defvar rcd-temp-buffer-name "RCD TEMPORARY BUFFER") > (defvar rcd-temp-buffer-modes '(("adoc-mode" . "adoc") > ("emacs-lisp-mode" . "el") > ("lisp-mode" . ".lisp") > ("markdown-mode" . ".md") > ("org-mode" . "org") > ("sql-mode" . "sql") > ("fundamental-mode" . "txt") > ("html-mode" . "html"))) > > (defun rcd-temp-buffer (&optional name mode) > (interactive "p") > (let* ((format (concat "*" rcd-temp-buffer-name "%s%s*")) > (buffer (if name (format format ": " name) (format format "" "")))) > (switch-to-buffer (generate-new-buffer buffer)) > (if current-prefix-arg > (let* ((mode (completing-read > "Mode: " > (map-keys rcd-temp-buffer-modes) nil t nil > 'rcd-temp-buffer-mode-history))) > (funcall (intern mode))) > (funcall (intern (or mode "fundamental-mode")))))) > > (defun rcd-temp-file (&optional name mode) > "Quickly open temporary file. > Using C-u as prefix will ask you for the mode of the file and > will influence the extension. > > NAME may be provided programmatically. > MODE may be provided as string programmatically." > (interactive) > (let* ((mode (or mode > (if current-prefix-arg > (let* ((mode (completing-read > "Mode: " > (map-keys rcd-temp-buffer-modes) nil t nil > 'rcd-temp-buffer-mode-history))) > mode) > "fundamental-mode"))) > (file (concat rcd-temp-file-directory > (or name (format-time-string "%A-%B-%e-%Y-%T.")) > (cdr (assoc-string mode rcd-temp-buffer-modes))))) > (find-file file) > (save-buffer) > (auto-save-mode 1) > (funcall (intern mode)))) > > (defun rcd-temp-buffer-destroy-em () > (interactive) > (kill-matching-buffers "RCD TEMPORARY BUFFER")) > > > Then calling `rcd-temp-file' with C-u prefix will create and save the > file with chosen mode, it will automatically generate name based on > the time stamp and it will be in the chosen mode, like: > > /home/data1/protected/tmp/Sunday-May-30-2021-22:44:11.sql > > Defining a key globally: > > (global-set-key [f5] 'rcd-temp-file) > > That could be one way to just press a key like F5 and to create a > note with the timestamp on a file system without thinking of its > file name, opening of file, saving, etc. > > > -- > Jean > > Take action in Free Software Foundation campaigns: > https://www.fsf.org/campaigns > > Sign an open letter in support of Richard M. Stallman > https://stallmansupport.org/ > ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: How users start programming in Emacs Lisp... 2021-05-31 20:30 ` Christopher Dimech @ 2021-05-31 21:53 ` Jean Louis 0 siblings, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-05-31 21:53 UTC (permalink / raw) To: Christopher Dimech; +Cc: help-gnu-emacs * Christopher Dimech <dimech@gmx.com> [2021-05-31 23:31]: > I would like to be able to decide the name from the mini-buffer. > How can that be done? Here is the set of improved functions: - your main buffer name is in variable `rcd-temp-buffer-name'; your main buffer name should be something unique, descriptive so that it can be destroyed easily (when necessarily) or followed up; - run M-x rcd-temp-buffer-ask-name or bind it to key if you wish to get asked for sub-name - use C-u prefix to get asked for mode - if you have many temporary buffers you maybe wish to browse through such buffers, because they got their main name, the function M-x rcd-temp-buffer-next will go through such. Bind it to a simple key and you can press key and browse through temporary buffers quicker. ;;;; ↝ RCD TEMPORARY BUFFERS (defvar rcd-temp-buffer-mode-history nil) (defvar rcd-temp-file-directory "~/tmp/") (defvar rcd-temp-buffer-name "RCD TEMPORARY BUFFER") (defvar rcd-temp-buffer-modes '(("adoc-mode" . "adoc") ("emacs-lisp-mode" . "el") ("lisp-mode" . ".lisp") ("markdown-mode" . ".md") ("org-mode" . "org") ("sql-mode" . "sql") ("fundamental-mode" . "txt") ("html-mode" . "html"))) (defun rcd-temp-buffer (&optional name mode) "Generate new temporary buffer." (interactive "p") (let* ((format (concat "*" rcd-temp-buffer-name "%s%s*")) (buffer (if name (format format ": " name) (format format "" "")))) (switch-to-buffer (generate-new-buffer buffer)) (if current-prefix-arg (let* ((mode (completing-read "Mode: " (map-keys rcd-temp-buffer-modes) nil t nil 'rcd-temp-buffer-mode-history))) (funcall (intern mode))) (funcall (intern (or mode "fundamental-mode")))))) (defun rcd-temp-buffer-ask-name () "Generate new temporary buffer by asking for buffer name." (interactive) (rcd-temp-buffer (read-from-minibuffer "Buffer name: "))) (defun rcd-temp-file (&optional name mode) "Quickly open temporary file. Using C-u as prefix will ask you for the mode of the file and will influence the extension. NAME may be provided programmatically. MODE may be provided as string programmatically." (interactive) (let* ((mode (or mode (if current-prefix-arg (let* ((mode (completing-read "Mode: " (map-keys rcd-temp-buffer-modes) nil t nil 'rcd-temp-buffer-mode-history))) mode) "fundamental-mode"))) (file (concat rcd-temp-file-directory (or name (format-time-string "%A-%B-%e-%Y-%T.")) (cdr (assoc-string mode rcd-temp-buffer-modes))))) (find-file file) (save-buffer) (funcall (intern mode)))) (defvar rcd-temp-buffer-list nil) (defun rcd-temp-buffer-next () (interactive) (unless rcd-temp-buffer-list (setq rcd-temp-buffer-list (reverse (rcd-list-matching-buffers rcd-temp-buffer-name)))) (let ((rcd-buffer (pop rcd-temp-buffer-list)) (buffer (current-buffer))) (if rcd-buffer (if (buffer-live-p rcd-buffer) (switch-to-buffer rcd-buffer) (rcd-temp-buffer-next)) (message "No temporary buffers")))) (defun rcd-temp-buffer-destroy-em () (interactive) (kill-matching-buffers "RCD TEMPORARY BUFFER")) (defun rcd-list-matching-buffers (query) "Return list of matching buffers." (let ((list)) (mapc (lambda (buffer) (when (string-match query (buffer-name buffer)) (push buffer list))) (buffer-list)) list)) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 20:08 Fortran Topics (outline-minor-mode, require, fixed format) ludvig-faddeev 2021-05-29 20:14 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-29 20:36 ` Jean Louis 2021-05-29 20:51 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 2:04 ` Stefan Monnier via Users list for the GNU Emacs text editor 2 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-29 20:36 UTC (permalink / raw) To: ludvig-faddeev; +Cc: Help Gnu Emacs * ludvig-faddeev@gmx.com <ludvig-faddeev@gmx.com> [2021-05-29 23:09]: > We want to know how to set up three things. > > outline-minor-mode oriented > > 1. How to include headings and subheadings for fortran (fixed and free format) > 2. Code structure hiding (subroutine, function) > 3. Setting up new heading lists (outline-regexp, > outline-heading-alist) First read the manual, evaluate the following: (info "(emacs) Fortran") outline-minor-mode is universal and applies to any "mode" or without mode it will create outlines depending of your settings. Then I would first suggest you use: {M-x customize-group RET outlines RET} to customize the following: Hide Outline Minor Mode Cycle: Boolean: Toggle on (non-nil) State : SAVED and set. Enable cycling of headings in ‘outline-minor-mode’. More Hide Outline Minor Mode Highlight: Choice: Value Menu Append outline faces to major mode faces State : SAVED and set. Highlight headings in ‘outline-minor-mode’ using font-lock keywords. More Hide Outline Minor Mode Prefix: Key sequence: C-c C-d State : SAVED and set. Prefix key to use for Outline commands in Outline minor mode. More Learn by reading the settings, clicking on "More" Then do following: {C-h v outline-regexp RET} and read about that variable, so in Fortran the comment is ! maybe you wish to add it there. Customize it, but if you don't know how, let us know. Maybe like this: (setq outline-regexp "[!\f]+") but I cannot be sure as Fortran I don't know. Next: {C-h v outline-heading-alist RET} Inspect it. Then decide what and how your headings should be structured? If you don't state that, it is impossible to tell. Then good source of information is also here: https://www.emacswiki.org/emacs/OutlineMinorMode Maybe you wish headings with ! !! !!! !!!! So question is what exactly you wish? Outline minor mode is not a magic mode, it is universal and will do what you want, but you need to tell it by customizing variables. I think it should be: (setq outline-heading-alist '(("!" . 1) ("!!" . 2) ("!!!" . 3))) But my attempt to make it work is not well. I am missing something. After setting that, I did M-x outline-minor-mode twice and it worked. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ P.S. I am not sending copy to those many email addresses as some of them already fails as non existent. ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 20:36 ` Fortran Topics (outline-minor-mode, require, fixed format) Jean Louis @ 2021-05-29 20:51 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-29 21:00 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-29 20:51 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > outline-minor-mode is universal and applies to any "mode" or > without mode it will create outlines depending of > your settings. Yeah, that's what I said even without knowing it. See? I'm smart. Proposition: Get back into the game and stop repeating you want this for Fortran - it is bad for your karma. -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 20:51 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-29 21:00 ` Jean Louis 2021-05-29 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor 0 siblings, 1 reply; 85+ messages in thread From: Jean Louis @ 2021-05-29 21:00 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-29 23:53]: > Jean Louis wrote: > > > outline-minor-mode is universal and applies to any "mode" or > > without mode it will create outlines depending of > > your settings. > > Yeah, that's what I said even without knowing it. See? > I'm smart. > > Proposition: Get back into the game and stop repeating you > want this for Fortran - it is bad for your karma. (⌐■_■) but outline-minor-mode could benefit from a user function that sets it up for user how user wants it. Serious issue is that 2 important variables: `outline-regexp' and `outline-heading-alist' are not customizable by using M-x customize-group Additionally both of them should be customizable per mode. Don't you think so? Then user could set: 1. outline-regexp-per-mode per mode in M-x customize-group 2. outline-heading-alist-per-mode per mode in M-x customize-group and this variable could be used to set outline-heading-alist per mode. And that solves the problem. Some defaults could be then set for various already present modes in Emacs, and compatibility with previous user settings would remain. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 21:00 ` Jean Louis @ 2021-05-29 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-29 22:00 ` Jean Louis 0 siblings, 1 reply; 85+ messages in thread From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-29 21:27 UTC (permalink / raw) To: help-gnu-emacs Jean Louis wrote: > And that solves the problem. Some defaults could be then set > for various already present modes in Emacs, and > compatibility with previous user settings would remain. If you say you solved the OP's problem, on behalf of this whole list that calls for a reward - said and done: https://dataswamp.org/~incal/vidz/fighting-fit-new-school.mp4 Facts for fans: https://dataswamp.org/~incal/vidz/incal-vidz.txt Editor employed to create trippy ASCII art effect: Emacs -- underground experts united https://dataswamp.org/~incal ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-05-29 22:00 ` Jean Louis 0 siblings, 0 replies; 85+ messages in thread From: Jean Louis @ 2021-05-29 22:00 UTC (permalink / raw) To: help-gnu-emacs * Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2021-05-30 00:28]: > Jean Louis wrote: > > > And that solves the problem. Some defaults could be then set > > for various already present modes in Emacs, and > > compatibility with previous user settings would remain. > > If you say you solved the OP's problem, on behalf of this > whole list that calls for a reward - said and done: > > https://dataswamp.org/~incal/vidz/fighting-fit-new-school.mp4 That was hypothetical. Problem is only in accessibility of user settings. I cannot see video due to limited mobile Internet bandwidth, if you could transform it to ANSI video, thanks. (◍•ᴗ•◍) > Facts for fans: > > https://dataswamp.org/~incal/vidz/incal-vidz.txt > > Editor employed to create trippy ASCII art effect: Emacs "No way" for blind users (I hope it is politically correct): __ \ _ \ \ \ \ / _` | | | | | ( | \ \ \ / ( | | | _| _|\___/ \_/\_/ \__,_|\__, | ____/ -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns Sign an open letter in support of Richard M. Stallman https://stallmansupport.org/ ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-29 20:08 Fortran Topics (outline-minor-mode, require, fixed format) ludvig-faddeev 2021-05-29 20:14 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-29 20:36 ` Fortran Topics (outline-minor-mode, require, fixed format) Jean Louis @ 2021-05-30 2:04 ` Stefan Monnier via Users list for the GNU Emacs text editor 2021-05-30 2:06 ` Stefan Monnier via Users list for the GNU Emacs text editor 2 siblings, 1 reply; 85+ messages in thread From: Stefan Monnier via Users list for the GNU Emacs text editor @ 2021-05-30 2:04 UTC (permalink / raw) To: help-gnu-emacs ludvig-faddeev@gmx.com [2021-05-29 22:08:46] wrote: > We want to know how to set up three things. > outline-minor-mode oriented > 1. How to include headings and subheadings for fortran (fixed and free format) > 2. Code structure hiding (subroutine, function) > 3. Setting up new heading lists (outline-regexp, outline-heading-alist) Next time you repeat the question, please add "code folding" in the list. It's sorely missing, Stefan ^ permalink raw reply [flat|nested] 85+ messages in thread
* Re: Fortran Topics (outline-minor-mode, require, fixed format) 2021-05-30 2:04 ` Stefan Monnier via Users list for the GNU Emacs text editor @ 2021-05-30 2:06 ` Stefan Monnier via Users list for the GNU Emacs text editor 0 siblings, 0 replies; 85+ messages in thread From: Stefan Monnier via Users list for the GNU Emacs text editor @ 2021-05-30 2:06 UTC (permalink / raw) To: help-gnu-emacs Stefan Monnier via Users list for the GNU Emacs text editor [2021-05-29 22:04:44] wrote: > ludvig-faddeev@gmx.com [2021-05-29 22:08:46] wrote: >> We want to know how to set up three things. >> outline-minor-mode oriented >> 1. How to include headings and subheadings for fortran (fixed and free format) >> 2. Code structure hiding (subroutine, function) >> 3. Setting up new heading lists (outline-regexp, outline-heading-alist) > Next time you repeat the question, please add "code folding" in ^^^^ times Oops, sorry 'bout that, Stefan ^ permalink raw reply [flat|nested] 85+ messages in thread
end of thread, other threads:[~2021-06-02 3:43 UTC | newest] Thread overview: 85+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-05-29 20:08 Fortran Topics (outline-minor-mode, require, fixed format) ludvig-faddeev 2021-05-29 20:14 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-29 20:48 ` Jean Louis 2021-05-29 21:26 ` Christopher Dimech 2021-05-29 21:56 ` Jean Louis 2021-05-29 22:07 ` Christopher Dimech 2021-05-29 22:37 ` How users start programming in Emacs Lisp Jean Louis 2021-05-30 1:06 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 2:11 ` Christopher Dimech 2021-05-30 4:32 ` Eduardo Ochs 2021-05-30 7:05 ` Jean Louis 2021-05-30 7:51 ` Eduardo Ochs 2021-05-30 8:31 ` Jean Louis 2021-05-30 19:27 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:27 ` Jean Louis 2021-05-30 22:41 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:52 ` Jean Louis 2021-05-30 11:43 ` Arthur Miller 2021-05-30 12:08 ` Christopher Dimech 2021-05-30 19:35 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 21:54 ` Jean Louis 2021-05-30 22:06 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:38 ` Jean Louis 2021-05-30 22:46 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:56 ` Jean Louis 2021-05-30 23:02 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:35 ` Jean Louis 2021-05-31 0:21 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 14:09 ` Arthur Miller 2021-06-01 21:09 ` Christopher Dimech 2021-06-01 21:54 ` Christopher Dimech 2021-05-30 14:44 ` Tomas Hlavaty 2021-05-30 15:23 ` Eduardo Ochs 2021-05-30 19:41 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 19:59 ` Eduardo Ochs 2021-05-31 17:59 ` Tomas Hlavaty 2021-05-30 19:37 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:29 ` Arthur Miller 2021-06-01 11:40 ` Eduardo Ochs 2021-06-01 16:30 ` Jean Louis 2021-06-02 0:54 ` Eduardo Ochs 2021-06-02 3:43 ` Jean Louis 2021-05-30 15:35 ` Eduardo Ochs 2021-05-30 19:42 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:23 ` Arthur Miller 2021-05-30 19:31 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-06-01 10:22 ` Arthur Miller 2021-06-01 10:30 ` Christopher Dimech 2021-05-30 19:23 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 21:33 ` Jean Louis 2021-05-30 21:43 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:05 ` Jean Louis 2021-05-30 22:16 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:41 ` Jean Louis 2021-05-30 22:49 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:01 ` Jean Louis 2021-05-30 23:07 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:36 ` Jean Louis 2021-05-31 0:25 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-31 0:34 ` Eduardo Ochs 2021-05-31 8:09 ` Jean Louis 2021-05-30 22:49 ` Tomas Hlavaty 2021-05-30 22:18 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 22:50 ` Jean Louis 2021-05-30 22:59 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-30 23:25 ` Jean Louis 2021-05-30 5:46 ` Jean Louis 2021-05-30 10:32 ` Christopher Dimech 2021-05-30 10:35 ` Jean Louis 2021-05-30 11:08 ` Christopher Dimech 2021-05-30 11:19 ` Jean Louis 2021-05-30 13:55 ` Christopher Dimech 2021-05-30 15:54 ` Jean Louis 2021-05-30 17:22 ` Christopher Dimech 2021-05-30 18:57 ` Jean Louis 2021-05-30 19:48 ` Jean Louis 2021-05-31 20:30 ` Christopher Dimech 2021-05-31 21:53 ` Jean Louis 2021-05-29 20:36 ` Fortran Topics (outline-minor-mode, require, fixed format) Jean Louis 2021-05-29 20:51 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-29 21:00 ` Jean Louis 2021-05-29 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor 2021-05-29 22:00 ` Jean Louis 2021-05-30 2:04 ` Stefan Monnier via Users list for the GNU Emacs text editor 2021-05-30 2:06 ` Stefan Monnier via Users list for the GNU Emacs text editor
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.