* 23.0.50; TLS infinite loop @ 2007-09-18 20:36 Leo 2007-09-18 22:20 ` Elias Oltmanns 0 siblings, 1 reply; 10+ messages in thread From: Leo @ 2007-09-18 20:36 UTC (permalink / raw) To: emacs-pretest-bug Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them. Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list. Please describe exactly what actions triggered the bug and the precise symptoms of the bug: This bug takes Gnus and a Gmail account to reproduce. I am using Gnus 5.110007 from CVS (2007-09-10) and tls.el is from Emacs. You need to use openssl to see this problem. So first, (setq tls-program '("openssl s_client -connect %h:%p -no_ssl2")) (setq mail-sources '((pop :server "pop.gmail.com" :port 995 :user "sdl.web@googlemail.com" :password "test") )) Make sure that there is at least one new mail in that account. Now try to retrieve new mail in "misc.mail" by "M-g". You can see that a message like "Retrieving message 1 of 1 from pop.gmail.com..." will display in the echo area for good and Emacs is frozen until you type "C-g" to stop it. I tried to edebug `pop3-retr' and found out it hangs at (pop3-read-response process) at the beginning of the function. [BTW, using gnutls is even more problematic. I have reported but no one is fixing it. http://news.gmane.org/group/gmane.emacs.gnus.user/thread=8526] If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /usr/local/packages/emacs/share/emacs/23.0.50/etc/DEBUG for instructions. In GNU Emacs 23.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.10.14, multi-tty) of 2007-09-01 on Fedora configured using `configure '--prefix=/usr/local/packages/emacs' '--with-kerberos5' '--enable-locallisppath=/usr/local/share/emacs/site-lisp' '--without-toolkit-scroll-bars' '--with-xft' '--enable-font-backend' '--with-x-toolkit=yes'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8 default-enable-multibyte-characters: t Major mode: Group Minor modes in effect: erc-spelling-mode: t erc-page-mode: t erc-menu-mode: t erc-services-mode: t erc-autojoin-mode: t erc-button-mode: t erc-ring-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-track-minor-mode: t erc-match-mode: t erc-fill-mode: t erc-stamp-mode: t erc-netsplit-mode: t erc-smiley-mode: t erc-readonly-mode: t erc-scrolltobottom-mode: t gnus-topic-mode: t gnus-undo-mode: t auto-insert-mode: t dired-omit-mode: t recentf-mode: t icomplete-mode: t show-paren-mode: t savehist-mode: t xterm-mouse-mode: t delete-selection-mode: t global-auto-revert-mode: t display-time-mode: t minibuffer-indicate-depth-mode: t partial-completion-mode: t which-function-mode: t shell-dirtrack-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t unify-8859-on-encoding-mode: t utf-translate-cjk-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O A ESC O A ESC O A ESC O A ESC O A ESC O A ESC O A ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B ESC O B C-x o SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC ESC O A ESC O A RET q g q C-x b RET ESC O A ESC O A ESC O B ESC O B ESC O B ESC C-x C-x b RET g ESC O A ESC O A ESC O A ESC O B RET ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M a d ; ESC [ M SPC 7 / ESC [ M # 7 / ESC u q n n n n ESC x r e p o r TAB b u DEL DEL e m a TAB b TAB RET ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-18 20:36 23.0.50; TLS infinite loop Leo @ 2007-09-18 22:20 ` Elias Oltmanns 2007-09-18 22:31 ` Leo 0 siblings, 1 reply; 10+ messages in thread From: Elias Oltmanns @ 2007-09-18 22:20 UTC (permalink / raw) To: emacs-devel Leo <sdl.web@gmail.com> wrote: > This bug takes Gnus and a Gmail account to reproduce. Well, I don't have a Gmail account but ... > > I am using Gnus 5.110007 from CVS (2007-09-10) and tls.el is from >Emacs. Are they different? I only know about emacs 22 and there tls.el is exactly the same as in the gnus trunk. > > You need to use openssl to see this problem. [...] > I tried to edebug `pop3-retr' and found out it hangs at > (pop3-read-response process) at the beginning of the function. So, what about edebugging pop3-read-response then? > > [BTW, using gnutls is even more problematic. I have reported but no >one > is fixing it. > http://news.gmane.org/group/gmane.emacs.gnus.user/thread=8526] I still don't understand what makes you so sure that this is a bug in tls.el. Honestly, try to debug pop3.el. Could it just be, for instance, that Gmail doen't send \r\n, as expected, but just \n or something of the sort. You should see what happens wen stepping through pop3-read-response. Good luck, Elias ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-18 22:20 ` Elias Oltmanns @ 2007-09-18 22:31 ` Leo 2007-09-23 21:54 ` Richard Stallman 0 siblings, 1 reply; 10+ messages in thread From: Leo @ 2007-09-18 22:31 UTC (permalink / raw) To: emacs-devel On 2007-09-18 23:20 +0100, Elias Oltmanns wrote: > Could it just be, for instance, > that Gmail doen't send \r\n, as expected, but just \n or something of > the sort. You should see what happens wen stepping through > pop3-read-response. But there is not reason for Emacs to hang because Gmail doesn't send \r\n. -- .: Leo :. [ sdl.web AT gmail.com ] .: [ GPG Key: 9283AA3F ] :. I use GNU Emacs <= http://www.gnu.org/software/emacs/ <= ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-18 22:31 ` Leo @ 2007-09-23 21:54 ` Richard Stallman 2007-09-24 0:12 ` Leo 2007-09-25 22:32 ` Leo 0 siblings, 2 replies; 10+ messages in thread From: Richard Stallman @ 2007-09-23 21:54 UTC (permalink / raw) To: Leo; +Cc: emacs-devel > Could it just be, for instance, > that Gmail doen't send \r\n, as expected, but just \n or something of > the sort. You should see what happens wen stepping through > pop3-read-response. But there is not reason for Emacs to hang because Gmail doesn't send \r\n. I agree we should fix Emacs not to hang. The question is, how to do that. Can you find out WHERE Emacs hangs? Try (setq debug-on-quit t), then making it hang, then typing C-g. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-23 21:54 ` Richard Stallman @ 2007-09-24 0:12 ` Leo 2007-09-24 18:19 ` Richard Stallman 2007-09-25 22:32 ` Leo 1 sibling, 1 reply; 10+ messages in thread From: Leo @ 2007-09-24 0:12 UTC (permalink / raw) To: rms; +Cc: emacs-devel On 2007-09-23 22:54 +0100, Richard Stallman wrote: > > Could it just be, for instance, > > that Gmail doen't send \r\n, as expected, but just \n or something of > > the sort. You should see what happens wen stepping through > > pop3-read-response. > > But there is not reason for Emacs to hang because Gmail doesn't send > \r\n. > > I agree we should fix Emacs not to hang. > The question is, how to do that. > Can you find out WHERE Emacs hangs? > Try (setq debug-on-quit t), then making it hang, then > typing C-g. Yes. I tried to edebug `pop3-retr' and found out it hangs at (pop3-read-response process) at the beginning of the function. HTH, -- .: Leo :. [ sdl.web AT gmail.com ] .: [ GPG Key: 9283AA3F ] :. I use GNU Emacs <= http://www.gnu.org/software/emacs/ <= ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-24 0:12 ` Leo @ 2007-09-24 18:19 ` Richard Stallman 2007-09-24 18:25 ` Leo 0 siblings, 1 reply; 10+ messages in thread From: Richard Stallman @ 2007-09-24 18:19 UTC (permalink / raw) To: Leo; +Cc: emacs-devel I tried to edebug `pop3-retr' and found out it hangs at (pop3-read-response process) at the beginning of the function. Leo, can you load pop3-read-response interpreted and step thru it to see precisely where and why it hangs? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-24 18:19 ` Richard Stallman @ 2007-09-24 18:25 ` Leo 2007-09-25 17:57 ` Richard Stallman 0 siblings, 1 reply; 10+ messages in thread From: Leo @ 2007-09-24 18:25 UTC (permalink / raw) To: rms; +Cc: emacs-devel On 2007-09-24 19:19 +0100, Richard Stallman wrote: > I tried to edebug `pop3-retr' and found out it hangs at > (pop3-read-response process) at the beginning of the function. > > Leo, can you load pop3-read-response interpreted and step thru it > to see precisely where and why it hangs? I step thru pop3-read-response and it is an infinite loop for me. -- .: Leo :. [ sdl.web AT gmail.com ] .: [ GPG Key: 9283AA3F ] :. Use the most powerful email client -- http://gnus.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-24 18:25 ` Leo @ 2007-09-25 17:57 ` Richard Stallman 2007-09-25 22:53 ` Leo 0 siblings, 1 reply; 10+ messages in thread From: Richard Stallman @ 2007-09-25 17:57 UTC (permalink / raw) To: Leo; +Cc: emacs-devel I step thru pop3-read-response and it is an infinite loop for me. Good. Can you show the loop that fails to exit? Can you figure out why it does not exit? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-25 17:57 ` Richard Stallman @ 2007-09-25 22:53 ` Leo 0 siblings, 0 replies; 10+ messages in thread From: Leo @ 2007-09-25 22:53 UTC (permalink / raw) To: emacs-devel On 2007-09-25 18:57 +0100, Richard Stallman wrote: > I step thru pop3-read-response and it is an infinite loop for me. > > Good. Can you show the loop that fails to exit? > Can you figure out why it does not exit? The following part of `pop3-read-response' is infinite loop because `(not (search-forward "\r\n" nil t))' is t all the time. (while (and (memq (process-status process) '(open run)) (not (search-forward "\r\n" nil t))) (pop3-accept-process-output process) (goto-char pop3-read-point)) The content of buffer " trace of POP session to pop.gmail.com" ================ +OK Gpop ready for requests from 131.111.223.202 w40pf679670ugc. +OK send PASS. +OK Welcome.. +OK 12 216024. RENEGOTIATING depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com verify error:num=27:certificate not trusted verify return:1 depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc./CN=pop.gmail.com verify error:num=21:unable to verify the first certificate verify return:1 the content of buffer *Message* ================ Result: nil Result: 108 (#o154, #x6c, ?l) [2 times] Result: #<process POP> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP> Result: nil Result: 108 (#o154, #x6c, ?l) [2 times] Result: #<process POP> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP> Result: nil Result: 108 (#o154, #x6c, ?l) [2 times] Result: #<process POP> Result: run Result: (run) Result: nil Result: t [2 times] Updating buffer list...done Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help Updating buffer list...done When done with this frame, type C-x 5 0 Stop Quit edebug-recursive-edit: Connection lost to X server `:0.0' Back to top level. When done with this frame, type C-x 5 0 gnus-group-catchup-current: No groups selected Updating buffer list...done Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help Buffer is read-only: #<buffer pop3.el> [3 times] Reading active file from news.gmane.org via nntp... Reading active file via nnml... nnml: Reading incoming mail from pop... Opening TLS connection to `pop.gmail.com'... Opening TLS connection with `openssl s_client -connect %h:%p -no_ssl2'...done Opening TLS connection to `pop.gmail.com'...done Result: #<process POP> Result: #<buffer trace of POP session to pop.gmail.com> [2 times] Result: 1 (#o1, #x1, ?\C-a) [2 times] Result: #<process POP> Result: run Result: (run) Result: 67 (#o103, #x43, ?C) Result: nil [3 times] Result: 67 (#o103, #x43, ?C) [2 times] Result: 1 (#o1, #x1, ?\C-a) [2 times] Result: nil Result: t Result: nil Result: 67 (#o103, #x43, ?C) [2 times] Result: t Result: 1 (#o1, #x1, ?\C-a) Result: 67 (#o103, #x43, ?C) Result: "+OK Gpop ready for requests from 131.111.223.202 b39pf1335478ugf.\n" [6 times] Result: #<process POP> Result: #<buffer trace of POP session to pop.gmail.com> [2 times] Result: 67 (#o103, #x43, ?C) [2 times] Result: #<process POP> Result: run Result: (run) Result: 82 (#o122, #x52, ?R) Result: nil [3 times] Result: 82 (#o122, #x52, ?R) [2 times] Result: 67 (#o103, #x43, ?C) [2 times] Result: nil Result: t Result: nil Result: 82 (#o122, #x52, ?R) [2 times] Result: t Result: 67 (#o103, #x43, ?C) Result: 82 (#o122, #x52, ?R) Result: "+OK send PASS.\n" [6 times] Back to top level. QuitError during `delete-frame': (error Invalid argument #<terminal 6> in `get-device-terminal') Note: file is write protected Please type y, n, or !: Mark set [2 times] ((pop :server "pop.gmail.com" :port 995 :user "sdl.web@googlemail.com" :password "pw")) Reading active file from news.gmane.org via nntp... Reading active file via nnml... nnml: Reading incoming mail from pop... Opening TLS connection to `pop.gmail.com'... Opening TLS connection with `openssl s_client -connect %h:%p -no_ssl2'...done Opening TLS connection to `pop.gmail.com'...done Result: #<process POP<1>> Result: #<buffer trace of POP session to pop.gmail.com> [2 times] Result: 1 (#o1, #x1, ?\C-a) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: 66 (#o102, #x42, ?B) Result: nil [3 times] Result: 66 (#o102, #x42, ?B) [2 times] Result: 1 (#o1, #x1, ?\C-a) [2 times] Result: nil Result: t Result: nil Result: 66 (#o102, #x42, ?B) [2 times] Result: t Result: 1 (#o1, #x1, ?\C-a) Result: 66 (#o102, #x42, ?B) Result: "+OK Gpop ready for requests from 131.111.223.202 w40pf679670ugc.\n" [6 times] Result: #<process POP<1>> Result: #<buffer trace of POP session to pop.gmail.com> [2 times] Result: 66 (#o102, #x42, ?B) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: 81 (#o121, #x51, ?Q) Result: nil [3 times] Result: 81 (#o121, #x51, ?Q) [2 times] Result: 66 (#o102, #x42, ?B) [2 times] Result: nil Result: t Result: nil Result: 81 (#o121, #x51, ?Q) [2 times] Result: t Result: 66 (#o102, #x42, ?B) Result: 81 (#o121, #x51, ?Q) Result: "+OK send PASS.\n" [6 times] Result: #<process POP<1>> Result: #<buffer trace of POP session to pop.gmail.com> [2 times] Result: 81 (#o121, #x51, ?Q) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: 95 (#o137, #x5f, ?_) Result: nil [3 times] Result: 95 (#o137, #x5f, ?_) [2 times] Result: 81 (#o121, #x51, ?Q) [2 times] Result: nil Result: t Result: nil Result: 95 (#o137, #x5f, ?_) [2 times] Result: t Result: 81 (#o121, #x51, ?Q) Result: 95 (#o137, #x5f, ?_) Result: "+OK Welcome..\n" [6 times] Result: #<process POP<1>> Result: #<buffer trace of POP session to pop.gmail.com> [2 times] Result: 95 (#o137, #x5f, ?_) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: 110 (#o156, #x6e, ?n) Result: nil [3 times] Result: 110 (#o156, #x6e, ?n) [2 times] Result: 95 (#o137, #x5f, ?_) [2 times] Result: nil Result: t Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Result: t Result: 95 (#o137, #x5f, ?_) Result: 110 (#o156, #x6e, ?n) Result: "+OK 12 216024.\n" [6 times] Retrieving message 1 of 12 from pop.gmail.com... Result: #<process POP<1>> Result: #<buffer trace of POP session to pop.gmail.com> [2 times] Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Updating buffer list...done Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help Result: nil Type C-x 4 C-o RET to restore the other window. Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Result: #<process POP<1>> Result: run Result: (run) Result: nil Result: t [2 times] Result: #<process POP<1>> Result: nil Result: 110 (#o156, #x6e, ?n) [2 times] Mark set Retrieving newsgroup: gmane.emacs.devel... Mark set [5 times] Auto-saving...done Mark set [2 times] Auto-saving...done Updating buffer list...done Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help Mark set [2 times] Quit Updating buffer list...done Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help Quit Type C-x 1 to remove help window. Auto-saving...done Quit Type C-x 1 to remove help window. " trace of POP session to pop.gmail.com" 1 line copied Mark set Auto-saving...done Quit ================================ HTH, -- .: Leo :. [ sdl.web AT gmail.com ] .: [ GPG Key: 9283AA3F ] :. Use the most powerful email client -- http://gnus.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 23.0.50; TLS infinite loop 2007-09-23 21:54 ` Richard Stallman 2007-09-24 0:12 ` Leo @ 2007-09-25 22:32 ` Leo 1 sibling, 0 replies; 10+ messages in thread From: Leo @ 2007-09-25 22:32 UTC (permalink / raw) To: emacs-devel On 2007-09-23 22:54 +0100, Richard Stallman wrote: > > Could it just be, for instance, > > that Gmail doen't send \r\n, as expected, but just \n or something of > > the sort. You should see what happens wen stepping through > > pop3-read-response. > > But there is not reason for Emacs to hang because Gmail doesn't send > \r\n. > > I agree we should fix Emacs not to hang. > The question is, how to do that. > Can you find out WHERE Emacs hangs? > Try (setq debug-on-quit t), then making it hang, then > typing C-g. Debugger entered--Lisp error: (quit) accept-process-output(#<process POP> 0 100) pop3-accept-process-output(#<process POP>) pop3-read-response(#<process POP>) pop3-retr(#<process POP> 1 #<buffer *pop3-retr*>) pop3-movemail("~/.emacs-mail-crash-box") mail-source-fetch-pop((pop :server "pop.gmail.com" :port 995 :user "sdl.web@googlemail.com" :password "pw") #[(file orig-file) "Â\bÃÄ\b .?...Å Æ\"Ç%." [file orig-file nnmail-split-incoming nnml-save-mail nil nnmail-get-split-group (pop :server "pop.gmail.com" :port 995 :user "sdl.web@googlemail.com" :password "pw") nnml-active-number] 7]) mail-source-fetch((pop :server "pop.gmail.com" :port 995 :user "sdl.web@googlemail.com" :password "pw") #[(file orig-file) "Â\bÃÄ\b .?...Å Æ\"Ç%." [file orig-file nnmail-split-incoming nnml-save-mail nil nnmail-get-split-group (pop :server "pop.gmail.com" :port 995 :user "sdl.web@googlemail.com" :password "pw") nnml-active-number] 7]) nnmail-get-new-mail(nnml nnml-save-nov "/home/leo/GNUS/Mail" nil) nnml-request-scan(nil "") gnus-request-scan(nil (nnml "")) gnus-read-active-file-1((nnml "") nil) gnus-read-active-file() gnus-group-get-new-news(nil) call-interactively(gnus-group-get-new-news) -- .: Leo :. [ sdl.web AT gmail.com ] .: [ GPG Key: 9283AA3F ] :. Use the most powerful email client -- http://gnus.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-09-25 22:53 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-09-18 20:36 23.0.50; TLS infinite loop Leo 2007-09-18 22:20 ` Elias Oltmanns 2007-09-18 22:31 ` Leo 2007-09-23 21:54 ` Richard Stallman 2007-09-24 0:12 ` Leo 2007-09-24 18:19 ` Richard Stallman 2007-09-24 18:25 ` Leo 2007-09-25 17:57 ` Richard Stallman 2007-09-25 22:53 ` Leo 2007-09-25 22:32 ` Leo
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.