* bug#22609: 24.5; Different Font display for windows32 implementation @ 2016-02-09 20:29 Matthew Fidler 2016-02-10 0:00 ` Andy Moreton ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Matthew Fidler @ 2016-02-09 20:29 UTC (permalink / raw) To: 22609 [-- Attachment #1: Type: text/plain, Size: 10152 bytes --] Under windows32 individual glyphs from a font are not displayed in the mode line (or the header-line). How to reproduce: Download github-octicons (https://octicons.github.com/) Evaluate the following (defvar mode-icons-octicons-font (find-font (font-spec :name "github-octicons"))) (setq test (propertize "test" 'display (make-string 1 #xf0c9) 'font 'mode-icons-octicons-font)) (setq header-line-format test mode-name test) (force-mode-line-update) The header-line and footer-line should have a markdown-symbol in it. On Cygwin and linux, these show the markdown symbol. On windows 32 emacs, it shows a missing glyph. I wanted to add this to mode-icons: https://github.com/ryuslash/mode-icons/issues/4 Matt In GNU Emacs 24.5.1 (i686-pc-mingw32) of 2015-04-11 on LEG570 Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=/c/usr --host=i686-pc-mingw32' Important settings: value of $EMACSDATA: C:\tmp\EmacsPortable.App\App\eps\..\emacs-24.5\share\emacs\24.5\etc value of $EMACSDOC: C:\tmp\EmacsPortable.App\App\eps\..\emacs-24.5\share\emacs\24.5\etc value of $EMACSLOADPATH: C:\tmp\EmacsPortable.App\App\eps\..\site-lisp;C:\tmp\EmacsPortable.App\App\eps\..\emacs-24.5\share\emacs\24.5\lisp value of $LANG: ENU locale-coding-system: cp1252 Major mode: EsN Minor modes in effect: auto-complete-mode: t diff-auto-refine-mode: t magit-auto-revert-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t auto-highlight-symbol-mode: (markdown-mode-hook prog-mode-hook) fci-mode: (prog-mode-hook) Info-breadcrumbs-in-mode-line-mode: t delete-selection-mode: t yas-global-mode: t yas-minor-mode: t global-subword-mode: t subword-mode: t global-linum-mode: t linum-mode: t savehist-mode: t xterm-mouse-mode: t global-page-break-lines-mode: t guide-key-mode: t global-anzu-mode: t anzu-mode: t show-smartparens-global-mode: t show-smartparens-mode: t smartparens-global-mode: t smartparens-mode: t global-flycheck-mode: t flycheck-mode: t golden-ratio-mode: t keyfreq-autosave-mode: t keyfreq-mode: t flx-ido-mode: t ido-vertical-mode: t ido-ubiquitous-mode: t global-undo-tree-mode: t undo-tree-mode: t tabbar-mwheel-mode: t tabbar-mode: t ergoemacs-mode: t mode-icons-mode: t ido-everywhere: t shell-dirtrack-mode: t recentf-mode: t tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent messages: Mark saved where search started Mark set [2 times] Saving file m:/Work/0165/Model/pataday-vs-pazeo/nonmem/mod138.mod... spot 1 [22 times] Found Option file [2 times] Finished automatically updating portions of the file (headers etc...) Wrote m:/Work/0165/Model/pataday-vs-pazeo/nonmem/mod138.mod [EsN] esn-extended loaded in 682.604000 seconds, 13839.459000 seconds elapsed since initial load Found Option FILE [2 times] Error running timer `keyfreq-autosave--do': (end-of-file) Load-path shadows: c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/helm-20151126.607/helm-multi-match hides c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/helm-core-20151123.253/helm-multi-match c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/magit-20160119.1409/magit-popup hides c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/magit-popup-20160119.1409/magit-popup c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/tabbar-20141109.143/tabbar hides e:/EmacsPortable.App/Data/src/tabbar-ruler.el/tabbar c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/powerline-20150628.1957/powerline hides e:/EmacsPortable.App/Data/src/tabbar-ruler.el/powerline c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/powerline-20150628.1957/powerline-themes hides e:/EmacsPortable.App/Data/src/tabbar-ruler.el/powerline-themes c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/powerline-20150628.1957/powerline-separators hides e:/EmacsPortable.App/Data/src/tabbar-ruler.el/powerline-separators c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/tabbar-ruler-20150828.1439/tabbar-ruler hides e:/EmacsPortable.App/Data/src/tabbar-ruler.el/tabbar-ruler c:/tmp/EmacsPortable.App/Data/start/EmacsMate/elpa/mode-icons-20130602.548/mode-icons hides e:/EmacsPortable.App/Data/src/mode-icons/mode-icons Features: (shadow sort mail-extr emacsbug sendmail mc-mark-more etags esn-nm-cookies-help-THE-6 esn-records-help-THE-6 face-remap mc-edit-lines multiple-cursors-core rect drag-stuff esn-coding esn-plt esn-project align esn-cui esn-company flymake esn-ac esn-ac-sources esn-xpose esn-extended esn-vc esn-mode esn-completion esn-tab-pred esn-help esn-yas esn-exec esn-toolbar esn-input esn-hide esn-align esn-fontlock esn-link esn-narrow esn-indent esn-dnd esn-imenu esn-advices esn-keys-menu esn-80 esn-properties esn-tables esn-templates esn-version-switch esn-nm-vars-6 esn-nm-cookies-help-records-6 esn-nm-cookies-complete-6 esn-nm-cookies-6 esn-update esn-magic-keys esn-nm-cookies-help-SUB-7 esn-records-help-SUB-7 esn-macros esn-options esn-options-header-universal esn-vars esn-reg esn-fun esn-which esn-rec-hooks esn-start auto-complete popup esn-autoloads org-table imenu ess-eldoc ess-toolbar ess-mouse mouseme ess-menu ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6w-d ess-sp3-d ess-julia julia-mode ert ewoc debug ess-r-d ess-r-syntax ess-r-completion ess-tracebug ess-roxy hideshow ess-help ess-developer ess-s-l ess-site tabify modula2 smie magit-gh-pulls gh gh-users gh-issues gh-pulls gh-repos gh-gist gh-oauth gh-api logito gh-cache pcache eieio-base gh-auth gh-common gh-url url-http tls url url-proxy url-privacy url-expand url-methods url-history mailcap url-auth url-cookie url-domsuf url-util url-gw gh-profile url-parse url-vars json magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit magit-apply magit-wip magit-log magit-diff smerge-mode diff-mode magit-core magit-autorevert autorevert filenotify magit-process magit-popup magit-mode magit-git crm magit-section magit-utils git-commit with-editor async-bytecomp async tramp-sh expand-region text-mode-expansions the-org-mode-expansions html-mode-expansions er-basic-expansions expand-region-core expand-region-custom misearch multi-isearch log-edit message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log vc vc-dispatcher pcase eldoc avy org-indent org-element org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view image-mode org-bibtex bibtex org-bbdb org-w3m auto-highlight-symbol rainbow-mode volatile-highlights rainbow-delimiters evil-numbers fill-column-indicator info+ dired+ image-dired image-file dired-x dired-aux dired linum-off ruler-mode delsel extend-dnd yasnippet vc-git conf-mode solarized-light-theme org-clock ob-clojure ob-haskell ob-js ob-python ob-ruby ob-perl ob-plantuml ob-R ob-sh superword subword linum savehist xt-mouse page-break-lines guide-key s ucs-normalize popwin anzu mule-util smartparens-config smartparens-html smartparens thingatpt flycheck rx subr-x seq golden-ratio ess-smart-underscore ess ess-inf compile ess-mode ess-noweb-mode ess-utils ess-custom executable ess-compat solarized-theme solarized dash keyfreq flx-ido flx smex ido-vertical-mode ido-ubiquitous ido-completing-read+ undo-tree diff unicode-fonts org-outlook org-protocol info flyspell rw-hunspell rw-ispell ispell rw-language-and-country-codes o-blog o-blog-bootstrap o-blog-i18n o-blog-grid o-blog-source o-blog-alert org org-macro org-footnote org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp org-loaddefs cal-menu calendar cal-loaddefs time-stamp html2text sgml-mode ob-ditaa ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs browse-url maxframe w32-fullscreen epshell ergoemacs-config tabbar-ruler powerline powerline-separators color powerline-themes tabbar easy-mmode jka-compr ergoemacs-themes edmacro two-column kmacro cus-edit cus-start cus-load ergoemacs-translate ergoemacs-theme-engine ergoemacs-mapkeymap ergoemacs-map-properties ergoemacs-map ergoemacs-lib ergoemacs-macros ergoemacs-layouts ergoemacs-key-description descr-text ergoemacs-functions ergoemacs-component find-func help-mode ergoemacs-advice warnings ergoemacs-command-loop package epg-config ergoemacs-mode mode-icons ido tramp tramp-compat auth-source eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core gnus-util mm-util mail-prsvr password-cache tramp-loaddefs trampver shell pcomplete comint ansi-color ring format-spec server recentf tree-widget wid-edit easymenu advice help-fns cl-macs cl gv cl-loaddefs cl-lib time-date tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process w32notify w32 multi-tty emacs) Memory information: ((conses 8 2156755 1142033) (symbols 32 64770 1) (miscs 32 4095 5374) (strings 16 508367 32992) (string-bytes 1 7433752) (vectors 8 144440) (vector-slots 4 4081495 483164) (floats 8 18078 13283) (intervals 28 74572 11511) (buffers 508 61)) [-- Attachment #2: Type: text/html, Size: 12693 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#22609: 24.5; Different Font display for windows32 implementation 2016-02-09 20:29 bug#22609: 24.5; Different Font display for windows32 implementation Matthew Fidler @ 2016-02-10 0:00 ` Andy Moreton 2016-02-10 17:47 ` Eli Zaretskii 2016-02-10 3:32 ` bug#22609: Code points Matthew Fidler 2016-02-10 17:43 ` bug#22609: 24.5; Different Font display for windows32 implementation Eli Zaretskii 2 siblings, 1 reply; 8+ messages in thread From: Andy Moreton @ 2016-02-10 0:00 UTC (permalink / raw) To: 22609 On Tue 09 Feb 2016, Matthew Fidler wrote: > Under windows32 individual glyphs from a font are not displayed in the mode > line (or the header-line). > > How to reproduce: > > Download github-octicons (https://octicons.github.com/) > > Evaluate the following > > (defvar mode-icons-octicons-font > (find-font (font-spec :name "github-octicons"))) > > (setq test (propertize "test" 'display (make-string 1 #xf0c9) 'font > 'mode-icons-octicons-font)) That codepoint is in the private-use area of Unicode, so I woud not expct it to work (however I am far from expert in this area). You may need to add the font to a fontset for the needed range of codepoints. For example, adding this to default fontset shows the desired character in the header line: (set-fontset-font t '(#xf000 . #xf0e7) (font-spec :name "github-octicons")) AndyM ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#22609: 24.5; Different Font display for windows32 implementation 2016-02-10 0:00 ` Andy Moreton @ 2016-02-10 17:47 ` Eli Zaretskii 0 siblings, 0 replies; 8+ messages in thread From: Eli Zaretskii @ 2016-02-10 17:47 UTC (permalink / raw) To: Andy Moreton; +Cc: 22609 > From: Andy Moreton <andrewjmoreton@gmail.com> > Date: Wed, 10 Feb 2016 00:00:34 +0000 > > That codepoint is in the private-use area of Unicode, so I woud not > expct it to work (however I am far from expert in this area). As I wrote elsewhere, this is true. That font does quite a few things Emacs doesn't like. > You may need to add the font to a fontset for the needed range of > codepoints. > > For example, adding this to default fontset shows the desired character > in the header line: > > (set-fontset-font t '(#xf000 . #xf0e7) (font-spec :name "github-octicons")) Yes, this is the solution in such cases. Thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#22609: Code points 2016-02-09 20:29 bug#22609: 24.5; Different Font display for windows32 implementation Matthew Fidler 2016-02-10 0:00 ` Andy Moreton @ 2016-02-10 3:32 ` Matthew Fidler 2016-02-10 17:43 ` bug#22609: 24.5; Different Font display for windows32 implementation Eli Zaretskii 2 siblings, 0 replies; 8+ messages in thread From: Matthew Fidler @ 2016-02-10 3:32 UTC (permalink / raw) To: 22609 [-- Attachment #1: Type: text/plain, Size: 355 bytes --] You're right it's a private code base. I'm assuming if I run that code, it remaps everywhere. If would like to use github fonts and font awesome fonts and they share the same character then I would have to choose one glyph. Is that correct? However, on Linux/Cygwin such mapping is not necessary. All that is necessary is to declare the font. Matt [-- Attachment #2: Type: text/html, Size: 443 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#22609: 24.5; Different Font display for windows32 implementation 2016-02-09 20:29 bug#22609: 24.5; Different Font display for windows32 implementation Matthew Fidler 2016-02-10 0:00 ` Andy Moreton 2016-02-10 3:32 ` bug#22609: Code points Matthew Fidler @ 2016-02-10 17:43 ` Eli Zaretskii 2016-02-11 14:27 ` Matthew Fidler 2019-11-17 6:49 ` Lars Ingebrigtsen 2 siblings, 2 replies; 8+ messages in thread From: Eli Zaretskii @ 2016-02-10 17:43 UTC (permalink / raw) To: Matthew Fidler; +Cc: 22609 > From: Matthew Fidler <matthew.fidler@gmail.com> > Date: Tue, 09 Feb 2016 20:29:52 +0000 > > Download github-octicons (https://octicons.github.com/) > > Evaluate the following > > (defvar mode-icons-octicons-font > (find-font (font-spec :name "github-octicons"))) > > (setq test (propertize "test" 'display (make-string 1 #xf0c9) 'font 'mode-icons-octicons-font)) > > (setq header-line-format test > mode-name test) > (force-mode-line-update) > > The header-line and footer-line should have a markdown-symbol in it. On Cygwin and linux, these show the markdown symbol. On windows 32 emacs, it shows a missing glyph. This font uses codepoints in the Private Use Area (PUA) block of Unicode, but it doesn't declare coverage of that block (or any block, really) in its headers. Emacs on Windows requires that a font declares support for a block before it will consider it for displaying characters in that block. It also doesn't like fonts that don't support any Unicode block at all, which is what this font does. If the font declared coverage of PUA, it could have made sense to try introducing the notion of PUA pseudo-script into Emacs (something we don't have today), and then use such a font for characters in PUA blocks. But since the font doesn't declare any coverage, doing that won't help. > You're right it's a private code base. I'm assuming if I run that code, it remaps everywhere. If would like to use github fonts and font awesome fonts and they share the same character then I would have to choose one glyph. Is that correct? Yes, that's correct. Fonts that use PUA blocks are problematic because when they use the same codepoint for different glyphs, Emacs will select one of them at random, unless you tell it which one to select by customizing your fontset. And that only works well if you don't need both glyphs in some situation. So I think that, in general, when you want to use such a font, you must do what Andy suggested, because Emacs is clueless: these codepoints don't tell to which character set or script they belong, they don't tell anything about their properties, etc. Emacs needs help. You can make that setting part of your mode, and it will work on all systems. > However, on Linux/Cygwin such mapping is not necessary. All that is necessary is to declare the font. I think that's sheer luck, and will likely stop working once you have more than one font that covers the same codepoints. Btw, I don't really understand why you need this in Emacs. I'm guessing that you do it because you actually want to display some icon on the mode line. But Emacs can display images on the mode line without any PUA fonts: just create image files out of those glyphs, and use them directly. Emacs doesn't need such "poor man's images". That should fix your problems, I think. Thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#22609: 24.5; Different Font display for windows32 implementation 2016-02-10 17:43 ` bug#22609: 24.5; Different Font display for windows32 implementation Eli Zaretskii @ 2016-02-11 14:27 ` Matthew Fidler 2016-02-11 20:54 ` Eli Zaretskii 2019-11-17 6:49 ` Lars Ingebrigtsen 1 sibling, 1 reply; 8+ messages in thread From: Matthew Fidler @ 2016-02-11 14:27 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 22609 [-- Attachment #1: Type: text/plain, Size: 3414 bytes --] I thought that I declared what font to use by declaring the 'font property, so it would not be ambiguous to emacs what font to display the glyph with. As a test, I decided to try webdings as a font. As you said, emacs doesn't allow display of the "a" character in both webdings (a checkbox) and whatever font I'm using. I guess that cygwin may have done the display by luck. Matt On Wed, Feb 10, 2016 at 11:44 AM Eli Zaretskii <eliz@gnu.org> wrote: > > From: Matthew Fidler <matthew.fidler@gmail.com> > > Date: Tue, 09 Feb 2016 20:29:52 +0000 > > > > Download github-octicons (https://octicons.github.com/) > > > > Evaluate the following > > > > (defvar mode-icons-octicons-font > > (find-font (font-spec :name "github-octicons"))) > > > > (setq test (propertize "test" 'display (make-string 1 #xf0c9) 'font > 'mode-icons-octicons-font)) > > > > (setq header-line-format test > > mode-name test) > > (force-mode-line-update) > > > > The header-line and footer-line should have a markdown-symbol in it. On > Cygwin and linux, these show the markdown symbol. On windows 32 emacs, it > shows a missing glyph. > > This font uses codepoints in the Private Use Area (PUA) block of > Unicode, but it doesn't declare coverage of that block (or any block, > really) in its headers. Emacs on Windows requires that a font > declares support for a block before it will consider it for displaying > characters in that block. It also doesn't like fonts that don't > support any Unicode block at all, which is what this font does. > > If the font declared coverage of PUA, it could have made sense to try > introducing the notion of PUA pseudo-script into Emacs (something we > don't have today), and then use such a font for characters in PUA > blocks. But since the font doesn't declare any coverage, doing that > won't help. > > > You're right it's a private code base. I'm assuming if I run that > code, it remaps everywhere. If would like to use github fonts and font > awesome fonts and they share the same character then I would have to choose > one glyph. Is that correct? > > Yes, that's correct. Fonts that use PUA blocks are problematic > because when they use the same codepoint for different glyphs, Emacs > will select one of them at random, unless you tell it which one to > select by customizing your fontset. And that only works well if you > don't need both glyphs in some situation. > > So I think that, in general, when you want to use such a font, you > must do what Andy suggested, because Emacs is clueless: these > codepoints don't tell to which character set or script they belong, > they don't tell anything about their properties, etc. Emacs needs > help. You can make that setting part of your mode, and it will work > on all systems. > > > However, on Linux/Cygwin such mapping is not necessary. All that is > necessary is to declare the font. > > I think that's sheer luck, and will likely stop working once you have > more than one font that covers the same codepoints. > > Btw, I don't really understand why you need this in Emacs. I'm > guessing that you do it because you actually want to display some icon > on the mode line. But Emacs can display images on the mode line > without any PUA fonts: just create image files out of those glyphs, > and use them directly. Emacs doesn't need such "poor man's images". > That should fix your problems, I think. > > Thanks. > [-- Attachment #2: Type: text/html, Size: 4289 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#22609: 24.5; Different Font display for windows32 implementation 2016-02-11 14:27 ` Matthew Fidler @ 2016-02-11 20:54 ` Eli Zaretskii 0 siblings, 0 replies; 8+ messages in thread From: Eli Zaretskii @ 2016-02-11 20:54 UTC (permalink / raw) To: Matthew Fidler; +Cc: 22609 > From: Matthew Fidler <matthew.fidler@gmail.com> > Date: Thu, 11 Feb 2016 14:27:12 +0000 > Cc: 22609@debbugs.gnu.org > > I thought that I declared what font to use by declaring the 'font property, so it would not be ambiguous to > emacs what font to display the glyph with. There is not 'font' property, AFAIK. Perhaps you meant to define a face that uses the font? That's not what your Lisp does, AFAIU. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#22609: 24.5; Different Font display for windows32 implementation 2016-02-10 17:43 ` bug#22609: 24.5; Different Font display for windows32 implementation Eli Zaretskii 2016-02-11 14:27 ` Matthew Fidler @ 2019-11-17 6:49 ` Lars Ingebrigtsen 1 sibling, 0 replies; 8+ messages in thread From: Lars Ingebrigtsen @ 2019-11-17 6:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Matthew Fidler, 22609 Eli Zaretskii <eliz@gnu.org> writes: > So I think that, in general, when you want to use such a font, you > must do what Andy suggested, because Emacs is clueless: these > codepoints don't tell to which character set or script they belong, > they don't tell anything about their properties, etc. Emacs needs > help. You can make that setting part of your mode, and it will work > on all systems. So this doesn't seem like a bug in Emacs, and I'm closing this bug report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-11-17 6:49 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-02-09 20:29 bug#22609: 24.5; Different Font display for windows32 implementation Matthew Fidler 2016-02-10 0:00 ` Andy Moreton 2016-02-10 17:47 ` Eli Zaretskii 2016-02-10 3:32 ` bug#22609: Code points Matthew Fidler 2016-02-10 17:43 ` bug#22609: 24.5; Different Font display for windows32 implementation Eli Zaretskii 2016-02-11 14:27 ` Matthew Fidler 2016-02-11 20:54 ` Eli Zaretskii 2019-11-17 6:49 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).