From: Arthur Miller <arthur.miller@live.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Gregory Heytings <ghe@sdf.org>, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Emacs Survey: Toolbars
Date: Tue, 22 Dec 2020 18:52:48 +0100 [thread overview]
Message-ID: <AM0PR06MB65773FF757024A9F8B20B77596DF0@AM0PR06MB6577.eurprd06.prod.outlook.com> (raw)
In-Reply-To: <83k0t9rfj5.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 22 Dec 2020 18:06:54 +0200")
[-- Attachment #1: Type: text/plain, Size: 3616 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Tue, 22 Dec 2020 11:03:04 +0000
>> Cc: emacs-devel@gnu.org
>> From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
>>
>> > I've been trying for more than 10 years to urge people to work toward
>> > giving Emacs the document capabilities of a word processor, but I have
>> > not convinced people to do this work.
>> What do you mean by this? I'm probably biased, but I don't see what
>> important "capability of a word processor" is lacking in Emacs.
Personally I think Emacs is half-wysiwyg, or more then half by now. I
think there are almost all tools needed to implement a word processor a
lá Word already in Emacs; I think there is just some minor details
needed; like renderer that can draw efficient representation of a page
below a buffer text (a rectangle) and to tie the text editing stuff to
pixels rather then columns. I was experimenting with modelling a page in
Emacs in context of some other discussion, and that was what I found a
tad bit awkward.
But I am bad at Elisp, and what Emacs already has, so hopefully Eli will
step in and say: "we already have this."
To explain myself:
A word processor usually has some representation of page in paper
format. We can modell a page easily as a region; but it would take
work to implement text processing functions to work with "pages" (insert,
delete etc). It is not hard part, it is just labourous. Problem is when
presenting an empty page to the user to work with in Emacs windows. There is
need to draw some kind of rectangle representing page and user would
type in text above it. Emacs renderer has svg which can render
rectangles fast, but can it render below the buffer text? If it can then
you have everythign needed. I don't know how to do it though.
It is also a bit awkward to work with window-text-pixel-size and
window-lines-pixel-dimensions because they need a text to being able to
calculate something. When buffer is empty, there is nothing to
calculate. There is need to tell Emacs: "I wish a buffer of this pixel
width and height". In some way. That is what I have seen as a problem,
but it is maybe possible, I am just not aware of funcionality I can use.
I have made a small demo, just roughly modelling a page. To overcome the
need for content in buffer in order to display something, the idea was to
insert "filler-spaces" so I could have something for renderer to
display. I ment to see if I can implement same behaviour as Emacs does
for invisible text: to restrict cursor motion into filler-spaces. But
I never come to that part. The idea was also to model columns, headers,
footers etc just regions in a buffer and to adjust insertion/deletion
routines for "page-mode" so cursor movement, and all the other editing
would look like in a word processor. For example deleteion would delete
a character but insert a filler-character, insertion would insert a
character but delete a filler-character and so on.
I think it is possible, it is just lots of labour I don't have time for
tht myself.
For illustration purpose I have attached the demo I worked on if anyone
would like to look at it, maybe continue or maybe just get an idea how
to implement it more efficiently. Paper size database has to be
evaluated forst, then page.el. It was just a small test I never got back
to, so take it just as a small illustration. Demo is font dependent so
with of the rendered page will depend on what font Emacs uses to
calculate (whatever is default). On my machine it is Anonymous Pro.
[-- Attachment #2: page.el --]
[-- Type: text/plain, Size: 6605 bytes --]
;;; page.el --- -*- lexical-binding: t; -*-
;; Copyright (C) 2020 Arthur Miller
;; Author: Arthur Miller <arthur.miller@live.com>
;; Keywords:
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; documnet is just a plain buffer with bunch of local variables
;;
;; page, footer, header and clientarea are ranges between points in the
;; buffer
;; (bopp) (eopp) (bohp) (eohp) (bocp) (eocp) <- similar as (bobp) (eobp)
;;
;; currently footer and header are global for all pages; it would be easy to
;; make them page-unique; just not done currently
;;
;;; Code:
(require 'svg)
(require 'paper-size-iso)
(defface fill-face
'((t :foreground "white" :background "white" :box "white" :height 100))
"Default face for document background" :group 'doc)
(defface page-break-face
'((t :foreground "grey" :background "grey" :box "grey"))
"Default face for page breaks" :group 'doc)
(defun doc-page-break (doc)
(let ((svg) (w) (h))
(with-current-buffer (get-buffer doc)
(unless pagebreak-svg
(setq w page-pixel-width
h (window-font-height nil 'fill-face))
(message "W: %s H: %s" w h)
(setq svg (svg-create w h))
(svg-rectangle svg 0 0 w h :fill "grey")
(setq pagebreak-svg (svg-image svg :ascent 'center)))
pagebreak-svg)))
(defun doc-new (&optional title)
(interactive)
(unless title
(setq title "New Document"))
(let ((doc (generate-new-buffer title)))
(with-current-buffer (get-buffer-create doc)
(setq screen-res 96
print-res 300
format 'A4
orientation 'portrait
pages 1
current-page 0
page-rows 0
page-cols 0
header nil
footer nil
document (current-buffer)
pagebreak-svg nil
real-pixel-width 0
page-pixel-width 0
page-pixel-height 0)
(make-local-variable 'document)
(make-local-variable 'title)
(make-local-variable 'screen-res)
(make-local-variable 'print-res)
(make-local-variable 'format)
(make-local-variable 'orientation)
(make-local-variable 'pages)
(make-local-variable 'current-page)
(make-local-variable 'page-pixel-width)
(make-local-variable 'page-pixel-height)
(make-local-variable 'page-rows)
(make-local-variable 'page-cols)
(make-local-variable 'real-pixel-width)
(make-local-variable 'header)
(make-local-variable 'footer)
(make-local-variable 'pagebreak-svg)
(let ((dims (paper-size-iso-in-to-pixels format screen-res)))
(setq page-pixel-width (car dims))
(setq page-pixel-height (cdr dims))))
(switch-to-buffer doc)
(doc-insert-page doc (point-min))
document))
(defun doc-append-page ()
"Append a new page at the end"
(interactive)
(with-current-buffer (buffer-name)
(doc-insert-page (buffer-name) (point-max))))
(defun doc-insert-pagebreak (buffer point)
(with-current-buffer buffer
(goto-char point)
(setq real-pixel-width
(car (window-text-pixel-size
nil (beginning-of-line) (end-of-line))))
(insert ?\n)
;; (insert ?\^L)
;; (set-text-properties (line-beginning-position) (line-end-position)
;; `(face nil display ,(doc-page-break buffer)))
;; (newline)
))
(defun doc-insert-footer (buffer point)
(save-excursion
(with-current-buffer buffer
(goto-char point)
(insert (buffer-substring (car footer) (cdr footer))))))
(defun doc-insert-header (buffer point)
(save-excursion
(with-current-buffer buffer
(goto-char point)
(insert (buffer-substring (car header) (cdr header))))))
(defun doc-insert-page (buffer point)
"Insert page at point."
(with-current-buffer buffer
(hl-line-mode -1)
(auto-fill-mode -1)
(goto-char point)
;; Emacs needs a live window to calculate pixel sizes
;; so we have to calculate stuff when first page is shown
(if (= 0 current-page)
(let* ((w 0) (h 0) (space-width) (space-height) (d)
(font-width (window-font-width nil 'fill-face))
(font-height (window-font-height nil 'fill-face)))
(insert ?\s)
(set-text-properties point (point-max) '(face fill-face))
(setq space-width (car (window-text-pixel-size
nil (beginning-of-line) (end-of-line))))
(setq space-height (cdr (window-text-pixel-size
nil (beginning-of-line) (end-of-line))))
(setq cols (truncate (fround (/ page-pixel-width font-width))))
(setq rows (truncate (fround (/ page-pixel-height font-height))))
(setq cols (+ cols (truncate (/ 158 font-width)))) ;; some nasty magick here
(delete-backward-char 1)
(setq page-cols cols page-rows rows)
(while (< h rows)
(self-insert-command cols ?\s)
(setq h (+ h 1))
(newline)))
(progn ;; we already have page dimensions
(doc-insert-pagebreak buffer (point))
(setq point (point))
(dotimes (i page-rows)
(self-insert-command page-cols ?\s)
(newline))))
(set-text-properties point (point-max) '(face fill-face))
(setq current-page (+ current-page 1))
;;(setq pages (append pages (list point (- (point-max) 1))))
))
(defun buffer-document (&optional buffer)
(unless buffer
(setq buffer (buffer-name)))
(with-current-buffer (get-buffer buffer)
document))
(defun doc-set-footer (begin end)
"Set current region as footer."
(interactive "r")
(with-current-buffer (buffer-document)
(setq footer (cons begin end))))
(defun doc-set-header (begin end)
"Set current region as header."
(interactive "r")
(with-current-buffer (buffer-document)
(setq header (cons begin end))))
(provide 'page)
;;; page.el ends here
[-- Attachment #3: paper-size-iso.el --]
[-- Type: text/plain, Size: 7136 bytes --]
;;; paper-size-iso-us.el --- -*- lexical-binding: t; -*-
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;;
;;; References:
;; http://www.printernational.org/iso-paper-sizes.php
;; https://papersizes.io/a/
;; https://en.wikipedia.org/wiki/Pixel_density
;; https://blog.gimm.io/difference-between-pixel-px-and-point-pt-font-sizes-in-email-signatures/
;; https://honeywellaidc.force.com/supportppr/s/article/How-to-convert-inches-in-dots
;; https://www.shutterstock.com/blog/inches-to-pixels-resize-image-quality
;; https://www.shutterstock.com/blog/ppi-vs-dpi-resolution-guidex
;; https://www.pixelsconverter.com/
(defvar paper-size-iso '(;; Size Width x Height(mm) Width x Height(in)
(4A0 . [1682 2378 66.2 93.6 ])
(2A0 . [1189 1682 46.8 66.2 ])
(A0 . [841 1189 33.1 46.8 ])
(A1 . [594 841 23.4 33.1 ])
(A2 . [420 594 16.5 23.4 ])
(A3 . [297 420 11.7 16.5 ])
(A4 . [210 297 8.3 11.7 ])
(A5 . [148 210 5.8 8.3 ])
(A6 . [105 148 4.1 5.8 ])
(A7 . [74 105 2.9 4.1 ])
(A8 . [52 74 2.0 2.9 ])
(A9 . [37 52 1.5 2.0 ])
(A10 . [26 37 1.0 1.5 ])
(A11 . [18 26 0.7 1 ])
(A12 . [13 18 0.5 0.7 ])
(A13 . [9 13 0.4 0.5 ])
(2A0 . [1189 1682 46.8 66.2 ])
(4A0 . [1682 2378 66.2 93.6 ])
(A0+ . [914 1292 36 50.9 ])
(A1+ . [609 914 24 36 ])
(A3+ . [329 483 13 19 ])
(A2-extra . [445 619 17.51 24.3 ])
(A3-extra . [322 445 12.67 17.51])
(A3-Super . [305 508 12 20 ])
(Super-A3 . [305 487 12 19.17])
(A4-extra . [235 322 9.25 12.67])
(A4-Super . [229 322 9.25 12.67])
(Super-A4 . [227 356 8.93 14.01])
(A4-Long . [210 348 8.26 13.7 ])
(A5-extra . [173 235 8.26 9.25 ])
(SO-B5-extra . [202 276 7.95 10.86])
(B0 . [1000 1414 33.37 55.67])
(B1 . [707 1000 27.84 39.37])
(B2 . [500 707 19.69 27.84])
(B3 . [353 500 13.9 19.69])
(B4 . [250 352 9.84 13.9 ])
(B5 . [176 250 6.93 9.84 ])
(B6 . [125 176 4.92 6.93 ])
(B7 . [88 125 3.47 4.92 ])
(B8 . [62 88 2.44 3.47 ])
(B9 . [44 62 1.73 2.44 ])
(B10 . [31 44 1.22 1.73 ])
(B11 . [22 31 0.9 1.2 ])
(B12 . [15 22 0.6 0.9 ])
(B13 . [11 15 0.4 0.6 ])
(B0+ . [1118 1580 44 62.2 ])
(B1+ . [720 1020 28.3 40.2 ])
(B2+ . [520 720 20.5 28.3 ])
(C0 . [917 1297 36.12 51.6 ])
(C1 . [648 917 25.50 36.12])
(C2 . [458 648 18 25.50])
(C3 . [324 458 12.75 18 ])
(C4 . [229 324 9 12.75])
(C5 . [162 229 6.38 9 ])
(C6 . [114 162 4.5 6.38 ])
(C7 . [81 114 3.19 4.5 ])
(C8 . [57 81 2.2 3.2 ])
(C9 . [40 57 1.6 2.2 ])
(C10 . [28 40 1.1 1.6 ])
(C6/C5 . [229 114 9 4.5 ])
(C7/C6 . [81 162 3.19 6.38 ])
(DL . [110 220 4.32 8.69 ])
(E4 . [400 280 15.7 11 ])
))
(defun paper-size-dimensions (format)
"Return dimensions in inch for given FORMAT as specified in ISO standard for
paper sizes."
(cdr (assoc format paper-size-iso)))
(defun paper-size-iso-mm-to-pixels (format resolution)
(let* ((dims (paper-size-dimensions format))
(width (aref dims 0))
(height (aref dims 1)))
(paper-size-pixels width height 'mm resolution)))
(defun paper-size-iso-in-to-pixels (format resolution)
(let* ((dims (paper-size-dimensions format))
(width (aref dims 2))
(height (aref dims 3)))
(paper-size-pixels width height 'in resolution)))
(defun paper-size-pixels (width height unit resolution)
"Return size in pixels from width and height.
UNIT is unit of dimension
measurement, either millimmeter or inches. For millimeter pass 'mm, for
inches pass 'in.
Resolution is number of either pixels per inches for the screen, or dots per
inches for printers.
Resolution-unit is either 'ppi for the screen or 'dpi for printers"
(when (equal unit 'mm)
(setq width (/ width 25.4))
(setq height (/ height 25.4)))
(setq width (fround (* width resolution)))
(setq height (fround (* height resolution)))
(cons (ftruncate width) (ftruncate height)))
(provide 'paper-size-iso)
next prev parent reply other threads:[~2020-12-22 17:52 UTC|newest]
Thread overview: 384+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-15 5:30 Emacs Survey: Toolbars Lars Ingebrigtsen
2020-12-15 5:57 ` Christopher Dimech
2020-12-15 6:24 ` Lars Ingebrigtsen
2020-12-15 10:01 ` Jean Louis
2020-12-15 6:24 ` Clément Pit-Claudel
2020-12-15 9:04 ` Thibaut Verron
2020-12-15 19:06 ` Stephen Leake
2020-12-15 19:33 ` Christopher Dimech
2020-12-15 19:47 ` Christopher Dimech
2020-12-16 5:43 ` Richard Stallman
2020-12-16 6:08 ` Christopher Dimech
2020-12-15 10:00 ` Jean Louis
2020-12-15 15:49 ` Christopher Dimech
2020-12-16 5:44 ` Richard Stallman
2020-12-15 17:07 ` Philip K.
2020-12-15 17:30 ` Christopher Dimech
2020-12-15 17:40 ` Drew Adams
2020-12-15 18:06 ` Christopher Dimech
2020-12-16 9:07 ` Robert Pluim
2020-12-16 17:03 ` Drew Adams
2020-12-15 18:02 ` dvorak users (was: Emacs Survey: Toolbars) andrés ramírez
2020-12-15 18:40 ` Christopher Dimech
2020-12-17 22:23 ` Ricardo Wurmus
2020-12-15 14:17 ` Emacs Survey: Toolbars Eric S Fraga
2020-12-15 14:50 ` Lars Ingebrigtsen
2020-12-15 14:56 ` Eric S Fraga
2020-12-15 15:14 ` Óscar Fuentes
2020-12-15 15:33 ` Lars Ingebrigtsen
2020-12-15 17:47 ` Óscar Fuentes
2020-12-15 18:11 ` Christopher Dimech
2020-12-15 18:48 ` Philip K.
2020-12-15 19:02 ` Jean Louis
2020-12-15 19:21 ` Christopher Dimech
2020-12-15 19:17 ` Christopher Dimech
2020-12-16 5:43 ` Richard Stallman
2020-12-15 18:51 ` Jean Louis
2020-12-20 4:23 ` Adrien Brochard
2020-12-20 4:35 ` Christopher Dimech
2020-12-20 13:44 ` Dmitry Gutov
2020-12-20 20:36 ` Christopher Dimech
2020-12-22 10:58 ` Gregory Heytings via Emacs development discussions.
2020-12-22 12:22 ` Christopher Dimech
2020-12-22 14:05 ` Jean Louis
2020-12-22 14:02 ` Jean Louis
2020-12-23 4:26 ` Richard Stallman
2020-12-23 5:22 ` Christopher Dimech
2020-12-23 5:30 ` Christopher Dimech
2020-12-20 10:57 ` Jean Louis
2020-12-20 11:13 ` Christopher Dimech
2020-12-21 5:47 ` Richard Stallman
2020-12-21 6:57 ` Christopher Dimech
2020-12-21 7:04 ` Jean Louis
2020-12-21 16:16 ` Eli Zaretskii
2020-12-21 16:51 ` Jean Louis
2020-12-21 17:20 ` Eli Zaretskii
2020-12-21 17:58 ` Jean Louis
2020-12-21 23:29 ` Christopher Dimech
2020-12-21 18:03 ` Lars Ingebrigtsen
2020-12-21 18:09 ` Arthur Miller
2020-12-21 18:14 ` Eli Zaretskii
2020-12-21 23:37 ` Christopher Dimech
2020-12-22 15:23 ` Eli Zaretskii
2020-12-23 1:32 ` Christopher Dimech
2020-12-23 15:14 ` Eli Zaretskii
2020-12-21 23:55 ` Christopher Dimech
2020-12-22 15:26 ` Eli Zaretskii
2020-12-22 15:52 ` Stefan Monnier
2020-12-23 1:27 ` Christopher Dimech
2020-12-24 5:47 ` Richard Stallman
2020-12-24 6:31 ` Christopher Dimech
2020-12-23 4:16 ` Richard Stallman
2020-12-22 5:21 ` Richard Stallman
2020-12-22 6:05 ` Christopher Dimech
2020-12-22 6:06 ` Ihor Radchenko
2020-12-24 5:49 ` Richard Stallman
2020-12-24 7:04 ` Ihor Radchenko
2020-12-24 11:21 ` Jean Louis
2020-12-26 10:20 ` Richard Stallman
2020-12-26 12:44 ` Ihor Radchenko
2020-12-27 5:42 ` Richard Stallman
2020-12-22 6:31 ` Jean Louis
2020-12-22 15:46 ` Eli Zaretskii
2020-12-24 5:49 ` Richard Stallman
2020-12-22 15:40 ` Eli Zaretskii
2020-12-22 16:28 ` Internationalize Emacs's messages (swahili) Jean Louis
2020-12-22 16:41 ` Eli Zaretskii
2020-12-23 14:04 ` Zhu Zihao
2020-12-23 16:07 ` Eli Zaretskii
2020-12-24 1:54 ` Zhu Zihao
2020-12-24 14:16 ` Eli Zaretskii
2020-12-26 2:03 ` Daniel Brooks
2020-12-26 2:47 ` Stefan Monnier
2020-12-26 3:22 ` Daniel Brooks
2020-12-26 3:48 ` Stefan Monnier
2020-12-26 4:01 ` Daniel Brooks
2020-12-27 5:34 ` Richard Stallman
2020-12-26 6:06 ` Daniel Brooks
2020-12-26 8:26 ` Eli Zaretskii
2020-12-26 8:57 ` tomas
2020-12-26 9:06 ` Tomas Hlavaty
2020-12-26 9:24 ` Eli Zaretskii
2020-12-26 9:28 ` Daniel Brooks
2020-12-26 9:34 ` Lars Ingebrigtsen
2020-12-26 9:47 ` Daniel Brooks
2020-12-26 9:54 ` Eli Zaretskii
2020-12-26 10:02 ` Daniel Brooks
2020-12-26 11:12 ` Tomas Hlavaty
2020-12-26 11:16 ` Daniel Brooks
2020-12-26 11:16 ` Eli Zaretskii
2020-12-27 5:38 ` Richard Stallman
2020-12-27 17:33 ` Tomas Hlavaty
2020-12-28 5:25 ` Richard Stallman
2020-12-26 21:19 ` Lars Ingebrigtsen
2020-12-26 21:26 ` Lars Ingebrigtsen
2020-12-26 21:45 ` Stefan Monnier
2020-12-26 21:55 ` Lars Ingebrigtsen
2020-12-26 22:08 ` Stefan Monnier
2020-12-26 22:10 ` Lars Ingebrigtsen
2020-12-26 23:04 ` Lars Ingebrigtsen
2020-12-27 0:34 ` Lars Ingebrigtsen
2020-12-27 8:01 ` Lars Ingebrigtsen
2020-12-27 18:15 ` Eli Zaretskii
2020-12-27 22:03 ` Lars Ingebrigtsen
2020-12-27 22:30 ` Tomas Hlavaty
2020-12-27 22:49 ` Alfred M. Szmidt
2020-12-27 22:57 ` Tomas Hlavaty
2020-12-27 23:05 ` lengths and other stuff Daniel Brooks
2020-12-27 23:09 ` Lars Ingebrigtsen
2020-12-27 23:16 ` Daniel Brooks
2020-12-27 23:21 ` Lars Ingebrigtsen
2020-12-27 23:23 ` Daniel Brooks
2020-12-27 23:24 ` Stefan Monnier
2020-12-27 23:23 ` Stefan Monnier
2020-12-27 23:32 ` Daniel Brooks
2020-12-27 23:46 ` Stefan Monnier
2020-12-27 23:25 ` Tomas Hlavaty
2020-12-27 23:35 ` Daniel Brooks
2020-12-27 23:47 ` Tomas Hlavaty
2020-12-28 0:00 ` Daniel Brooks
2020-12-27 23:34 ` Internationalize Emacs's messages (swahili) Alfred M. Szmidt
2020-12-28 0:00 ` Tomas Hlavaty
2020-12-28 0:16 ` Alfred M. Szmidt
2020-12-28 0:33 ` Tomas Hlavaty
2020-12-28 0:48 ` Lars Ingebrigtsen
2020-12-28 5:54 ` Drew Adams
2020-12-28 0:52 ` Alfred M. Szmidt
2020-12-27 23:41 ` Drew Adams
2021-01-01 5:55 ` Drew Adams
2021-01-01 15:03 ` Tomas Hlavaty
2021-01-01 19:09 ` Drew Adams
2021-01-01 22:08 ` Tomas Hlavaty
2021-01-01 22:55 ` Drew Adams
2021-01-01 23:32 ` Tomas Hlavaty
2021-01-02 0:25 ` Drew Adams
2020-12-27 12:56 ` Andreas Schwab
2020-12-27 22:05 ` Lars Ingebrigtsen
2020-12-27 22:16 ` Andreas Schwab
2020-12-27 22:17 ` Lars Ingebrigtsen
2020-12-27 22:23 ` Andreas Schwab
2020-12-27 22:29 ` Lars Ingebrigtsen
2020-12-27 22:30 ` Andreas Schwab
2020-12-27 22:42 ` Lars Ingebrigtsen
2020-12-27 23:00 ` Andreas Schwab
2020-12-27 23:05 ` Lars Ingebrigtsen
2020-12-27 22:45 ` Tomas Hlavaty
2020-12-27 22:49 ` Lars Ingebrigtsen
2020-12-27 22:32 ` Alfred M. Szmidt
2020-12-27 22:52 ` Tomas Hlavaty
2020-12-27 23:17 ` Alfred M. Szmidt
2020-12-27 23:40 ` Tomas Hlavaty
2020-12-27 23:55 ` Alfred M. Szmidt
2020-12-28 0:19 ` Tomas Hlavaty
2020-12-28 0:52 ` Alfred M. Szmidt
2020-12-28 7:32 ` Jean Louis
2020-12-27 3:35 ` Eli Zaretskii
2020-12-27 3:33 ` Eli Zaretskii
2020-12-27 5:34 ` Richard Stallman
2020-12-26 7:50 ` Eli Zaretskii
2020-12-26 9:07 ` Daniel Brooks
2020-12-26 9:31 ` Eli Zaretskii
2020-12-26 9:37 ` Daniel Brooks
2020-12-26 9:51 ` Eli Zaretskii
2020-12-26 10:00 ` Daniel Brooks
2020-12-26 9:52 ` Werner LEMBERG
2020-12-26 10:10 ` Daniel Brooks
2020-12-26 9:59 ` Jean Louis
2020-12-26 10:14 ` Daniel Brooks
2020-12-26 10:54 ` Jean Louis
2020-12-26 11:13 ` Daniel Brooks
2020-12-26 10:40 ` Eli Zaretskii
2020-12-27 16:23 ` Juri Linkov
2020-12-26 10:28 ` Richard Stallman
2020-12-26 10:48 ` Daniel Brooks
2020-12-27 5:39 ` Richard Stallman
2020-12-27 8:48 ` Daniel Brooks
2020-12-28 5:28 ` Richard Stallman
2020-12-28 6:30 ` making gettext more like fluent Daniel Brooks
2020-12-29 5:57 ` Richard Stallman
2020-12-29 6:49 ` Daniel Brooks
2020-12-30 5:30 ` Richard Stallman
2020-12-28 8:05 ` Internationalize Emacs's messages (swahili) Zhu Zihao
2020-12-29 6:01 ` Richard Stallman
2020-12-29 7:01 ` Daniel Brooks
2020-12-29 11:48 ` Zhu Zihao
2020-12-30 5:46 ` The posibility to use Rust libraries with GNU Project softwares(e.g. link with Rust library) Zhu Zihao
2020-12-30 14:00 ` Internationalize Emacs's messages (swahili) Andy Moreton
2020-12-30 19:18 ` Rust trademark problems - " Jean Louis
2020-12-21 16:53 ` Emacs Survey: Toolbars Eli Zaretskii
2020-12-21 23:43 ` Christopher Dimech
2021-02-25 22:53 ` Jeremy Bryant
2020-12-22 11:03 ` Gregory Heytings via Emacs development discussions.
2020-12-22 13:22 ` Daniel Martín via "Emacs development discussions.
2020-12-23 15:04 ` Tomas Hlavaty
2020-12-23 15:07 ` Gregory Heytings via Emacs development discussions.
2020-12-23 17:49 ` Tomas Hlavaty
2020-12-23 16:11 ` Eli Zaretskii
2020-12-23 16:39 ` Stefan Monnier
2020-12-23 17:55 ` Tomas Hlavaty
2020-12-23 19:10 ` Daniel Martín
2020-12-23 20:55 ` Tomas Hlavaty
2020-12-25 4:29 ` Richard Stallman
2020-12-25 9:48 ` Tomas Hlavaty
2020-12-25 17:20 ` Stefan Monnier
2020-12-25 18:06 ` Tomas Hlavaty
2020-12-25 18:14 ` Stefan Monnier
2020-12-25 18:24 ` Yuri Khan
2020-12-25 18:29 ` Tomas Hlavaty
2020-12-25 20:32 ` Yuri Khan
2020-12-25 21:57 ` Tomas Hlavaty
2020-12-25 20:25 ` Drew Adams
2020-12-25 21:59 ` Tomas Hlavaty
2020-12-25 18:28 ` Tomas Hlavaty
2020-12-22 16:06 ` Eli Zaretskii
2020-12-22 17:52 ` Arthur Miller [this message]
2020-12-22 18:07 ` Eli Zaretskii
2020-12-22 18:32 ` Arthur Miller
2020-12-22 19:04 ` Jean Louis
2020-12-22 19:24 ` Arthur Miller
2020-12-23 4:21 ` Richard Stallman
2020-12-23 11:21 ` Arthur Miller
2020-12-23 12:36 ` Christopher Dimech
2020-12-23 15:45 ` Tomas Hlavaty
2020-12-23 15:56 ` Eli Zaretskii
2020-12-23 16:05 ` Jean Louis
2020-12-24 4:40 ` Sv: " arthur miller
2020-12-24 14:23 ` Eli Zaretskii
2020-12-23 15:42 ` Tomas Hlavaty
2020-12-23 12:45 ` Jean Louis
2020-12-23 13:09 ` Christopher Dimech
2020-12-23 13:44 ` Jean Louis
2020-12-24 5:50 ` Richard Stallman
2020-12-24 5:57 ` Christopher Dimech
2020-12-24 6:31 ` Jean Louis
2020-12-15 20:58 ` Dmitry Gutov
2020-12-15 21:22 ` Christopher Dimech
2020-12-15 16:12 ` Christopher Dimech
2020-12-16 5:44 ` Richard Stallman
2020-12-16 15:49 ` Eli Zaretskii
2020-12-18 5:39 ` Richard Stallman
2020-12-15 14:29 ` Stefan Monnier
2020-12-15 14:48 ` Lars Ingebrigtsen
2021-02-25 15:50 ` Stefan Kangas
2021-02-25 18:17 ` Eli Zaretskii
2021-02-25 19:03 ` Stefan Monnier
2021-02-25 19:16 ` Eli Zaretskii
2021-02-25 19:27 ` [External] : " Drew Adams
2021-02-25 22:24 ` Stefan Monnier
2021-02-26 6:52 ` Eli Zaretskii
2021-02-26 8:44 ` Lars Ingebrigtsen
2021-02-26 15:51 ` [External] : " Drew Adams
2021-02-26 16:27 ` Stefan Monnier
2021-02-27 0:28 ` *Menu* buffer Tomas Hlavaty
2021-02-27 7:11 ` Eli Zaretskii
2021-03-01 5:56 ` David Masterson
2021-02-25 19:44 ` Emacs Survey: Toolbars martin rudalics
2020-12-15 16:32 ` Clément Pit-Claudel
2020-12-15 16:34 ` Drew Adams
2020-12-15 18:44 ` Jean Louis
2020-12-15 19:03 ` Christopher Dimech
2020-12-15 16:26 ` Eli Zaretskii
2020-12-15 16:51 ` Christopher Dimech
2020-12-16 9:14 ` Lars Ingebrigtsen
2020-12-16 16:01 ` Eli Zaretskii
2020-12-16 16:18 ` Robert Pluim
2020-12-16 17:12 ` Eli Zaretskii
2020-12-17 8:20 ` Robert Pluim
2020-12-17 14:25 ` Eli Zaretskii
2020-12-17 15:44 ` Robert Pluim
2020-12-17 15:48 ` Robert Pluim
2020-12-18 0:23 ` Gregory Heytings via Emacs development discussions.
2020-12-18 9:10 ` Robert Pluim
2020-12-17 17:06 ` Drew Adams
2020-12-17 18:10 ` Alfred M. Szmidt
2020-12-17 19:20 ` Christopher Dimech
2020-12-18 5:42 ` Richard Stallman
2020-12-18 6:36 ` Drew Adams
2020-12-18 6:42 ` Christopher Dimech
2020-12-18 8:42 ` Robert Pluim
2020-12-18 8:51 ` Christopher Dimech
2020-12-18 9:29 ` Robert Pluim
2020-12-18 17:48 ` Drew Adams
2020-12-18 21:14 ` Christopher Dimech
2020-12-18 17:43 ` Drew Adams
2020-12-20 6:36 ` Richard Stallman
2020-12-21 1:11 ` Drew Adams
2020-12-21 10:23 ` Alfred M. Szmidt
2020-12-18 5:42 ` Richard Stallman
2020-12-17 11:01 ` Lars Ingebrigtsen
2020-12-17 14:36 ` Eli Zaretskii
2020-12-15 21:07 ` Dmitry Gutov
2020-12-15 21:29 ` Christopher Dimech
2020-12-16 9:24 ` Lars Ingebrigtsen
2020-12-16 9:28 ` Lars Ingebrigtsen
2020-12-16 13:53 ` Christopher Dimech
2020-12-18 5:40 ` Richard Stallman
2020-12-18 9:37 ` Ihor Radchenko
2020-12-18 9:38 ` Lars Ingebrigtsen
2020-12-19 5:11 ` Richard Stallman
2020-12-19 21:04 ` Daniel Brooks
2020-12-20 6:39 ` Richard Stallman
2020-12-20 7:11 ` Daniel Brooks
2020-12-21 5:52 ` Richard Stallman
[not found] ` <871rflj3fh.fsf@gmail.com>
2020-12-20 6:40 ` Richard Stallman
2020-12-21 5:53 ` Richard Stallman
2020-12-21 16:07 ` Eli Zaretskii
2020-12-22 5:20 ` Richard Stallman
2020-12-22 15:36 ` Eli Zaretskii
2020-12-23 4:23 ` Richard Stallman
2020-12-22 2:54 ` Andy Moreton
2020-12-22 13:29 ` Caio Henrique
2020-12-16 16:03 ` Eli Zaretskii
2020-12-16 16:54 ` Christopher Dimech
2020-12-16 17:14 ` Dmitry Gutov
2020-12-16 20:09 ` John Yates
2020-12-16 20:29 ` Drew Adams
2020-12-16 23:53 ` Christopher Dimech
2020-12-16 21:33 ` chad
2020-12-16 22:56 ` Christopher Dimech
2020-12-18 5:33 ` Richard Stallman
2020-12-18 5:53 ` Christopher Dimech
2020-12-18 8:43 ` Jean Louis
2020-12-18 8:54 ` Christopher Dimech
2020-12-18 10:04 ` Jean Louis
2020-12-18 10:15 ` Christopher Dimech
2020-12-18 18:07 ` Drew Adams
2020-12-18 20:34 ` Jean Louis
2020-12-18 10:17 ` Christopher Dimech
2020-12-17 10:58 ` Lars Ingebrigtsen
2020-12-17 11:22 ` Christopher Dimech
2020-12-17 12:08 ` Dmitry Gutov
2020-12-17 12:12 ` Lars Ingebrigtsen
2020-12-17 19:32 ` Christopher Dimech
2020-12-17 14:32 ` Eli Zaretskii
2020-12-18 9:37 ` Lars Ingebrigtsen
2020-12-18 9:45 ` Helmut Eller
2020-12-18 18:02 ` Drew Adams
2020-12-18 20:32 ` Jean Louis
2020-12-18 11:52 ` Eli Zaretskii
2020-12-19 15:41 ` Lars Ingebrigtsen
2020-12-19 19:12 ` Drew Adams
2020-12-19 19:37 ` Christopher Dimech
2020-12-18 17:59 ` Drew Adams
2020-12-16 14:06 ` Gregory Heytings via Emacs development discussions.
2020-12-16 15:24 ` Dmitry Gutov
2020-12-16 15:53 ` Christopher Dimech
2020-12-16 5:34 ` Richard Stallman
2020-12-16 5:54 ` Christopher Dimech
2020-12-16 15:51 ` Eli Zaretskii
2020-12-17 5:54 ` Richard Stallman
2020-12-17 6:49 ` Christopher Dimech
2020-12-18 5:41 ` Richard Stallman
2020-12-18 6:16 ` Christopher Dimech
2020-12-16 9:26 ` Lars Ingebrigtsen
2020-12-17 5:54 ` Richard Stallman
2020-12-16 22:13 ` chad
[not found] <<87o8iv3ac3.fsf@gnus.org>
[not found] ` <<877dpjp30g.fsf@ucl.ac.uk>
[not found] ` <<87zh2fnmwq.fsf@gnus.org>
[not found] ` <<87o8ivumn5.fsf@telefonica.net>
[not found] ` <<87v9d3nkxk.fsf@gnus.org>
[not found] ` <<X9kFyDSX980pXeVr@protected.rcdrun.com>
[not found] ` <<ff23c825-e90e-f258-1124-55dbcf486a1d@gmx.com>
[not found] ` <<X98uACIDV0lryk8q@protected.rcdrun.com>
[not found] ` <<trinity-fde32917-8579-4566-bbb2-e8276dbd8ad6-1608462826557@3c-app-mailcom-bs11>
[not found] ` <<E1krE2Q-0002lH-Li@fencepost.gnu.org>
[not found] ` <<alpine.NEB.2.22.394.2012221159230453.3327@sdf.lonestar.org>
[not found] ` <<83k0t9rfj5.fsf@gnu.org>
[not found] ` <<AM0PR06MB65773FF757024A9F8B20B77596DF0@AM0PR06MB6577.eurprd06.prod.outlook.com>
[not found] ` <<E1krve1-0002Um-Up@fencepost.gnu.org>
[not found] ` <<AM0PR06MB657713ABD4CE4513D20FD23E96DE0@AM0PR06MB6577.eurprd06.prod.outlook.com>
[not found] ` <<83tuscplcg.fsf@gnu.org>
[not found] ` <<AM0PR06MB657758B877E9309CA4189D6996DD0@AM0PR06MB6577.eurprd06.prod.outlook.com>
[not found] ` <<8335zvp9ko.fsf@gnu.org>
2020-12-24 17:58 ` Sv: " Drew Adams
[not found] ` <<trinity-c4da1b19-a641-4167-a095-38470e4aaae8-1608533825693@3c-app-mailcom-bs16>
[not found] ` <<E1kra7K-0005VY-7F@fencepost.gnu.org>
[not found] ` <<83sg7xrgr5.fsf@gnu.org>
[not found] ` <<X+IeuuUZPkhe0PC3@protected.rcdrun.com>
[not found] ` <<83h7odrdwy.fsf@gnu.org>
[not found] ` <<86sg7w39fh.fsf@163.com>
[not found] ` <<83pn30pku5.fsf@gnu.org>
[not found] ` <<86wnx8otoj.fsf@163.com>
[not found] ` <<834kkbp9vr.fsf@gnu.org>
[not found] ` <<87czyxuxw6.fsf@db48x.net>
[not found] ` <<87y2hlt82w.fsf@db48x.net>
[not found] ` <<87lfdlvsw4.fsf@logand.com>
[not found] ` <<83h7o8ncly.fsf@gnu.org>
[not found] ` <<87pn2wudab.fsf@db48x.net>
[not found] ` <<87mty0c3m1.fsf@gnus.org>
[not found] ` <<83czywnb86.fsf@gnu.org>
[not found] ` <<87im8ob707.fsf@gnus.org>
[not found] ` <<87eejcb6nx.fsf@gnus.org>
[not found] ` <<jwvft3smepa.fsf-monnier+emacs@gnu.org>
[not found] ` <<875z4ob5c9.fsf@gnus.org>
[not found] ` <<jwv1rfcmdfb.fsf-monnier+emacs@gnu.org>
[not found] ` <<83mtxzly4f.fsf@gnu.org>
2020-12-27 4:03 ` Internationalize Emacs's messages (swahili) Drew Adams
2020-12-27 4:58 ` lengths and stuff Daniel Brooks
2020-12-27 5:23 ` Drew Adams
2020-12-27 17:56 ` Tomas Hlavaty
2020-12-27 18:52 ` Drew Adams
2020-12-27 20:52 ` Tomas Hlavaty
2020-12-28 7:15 ` Jean Louis
2020-12-28 16:44 ` Eric Abrahamsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AM0PR06MB65773FF757024A9F8B20B77596DF0@AM0PR06MB6577.eurprd06.prod.outlook.com \
--to=arthur.miller@live.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=ghe@sdf.org \
--cc=rms@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.